Date: Sun, 20 Mar 2016 17:51:30 +0000 From: Tim Preston <graywolfe@mac.com> To: freebsd-current@freebsd.org Subject: Possible problem with the ${name}_chdir variable behaviour in /etc/c.subr Message-ID: <F716D683-07B7-4E0A-A51E-75E84D8AB794@mac.com>
next in thread | raw e-mail | index | archive | help
I was having a problem making the audio/teamspeak3-server port start fro = the rc.d scripts on a -current box that I=E2=80=99ve just built. I = eventually traced this down to it not starting in the correct directory. Looking at the rc.d script I could see that it was attempting to chdir = to the correct directory by setting the teamspeak_chdir variable. So it = looked like this feature was misbehaving in some way. To test this I put together an rc.d script for pwd that used = ${name}_chdir based on how the teamspeak rc.d script was setup. Running = this on a 10.3 box showed that it was changing to the specified = directory as expected, but on -current it was not. I=E2=80=99ve taken a quick look at rc.subr on both boxes but I can=E2=80=99= t immediately see what=E2=80=99s breaking this, and I can=E2=80=99t see = anything in the setup or behaviour of the -current box that would point = to it being something that I=E2=80=99ve broken somehow there. I was wondering if anyone else could reproduce this? Simple rc.d script for pwd ----- #!/bin/sh # PROVIDE: pwd # REQUIRE: LOGIN # KEYWORD: shutdown . /etc/rc.subr name=3D"pwd" rcvar=3Dpwd_enable db_dir=3D/var/db/teamspeak command=3D/bin/pwd pwd_chdir=3D$db_dir required_dirs=3D"$db_dir" load_rc_config $name : ${pwd_enable=3D"NO"} run_rc_command "$1" ----- Running on 10.3 shows the expected result ----- root@amy:~# uname -a FreeBSD amy.flibble.org 10.3-BETA3 FreeBSD 10.3-BETA3 #3 r296346: Thu = Mar 3 15:09:55 GMT 2016 root@amy:/usr/obj/usr/src/sys/GENERIC = amd64 root@amy:~# grep FreeBSD /etc/rc.subr =20 # $FreeBSD: stable/10/etc/rc.subr 292450 2015-12-18 19:58:34Z rilles $ root@amy:~# ls -ld /var/db/teamspeak=20 drwxr-xr-x 3 teamspeak teamspeak 512 Mar 20 00:23 /var/db/teamspeak root@amy:~# sum /usr/local/etc/rc.d/pwd=20 33073 1 /usr/local/etc/rc.d/pwd root@amy:~# service pwd onestart Starting pwd. /var/db/teamspeak ----- On -current we see that were still in / ----- root@emily:~# uname -a FreeBSD emily.flibble.org 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r297022: = Fri Mar 18 15:18:44 UTC 2016 = root@emily.flibble.org:/usr/obj/usr/src/sys/GENERIC amd64 root@emily:~# grep FreeBSD /etc/rc.subr # $FreeBSD: head/etc/rc.subr 295949 2016-02-24 01:32:12Z araujo $ root@amy:~# ls -ld /var/db/teamspeak=20 drwxr-xr-x 3 teamspeak teamspeak 512 Mar 20 00:23 /var/db/teamspeak root@emily:~# sum /usr/local/etc/rc.d/pwd 33073 1 /usr/local/etc/rc.d/pwd root@emily:~# service pwd onestart Starting pwd. / ----- --=20 Tim Preston graywolfe@mac.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F716D683-07B7-4E0A-A51E-75E84D8AB794>