You are not logged in.
Here's the thing: I took the source files (PKGBUILD,gdb.install) of gdb-7.8-1 from https://www.archlinux.org/packages/extra/x86_64/gdb/ and compiled the package myself. In the resulting package file, I have two files that aren't in the official package:
/usr/lib/libbfd.a
/usr/lib/libopcodes.aObviously that means my package is invalid (those files are owned by binutils and that would be a file conflict). Now it's easy enough to just remove them during package(); In fact, a few files are removed in package() to avoid such file conficts w/ binutils, but those two aren't on the list. So I'm confused... (FYI the build was done in a clean chroot, not that it would matter.)
To be clear, my question is: how/why are those files not included in the official package? Since I'm using the exact same source files, I expect to get the same results.... so, what am I missing here?
Thanks.
Last edited by jjacky (2014-08-06 21:58:50)
Offline
Offline
Nope, it does have !staticlibs -- Forgot to mention that indeed, but I actually checked to make sure the option was also used in the chroot, and it is. I also tried building the package "directly" (i.e. not in a chroot, simply running makepkg) just to see, and I also get those 2 files in the resulting package file.
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !upx !debug)Offline
$ pkgfile /usr/lib/libbfd.a
core/binutils
$ pkgfile /usr/lib/libopcodes.a
core/binutilsOffline
Yes I know, that's not the issue. I know why they are not part of the official package, I'm asking why/how are they not included in the package file (by makepkg) on package creation. As I said, when I make the package myself (w/ source files from ABS) I have those files in the resulting package file, and obviously they're not in the official package file -- and I don't understand why.
Offline
I can't replicate that here - those files are not in the package I just built from the same PKGBUILD you linked to.
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Ok, I think I got it. When building my packages I'm using pacman-git, not pacman-4.1 and that seems to be the reason.
With pacman-4.1, the !staticlibs option has makepkg remove all *.a files; However with the future 4.2 that is not the case anymore, only so if there' a matching *.so Since this is not the case here, those files aren't removed by makepkg anymore; it all makes sense now.
Thanks everyone.
Offline