--- distribute.old 2002-12-18 16:48:27 +0300 +++ usr/bin/distribute 2005-02-26 23:42:37 +0300 @@ -21,6 +21,14 @@ #set -x # Changes: +# , 2005 Jan 09: +# - Add --recordcd option for record CD disk immediately, without ISO image +# - REMOVED: add filename encoding variable +# , 2004 Sep 10: +# - Fix getSize function for new coreutils +# - Add --recorddvd option for record DVD disk immediately, without ISO image +# - Add pause between multiple disk recording +# # , 2002 Oct 21: # - Fix stopping after clearing is PASSED (nothing to clear): # + make all echo_*() always return successfully; @@ -195,7 +203,7 @@ if [[ "$INDEX_FOR_APT" == "yes" ]]; then if [[ ! "$SUFFIX" ]]; then echo $"The suffix is obligatory for CDs indexed for APT! Set it." >&2 - exit 1 + #exit 1 fi if echo "$CD_COLLECTION_TITLE" | fgrep --silent '@'; then echo $"Do not use '@' in the title for a CD that stores pkgs for \ @@ -239,7 +247,7 @@ trap failed ERR set -o errexit zeroDelimited "$@" | xargs -0 --no-run-if-empty \ - stat --dereference --format='%s' -- + stat --dereference --format='%s ' -- #set +o errexit } fi @@ -253,11 +261,40 @@ && success || failure } +function recordcd() { + local -r iso_id="$1"; shift + enter_stage "Making ISO disk and writing CD disk on the fly" + if shift; then + echo "Press any key to start writing..." + read + fi + start_action $"making ISO and writing %s" "$iso_id" + mkisofs -J -r -f -quiet "$THIS_LAYOUTS_DIR/$iso_id" | cdrecord -tao -v -eject -\ + && success || failure +} + + +function recorddvd() { + local -r iso_id="$1"; shift + enter_stage "Writing DVD disk" + if shift; then + echo "Press any key to start writing..." + read + fi + start_action $"growing ISO and writing %s" "$iso_id" + growisofs -Z /dev/dvd -v -J -r -f "$THIS_LAYOUTS_DIR/$iso_id" \ + && success || failure +} + function record() { local -r iso_file="$1"; shift enter_stage "Recording disks" start_action $"writing %s" "$iso_file" + if shift; then + echo "Press any key to start writing..." + read + fi cdrecord -v -eject "$THIS_ISOS_DIR/$iso_file" \ && success || failure } @@ -424,7 +459,7 @@ # of the files already put into filesToEat; # it is set and reset externally. for p in "${allFiles[@]}"; do - if (( totalsize + ${allSizes[$(( no ))]} > CDVOLUME )); then + if (( totalsize + ${allSizes[$(( no ))]} > $CDVOLUME )); then eatFiles "${filesToEat[@]}" filesToEat=() finishCD @@ -681,10 +716,30 @@ mkiso cd"$ISO_ID" fi ;; +--recorddvd) + # List it before to check whether all link targets are there: + list + readonly ISO_ID="$1"; if ! shift; then + echo $"Writing all DVDs:" + for cd in "$THIS_LAYOUTS_DIR"/cd[0-9]*; do [ -d "$cd" ] && recorddvd "$(basename "$cd")" pause; done + else + recorddvd cd"$ISO_ID" + fi + ;; +--recordcd) + # List it before to check whether all link targets are there: + list + readonly ISO_ID="$1"; if ! shift; then + echo $"Writing all CDs:" + for cd in "$THIS_LAYOUTS_DIR"/cd[0-9]*; do [ -d "$cd" ] && recordcd "$(basename "$cd")" pause; done + else + recordcd cd"$ISO_ID" + fi + ;; --record) readonly ISO_ID="$1"; if ! shift; then echo $"Writing all ISOs:" - for cd in "$THIS_ISOS_DIR"/cd*.iso; do record "$(basename "$cd")"; done + for cd in "$THIS_ISOS_DIR"/cd*.iso; do record "$(basename "$cd")" pause; done else record cd"$ISO_ID".iso fi --- distribute 2005-02-28 15:32:09 +0300 +++ usr/bin/distribute 2005-06-15 10:55:16 +0400 @@ -539,7 +539,7 @@ title="$(< "$THIS_LAYOUTS_DIR/cd$(( cdN ))"/.disk/info)" \ PREFIX="$PREFIX" \ ARCH="$ARCH" \ - php -q -d short_open_tag=Off "$f" \ + php -q -d short_open_tag=Off -d register_globals=On "$f" \ > "$THIS_LAYOUTS_DIR/cd$(( cdN ))"/index"$ext".html done for f in "$DISK_DESCRIPTION_SOURCE"*.css; do --- helpdata.o 2005-07-22 02:42:41 +0400 +++ usr/lib/distribute/helpdata 2005-07-22 02:44:18 +0400 @@ -134,6 +134,8 @@ echo "When you have laid out the future disks, you will probably want \ to manipulate the ISOs for them:" echo " $0 TASKNAME (--mkiso | --record | --rmiso | --lsiso) [ N ]" +echo "If you wish to write disks on the fly, use " +echo " $0 TASKNAME (--recordcd | --recorddvd) [ N ]" echo echo echo @@ -188,6 +190,7 @@ echo " $0 TASKNAME --LAYOUT-FULL STATE_ID" echo " $0 TASKNAME (--clear | --split-full STATE_ID | --index | --list)" echo " $0 TASKNAME (--mkiso | --record | --rmiso | --lsiso) [ N ]" +echo " $0 TASKNAME (--recordcd | --recorddvd ) [ N ]" echo " $0 TASKNAME --LAYOUT-DIFF STATE_ID ANOTHER_BASE_ID" echo " $0 TASKNAME --rm-base STATE_ID" echo " $0 TASKNAME --make-plain-index STATE_ID [ DEST_DIR ]"