[Pm-utils] RFC - PATCH to functions.in to support Slackware init

Robby Workman rw at rlworkman.net
Wed Oct 29 14:02:12 PDT 2008


On Wed, 29 Oct 2008 15:49:39 -0500
Victor Lowther <victor.lowther at gmail.com> wrote:

> I rewrote your patch a little:
> 
> diff --git a/pm/functions.in b/pm/functions.in
> index 110282e..b1b3157 100644
> --- a/pm/functions.in
> +++ b/pm/functions.in
> @@ -129,14 +129,12 @@ modreload()
>  if ! command_exists service; then
>         service()
>         {
> -               if [ -x "/etc/init.d/$1" ]; then
> -                       svc="$1"
> -                       shift
> -                       "/etc/init.d/$svc" "$@"
> -               else
> -                       log "${1}: unrecognized service"
> -                       return 1
> -               fi
> +           for svc in "/etc/init.d/$1" "/etc/rc.d/rc.$1" #lsb, then
> slack
> +               [ -x "$svc" ] && { shift; "$svc" "$@"; return $?; }
> +           done
> +           # this only happens if we did not find the service
> +           log "${1}: unrecognized service"
> +           return 1
>         }
>  fi


That works; fine by me :)


> A better way to do it might be to add a distro.d directory
> to /usr/lib/pm-utils that can have the following content:
> 
> pm-functions: Sourced at the end of /usr/lib/pm-utils/pm-functions if
> present.
> 
> functions:  Sourced at the end in /usr/lib/pm-utils/functions if
> present.


I like the idea, I think.  I almost prefer to have those named in a
format of "$distro.functions" and "$distro.pm-functions" though.
This, of course, would require testing if the directory is not empty
and then sourcing all of its contents if not, or perhaps this, to add
(probably needless) complexity:  a --with-distro=$distro configure
flag, and then configure could write that value into the stock
functions files so that it knows what to source.  Did that make any
sense? :-)

If that path is chosen, the configure help should probably clarify that
it really doesn't matter what someone puts there -- the value could
conceivably be something asinine like LemonPartyUSA and it would work
so long as the add-on files were named likewise. ;-)


> These files will allow distros to override and add new functionality
> to pm-utils without having to patch the pm-utils package to do so.
> 
> power.d, sleep.d, config.d, and modules.d:
> 
> These directories would have the same purpose as the ones
> in /usr/lib/pm-utils and /etc/pm.  Their contents would override the
> ones in /usr/lib/pm-utils, and would be overridden by the ones
> in /etc/pm.


Same story about $distro on these -- would prefer names such as
"$distro.power.d" and such.  However, I think these are less important
(at least for now), but could very well be useful.

-RW


More information about the Pm-utils mailing list