[arch-general] Does something in makepkg now remove '*.a' files automatically during package?
David C. Rankin
drankinatty at suddenlinkmail.com
Mon Jan 20 15:57:00 EST 2014
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.
More information about the arch-general
mailing list