diff --git a/Documentation/Developers/CHANGELOG-RENE b/Documentation/Developers/CHANGELOG-RENE index 6ad807ba6..12da98275 100644 --- a/Documentation/Developers/CHANGELOG-RENE +++ b/Documentation/Developers/CHANGELOG-RENE @@ -6,7 +6,11 @@ - Alan J. Wylie: added libmcrypt - Tobias C. Rittweiler: improved missing binary check and Build-Pkg argument parsing + re-disabled the build of binary packages for packages + with error - improved Build-Pkg argument parsing further + - improved create_package_db to not include failed packages into the database + file *) 2003-08-29 (2.0.0-rc1 - 2.0.0-rc2) diff --git a/scripts/Build-Target b/scripts/Build-Target index c7b8a7200..cbf8b0b10 100755 --- a/scripts/Build-Target +++ b/scripts/Build-Target @@ -298,39 +298,45 @@ pkgloop_package() { if [ $pkg_laststage -eq $stagelevel ] && \ [ "$ROCKCFG_CREATE_TARBZ2" = 1 -o "$ROCKCFG_CREATE_GEM" = 1 ] then - echo_header "Creating binary package file for ${pkg_name}." - mkdir -p "${build_pkgs}" + if [ -f ${build_root}/var/adm/logs/$stagelevel-$pkg_name.err ] + then echo_error "Creation of binary package isn't possible," + echo_error "because the package was not successfully" + echo_error "built in (at least) the current stage." + else + echo_header "Creating binary package file for ${pkg_name}." + mkdir -p "${build_pkgs}" - if [ "$ROCKCFG_PKGFILE_VER" = 1 ] - then v="-${pkg_ver}"; else v=""; fi + if [ "$ROCKCFG_PKGFILE_VER" = 1 ] + then v="-${pkg_ver}"; else v=""; fi - echo_status "Building build/.../pkgs/` + echo_status "Building build/.../pkgs/` `${pkg_name}${v}.tar.bz2" - ( cd "$build_root/" - cut -f2- -d' ' var/adm/flists/$pkg_name | \ - tar -cf- --no-recursion --files-from=- | bzip2 - ) > "${build_pkgs}/${pkg_name}${v}.tar.bz2.tmp" + ( cd "$build_root/" + cut -f2- -d' ' var/adm/flists/$pkg_name | \ + tar -cf- --no-recursion --files-from=- | bzip2 + ) > "${build_pkgs}/${pkg_name}${v}.tar.bz2.tmp" - if [ "$ROCKCFG_CREATE_GEM" = 1 ] ; then - echo_status "Building build/.../pkgs/` + if [ "$ROCKCFG_CREATE_GEM" = 1 ] ; then + echo_status "Building build/.../pkgs/` `${pkg_name}${v}.gem" - mine -C "$build_root/var/adm" \ - "${build_pkgs}/${pkg_name}${v}.tar.bz2.tmp" \ - $pkg_name "$build_pkgs/${pkg_name}${v}.gem.tmp" - fi + mine -C "$build_root/var/adm" \ + "${build_pkgs}/${pkg_name}${v}.tar.bz2.tmp" \ + $pkg_name "$build_pkgs/${pkg_name}${v}.gem.tmp" + fi - if [ "$ROCKCFG_CREATE_TARBZ2" = 1 ] ; then - mv "$build_pkgs/${pkg_name}${v}.tar.bz2.tmp" \ - "$build_pkgs/${pkg_name}${v}.tar.bz2" - if [ "$ROCKCFG_CREATE_GEM" = 1 ] ; then + if [ "$ROCKCFG_CREATE_TARBZ2" = 1 ] ; then + mv "$build_pkgs/${pkg_name}${v}.tar.bz2.tmp" \ + "$build_pkgs/${pkg_name}${v}.tar.bz2" + if [ "$ROCKCFG_CREATE_GEM" = 1 ] ; then + mv "$build_pkgs/${pkg_name}${v}.gem.tmp" \ + "$build_pkgs/${pkg_name}${v}.gem" + fi + else + echo_status "Removing temporary tar.bz2." + rm -f "$build_pkgs/${pkg_name}${v}.tar.bz2.tmp" mv "$build_pkgs/${pkg_name}${v}.gem.tmp" \ "$build_pkgs/${pkg_name}${v}.gem" fi - else - echo_status "Removing temporary tar.bz2." - rm -f "$build_pkgs/${pkg_name}${v}.tar.bz2.tmp" - mv "$build_pkgs/${pkg_name}${v}.gem.tmp" \ - "$build_pkgs/${pkg_name}${v}.gem" fi fi } diff --git a/scripts/functions b/scripts/functions index 3b25f3b21..4eee757bc 100644 --- a/scripts/functions +++ b/scripts/functions @@ -374,22 +374,39 @@ register_application() { # Create Package Database for gasgui install tool # create_package_db() { - for pkg in $( ls -dr $1/descs/?* ) - do - pkg="${pkg##*/}" - [ "$pkg" = TRANS.TBL ] && continue + for pkg in $( ls -dr $1/descs/?* ) ; do + # only include the package if a binary file is available + if [ "$ROCKCFG_PKGFILE_VER" = 1 ] ; then + v=-$(grep '^Package Name and Version' \ + /var/adm/packages/$pkg | cut -f6 -d' ') + else + v="" + fi + if [ "$ROCKCFG_CREATE_GEM" = 1 ] ; then + file=$(pkg)$(v).gem + else + file=$(pkg)$(v).tar.bz2 + fi + + if [ -e $file ] ; then + pkg="${pkg##*/}" + [ "$pkg" = TRANS.TBL ] && continue - echo -e "$pkg" - echo -e "\027" + echo -e "$pkg" + echo -e "\027" - cat $1/descs/$pkg - echo -e "\027" + cat $1/descs/$pkg + echo -e "\027" - cat $1/dependencies/$pkg - echo -e "\027" + cat $1/dependencies/$pkg + echo -e "\027" - cat $1/cksums/$pkg - echo -e "\027" + cat $1/cksums/$pkg + echo -e "\027" + else + echo_error "Binary file $file not present." + echo error "Skipped in package database." + fi done | gzip } diff --git a/target/generic/build.sh b/target/generic/build.sh index 7b8028e52..d85658f6a 100755 --- a/target/generic/build.sh +++ b/target/generic/build.sh @@ -9,7 +9,8 @@ echo_header "Finishing build." echo_status "Creating package database ..." admdir="build/${ROCKCFG_ID}/root/var/adm" -create_package_db $admdir > build/${ROCKCFG_ID}/packages.db +create_package_db $admdir build/${ROCKCFG_ID}/pkgs \ + > build/${ROCKCFG_ID}/packages.db echo_status "Creating isofs.txt file .." cat << EOT > build/${ROCKCFG_ID}/isofs.txt @@ -23,3 +24,4 @@ DISK1 $admdir/packages/ ${ROCKCFG_SHORTID}/info/packages/ EVERY build/${ROCKCFG_ID}/packages.db ${ROCKCFG_SHORTID}/packages.db SPLIT build/${ROCKCFG_ID}/pkgs/ ${ROCKCFG_SHORTID}/pkgs/ EOT + diff --git a/target/reference/build.sh b/target/reference/build.sh index f587e7c98..334cd920f 100644 --- a/target/reference/build.sh +++ b/target/reference/build.sh @@ -39,7 +39,8 @@ cp $build_root/var/adm/logs/*.err $build_result/errors/ echo_status "Creating package database ..." admdir="build/${ROCKCFG_ID}/root/var/adm" -create_package_db $admdir > build/${ROCKCFG_ID}/packages.db +create_package_db $admdir build/${ROCKCFG_ID}/pkgs \ + > build/${ROCKCFG_ID}/packages.db echo_status "Creating isofs.txt file .." cat << EOT > build/${ROCKCFG_ID}/isofs.txt