From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([69.77.167.62] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1JChzX-000345-7e for garchives@archives.gentoo.org; Wed, 09 Jan 2008 20:57:39 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 25885E0669; Wed, 9 Jan 2008 20:51:35 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id D0660E0669 for ; Wed, 9 Jan 2008 20:51:34 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp.gentoo.org (Postfix) with ESMTP id 8859165101; Wed, 9 Jan 2008 20:51:32 +0000 (UTC) From: Mike Frysinger Organization: wh0rd.org To: gentoo-dev@lists.gentoo.org Subject: Re: [gentoo-dev] [RFC] Reducing the size of the system package set Date: Wed, 9 Jan 2008 15:51:31 -0500 User-Agent: KMail/1.9.7 Cc: "Diego 'Flameeyes' =?iso-8859-1?q?Petten=F2?=" References: In-Reply-To: Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart1574906.6rOxPPnbeg"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <200801091551.31922.vapier@gentoo.org> X-Archives-Salt: 42e5d20e-e84c-4b8f-a0d9-e9094ece36ce X-Archives-Hash: b75abfaad6ef445ce30e6138189bc66b --nextPart1574906.6rOxPPnbeg Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Monday 07 January 2008, Diego 'Flameeyes' Petten=C3=B2 wrote: > I already ranted about the fact that the dependency tree of our ebuilds > is vastly incomplete, as many lack dependency on zlib; trying to get > this fixed was impossible, as Donnie and other insisted that as zlib was > in system, we shouldn=E2=80=99t depend on it at all. I disagree, and I wo= uld > like to know why we can=E2=80=99t depend on a system package, but whateve= r. the system dep rule isnt hard as in "if it's system, you cannot depend on i= t". =20 that's silly. it applies to packages which, if they do not exist, the syst= em=20 would not be usable. things like grep/sed/tail/ps/etc... do not belong in= =20 the depend strings. you cannot have a usable system without such utilities= =20 on your system. that means packages like grep/sed/coreutils/procps/etc... = do=20 not belong in depend strings. there is also the issue that these packages= =20 tend to be swappable based on the system (embedded/bsd/whatever), so listin= g=20 them only causes problems. > Anyway, as having a complete dependency tree is almost impossible > because of that, I have an alternative proposal: reducing the size of > the system package set. Right now system contains stuff like ncurses, > readline, zlib, autoconf, automake and m4, perl, gnuconfig, and so > on. Those are packages that certainly would be part of any base Gentoo > system, but are those actual part of the system set of packages? I > sincerely doubt it. for ncurses/readline, they certainly are part of the system set. that does= nt=20 mean they should not show up in depend strings, it just means they are syst= em=20 packages that every Gentoo system should have installed. i have no problem with shunting the rest. the only thing you need to keep = in=20 mind is that if we do move all of these things to build-only depend (which= =20 they are logically), then people who like to depclean their system would=20 constantly be removing/adding them. > The reason of the existence of the system package set is related first > and foremost to breaking circular dependencies: for instance if any > package that used the C compiler would depend on gcc, then the packages > that gcc depends upon would create a circular dependency between gcc and > itself. Also, specifying libc in almost any ebuild would be quite > pointless, as well as coreutils (or freebsd-bin/ubin) for cp, mv, > install, =E2=80=A6 not really. the system package set is what went into releases and we wante= d=20 all of these things in our stage tarballs. it is nigh impossible to emerge= =20 anything on a Gentoo system without any of these packages, so forcing them= =20 all by default didnt cause any problems. > For what concern the three main libraries, there aren=E2=80=99t that many > packages using zlib directly nowadays, this is especially easy to spot > on a system built with --as-needed, as without that you actually do see > zlib used in every other binary, for indirect dependencies. Nor there > aren=E2=80=99t tons and tons of packages using readline, or ncurses. Actu= ally in > my own vserver=E2=80=99s chroot I only found four packages using readline= , none > of them part of system: ruby with the readline extension (uhm I wonder > if I should ask for this to become an USE flag, I certainly don=E2=80=99t= need > it and I=E2=80=99d rather get rid of it), psql from postgresql (which may= be it=E2=80=99s > still good to have with readline compiled in, but I could easily get rid > of), bc (which is just an e2fsprogs build-dep, and I could build without > readline just fine), and mysql. bash uses readline as well ... but currently statically links it in ... i=20 could (should?) change that ... > A little bit different the status of ncurses, which is used by screen, > gettext (only a build-dep, not needed for runtime on Linux anyway), > procps, psmisc and util-linux (and I wonder why we don=E2=80=99t have a s= witch > to turn it off), texinfo (wonder why we can=E2=80=99t remove it entirely > actually) and yet again ruby. Still, I wonder why ncurses is in system > rather than being properly on the dependencies list of those packages. not sure how you missed the fact that *bash* needs it. that seems pretty=20 critical. > As for perl, that=E2=80=99s probably a bit more justified, there are tons= of > packages using perl directly or indirectly, especially in build > systems. But I would like those to depend on perl properly rather than > having perl in system, as there are cases where perl is not really > needed at runtime at least. i'd say quite the opposite ... requiring perl in system blows. it's there = for=20 two reasons: autotools and openssl. but both are build time requirements=20 only. > And the only users of gnuconfig are the packages making use of the old > and deprecated gnuconfig.eclass, or portage=E2=80=99s econf. Why can=E2= =80=99t it be a > dependency of portage then? you've missed all of the autotool reliance on gnuconfig. they symlink thei= r=20 config files to gnuconfig. the fact that it is tied into econf is irreleva= nt=20 i think ... any autotool based package has a dep on gnuconfig as bundled=20 config files should always update to this. how it gets updated doesnt=20 matter. if your package manager isnt auto-updating things, it sucks. as f= or=20 how to express that depend, it's a crap shoot. > So there are more things that were brought to my attention, like ssh, > flex, bison, e2fsprogs, and so on. We should probably look into what to > keep, rather than what to remove. flex/bison are in the exact same boat as autotools. dont know why you=20 separated them out. openssh and e2fsprogs are part of the system set becau= se=20 every Gentoo system out there should have them installed. if you dont like= =20 it, feel free to tweak your files locally, but to attempt to account for a= =20 few people at the detriment of 99.9% of the people out there makes no sense= =20 at all. =2Dmike --nextPart1574906.6rOxPPnbeg Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.8 (GNU/Linux) iQIcBAABAgAGBQJHhTPTAAoJEEFjO5/oN/WBnicP/icUvgkis7bd6Cdj8m963YbN jSMCOF1vRlm8nZVejxXi+b0Ua86089mKKzOAZHjeWMeF45NrOLz6cI95IXG9qJ/R RUlE8cSmP5QS7WbVJGiC4ddYlnhNZCK7SGkxog37AiEvh0CJ7BXZhQXCv+0CDnVV SViTUNWMvqiuOqgiHC3Ej7MHNayfW+WjuWhJsWhHwKlBFgpKpHabz/38iakz5mUJ DoI/jcrDcNJQwsAidXw+oOEaRUJisgqFqFS0eok0dUhgBgOhFoXFmeNMc3uMWisp 5ZcP1GHLjVKxy97hFWQo4tKqw9mqL7fFr/j0/p37Hg50IP9Bonvddw4nePaF/30/ eOYxyiELj8tmYzJo7jC8KqHBp1zHigzACV5jMdjyWi87YE0wkNdsASAZ8SjGoyuo QA0vkhQwkuw33Ak7u7qoTTsaVrLZfGz6P4ULCqvESWu6TGUbdXJl8L9yM4eB6roo pEfO5hUWTTjVjV5yCdi96k42ak5jxNRNidCtIvhUcsOBykIN9XyyjQFRJClC91BL 01/MMBJXDs2ZAj7rlWraI5EIS5u6H4SqL9V4/vAlhhjHkcydWgnquBJ4JhdeWX4m YcIYbTQJCc2vrhEt7lC2gvja3Ms7DZwd1OHk/TZ1vpPaczAhOctOAY13zzZDrt9i RhYiqbOYdnGaRb3vo8Id =EWYV -----END PGP SIGNATURE----- --nextPart1574906.6rOxPPnbeg-- -- gentoo-dev@lists.gentoo.org mailing list