On Sun, Jan 14, 2018 at 08:05:46PM +0100, Helmut Grohne wrote:
> Package: initscripts
> Usertags: nonessentiale2fsprogs
> 
> We want to make removing e2fsprogs from installations possible. For standard
> installations this is not useful, but embedded applications and chroots 
> benefit
> from such an option.  For getting there all packages that use e2fsprogs must 
> be
> identified and gain a dependency on it as e2fsprogs currently is essential.

This is an interesting case.

Small containers, systems and chroots that need an init really want to use
sysvinit (thus initscripts) instead of systemd, as it's drastically smaller,
both in terms of memory use and disk size.  Thus, they're what needs removal
of e2fsprogs the most -- ie, adding the dependency wouldn't be the right
thing to do.

> initscripts was identified as potentially needing such a dependency,
> because it mentions tool names from e2fsprogs in the following files:
> 
> /etc/init.d/checkfs.sh contains logsave. According to file it is a POSIX 
> shell script, ASCII text executable
> /etc/init.d/checkroot.sh contains logsave. According to file it is a POSIX 
> shell script, ASCII text executable
> 
> Please investigate whether these cases are actually uses of a tool from
> e2fsprogs.

Yes, these scripts to use logsave.  If I read codesearch's output right,
there are only two packages that use it:
* initramfs-tools
* initscripts

/sbin/logsave is currently linked against libblkid.so.1 and libuuid.so.1 --
but, that's wrong: it doesn't use any symbol from either.  This currently
wouldn't save us anything as other executables in e2fsprogs have a valid
reason for this dependency -- but not logsave itself.

It also doesn't need any other piece of e2fsprogs.  The autoconfage is
purely historic as <signal.h> is mandated by POSIX (thus present everywhere)
while <getopt.h> and its #else stanza are redundant with <unistd.h> (POSIX
mandates short getopt() since times immemorial).  Thus, logsave is a single
self-contained .c file that can be tossed around and shipped in any arch:any
package.

One possibility is initscripts itself -- while it currently doesn't have
anything but pure ASCII shell scripts, it's arch:any as its contents differs
on non-Linux, and is too low-level for runtime detection to be reasonable.

I don't know if initramfs-tools uses logsave on systemd machines, though.


As you have researched relationship between minimal install packages, you
likely know more than me.  Thus, could you advise?


Meow!
-- 
⢀⣴⠾⠻⢶⣦⠀ 
⣾⠁⢰⠒⠀⣿⡁ Imagine there are bandits in your house, your kid is bleeding out,
⢿⡄⠘⠷⠚⠋⠀ the house is on fire, and seven big-ass trumpets are playing in the
⠈⠳⣄⠀⠀⠀⠀ sky.  Your cat demands food.  The priority should be obvious...

_______________________________________________
Pkg-sysvinit-devel mailing list
Pkg-sysvinit-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-sysvinit-devel

Reply via email to