From 046c7c5f1cdec5c92f6a365d8846ba33986277b6 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Wed, 24 Feb 2010 19:19:03 +0100 Subject: rootfs_ipk.bbclass: always specify tmp_dir in opkg-cl call with -t parameter * When option tmp_dir is used in opkg.conf installed on rootfs then it's used also in do_rootfs call and points to probably non-existent directory on buildhost like /var/lib/opkg/tmp. * The value of tmp_dir from rootfs is used even with another config file specified with -c parameter * Before this, it was using default value (/tmp) on buildhost, now it will use own "${IMAGE_ROOTFS}-tmp" and remove it after do_rootfs finish (usually already empty inside, cleaned by opkg itself) * Similar patch for testlab.bbclass will follow Signed-off-by: Martin Jansa --- classes/rootfs_ipk.bbclass | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'classes/rootfs_ipk.bbclass') diff --git a/classes/rootfs_ipk.bbclass b/classes/rootfs_ipk.bbclass index 16dd511fcb..38d6121529 100644 --- a/classes/rootfs_ipk.bbclass +++ b/classes/rootfs_ipk.bbclass @@ -7,7 +7,8 @@ do_rootfs[depends] += "opkg-native:do_populate_staging" -IPKG_ARGS = "-f ${IPKGCONF_TARGET} -o ${IMAGE_ROOTFS} ${@base_conditional("PACKAGE_INSTALL_NO_DEPS", "1", "-nodeps", "", d)}" +IPKG_TMP_DIR = "${IMAGE_ROOTFS}-tmp" +IPKG_ARGS = "-f ${IPKGCONF_TARGET} -o ${IMAGE_ROOTFS} -t ${IPKG_TMP_DIR} ${@base_conditional("PACKAGE_INSTALL_NO_DEPS", "1", "-nodeps", "", d)}" PACKAGE_INSTALL_NO_DEPS ?= "0" @@ -31,6 +32,7 @@ fakeroot rootfs_ipk_do_rootfs () { package_generate_ipkg_conf mkdir -p ${T} + mkdir -p ${IPKG_TMP_DIR} mkdir -p ${IMAGE_ROOTFS}${libdir}/opkg/ STATUS=${IMAGE_ROOTFS}${libdir}/opkg/status @@ -100,6 +102,7 @@ fakeroot rootfs_ipk_do_rootfs () { ${ROOTFS_POSTPROCESS_COMMAND} log_check rootfs + rm -rf ${IPKG_TMP_DIR} } rootfs_ipk_log_check() { -- cgit v1.2.3 From 7e0dca393772c8145fb8dccd1a5898bc4fb7933a Mon Sep 17 00:00:00 2001 From: Chris Conroy Date: Wed, 16 Sep 2009 07:11:14 +0000 Subject: rootfs_ipk.bbclass: move rootfs postprocess command I ran into a problem yesterday where the ROOTFS_POSTPROCESS_COMMAND started failing after I turned off ONLINE_PACKAGE_MANAGEMENT. It seems the problem is that if package management is turned off, then the opkg directory gets deleted. Subsequent opkg commands in the ROOTFS_POSTPROCESS_COMMAND fail to open the lock file because the directory is gone. This patch simply moves the postprocess command above the destruction of the opkg directory to allow any such commands to complete successfully. Acked-by: Marcin Juszkiewicz --- classes/rootfs_ipk.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'classes/rootfs_ipk.bbclass') diff --git a/classes/rootfs_ipk.bbclass b/classes/rootfs_ipk.bbclass index 38d6121529..3a73ed8854 100644 --- a/classes/rootfs_ipk.bbclass +++ b/classes/rootfs_ipk.bbclass @@ -82,6 +82,8 @@ fakeroot rootfs_ipk_do_rootfs () { install -d ${IMAGE_ROOTFS}/${sysconfdir} echo ${BUILDNAME} > ${IMAGE_ROOTFS}/${sysconfdir}/version + + ${ROOTFS_POSTPROCESS_COMMAND} if [ "${ONLINE_PACKAGE_MANAGEMENT}" != "none" ]; then if [ "${ONLINE_PACKAGE_MANAGEMENT}" == "add" ]; then @@ -99,8 +101,6 @@ fakeroot rootfs_ipk_do_rootfs () { rm -rf ${IMAGE_ROOTFS}/usr/lib/opkg fi - ${ROOTFS_POSTPROCESS_COMMAND} - log_check rootfs rm -rf ${IPKG_TMP_DIR} } -- cgit v1.2.3