On May 7, 2018 4:39:22 AM PDT, The Wanderer <wande...@fastmail.fm> wrote:
>On 2018-05-06 at 21:47, David Griffith wrote:
>
>> Could we start the process of identifying packages that have
>> dependencies on systemd in some way that is are not actually
>> required?
>
>This is a seriously nontrivial task.
>
>As I understand matters, the only sure way to do it would be something
>like:
>
>1. Start with a systemd-free computer.
>
>2. Attempt to install a package.
>
>3. See whether it tries to install systemd, either by direct dependency
>or by an indirect cascade of dependencies.
>
>4. If it tries to install systemd by direct dependency, analyze the
>source and functionality of the package, to determine whether or not
>there would be a way to get it to do what it needs to do without
>referencing systemd in a way which would require the dependency.
>
>5. If it tries to install systemd by indirect dependency, identify the
>package in the dependency chain which results in pulling in systemd,
>and
>then either:
>
>5a. Analyze that package in the same way as under step 4.
>
>5b. Analyze the package above that one in the dependency chain to
>determine whether or not it can be made to do what it needs to do
>without referencing that package in a way which would require the
>dependency.
>
>5.b.1. If not, repeat step 5b for the next package up the chain, and
>keep repeating for as many packages are in the chain.
>
>6. Repeat from step 2 with another package, until every package has
>been
>checked.
>
>And all of that is just to identify the packages in question. Modifying
>them to remove the dependencies would be another nontrivial task in
>many
>cases; getting the package maintainer to accept patches which do so
>would be still another nontrivial task.
>
>
>I did notice when one package which I run on my primary (systemd-free)
>computer developed an indirect dependency on libpam-systemd (as part of
>fixing an arguably minor bug in a feature I don't use), reported that
>as
>a possible unintended result to the maintainer (asking whether there
>was
>any possibility of a way forward which wouldn't require me to build
>that
>package locally going forward in order to avoid systemd), and was
>fortunate enough that the maintainer found an alternative dependency
>which would avoid the indirect chain to libpam-systemd.
>
>But that was something I noticed in the course of checking a routine
>dist-upgrade, not the result of embarking on a project to analyze the
>archive in search of such packages - and even then, I was lucky that A:
>an alternative solution could be found and B: the maintainer was
>sufficiently non-unsympathetic to the desire to avoid systemd to be
>willing to look for and implement one.
>
>
>All of which is to say: I am not at all certain that this project would
>be at all worth the time and effort it would require.
>
>But I am not one to tell others not to do work they think is
>beneficial.
>
>-- 
>   The Wanderer
>
>The reasonable man adapts himself to the world; the unreasonable one
>persists in trying to adapt the world to himself. Therefore all
>progress depends on the unreasonable man.         -- George Bernard
>Shaw

I found someone who has already done most if not all of this analysis and has 
set up a repo containing non-systemd-using packages.  Perhaps this can be used 
as a foundation for something official.
-- 
David Griffith
d...@661.org

Reply via email to