[patch] rc.d cleanup

diz at linuxpowered.com diz at linuxpowered.com
Mon Aug 1 17:31:08 GMT 2005


Hi there,

This is my first patch to this project.
This is the first of many patches to come actually, but I need to find a
sponsor to guide me, and review what I submit. The patch is kinda big, and
far reaching in terms of altering almost every rc.d script.

This patch effects most of the rc.d scripts that utilize simple IF
statements, converting them to logical AND/OR's instead. For example:

if [ ! -f foo ]
then
    bar
fi

Would simply become:

[ -f foo ] || bar

The exception (but not the rule) is for any situation where ELIF/ELSE is
required. In other words any exclusive conditional situations.

I also applied this notion to many simple blocks of code wrapped around
non-exclusive IF statements, such as:

[ -f foo ] && {
   command-list
   [...]
}

This has the result of reducing the size of the shell code, and reducing
the problem of over-engineering that plagues many scripts. I found quite
many places where there were one-line situations wrapped up in multi-line
IF statements, which I was compelled to eliminate. Further more, as I
audited the scripts, I noticed that in several places this style of
scripting was already used in various places. So I feel this make the
entire span of scripts uniform.


-Jon Disnard



More information about the freebsd-hackers mailing list