|
|
# This is the shortest possible target build.sh script. Some targets will # add code after calling pkgloop() or modify pkgloop's behavior by defining # a new pkgloop_action() function. # pkgloop
echo_header "Finishing build."
echo_status "Selecting bin packages ..." rm -rf build/${ROCKCFG_ID}/ROCK/pkgs_sel mkdir -p build/${ROCKCFG_ID}/ROCK/pkgs_sel (cd build/${ROCKCFG_ID}/ROCK/pkgs/; ls | xargs ln --target-directory="../pkgs_sel";)
# :doc packages are nice but in most cases never used (cd build/${ROCKCFG_ID}/ROCK/pkgs_sel/; rm -f *:doc{-*,}.gem;)
# remove packages which haven't been built in stages 0-8 if [ "$ROCKCFG_TARGET_CRYSTAL_BUILDADDONS" = 1 ]; then for gemfile in build/${ROCKCFG_ID}/ROCK/pkgs_sel/*.gem; do if ! mine -k packages $gemfile | grep -q '^Build \[[0-8]\] at '; then rm -f $gemfile fi done fi
# do not include the linux source package on the install media rm build/${ROCKCFG_ID}/ROCK/pkgs_sel/linux2?-source-*.gem
echo_status "Selecting info files ..." rm -rf build/${ROCKCFG_ID}/ROCK/info_sel mkdir -p build/${ROCKCFG_ID}/ROCK/info_sel cp -rl build/${ROCKCFG_ID}/var/adm/` `{cksums,dependencies,descs,flists,md5sums,packages} \
build/${ROCKCFG_ID}/ROCK/info_sel/.
grep -hr '^Package Name and Version:' \
build/${ROCKCFG_ID}/ROCK/info_sel/packages | awk '{ print $5 " " $6 "-" $7; }' | while read p v; do if [ ! -f build/${ROCKCFG_ID}/ROCK/pkgs_sel/$p-$v.gem ]; then echo build/${ROCKCFG_ID}/ROCK/info_sel/*/$p fi done | xargs -r rm
echo_status "Creating package database (everything) ..." admdir="build/${ROCKCFG_ID}/var/adm" create_package_db $admdir build/${ROCKCFG_ID}/ROCK/pkgs
echo_status "Creating package database (install media) ..." admdir="build/${ROCKCFG_ID}/ROCK/info_sel" create_package_db $admdir build/${ROCKCFG_ID}/ROCK/pkgs_sel
echo_status "Creating isofs.txt file .." cat << EOT > build/${ROCKCFG_ID}/ROCK/isofs.txt DISK1 $admdir/cksums/ ${ROCKCFG_SHORTID}/info/cksums/ DISK1 $admdir/dependencies/ ${ROCKCFG_SHORTID}/info/dependencies/ DISK1 $admdir/descs/ ${ROCKCFG_SHORTID}/info/descs/ DISK1 $admdir/flists/ ${ROCKCFG_SHORTID}/info/flists/ DISK1 $admdir/md5sums/ ${ROCKCFG_SHORTID}/info/md5sums/ DISK1 $admdir/packages/ ${ROCKCFG_SHORTID}/info/packages/ EVERY build/${ROCKCFG_ID}/ROCK/pkgs_sel/packages.db ${ROCKCFG_SHORTID}/pkgs/packages.db SPLIT build/${ROCKCFG_ID}/ROCK/pkgs_sel/ ${ROCKCFG_SHORTID}/pkgs/ EOT
|