diff options
Diffstat (limited to 'classes')
-rw-r--r-- | classes/base.bbclass | 6 | ||||
-rw-r--r-- | classes/image.bbclass | 11 | ||||
-rw-r--r-- | classes/package.bbclass | 16 | ||||
-rw-r--r-- | classes/package_ipk.bbclass | 1 | ||||
-rw-r--r-- | classes/rootfs_deb.bbclass | 8 | ||||
-rw-r--r-- | classes/sanity.bbclass | 5 | ||||
-rw-r--r-- | classes/scons.bbclass | 1 | ||||
-rw-r--r-- | classes/sip.bbclass | 2 | ||||
-rw-r--r-- | classes/sourcepkg.bbclass | 2 |
9 files changed, 46 insertions, 6 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass index 7526dff65e..2b508a8e84 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -848,6 +848,12 @@ def base_after_parse(d): bb.data.delVarFlag('MACHINE', 'export', d) bb.data.setVarFlag('MACHINE', 'unexport', 1, d) + # Make sure TARGET_ARCH isn't exported + # (breaks Makefiles using implicit rules, e.g. quilt, as GNU make has this + # in them, undocumented) + bb.data.delVarFlag('TARGET_ARCH', 'export', d) + bb.data.setVarFlag('TARGET_ARCH', 'unexport', 1, d) + # Make sure DISTRO isn't exported # (breaks sysvinit at least) bb.data.delVarFlag('DISTRO', 'export', d) diff --git a/classes/image.bbclass b/classes/image.bbclass index 312307c831..ca9c9458e1 100644 --- a/classes/image.bbclass +++ b/classes/image.bbclass @@ -125,6 +125,17 @@ insert_feed_uris () { # insert new feed-sources echo "src/gz $feed_name $feed_uri" >> ${IMAGE_ROOTFS}/etc/ipkg/${feed_name}-feed.conf done + + # Allow to use package deploy directory contents as quick devel-testing + # feed. This creates individual feed configs for each arch subdir of those + # specified as compatible for the current machine. + # NOTE: Development-helper feature, NOT a full-fledged feed. + if [ -n "${FEED_DEPLOYDIR_BASE_URI}" ]; then + for arch in ${PACKAGE_ARCHS} + do + echo "src/gz local-$arch ${FEED_DEPLOYDIR_BASE_URI}/$arch" >> ${IMAGE_ROOTFS}/etc/ipkg/local-$arch-feed.conf + done + fi } log_check() { diff --git a/classes/package.bbclass b/classes/package.bbclass index 67aeb33a13..ec8c3d97e2 100644 --- a/classes/package.bbclass +++ b/classes/package.bbclass @@ -149,6 +149,12 @@ def runstrip(file, d): bb.debug(1, "runstrip: skip %s" % file) return 0 + # If the file is in a .debug directory it was already stripped, + # don't do it again... + if os.path.dirname(file).endswith(".debug"): + bb.note("Already run strip") + return 0 + strip = bb.data.getVar("STRIP", d, 1) objcopy = bb.data.getVar("OBJCOPY", d, 1) @@ -694,6 +700,16 @@ python package_do_shlibs() { for l in lines: shlib_provider[l.rstrip()] = (dep_pkg, lib_ver) + assumed_libs = bb.data.getVar('ASSUME_SHLIBS', d, 1) + if assumed_libs: + for e in assumed_libs.split(): + l, dep_pkg = e.split(":") + lib_ver = None + dep_pkg = dep_pkg.rsplit("_", 1) + if len(dep_pkg) == 2: + lib_ver = dep_pkg[1] + dep_pkg = dep_pkg[0] + shlib_provider[l] = (dep_pkg, lib_ver) for pkg in packages.split(): bb.debug(2, "calculating shlib requirements for %s" % pkg) diff --git a/classes/package_ipk.bbclass b/classes/package_ipk.bbclass index 16d6050573..087bbcbfb4 100644 --- a/classes/package_ipk.bbclass +++ b/classes/package_ipk.bbclass @@ -323,4 +323,5 @@ python do_package_write_ipk () { bb.build.exec_func("do_package_ipk", d) } do_package_write_ipk[dirs] = "${D}" +do_package_write_ipk[depends] = "ipkg-utils-native:do_populate_staging" addtask package_write_ipk before do_package_write after do_package diff --git a/classes/rootfs_deb.bbclass b/classes/rootfs_deb.bbclass index 935ef6e3f7..853ea225fc 100644 --- a/classes/rootfs_deb.bbclass +++ b/classes/rootfs_deb.bbclass @@ -10,8 +10,12 @@ fakeroot rootfs_deb_do_rootfs () { mkdir -p ${IMAGE_ROOTFS}/var/dpkg/info mkdir -p ${IMAGE_ROOTFS}/var/dpkg/updates + mkdir -p ${STAGING_ETCDIR_NATIVE}/apt/ + rm -f ${STAGING_ETCDIR_NATIVE}/apt/sources.list.rev rm -f ${STAGING_ETCDIR_NATIVE}/apt/preferences + > ${STAGING_ETCDIR_NATIVE}/apt/sources.list.rev + > ${STAGING_ETCDIR_NATIVE}/apt/preferences > ${IMAGE_ROOTFS}/var/dpkg/status > ${IMAGE_ROOTFS}/var/dpkg/available # > ${STAGING_DIR}/var/dpkg/status @@ -36,9 +40,9 @@ fakeroot rootfs_deb_do_rootfs () { priority=$(expr $priority + 5) done - tac ${STAGING_ETCDIR_NATIVE}/apt/sources.list.rev > ${STAGING_ETCDIR_NATIVE}/apt/sources.list + tac ${STAGING_ETCDIR_NATIVE}/apt/sources.list.rev > ${STAGING_DIR}/etc/apt/sources.list - cat "${STAGING_ETCDIR_NATIVE}/apt/apt.conf.sample" \ + cat "${STAGING_DIR}/etc/apt/apt.conf.sample" \ | sed -e 's#Architecture ".*";#Architecture "${TARGET_ARCH}";#' \ > "${STAGING_ETCDIR_NATIVE}/apt/apt-rootfs.conf" diff --git a/classes/sanity.bbclass b/classes/sanity.bbclass index 479abce7fa..cc413b7011 100644 --- a/classes/sanity.bbclass +++ b/classes/sanity.bbclass @@ -70,8 +70,9 @@ def check_sanity(e): if "diffstat-native" not in assume_provided: messages = messages + 'Please use ASSUME_PROVIDED +=, not ASSUME_PROVIDED = in your local.conf\n' - # Check that the MACHINE is valid - if not check_conf_exists("conf/machine/${MACHINE}.conf", e.data): + # Check that the MACHINE is valid, if it is set + if data.getVar('MACHINE', e.data, True): + if not check_conf_exists("conf/machine/${MACHINE}.conf", e.data): messages = messages + 'Please set a valid MACHINE in your local.conf\n' # Check that the DISTRO is valid diff --git a/classes/scons.bbclass b/classes/scons.bbclass index 534b3bd4c7..6d0a783dc2 100644 --- a/classes/scons.bbclass +++ b/classes/scons.bbclass @@ -6,6 +6,7 @@ scons_do_compile() { } scons_do_install() { + install -d ${D}${prefix} ${STAGING_BINDIR_NATIVE}/scons PREFIX=${D}${prefix} prefix=${D}${prefix} install || \ oefatal "scons install execution failed." } diff --git a/classes/sip.bbclass b/classes/sip.bbclass index 6f77f460dc..ae186bd04a 100644 --- a/classes/sip.bbclass +++ b/classes/sip.bbclass @@ -4,7 +4,7 @@ # yes, python-sip is actually a build-time dependency, since # the recipe installs sip.h -DEPENDS =+ "sip-native python-sip" +DEPENDS += "sip-native python-sip" # default stuff, do not uncomment # EXTRA_SIPTAGS = "-tWS_X11 -tQt_4_3_0" diff --git a/classes/sourcepkg.bbclass b/classes/sourcepkg.bbclass index 390d3684d4..bbc9f187ec 100644 --- a/classes/sourcepkg.bbclass +++ b/classes/sourcepkg.bbclass @@ -106,6 +106,6 @@ EXPORT_FUNCTIONS do_create_orig_tgz do_archive_bb do_dumpdata do_create_diff_gz addtask create_orig_tgz after do_unpack before do_patch addtask archive_bb after do_patch before do_dumpdata -addtask dumpdata after archive_bb before do_create_diff_gz +addtask dumpdata after do_archive_bb before do_create_diff_gz addtask create_diff_gz after do_dump_data before do_configure |