[aur-general] Should "base" packages be listed as dependencies?

Giancarlo Razzolini grazzolini at archlinux.org
Wed Mar 29 12:05:47 UTC 2017


Em março 29, 2017 4:32 Baptiste Jonglez escreveu:
> So, I didn't think such a technical question would spark so much passion!
> Maybe this discussion should indeed go to arch-dev-public.
> 
> In the meantime, I see 4 positions emerge from the discussion:
> 
> 1) packages in "base" *should* be explicitely listed as dependencies
>    (either for mere "technical correctness", or because of bloat, i.e. not
>    everyone wants/needs all packages from "base")

This is the only valid option.

>   
> 2) packages in "base" *should not* be listed as dependencies (because it
>    is assumed that all Arch Linux systems have all packages from "base"
>    already installed)

Wrong.

> 
> 3) it depends on the maintainer (i.e. there are no guidelines on this question)

If you build using devtools, this become quite obvious.

> 
> 4) it depends on the base package in question (e.g. it would be acceptable
>    to depend on glibc, but not on systemd)

Dependencies are dependencies. You can pull in a chain, by bringing the last
link of it, so you don't have to list all of them. But you need to explicitly
put everything you need for the program to build, test and run. Either this be
on base, base-devel or on repos, core, extra, community.

> 
> 
> I get the impression that 3) is the current status quo.  I find 4) to be
> quite strange and subjective, but it could be done (e.g. only allow
> library dependency such as glibc, or allow all dependencies except a few
> like systemd).

I have seem packages on the repos that failed to build using a clean chroot[0].
I reported and they were fixed.
> 
> I have two more arguments in favour of 1) or 4), related to technical
> correctness:
> 
> - when a new version of glibc is released, which packages should be
>   rebuilt?  Without complete dependency information, I don't see how it's
>   possible to know.

There are tools for finding this. But this should really be on the package
dependency list. Keep in mind that only packages that link directly to it
need to be rebuilt (mostly).

> 
> - Assume that all "base" packages are supposed to already be installed,
>   and thus no other package depends on "base" packages.  When a new
>   package X is added to "base", how is an already-running system supposed
>   to pick it up if no dependency pulls it in?
>

base is an arbitrary set of packages, as this whole discussion showed us, in
abundance. And it's not like pulling base will hurt you, but not everyone
needs/wants to pull it in. Explicit dependency (chain considered) is the only
way.

[0] https://bugs.archlinux.org/task/51613
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 870 bytes
Desc: not available
URL: <https://lists.archlinux.org/pipermail/aur-general/attachments/20170329/be74d485/attachment.asc>


More information about the aur-general mailing list