[arch-general] New User(sort of) and a packaging question
Fellow Arch Enthusiasts, I discovered Arch about a year ago, and loved it. I played around with it under VMware for a while, and even created a couple of packages for myself. At the time my hard drive really needed some reorganization/repartitioning before switching to another distribution. But, my DVD burner was acting flaky. Anyway, one year later with a second hard drive installed, and with a new DVD burner on order, I've made the switch to Arch, after trying a few other distros along the way. I can't find the packages I created back when I first started using Arch. At some point I ended up deleting the VMware image to free up some space and neglected to copy the packages. Anyway, I've created a package for c3270. I found an x3270 package but prefer the text console version. Is there a utility that can be used to help set the package's dependencies? I found a few mentions of namcap on the wiki. I tried it on the package I created, which I don't currently have any dependencies listed in, and the only problems it reports are missing maintainer and CVS id tags. It mentions nothing about the missing dependencies. By the way, What does the name namcap stand for? Kevin http://www.RawFedDogs.net http://www.WacoAgilityGroup.org Bruceville, TX Si hoc legere scis nimium eruditionis habes. Longum iter est per praecepta, breve et efficax per exempla!!!
Kevin Monceaux wrote:
By the way, What does the name namcap stand for?
Kevin
I think it's just "pacman" spelled backwards. DR
On Jan 28, 2008 11:46 AM, Kevin Monceaux <Kevin@rawfeddogs.net> wrote:
I found a few mentions of namcap on the wiki. I tried it on the package I created, which I don't currently have any dependencies listed in, and the only problems it reports are missing maintainer and CVS id tags. It mentions nothing about the missing dependencies. By the way, What does the name namcap stand for?
namcap will find dependencies only when run on a built package - it can't analyse a PKGBUILD and discover deps for you. Build the package, then run namcap /path/to/pkgname-pkgver-pkgrel.pkg.tar.gz and it'll tell you. If you can't even build the package because of missing deps on your system, then check out the project's documentation - they're usually pretty good about telling you what you need.
On Mon, 28 Jan 2008, Travis Willard wrote:
Build the package, then run namcap /path/to/pkgname-pkgver-pkgrel.pkg.tar.gz and it'll tell you. If you can't even build the package because of missing deps on your system, then check out the project's documentation - they're usually pretty good about telling you what you need.
I've built and installed the package and it works as expected. I've tried running namcap on both the PKGBUILD file and actual package file and it reports no missing dependencies. According to ldd the c3270 program depends on: linux-gate.so.1 => (0xb7fbe000) libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0xb7f6e000) libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0xb7e28000) libnsl.so.1 => /lib/libnsl.so.1 (0xb7e11000) libreadline.so.5 => /lib/libreadline.so.5 (0xb7de0000) libncursesw.so.5 => /lib/libncursesw.so.5 (0xb7d92000) libutil.so.1 => /lib/libutil.so.1 (0xb7d8e000) libc.so.6 => /lib/libc.so.6 (0xb7c57000) libdl.so.2 => /lib/libdl.so.2 (0xb7c53000) libncurses.so.5 => /usr/lib/libncurses.so.5 (0xb7c10000) /lib/ld-linux.so.2 (0xb7fbf000) Kevin http://www.RawFedDogs.net http://www.WacoAgilityGroup.org Bruceville, TX Si hoc legere scis nimium eruditionis habes. Longum iter est per praecepta, breve et efficax per exempla!!!
On Jan 28, 2008 12:03 PM, Kevin Monceaux <Kevin@rawfeddogs.net> wrote:
On Mon, 28 Jan 2008, Travis Willard wrote:
Build the package, then run namcap /path/to/pkgname-pkgver-pkgrel.pkg.tar.gz and it'll tell you. If you can't even build the package because of missing deps on your system, then check out the project's documentation - they're usually pretty good about telling you what you need.
I've built and installed the package and it works as expected. I've tried running namcap on both the PKGBUILD file and actual package file and it reports no missing dependencies. According to ldd the c3270 program depends on:
linux-gate.so.1 => (0xb7fbe000) libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0xb7f6e000) libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0xb7e28000) libnsl.so.1 => /lib/libnsl.so.1 (0xb7e11000) libreadline.so.5 => /lib/libreadline.so.5 (0xb7de0000) libncursesw.so.5 => /lib/libncursesw.so.5 (0xb7d92000) libutil.so.1 => /lib/libutil.so.1 (0xb7d8e000) libc.so.6 => /lib/libc.so.6 (0xb7c57000) libdl.so.2 => /lib/libdl.so.2 (0xb7c53000) libncurses.so.5 => /usr/lib/libncurses.so.5 (0xb7c10000) /lib/ld-linux.so.2 (0xb7fbf000)
That's odd - it looks like it ought to depend on ncurses (and openssl?) at the very least. You can run pacman -Qo on those files to see what packages they belong to, and stick 'em in the deps.
On Mon, 28 Jan 2008, Travis Willard wrote:
That's odd - it looks like it ought to depend on ncurses (and openssl?) at the very least. You can run pacman -Qo on those files to see what packages they belong to, and stick 'em in the deps.
Well, it gets even stranger. I tried adding dependencies for openssl, ncurses, and readline, which according to ldd are needed. When I then run namcap on the package file is says those dependencies are unneeded. Kevin http://www.RawFedDogs.net http://www.WacoAgilityGroup.org Bruceville, TX Si hoc legere scis nimium eruditionis habes. Longum iter est per praecepta, breve et efficax per exempla!!!
On Jan 28, 2008 1:26 PM, Kevin Monceaux <Kevin@rawfeddogs.net> wrote:
On Mon, 28 Jan 2008, Travis Willard wrote:
That's odd - it looks like it ought to depend on ncurses (and openssl?) at the very least. You can run pacman -Qo on those files to see what packages they belong to, and stick 'em in the deps.
Well, it gets even stranger. I tried adding dependencies for openssl, ncurses, and readline, which according to ldd are needed. When I then run namcap on the package file is says those dependencies are unneeded.
I think namcap ignores dependencies in the 'base' group, since everyone is expected to have base installed, maybe? I'm not 100% sure of its internals in this sense. I'd say leave them in - they're clearly needed.
On Mon, 28 Jan 2008, Travis Willard wrote:
I think namcap ignores dependencies in the 'base' group, since everyone is expected to have base installed, maybe? I'm not 100% sure of its internals in this sense.
That sounds like a reasonable possibility. To get an idea of whether it's more common to explicitly list base dependencies or leave them out I checked a couple of other packages that depend on ncurses. extra/editors/vim and aur/unsupported/alpine both depend on ncurses but don't have ncurses listed as a dependency. extra/network/irssi and extra/network/mutt, on the other hand, explicitly list ncurses as a dependency. So, it looks like there's a mixture in both official and aur based packages.
I'd say leave them in - they're clearly needed.
I looked through the Arch Packaging Standards page and didn't really get a clear impression on which is the preferred method, but I might have missed something. So, unless I hear otherwise, I'll explicitly list them. Kevin http://www.RawFedDogs.net http://www.WacoAgilityGroup.org Bruceville, TX Si hoc legere scis nimium eruditionis habes. Longum iter est per praecepta, breve et efficax per exempla!!!
On Mon, Jan 28, 2008 at 01:17:33PM -0600, Kevin Monceaux wrote:
On Mon, 28 Jan 2008, Travis Willard wrote:
I think namcap ignores dependencies in the 'base' group, since everyone is expected to have base installed, maybe? I'm not 100% sure of its internals in this sense.
That sounds like a reasonable possibility. To get an idea of whether it's more common to explicitly list base dependencies or leave them out I checked a couple of other packages that depend on ncurses. extra/editors/vim and aur/unsupported/alpine both depend on ncurses but don't have ncurses listed as a dependency. extra/network/irssi and extra/network/mutt, on the other hand, explicitly list ncurses as a dependency. So, it looks like there's a mixture in both official and aur based packages.
Being the guy who wrote namcap, I'm pretty sure it doesn't do this at all. Can I get a copy of the PKGBUILD to test with? It sounds like it should be detecting these... Jason
Jason, On Mon, 28 Jan 2008, Jason Chu wrote:
Being the guy who wrote namcap, I'm pretty sure it doesn't do this at all.
Can I get a copy of the PKGBUILD to test with? It sounds like it should be detecting these...
I sent you a private e-mail with the PKGBUILD attached. Kevin http://www.RawFedDogs.net http://www.WacoAgilityGroup.org Bruceville, TX Si hoc legere scis nimium eruditionis habes. Longum iter est per praecepta, breve et efficax per exempla!!!
On Tue, Jan 29, 2008 at 07:55:26AM -0600, Kevin Monceaux wrote:
Jason,
On Mon, 28 Jan 2008, Jason Chu wrote:
Being the guy who wrote namcap, I'm pretty sure it doesn't do this at all.
Can I get a copy of the PKGBUILD to test with? It sounds like it should be detecting these...
I sent you a private e-mail with the PKGBUILD attached.
Ok, after building the PKGBUILD and running namcap on it, I got these messages: [jchu@wingnut a]$ namcap c3270-3.3.7p1-1-i686.pkg.tar.gz c3270 W: Dependency included but already satisfied (ncurses) c3270 W: Dependency included but already satisfied (readline) The depends line looks like this: depends=('ncurses' 'openssl' 'readline') Notice how openssl isn't listed by namcap as already satisfied? If you follow the dependency tree, you'll find that ncurses and readline and covered by a dependency on openssl (openssl -> glibc -> bash -> readline -> ncurses). Namcap tries to give you the smallest subset of dependencies that your package needs. Now, there was a proposal to change the functionality. To list all of the packages that your package directly depends on. This will eventually happen, but that's not how it works right now. In conclusion, there is nothing in namcap about ignoring dependencies in the base group. Jason
On Jan 29, 2008 11:22 AM, Jason Chu <jason@archlinux.org> wrote:
On Tue, Jan 29, 2008 at 07:55:26AM -0600, Kevin Monceaux wrote:
Jason,
On Mon, 28 Jan 2008, Jason Chu wrote:
Being the guy who wrote namcap, I'm pretty sure it doesn't do this at all.
Can I get a copy of the PKGBUILD to test with? It sounds like it should be detecting these...
I sent you a private e-mail with the PKGBUILD attached.
Ok, after building the PKGBUILD and running namcap on it, I got these messages:
[jchu@wingnut a]$ namcap c3270-3.3.7p1-1-i686.pkg.tar.gz c3270 W: Dependency included but already satisfied (ncurses) c3270 W: Dependency included but already satisfied (readline)
The depends line looks like this:
depends=('ncurses' 'openssl' 'readline')
Notice how openssl isn't listed by namcap as already satisfied? If you follow the dependency tree, you'll find that ncurses and readline and covered by a dependency on openssl (openssl -> glibc -> bash -> readline -> ncurses).
Namcap tries to give you the smallest subset of dependencies that your package needs.
Now, there was a proposal to change the functionality. To list all of the packages that your package directly depends on. This will eventually happen, but that's not how it works right now.
In conclusion, there is nothing in namcap about ignoring dependencies in the base group.
Ah - yeah, that makes more sense - sorry for the confusion. I'm curious, though, why he reported it listing no deps missing at all when his depends=() array was empty.
Jason, On Tue, 29 Jan 2008, Jason Chu wrote:
Ok, after building the PKGBUILD and running namcap on it, I got these messages:
[jchu@wingnut a]$ namcap c3270-3.3.7p1-1-i686.pkg.tar.gz c3270 W: Dependency included but already satisfied (ncurses) c3270 W: Dependency included but already satisfied (readline)
On my box, when I run namcap on the package built from the PKGBUILD I sent you, I get: c3270 W: Dependency included and not needed (ncurses) c3270 W: Dependency included and not needed (openssl) c3270 W: Dependency included and not needed (readline) And, if I remove all the dependencies, it doesn't report any missing dependencies. It sounds like at the very least it should report openssl as a missing dependency if it's removed. Is there perhaps something I'm missing on my system? It's a fresh install, installed last Friday, from the current ISO and all recent updates have been applied via yaourt. Kevin http://www.RawFedDogs.net http://www.WacoAgilityGroup.org Bruceville, TX Si hoc legere scis nimium eruditionis habes. Longum iter est per praecepta, breve et efficax per exempla!!!
On Tue, Jan 29, 2008 at 10:47:11AM -0600, Kevin Monceaux wrote:
Jason,
On Tue, 29 Jan 2008, Jason Chu wrote:
Ok, after building the PKGBUILD and running namcap on it, I got these messages:
[jchu@wingnut a]$ namcap c3270-3.3.7p1-1-i686.pkg.tar.gz c3270 W: Dependency included but already satisfied (ncurses) c3270 W: Dependency included but already satisfied (readline)
On my box, when I run namcap on the package built from the PKGBUILD I sent you, I get:
c3270 W: Dependency included and not needed (ncurses) c3270 W: Dependency included and not needed (openssl) c3270 W: Dependency included and not needed (readline)
And, if I remove all the dependencies, it doesn't report any missing dependencies. It sounds like at the very least it should report openssl as a missing dependency if it's removed. Is there perhaps something I'm missing on my system? It's a fresh install, installed last Friday, from the current ISO and all recent updates have been applied via yaourt.
What does readelf -d /usr/bin/c3270 tell you? Namcap doesn't actually use ldd, it uses something faster and more accurate. Jason
Jason, On Tue, 29 Jan 2008, Jason Chu wrote:
What does readelf -d /usr/bin/c3270 tell you? Namcap doesn't actually use ldd, it uses something faster and more accurate.
I'm guessing it's the "Shared Library" section that important to namcap. readelf shows: 0x00000001 (NEEDED) Shared library: [libssl.so.0.9.8] 0x00000001 (NEEDED) Shared library: [libcrypto.so.0.9.8] 0x00000001 (NEEDED) Shared library: [libnsl.so.1] 0x00000001 (NEEDED) Shared library: [libreadline.so.5] 0x00000001 (NEEDED) Shared library: [libncursesw.so.5] 0x00000001 (NEEDED) Shared library: [libutil.so.1] 0x00000001 (NEEDED) Shared library: [libc.so.6] Kevin http://www.RawFedDogs.net http://www.WacoAgilityGroup.org Bruceville, TX Si hoc legere scis nimium eruditionis habes. Longum iter est per praecepta, breve et efficax per exempla!!!
On Tue, Jan 29, 2008 at 12:03:17PM -0600, Kevin Monceaux wrote:
Jason,
On Tue, 29 Jan 2008, Jason Chu wrote:
What does readelf -d /usr/bin/c3270 tell you? Namcap doesn't actually use ldd, it uses something faster and more accurate.
I'm guessing it's the "Shared Library" section that important to namcap. readelf shows:
0x00000001 (NEEDED) Shared library: [libssl.so.0.9.8] 0x00000001 (NEEDED) Shared library: [libcrypto.so.0.9.8] 0x00000001 (NEEDED) Shared library: [libnsl.so.1] 0x00000001 (NEEDED) Shared library: [libreadline.so.5] 0x00000001 (NEEDED) Shared library: [libncursesw.so.5] 0x00000001 (NEEDED) Shared library: [libutil.so.1] 0x00000001 (NEEDED) Shared library: [libc.so.6]
Ok, this is probably going to take a little bit of fiddling. Let's get off the mailing list. Can you open a ticket in the bug tracker where we can talk about this more? Jason
Jason, On Tue, 29 Jan 2008, Jason Chu wrote:
Ok, this is probably going to take a little bit of fiddling. Let's get off the mailing list. Can you open a ticket in the bug tracker where we can talk about this more?
Will do. Give me just a bit to register a bugtracker account. Kevin http://www.RawFedDogs.net http://www.WacoAgilityGroup.org Bruceville, TX Si hoc legere scis nimium eruditionis habes. Longum iter est per praecepta, breve et efficax per exempla!!!
Hi, You should also try to run namcap on the resulting package and not only on the PKGBUILD ;-) Regards, Colin Pitrat Kevin Monceaux <Kevin@RawFedDogs.net> To Arch General User Mailing List <Arch-General@ArchLinux.org> cc Subject [arch-general] New User(sort of) and a packaging question Kevin Monceaux <Kevin@RawFedDogs.net> Please respond to : General Discusson about Arch Linux <arch-general@archlinux.org> Sent by: arch-general-bounces@archlinux.org 28/01/2008 17:46 Fellow Arch Enthusiasts, I discovered Arch about a year ago, and loved it. I played around with it under VMware for a while, and even created a couple of packages for myself. At the time my hard drive really needed some reorganization/repartitioning before switching to another distribution. But, my DVD burner was acting flaky. Anyway, one year later with a second hard drive installed, and with a new DVD burner on order, I've made the switch to Arch, after trying a few other distros along the way. I can't find the packages I created back when I first started using Arch. At some point I ended up deleting the VMware image to free up some space and neglected to copy the packages. Anyway, I've created a package for c3270. I found an x3270 package but prefer the text console version. Is there a utility that can be used to help set the package's dependencies? I found a few mentions of namcap on the wiki. I tried it on the package I created, which I don't currently have any dependencies listed in, and the only problems it reports are missing maintainer and CVS id tags. It mentions nothing about the missing dependencies. By the way, What does the name namcap stand for? Kevin http://www.RawFedDogs.net http://www.WacoAgilityGroup.org Bruceville, TX Si hoc legere scis nimium eruditionis habes. Longum iter est per praecepta, breve et efficax per exempla!!!
participants (5)
-
Colin Pitrat
-
David Rosenstrauch
-
Jason Chu
-
Kevin Monceaux
-
Travis Willard