summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Spaeth <Sebastian@SSpaeth.de>2009-11-11 09:12:43 +0100
committerSebastian Spaeth <Sebastian@SSpaeth.de>2009-11-11 09:12:43 +0100
commite29d9570bbee5d8d721517a413b9dbf1f9b6892e (patch)
treee0040ffa4135e1b65bbdcd462b12d49ddab6a5c9
parent87df1cab8dd6ca28ec1fccf67e0f77f426e25e25 (diff)
parentcaec0ee3d05082277c1af4863b6d653109f5714e (diff)
Merge branch 'org.openembedded.dev' of ssh+git://git@git.openembedded.net/openembedded into org.openembedded.dev
-rw-r--r--classes/autotools.bbclass71
-rw-r--r--classes/base.bbclass165
-rw-r--r--classes/binconfig.bbclass42
-rw-r--r--classes/canadian-cross.bbclass43
-rw-r--r--classes/canadian-native.bbclass35
-rw-r--r--classes/canadian-sdk.bbclass4
-rw-r--r--classes/canadian.bbclass5
-rw-r--r--classes/cpan-base.bbclass2
-rw-r--r--classes/cross-canadian.bbclass46
-rw-r--r--classes/cross.bbclass25
-rw-r--r--classes/crosssdk.bbclass15
-rw-r--r--classes/debian.bbclass4
-rw-r--r--classes/distutils.bbclass8
-rw-r--r--classes/native.bbclass92
-rw-r--r--classes/nativesdk.bbclass78
-rw-r--r--classes/packaged-staging.bbclass39
-rw-r--r--classes/pkgconfig.bbclass8
-rw-r--r--classes/scons.bbclass2
-rw-r--r--classes/sdk.bbclass5
-rw-r--r--classes/xlibs.bbclass4
-rw-r--r--conf/bitbake.conf139
-rw-r--r--conf/checksums.ini24
-rw-r--r--conf/distro/include/sane-srcrevs.inc1
-rw-r--r--conf/distro/iphone-compat.conf2
-rw-r--r--conf/distro/micro.conf4
-rw-r--r--conf/distro/sharprom-compatible.conf2
-rw-r--r--conf/sanity.conf2
-rw-r--r--recipes/cups/cups.inc10
-rw-r--r--recipes/freesmartphone/cornucopia.inc4
-rw-r--r--recipes/freesmartphone/fsonetworkd_git.bb3
-rw-r--r--recipes/freesmartphone/libfsobasics_git.bb1
-rw-r--r--recipes/freesmartphone/libfsoframework_git.bb2
-rw-r--r--recipes/freesmartphone/libfsotransport_git.bb1
-rw-r--r--recipes/freesmartphone/misc-vapi_git.bb4
-rw-r--r--recipes/gcc/gcc-configure-common.inc4
-rw-r--r--recipes/gcc/gcc-configure-cross.inc4
-rw-r--r--recipes/gcc/gcc-cross-initial.inc2
-rw-r--r--recipes/gcc/gcc-cross-intermediate.inc6
-rw-r--r--recipes/gcc/gcc-cross-sdk_4.1.2.bb2
-rw-r--r--recipes/gcc/gcc-cross-sdk_4.2.2.bb2
-rw-r--r--recipes/gcc/gcc-cross-sdk_4.2.3.bb2
-rw-r--r--recipes/gcc/gcc-cross-sdk_4.2.4.bb2
-rw-r--r--recipes/gcc/gcc-cross-sdk_4.3.1.bb2
-rw-r--r--recipes/gcc/gcc-cross-sdk_4.3.2.bb2
-rw-r--r--recipes/gcc/gcc-cross-sdk_4.3.3.bb2
-rw-r--r--recipes/gcc/gcc-cross-sdk_4.3.4.bb2
-rw-r--r--recipes/gcc/gcc-cross-sdk_4.4.1.bb2
-rw-r--r--recipes/gcc/gcc-cross-sdk_4.4.2.bb2
-rw-r--r--recipes/gcc/gcc-cross-sdk_csl-arm-2007q3.bb2
-rw-r--r--recipes/gcc/gcc-cross-sdk_svn.bb2
-rw-r--r--recipes/gcc/gcc-cross.inc1
-rw-r--r--recipes/gcc/gcc-cross_4.1.0.bb2
-rw-r--r--recipes/gcc/gcc-cross_4.1.1.bb2
-rw-r--r--recipes/gcc/gcc-cross_4.1.2.bb4
-rw-r--r--recipes/gcc/gcc-cross_4.2.1.bb4
-rw-r--r--recipes/gcc/gcc-cross_4.2.2.bb4
-rw-r--r--recipes/gcc/gcc-cross_4.2.3.bb4
-rw-r--r--recipes/gcc/gcc-cross_4.2.4.bb4
-rw-r--r--recipes/gcc/gcc-cross_4.3.1.bb4
-rw-r--r--recipes/gcc/gcc-cross_4.3.2.bb4
-rw-r--r--recipes/gcc/gcc-cross_4.3.3.bb4
-rw-r--r--recipes/gcc/gcc-cross_4.3.4.bb4
-rw-r--r--recipes/gcc/gcc-cross_4.4.1.bb4
-rw-r--r--recipes/gcc/gcc-cross_4.4.2.bb4
-rw-r--r--recipes/gcc/gcc-cross_csl-arm-2007q3.bb8
-rw-r--r--recipes/gcc/gcc-cross_csl-arm-2008q1.bb8
-rw-r--r--recipes/gcc/gcc-cross_csl-arm-2008q3.bb8
-rw-r--r--recipes/gcc/gcc-cross_svn.bb4
-rw-r--r--recipes/gcc/gcc-native.inc2
-rw-r--r--recipes/gnome/gnome-icon-theme_2.28.0.bb4
-rw-r--r--recipes/libnl/libnl2_git.bb23
-rw-r--r--recipes/libtool/libtool-cross_1.5.10.bb16
-rw-r--r--recipes/libtool/libtool-cross_1.5.22.bb16
-rw-r--r--recipes/libtool/libtool-cross_1.5.24.bb16
-rw-r--r--recipes/libtool/libtool-cross_2.2.4.bb18
-rw-r--r--recipes/libtool/libtool-cross_2.2.6a.bb18
-rw-r--r--recipes/linux-libc-headers/linux-libc-headers_2.6.25.bb5
-rw-r--r--recipes/linux/linux-2.6.31/boc01/005-091110-isl12024.patch (renamed from recipes/linux/linux-2.6.31/boc01/005-091103-isl12024.patch)70
-rw-r--r--recipes/linux/linux_2.6.31.bb2
-rw-r--r--recipes/mtd/mtd-utils-native_1.0.0+git.bb3
-rw-r--r--recipes/mtd/mtd-utils-native_1.0.0.bb2
-rw-r--r--recipes/mtd/mtd-utils-tests_1.2.0+git.bb (renamed from recipes/mtd/mtd-utils-tests_1.0.0+git.bb)2
-rw-r--r--recipes/mtd/mtd-utils.inc83
-rw-r--r--recipes/mtd/mtd-utils_1.0.0+git.bb51
-rw-r--r--recipes/mtd/mtd-utils_1.0.0.bb19
-rw-r--r--recipes/mtd/mtd-utils_1.1.0.bb48
-rw-r--r--recipes/mtd/mtd-utils_1.2.0+git.bb89
-rw-r--r--recipes/mythtv/mythplugins_0.22.bb (renamed from recipes/mythtv/mythplugins_0.21+0.22rc2.bb)8
-rw-r--r--recipes/perl/libextutils-makemaker-perl-native_6.54.bb5
-rw-r--r--recipes/perl/libextutils-makemaker-perl_6.54.bb10
-rw-r--r--recipes/perl/libhtml-parser-perl-native_3.60.bb6
-rw-r--r--recipes/perl/libhtml-tagset-perl-native_3.20.bb5
-rw-r--r--recipes/perl/libhtml-treebuilder-perl-native_3.23.bb6
-rw-r--r--recipes/perl/libhtml-treebuilder-perl_3.23.bb13
-rw-r--r--recipes/perl/perl-native_5.8.8.bb6
-rw-r--r--recipes/perl/perl.inc4
-rw-r--r--recipes/perl/perl_5.8.8.bb4
-rw-r--r--recipes/python/python-native_2.6.1.bb3
-rw-r--r--recipes/vnc/x11vnc_0.9.8.bb10
99 files changed, 904 insertions, 672 deletions
diff --git a/classes/autotools.bbclass b/classes/autotools.bbclass
index 45b269f4fd..a944f0ec9f 100644
--- a/classes/autotools.bbclass
+++ b/classes/autotools.bbclass
@@ -25,7 +25,11 @@ def autotools_dep_prepend(d):
return deps + 'gnu-config-native '
EXTRA_OEMAKE = ""
+
DEPENDS_prepend = "${@autotools_dep_prepend(d)}"
+DEPENDS_virtclass-native_prepend = "${@autotools_dep_prepend(d)}"
+DEPENDS_virtclass-nativesdk_prepend = "${@autotools_dep_prepend(d)}"
+
acpaths = "default"
EXTRA_AUTORECONF = "--exclude=autopoint"
@@ -143,8 +147,10 @@ autotools_do_install() {
oe_runmake 'DESTDIR=${D}' install
}
-do_install_append() {
- for i in `find ${D} -name "*.la"` ; do \
+PACKAGE_PREPROCESS_FUNCS += "autotools_prepackage_lamangler"
+
+autotools_prepackage_lamangler () {
+ for i in `find ${PKGD} -name "*.la"` ; do \
sed -i -e '/^dependency_libs=/s,${WORKDIR}[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),${libdir}/\1,g' $i
sed -i -e s:${CROSS_DIR}/${HOST_SYS}::g $i
sed -i -e s:${CROSS_DIR}::g $i
@@ -171,14 +177,11 @@ autotools_stage_includes() {
}
autotools_stage_dir() {
- from="$1"
- to="$2"
- # This will remove empty directories so we can ignore them
- rmdir "$from" 2> /dev/null || true
- if [ -d "$from" ]; then
- mkdir -p "$to"
- cp -fpPR "$from"/* "$to"
- fi
+ sysroot_stage_dir $1 ${STAGE_TEMP_PREFIX}$2
+}
+
+autotools_stage_libdir() {
+ sysroot_stage_libdir $1 ${STAGE_TEMP_PREFIX}$2
}
autotools_stage_all() {
@@ -189,55 +192,9 @@ autotools_stage_all() {
rm -rf ${STAGE_TEMP}
mkdir -p ${STAGE_TEMP}
oe_runmake DESTDIR="${STAGE_TEMP}" install
- autotools_stage_dir ${STAGE_TEMP}/${includedir} ${STAGING_INCDIR}
- if [ "${BUILD_SYS}" = "${HOST_SYS}" ]; then
- autotools_stage_dir ${STAGE_TEMP}/${bindir} ${STAGING_DIR_HOST}${layout_bindir}
- autotools_stage_dir ${STAGE_TEMP}/${sbindir} ${STAGING_DIR_HOST}${layout_sbindir}
- autotools_stage_dir ${STAGE_TEMP}/${base_bindir} ${STAGING_DIR_HOST}${layout_base_bindir}
- autotools_stage_dir ${STAGE_TEMP}/${base_sbindir} ${STAGING_DIR_HOST}${layout_base_sbindir}
- autotools_stage_dir ${STAGE_TEMP}/${libexecdir} ${STAGING_DIR_HOST}${layout_libexecdir}
- if [ "${prefix}/lib" != "${libdir}" ]; then
- # python puts its files in here, make sure they are staged as well
- autotools_stage_dir ${STAGE_TEMP}/${prefix}/lib ${STAGING_DIR_HOST}${layout_prefix}/lib
- fi
- fi
- if [ -d ${STAGE_TEMP}/${libdir} ]
- then
- olddir=`pwd`
- cd ${STAGE_TEMP}/${libdir}
- las=$(find . -name \*.la -type f)
- cd $olddir
- echo "Found la files: $las"
- for i in $las
- do
- sed -e 's/^installed=yes$/installed=no/' \
- -e '/^dependency_libs=/s,${WORKDIR}[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*.la\),${STAGING_LIBDIR}/\1,g' \
- -e '/^dependency_libs=/s,${WORKDIR}[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),${STAGING_LIBDIR},g' \
- -e "/^dependency_libs=/s,\([[:space:]']\)${libdir},\1${STAGING_LIBDIR},g" \
- -i ${STAGE_TEMP}/${libdir}/$i
- done
- autotools_stage_dir ${STAGE_TEMP}/${libdir} ${STAGING_LIBDIR}
- fi
- # Ok, this is nasty. pkgconfig.bbclass is usually used to install .pc files,
- # however some packages rely on the presence of .pc files to enable/disable
- # their configurataions in which case we better should not install everything
- # unconditionally, but rather depend on the actual results of make install.
- # The good news though: a) there are not many packages doing this and
- # b) packaged staging will fix that anyways. :M:
- if [ "${AUTOTOOLS_STAGE_PKGCONFIG}" = "1" ]
- then
- if [ -e ${STAGE_TEMP}/${libdir}/pkgconfig/ ] ; then
- echo "cp -f ${STAGE_TEMP}/${libdir}/pkgconfig/*.pc ${STAGING_LIBDIR}/pkgconfig/"
- cp -f ${STAGE_TEMP}/${libdir}/pkgconfig/*.pc ${STAGING_LIBDIR}/pkgconfig/
- fi
- if [ -e ${STAGE_TEMP}/${datadir}/pkgconfig/ ] ; then
- echo "cp -f ${STAGE_TEMP}/${datadir}/pkgconfig/*.pc ${STAGING_DATADIR}/pkgconfig/"
- cp -f ${STAGE_TEMP}/${datadir}/pkgconfig/*.pc ${STAGING_DATADIR}/pkgconfig/
- fi
- fi
rm -rf ${STAGE_TEMP}/${mandir} || true
rm -rf ${STAGE_TEMP}/${infodir} || true
- autotools_stage_dir ${STAGE_TEMP}/${datadir} ${STAGING_DATADIR}
+ sysroot_stage_dirs ${STAGE_TEMP} ${STAGE_TEMP_PREFIX}
rm -rf ${STAGE_TEMP}
}
diff --git a/classes/base.bbclass b/classes/base.bbclass
index 9de2c67af1..aa1037e472 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -199,24 +199,16 @@ def base_both_contain(variable1, variable2, checkvalue, d):
return ""
DEPENDS_prepend="${@base_dep_prepend(d)} "
+DEPENDS_virtclass-native_prepend="${@base_dep_prepend(d)} "
+DEPENDS_virtclass-nativesdk_prepend="${@base_dep_prepend(d)} "
-# Returns PN with various suffixes removed
-# or PN if no matching suffix was found.
-def base_package_name(d):
- pn = bb.data.getVar('PN', d, 1)
- if pn.endswith("-native"):
- pn = pn[0:-7]
- elif pn.endswith("-cross"):
- pn = pn[0:-6]
- elif pn.endswith("-initial"):
- pn = pn[0:-8]
- elif pn.endswith("-intermediate"):
- pn = pn[0:-13]
- elif pn.endswith("-sdk"):
- pn = pn[0:-4]
-
-
- return pn
+def base_prune_suffix(var, suffixes, d):
+ # See if var ends with any of the suffixes listed and
+ # remove it if found
+ for suffix in suffixes:
+ if var.endswith(suffix):
+ return var.replace(suffix, "")
+ return var
def base_set_filespath(path, d):
bb.note("base_set_filespath usage is deprecated, %s should be fixed" % d.getVar("P", 1))
@@ -973,12 +965,86 @@ base_do_compile() {
fi
}
-base_do_stage () {
- :
+
+sysroot_stage_dir() {
+ src="$1"
+ dest="$2"
+ # This will remove empty directories so we can ignore them
+ rmdir "$src" 2> /dev/null || true
+ if [ -d "$src" ]; then
+ mkdir -p "$dest"
+ cp -fpPR "$src"/* "$dest"
+ fi
+}
+
+sysroot_stage_libdir() {
+ src="$1"
+ dest="$2"
+
+ olddir=`pwd`
+ cd $src
+ las=$(find . -name \*.la -type f)
+ cd $olddir
+ echo "Found la files: $las"
+ for i in $las
+ do
+ sed -e 's/^installed=yes$/installed=no/' \
+ -e '/^dependency_libs=/s,${WORKDIR}[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),${STAGING_LIBDIR}/\1,g' \
+ -e "/^dependency_libs=/s,\([[:space:]']\)${libdir},\1${STAGING_LIBDIR},g" \
+ -i $src/$i
+ done
+ sysroot_stage_dir $src $dest
+}
+
+sysroot_stage_dirs() {
+ from="$1"
+ to="$2"
+
+ sysroot_stage_dir $from${includedir} $to${STAGING_INCDIR}
+ if [ "${BUILD_SYS}" = "${HOST_SYS}" ]; then
+ sysroot_stage_dir $from${bindir} $to${STAGING_DIR_HOST}${bindir}
+ sysroot_stage_dir $from${sbindir} $to${STAGING_DIR_HOST}${sbindir}
+ sysroot_stage_dir $from${base_bindir} $to${STAGING_DIR_HOST}${base_bindir}
+ sysroot_stage_dir $from${base_sbindir} $to${STAGING_DIR_HOST}${base_sbindir}
+ sysroot_stage_dir $from${libexecdir} $to${STAGING_DIR_HOST}${libexecdir}
+ if [ "${prefix}/lib" != "${libdir}" ]; then
+ # python puts its files in here, make sure they are staged as well
+ autotools_stage_dir $from/${prefix}/lib $to${STAGING_DIR_HOST}${prefix}/lib
+ fi
+ fi
+ if [ -d $from${libdir} ]
+ then
+ sysroot_stage_libdir $from/${libdir} $to${STAGING_LIBDIR}
+ fi
+ if [ -d $from${base_libdir} ]
+ then
+ sysroot_stage_libdir $from${base_libdir} $to${STAGING_DIR_HOST}${base_libdir}
+ fi
+ sysroot_stage_dir $from${datadir} $to${STAGING_DATADIR}
+}
+
+sysroot_stage_all() {
+ sysroot_stage_dirs ${D} ${SYSROOT_DESTDIR}
}
-do_populate_staging[dirs] = "${STAGING_DIR_TARGET}/${layout_bindir} ${STAGING_DIR_TARGET}/${layout_libdir} \
- ${STAGING_DIR_TARGET}/${layout_includedir} \
+def is_legacy_staging(d):
+ import bb
+ stagefunc = bb.data.getVar('do_stage', d, True)
+ legacy = True
+ if stagefunc is None:
+ legacy = False
+ elif stagefunc.strip() == "autotools_stage_all":
+ legacy = False
+ elif stagefunc.strip() == "do_stage_native" and bb.data.getVar('AUTOTOOLS_NATIVE_STAGE_INSTALL', d, 1) == "1":
+ legacy = False
+ elif bb.data.getVar('NATIVE_INSTALL_WORKS', d, 1) == "1":
+ legacy = False
+ if bb.data.getVar('PSTAGE_BROKEN_DESTDIR', d, 1) == "1":
+ legacy = True
+ return legacy
+
+do_populate_staging[dirs] = "${STAGING_DIR_TARGET}/${bindir} ${STAGING_DIR_TARGET}/${libdir} \
+ ${STAGING_DIR_TARGET}/${includedir} \
${STAGING_BINDIR_NATIVE} ${STAGING_LIBDIR_NATIVE} \
${STAGING_INCDIR_NATIVE} \
${STAGING_DATADIR} \
@@ -987,8 +1053,59 @@ do_populate_staging[dirs] = "${STAGING_DIR_TARGET}/${layout_bindir} ${STAGING_DI
# Could be compile but populate_staging and do_install shouldn't run at the same time
addtask populate_staging after do_install
+SYSROOT_PREPROCESS_FUNCS ?= ""
+SYSROOT_DESTDIR = "${WORKDIR}/sysroot-destdir/"
+SYSROOT_LOCK = "${STAGING_DIR}/staging.lock"
+
+python populate_staging_prehook () {
+ return
+}
+
+python populate_staging_posthook () {
+ return
+}
+
+packagedstaging_fastpath () {
+ :
+}
+
python do_populate_staging () {
- bb.build.exec_func('do_stage', d)
+ #
+ # if do_stage exists, we're legacy. In that case run the do_stage,
+ # modify the SYSROOT_DESTDIR variable and then run the staging preprocess
+ # functions against staging directly.
+ #
+ # Otherwise setup a destdir, copy the results from do_install
+ # and run the staging preprocess against that
+ #
+ pstageactive = (bb.data.getVar("PSTAGING_ACTIVE", d, True) == "1")
+ lockfile = bb.data.getVar("SYSROOT_LOCK", d, True)
+ stagefunc = bb.data.getVar('do_stage', d, True)
+ legacy = is_legacy_staging(d)
+ if legacy: