diff options
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/package_deb.bbclass | 7 | ||||
-rw-r--r-- | meta/classes/package_ipk.bbclass | 7 | ||||
-rw-r--r-- | meta/classes/package_rpm.bbclass | 9 |
3 files changed, 19 insertions, 4 deletions
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass index 5740948c1a..f4b18c36d0 100644 --- a/meta/classes/package_deb.bbclass +++ b/meta/classes/package_deb.bbclass @@ -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" diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass index e5e76ef278..526c3aecb1 100644 --- a/meta/classes/package_ipk.bbclass +++ b/meta/classes/package_ipk.bbclass @@ -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" diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass index 8ea2bbedb2..8eb93ce15d 100644 --- a/meta/classes/package_rpm.bbclass +++ b/meta/classes/package_rpm.bbclass @@ -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" |