[Pkg-sysvinit-devel] Supporting tmpfs on /var/run

Henrique de Moraes Holschuh hmh at debian.org
Fri Dec 23 18:54:11 UTC 2005


On Fri, 23 Dec 2005, Thomas Hood wrote:
> no longer include /var/run/foo/.  In that case I think that we should offer
> a skeleton feature.  The package would include /etc/run/skeleton/foo/ and
> then the initscript that mounts /var/run would immediately do
> 
>     cp -a /etc/run/skeleton/* /var/run

Is there a reason why something like this (real-life, from amavisd-new)
cannot be used instead?  Namespace colisions are taken care of by forcing
the use of the package name.

createdir() {
# $1 = user
# $2 = group
# $3 = permissions (octal)
# $4 = path to directory
        [ -d "$4" ] || mkdir -p "$4"
        chown -c -h "$1:$2" "$4"
        chmod -c "$3" "$4"
}
fixdirs() {
        dir=$(dpkg-statoverride --list /var/run/amavis) || {
                echo "You are missing a dpkg-statoverride on /var/run/amavis.  Fix it, otherwise you risk silent breakage on upgrades." >&2
                exit 1
        }
        [ -z "$dir" ] || createdir $dir
        # clear exit status
        :
}

case "$1" in
  start)
        echo -n "Starting $DESC: "
        fixdirs
...

You get the idea.  I have this stuff in some very long standing packages,
and I have never got a BTS report from a user. A developer once hit it, but
that's because he was doing weird stuff with the package, and he had no
trouble fixing it either :-)

The overrides are created in postinst, removed in postrm purge.

Hmm, I'd really like to hack a dpkg-modifymanifest so that we could
runtime-register these things with dpkg.  It would be extremely cool.

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh



More information about the Pkg-sysvinit-devel mailing list