diff options
Diffstat (limited to 'classes')
-rw-r--r-- | classes/autotools.bbclass | 3 | ||||
-rw-r--r-- | classes/base.bbclass | 21 | ||||
-rw-r--r-- | classes/fso-plugin.bbclass | 4 | ||||
-rw-r--r-- | classes/package.bbclass | 6 | ||||
-rw-r--r-- | classes/package_rpm.bbclass | 140 | ||||
-rw-r--r-- | classes/packaged-staging.bbclass | 14 | ||||
-rw-r--r-- | classes/qtopia4core.bbclass | 13 | ||||
-rw-r--r-- | classes/rootfs_rpm.bbclass | 210 | ||||
-rw-r--r-- | classes/rpm_core.bbclass | 16 | ||||
-rw-r--r-- | classes/vala.bbclass | 3 |
10 files changed, 368 insertions, 62 deletions
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 diff --git a/classes/base.bbclass b/classes/base.bbclass index 18afc1a2fe..f1fee83a14 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 = "<unknown>" @@ -1061,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" 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/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') 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 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 # 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 " 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) +} 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 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" |