diff options
author | John Bowler <jbowler@nslu2-linux.org> | 2005-11-23 07:35:46 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2005-11-23 07:35:46 +0000 |
commit | c3036f11360cf4992c635dcdc43f1d703b004cac (patch) | |
tree | 45daf494a0c3ca5f093d260c04ad6f44b1e69b16 | |
parent | 990ee6d7b71d1f5922cd494ab9ba5be03eafc602 (diff) |
base.bbclass: attempt to fix the staging .la problem
- when using oe_libinstall to install a libtool library (.la file
- present) into the staging directory (${STAGING_LIBDIR}) fix up the
- installed .lai file so that it contains 'installed=no' - this
- prevents libtool from subsequently using a copy of the build system
- library if it exists in the final (target) installation directory
- on the build machine (typically /usr/lib). Remove the patches from
- pcre_4.4.bb to match (it now seems to work without them), add
- cherokee to the openslug (etc) build (it was failing because of this
- problem.)
-rw-r--r-- | classes/base.bbclass | 15 | ||||
-rw-r--r-- | conf/distro/openslug-packages.conf | 1 | ||||
-rw-r--r-- | conf/distro/ucslugc-packages.conf | 1 | ||||
-rw-r--r-- | packages/meta/slugos-packages.bb | 5 | ||||
-rw-r--r-- | packages/pcre/pcre_4.4.bb | 10 |
5 files changed, 21 insertions, 11 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass index 18d51a02ed..c5359b20f8 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -124,6 +124,7 @@ oe_libinstall() { silent="" require_static="" require_shared="" + staging_install="" while [ "$#" -gt 0 ]; do case "$1" in -C) @@ -155,6 +156,10 @@ oe_libinstall() { if [ -z "$destpath" ]; then oefatal "oe_libinstall: no destination path specified" fi + if echo "$destpath/" | egrep '^${STAGING_LIBDIR}/' >/dev/null + then + staging_install=1 + fi __runcmd () { if [ -z "$silent" ]; then @@ -188,7 +193,15 @@ oe_libinstall() { fi dotlai=$libname.lai if [ -f "$dotlai" -a -n "$libtool" ]; then - __runcmd install -m 0644 $dotlai $destpath/$libname.la + if test -n "$staging_install" + then + # stop libtool using the final directory name for libraries + # in staging: + __runcmd rm -f $destpath/$libname.la + __runcmd sed -e 's/^installed=yes$/installed=no/' $dotlai >$destpath/$libname.la + else + __runcmd install -m 0644 $dotlai $destpath/$libname.la + fi fi for name in $library_names; do diff --git a/conf/distro/openslug-packages.conf b/conf/distro/openslug-packages.conf index f12d444da4..37f06d8d5c 100644 --- a/conf/distro/openslug-packages.conf +++ b/conf/distro/openslug-packages.conf @@ -19,6 +19,7 @@ ${PKGDIR}/packages/busybox/*.bb \ ${PKGDIR}/packages/bwmon/*.bb \ ${PKGDIR}/packages/bzip2/*.bb \ ${PKGDIR}/packages/ccxstream/*.bb \ +${PKGDIR}/packages/cherokee/*.bb \ ${PKGDIR}/packages/coreutils/*.bb \ ${PKGDIR}/packages/cpio/*.bb \ ${PKGDIR}/packages/cron/*.bb \ diff --git a/conf/distro/ucslugc-packages.conf b/conf/distro/ucslugc-packages.conf index 17684a7897..14350eeb3c 100644 --- a/conf/distro/ucslugc-packages.conf +++ b/conf/distro/ucslugc-packages.conf @@ -20,6 +20,7 @@ ${PKGDIR}/packages/busybox/*.bb \ ${PKGDIR}/packages/bwmon/*.bb \ ${PKGDIR}/packages/bzip2/*.bb \ ${PKGDIR}/packages/ccxstream/*.bb \ +${PKGDIR}/packages/cherokee/*.bb \ ${PKGDIR}/packages/coreutils/*.bb \ ${PKGDIR}/packages/cpio/*.bb \ ${PKGDIR}/packages/cron/*.bb \ diff --git a/packages/meta/slugos-packages.bb b/packages/meta/slugos-packages.bb index 367dea2160..6e98dc4ffa 100644 --- a/packages/meta/slugos-packages.bb +++ b/packages/meta/slugos-packages.bb @@ -36,6 +36,7 @@ SLUGOS_PACKAGES = "\ bwmon \ bzip2 \ ccxstream \ + cherokee \ coreutils \ cron \ ctorrent \ @@ -178,7 +179,6 @@ UCLIBC_UNSUPPORTABLE_PACKAGES = "\ SLUGOS_PACKAGES_append_linux = "\ ${UCLIBC_UNSUPPORTABLE_PACKAGES} \ ctrlproxy \ - dsniff \ iperf \ man man-pages \ psmisc \ @@ -187,6 +187,9 @@ SLUGOS_PACKAGES_append_linux = "\ xinetd \ " +#BROKEN: +# dsniff + SLUGOS_PACKAGES_append_linux-uclibc = "\ " diff --git a/packages/pcre/pcre_4.4.bb b/packages/pcre/pcre_4.4.bb index 9f153847a4..612d76d835 100644 --- a/packages/pcre/pcre_4.4.bb +++ b/packages/pcre/pcre_4.4.bb @@ -5,7 +5,7 @@ provides a POSIX calling interface to PCRE; the regular expressions \ themselves still follow Perl syntax and semantics. The header file for \ the POSIX-style functions is called pcreposix.h." SECTION = "devel" -PR = "r1" +PR = "r2" LICENSE = "BSD" SRC_URI = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${PV}.tar.bz2" S = "${WORKDIR}/pcre-${PV}" @@ -27,18 +27,10 @@ do_compile () { } do_stage () { - # Force all -L(dir) output to be prepended with the staging libdir to stop libtool - # from trying to link to host libraries. - sed -i 's:-L\$:-L${STAGING_LIBDIR} -L\$:' ${S}/*libtool - oe_libinstall -a -so libpcre ${STAGING_LIBDIR} oe_libinstall -a -so libpcreposix ${STAGING_LIBDIR} install -m 0644 pcre.h ${STAGING_INCDIR}/ install -m 0644 pcreposix.h ${STAGING_INCDIR}/ - - # pcreposix linked originally to the libpcre in it's working directory. That messed - # the .la file up. I fix this manually here: - sed -i 's:${S}:${STAGING_LIBDIR}:' ${STAGING_LIBDIR}/libpcreposix.la } FILES_${PN} = "${libdir}/lib*.so*" |