You are not logged in.
Pages: 1
Hey all,
When you make a new package, please be sure to put in the dependencies!
check out the output of ./configure to see what the packages requires. There are some issues with this, cause sometimes a package can be build with dep. X but the package doesn't need dep. X
But just to be sure, include them all!
apt-get install arch
Offline
If you're finding dependencies for a piece of software, try using the 'ldd' command on the binaries and dynamic libraries:
[judd@earth judd]# ldd /usr/bin/gvim
libgtk-1.2.so.0 => /usr/lib/libgtk-1.2.so.0 (0x4001d000)
libgdk-1.2.so.0 => /usr/lib/libgdk-1.2.so.0 (0x4014a000)
libgmodule-1.2.so.0 => /usr/lib/libgmodule-1.2.so.0 (0x40180000)
libglib-1.2.so.0 => /usr/lib/libglib-1.2.so.0 (0x40183000)
libdl.so.2 => /lib/libdl.so.2 (0x401a7000)
libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x401ab000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x401b3000)
libm.so.6 => /lib/libm.so.6 (0x401c1000)
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x401e2000)
libncurses.so.5 => /usr/lib/libncurses.so.5 (0x4022f000)
libc.so.6 => /lib/libc.so.6 (0x40271000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40396000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40456000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40460000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
[judd@earth judd]#
As you can see, gvim, needs gtk, glib, ncurses, xfree86, and glibc. But since gtk also requires glib and xfree86, and xfree86 requires glibc, we need only list gtk and ncurses in the gvim PKGBUILD.
Offline
This only works if depending packages are not changed. For instance, if a new version of gtk does not require glib anymore while gvim does, the gvim package will break...It's better to list all dependencies imho...
Offline
Since I'm not very familiar with what libs are packaged with what package, I made a little perl script to do the checking automatically. Just point it at the files/dirs you want to check and it will output the packages you need to list in your "depends=()".
just copy it to your /usr/bin and "checkdep pkg/lib" or "checkdep -r pkg/"
please email me about any bugs, suggestions, etc.
Hapy.
Offline
I just thought I would add on here since the topic is sticky and so my ooold post is still here:
use namcap for finding (most) dependencies.
pacman -S namcap
Hapy.
Offline
I just thought I would add on here since the topic is sticky and so my ooold post is still here:
use namcap for finding (most) dependencies.
pacman -S namcap
Hapy.
but do not rely solely on namcap. namcap is a guide not a replacement for research and common sense.
AKA uknowme
I am not your friend
Offline
Hi all:
I'm pretty much a noob with both Linux and Arch, but I like both.
Anyway, can anybody tell me if the dependencies namcap detects are depends, makedepends, or both?
I'm making a package for boxbackup, and I had openssl listed as a dependency (which is what the author of the program has listed. I ran namcap and it returns this:
[root@bacchus server]# namcap boxbackup-server-0.08-1.pkg.tar.gz
boxbackup-server E: Dependency detected and not included (gcc)
boxbackup-server E: Dependency detected and not included (zlib)
boxbackup-server E: Dependency detected and not included (perl)
I would assume these should be listed under makedepends (or not even listed at all?)
Thanks much, and my apologies if this is a stupid question.
Offline
you don't really need to list them at all. namcap will list all dependencies you will have to determine which you would really have to list.
for example all of the depends you listed are in a base install or would be installed in order to just be able to have openssl as a depend. sometimes you will make erros and leave out dependencies but if you sort through what is listed and where is is in the repos you can filter down your dependency list.
as for when dependencies are makedepends or not all depends again on whether or not the package requires another package for building component or actually needed for the operation of the application. the original build for openoffice was a good example. it required tcsh and java for building but neither were necessary for the operation of OOo.
hth
AKA uknowme
I am not your friend
Offline
What to do if the package has dependencies that are "somehow" in the repos, but not with the right name?
I'm trying to build a package for example that has dependencies "xulrunner-nss". There is xulrunner and there is nss, but not xulrunner-nss. The configure script always stops. How can I solve such an issue?
Offline
Pages: 1