[gentoo-dev] Implicit system dependencies

2011-08-23 Thread Michael
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

2011-08-23 Thread Mike Frysinger
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

2011-08-23 Thread Andreas K. Huettel

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

2011-08-23 Thread Paweł Hajdan, Jr.
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

2011-08-23 Thread Piotr Jaroszyński
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

2011-08-23 Thread Maciej Mrozowski
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

2011-08-23 Thread Donnie Berkholz
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

2011-08-23 Thread Michael
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

2011-08-23 Thread Nathan Phillip Brink
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

2011-08-23 Thread Mike Frysinger
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

2011-08-23 Thread Michał Górny
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