I installed ja-FreeWnn-server-1.1.1.a021_8 with some other ports software using sysinstall. After they are installed successfuly, I rebooted the machine without modifying /etc/rc.conf. (I don't remember the reason why I rebooted the machine.) Then, I saw the following message. /etc/rc: WARNING: $wnn_enable is not set properly - see rc.conf(5). After I added wnn_enable="YES" into /etc/rc.conf, the message disappeared. But I think the message should not be shown when wnn_enable is not set in /etc/rc.conf because I think the message makes people confused. Fix: The attached patch fixes this problem. Patch attached with submission follows: How-To-Repeat: Install ja-FreeWnn-server-1.1.1.a021_8 from ports. Then just reboot the machine.
Responsible Changed From-To: freebsd-ports-bugs->hrs Fix synopsis and assign.
----Security_Multipart(Wed_Aug__4_12_31_39_2010_642)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Noritoshi Demizu <demizu@dd.iij4u.or.jp> wrote in <201008032049.o73KnN3h065220@www.freebsd.org>: de> I installed ja-FreeWnn-server-1.1.1.a021_8 with some other ports software using sysinstall. de> After they are installed successfuly, I rebooted the machine without modifying /etc/rc.conf. de> (I don't remember the reason why I rebooted the machine.) de> de> Then, I saw the following message. de> de> /etc/rc: WARNING: $wnn_enable is not set properly - see rc.conf(5). de> de> After I added wnn_enable="YES" into /etc/rc.conf, the message disappeared. de> de> But I think the message should not be shown when wnn_enable is not set in /etc/rc.conf de> because I think the message makes people confused. More specifics of how people confused? This was rather intentional; IMHO this message is helpful for users to know what knob should be configured for enabling the software. If setting it NO by default in some way, people cannot know how to enable it. While I can understand an idea that $foo_enable should be defined as YES or NO by default, it does not come from the reason that it is confusing unless doing so since the current one is equivalent to NO and the difference is only that a warning message is displayed. Please let me know if you have an example that causes people trouble. Thank you. -- Hiroki ----Security_Multipart(Wed_Aug__4_12_31_39_2010_642)-- Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEABECAAYFAkxY3xsACgkQTyzT2CeTzy2WTgCfQNHCpLgS9rmEgPkuV8DKCEun CTAAn3dJaYXrDGBemrtaMp0QXHq5Jr3N =Ttql -----END PGP SIGNATURE----- ----Security_Multipart(Wed_Aug__4_12_31_39_2010_642)----
> From: Hiroki Sato <hrs@FreeBSD.org> > To: demizu@dd.iij4u.or.jp > Cc: freebsd-gnats-submit@FreeBSD.org > Subject: Re: ports/149250: /etc/rc: WARNING: $wnn_enable is not set properly - see rc.conf(5). > Date: Wed, 04 Aug 2010 12:31:39 +0900 (JST) > > Noritoshi Demizu <demizu@dd.iij4u.or.jp> wrote > in <201008032049.o73KnN3h065220@www.freebsd.org>: > > de> I installed ja-FreeWnn-server-1.1.1.a021_8 with some other ports software using sysinstall. > de> After they are installed successfuly, I rebooted the machine without modifying /etc/rc.conf. > de> (I don't remember the reason why I rebooted the machine.) > de> > de> Then, I saw the following message. > de> > de> /etc/rc: WARNING: $wnn_enable is not set properly - see rc.conf(5). > de> > de> After I added wnn_enable="YES" into /etc/rc.conf, the message disappeared. > de> > de> But I think the message should not be shown when wnn_enable is not set in /etc/rc.conf > de> because I think the message makes people confused. > > More specifics of how people confused? This was rather intentional; > IMHO this message is helpful for users to know what knob should be > configured for enabling the software. If setting it NO by default in > some way, people cannot know how to enable it. > > While I can understand an idea that $foo_enable should be defined as > YES or NO by default, it does not come from the reason that it is > confusing unless doing so since the current one is equivalent to NO > and the difference is only that a warning message is displayed. > Please let me know if you have an example that causes people trouble. > Thank you. > > -- Hiroki Thank you for your reply. I am currently a FreeBSD 4.11R user. I am writing this e-mail on a FreeBSD 4.11R machine. And now I am trying to switch to FreeBSD 8.1R. So, honestly, I am not familiar with recent FreeBSD conventions. I am sorry if my report was based on my ignorance. I have installed 355 package according to "ls /var/db/pkg | wc" on my new FreeBSD 8.1R machine. And I have five scripts under /usr/local/etc/rc.d; dbus, git_daemon, hald, isc-dhcp and wnn. If I comment out all of their ${name}_enable in /etc/rc.conf, only one warning is printed out. i.e., the following message. /etc/rc: WARNING: $wnn_enable is not set properly - see rc.conf(5). For other four packages, no warning message is printed out. I know that this warning message is printed out by checkyesno() defined in /etc/rc.subr, whiched is called as "checkyesno ${rcvar}" in run_rc_command(). And $rcvar is defined in each script under /usr/local/etc/rc.d as rcvar=`set_rcvar`. set_rcvar() is defined in /etc/rc.subr and it returns ${name}_enable when no argument is specified. I checked five scripts under /usr/local/etc/rc.d on my machine, and found four of them defins ${name}_enable as following. In /usr/local/etc/rc.d/dbus: dbus_enable=${dbus_enable-${gnome_enable}} In /usr/local/etc/rc.d/git_daemon: : ${git_daemon_enable:=NO} In /usr/local/etc/rc.d/hald: hald_enable=${hald_enable-${gnome_enable}} In /usr/local/etc/rc.d/isc-dhcpd: dhcpd_enable=${dhcpd_enable:-"NO"} Note: gnome_enable above is defined in /usr/local/etc/gnome.subr which is sourced by dbus and hald. So, I guessed every scripts under /usr/local/etc/rc.d should have ${name}_enable. I agree that the number of samples I checked is too small. I admit my guess was based on my limited experience. When I saw the warning message yesterday night (or rather dawn), it took some amount of time to figure out what happened to Wnn. I wanted to make it sure whether adding "wnn_enable=YES" is the right thing to do or it just hid other problem. This is an example of confusion. But this question might come from my ignorance... BTW, If wnn_enable is not defined intentionally, all other ${name}_enable should also be removed, shouldn't they? If dbus_enable and hald_enable didn't have default value (i,e,. NO), it would be easier for me to find out what to do to run X. I think consistency makes it easier to understand what is going on and to find out what to do. To conclude, I agree the idea that the warning messages printed by checkyesno() are helpful for users to find out which variables should be set. But, in that case, I still do not understand why some scripts under /usr/local/etc/rc.d defines ${name}_enable while others not. I think consistency also helps users. Thank you Noritoshi Demizu
Is this PR still relevant?
A commit references this bug: Author: hrs Date: Thu Sep 11 07:48:20 UTC 2014 New revision: 367909 URL: http://svnweb.freebsd.org/changeset/ports/367909 Log: - Fix a bug which prevented a bind(2) call from working. - Support "make stage" by a non-root user. - Set $*wnn_enable=NO by default. [*] - Fix pkg-plist. PR: 149250 [*] Changes: head/chinese/FreeWnn-server/pkg-plist head/japanese/FreeWnn-lib/Makefile head/japanese/FreeWnn-lib/files/patch-Contrib-dic-gerodic-Makefile.in head/japanese/FreeWnn-lib/files/patch-Wnn-jserver-Makefile.in head/japanese/FreeWnn-lib/files/patch-Wnn-jserver-de.c head/japanese/FreeWnn-lib/files/patch-Wnn-jutil-Makefile.in head/japanese/FreeWnn-lib/files/patch-Wnn-pubdicplus-Makefile.in head/japanese/FreeWnn-lib/files/patch-Wnn-wnncons-dic-Makefile.in head/japanese/FreeWnn-lib/files/patch-Xwnmo-xjutil-Makefile.in head/japanese/FreeWnn-lib/files/patch-Xwnmo-xwnmo-Makefile.in head/japanese/FreeWnn-lib/files/patch-aclocal.m4 head/japanese/FreeWnn-lib/files/patch-cWnn-cd-Makefile.in head/japanese/FreeWnn-lib/files/patch-cWnn-cdic-Makefile.in head/japanese/FreeWnn-lib/files/patch-cWnn-jserver-Makefile.in head/japanese/FreeWnn-lib/files/patch-cWnn-jutil-Makefile.in head/japanese/FreeWnn-lib/files/patch-cWnn-tdic-Makefile.in head/japanese/FreeWnn-lib/files/patch-config.h.in head/japanese/FreeWnn-lib/files/patch-configure head/japanese/FreeWnn-lib/files/patch-kWnn-jserver-Makefile.in head/japanese/FreeWnn-lib/files/patch-kWnn-jutil-Makefile.in head/japanese/FreeWnn-lib/files/patch-kWnn-kd-Makefile.in head/japanese/FreeWnn-lib/files/patch-kWnn-kdic-Makefile.in head/japanese/FreeWnn-lib/files/patch-ltmain.sh head/japanese/FreeWnn-server/Makefile head/japanese/FreeWnn-server/files/cwnn.in head/japanese/FreeWnn-server/files/kwnn.in head/japanese/FreeWnn-server/files/patch-Contrib-dic-gerodic-Makefile.in head/japanese/FreeWnn-server/files/patch-Wnn-jserver-Makefile.in head/japanese/FreeWnn-server/files/patch-Wnn-jserver-de.c head/japanese/FreeWnn-server/files/patch-Wnn-jutil-Makefile.in head/japanese/FreeWnn-server/files/patch-Wnn-pubdicplus-Makefile.in head/japanese/FreeWnn-server/files/patch-Wnn-wnncons-dic-Makefile.in head/japanese/FreeWnn-server/files/patch-Xwnmo-xjutil-Makefile.in head/japanese/FreeWnn-server/files/patch-Xwnmo-xwnmo-Makefile.in head/japanese/FreeWnn-server/files/patch-aclocal.m4 head/japanese/FreeWnn-server/files/patch-cWnn-cd-Makefile.in head/japanese/FreeWnn-server/files/patch-cWnn-cdic-Makefile.in head/japanese/FreeWnn-server/files/patch-cWnn-jserver-Makefile.in head/japanese/FreeWnn-server/files/patch-cWnn-jutil-Makefile.in head/japanese/FreeWnn-server/files/patch-cWnn-tdic-Makefile.in head/japanese/FreeWnn-server/files/patch-config.h.in head/japanese/FreeWnn-server/files/patch-configure head/japanese/FreeWnn-server/files/patch-kWnn-jserver-Makefile.in head/japanese/FreeWnn-server/files/patch-kWnn-jutil-Makefile.in head/japanese/FreeWnn-server/files/patch-kWnn-kd-Makefile.in head/japanese/FreeWnn-server/files/patch-kWnn-kdic-Makefile.in head/japanese/FreeWnn-server/files/patch-ltmain.sh head/japanese/FreeWnn-server/files/patch-makerule.mk.in head/japanese/FreeWnn-server/files/twnn.in head/japanese/FreeWnn-server/files/wnn.in head/korean/FreeWnn-server/pkg-plist
Committed a change to set the default value since we now have it consistently in the ports tree.