[arch-dev-public] [signoff] initscripts-2011.07.1-1
Hi guys, It has been almost two months since the last initscripts release, and a lot of small changes have been merged (and a few big ones). In particular, I'd like to point out a last minute addition by Dave: a new script, /usr/lib/initscripts/arch-tmpfiles, which is ran at boot to clean and create files and folders in non-persistent directories (such as /run and /tmp). Daemons that needs this functionality (such as udisks) can get it by putting a .conf file in /usr/lib/tmpfiles.d/. This should allow us to support /var/run and /var/lock being symlinked to /run and /run/lock. Please test and signoff. As usual, I'll wait a few extra days before moving to core. Cheers, Tom Changes to rc.conf ------------------ The VERBOSE parameter no longer has an effect, use the kernel's loglevel= parameter instead. Most p If HARDWARECLOCK is empty we will read the value of UTC/LOCAL from hwclock's adjfile instead. To av interacting with the hardwareclock set HARDWARECLOCK="IGNORE". We now support (optionally) setting the broadcast address in the new network config. Behavioral changes ------------------ We no longer silence errors thrown by udev. In particular, if udevadm --settle times out, we get an We no longer adjust the rtc on boot, as it is unreliable, we only make corrections for the timezone We no longer mount /run as noexec. Misc changes ------------ Cleaning up of /tmp and friends is now done by an external tool. This tool is intended to allow pac kages to maintain {/var,}/run{/lock,} in the absense of rc scripts. General refactoring which should make maintenance and writing custom hooks easier. Thanks to everyone who contributed to this release: ------------------------------------------------------------------ Andrwe Lord Weber (1): added get_pid() and ck_pidfile() (FS#18654) Dave Reisner (16): rc.sysinit: kill off VERBOSE= parameter rc.sysinit: allow exec in /run rc.d/rc.sysinit: whitespace cleanup use $() instead of `` for command substitutions add PATH, strip absolute path from binaries remove absolute paths from daemons and rc.d rc.sysinit: honor blacklist, not load_modules network: support gateway-less network setup rc.sysinit: avoid use of regex match for USE* vars network: don't enforce check for netmask or gateway rc.shutdown: continuation of fe48fab2c2c35c network: always warn about deprecation for old funcs network: don't warn for deprecation with no settings arch-tmpfiles: add new script to handle volatile file control arch-tmpfiles: check args, warn on invalid entries arch-tmpfiles: add cmdline parameters Eric Bélanger (3): Clean up ANSI codes from /var/log/boot Removed superfluous dollar sign Add logrotate config file to rotate /var/log/boot Gerardo Exequiel Pozzi (4): [initscripts] Avoid error message when switch runlevels. [initscripts] chmod dmesg.log based on value from dmesg_restrict Be consistent (with mkinitcpio) source naming of /run [initscripts] network: Add missing broadcast address Jacob Okamoto (1): rc.d: clear text formatting after error Kurt J. Bosch (68): Move fsck stuff into functions to allow custom overrides (FS#18736) Simplify fsck functions Allow custom fsck on shutdown via hook (FS#18736) Move mount -a into functions to allow custom override (fsck on loop) Fix hwclock comments Simplify timezone copying Simplify creating files by using /bin/install Simplify keyboard map loading by using loadkeys autodetection Simplify API filesystems mounting Some cosmetics Simplify rc.single udevadm stuff as in rc.sysinit Simplify unmounting filesystems rc.single: Avoid rc.multi syslog start error - use minilogd as in rc.sysinit Fix bootlogd not stopped when booting into runlevel '1' Simplify random seed file creation Some more cosmetics Simplify in_array function rc.sysinit/rc.single: Merge UDev stuff into a function rc.multi/rc.single: Merge duplicated bootlogd stop code into a function Get rid of simple if-constucts by using '&&' Simplify /etc/profile.d/locale.sh creation Fix whitespace functions: Fix indentation rc.sysinit: Fix writing to /dev/urandom rc.sysinit: Fix setting locale Fix '>|' not used allways when redirecting to files Fix local statements missing in ck_depends, ck_pidfile, do_unlock, kill_everything functions: Define $fsckret read-only because exposed to hook Add some comments functions: Simplify ck_depends() for statement functions: Simplify kill_everything() omit_pid handling Refactor to get rid of simple if-constucts rc.sysinit: Get rid of eval Move fsck executable check into fsck_all() for consistency Move activate_vgs and crypt stat_busy to the top for consistency functions: Make activate_vgs return 0 if noop for consistency Move export PATH into functions rc.sysinit: Refactor /etc/mtab symlink detection to avoid empty if clause rc.sysinit: Add status output for mtab and dmesg.log creation functions/rc.single: Clean up whitespace rc.sysinit: Fix stat_busy block indentation functions: Get rid of superfluous braces in udevd_modprobe() functions: Add missing quotes in mount_all() functions/rc.multi: Strip paths from binaries Refactor kill_everything, fsck_all and mount_all code rc.sysinit: Declare $FORCEFSCK read-only functions/rc.sysinit: Refactor fsck-redirection to prevent breakage rc.sysinit: Remove unneeded variables initializations functions: Make status() return the actual exit code functions: Speed up reboot/shutdown by recognizing killall5 exit code 2 netfs: cleanup whitespace netfs: Strip paths from binaries netfs: Refactor to provide meaningful exit code functions/netfs: Refactor filesystem type lists and $NETFS rc.sysinit: Simplify /var/run/daemons workaround rc.single: Remove $PATH assignment rc.sysinit: fixup fsck refactoring functions: Use ck_autostart in stop_all_daemons() functions: Make in_array() non DAEMONS specific rc.sysinit: Fix /tmp/.* pattern functions/rc.sysinit: Refactor 'Removing Leftover Files' code rc.single: Call remove_leftover() when going single-user functions: Remove useless '$' within '(( ))' functions: Unify whitespace inside '(( ))' Fix/unify quoting functions: Cosmetics: Refactor usage of local daemon variables rc.sysinit: Move 'run_hook sysinit_start' after mount root read-only rc.shutdown: Move 'run_hook shutdown_start' after "Initiating Shutdown..." Sebastien Luttringer (6): rc.d: Update usage rc.d: Add started/stopped option to list rc.d: Update bash and zsh completion scripts Ensure rc.d scripts are run as root Use _get_comp_words_by_ref in bash completion Remove usage of head in PKGBUILD Tom Gundersen (20): Merge remote-tracking branch 'falconindy/working' udev: don't silence settle + trivial hwclock: allow TZ to be set in adjtime, only adjust for TZ during boot hwclock: refactor daemon udev: remove rule generation Merge remote-tracking branch 'djgera/djgera' Merge branch 'snowman' hostname: echo to kernel directly Merge remote-tracking branch 'djgera/djgera' Merge remote-tracking branch 'seblu/master' status: adjust number of columns after loading modules Merge remote-tracking branch 'falconindy/working' functions: warn if daemons are started recursively trivial: silence errors hwclock: use correct timezone hwclock: show status Merge remote-tracking branch 'seblu/master' Merge remote-tracking branch 'seblu/master' Merge remote-tracking branch 'kujub/master' network: reword depracation message derhoch (1): changing _rd.d to _rc_d to avoid: jofko (1): Adding hook sysinit_postmount
On 25 July 2011 23:51, Tom Gundersen <teg@jklm.no> wrote:
The VERBOSE parameter no longer has an effect, use the kernel's loglevel= parameter instead. Most p
I don't like this change. While you say there's a way to make it less verbose, after only merging the changes to rc.conf, dmesg output will get interleaved with initscripts output during boot, which looks horrible: http://imgur.com/a/wbG9z No signoff. :>
On 26 July 2011 05:43, Evangelos Foutras <foutrelis@gmail.com> wrote:
On 25 July 2011 23:51, Tom Gundersen <teg@jklm.no> wrote:
The VERBOSE parameter no longer has an effect, use the kernel's loglevel= parameter instead. Most p
I don't like this change. While you say there's a way to make it less verbose, after only merging the changes to rc.conf, dmesg output will get interleaved with initscripts output during boot, which looks horrible: http://imgur.com/a/wbG9z
No signoff. :>
Dave explained to me on IRC that the loglevel=[1-8] or quiet options can be passed to the kernel to control this. It would make sense to default to, say, loglevel=4 (that's what quiet sets) if no verbosity-related options are passed to the kernel. Another possible issue: $ runlevel unknown On another machine without the initscripts package from [testing] the output differs: $ runlevel N 5
On Tue, Jul 26, 2011 at 06:26:40AM +0300, Evangelos Foutras wrote:
On 26 July 2011 05:43, Evangelos Foutras <foutrelis@gmail.com> wrote:
On 25 July 2011 23:51, Tom Gundersen <teg@jklm.no> wrote:
The VERBOSE parameter no longer has an effect, use the kernel's loglevel= parameter instead. Most p
I don't like this change. While you say there's a way to make it less verbose, after only merging the changes to rc.conf, dmesg output will get interleaved with initscripts output during boot, which looks horrible: http://imgur.com/a/wbG9z
No signoff. :>
Dave explained to me on IRC that the loglevel=[1-8] or quiet options can be passed to the kernel to control this.
It would make sense to default to, say, loglevel=4 (that's what quiet sets) if no verbosity-related options are passed to the kernel.
So, would this be done in initscripts or initramfs? The 'quiet' parameter isn't some big secret.
Another possible issue:
$ runlevel unknown
That's possibly a huge issue. When is that visible?
On another machine without the initscripts package from [testing] the output differs:
$ runlevel N 5
Signed-off-by: Dave Reisner <dreisner@archlinux.org> --- tmpfiles.conf | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/tmpfiles.conf b/tmpfiles.conf index f7db5a0..7dd1358 100644 --- a/tmpfiles.conf +++ b/tmpfiles.conf @@ -11,7 +11,7 @@ d /tmp/.XIM-unix 1777 root root d /tmp/.font-unix 1777 root root d /tmp/.Test-unix 1777 root root -f /var/run/tmp 0664 root utmp +F /var/run/utmp 0664 root utmp r /tmp/.X[0-9]-lock r /etc/nologin -- 1.7.6
On 26 July 2011 06:36, Dave Reisner <d@falconindy.com> wrote:
On Tue, Jul 26, 2011 at 06:26:40AM +0300, Evangelos Foutras wrote:
On 26 July 2011 05:43, Evangelos Foutras <foutrelis@gmail.com> wrote:
On 25 July 2011 23:51, Tom Gundersen <teg@jklm.no> wrote:
The VERBOSE parameter no longer has an effect, use the kernel's loglevel= parameter instead. Most p
I don't like this change. While you say there's a way to make it less verbose, after only merging the changes to rc.conf, dmesg output will get interleaved with initscripts output during boot, which looks horrible: http://imgur.com/a/wbG9z
No signoff. :>
Dave explained to me on IRC that the loglevel=[1-8] or quiet options can be passed to the kernel to control this.
It would make sense to default to, say, loglevel=4 (that's what quiet sets) if no verbosity-related options are passed to the kernel.
So, would this be done in initscripts or initramfs? The 'quiet' parameter isn't some big secret.
I'd say in initscripts, because before that only the kernel prints messages. When initscripts kicks in, its output gets combined with the kernel messages and creates a visually unappealing result. :p I think that capping loglevel to 4 in initscripts would work well: --8<------------ # limit console verbosity to no more than 4 (error conditions) # this is done to keep initscripts' output clean and readable set -- $(< /proc/sys/kernel/printk) (( $1 > 4 )) && echo 4 >/proc/sys/kernel/printk --8<------------ Opinions?
Another possible issue:
$ runlevel unknown
That's possibly a huge issue. When is that visible?
Thanks for fixing that with your latest patch to mkinitcpio.
On Tue, Jul 26, 2011 at 7:25 AM, Evangelos Foutras <foutrelis@gmail.com> wrote:
On 26 July 2011 06:36, Dave Reisner <d@falconindy.com> wrote:
On Tue, Jul 26, 2011 at 06:26:40AM +0300, Evangelos Foutras wrote:
On 26 July 2011 05:43, Evangelos Foutras <foutrelis@gmail.com> wrote:
On 25 July 2011 23:51, Tom Gundersen <teg@jklm.no> wrote:
The VERBOSE parameter no longer has an effect, use the kernel's loglevel= parameter instead. Most p
I don't like this change. While you say there's a way to make it less verbose, after only merging the changes to rc.conf, dmesg output will get interleaved with initscripts output during boot, which looks horrible: http://imgur.com/a/wbG9z
No signoff. :>
Dave explained to me on IRC that the loglevel=[1-8] or quiet options can be passed to the kernel to control this.
It would make sense to default to, say, loglevel=4 (that's what quiet sets) if no verbosity-related options are passed to the kernel.
So, would this be done in initscripts or initramfs? The 'quiet' parameter isn't some big secret.
I'd say in initscripts, because before that only the kernel prints messages. When initscripts kicks in, its output gets combined with the kernel messages and creates a visually unappealing result. :p
I think that capping loglevel to 4 in initscripts would work well:
--8<------------ # limit console verbosity to no more than 4 (error conditions) # this is done to keep initscripts' output clean and readable set -- $(< /proc/sys/kernel/printk) (( $1 > 4 )) && echo 4 >/proc/sys/kernel/printk --8<------------
Opinions?
What about those who manually want to set the loglevel to something else? I guess we could put a notice in initscripts.install suggesting people to amend "quiet" to their kernel command line. Would that be ok? -t
On 26 July 2011 14:00, Tom Gundersen <teg@jklm.no> wrote:
What about those who manually want to set the loglevel to something else?
I don't think more than LOG_ERR verbosity is needed after rc.sysinit takes over. One can use dmesg to review any warnings and informational messages after the system has finished booting. My point is that it doesn't make sense to allow both initscript's output and kernel messages to be displayed at the same time; lines get cut off and parts of the output becomes unreadable.
I guess we could put a notice in initscripts.install suggesting people to amend "quiet" to their kernel command line. Would that be ok?
I guess that would be fine, but I don't like that manual intervention will be required to go back to the previous behavior, just to support a useless use case (loglevel greater than LOG_ERR after rc.sysinit has kicked in). :)
On 07/26/2011 05:43 AM, Evangelos Foutras wrote:
On 25 July 2011 23:51, Tom Gundersen<teg@jklm.no> wrote:
The VERBOSE parameter no longer has an effect, use the kernel's loglevel= parameter instead. Most p
I don't like this change. While you say there's a way to make it less verbose, after only merging the changes to rc.conf, dmesg output will get interleaved with initscripts output during boot, which looks horrible: http://imgur.com/a/wbG9z
No signoff. :>
i'm with you in this. kernel logs are in the middle of starting daemons. hate it -- Ionuț
On Tue, Jul 26, 2011 at 2:48 PM, Ionut Biru <ibiru@archlinux.org> wrote:
On 07/26/2011 05:43 AM, Evangelos Foutras wrote:
On 25 July 2011 23:51, Tom Gundersen<teg@jklm.no> wrote:
The VERBOSE parameter no longer has an effect, use the kernel's loglevel= parameter instead. Most p
I don't like this change. While you say there's a way to make it less verbose, after only merging the changes to rc.conf, dmesg output will get interleaved with initscripts output during boot, which looks horrible: http://imgur.com/a/wbG9z
No signoff. :>
i'm with you in this. kernel logs are in the middle of starting daemons. hate it
I agree that the kernel default is annoying, but it _is_ the upstream default, and there is a known workaround (boot with "quiet"), so I don't want to keep hacking around this in initscripts. Luckily, my stubbornness prompted Dave to do the right thing, and submit a kernel patch to allow the default to be set to something sensible at compile-time: <https://lkml.org/lkml/2011/7/26/227>. Hopefully this means that the problem will be solved upstream soon. Cheers, Tom
On Tue, Jul 26, 2011 at 11:06 AM, Tom Gundersen <teg@jklm.no> wrote:
On Tue, Jul 26, 2011 at 2:48 PM, Ionut Biru <ibiru@archlinux.org> wrote:
On 07/26/2011 05:43 AM, Evangelos Foutras wrote:
On 25 July 2011 23:51, Tom Gundersen<teg@jklm.no> wrote:
The VERBOSE parameter no longer has an effect, use the kernel's loglevel= parameter instead. Most p
I don't like this change. While you say there's a way to make it less verbose, after only merging the changes to rc.conf, dmesg output will get interleaved with initscripts output during boot, which looks horrible: http://imgur.com/a/wbG9z
No signoff. :>
i'm with you in this. kernel logs are in the middle of starting daemons. hate it
I agree that the kernel default is annoying, but it _is_ the upstream default, and there is a known workaround (boot with "quiet"), so I don't want to keep hacking around this in initscripts.
Luckily, my stubbornness prompted Dave to do the right thing, and submit a kernel patch to allow the default to be set to something sensible at compile-time: <https://lkml.org/lkml/2011/7/26/227>. Hopefully this means that the problem will be solved upstream soon.
As great as this all is: 1) it isn't upstream yet, so you're forcing a patched package (which we don't like to do) 2) it requires every custom kernel to match the Arch default level of 4 for initscripts output to not look like ass So I'm all for the upstream patch, but I'm not so sold on the removal of this from initscripts. We're breaking a lot of established setups here. -Dan
On Wed, Jul 27, 2011 at 5:57 PM, Dan McGee <dpmcgee@gmail.com> wrote:
On Tue, Jul 26, 2011 at 11:06 AM, Tom Gundersen <teg@jklm.no> wrote:
On Tue, Jul 26, 2011 at 2:48 PM, Ionut Biru <ibiru@archlinux.org> wrote:
On 07/26/2011 05:43 AM, Evangelos Foutras wrote:
On 25 July 2011 23:51, Tom Gundersen<teg@jklm.no> wrote:
The VERBOSE parameter no longer has an effect, use the kernel's loglevel= parameter instead. Most p
I don't like this change. While you say there's a way to make it less verbose, after only merging the changes to rc.conf, dmesg output will get interleaved with initscripts output during boot, which looks horrible: http://imgur.com/a/wbG9z
No signoff. :>
i'm with you in this. kernel logs are in the middle of starting daemons. hate it
I agree that the kernel default is annoying, but it _is_ the upstream default, and there is a known workaround (boot with "quiet"), so I don't want to keep hacking around this in initscripts.
Luckily, my stubbornness prompted Dave to do the right thing, and submit a kernel patch to allow the default to be set to something sensible at compile-time: <https://lkml.org/lkml/2011/7/26/227>. Hopefully this means that the problem will be solved upstream soon.
As great as this all is: 1) it isn't upstream yet, so you're forcing a patched package (which we don't like to do) 2) it requires every custom kernel to match the Arch default level of 4 for initscripts output to not look like ass
So I'm all for the upstream patch, but I'm not so sold on the removal of this from initscripts. We're breaking a lot of established setups here.
Right, so it seems this change drew a lot of attention. I'll try to justify it one last time, and if I still have everyone against me, I'll revert. 1) The change is purely cosmetic, so nothing is broken. At worst you get some extra messages on your console. 2) There are several ways of disabling this: a) pass "quiet" on the commandline, this is what most other distro's do, and what is suggested by the kernel docs b) set kernel.printk=4 in sysctl.conf c) add an init hook that changes the loglevel. Maybe this actually belongs in mkinitcpio, as the output from the initrd would also get interleaved with kernel messages, even now. So that takes care of why I think the change does not make anything worse. The reasons I think it is a good idea to make the change are: 3) Simplicity: the native behavior is simple. You set the loglevel on the commandline and that is it. We have added an extra layer that makes it more difficult to understand (just by looking at the kernel docs) why the loglevel is not what you expect it to be. 4) Follow upstream: by not changing the upstream behavior it should be simpler for people to interact directly with upstream when debugging. 5) I'll always be biased in favor of a patch that deletes code. -t
participants (5)
-
Dan McGee
-
Dave Reisner
-
Evangelos Foutras
-
Ionut Biru
-
Tom Gundersen