gcmd-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gcmd-dev] checking missing dependencies (script)


From: Micha
Subject: Re: [gcmd-dev] checking missing dependencies (script)
Date: Tue, 21 Nov 2006 14:25:33 +0100
User-agent: Alpenglühn 7.2

> I think we are going somewhat offtopic..

lo traffic thou ... ;) 

> ~$ grep libX11.so.6 /var/log/packages/*.* | sed 's/.*es\///g'
> 32x11-6.8.2-x86_64-1:usr/lib/libX11.so.6.2
> 32x11-6.9.0-x86_64-2:usr/lib/libX11.so.6.2
> x11-6.8.2-x86_64-8:usr/lib64/libX11.so.6.2

I see filenames are not lowererd as in debian.

> This tells me that it comes with x11 and also the 32-bit
> compability x11 libs

Woukd it work to have a real 64 gcmd ?

> But if the question is:
> What package contain libfoo.what.ever?

Exactly, But there's a step before: What libs are needed to compile ? 
Of course they are checked by .configure / autoconf, but even on a
fast box, that needs some time and (more precious) attention to run 
through. And possibly you see any error message only at compiling.
Not to speak of slow boxes. And then you always got only one error 
after the other. All in all, what a waste of time !
I imagine to have - before any configuring or compilation - a list of
libraries  (sorted after runtime and -devel) that are necessary to compile
and run the app. That means, even without any binary (yet) for ldd.
Just as complete as any debian package dependencies would be.

There should be some make or gcc feature...i see there are some 
_LIBS in the Makefile, but that's only some, and again with weird 
naming.

How to work from that list down to packages is the second step,
probably there have to be distribution specific solutions, taking into 
account the different naming policies and differences in LSB compatibility.  
Finally, if anything else works, missing packages could be detected
and installed by just saying something like

checdep --install-missing gnome-commander

[There was a prog that monitors the runtime environment
of any process, catches any file-not-found access and tries
to install the missing packages autamtically ...it probably 
would not work for compiling, as explained above.  
I already forgot the name, too.]

> If it not is included in Slack, then it is impossible,
> there is no way of knowing what obscure package that
> contains which obscure lib, except google maybe.

ack.
You can also search other distros, like for debian,
http://www.debian.org/distrib/packages or the unofficial 
repositories on http://www.apt-get.org/search.php

> checkinstall makes a package that installs by
> installpkg (the Slack package tool), that way
> i can easily keep track or uninstall it. But even
> then i got no libgviewer folder under /usr/doc
I see. This is Assafs private hack ;) and i guess we can't 
expect him to include extra documentation...however, in any 
case, debian adds a stub manpage from  templates and 
creates a /usr/share/doc with some generic info, like Changelog 
or any README from the sources. 

<q>
r: checkinstall -D -d2 make install 
checkinstall 1.6.0, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
           This software is released under the GNU GPL.
debug: TAR=tar
debug: VISUAL=/usr/bin/vi
debug: Setting umask => 0022
debug: The temporary directory is: [ /var/tmp/UOZMdNoFChZSGATgBeia ]
The package documentation directory ./doc-pak does not exist. 
Should I create a default set of package docs?  [y]: 
</q>

(I didn't run it through cause it's already installed so i can't tell
how it looks like)

> Some small-in-size dists even discards anything that
> goes under /usr/doc to save space..

yw...well known problems though. 
Given the above list, it should be possible to detect the distro, 
and choose from a set of modules (functions) the proper one 
to get the package list, or whatever comes near to that.


> But if GCMD would have been included in Slackware,
> then i could have greped for it in MANIFEST.bz2
> that contains every single file that makes up a
> complete Slackware dist. Do Debian have such file?
The debian package lists contain also descriptions 
and dependency lists too. For ex, 

<q>
mi: apt-cache show gnome-commander

Package: gnome-commander
Priority: optional
Section: gnome
Installed-Size: 2424
Maintainer: Michael Vogt <address@hidden>
Architecture: i386
Version: 1.2.0-3.2
Depends: 
libart-2.0-2 (>= 2.3.16), libatk1.0-0 (>= 1.12.2), libaudiofile0 (>=
0.2.3-4), libavahi-client3 (>= 0.6.13), libavahi-common3 (>= 0.6.10),
libavahi-glib1 (>= 0.6.12), libbonobo2-0 (>= 2.13.0), libbonoboui2-0 (>=
2.5.4), libc6 (>= 2.3.6-6), libcairo2 (>= 1.2.4), libdbus-1-3, libesd0 (>=
0.2.35) | libesd-alsa0 (>= 0.2.35), libfontconfig1 (>= 2.4.0), libfreetype6
(>= 2.2), libgconf2-4 (>= 2.13.5), libgcrypt11 (>= 1.2.2), libglib2.0-0 (>=
2.12.0), libgnome-keyring0 (>= 0.4.3), libgnome2-0 (>= 2.14.1),
libgnomecanvas2-0 (>= 2.11.1), libgnomeui-0 (>= 2.13.0), libgnomevfs2-0 (>=
2.13.92), libgnutls13 (>= 1.4.0-0), libgpg-error0 (>= 1.4), libgtk2.0-0 (>=
2.8.0), libice6 (>= 1:1.0.0), libjpeg62, liborbit2 (>= 1:2.10.0),
libpango1.0-0 (>= 1.14.4), libpng12-0 (>= 1.2.8rel), libpopt0 (>= 1.10),
libsm6, libtasn1-3 (>= 0.3.4), libx11-6, libxcursor1 (>> 1.1.2), libxext6,
libxfixes3 (>= 1:4.0.1), libxi6, libxinerama1, libxml2 (>= 2.6.26),
libxrandr2, libxrender1, zlib1g (>= 1:1.2.1) 

Filename: pool/main/g/gnome-commander/gnome-commander_1.2.0-3.2_i386.deb 
Size: 761402
MD5sum: cca18b7535a852ca9eae532e3754a086
SHA1: b0ed5a9a4295041818c6e263e2a87289183c94e9
SHA256: f84e6693be4fd700a5b1c59b001ab14f180bf622043b0c6a3e6246b9f6d099e0
Description: nice and fast file manager for the GNOME desktop
 GNOME Commander is a fast and powerful graphical filemanager for the Gnome
 desktop environment, it has a "two-pane" interface in the tradition of
 Norton and Midnight Commander.
Homepage: http://www.nongnu.org/gcmd/
</q>

Many 'packages' are only virtual, that is, they contain only dependencies
to other packages (like gnome-desktop), so it's not trivial to tell how many
stuff  really is included (besides the question what's a 'stuff' at all). Each
llist (binary, source) is 6.6 MB now in a standard testing,  but you can add
much more sources than only the debian servers,  of course. There are many
projects which host their private little  debian archive themselves, like 
http://download.videolan.org/pub/videolan/debian/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]