Bug#339460: update-rc.d: a partial implementation of what I propose

2005-11-16 Thread Martin-Éric Racine
1) find out which packages have bootup scripts:
dpkg -S /etc/init.d/* | cut -f 1 -d : | uniq | sort | uniq
Caveat:  find a way to remove scripts that belong to no package.

2) for-next loop removing all symlinks for each, using update-rc.d

3) for-next loop redoing the post-install scripts of each (which is
where update-rc.d would make the symlinks during installation).

-- 
Martin-Éric Racine
http://q-funk.iki.fi


signature.asc
Description: This is a digitally signed message part


Bug#339460: update-rc.d: a partial implementation of what I propose

2005-11-16 Thread Martin-Éric Racine
Ugly but it does a fine job as a proof of concept:

#!/bin/sh
# restore RC symbolic links per each package's postinst script defaults
packages=`dpkg -S /etc/init.d/* | cut -f 1 -d : | sort | uniq | xargs`
for name in $packages; do
update-rc.d -f $name remove
done
apt-get --reinstall install $packages
#EOF

Of course, ideally, we would have all package scripts guaranteed to be
fully idempotent, which would then make it easier to just grep and call
each /var/lib/dpkg/info/$name.postinst for a replay.

-- 
Martin-Éric Racine
http://q-funk.iki.fi


signature.asc
Description: This is a digitally signed message part