summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Bowler <jbowler@nslu2-linux.org>2005-11-23 07:35:46 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-11-23 07:35:46 +0000
commitc3036f11360cf4992c635dcdc43f1d703b004cac (patch)
tree45daf494a0c3ca5f093d260c04ad6f44b1e69b16
parent990ee6d7b71d1f5922cd494ab9ba5be03eafc602 (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.bbclass15
-rw-r--r--conf/distro/openslug-packages.conf1
-rw-r--r--conf/distro/ucslugc-packages.conf1
-rw-r--r--packages/meta/slugos-packages.bb5
-rw-r--r--packages/pcre/pcre_4.4.bb10
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*"