package_rpm/deb/ipk: Error if we don't find packages when creating the package index

If for whatever reason the package directory is empty of packages, it
makes sense to error early rather than later in what become much
more obtuse errors. This adds in a sanity check to each of the packaging
backends. It also removes the duplicate createrepo call since the
core index creation function now uses this directly after the switch
to smart.

(From OE-Core rev: 721ef058b37604e100021ec7a90ad2f745d83916)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2013-02-17 08:57:17 +00:00
parent 069a332d1c
commit 74938e387c
3 changed files with 19 additions and 4 deletions

View File

@ -78,6 +78,7 @@ package_update_index_deb () {
fi
done
found=0
for arch in $debarchs; do
if [ ! -d ${DEPLOY_DIR_DEB}/$arch ]; then
continue;
@ -85,7 +86,11 @@ package_update_index_deb () {
cd ${DEPLOY_DIR_DEB}/$arch
dpkg-scanpackages . | gzip > Packages.gz
echo "Label: $arch" > Release
found=1
done
if [ "$found" != "1" ]; then
bbfatal "There are no packages in ${DEPLOY_DIR_DEB}!"
fi
}
#
@ -457,6 +462,6 @@ do_package_write_deb[umask] = "022"
addtask package_write_deb before do_package_write after do_packagedata do_package
PACKAGEINDEXES += "package_update_index_deb;"
PACKAGEINDEXES += "[ ! -e ${DEPLOY_DIR_DEB} ] || package_update_index_deb;"
PACKAGEINDEXDEPS += "dpkg-native:do_populate_sysroot"
PACKAGEINDEXDEPS += "apt-native:do_populate_sysroot"

View File

@ -216,12 +216,17 @@ package_update_index_ipk () {
packagedirs="$packagedirs ${DEPLOY_DIR_IPK}/$arch"
done
found=0
for pkgdir in $packagedirs; do
if [ -e $pkgdir/ ]; then
found=1
touch $pkgdir/Packages
flock $pkgdir/Packages.flock -c "opkg-make-index -r $pkgdir/Packages -p $pkgdir/Packages -m $pkgdir/"
fi
done
if [ "$found" != "1" ]; then
bbfatal "There are no packages in ${DEPLOY_DIR_IPK}!"
fi
}
#
@ -483,6 +488,6 @@ do_package_write_ipk[cleandirs] = "${PKGWRITEDIRIPK}"
do_package_write_ipk[umask] = "022"
addtask package_write_ipk before do_package_write after do_packagedata do_package
PACKAGEINDEXES += "package_update_index_ipk;"
PACKAGEINDEXES += "[ ! -e ${DEPLOY_DIR_IPK} ] || package_update_index_ipk;"
PACKAGEINDEXDEPS += "opkg-utils-native:do_populate_sysroot"
PACKAGEINDEXDEPS += "opkg-native:do_populate_sysroot"

View File

@ -20,7 +20,7 @@ python package_rpm_install () {
# Update the packages indexes ${DEPLOY_DIR_RPM}
#
package_update_index_rpm () {
if [ ! -z "${DEPLOY_KEEP_PACKAGES}" -o ! -e "${DEPLOY_DIR_RPM}" ]; then
if [ ! -z "${DEPLOY_KEEP_PACKAGES}" ]; then
return
fi
@ -45,11 +45,16 @@ package_update_index_rpm () {
echo $arch
done | sort | uniq`
found=0
for arch in $archs; do
if [ -d ${DEPLOY_DIR_RPM}/$arch ] ; then
createrepo --update -q ${DEPLOY_DIR_RPM}/$arch
found=1
fi
done
if [ "$found" != "1" ]; then
bbfatal "There are no packages in ${DEPLOY_DIR_RPM}!"
fi
}
rpm_log_check() {
@ -1129,6 +1134,6 @@ do_package_write_rpm[cleandirs] = "${PKGWRITEDIRRPM}"
do_package_write_rpm[umask] = "022"
addtask package_write_rpm before do_package_write after do_packagedata do_package
PACKAGEINDEXES += "package_update_index_rpm; [ ! -e ${DEPLOY_DIR_RPM} ] || createrepo ${DEPLOY_DIR_RPM};"
PACKAGEINDEXES += "[ ! -e ${DEPLOY_DIR_RPM} ] || package_update_index_rpm;"
PACKAGEINDEXDEPS += "rpm-native:do_populate_sysroot"
PACKAGEINDEXDEPS += "createrepo-native:do_populate_sysroot"