[gentoo-dev] Implicit system dependencies
Hi, I wrote a script to search for discrepancies between linked libraries and what's defined in (R)DEPEND, with the intention of improving QA for minimal package installs. The devmanual seems to suggest that it's a bad thing for packages to explicitly depend on packages in the system set, while many packages in the tree do indeed explicitly depend upon packages such as zlib and ncurses. Any thoughts to as how far I should go with filing bugs regarding this issue? Best regards, Michael
Re: [gentoo-dev] Implicit system dependencies
On Monday, August 22, 2011 15:21:23 Michael wrote: I wrote a script to search for discrepancies between linked libraries and what's defined in (R)DEPEND, with the intention of improving QA for minimal package installs. The devmanual seems to suggest that it's a bad thing for packages to explicitly depend on packages in the system set, while many packages in the tree do indeed explicitly depend upon packages such as zlib and ncurses. file bugs for missing zlib/ncurses deps. if there are other packages you're concerned with, ask now and we'll tell you. -mike signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] Gentoostats, SoC 2011
Hi Vikram, there is one important aspect of your program that really needs to be documented (and comments in the code are not enough): What data exactly is the client sending to the server?! What you need is basically an easy-to-find file / web page / ... where this is explained concise and in simple words. As long as that does not exist, your program will not find much acceptance. Apart from that, I like the entire project, and am curious about its results. Best, Andreas Am Montag 22 August 2011, 23:20:30 schrieb Vikraman: Hi all, Gentoostats[0] is a GSoC 2011 project to collect package statistics from gentoo machines. Please check it out. Bug reports and feature suggestions are welcome. To submit your stats, use the app-portage/gentoostats ebuild from betagarden overlay[1]. [0] https://soc.dev.gentoo.org/gentoostats/ [1] https://soc.dev.gentoo.org/gentoostats/about -- Andreas K. Huettel Gentoo Linux developer - kde, sci, arm, tex dilfri...@gentoo.org http://www.akhuettel.de/
Re: [gentoo-dev] Implicit system dependencies
On 8/22/11 12:21 PM, Michael wrote: I wrote a script to search for discrepancies between linked libraries and what's defined in (R)DEPEND, with the intention of improving QA for minimal package installs. It would be great to integrate this into portage and make it a part of the developer profile. This would just help prevent future breakages. signature.asc Description: OpenPGP digital signature
Re: [gentoo-dev] Re: Proposal: ban mirror://gentoo/ from ebuilds
On 18 August 2011 11:53, Diego Elio Pettenò flamee...@gentoo.org wrote: Il giorno gio, 18/08/2011 alle 05.46 -0400, Anthony G. Basile ha scritto: What alternative are you proposing to mirror://gentoo/ if upstream doesn't provide a tarball, eg with large patchsets the maintainer constructs? Anticipating your answer might be keep them in your dev space, then what would be the deprecation policy for distfiles that are no longer used by ebuilds? If foresee a tension between keeping all the distfiles vs disk space, although Patrick's point of cheap hardware is well taken. Keep it in your dev space. As I said, the resources argument is only available for infra to complain about, and since last I knew from them was that it was not a problem right now... And what if the dev retires/is kicked out? -- Best Regards Piotr Jaroszyński
Re: [gentoo-dev] Implicit system dependencies
On Tuesday 23 of August 2011 18:54:04 Paweł Hajdan, Jr. wrote: On 8/22/11 12:21 PM, Michael wrote: I wrote a script to search for discrepancies between linked libraries and what's defined in (R)DEPEND, with the intention of improving QA for minimal package installs. It would be great to integrate this into portage and make it a part of the developer profile. This would just help prevent future breakages. It seems there are a couple of such home-grown solutions already. dberkholz used to have on in his dev webspace[1], we have one[2] in kde overlay... 1. http://dev.gentoo.org/~dberkholz/scripts/ (linking_libs, included_headers) 2. http://git.overlays.gentoo.org/gitweb/?p=proj/kde.git;a=tree;f=Documentation/maintainers;hb=master (dynlink_scanner + try_dlopen.c) -- regards MM signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] Implicit system dependencies
On 19:08 Tue 23 Aug , Maciej Mrozowski wrote: On Tuesday 23 of August 2011 18:54:04 Paweł Hajdan, Jr. wrote: On 8/22/11 12:21 PM, Michael wrote: I wrote a script to search for discrepancies between linked libraries and what's defined in (R)DEPEND, with the intention of improving QA for minimal package installs. It would be great to integrate this into portage and make it a part of the developer profile. This would just help prevent future breakages. It seems there are a couple of such home-grown solutions already. dberkholz used to have on in his dev webspace[1], we have one[2] in kde overlay... 1. http://dev.gentoo.org/~dberkholz/scripts/ (linking_libs, included_headers) 2. http://git.overlays.gentoo.org/gitweb/?p=proj/kde.git;a=tree;f=Documentation/maintainers;hb=master (dynlink_scanner + try_dlopen.c) Also we've got a couple of really cool GSoC projects along these lines. One is called autodep [1, 2], and it integrates into portage to let you know if you're missing deps or specified too many deps. The other one is an ebuild generator [3, 4] that works for autotools but not a lot else at this point. 1. http://archives.gentoo.org/gentoo-soc/msg_7491f6b5bffdccaedc939beb6e1c4f0d.xml 2. http://dev.gentoo.org/~neurogeek/guidexml/ (temporary homepage) 3. http://archives.gentoo.org/gentoo-soc/msg_e29529cb6f3dfc762f4f7e313b106deb.xml 4. http://soc.dev.gentoo.org/~darkdefender/ebuildgenerator -- Thanks, Donnie Donnie Berkholz Council Member / Sr. Developer Gentoo Linux Blog: http://dberkholz.com pgp441wcSLJ6h.pgp Description: PGP signature
[gentoo-dev] Re: Implicit system dependencies
Mike Frysinger wrote: On Monday, August 22, 2011 15:21:23 Michael wrote: I wrote a script to search for discrepancies between linked libraries and what's defined in (R)DEPEND, with the intention of improving QA for minimal package installs. The devmanual seems to suggest that it's a bad thing for packages to explicitly depend on packages in the system set, while many packages in the tree do indeed explicitly depend upon packages such as zlib and ncurses. file bugs for missing zlib/ncurses deps. if there are other packages you're concerned with, ask now and we'll tell you. -mike What about packages such as bzip2, xz-utils, or really, app-arch/*? Also, on a related note, would it be appropriate to report the following undeclared deps, given that the package in question already has DEPEND for gtk+? * Checking app-arch/guitar-0.1.4 for undeclared dependencies * /usr/bin/guitar links to /usr/lib64/libX11.so.6 * Missing dependency on x11-libs/libX11 * /usr/bin/guitar links to /usr/lib64/libXi.so.6 * Missing dependency on x11-libs/libXi * /usr/bin/guitar links to /usr/lib64/libXext.so.6 * Missing dependency on x11-libs/libXext * /usr/bin/guitar links to /usr/lib64/libxcb.so.1 * Missing dependency on x11-libs/libxcb * /usr/bin/guitar links to /usr/lib64/libXau.so.6 * Missing dependency on x11-libs/libXau * /usr/bin/guitar links to /usr/lib64/libXdmcp.so.6 * Missing dependency on x11-libs/libXdmcp Best regards, Michael
Re: [gentoo-dev] Re: Implicit system dependencies
On Wed, Aug 24, 2011 at 03:53:26AM +1000, Michael wrote: Also, on a related note, would it be appropriate to report the following undeclared deps, given that the package in question already has DEPEND for gtk+? * Checking app-arch/guitar-0.1.4 for undeclared dependencies * /usr/bin/guitar links to /usr/lib64/libX11.so.6 * Missing dependency on x11-libs/libX11 * /usr/bin/guitar links to /usr/lib64/libXi.so.6 * Missing dependency on x11-libs/libXi * /usr/bin/guitar links to /usr/lib64/libXext.so.6 * Missing dependency on x11-libs/libXext * /usr/bin/guitar links to /usr/lib64/libxcb.so.1 * Missing dependency on x11-libs/libxcb * /usr/bin/guitar links to /usr/lib64/libXau.so.6 * Missing dependency on x11-libs/libXau * /usr/bin/guitar links to /usr/lib64/libXdmcp.so.6 * Missing dependency on x11-libs/libXdmcp Those look like indirect linker dependencies to me: ohnopublishing mnt # readelf -d $(which guitar) | grep -e NEEDED 0x0001 (NEEDED) Shared library: [libgtk-1.2.so.0] 0x0001 (NEEDED) Shared library: [libgdk-1.2.so.0] 0x0001 (NEEDED) Shared library: [libglib-1.2.so.0] 0x0001 (NEEDED) Shared library: [libc.so.6] ohnopublishing mnt # See that X11 is brought in by libgtk and recursively so on and so on: ohnopublishing mnt # readelf -d /usr/lib64/libgtk-1.2.so.0 | grep -e NEEDED 0x0001 (NEEDED) Shared library: [libgdk-1.2.so.0] 0x0001 (NEEDED) Shared library: [libgmodule-1.2.so.0] 0x0001 (NEEDED) Shared library: [libglib-1.2.so.0] 0x0001 (NEEDED) Shared library: [libm.so.6] 0x0001 (NEEDED) Shared library: [libX11.so.6] 0x0001 (NEEDED) Shared library: [libc.so.6] -- binki Look out for missing or extraneous apostrophes! pgpApRTbL3K8M.pgp Description: PGP signature
Re: [gentoo-dev] Re: Implicit system dependencies
On Tuesday, August 23, 2011 13:53:26 Michael wrote: Mike Frysinger wrote: On Monday, August 22, 2011 15:21:23 Michael wrote: I wrote a script to search for discrepancies between linked libraries and what's defined in (R)DEPEND, with the intention of improving QA for minimal package installs. The devmanual seems to suggest that it's a bad thing for packages to explicitly depend on packages in the system set, while many packages in the tree do indeed explicitly depend upon packages such as zlib and ncurses. file bugs for missing zlib/ncurses deps. if there are other packages you're concerned with, ask now and we'll tell you. What about packages such as bzip2, xz-utils, or really, app-arch/*? assuming you're referring to them because the SRC_URI is compressed by the relevant formats, atm only bzip2 and gzip is allowed to be assumed. everything else has to be in DEPEND. there is work/discussion to automate this (implicit unpack depends based on SRC_URI suffixes). if your package is actually linking against any of the libs these guys provided (like libbz2.so), then you need to treat it like any other link-time dependency. Also, on a related note, would it be appropriate to report the following undeclared deps, given that the package in question already has DEPEND for gtk+? like Nathan said, only if the package directly uses/links against the X11 API/libs in question. if the package only uses gtk+ funcs, then it should not be declaring a dependency on the X11 libs. keep in mind that an app that only uses the gtk api can run on a system where gtk is not using X11 as its backend. think raw framebuffer, win32, or something equally ridiculous. -mike signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] Re: Implicit system dependencies
On Tue, 23 Aug 2011 15:02:00 -0400 Nathan Phillip Brink bi...@gentoo.org wrote: On Wed, Aug 24, 2011 at 03:53:26AM +1000, Michael wrote: Also, on a related note, would it be appropriate to report the following undeclared deps, given that the package in question already has DEPEND for gtk+? * Checking app-arch/guitar-0.1.4 for undeclared dependencies * /usr/bin/guitar links to /usr/lib64/libX11.so.6 * Missing dependency on x11-libs/libX11 * /usr/bin/guitar links to /usr/lib64/libXi.so.6 * Missing dependency on x11-libs/libXi * /usr/bin/guitar links to /usr/lib64/libXext.so.6 * Missing dependency on x11-libs/libXext * /usr/bin/guitar links to /usr/lib64/libxcb.so.1 * Missing dependency on x11-libs/libxcb * /usr/bin/guitar links to /usr/lib64/libXau.so.6 * Missing dependency on x11-libs/libXau * /usr/bin/guitar links to /usr/lib64/libXdmcp.so.6 * Missing dependency on x11-libs/libXdmcp Those look like indirect linker dependencies to me: ohnopublishing mnt # readelf -d $(which guitar) | grep -e NEEDED 0x0001 (NEEDED) Shared library: [libgtk-1.2.so.0] 0x0001 (NEEDED) Shared library: [libgdk-1.2.so.0] 0x0001 (NEEDED) Shared library: [libglib-1.2.so.0] 0x0001 (NEEDED) Shared library: [libc.so.6] ohnopublishing mnt # See that X11 is brought in by libgtk and recursively so on and so on: ohnopublishing mnt # readelf -d /usr/lib64/libgtk-1.2.so.0 | grep -e NEEDED 0x0001 (NEEDED) Shared library: [libgdk-1.2.so.0] 0x0001 (NEEDED) Shared library: [libgmodule-1.2.so.0] 0x0001 (NEEDED) Shared library: [libglib-1.2.so.0] 0x0001 (NEEDED) Shared library: [libm.so.6] 0x0001 (NEEDED) Shared library: [libX11.so.6] 0x0001 (NEEDED) Shared library: [libc.so.6] I think --as-needed may make a difference here. And often packages supply broken pkgconfig files, with deps for static linking put into the common ones. -- Best regards, Michał Górny signature.asc Description: PGP signature