From 31abc4f83484990470e1fedfecd9d3a2ea9cf3dc Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 10 Mar 2009 11:00:09 -0700 Subject: autotools.bbclass: Add new pattern to match -L in dependency_libs * Current pattern match does one think wrong consider something like this dependency_libs=' -L/home/kraj/work/oe/build/eglibc/omap5912osk/work/x86_64-linux/ncurses-native-5.4-r17/ncurses-5.4/lib' this pattern when matched gets converted to dependency_libs=' -L/home/kraj/work/oe/build/eglibc/omap5912osk/staging/x86_64-linux/usr/lib/lib' which is wrong. If we had a '/' appended to original path then it would work. This patch lets it straight. --- classes/autotools.bbclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/autotools.bbclass b/classes/autotools.bbclass index fd8687ebb6..20f371a987 100644 --- a/classes/autotools.bbclass +++ b/classes/autotools.bbclass @@ -212,7 +212,8 @@ autotools_stage_all() { 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,${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 -- cgit v1.2.3 From 551eb3b528ec9ef726f84b91fe822b7c0bc7fb32 Mon Sep 17 00:00:00 2001 From: Michael 'Mickey' Lauer Date: Mon, 16 Mar 2009 21:41:12 +0100 Subject: fso-plugin.bbclass: new class for fso plugin packaging vala.bbclass: new class for vala-based packages --- classes/fso-plugin.bbclass | 4 ++++ classes/vala.bbclass | 3 +++ 2 files changed, 7 insertions(+) create mode 100644 classes/fso-plugin.bbclass create mode 100644 classes/vala.bbclass (limited to 'classes') diff --git a/classes/fso-plugin.bbclass b/classes/fso-plugin.bbclass new file mode 100644 index 0000000000..d050540ef6 --- /dev/null +++ b/classes/fso-plugin.bbclass @@ -0,0 +1,4 @@ +FILES_${PN} += "${libdir}/cornucopia/modules/*/*.so" +FILES_${PN}-dev += "${libdir}/cornucopia/modules/*/*.la" +FILES_${PN}-dbg += "${libdir}/cornucopia/modules/*/.debug" + diff --git a/classes/vala.bbclass b/classes/vala.bbclass new file mode 100644 index 0000000000..bcd906aeb9 --- /dev/null +++ b/classes/vala.bbclass @@ -0,0 +1,3 @@ +DEPENDS += "vala-native" + +FILES_${PN}-dev += "${datadir}/vala/vapi/*.vapi" -- cgit v1.2.3 From 15ab93ce03c583922eb91aafbac2d077f7bf458f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jeremy=20Lain=C3=A9?= Date: Tue, 17 Mar 2009 14:57:25 +0100 Subject: qtopia-core: drop obsolete package * remove qtopia-core package, superseeded by qt-embedded * remove qtopia4core class, superseed by qt4e Acked-By: Mickey Lauer --- classes/qtopia4core.bbclass | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 classes/qtopia4core.bbclass (limited to 'classes') diff --git a/classes/qtopia4core.bbclass b/classes/qtopia4core.bbclass deleted file mode 100644 index b5f10fa486..0000000000 --- a/classes/qtopia4core.bbclass +++ /dev/null @@ -1,13 +0,0 @@ -DEPENDS_prepend = "${@["qtopia-core ", ""][(bb.data.getVar('PN', d, 1) == 'qtopia-core')]}" -inherit qmake2 - -QT_DIR_NAME = "qtopia" -# -# override variables set by qmake-base to compile QtopiaCore apps -# -export OE_QMAKE_INCDIR_QT = "${STAGING_INCDIR}/qtopia" -export OE_QMAKE_LIBDIR_QT = "${STAGING_LIBDIR}" -export OE_QMAKE_LIBS_QT = "qt" -export OE_QMAKE_LIBS_X11 = "" -export OE_QMAKE_EXTRA_MODULES = "network" -EXTRA_QMAKEVARS_PRE += " QT_LIBINFIX=E " -- cgit v1.2.3 From 01a393838b0e87cde07a81068965064e858c9155 Mon Sep 17 00:00:00 2001 From: Denys Dmytriyenko Date: Mon, 16 Mar 2009 18:36:22 -0400 Subject: base.bbclass: fix base_get_scmbasepath() to look for recipes/ and fall back to packages/ while parsing BBFILES Signed-off-by: Denys Dmytriyenko Acked-by: Mike Westerhof Acked-by: Philip Balister Acked-by: Khem Raj Acked-by: Marcin Juszkiewicz Acked-by: Koen Kooi Acked-by: Frans Meulenbroeks --- classes/base.bbclass | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/base.bbclass b/classes/base.bbclass index 18afc1a2fe..0848870803 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -773,7 +773,13 @@ python base_do_unpack() { def base_get_scmbasepath(d): import bb path_to_bbfiles = bb.data.getVar( 'BBFILES', d, 1 ).split() - return path_to_bbfiles[0][:path_to_bbfiles[0].rindex( "packages" )] + + try: + index = path_to_bbfiles[0].rindex( "recipes" ) + except ValueError: + index = path_to_bbfiles[0].rindex( "packages" ) + + return path_to_bbfiles[0][:index] def base_get_metadata_monotone_branch(d): monotone_branch = "" -- cgit v1.2.3 From 5089082042e867cb6e660687bf55d7cef176b793 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 18 Aug 2008 08:01:41 +0000 Subject: Drop pointless rpm_core class. (from Poky) --- classes/rpm_core.bbclass | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 classes/rpm_core.bbclass (limited to 'classes') diff --git a/classes/rpm_core.bbclass b/classes/rpm_core.bbclass deleted file mode 100644 index f28abbb1c3..0000000000 --- a/classes/rpm_core.bbclass +++ /dev/null @@ -1,16 +0,0 @@ -RPMBUILDPATH="${WORKDIR}/rpm" - -RPMOPTS="--rcfile=${WORKDIR}/rpmrc" -RPMOPTS="--rcfile=${WORKDIR}/rpmrc --target ${TARGET_SYS}" -RPM="rpm ${RPMOPTS}" -RPMBUILD="rpmbuild --buildroot ${D} --short-circuit ${RPMOPTS}" - -rpm_core_do_preprpm() { - mkdir -p ${RPMBUILDPATH}/{SPECS,RPMS/{i386,i586,i686,noarch,ppc,mips,mipsel,arm},SRPMS,SOURCES,BUILD} - echo 'macrofiles:/usr/lib/rpm/macros:${WORKDIR}/macros' > ${WORKDIR}/rpmrc - echo '%_topdir ${RPMBUILDPATH}' > ${WORKDIR}/macros - echo '%_repackage_dir ${WORKDIR}' >> ${WORKDIR}/macros -} - -EXPORT_FUNCTIONS do_preprpm -addtask preprpm before do_fetch -- cgit v1.2.3 From 3166def12852386f1b4fec51140b574909d04dab Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 25 Aug 2008 20:53:13 +0000 Subject: rootfs_rpm.bbclass: added from Poky Squashed changes from Poky: svn r5101 - Add rootfs_rpm.bbclass, a start at image generation from rpms. Its not expected to be entirely functional yet. svn r5112 - rootfs_rpm.bbclass: Remove the feed directory before packaging the image svn r5134 - rootfs_rpm.bbclass: Add basic postinstall handling during image creation svn r5143 - rootfs_rpm.bbclass: Fixup broken symlinks due to fakechroot and run any leftover postinstalls on real hardware at first boot svn r5158 - rootfs_rpm.bbclass: Add recommends handling svn r5380 - rootfs_rpm.bbclass: ship rpm and yum in target images svn r5382 - rootfs_rpm.bbclass: Add rpm package coverage svn r5386 - rootfs_rpm.bbclass: use more efficient way to copy packages svn r5391 - rootfs_rpm: set target architecture and do not tell yum which arch we will use svn r5398 - rootfs_rpm.bbclass: Set YUM_ARCH_FORCE svn r5412 - rootfs_rpm.bbclass: remove lock files to get rpm working on device svn r5432 - rootfs_rpm.bbclass: fix platform so rpm will be usable on device svn r5433 - rootfs_rpm.bbclass: remove temporary yum config - rootfs has one from yum package svn r5434 - rootfs_rpm.bbclass: added generation of feed entries svn r5436 - rootfs_rpm.bbclass: added code to generate images from feeds OE changes: rootfs_rpm.bbclass: remove two functions (need rewrite for RPM) install_all_locales and remove_packaging_data_files functions were from rootfs_ipk.bbclass and need to be rewritten for RPM rootfs. rootfs_rpm.bbclass: use DISTRO instead of hardcoded Poky - spotted by Tom Rini rootfs_rpm.bbclass: drop not needed disabled code --- classes/rootfs_rpm.bbclass | 210 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 210 insertions(+) create mode 100644 classes/rootfs_rpm.bbclass (limited to 'classes') diff --git a/classes/rootfs_rpm.bbclass b/classes/rootfs_rpm.bbclass new file mode 100644 index 0000000000..e3e306450e --- /dev/null +++ b/classes/rootfs_rpm.bbclass @@ -0,0 +1,210 @@ +# +# Creates a root filesystem out of rpm packages +# + +ROOTFS_PKGMANAGE = "rpm yum" + +ROOTFS_PKGMANAGE_BOOTSTRAP = "run-postinsts" + +do_rootfs[depends] += "rpm-native:do_populate_staging yum-native:do_populate_staging createrepo-native:do_populate_staging fakechroot-native:do_populate_staging" +do_rootfs[recrdeptask] += "do_package_write_rpm" + +YUMCONF = "${IMAGE_ROOTFS}/etc/yum.conf" +YUMARGS = "-c ${YUMCONF} --installroot ${IMAGE_ROOTFS}" +export YUM_ARCH_FORCE = "${TARGET_ARCH}" + +AWKPOSTINSTSCRIPT = "${STAGING_BINDIR_NATIVE}/extract-postinst.awk" + +RPM_PREPROCESS_COMMANDS = "" +RPM_POSTPROCESS_COMMANDS = "rpm_insert_feeds_uris" + +rpm_insert_feeds_uris () { + + echo "Building from feeds activated!" + + mkdir -p ${IMAGE_ROOTFS}/etc/yum/repos.d/ + for line in ${RPM_FEED_URIS} + do + # strip leading and trailing spaces/tabs, then split into name and uri + line_clean="`echo "$line"|sed 's/^[ \t]*//;s/[ \t]*$//'`" + feed_name="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\1/p'`" + feed_uri="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\2/p'`" + + echo "Added $feed_name feed with URL $feed_uri" + + FEED_FILE=${IMAGE_ROOTFS}/etc/yum/repos.d/$feed_name + + echo "[${DISTRO}-feed-$feed_name]" >> $FEED_FILE + echo "name = $feed_name" >> $FEED_FILE + echo "baseurl = $feed_uri" >> $FEED_FILE + echo "gpgcheck = 0" >> $FEED_FILE + done +} + +fakeroot rootfs_rpm_do_rootfs () { + set -x + + ${RPM_PREPROCESS_COMMANDS} + + mkdir -p ${IMAGE_ROOTFS}/etc/rpm/ + echo "${TARGET_ARCH}-linux" >${IMAGE_ROOTFS}/etc/rpm/platform + + # Generate an apprpriate yum.conf + rm -rf ${YUMCONF} + cat > ${YUMCONF} << EOF +[main] +cachedir=/var/cache2/yum +keepcache=1 +debuglevel=10 +logfile=/var/log2/yum.log +exactarch=0 +obsoletes=1 +tolerant=1 + +EOF + + #priority=1 + mkdir -p ${IMAGE_ROOTFS}${DEPLOY_DIR_RPM} + + for arch in ${PACKAGE_ARCHS}; do + if [ ! -d ${DEPLOY_DIR_RPM}/$arch ]; then + continue; + fi + createrepo ${DEPLOY_DIR_RPM}/$arch + + echo "[${DISTRO}-feed-$arch]" >> ${YUMCONF} + echo "name = ${DISTRO} RPM $arch Feed" >> ${YUMCONF} + echo "baseurl=file://${DEPLOY_DIR_RPM}/$arch" >> ${YUMCONF} + echo "gpgcheck=0" >> ${YUMCONF} + echo "" >> ${YUMCONF} + #priority=$(expr $priority + 5) + + # Copy the packages into the target image + # Ugly ugly ugly but rpm is braindead and can't see outside the chroot + # when installing :( + cp -r ${DEPLOY_DIR_RPM}/$arch ${IMAGE_ROOTFS}${DEPLOY_DIR_RPM}/ + done + + # Uclibc builds don't provide this stuff... + if [ x${TARGET_OS} = "xlinux" ] || [ x${TARGET_OS} = "xlinux-gnueabi" ] ; then + if [ ! -z "${LINGUAS_INSTALL}" ]; then + for i in ${LINGUAS_INSTALL}; do + fakechroot yum ${YUMARGS} -y install $i + done + fi + fi + if [ ! -z "${PACKAGE_INSTALL}" ]; then + fakechroot yum ${YUMARGS} -y install ${PACKAGE_INSTALL} + fi + + # Add any recommended packages to the image + # (added as an extra script since yum itself doesn't support this) + yum-install-recommends.py ${IMAGE_ROOTFS} "fakechroot yum ${YUMARGS} -y install" + + # Symlinks created under fakeroot are wrong, now we have to fix them... + cd ${IMAGE_ROOTFS} + for f in `find . -type l -print` + do + link=`readlink $f | sed -e 's#${IMAGE_ROOTFS}##'` + rm $f + ln -s $link $f + done + + export D=${IMAGE_ROOTFS} + export OFFLINE_ROOT=${IMAGE_ROOTFS} + export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS} + export OPKG_OFFLINE_ROOT=${IMAGE_ROOTFS} + + ${ROOTFS_POSTINSTALL_COMMAND} + + mkdir -p ${IMAGE_ROOTFS}/etc/rpm-postinsts/ + rpm --root ${IMAGE_ROOTFS} -aq --queryformat 'Name: %{NAME}\n' --scripts > ${IMAGE_ROOTFS}/etc/rpm-postinsts/combined + awk -f ${AWKPOSTINSTSCRIPT} < ${IMAGE_ROOTFS}/etc/rpm-postinsts/combined + rm ${IMAGE_ROOTFS}/etc/rpm-postinsts/combined + + for i in ${IMAGE_ROOTFS}/etc/rpm-postinsts/*.sh; do + if [ -f $i ] && sh $i; then + # rm $i + mv $i $i.done + fi + done + + install -d ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d + # Stop $i getting expanded below... + i=\$i + cat > ${IMAGE_ROOTFS}${sysconfdir}/rcS.d/S98configure << EOF +#!/bin/sh +for i in /etc/rpm-postinsts/*.sh; do + echo "Running postinst $i..." + if [ -f $i ] && sh $i; then + # rm $i + mv $i $i.done + else + echo "ERROR: postinst $i failed." + fi +done +rm -f ${sysconfdir}/rcS.d/S98configure +EOF + chmod 0755 ${IMAGE_ROOTFS}${sysconfdir}/rcS.d/S98configure + + install -d ${IMAGE_ROOTFS}/${sysconfdir} + echo ${BUILDNAME} > ${IMAGE_ROOTFS}/${sysconfdir}/version + + ${RPM_POSTPROCESS_COMMANDS} + ${ROOTFS_POSTPROCESS_COMMAND} + + rm -rf ${IMAGE_ROOTFS}/var/cache2/ + rm -rf ${IMAGE_ROOTFS}/var/run2/ + rm -rf ${IMAGE_ROOTFS}/var/log2/ + rm -rf ${IMAGE_ROOTFS}${DEPLOY_DIR_RPM}/ + + # remove lock files + rm -f ${IMAGE_ROOTFS}/var/lib/rpm/__db.* + + # remove no longer used yum.conf + rm -f ${IMAGE_ROOTFS}/etc/yum.conf + + log_check rootfs +} + +rootfs_rpm_log_check() { + target="$1" + lf_path="$2" + + lf_txt="`cat $lf_path`" + for keyword_die in "Cannot find package" "exit 1" ERR Fail + do + if (echo "$lf_txt" | grep -v log_check | grep "$keyword_die") >/dev/null 2>&1 + then + echo "log_check: There were error messages in the logfile" + echo -e "log_check: Matched keyword: [$keyword_die]\n" + echo "$lf_txt" | grep -v log_check | grep -C 5 -i "$keyword_die" + echo "" + do_exit=1 + fi + done + test "$do_exit" = 1 && exit + true +} + +remove_packaging_data_files() { +# empty for now + : +} + +install_all_locales() { +# empty for now + : +} + +python () { + import bb + if bb.data.getVar('BUILD_IMAGES_FROM_FEEDS', d, True): + flags = bb.data.getVarFlag('do_rootfs', 'recrdeptask', d) + flags = flags.replace("do_package_write_rpm", "") + flags = flags.replace("do_deploy", "") + flags = flags.replace("do_populate_staging", "") + bb.data.setVarFlag('do_rootfs', 'recrdeptask', flags, d) + bb.data.setVar('RPM_PREPROCESS_COMMANDS', "rpm_insert_feed_uris", d) + bb.data.setVar('RPM_POSTPROCESS_COMMANDS', '', d) +} -- cgit v1.2.3 From 69ac369a10e51f6f2d59e4e1da86d99f64285f71 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 18 Aug 2008 08:01:41 +0000 Subject: package_rpm.bbclass: added from Poky Squashed changes from Poky: svn r5067 - package_rpm.bbclass: Update against recent packaging changes and start to implement dependency handling. svn r5100 - package_rpm.bbclass: Fix empty package handling, handle package dependency renaming by adding a missing function call and expand RPMBUILD before changing the dictonary so local PV/PR changes don't break the WORKDIR variable expansion svn r5111 - package_rpm.bbclass: Stop autogenerated dependencies for now, its not functioning correctly svn r5116 - package_rpm.bbclass: files needs to start from / svn r5129 - package_rpm.bbclass: Fix problems with package version with '-' in the version (replace with '+'), improve the Requires and Recommends generation code svn r5131 - package_rpm.bbclass: Add support for postinst and preinst scripts svn r5381 - classes: Split rpm feeds by PACKAGE_ARCH svn r5390 - package_rpm.bbclass: Improve handling of '-' characters in Requires and Recommends fields svn r5393 - package_rpm.bbclass: Fix package version fixing for PKG renamed packages svn r5397 - package_rpm.bbclass: Fix dependency rebuilding bug svn r5413 - package_rpm.bbclass: save value of RPMBUILDPATH as it is needed for packaging package_rpm.bbclass: Don't use the system wide RPM macros. This fixes the build on Fedora 10 where the RPM system macros obliterate the value of BuildRoot that is set in the spec file. package_rpm.bbclass: fix indentation package_rpm.bbclass: fix syntax errors package_rpm.bbclass: save RPROVIDES in packages --- classes/package_rpm.bbclass | 140 ++++++++++++++++++++++++++++++++++---------- 1 file changed, 109 insertions(+), 31 deletions(-) (limited to 'classes') diff --git a/classes/package_rpm.bbclass b/classes/package_rpm.bbclass index f0055a1e63..7f55e384fe 100644 --- a/classes/package_rpm.bbclass +++ b/classes/package_rpm.bbclass @@ -1,19 +1,31 @@ inherit package -inherit rpm_core RPMBUILD="rpmbuild --short-circuit ${RPMOPTS}" IMAGE_PKGTYPE ?= "rpm" +RPMBUILDPATH="${WORKDIR}/rpm" + +RPMOPTS="--rcfile=${WORKDIR}/rpmrc" +RPMOPTS="--rcfile=${WORKDIR}/rpmrc --target ${TARGET_SYS}" +RPM="rpm ${RPMOPTS}" + python write_specfile() { from bb import data, build import sys + + version = bb.data.getVar('PV', d, 1) + version = version.replace('-', '+') + bb.data.setVar('RPMPV', version, d) + out_vartranslate = { "PKG": "Name", - "PV": "Version", + "RPMPV": "Version", "DESCRIPTION": "%description", "ROOT": "BuildRoot", "LICENSE": "License", "SECTION": "Group", + "pkg_postinst": "%post", + "pkg_preinst": "%pre", } root = bb.data.getVar('ROOT', d) @@ -38,9 +50,9 @@ python write_specfile() { del files[files.index(r)] except ValueError: pass - if not files: + if not files and bb.data.getVar('ALLOW_EMPTY', d) != "1": from bb import note - note("Not creating empty archive for %s" % (bb.data.expand('${PKG}-${PV}-${PR}${DISTRO_PR}', d, True)) + note("Not creating empty archive for %s" % (bb.data.expand('${PKG}-${PV}-${PR}${DISTRO_PR}', d, True))) return # output .spec using this metadata store @@ -56,15 +68,56 @@ python write_specfile() { for var in out_vartranslate.keys(): if out_vartranslate[var][0] == "%": continue - fd.write("%s\t: %s\n" % (out_vartranslate[var], bb.data.getVar(var, d))) - fd.write("Release\t: %s\n" % bb.data.expand('${PR}${DISTRO_PR}', d, True) + val = bb.data.getVar(var, d, 1) + if val: + fd.write("%s\t: %s\n" % (out_vartranslate[var], val)) + + fd.write("AutoReqProv: no\n") + + def fix_dep_versions(varname): + depends = bb.utils.explode_dep_versions(bb.data.getVar(varname, d, True) or "") + newdeps = [] + for dep in depends: + ver = depends[dep] + if dep and ver: + if '-' in ver: + subd = read_subpkgdata_dict(dep, d) + pv = subd['PV'] + reppv = pv.replace('-', '+') + ver = ver.replace(pv, reppv) + newdeps.append("%s (%s)" % (dep, ver)) + elif dep: + newdeps.append(dep) + bb.data.setVar(varname, " ".join(newdeps), d) + + fix_dep_versions('RDEPENDS') + fix_dep_versions('RRECOMMENDS') + + bb.build.exec_func("mapping_rename_hook", d) + + def write_dep_field(varname, outstring): + depends = bb.utils.explode_dep_versions(bb.data.getVar(varname, d, True) or "") + for dep in depends: + ver = depends[dep] + if dep and ver: + fd.write("%s: %s %s\n" % (outstring, dep, ver)) + elif dep: + fd.write("%s: %s\n" % (outstring, dep)) + + write_dep_field('RDEPENDS', 'Requires') + write_dep_field('RRECOMMENDS', 'Recommends') + write_dep_field('RPROVIDES', 'Provides') + + fd.write("Release\t: %s\n" % bb.data.expand('${PR}${DISTRO_PR}', d, True)) fd.write("Summary\t: .\n") for var in out_vartranslate.keys(): if out_vartranslate[var][0] != "%": continue - fd.write(out_vartranslate[var] + "\n") - fd.write(bb.data.getVar(var, d) + "\n\n") + val = bb.data.getVar(var, d) + if val: + fd.write(out_vartranslate[var] + "\n") + fd.write(val + "\n\n") fd.write("%files\n") for file in files: @@ -74,61 +127,85 @@ python write_specfile() { # call out rpm -bb on the .spec, thereby creating an rpm + bb.note(bb.data.expand("${RPMBUILD} -bb ${OUTSPECFILE}", d)) + bb.data.setVar('BUILDSPEC', "${RPMBUILD} -bb ${OUTSPECFILE}\n", d) bb.data.setVarFlag('BUILDSPEC', 'func', '1', d) bb.build.exec_func('BUILDSPEC', d) # move the rpm into the pkgoutdir - rpm = bb.data.expand('${RPMBUILDPATH}/RPMS/${TARGET_ARCH}/${PKG}-${PV}-${PR}${DISTRO_PR}.${TARGET_ARCH}.rpm', d) - outrpm = bb.data.expand('${DEPLOY_DIR_RPM}/${PKG}-${PV}-${PR}${DISTRO_PR}.${TARGET_ARCH}.rpm', d) + rpm = bb.data.expand('${RPMBUILDPATH}/RPMS/${TARGET_ARCH}/${PKG}-${RPMPV}-${PR}.${TARGET_ARCH}.rpm', d) + outrpm = bb.data.expand('${DEPLOY_DIR_RPM}/${PACKAGE_ARCH}/${PKG}-${RPMPV}-${PR}.${TARGET_ARCH}.rpm', d) bb.movefile(rpm, outrpm) } +rpm_prep() { + if [ ! -e ${WORKDIR}/rpmrc ]; then + mkdir -p ${RPMBUILDPATH}/{SPECS,RPMS/{i386,i586,i686,noarch,ppc,mips,mipsel,arm},SRPMS,SOURCES,BUILD} + echo 'macrofiles:${STAGING_DIR_NATIVE}/usr/lib/rpm/macros:${WORKDIR}/macros' > ${WORKDIR}/rpmrc + echo '%_topdir ${RPMBUILDPATH}' > ${WORKDIR}/macros + echo '%_repackage_dir ${WORKDIR}' >> ${WORKDIR}/macros + fi +} + python do_package_rpm () { - workdir = bb.data.getVar('WORKDIR', d) + workdir = bb.data.getVar('WORKDIR', d, 1) if not workdir: - raise bb.build.FuncFailed("WORKDIR not defined") - workdir = bb.data.expand(workdir, d) + bb.error("WORKDIR not defined, unable to package") + return import os # path manipulations - outdir = bb.data.getVar('DEPLOY_DIR_RPM', d) + outdir = bb.data.getVar('DEPLOY_DIR_RPM', d, 1) if not outdir: - raise bb.build.FuncFailed("DEPLOY_DIR_RPM not defined") - outdir = bb.data.expand(outdir, d) + bb.error("DEPLOY_DIR_RPM not defined, unable to package") + return bb.mkdirhier(outdir) - packages = bb.data.getVar('PACKAGES', d) + packages = bb.data.getVar('PACKAGES', d, 1) if not packages: - packages = "${PN}" - bb.data.setVar('FILES', '', d) - ddir = bb.data.expand(bb.data.getVar('D', d), d) - bb.mkdirhier(ddir) - bb.data.setVar(bb.data.expand('FILES_${PN}', d), ''.join([ "./%s" % x for x in os.listdir(ddir)]), d) - packages = bb.data.expand(packages, d) + bb.debug(1, "PACKAGES not defined, nothing to package") + return + + if packages == []: + bb.debug(1, "No packages; nothing to do") + return + + # If "rpm" comes into overrides the presence of this function causes problems. + # Since we don't need it, remove it for now - hacky. + bb.data.delVar("do_package_write_rpm", d) for pkg in packages.split(): localdata = bb.data.createCopy(d) - root = "%s/install/%s" % (workdir, pkg) + pkgdest = bb.data.getVar('PKGDEST', d, 1) + root = "%s/%s" % (pkgdest, pkg) + + lf = bb.utils.lockfile(root + ".lock") bb.data.setVar('ROOT', '', localdata) bb.data.setVar('ROOT_%s' % pkg, root, localdata) - bb.data.setVar('PKG', pkg, localdata) + pkgname = bb.data.getVar('PKG_%s' % pkg, localdata, 1) + if not pkgname: + pkgname = pkg + bb.data.setVar('PKG', pkgname, localdata) overrides = bb.data.getVar('OVERRIDES', localdata) if not overrides: raise bb.build.FuncFailed('OVERRIDES not defined') overrides = bb.data.expand(overrides, localdata) - bb.data.setVar('OVERRIDES', '%s:%s' % (overrides, pkg), localdata) + bb.data.setVar('OVERRIDES', overrides + ':' + pkg, localdata) bb.data.update_data(localdata) - root = bb.data.getVar('ROOT', localdata) - basedir = os.path.dirname(root) - pkgoutdir = outdir + basedir = os.path.join(os.path.dirname(root)) + pkgoutdir = os.path.join(outdir, bb.data.getVar('PACKAGE_ARCH', localdata, 1)) bb.mkdirhier(pkgoutdir) bb.data.setVar('OUTSPECFILE', os.path.join(workdir, "%s.spec" % pkg), localdata) + # Save the value of RPMBUILD expanded into the new dictonary so any + # changes in the compoents that make up workdir don't break packaging + bb.data.setVar('RPMBUILD', bb.data.getVar("RPMBUILD", d, True), localdata) + bb.data.setVar('RPMBUILDPATH', bb.data.getVar("RPMBUILDPATH", d, True), localdata) bb.build.exec_func('write_specfile', localdata) - del localdata + bb.utils.unlockfile(lf) } python () { @@ -143,7 +220,8 @@ python () { python do_package_write_rpm () { bb.build.exec_func("read_subpackage_metadata", d) + bb.build.exec_func("rpm_prep", d) bb.build.exec_func("do_package_rpm", d) } do_package_write_rpm[dirs] = "${D}" -addtask package_write_rpm before do_build after do_package +addtask package_write_rpm before do_package_write after do_package -- cgit v1.2.3 From e3105234f8840679197b171b51203ad6c90349b3 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 2 Oct 2008 15:22:10 +0000 Subject: packaged-staging.bbclass: Add rpm package coverage (from Poky) git-svn-id: https://svn.o-hand.com/repos/poky@5382 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- classes/packaged-staging.bbclass | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'classes') diff --git a/classes/packaged-staging.bbclass b/classes/packaged-staging.bbclass index d6272b8145..849f60c500 100644 --- a/classes/packaged-staging.bbclass +++ b/classes/packaged-staging.bbclass @@ -361,6 +361,8 @@ python do_package_stage () { ipkpath = bb.data.getVar('DEPLOY_DIR_IPK', d, True).replace(tmpdir, stagepath) if bb.data.inherits_class('package_deb', d): debpath = bb.data.getVar('DEPLOY_DIR_DEB', d, True).replace(tmpdir, stagepath) + if bb.data.inherits_class('package_rpm', d): + rpmpath = bb.data.getVar('DEPLOY_DIR_RPM', d, True).replace(tmpdir, stagepath) for pkg in packages: pkgname = bb.data.getVar('PKG_%s' % pkg, d, 1) @@ -393,6 +395,18 @@ python do_package_stage () { bb.mkdirhier(destpath) bb.copyfile(srcfile, destpath + srcname) + if bb.data.inherits_class('package_rpm', d): + version = bb.data.getVar('PV', d, 1) + version = version.replace('-', '+') + bb.data.setVar('RPMPV', version, d) + srcname = bb.data.expand(pkgname + "-${RPMPV}-" + pr + ".${TARGET_ARCH}.rpm", d) + srcfile = bb.data.expand("${DEPLOY_DIR_RPM}/" + arch + "/" + srcname, d) + if os.path.exists(srcfile): + destpath = rpmpath + "/" + arch + "/" + bb.mkdirhier(destpath) + bb.copyfile(srcfile, destpath + srcname) + + # # Handle stamps/ files # -- cgit v1.2.3 From 634c76d02e5796f5e908b6d6a79dcfef6f8af3d1 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 2 Oct 2008 19:56:43 +0000 Subject: base.bbclass: Add read_subpkgdata_dict function (from Poky) git-svn-id: https://svn.o-hand.com/repos/poky@5389 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- classes/base.bbclass | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'classes') diff --git a/classes/base.bbclass b/classes/base.bbclass index 0848870803..f1fee83a14 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -1067,6 +1067,19 @@ python read_subpackage_metadata () { bb.data.setVar(key, sdata[key], d) } + +# +# Collapse FOO_pkg variables into FOO +# +def read_subpkgdata_dict(pkg, d): + import bb + ret = {} + subd = read_pkgdatafile(get_subpkgedata_fn(pkg, d)) + for var in subd: + newvar = var.replace("_" + pkg, "") + ret[newvar] = subd[var] + return ret + # Make sure MACHINE isn't exported # (breaks binutils at least) MACHINE[unexport] = "1" -- cgit v1.2.3 From 1af5030de05a1e65d1de734f7675ffc22c8318fc Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 2 Oct 2008 19:56:19 +0000 Subject: package.bbclass: Write out extra useful data into the pkgdata files (from Poky) git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5388 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- classes/package.bbclass | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'classes') diff --git a/classes/package.bbclass b/classes/package.bbclass index 55595928c6..7a61c5a0fb 100644 --- a/classes/package.bbclass +++ b/classes/package.bbclass @@ -483,6 +483,11 @@ python emit_pkgdata() { val = bb.data.getVar('%s_%s' % (var, pkg), d, 1) if val: f.write('%s_%s: %s\n' % (var, pkg, encode(val))) + return + val = bb.data.getVar('%s' % (var), d, 1) + if val: + f.write('%s: %s\n' % (var, encode(val))) + return packages = bb.data.getVar('PACKAGES', d, True) pkgdatadir = bb.data.getVar('PKGDATA_DIR', d, True) @@ -503,6 +508,7 @@ python emit_pkgdata() { subdata_file = pkgdatadir + "/runtime/%s" % pkg sf = open(subdata_file, 'w') write_if_exists(sf, pkg, 'PN') + write_if_exists(sf, pkg, 'PV') write_if_exists(sf, pkg, 'PR') write_if_exists(sf, pkg, 'DESCRIPTION') write_if_exists(sf, pkg, 'RDEPENDS') -- cgit v1.2.3 From 387c5960a595b922fbb017b5de37feb318ae2dad Mon Sep 17 00:00:00 2001 From: Robert Schuster Date: Thu, 12 Mar 2009 16:08:29 +0100 Subject: cmake.bbclass: Allow overriding path-to-source argument for cmake call. --- classes/cmake.bbclass | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/cmake.bbclass b/classes/cmake.bbclass index faa4768d90..8fd25cd7a5 100644 --- a/classes/cmake.bbclass +++ b/classes/cmake.bbclass @@ -3,8 +3,11 @@ DEPENDS += " cmake-native " # We want the staging and installing functions from autotools inherit autotools +OECMAKE_SOURCEPATH ?= "." + cmake_do_configure() { - cmake . -DCMAKE_INSTALL_PREFIX:PATH=${prefix} -Wno-dev \ + cmake ${OECMAKE_SOURCEPATH} \ + -DCMAKE_INSTALL_PREFIX:PATH=${prefix} -Wno-dev \ -DCMAKE_FIND_ROOT_PATH=${STAGING_DIR_HOST} \ ${EXTRA_OECMAKE} } -- cgit v1.2.3 From a17689c0c413caa2e59303f5a4fab0267200ea2f Mon Sep 17 00:00:00 2001 From: Robert Schuster Date: Fri, 20 Mar 2009 13:18:02 +0100 Subject: cmake.bbclass: Allow out of tree builds with cmake. --- classes/cmake.bbclass | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'classes') diff --git a/classes/cmake.bbclass b/classes/cmake.bbclass index 8fd25cd7a5..7907f94cc6 100644 --- a/classes/cmake.bbclass +++ b/classes/cmake.bbclass @@ -3,13 +3,25 @@ DEPENDS += " cmake-native " # We want the staging and installing functions from autotools inherit autotools +# Use in-tree builds by default but allow this to be changed +# since some packages do not support them (e.g. llvm 2.5). OECMAKE_SOURCEPATH ?= "." +# If declaring this, make sure you also set EXTRA_OEMAKE to +# "-C ${OECMAKE_BUILDPATH}". So it will run the right makefiles. +OECMAKE_BUILDPATH ?= "" + cmake_do_configure() { - cmake ${OECMAKE_SOURCEPATH} \ - -DCMAKE_INSTALL_PREFIX:PATH=${prefix} -Wno-dev \ - -DCMAKE_FIND_ROOT_PATH=${STAGING_DIR_HOST} \ - ${EXTRA_OECMAKE} + if [ ${OECMAKE_BUILDPATH} ] + then + mkdir ${OECMAKE_BUILDPATH} + cd ${OECMAKE_BUILDPATH} + fi + + cmake ${OECMAKE_SOURCEPATH} \ + -DCMAKE_INSTALL_PREFIX:PATH=${prefix} -Wno-dev \ + -DCMAKE_FIND_ROOT_PATH=${STAGING_DIR_HOST} \ + ${EXTRA_OECMAKE} } EXPORT_FUNCTIONS do_configure -- cgit v1.2.3 From 4b9f02e641d067ed20081cdb3dd97858520676a6 Mon Sep 17 00:00:00 2001 From: Robert Schuster Date: Fri, 20 Mar 2009 13:37:16 +0100 Subject: cmake.bbclass: Put mandatory cmake option to end --- classes/cmake.bbclass | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'classes') diff --git a/classes/cmake.bbclass b/classes/cmake.bbclass index 7907f94cc6..b5b7b8655b 100644 --- a/classes/cmake.bbclass +++ b/classes/cmake.bbclass @@ -19,9 +19,10 @@ cmake_do_configure() { fi cmake ${OECMAKE_SOURCEPATH} \ - -DCMAKE_INSTALL_PREFIX:PATH=${prefix} -Wno-dev \ + -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \ -DCMAKE_FIND_ROOT_PATH=${STAGING_DIR_HOST} \ - ${EXTRA_OECMAKE} + ${EXTRA_OECMAKE} \ + -Wno-dev } EXPORT_FUNCTIONS do_configure -- cgit v1.2.3 From 0c549f852e09f6d40e1a1e433cc8dc849b74586c Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Thu, 28 Aug 2008 07:35:31 +0000 Subject: package_rpm.bbclass: files needs to start from / git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5116 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- classes/package_rpm.bbclass | 2 ++ 1 file changed, 2 insertions(+) (limited to 'classes') diff --git a/classes/package_rpm.bbclass b/classes/package_rpm.bbclass index 7f55e384fe..71fa76010f 100644 --- a/classes/package_rpm.bbclass +++ b/classes/package_rpm.bbclass @@ -121,6 +121,8 @@ python write_specfile() { fd.write("%files\n") for file in files: + if file[0] != '/': + fd.write('/') fd.write("%s\n" % file) fd.close() -- cgit v1.2.3 From ecfad70aae36a382459e53c9a16c82e9604d4421 Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Thu, 19 Feb 2009 15:51:57 -0700 Subject: bitbake.conf: rework FILESPATH generation. Rework FILESPATH generation to be done in bitbake.conf, avoiding the confusion about it being in multiple places. Adds FILESPATHBASE and FILESPATHPKG which can be manipulated rather than manipulating FILESPATH directly. One usage possibility: FILESPATHBASE =. "${TOPDIR}/files:" Which would let me provide a custom busybox config for this build by copying the defconfig from the openembedded metadata into my build/files/busybox-1.0/ directory, for example. Signed-off-by: Chris Larson --- classes/base.bbclass | 12 ------------ 1 file changed, 12 deletions(-) (limited to 'classes') diff --git a/classes/base.bbclass b/classes/base.bbclass index f1fee83a14..1b61895b07 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -180,18 +180,6 @@ def base_package_name(d): return pn -def base_set_filespath(path, d): - import os, bb - filespath = [] - # The ":" ensures we have an 'empty' override - overrides = (bb.data.getVar("OVERRIDES", d, 1) or "") + ":" - for p in path: - for o in overrides.split(":"): - filespath.append(os.path.join(p, o)) - return ":".join(filespath) - -FILESPATH = "${@base_set_filespath([ "${FILE_DIRNAME}/${PF}", "${FILE_DIRNAME}/${P}", "${FILE_DIRNAME}/${PN}", "${FILE_DIRNAME}/${BP}", "${FILE_DIRNAME}/${BPN}", "${FILE_DIRNAME}/files", "${FILE_DIRNAME}" ], d)}" - def oe_filter(f, str, d): from re import match return " ".join(filter(lambda x: match(f, x, 0), str.split())) -- cgit v1.2.3 From 515fc2744996506d8394f90dfe237175e51dc441 Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Wed, 25 Feb 2009 14:12:24 -0800 Subject: base.bbclass: Kill the 'Pkg' messages in the event handler. Now that bitbake operates at a task level, not a package level, the package messages are, at best, useless, and at worst, confusing for the user. Signed-off-by: Chris Larson --- classes/base.bbclass | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'classes') diff --git a/classes/base.bbclass b/classes/base.bbclass index 1b61895b07..d386d89a71 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -856,10 +856,7 @@ python base_eventhandler() { name = getName(e) msg = "" - if name.startswith("Pkg"): - msg += "package %s: " % data.getVar("P", e.data, 1) - msg += messages.get(name[3:]) or name[3:] - elif name.startswith("Task"): + if name.startswith("Task"): msg += "package %s: task %s: " % (data.getVar("PF", e.data, 1), e.task) msg += messages.get(name[4:]) or name[4:] elif name.startswith("Build"): @@ -867,6 +864,8 @@ python base_eventhandler() { msg += messages.get(name[5:]) or name[5:] elif name == "UnsatisfiedDep": msg += "package %s: dependency %s %s" % (e.pkg, e.dep, name[:-3].lower()) + else: + return NotHandled # Only need to output when using 1.8 or lower, the UI code handles it # otherwise -- cgit v1.2.3 From 65530068f30a5eea3db1b7da0e85d8e23d1dce00 Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Wed, 25 Feb 2009 15:05:41 -0800 Subject: classes/base.bbclass: Locate the scm base path via BBPATH. Currently, if the first item in BBFILES isn't in the main OE repository, the build fails entirely due to a ValueError. This isn't optimal. Rather than searching through BBFILES to find it, which could be slow when BBFILES contains thousands of files, let's just find base.bbclass and use that repository. Also, use better methods to find the git revision and branch, and identify the scm based on the existance of .svn/.git/_MTN to avoid calling out subprocesses unnecessarily. Signed-off-by: Chris Larson --- classes/base.bbclass | 87 +++++++++++++++++++++++++--------------------------- 1 file changed, 42 insertions(+), 45 deletions(-) (limited to 'classes') diff --git a/classes/base.bbclass b/classes/base.bbclass index d386d89a71..cf4b5c5e1d 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -758,21 +758,45 @@ python base_do_unpack() { raise bb.build.FuncFailed() } -def base_get_scmbasepath(d): - import bb - path_to_bbfiles = bb.data.getVar( 'BBFILES', d, 1 ).split() +METADATA_SCM = "${@base_get_scm(d)}" +METADATA_REVISION = "${@base_get_scm_revision(d)}" +METADATA_BRANCH = "${@base_get_scm_branch(d)}" +def base_get_scm(d): + import os + from bb import which + baserepo = os.path.dirname(os.path.dirname(which(d.getVar("BBPATH", 1), "classes/base.bbclass"))) + for (scm, scmpath) in {"svn": ".svn", + "git": ".git", + "monotone": "_MTN"}.iteritems(): + if os.path.exists(os.path.join(baserepo, scmpath)): + return "%s %s" % (scm, baserepo) + return " %s" % baserepo + +def base_get_scm_revision(d): + (scm, path) = d.getVar("METADATA_SCM", 1).split() try: - index = path_to_bbfiles[0].rindex( "recipes" ) - except ValueError: - index = path_to_bbfiles[0].rindex( "packages" ) + if scm != "": + return globals()["base_get_metadata_%s_revision" % scm](path, d) + else: + return scm + except KeyError: + return "" - return path_to_bbfiles[0][:index] +def base_get_scm_branch(d): + (scm, path) = d.getVar("METADATA_SCM", 1).split() + try: + if scm != "": + return globals()["base_get_metadata_%s_branch" % scm](path, d) + else: + return scm + except KeyError: + return "" -def base_get_metadata_monotone_branch(d): +def base_get_metadata_monotone_branch(path, d): monotone_branch = "" try: - monotone_branch = file( "%s/_MTN/options" % base_get_scmbasepath(d) ).read().strip() + monotone_branch = file( "%s/_MTN/options" % path ).read().strip() if monotone_branch.startswith( "database" ): monotone_branch_words = monotone_branch.split() monotone_branch = monotone_branch_words[ monotone_branch_words.index( "branch" )+1][1:-1] @@ -780,10 +804,10 @@ def base_get_metadata_monotone_branch(d): pass return monotone_branch -def base_get_metadata_monotone_revision(d): +def base_get_metadata_monotone_revision(path, d): monotone_revision = "" try: - monotone_revision = file( "%s/_MTN/revision" % base_get_scmbasepath(d) ).read().strip() + monotone_revision = file( "%s/_MTN/revision" % path ).read().strip() if monotone_revision.startswith( "format_version" ): monotone_revision_words = monotone_revision.split() monotone_revision = monotone_revision_words[ monotone_revision_words.index( "old_revision" )+1][1:-1] @@ -791,56 +815,29 @@ def base_get_metadata_monotone_revision(d): pass return monotone_revision -def base_get_metadata_svn_revision(d): +def base_get_metadata_svn_revision(path, d): revision = "" try: - revision = file( "%s/.svn/entries" % base_get_scmbasepath(d) ).readlines()[3].strip() + revision = file( "%s/.svn/entries" % path ).readlines()[3].strip() except IOError: pass return revision -def base_get_metadata_git_branch(d): +def base_get_metadata_git_branch(path, d): import os - branch = os.popen('cd %s; git branch | grep "^* " | tr -d "* "' % base_get_scmbasepath(d)).read() + branch = os.popen('cd %s; git symbolic-ref HEAD' % path).read() if len(branch) != 0: - return branch + return branch.replace("refs/heads/", "") return "" -def base_get_metadata_git_revision(d): +def base_get_metadata_git_revision(path, d): import os - rev = os.popen("cd %s; git log -n 1 --pretty=oneline --" % base_get_scmbasepath(d)).read().split(" ")[0] + rev = os.popen("cd %s; git show-ref HEAD" % path).read().split(" ")[0] if len(rev) != 0: return rev return "" -def base_detect_revision(d): - scms = [base_get_metadata_monotone_revision, \ - base_get_metadata_svn_revision, \ - base_get_metadata_git_revision] - - for scm in scms: - rev = scm(d) - if rev <> "": - return rev - - return "" - -def base_detect_branch(d): - scms = [base_get_metadata_monotone_branch, \ - base_get_metadata_git_branch] - - for scm in scms: - rev = scm(d) - if rev <> "": - return rev.strip() - - return "" - - - -METADATA_BRANCH ?= "${@base_detect_branch(d)}" -METADATA_REVISION ?= "${@base_detect_revision(d)}" addhandler base_eventhandler python base_eventhandler() { -- cgit v1.2.3 From 630555abb7ed906d6cb4bedecc94c34db84328ea Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Thu, 26 Feb 2009 15:39:59 -0800 Subject: base.bbclass: make oe_unpack_file of dirs use FILESPATH, not FILESDIR. Signed-off-by: Chris Larson --- classes/base.bbclass | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'classes') diff --git a/classes/base.bbclass b/classes/base.bbclass index cf4b5c5e1d..caaa6b2da1 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -689,15 +689,18 @@ def oe_unpack_file(file, data, url = None): cmd = '%s -a' % cmd cmd = '%s %s' % (cmd, file) elif os.path.isdir(file): - filesdir = os.path.realpath(bb.data.getVar("FILESDIR", data, 1)) destdir = "." - if file[0:len(filesdir)] == filesdir: - destdir = file[len(filesdir):file.rfind('/')] - destdir = destdir.strip('/') - if len(destdir) < 1: - destdir = "." - elif not os.access("%s/%s" % (os.getcwd(), destdir), os.F_OK): - os.makedirs("%s/%s" % (os.getcwd(), destdir)) + filespath = bb.data.getVar("FILESPATH", data, 1).split(":") + for fp in filespath: + if file[0:len(fp)] == fp: + destdir = file[len(fp):file.rfind('/')] + destdir = destdir.strip('/') + if len(destdir) < 1: + destdir = "." + elif not os.access("%s/%s" % (os.getcwd(), destdir), os.F_OK): + os.makedirs("%s/%s" % (os.getcwd(), destdir)) + break + cmd = 'cp -pPR %s %s/%s/' % (file, os.getcwd(), destdir) else: (type, host, path, user, pswd, parm) = bb.decodeurl(url) -- cgit v1.2.3 From 114155243344c15847e73598e82d02926443cbf1 Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Mon, 2 Mar 2009 08:13:31 -0800 Subject: cross.bbclass: set autoconf's program prefix to keep TARGET_SYS and TARGET_PREFIX decoupled Currently, we rely on autoconf's implicit prefixing of outputted binaries for -cross, but that names them based on TARGET_SYS, not TARGET_PREFIX, which keeps the two tightly coupled. By explicitly setting the prefix to the latter, we get around that. Signed-off-by: Chris Larson --- classes/cross.bbclass | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'classes') diff --git a/classes/cross.bbclass b/classes/cross.bbclass index 7debde6669..72a0fb7851 100644 --- a/classes/cross.bbclass +++ b/classes/cross.bbclass @@ -2,6 +2,11 @@ # no need for them to be a direct target of 'world' EXCLUDE_FROM_WORLD = "1" +# In order to keep TARGET_PREFIX decoupled from TARGET_SYS, let's force the +# binary names to match the former, rather than relying on autoconf's implicit +# prefixing based on the latter. +EXTRA_OECONF_append = " --program-prefix=${TARGET_PREFIX}" + # Save PACKAGE_ARCH before changing HOST_ARCH OLD_PACKAGE_ARCH := "${PACKAGE_ARCH}" PACKAGE_ARCH = "${OLD_PACKAGE_ARCH}" -- cgit v1.2.3 From 06e6fddcf04474cd1006ee8ad3e51c2c2dbfde2a Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Thu, 26 Feb 2009 14:31:29 -0800 Subject: bitbake.conf: Move the list of vars shown in the pre-build config display to here. Now a distro or machine can add their own variables to display. Signed-off-by: Chris Larson --- classes/base.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'classes') diff --git a/classes/base.bbclass b/classes/base.bbclass index caaa6b2da1..11f6554d2d 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -875,12 +875,12 @@ python base_eventhandler() { if name.startswith("BuildStarted"): bb.data.setVar( 'BB_VERSION', bb.__version__, e.data ) - statusvars = ['BB_VERSION', 'METADATA_BRANCH', 'METADATA_REVISION', 'TARGET_ARCH', 'TARGET_OS', 'MACHINE', 'DISTRO', 'DISTRO_VERSION','TARGET_FPU'] + statusvars = bb.data.getVar("BUILDCFG_VARS", e.data, 1).split() statuslines = ["%-17s = \"%s\"" % (i, bb.data.getVar(i, e.data, 1) or '') for i in statusvars] statusmsg = "\nOE Build Configuration:\n%s\n" % '\n'.join(statuslines) print statusmsg - needed_vars = [ "TARGET_ARCH", "TARGET_OS" ] + needed_vars = bb.data.getVar("BUILDCFG_NEEDEDVARS", e.data, 1).split() pesteruser = [] for v in needed_vars: val = bb.data.getVar(v, e.data, 1) -- cgit v1.2.3 From 99146d8043a5aed5d0d09fa9dad5271cffdd8f5d Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Fri, 20 Mar 2009 18:21:38 -0700 Subject: insane.bbclass: Silence the annoying GNU_HASH QA checks when --hash-style isn't set. Signed-off-by: Chris Larson --- classes/insane.bbclass | 2 ++ 1 file changed, 2 insertions(+) (limited to 'classes') diff --git a/classes/insane.bbclass b/classes/insane.bbclass index 5b31a0123d..48964afb92 100644 --- a/classes/insane.bbclass +++ b/classes/insane.bbclass @@ -343,6 +343,8 @@ def package_qa_hash_style(path, name, d, elf): gnu_hash = "--hash-style=gnu" in bb.data.getVar('LDFLAGS', d, True) if not gnu_hash: gnu_hash = "--hash-style=both" in bb.data.getVar('LDFLAGS', d, True) + if not gnu_hash: + return True objdump = bb.data.getVar('OBJDUMP', d, True) env_path = bb.data.getVar('PATH', d, True) -- cgit v1.2.3 From 4cd7e03d78aed8ee6f3bd18d569a0ee9b2587633 Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Fri, 13 Mar 2009 13:35:56 -0700 Subject: base.bbclass: Add base_path_relative. base_path_relative returns a relative path from src to dest. Examples: >>> base_path_relative("/usr/bin", "/tmp/foo/bar") ../../tmp/foo/bar >>> base_path_relative("/usr/bin", "/usr/lib") ../lib >>> base_path_relative("/tmp", "/tmp/foo/bar") foo/bar Signed-off-by: Chris Larson --- classes/base.bbclass | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'classes') diff --git a/classes/base.bbclass b/classes/base.bbclass index 11f6554d2d..9bcd2abb3c 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -10,6 +10,35 @@ def base_path_join(a, *p): path += '/' + b return path +def base_path_relative(src, dest): + """ Return a relative path from src to dest. + + >>> base_path_relative("/usr/bin", "/tmp/foo/bar") + ../../tmp/foo/bar + + >>> base_path_relative("/usr/bin", "/usr/lib") + ../lib + + >>> base_path_relative("/tmp", "/tmp/foo/bar") + foo/bar + """ + from os.path import sep, pardir, normpath, commonprefix + + destlist = normpath(dest).split(sep) + srclist = normpath(src).split(sep) + + # Find common section of the path + common = commonprefix([destlist, srclist]) + commonlen = len(common) + + # Climb back to the point where they differentiate + relpath = [ pardir ] * (len(srclist) - commonlen) + if commonlen < len(destlist): + # Add remaining portion + relpath += destlist[commonlen:] + + return sep.join(relpath) + # for MD5/SHA handling def base_chk_load_parser(config_path): import ConfigParser, os, bb -- cgit v1.2.3 From f3a6785d8a91e1f1763f48a5981f7e2a8d37f151 Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Sat, 21 Mar 2009 21:34:03 -0700 Subject: base.bbclass: revert removal of base_set_filespath until the refs can be removed. Also added a deprecation message to it. Signed-off-by: Chris Larson --- classes/base.bbclass | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'classes') diff --git a/classes/base.bbclass b/classes/base.bbclass index 9bcd2abb3c..952952b7fe 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -209,6 +209,17 @@ def base_package_name(d): return pn +def base_set_filespath(path, d): + import os, bb + bb.note("base_set_filespath usage is deprecated, %s should be fixed" % d.getar("P", 1)) + filespath = [] + # The ":" ensures we have an 'empty' override + overrides = (bb.data.getVar("OVERRIDES", d, 1) or "") + ":" + for p in path: + for o in overrides.split(":"): + filespath.append(os.path.join(p, o)) + return ":".join(filespath) + def oe_filter(f, str, d): from re import match return " ".join(filter(lambda x: match(f, x, 0), str.split())) -- cgit v1.2.3 From d9a3e7e7679f0ebd11c11f5a96c19b4137fb4ec0 Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Sat, 21 Mar 2009 22:11:46 -0700 Subject: base.bbclass: Fix typo. Signed-off-by: Chris Larson --- classes/base.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/base.bbclass b/classes/base.bbclass index 952952b7fe..f39059ecc0 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -211,7 +211,7 @@ def base_package_name(d): def base_set_filespath(path, d): import os, bb - bb.note("base_set_filespath usage is deprecated, %s should be fixed" % d.getar("P", 1)) + bb.note("base_set_filespath usage is deprecated, %s should be fixed" % d.getVar("P", 1)) filespath = [] # The ":" ensures we have an 'empty' override overrides = (bb.data.getVar("OVERRIDES", d, 1) or "") + ":" -- cgit v1.2.3 From 850ea31d59620b24ccb541743459ebc348f23498 Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Mon, 23 Mar 2009 15:38:24 -0700 Subject: base.bbclass: Abort early if localpath() was unable to find a local file for the url. Signed-off-by: Chris Larson --- classes/base.bbclass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/base.bbclass b/classes/base.bbclass index f39059ecc0..919d01d77b 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -794,7 +794,9 @@ python base_do_unpack() { try: local = bb.data.expand(bb.fetch.localpath(url, localdata), localdata) except bb.MalformedUrl, e: - raise FuncFailed('Unable to generate local path for malformed uri: %s' % e) + raise bb.build.FuncFailed('Unable to generate local path for malformed uri: %s' % e) + if not local: + raise bb.build.FuncFailed('Unable to locate local file for %s' % url) local = os.path.realpath(local) ret = oe_unpack_file(local, localdata, url) if not ret: -- cgit v1.2.3 From 6ddd16d877b167b929b5a64a2e01d2e6be161b15 Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Mon, 23 Mar 2009 15:40:22 -0700 Subject: base.bbclass: rstrip the git branch/revision. Signed-off-by: Chris Larson --- classes/base.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'classes') diff --git a/classes/base.bbclass b/classes/base.bbclass index 919d01d77b..9ec705bc1e 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -870,7 +870,7 @@ def base_get_metadata_svn_revision(path, d): def base_get_metadata_git_branch(path, d): import os - branch = os.popen('cd %s; git symbolic-ref HEAD' % path).read() + branch = os.popen('cd %s; git symbolic-ref HEAD' % path).read().rstrip() if len(branch) != 0: return branch.replace("refs/heads/", "") @@ -878,7 +878,7 @@ def base_get_metadata_git_branch(path, d): def base_get_metadata_git_revision(path, d): import os - rev = os.popen("cd %s; git show-ref HEAD" % path).read().split(" ")[0] + rev = os.popen("cd %s; git show-ref HEAD" % path).read().split(" ")[0].rstrip() if len(rev) != 0: return rev return "" -- cgit v1.2.3 From 6306b3fa6fc1769799eca2eb14eef27fad6878d6 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Tue, 24 Mar 2009 19:15:52 +0100 Subject: kernel.bbclass: stage more files --- classes/kernel.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass index 4c1dbda35c..17e8941745 100644 --- a/classes/kernel.bbclass +++ b/classes/kernel.bbclass @@ -114,7 +114,7 @@ kernel_do_stage() { mkdir -p ${STAGING_KERNEL_DIR}/include/pcmcia cp -fR include/pcmcia/* ${STAGING_KERNEL_DIR}/include/pcmcia/ - for entry in drivers/crypto include/media include/acpi include/sound include/video include/scsi; do + for entry in drivers/crypto drivers/media include/media include/acpi include/sound include/video include/scsi; do if [ -d $entry ]; then mkdir -p ${STAGING_KERNEL_DIR}/$entry cp -fR $entry/* ${STAGING_KERNEL_DIR}/$entry/ -- cgit v1.2.3 From 6022c967ea47f26119de83af370cb066540bd0fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jeremy=20Lain=C3=A9?= Date: Tue, 24 Mar 2009 20:11:19 +0100 Subject: {qt4e,qmake2}.bbclass: fix definition of QMAKESPEC --- classes/qmake2.bbclass | 2 +- classes/qt4e.bbclass | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/qmake2.bbclass b/classes/qmake2.bbclass index 8a443d062a..9ced896fe8 100644 --- a/classes/qmake2.bbclass +++ b/classes/qmake2.bbclass @@ -5,7 +5,7 @@ inherit qmake_base DEPENDS_prepend = "qmake2-native uicmoc4-native " -export QMAKESPEC = "${CROSS_DATADIR}/qt4/mkspecs/${TARGET_OS}-oe-g++" +export QMAKESPEC = "${STAGING_DATADIR}/qt4/mkspecs/${TARGET_OS}-oe-g++" export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic4" export OE_QMAKE_UIC3 = "${STAGING_BINDIR_NATIVE}/uic34" export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/moc4" diff --git a/classes/qt4e.bbclass b/classes/qt4e.bbclass index 8beef29df4..e3d6fad7a0 100644 --- a/classes/qt4e.bbclass +++ b/classes/qt4e.bbclass @@ -4,6 +4,7 @@ inherit qmake2 QT_DIR_NAME = "qtopia" # override variables set by qmake-base to compile Qt/Embedded apps # +export QMAKESPEC = "${STAGING_DATADIR}/qtopia/mkspecs/${TARGET_OS}-oe-g++" export OE_QMAKE_INCDIR_QT = "${STAGING_INCDIR}/qtopia" export OE_QMAKE_LIBDIR_QT = "${STAGING_LIBDIR}" export OE_QMAKE_LIBS_QT = "qt" -- cgit v1.2.3 From 0faff8720150863ff38132f87ef65721fcb86dc1 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 24 Mar 2009 14:01:30 -0700 Subject: distutils-base.bbclass: Move common functionality to distutils-common-base.bbclass Create a new class distutils-common-base.bbclass which holds the common parts that can be used in native and target packages which need to use distutils funtionality. rpm, libxml2, zope are currently using them and needed to use distutils-native-base for native recipes. rpm and libxml need to defer the processing of certain configure parameters which we evaluate using python. So we need to have python-native built before we can process them. Hence we can not use EXTRA_OECONF which is a python variable and gets expanded during parsing recipes and ofcourse we have not yet built python-native. We pass these extra options as a separate shell variable to do_configure which we evaluate when that task is executing. --- classes/distutils-base.bbclass | 26 +------------------------- classes/distutils-common-base.bbclass | 27 +++++++++++++++++++++++++++ classes/distutils-native-base.bbclass | 3 +++ 3 files changed, 31 insertions(+), 25 deletions(-) create mode 100644 classes/distutils-common-base.bbclass create mode 100644 classes/distutils-native-base.bbclass (limited to 'classes') diff --git a/classes/distutils-base.bbclass b/classes/distutils-base.bbclass index a08414aadf..2e151ded38 100644 --- a/classes/distutils-base.bbclass +++ b/classes/distutils-base.bbclass @@ -1,29 +1,5 @@ -EXTRA_OEMAKE = "" DEPENDS += "${@["python-native python", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}" RDEPENDS += "python-core" -export STAGING_INCDIR -export STAGING_LIBDIR +inherit distutils-common-base -def python_dir(d): - import os, bb - staging_incdir = bb.data.getVar( "STAGING_INCDIR", d, 1 ) - for majmin in "2.6 2.5 2.4 2.3".split(): - if os.path.exists( "%s/python%s" % ( staging_incdir, majmin ) ): return "python%s" % majmin - raise "No Python in STAGING_INCDIR. Forgot to build python-native ?" - -PYTHON_DIR = "${@python_dir(d)}" - -PACKAGES = "${PN}-dev ${PN}-dbg ${PN}-doc ${PN}" - -FILES_${PN} = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*" - -FILES_${PN}-dev += "\ - ${libdir}/pkgconfig \ - ${libdir}/${PYTHON_DIR}/site-packages/*.la \ -" -FILES_${PN}-dbg = "\ - ${libdir}/${PYTHON_DIR}/site-packages/.debug \ - ${libdir}/${PYTHON_DIR}/site-packages/*/.debug \ - ${libdir}/${PYTHON_DIR}/site-packages/*/*/.debug \ -" diff --git a/classes/distutils-common-base.bbclass b/classes/distutils-common-base.bbclass new file mode 100644 index 0000000000..068eac4de8 --- /dev/null +++ b/classes/distutils-common-base.bbclass @@ -0,0 +1,27 @@ +EXTRA_OEMAKE = "" + +export STAGING_INCDIR +export STAGING_LIBDIR + +def python_dir(d): + import os, bb + staging_incdir = bb.data.getVar( "STAGING_INCDIR", d, 1 ) + for majmin in "2.6 2.5 2.4 2.3".split(): + if os.path.exists( "%s/python%s" % ( staging_incdir, majmin ) ): return "python%s" % majmin + raise "No Python in STAGING_INCDIR. Forgot to build python-native ?" + +PYTHON_DIR = "${@python_dir(d)}" + +PACKAGES = "${PN}-dev ${PN}-dbg ${PN}-doc ${PN}" + +FILES_${PN} = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*" + +FILES_${PN}-dev += "\ + ${libdir}/pkgconfig \ + ${libdir}/${PYTHON_DIR}/site-packages/*.la \ +" +FILES_${PN}-dbg = "\ + ${libdir}/${PYTHON_DIR}/site-packages/.debug \ + ${libdir}/${PYTHON_DIR}/site-packages/*/.debug \ + ${libdir}/${PYTHON_DIR}/site-packages/*/*/.debug \ +" diff --git a/classes/distutils-native-base.bbclass b/classes/distutils-native-base.bbclass new file mode 100644 index 0000000000..2703fe0740 --- /dev/null +++ b/classes/distutils-native-base.bbclass @@ -0,0 +1,3 @@ +DEPENDS += "${@["python-native", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}" + +inherit distutils-common-base -- cgit v1.2.3 From f01404828b4813a3db4b04f8062a345a218ab276 Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Tue, 24 Mar 2009 18:25:54 -0700 Subject: Revert "cross.bbclass: set autoconf's program prefix to keep TARGET_SYS and TARGET_PREFIX decoupled" This reverts commit 114155243344c15847e73598e82d02926443cbf1. --- classes/cross.bbclass | 5 ----- 1 file changed, 5 deletions(-) (limited to 'classes') diff --git a/classes/cross.bbclass b/classes/cross.bbclass index 72a0fb7851..7debde6669 100644 --- a/classes/cross.bbclass +++ b/classes/cross.bbclass @@ -2,11 +2,6 @@ # no need for them to be a direct target of 'world' EXCLUDE_FROM_WORLD = "1" -# In order to keep TARGET_PREFIX decoupled from TARGET_SYS, let's force the -# binary names to match the former, rather than relying on autoconf's implicit -# prefixing based on the latter. -EXTRA_OECONF_append = " --program-prefix=${TARGET_PREFIX}" - # Save PACKAGE_ARCH before changing HOST_ARCH OLD_PACKAGE_ARCH := "${PACKAGE_ARCH}" PACKAGE_ARCH = "${OLD_PACKAGE_ARCH}" -- cgit v1.2.3 From 2fa972014da492233781741da3cb8880d6b8fa42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jeremy=20Lain=C3=A9?= Date: Wed, 25 Mar 2009 12:05:40 +0100 Subject: qt4: make use of qt4-tools-native instead of qmake2-native and uicmoc4-native --- classes/qmake2.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/qmake2.bbclass b/classes/qmake2.bbclass index 9ced896fe8..5ea31a976d 100644 --- a/classes/qmake2.bbclass +++ b/classes/qmake2.bbclass @@ -3,7 +3,7 @@ # inherit qmake_base -DEPENDS_prepend = "qmake2-native uicmoc4-native " +DEPENDS_prepend = "qt4-tools-native " export QMAKESPEC = "${STAGING_DATADIR}/qt4/mkspecs/${TARGET_OS}-oe-g++" export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic4" -- cgit v1.2.3 From 88c677023e77186ea9198d9ece6943712d069ecc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jeremy=20Lain=C3=A9?= Date: Wed, 25 Mar 2009 12:32:25 +0100 Subject: qt-embedded: rename to qt4-embedded for consistency --- classes/qt4e.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/qt4e.bbclass b/classes/qt4e.bbclass index e3d6fad7a0..445ecbaa6a 100644 --- a/classes/qt4e.bbclass +++ b/classes/qt4e.bbclass @@ -1,4 +1,4 @@ -DEPENDS_prepend = "${@["qt-embedded ", ""][(bb.data.getVar('PN', d, 1) == 'qt-embedded')]}" +DEPENDS_prepend = "${@["qt4-embedded ", ""][(bb.data.getVar('PN', d, 1) == 'qt4-embedded')]}" inherit qmake2 QT_DIR_NAME = "qtopia" -- cgit v1.2.3 From d3926917500d5f101d18fccd64412f9380dcf60e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jeremy=20Lain=C3=A9?= Date: Thu, 26 Mar 2009 15:04:21 +0100 Subject: qmake2.bbclass: remove gratuitous export of QMAKE_RCC --- classes/qmake2.bbclass | 1 - 1 file changed, 1 deletion(-) (limited to 'classes') diff --git a/classes/qmake2.bbclass b/classes/qmake2.bbclass index 5ea31a976d..f0a7931698 100644 --- a/classes/qmake2.bbclass +++ b/classes/qmake2.bbclass @@ -10,7 +10,6 @@ export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic4" export OE_QMAKE_UIC3 = "${STAGING_BINDIR_NATIVE}/uic34" export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/moc4" export OE_QMAKE_RCC = "${STAGING_BINDIR_NATIVE}/rcc4" -export QMAKE_RCC = "${STAGING_BINDIR_NATIVE}/rcc4" export OE_QMAKE_QMAKE = "${STAGING_BINDIR_NATIVE}/qmake2" export OE_QMAKE_LINK = "${CXX}" export OE_QMAKE_CXXFLAGS = "${CXXFLAGS}" -- cgit v1.2.3 From a0498ecd1ee039174866f2006fcb94777f29d156 Mon Sep 17 00:00:00 2001 From: woglinde Date: Wed, 25 Mar 2009 02:17:18 +0100 Subject: scons: honor PARALLEL_MAKE --- classes/scons.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/scons.bbclass b/classes/scons.bbclass index 6d0a783dc2..b7007b03a6 100644 --- a/classes/scons.bbclass +++ b/classes/scons.bbclass @@ -1,7 +1,7 @@ DEPENDS += "python-scons-native" scons_do_compile() { - ${STAGING_BINDIR_NATIVE}/scons PREFIX=${prefix} prefix=${prefix} || \ + ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} PREFIX=${prefix} prefix=${prefix} || \ oefatal "scons build execution failed." } -- cgit v1.2.3