classes: Add mechanism to install packages into images only if they've been built
This commit is contained in:
parent
1e967ea93e
commit
436c5f4716
|
@ -9,6 +9,7 @@ INHIBIT_DEFAULT_DEPS = "1"
|
|||
# "export IMAGE_BASENAME" not supported at this time
|
||||
IMAGE_BASENAME[export] = "1"
|
||||
export PACKAGE_INSTALL ?= "${IMAGE_INSTALL}"
|
||||
PACKAGE_INSTALL_ATTEMPTONLY ?= ""
|
||||
|
||||
# We need to recursively follow RDEPENDS and RRECOMMENDS for images
|
||||
do_rootfs[recrdeptask] += "do_deploy do_populate_staging"
|
||||
|
@ -36,6 +37,7 @@ python () {
|
|||
bb.data.setVarFlag('do_rootfs', 'depends', deps, d)
|
||||
|
||||
runtime_mapping_rename("PACKAGE_INSTALL", d)
|
||||
runtime_mapping_rename("PACKAGE_INSTALL_ATTEMPTONLY", d)
|
||||
}
|
||||
|
||||
#
|
||||
|
|
|
@ -81,12 +81,20 @@ fakeroot rootfs_deb_do_rootfs () {
|
|||
if [ $? -ne 0 ]; then
|
||||
exit 1
|
||||
fi
|
||||
find ${IMAGE_ROOTFS} -name \*.dpkg-new | for i in `cat`; do
|
||||
mv $i `echo $i | sed -e's,\.dpkg-new$,,'`
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
rm ${WORKDIR}/temp/log.do_$target-attemptonly.${PID}
|
||||
if [ ! -z "${PACKAGE_INSTALL_ATTEMPTONLY}" ]; then
|
||||
for i in ${PACKAGE_INSTALL_ATTEMPTONLY}; do
|
||||
apt-get install $i --force-yes --allow-unauthenticated >> ${WORKDIR}/temp/log.do_$target-attemptonly.${PID} || true
|
||||
done
|
||||
fi
|
||||
|
||||
find ${IMAGE_ROOTFS} -name \*.dpkg-new | for i in `cat`; do
|
||||
mv $i `echo $i | sed -e's,\.dpkg-new$,,'`
|
||||
done
|
||||
|
||||
install -d ${IMAGE_ROOTFS}/${sysconfdir}
|
||||
echo ${BUILDNAME} > ${IMAGE_ROOTFS}/${sysconfdir}/version
|
||||
|
||||
|
|
|
@ -42,6 +42,10 @@ fakeroot rootfs_ipk_do_rootfs () {
|
|||
opkg-cl ${IPKG_ARGS} install ${PACKAGE_INSTALL}
|
||||
fi
|
||||
|
||||
if [ ! -z "${PACKAGE_INSTALL_ATTEMPTONLY}" ]; then
|
||||
opkg-cl ${IPKG_ARGS} install ${PACKAGE_INSTALL_ATTEMPTONLY} > "${WORKDIR}/temp/log.do_rootfs_attemptonly.${PID}" || true
|
||||
fi
|
||||
|
||||
export D=${IMAGE_ROOTFS}
|
||||
export OFFLINE_ROOT=${IMAGE_ROOTFS}
|
||||
export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS}
|
||||
|
|
|
@ -110,6 +110,10 @@ EOF
|
|||
fakechroot yum ${YUMARGS} -y install ${PACKAGE_INSTALL}
|
||||
fi
|
||||
|
||||
if [ ! -z "${PACKAGE_INSTALL_ATTEMPTONLY}" ]; then
|
||||
fakechroot yum ${YUMARGS} -y install ${PACKAGE_INSTALL_ATTEMPTONLY} > ${WORKDIR}/temp/log.do_$target-attemptonly.${PID} || true
|
||||
fi
|
||||
|
||||
# Add any recommended packages to the image
|
||||
# (added as an extra script since yum itself doesn't support this)
|
||||
yum-install-recommends.py ${IMAGE_ROOTFS} "fakechroot yum ${YUMARGS} -y install"
|
||||
|
|
Loading…
Reference in New Issue