summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
Diffstat (limited to 'classes')
-rw-r--r--classes/autotools.bbclass4
-rw-r--r--classes/base.bbclass22
-rw-r--r--classes/canadian-sdk.bbclass11
-rw-r--r--classes/distutils-common-base.bbclass1
-rw-r--r--classes/gtk-icon-cache.bbclass14
-rw-r--r--classes/icecc.bbclass11
-rw-r--r--classes/image.bbclass10
-rw-r--r--classes/insane.bbclass5
-rw-r--r--classes/java.bbclass2
-rw-r--r--classes/lib_package.bbclass10
-rw-r--r--classes/package.bbclass8
-rw-r--r--classes/siteinfo.bbclass1
-rw-r--r--classes/testlab.bbclass2
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}/