summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
authorTom Rini <trini@embeddedalley.com>2009-04-22 17:47:36 -0400
committerTom Rini <trini@embeddedalley.com>2009-04-22 17:47:36 -0400
commit3889422c46439421ff1692081c632209ea3f6493 (patch)
tree05e92bd0060e7c12d96ab4d6a0a97d9a32e91e17 /classes
parentc8b3cc5ef81d305d5d90644da36acbc40c7c01f1 (diff)
parentef0a43982a9dc7b6744c5aef30cd61b01de8cfc9 (diff)
Merge branch 'org.openembedded.dev' of git@git.openembedded.net:openembedded into org.openembedded.dev
Diffstat (limited to 'classes')
-rw-r--r--classes/autotools.bbclass4
-rw-r--r--classes/base.bbclass22
-rw-r--r--classes/canadian-sdk.bbclass6
-rw-r--r--classes/distutils-common-base.bbclass1
-rw-r--r--classes/icecc.bbclass11
-rw-r--r--classes/image.bbclass9
-rw-r--r--classes/lib_package.bbclass6
-rw-r--r--classes/package.bbclass8
-rw-r--r--classes/testlab.bbclass2
9 files changed, 42 insertions, 27 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 6b4fdf878a..a6c5552310 100644
--- a/classes/canadian-sdk.bbclass
+++ b/classes/canadian-sdk.bbclass
@@ -19,11 +19,7 @@ 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 "
# 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
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/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..cbbbbd13d6 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"
@@ -106,6 +106,7 @@ 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 +235,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/lib_package.bbclass b/classes/lib_package.bbclass
index 03ba9d094f..788b7bb0c4 100644
--- a/classes/lib_package.bbclass
+++ b/classes/lib_package.bbclass
@@ -1,8 +1,12 @@
PACKAGES += "${PN}-bin"
+# 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} \
- ${base_libdir}/*${SOLIBS} ${datadir}/${PN} ${libdir}/${PN}"
+ ${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"
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/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}/