aboutsummaryrefslogtreecommitdiffstats
path: root/config/avahi
diff options
context:
space:
mode:
Diffstat (limited to 'config/avahi')
-rw-r--r--config/avahi/avahi.inc40
1 files changed, 25 insertions, 15 deletions
diff --git a/config/avahi/avahi.inc b/config/avahi/avahi.inc
index 0bc181ec..a22d94c0 100644
--- a/config/avahi/avahi.inc
+++ b/config/avahi/avahi.inc
@@ -33,10 +33,16 @@ $pfs_version = substr(trim(file_get_contents("/etc/version")),0,3);
switch ($pfs_version) {
case "1.2":
case "2.0":
- define('AVAHI_BASE','/usr/local');
+ define('AVAHI_BASE', '/usr/local');
+ define('AVAHI_LOCALBASE', AVAHI_BASE);
+ break;
+ case "2.1":
+ define('AVAHI_BASE', '/usr/pbi/avahi-' . php_uname("m"));
+ define('AVAHI_LOCALBASE', AVAHI_BASE);
break;
default:
define('AVAHI_BASE', '/usr/pbi/avahi-' . php_uname("m"));
+ define('AVAHI_LOCALBASE', AVAHI_BASE . '/local');
}
function avahi_start() {
@@ -48,7 +54,7 @@ function avahi_stop() {
}
function avahi_install() {
- global $g, $config;
+ global $g, $config, $pfs_version;
conf_mount_rw();
// This old hacky install code should only happen on 1.x
@@ -56,8 +62,8 @@ function avahi_install() {
$archive = (substr(trim(file_get_contents("/etc/version")),0,1) == "1") ? "avahi.tar.gz" : "";
// Extract out libraries and avahi-daemon
if(!empty($archive) && file_exists("/root/{$archive}")) {
- exec("mkdir -p " . AVAHI_BASE . "/etc/avahi/services/");
- exec("mv " . AVAHI_BASE . "/etc/avahi/*.service " . AVAHI_BASE . "/etc/avahi/services/");
+ exec("mkdir -p " . AVAHI_LOCALBASE . "/etc/avahi/services/");
+ exec("mv " . AVAHI_LOCALBASE . "/etc/avahi/*.service " . AVAHI_LOCALBASE . "/etc/avahi/services/");
exec("/usr/bin/tar xzPUf /root/{$archive} -C /");
unlink("/root/{$archive}");
// Make sure everthing was extracted
@@ -67,6 +73,10 @@ function avahi_install() {
}
}
+ if ($pfs_version >= 2.2 && !file_exists('/usr/local/etc/gnome.subr')) {
+ @symlink(AVAHI_LOCALBASE . '/etc/gnome.subr', '/usr/local/etc/gnome.subr');
+ }
+
// Add needed users and groups
exec("/usr/sbin/pw useradd avahi -u 558");
exec("/usr/sbin/pw groupadd avahi -g 558");
@@ -158,8 +168,8 @@ rlimit-nproc=3
EOF;
/* Write out .conf file */
- safe_mkdir(AVAHI_BASE . "/etc/avahi");
- $fd = fopen(AVAHI_BASE . "/etc/avahi/avahi-daemon.conf", "w");
+ safe_mkdir(AVAHI_LOCALBASE . "/etc/avahi");
+ $fd = fopen(AVAHI_LOCALBASE . "/etc/avahi/avahi-daemon.conf", "w");
fwrite($fd, $avahiconfig);
fclose($fd);
/* Write out rc.d startup file */
@@ -168,20 +178,20 @@ EOF;
$start .= " mkdir -p /proc\n";
$start .= " mount -t procfs procfs /proc\n";
$start .= "fi\n";
- $start .= "/usr/bin/killall avahi-daemon\n";
- if (file_exists(AVAHI_BASE . "/etc/rc.d/dbus")) {
- $start .= "/usr/bin/killall dbus-daemon\n";
- $start .= "rm /var/run/dbus/dbus.pid\n";
- $start .= AVAHI_BASE . "/etc/rc.d/dbus onestart\n";
+ $start .= "/usr/bin/killall avahi-daemon >/dev/null 2>&1\n";
+ if (file_exists(AVAHI_LOCALBASE . "/etc/rc.d/dbus")) {
+ $start .= AVAHI_LOCALBASE . "/etc/rc.d/dbus onestop\n";
+ $start .= "rm /var/run/dbus/dbus.pid >/dev/null 2>&1\n";
+ $start .= AVAHI_LOCALBASE . "/etc/rc.d/dbus onestart\n";
}
$start .= "sleep 5\n";
$start .= AVAHI_BASE . "/sbin/avahi-daemon -D\n";
$start .= "/etc/rc.conf_mount_ro\n";
- $stop = "/usr/bin/killall avahi-daemon\n";
- if (file_exists(AVAHI_BASE . "/etc/rc.d/dbus")) {
- $stop .= AVAHI_BASE . "/etc/rc.d/dbus onestop\n";
- $stop .= "rm /var/run/dbus/dbus.pid\n";
+ $stop = "/usr/bin/killall avahi-daemon >/dev/null 2>&1\n";
+ if (file_exists(AVAHI_LOCALBASE . "/etc/rc.d/dbus")) {
+ $stop .= AVAHI_LOCALBASE . "/etc/rc.d/dbus onestop\n";
+ $stop .= "rm /var/run/dbus/dbus.pid >/dev/null 2>&1\n";
}
write_rcfile(array(