diff options
Diffstat (limited to 'classes')
| -rw-r--r-- | classes/autotools.bbclass | 4 | ||||
| -rw-r--r-- | classes/base.bbclass | 22 | ||||
| -rw-r--r-- | classes/canadian-sdk.bbclass | 11 | ||||
| -rw-r--r-- | classes/distutils-common-base.bbclass | 1 | ||||
| -rw-r--r-- | classes/gtk-icon-cache.bbclass | 14 | ||||
| -rw-r--r-- | classes/icecc.bbclass | 11 | ||||
| -rw-r--r-- | classes/image.bbclass | 10 | ||||
| -rw-r--r-- | classes/insane.bbclass | 5 | ||||
| -rw-r--r-- | classes/java.bbclass | 2 | ||||
| -rw-r--r-- | classes/lib_package.bbclass | 10 | ||||
| -rw-r--r-- | classes/package.bbclass | 8 | ||||
| -rw-r--r-- | classes/siteinfo.bbclass | 1 | ||||
| -rw-r--r-- | classes/testlab.bbclass | 2 |
13 files changed, 65 insertions, 36 deletions
diff --git a/classes/autotools.bbclass b/classes/autotools.bbclass index 20f371a987..e43b289c56 100644 --- a/classes/autotools.bbclass +++ b/classes/autotools.bbclass @@ -231,6 +231,10 @@ autotools_stage_all() { 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 diff --git a/classes/base.bbclass b/classes/base.bbclass index 9ec705bc1e..e5fd814b25 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -40,12 +40,11 @@ def base_path_relative(src, dest): return sep.join(relpath) # for MD5/SHA handling -def base_chk_load_parser(config_path): +def base_chk_load_parser(config_paths): import ConfigParser, os, bb parser = ConfigParser.ConfigParser() - if not len(parser.read(config_path)) == 1: - bb.note("Can not open the '%s' ini file" % config_path) - raise Exception("Can not open the '%s'" % config_path) + if len(parser.read(config_paths)) < 1: + raise ValueError("no ini files could be found") return parser @@ -620,13 +619,18 @@ python base_do_fetch() { # Verify the SHA and MD5 sums we have in OE and check what do # in - check_sum = bb.which(bb.data.getVar('BBPATH', d, True), "conf/checksums.ini") - if not check_sum: - bb.note("No conf/checksums.ini found, not checking checksums") - return + checksum_paths = bb.data.getVar('BBPATH', d, True).split(":") + + # reverse the list to give precedence to directories that + # appear first in BBPATH + checksum_paths.reverse() + checksum_files = ["%s/conf/checksums.ini" % path for path in checksum_paths] try: - parser = base_chk_load_parser(check_sum) + parser = base_chk_load_parser(checksum_files) + except ValueError: + bb.note("No conf/checksums.ini found, not checking checksums") + return except: bb.note("Creating the CheckSum parser failed") return diff --git a/classes/canadian-sdk.bbclass b/classes/canadian-sdk.bbclass index d73b62f485..a6c5552310 100644 --- a/classes/canadian-sdk.bbclass +++ b/classes/canadian-sdk.bbclass @@ -19,14 +19,13 @@ CFLAGS = "${SDK_CFLAGS}" CXXFLAGS = "${SDK_CFLAGS}" LDFLAGS = "${SDK_LDFLAGS}" -# TODO: add logic to add the following unless PN ~= gcc* -#DEPENDS_prepend = "virtual/${HOST_PREFIX}binutils virtual/${HOST_PREFIX}gcc " -# and otherwise just -DEPENDS_prepend = "virtual/${HOST_PREFIX}binutils " +DEPENDS_prepend = "virtual/${HOST_PREFIX}binutils virtual/${HOST_PREFIX}gcc " -SDK_PATH_sdk-mingw32 = "/OpenEmbedded/${SDK_NAME}" +# On mingw systems we want to have the real sysroot default to c:/... and +# assume that the default install will be on the C drive. This can be changed +# by setting SDK_REALPATH_MINGW. SDK_REALPATH = "${SDK_PATH}" -SDK_REALPATH_sdk-mingw32 = "C:/OpenEmbedded/${SDK_NAME}" +SDK_REALPATH_MINGW ?= "C:" # Path prefixes prefix = "${SDK_PATH}" diff --git a/classes/distutils-common-base.bbclass b/classes/distutils-common-base.bbclass index 068eac4de8..9ca392b84a 100644 --- a/classes/distutils-common-base.bbclass +++ b/classes/distutils-common-base.bbclass @@ -17,6 +17,7 @@ PACKAGES = "${PN}-dev ${PN}-dbg ${PN}-doc ${PN}" FILES_${PN} = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*" FILES_${PN}-dev += "\ + ${datadir}/pkgconfig \ ${libdir}/pkgconfig \ ${libdir}/${PYTHON_DIR}/site-packages/*.la \ " diff --git a/classes/gtk-icon-cache.bbclass b/classes/gtk-icon-cache.bbclass index b256365175..ea1fdff3dd 100644 --- a/classes/gtk-icon-cache.bbclass +++ b/classes/gtk-icon-cache.bbclass @@ -11,11 +11,19 @@ fi # Update the pixbuf loaders in case they haven't been registered yet gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders -gtk-update-icon-cache -q /usr/share/icons/hicolor +for icondir in /usr/share/icons/* ; do + if [ -d $icondir ] ; then + gtk-update-icon-cache -qt $icondir + fi +done } gtk_icon_cache_postrm() { -gtk-update-icon-cache -q /usr/share/icons/hicolor +for icondir in /usr/share/icons/* ; do + if [ -d $icondir ] ; then + gtk-update-icon-cache -qt $icondir + fi +done } python populate_packages_append () { @@ -24,7 +32,7 @@ python populate_packages_append () { workdir = bb.data.getVar('WORKDIR', d, 1) for pkg in packages: - icon_dir = '%s/install/%s/%s/icons/hicolor' % (workdir, pkg, bb.data.getVar('datadir', d, 1)) + icon_dir = '%s/install/%s/%s/icons' % (workdir, pkg, bb.data.getVar('datadir', d, 1)) if not os.path.exists(icon_dir): continue diff --git a/classes/icecc.bbclass b/classes/icecc.bbclass index dce29fbbeb..0eb2d9feee 100644 --- a/classes/icecc.bbclass +++ b/classes/icecc.bbclass @@ -137,7 +137,8 @@ def create_native_env(bb,d): def get_cross_kernel_cc(bb,d): kernel_cc = bb.data.expand('${KERNEL_CC}', d) - kernel_cc = kernel_cc.replace('ccache', '') + kernel_cc = kernel_cc.replace('ccache', '').strip() + kernel_cc = kernel_cc.split(' ')[0] kernel_cc = kernel_cc.strip() return kernel_cc @@ -182,10 +183,10 @@ def create_cross_kernel_env(bb,d): cr_env_script = bb.data.getVar('ICECC_ENV_EXEC', d) or bb.data.expand('${STAGING_DIR}', d)+"/ice/icecc-create-env" result=os.popen("%s %s %s %s %s %s" %(cr_env_script, "--silent", - os.path.join(ice_dir,'bin',kernel_cc), - os.path.join(ice_dir,target_sys,'bin','g++'), - os.path.join(ice_dir,target_sys,'bin','as'), - os.path.join(ice_dir,"ice",cross_name) ) ) + os.path.join(ice_dir, 'bin', kernel_cc), + os.path.join(ice_dir, 'bin', "%s-g++" % target_sys), + os.path.join(ice_dir, 'bin', "%s-as" % target_sys), + os.path.join(ice_dir, "ice", cross_name) ) ) return tar_file diff --git a/classes/image.bbclass b/classes/image.bbclass index fd0df4df08..89d27120c1 100644 --- a/classes/image.bbclass +++ b/classes/image.bbclass @@ -17,16 +17,16 @@ IMAGE_INITSCRIPTS ?= "initscripts" # IMAGE_LOGIN_MANAGER ?= "tinylogin" -IMAGE_VARS = "${IMAGE_INITSCRIPTS} \ +IMAGE_BOOT ?= "${IMAGE_INITSCRIPTS} \ ${IMAGE_DEV_MANAGER} \ ${IMAGE_INIT_MANAGER} \ ${IMAGE_LOGIN_MANAGER} " -RDEPENDS += "${IMAGE_INSTALL} ${IMAGE_VARS}" +RDEPENDS += "${IMAGE_INSTALL} ${IMAGE_BOOT}" # "export IMAGE_BASENAME" not supported at this time IMAGE_BASENAME[export] = "1" -export PACKAGE_INSTALL ?= "${IMAGE_INSTALL} ${IMAGE_VARS}" +export PACKAGE_INSTALL ?= "${IMAGE_INSTALL} ${IMAGE_BOOT}" # We need to recursively follow RDEPENDS and RRECOMMENDS for images do_rootfs[recrdeptask] += "do_deploy do_populate_staging" @@ -104,8 +104,8 @@ LINGUAS_INSTALL = "${@" ".join(map(lambda s: "locale-base-%s" % s, bb.data.getVa do_rootfs[nostamp] = "1" do_rootfs[dirs] = "${TOPDIR}" -do_rootfs[lockfiles] = "${IMAGE_ROOTFS}.lock" do_build[nostamp] = "1" +do_install[nostamp] = "1" # Must call real_do_rootfs() from inside here, rather than as a separate # task, so that we have a single fakeroot context for the whole process. @@ -234,5 +234,5 @@ rootfs_update_timestamp () { # export the zap_root_password, create_etc_timestamp and remote_init_link EXPORT_FUNCTIONS zap_root_password create_etc_timestamp remove_init_link do_rootfs make_zimage_symlink_relative set_image_autologin rootfs_update_timestamp -addtask rootfs before do_build after do_install +addtask rootfs after do_compile before do_install addtask deploy_to after do_rootfs diff --git a/classes/insane.bbclass b/classes/insane.bbclass index 3e519c3253..584a5f1c1e 100644 --- a/classes/insane.bbclass +++ b/classes/insane.bbclass @@ -31,6 +31,9 @@ PACKAGEFUNCS += " do_package_qa " # TARGET_OS TARGET_ARCH MACHINE, OSABI, ABIVERSION, Little Endian, 32bit? def package_qa_get_machine_dict(): return { + "darwin9" : { + "arm" : (40, 0, 0, True, True), + }, "linux" : { "arm" : (40, 97, 0, True, True), "armeb": (40, 97, 0, False, True), @@ -184,7 +187,7 @@ def package_qa_make_fatal_error(error_class, name, path,d): TODO: Load a whitelist of known errors """ - return not error_class in [0, 5, 7, 9] + return not error_class in [0, 5, 7] def package_qa_write_error(error_class, name, path, d): """ diff --git a/classes/java.bbclass b/classes/java.bbclass index 38256d7798..cacd2ce525 100644 --- a/classes/java.bbclass +++ b/classes/java.bbclass @@ -72,7 +72,7 @@ oe_jarinstall() { oewarn "file was in the way. removing:" $dir/$1 rm $dir/$1 fi - ln -s $destname $dir/$1 + ln -sf $destname $dir/$1 shift done } diff --git a/classes/lib_package.bbclass b/classes/lib_package.bbclass index 9a48408527..788b7bb0c4 100644 --- a/classes/lib_package.bbclass +++ b/classes/lib_package.bbclass @@ -1,9 +1,13 @@ PACKAGES += "${PN}-bin" -FILES_${PN} = "${libexecdir} ${libdir}/lib*.so.* \ +# NB: ${base_libdir}/*${SOLIBSDEV} is included here because the shared libraries +# in ${base_libdir} do not follow the usual *.so.* naming convention, for instance +# libproc-3.2.7.so +FILES_${PN} = "${libexecdir} ${libdir}/lib*${SOLIBS} \ ${sysconfdir} ${sharedstatedir} ${localstatedir} \ - /lib/*.so* ${datadir}/${PN} ${libdir}/${PN}" -FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la \ + ${base_libdir}/*${SOLIBS} ${base_libdir}/*${SOLIBSDEV} \ + ${datadir}/${PN} ${libdir}/${PN}" +FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \ ${libdir}/*.a ${libdir}/pkgconfig /lib/*.a /lib/*.o \ ${datadir}/aclocal ${bindir}/*-config" FILES_${PN}-bin = "${bindir}/* ${sbindir}/* /bin/* /sbin/*" diff --git a/classes/package.bbclass b/classes/package.bbclass index 7a61c5a0fb..8a77369682 100644 --- a/classes/package.bbclass +++ b/classes/package.bbclass @@ -384,8 +384,12 @@ python populate_packages () { globbed = glob.glob(file) if globbed: if [ file ] != globbed: - files += globbed - continue + if not file in globbed: + files += globbed + continue + else: + globbed.remove(file) + files += globbed if (not os.path.islink(file)) and (not os.path.exists(file)): continue if file in seen: diff --git a/classes/siteinfo.bbclass b/classes/siteinfo.bbclass index 55ab371af3..82a1616d05 100644 --- a/classes/siteinfo.bbclass +++ b/classes/siteinfo.bbclass @@ -26,6 +26,7 @@ def get_siteinfo_list(d): "armeb-linux-uclibc": "endian-big bit-32 common-linux common-uclibc arm-common",\ "armeb-linux-uclibcgnueabi": "endian-big bit-32 common-linux common-uclibc arm-common armeb-linux-uclibc",\ "arm-darwin": "endian-little bit-32 common-darwin",\ + "arm-darwin9": "endian-little bit-32 common-darwin",\ "arm-linux": "endian-little bit-32 common-linux common-glibc arm-common",\ "arm-linux-gnueabi": "endian-little bit-32 common-linux common-glibc arm-common arm-linux",\ "arm-linux-uclibc": "endian-little bit-32 common-linux common-uclibc arm-common",\ diff --git a/classes/testlab.bbclass b/classes/testlab.bbclass index bb47ee877f..fc923c5112 100644 --- a/classes/testlab.bbclass +++ b/classes/testlab.bbclass @@ -22,7 +22,7 @@ # Needs 'dot', 'opkg-cl' do_testlab() { -if [ -e ${IMAGE_ROOTFS}/etc/opkg ] ; then +if [ -e ${IMAGE_ROOTFS}/etc/opkg ] && [ "${ONLINE_PACKAGE_MANAGEMENT}" = "full" ] ; then TESTLAB_DIR="${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-testlab" mkdir -p ${TESTLAB_DIR}/ |
