This thread [ 1 ] might tell you why. In short, !staticlibs is now a default in makepkg.conf https://mailman.archlinux.org/pipermail/arch-dev-public/2013-October/025542.... On 20 January 2014 21:57, David C. Rankin <drankinatty@suddenlinkmail.com>wrote:
All,
This may be ridiculous, if so I apologize in advance, but something is stripping 'lib*.a' files from completed packages between the time of calling package() and the final package being compressed. Building tdelibs, the following files are produced and installed by package() in ${pkgdir}:
/opt/trinity/lib/libtdefakes_nonpic.a /opt/trinity/lib/libtdefakes_pic.a /opt/trinity/lib/libtdefakes.so.14.0.0 /opt/trinity/lib/libtdefakes.so.14 /opt/trinity/lib/libtdefakes.so /opt/trinity/lib/libtdefakes.la
The PKGBUILD options are:
options=('libtool' '!makeflags' '!strip')
The package() function is:
package() { msg "Packaging - $pkgname-$pkgver" cd ${srcdir}/build
make -j1 DESTDIR="$pkgdir" install }
The trinity-tdelibs.install is:
post_install() { ldconfig &> /dev/null }
post_upgrade() { post_install }
post_remove() { post_install }
I know libtdefakes_nonpic.a and libtdefakes_pic.a were installed by make -j1 DESTDIR="$pkgdir" install from the build log:
-- Installing: /build/tde-tdelibs/pkg/tde-tdelibs/opt/trinity/lib/libtdefakes_nonpic.a -- Installing: /build/tde-tdelibs/pkg/tde-tdelibs/opt/trinity/lib/libtdefakes_pic.a -- Installing: /build/tde-tdelibs/pkg/tde-tdelibs/opt/trinity/lib/libtdefakes.so.14.0.0 -- Installing: /build/tde-tdelibs/pkg/tde-tdelibs/opt/trinity/lib/libtdefakes.so.14 -- Installing: /build/tde-tdelibs/pkg/tde-tdelibs/opt/trinity/lib/libtdefakes.so -- Installing: /build/tde-tdelibs/pkg/tde-tdelibs/opt/trinity/lib/ libtdefakes.la
However, the '.a' files are not present in the final tdelibs package:
tar -tJf tde-tdelibs-14.0.0-1-x86_64.pkg.tar.xz | grep tdefakes tar: Ignoring unknown extended header keyword 'SCHILY.fflags' tar: Ignoring unknown extended header keyword 'SCHILY.fflags' tar: Ignoring unknown extended header keyword 'SCHILY.fflags' tar: Ignoring unknown extended header keyword 'SCHILY.fflags' tar: Ignoring unknown extended header keyword 'SCHILY.fflags' tar: Ignoring unknown extended header keyword 'SCHILY.fflags' tar: Ignoring unknown extended header keyword 'SCHILY.fflags' tar: Ignoring unknown extended header keyword 'SCHILY.fflags' opt/trinity/lib/libtdefakes.so opt/trinity/lib/libtdefakes.so.14.0.0 opt/trinity/lib/libtdefakes.so.14 opt/trinity/lib/libtdefakes.la
So both /opt/trinity/lib/libtdefakes_nonpic.a and /opt/trinity/lib/libtdefakes_pic.a were at some point stripped from the final package. How did they get removed from the package? What did it?
If I'm just being dense, sorry for the noise, but a polite pointing to a link or some explanation would greatly be appreciated.
I also know that this stripping of '.a' files did NOT occur a year or so ago, because tdelibs packages built with the same PKGBUILD contain the missing files:
tar -tJf tde-tdelibs-3.5.14_dev-1-x86_64.pkg.tar.xz | grep tdefakes tar: Ignoring unknown extended header keyword `SCHILY.fflags' tar: Ignoring unknown extended header keyword `SCHILY.fflags' tar: Ignoring unknown extended header keyword `SCHILY.fflags' tar: Ignoring unknown extended header keyword `SCHILY.fflags' tar: Ignoring unknown extended header keyword `SCHILY.fflags' tar: Ignoring unknown extended header keyword `SCHILY.fflags' tar: Ignoring unknown extended header keyword `SCHILY.fflags' opt/trinity/lib/libtdefakes.so opt/trinity/lib/libtdefakes_pic.a opt/trinity/lib/libtdefakes_nonpic.a opt/trinity/lib/libtdefakes.la opt/trinity/lib/libtdefakes.so.4 opt/trinity/lib/libtdefakes.so.4.2.0
What say the experts?
-- David C. Rankin, J.D.,P.E.