Date: Wed, 22 Jun 2005 14:26:34 +0400 From: Sergey Akifyev <asa@agava.com> To: FreeBSD GNOME Users <gnome@freebsd.org> Subject: I've partially fixed gnome shares admin, testers needed Message-ID: <1119435994.2686.11.camel@asa>
next in thread | raw e-mail | index | archive | help
--=-ZzfIX3exL6hCvqhOKmdN Content-Type: multipart/mixed; boundary="=-1LkqOAj8+0eiag+Rkf9v" --=-1LkqOAj8+0eiag+Rkf9v Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hello, folks! Try to apply attached patch to /usr/X11R6/share/setup-tool-backends/scripts/service.pl . After that, SMB sharing should work, and config changes even apply after you press OK. I didn't even start any work with NFS. The patch can affect other admin tools, as it adopts to the script to real FreeBSD RCNG. For example with the changes time-admin really runs ntpd server, not only enable it in rc.conf. Inline included patch: --- service.pl.orig Wed Jun 22 12:40:06 2005 +++ service.pl Wed Jun 22 14:22:30 2005 @@ -956,7 +956,9 @@ my ($service) =3D @_; my ($fd, $line, $active); =20 - $fd =3D &gst_file_run_pipe_read ("/etc/rc.d/$service rcvar"); + $path =3D "/etc/rc.d/$service rcvar"; + $path =3D "/usr/local/etc/rc.d/$service.sh" if (-f "/usr/local/etc/rc.d/$service.sh"); + $fd =3D &gst_file_run_pipe_read ("$path rcvar"); =20 while (<$fd>) { @@ -1369,6 +1371,31 @@ } } =20 +# Start or stop the service, depending on $active. Set +# links accordingly. $force makes this function use +# start/stop only, without considerations for restart. +# Not to be called from parse/replace tables, due to last $force +# param: use the following two functions instead. +sub gst_service_rcng_set_status_do +{ + my ($service, $active, $force) =3D @_; + my ($arg, $status); + + $status =3D &gst_service_rcng_get_status ($service); + if ($status && !$force) + { + # if it's already active and you want it active, restart. + $arg =3D $active? "restart" : "stop"; + } + else + { + # normal operation. + $arg =3D $active? "start" : "stop"; + } + + return &gst_service_rcng_run_script ($service, $arg); +} + sub gst_service_rcng_set_status { my ($service, $action) =3D @_; @@ -1376,9 +1403,11 @@ my ($default_rcconf) =3D "/etc/defaults/rc.conf"; my ($rcconf) =3D "/etc/rc.conf"; =20 - if (&gst_file_exists ("/etc/rc.d/$service")) + $path =3D "/etc/rc.d/$service"; + $path =3D "/usr/local/etc/rc.d/$service.sh" if (-f "/usr/local/etc/rc.d/$service.sh"); + if (&gst_file_exists ("$path")) { - $fd =3D &gst_file_run_pipe_read ("/etc/rc.d/$service rcvar"); + $fd =3D &gst_file_run_pipe_read ("$path rcvar"); =20 while (<$fd>) { @@ -1401,18 +1430,7 @@ } =20 &gst_file_close ($fd); - } - elsif (&gst_file_exists ("/usr/local/etc/rc.d/$service.sh")) - { - if ($action) - { - gst_file_copy ("/usr/local/etc/rc.d/$service.sh.sample", - "/usr/local/etc/rc.d/$service.sh"); - } - else - { - gst_file_remove ("/usr/local/etc/rc.d/$service.sh"); - } + &gst_service_rcng_set_status_do ($service, $action, 1); } } =20 @@ -1547,7 +1565,12 @@ { my ($service) =3D @_; =20 - $line =3D gst_file_run_backtick ("/etc/rc.d/$service forcestatus"); + if ( -f "/usr/local/etc/rc.d/$service.sh" ) { + $line =3D gst_file_run_backtick ("/usr/local/etc/rc.d/$service.sh forcestatus"); + } else { + $line =3D gst_file_run_backtick ("/etc/rc.d/$service forcestatus"); + } + =20 return 1 if ($line =3D~ /pid [0-9]*/); =20 # hacky as hell, we need to check services in /usr/local/etc/rc.d @@ -1727,7 +1750,9 @@ =20 $farg =3D $map {$arg}; =20 - if (!&gst_file_run ("/etc/rc.d/$service $farg")) + $path =3D "/etc/rc.d/$service"; + $path =3D "/usr/local/etc/rc.d/$service.sh" if (-f "/usr/local/etc/rc.d/$service.sh"); + if (!&gst_file_run ("$path $farg")) { &gst_report ("service_sysv_op_success", $service, $str); &gst_report_leave (); @@ -1801,7 +1826,7 @@ my ($service) =3D @_; =20 return 1 if ( -f "/etc/rc.d/$service"); - return 1 if ( -f "/usr/local/etc/rc.d/$service.sh.sample"); + return 1 if ( -f "/usr/local/etc/rc.d/$service.sh"); return 0; } =20 --=20 regards, Sergey Akifyev <http://dpx.niibaca.ru> AGAVA Software Company <http://www.agava.com> PGP key available from: ftp://ftp.gascom.ru/pub/PGP-keys/asa.txt --=-1LkqOAj8+0eiag+Rkf9v Content-Disposition: attachment; filename=service.diff Content-Type: text/x-patch; name=service.diff; charset=KOI8-R Content-Transfer-Encoding: base64 LS0tIHNlcnZpY2UucGwub3JpZwlXZWQgSnVuIDIyIDEyOjQwOjA2IDIwMDUNCisrKyBzZXJ2aWNl LnBsCVdlZCBKdW4gMjIgMTQ6MjI6MzAgMjAwNQ0KQEAgLTk1Niw3ICs5NTYsOSBAQA0KICAgbXkg KCRzZXJ2aWNlKSA9IEBfOw0KICAgbXkgKCRmZCwgJGxpbmUsICRhY3RpdmUpOw0KIA0KLSAgJGZk ID0gJmdzdF9maWxlX3J1bl9waXBlX3JlYWQgKCIvZXRjL3JjLmQvJHNlcnZpY2UgcmN2YXIiKTsN CisgICRwYXRoID0gIi9ldGMvcmMuZC8kc2VydmljZSByY3ZhciI7DQorICAkcGF0aCA9ICIvdXNy L2xvY2FsL2V0Yy9yYy5kLyRzZXJ2aWNlLnNoIiBpZiAoLWYgIi91c3IvbG9jYWwvZXRjL3JjLmQv JHNlcnZpY2Uuc2giKTsNCisgICRmZCA9ICZnc3RfZmlsZV9ydW5fcGlwZV9yZWFkICgiJHBhdGgg cmN2YXIiKTsNCiANCiAgIHdoaWxlICg8JGZkPikNCiAgIHsNCkBAIC0xMzY5LDYgKzEzNzEsMzEg QEANCiAgIH0NCiB9DQogDQorIyBTdGFydCBvciBzdG9wIHRoZSBzZXJ2aWNlLCBkZXBlbmRpbmcg b24gJGFjdGl2ZS4gU2V0DQorIyBsaW5rcyBhY2NvcmRpbmdseS4gICRmb3JjZSBtYWtlcyB0aGlz IGZ1bmN0aW9uIHVzZQ0KKyMgc3RhcnQvc3RvcCBvbmx5LCB3aXRob3V0IGNvbnNpZGVyYXRpb25z IGZvciByZXN0YXJ0Lg0KKyMgTm90IHRvIGJlIGNhbGxlZCBmcm9tIHBhcnNlL3JlcGxhY2UgdGFi bGVzLCBkdWUgdG8gbGFzdCAkZm9yY2UNCisjIHBhcmFtOiB1c2UgdGhlIGZvbGxvd2luZyB0d28g ZnVuY3Rpb25zIGluc3RlYWQuDQorc3ViIGdzdF9zZXJ2aWNlX3Jjbmdfc2V0X3N0YXR1c19kbw0K K3sNCisgIG15ICgkc2VydmljZSwgJGFjdGl2ZSwgJGZvcmNlKSA9IEBfOw0KKyAgbXkgKCRhcmcs ICRzdGF0dXMpOw0KKw0KKyAgJHN0YXR1cyA9ICZnc3Rfc2VydmljZV9yY25nX2dldF9zdGF0dXMg KCRzZXJ2aWNlKTsNCisgIGlmICgkc3RhdHVzICYmICEkZm9yY2UpDQorICB7DQorICAgICMgaWYg aXQncyBhbHJlYWR5IGFjdGl2ZSBhbmQgeW91IHdhbnQgaXQgYWN0aXZlLCByZXN0YXJ0Lg0KKyAg ICAkYXJnID0gJGFjdGl2ZT8gInJlc3RhcnQiIDogInN0b3AiOw0KKyAgfQ0KKyAgZWxzZQ0KKyAg ew0KKyAgICAjIG5vcm1hbCBvcGVyYXRpb24uDQorICAgICRhcmcgPSAkYWN0aXZlPyAic3RhcnQi IDogInN0b3AiOw0KKyAgfQ0KKw0KKyAgcmV0dXJuICZnc3Rfc2VydmljZV9yY25nX3J1bl9zY3Jp cHQgKCRzZXJ2aWNlLCAkYXJnKTsNCit9DQorDQogc3ViIGdzdF9zZXJ2aWNlX3Jjbmdfc2V0X3N0 YXR1cw0KIHsNCiAgIG15ICgkc2VydmljZSwgJGFjdGlvbikgPSBAXzsNCkBAIC0xMzc2LDkgKzE0 MDMsMTEgQEANCiAgIG15ICgkZGVmYXVsdF9yY2NvbmYpID0gIi9ldGMvZGVmYXVsdHMvcmMuY29u ZiI7DQogICBteSAoJHJjY29uZikgPSAiL2V0Yy9yYy5jb25mIjsNCiANCi0gIGlmICgmZ3N0X2Zp bGVfZXhpc3RzICgiL2V0Yy9yYy5kLyRzZXJ2aWNlIikpDQorICAkcGF0aCA9ICIvZXRjL3JjLmQv JHNlcnZpY2UiOw0KKyAgJHBhdGggPSAiL3Vzci9sb2NhbC9ldGMvcmMuZC8kc2VydmljZS5zaCIg aWYgKC1mICIvdXNyL2xvY2FsL2V0Yy9yYy5kLyRzZXJ2aWNlLnNoIik7DQorICBpZiAoJmdzdF9m aWxlX2V4aXN0cyAoIiRwYXRoIikpDQogICB7DQotICAgICRmZCA9ICZnc3RfZmlsZV9ydW5fcGlw ZV9yZWFkICgiL2V0Yy9yYy5kLyRzZXJ2aWNlIHJjdmFyIik7DQorICAgICRmZCA9ICZnc3RfZmls ZV9ydW5fcGlwZV9yZWFkICgiJHBhdGggcmN2YXIiKTsNCiANCiAgICAgd2hpbGUgKDwkZmQ+KQ0K ICAgICB7DQpAQCAtMTQwMSwxOCArMTQzMCw3IEBADQogICAgIH0NCiANCiAgICAgJmdzdF9maWxl X2Nsb3NlICgkZmQpOw0KLSAgfQ0KLSAgZWxzaWYgKCZnc3RfZmlsZV9leGlzdHMgKCIvdXNyL2xv Y2FsL2V0Yy9yYy5kLyRzZXJ2aWNlLnNoIikpDQotICB7DQotICAgIGlmICgkYWN0aW9uKQ0KLSAg ICB7DQotICAgICAgZ3N0X2ZpbGVfY29weSAoIi91c3IvbG9jYWwvZXRjL3JjLmQvJHNlcnZpY2Uu c2guc2FtcGxlIiwNCi0gICAgICAgICAgICAgICAgICAgICAiL3Vzci9sb2NhbC9ldGMvcmMuZC8k c2VydmljZS5zaCIpOw0KLSAgICB9DQotICAgIGVsc2UNCi0gICAgew0KLSAgICAgIGdzdF9maWxl X3JlbW92ZSAoIi91c3IvbG9jYWwvZXRjL3JjLmQvJHNlcnZpY2Uuc2giKTsNCi0gICAgfQ0KKyAg ICAmZ3N0X3NlcnZpY2VfcmNuZ19zZXRfc3RhdHVzX2RvICgkc2VydmljZSwgJGFjdGlvbiwgMSk7 DQogICB9DQogfQ0KIA0KQEAgLTE1NDcsNyArMTU2NSwxMiBAQA0KIHsNCiAgIG15ICgkc2Vydmlj ZSkgPSBAXzsNCiANCi0gICRsaW5lID0gZ3N0X2ZpbGVfcnVuX2JhY2t0aWNrICgiL2V0Yy9yYy5k LyRzZXJ2aWNlIGZvcmNlc3RhdHVzIik7DQorICBpZiAoIC1mICIvdXNyL2xvY2FsL2V0Yy9yYy5k LyRzZXJ2aWNlLnNoIiApIHsNCisgICAgJGxpbmUgPSBnc3RfZmlsZV9ydW5fYmFja3RpY2sgKCIv dXNyL2xvY2FsL2V0Yy9yYy5kLyRzZXJ2aWNlLnNoIGZvcmNlc3RhdHVzIik7DQorICB9IGVsc2Ug ew0KKyAgICAkbGluZSA9IGdzdF9maWxlX3J1bl9iYWNrdGljayAoIi9ldGMvcmMuZC8kc2Vydmlj ZSBmb3JjZXN0YXR1cyIpOw0KKyAgfQ0KKyAgDQogICByZXR1cm4gMSBpZiAoJGxpbmUgPX4gL3Bp ZCBbMC05XSovKTsNCiANCiAgICMgaGFja3kgYXMgaGVsbCwgd2UgbmVlZCB0byBjaGVjayBzZXJ2 aWNlcyBpbiAvdXNyL2xvY2FsL2V0Yy9yYy5kDQpAQCAtMTcyNyw3ICsxNzUwLDkgQEANCiANCiAg ICRmYXJnID0gJG1hcCB7JGFyZ307DQogDQotICBpZiAoISZnc3RfZmlsZV9ydW4gKCIvZXRjL3Jj LmQvJHNlcnZpY2UgJGZhcmciKSkNCisgICRwYXRoID0gIi9ldGMvcmMuZC8kc2VydmljZSI7DQor ICAkcGF0aCA9ICIvdXNyL2xvY2FsL2V0Yy9yYy5kLyRzZXJ2aWNlLnNoIiBpZiAoLWYgIi91c3Iv bG9jYWwvZXRjL3JjLmQvJHNlcnZpY2Uuc2giKTsNCisgIGlmICghJmdzdF9maWxlX3J1biAoIiRw YXRoICRmYXJnIikpDQogICB7DQogICAgICZnc3RfcmVwb3J0ICgic2VydmljZV9zeXN2X29wX3N1 Y2Nlc3MiLCAkc2VydmljZSwgJHN0cik7DQogICAgICZnc3RfcmVwb3J0X2xlYXZlICgpOw0KQEAg LTE4MDEsNyArMTgyNiw3IEBADQogICBteSAoJHNlcnZpY2UpID0gQF87DQogDQogICByZXR1cm4g MSBpZiAoIC1mICIvZXRjL3JjLmQvJHNlcnZpY2UiKTsNCi0gIHJldHVybiAxIGlmICggLWYgIi91 c3IvbG9jYWwvZXRjL3JjLmQvJHNlcnZpY2Uuc2guc2FtcGxlIik7DQorICByZXR1cm4gMSBpZiAo IC1mICIvdXNyL2xvY2FsL2V0Yy9yYy5kLyRzZXJ2aWNlLnNoIik7DQogICByZXR1cm4gMDsNCiB9 DQogDQo= --=-1LkqOAj8+0eiag+Rkf9v-- --=-ZzfIX3exL6hCvqhOKmdN Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (FreeBSD) iD8DBQBCuTzabu06QwmNwNsRAiPPAJwJ+eXfTZQXS1jwRfpFibkc5ZfCewCfbXTH 0nvqwggYikjapf8AJwK8htY= =+ZhI -----END PGP SIGNATURE----- --=-ZzfIX3exL6hCvqhOKmdN--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1119435994.2686.11.camel>