Hi,

although it was not the final solution of this bug report, i beefed up
my merger script for Debian ISOs so that it can combine an arbitrary
number of ISOs (within the limits of /dev/loop* and mount(8)).
Maybe it can serve as answer for the next time this wish comes up.

The script is uploaded as

  
https://dev.lovelyhq.com/libburnia/libisoburn/raw/branch/master/test/merge_debian_isos

with GPG detached signature
  
https://dev.lovelyhq.com/libburnia/libisoburn/raw/branch/master/test/merge_debian_isos.sig
for checking by gpg --verify.

After download, the user probably has to give x-permissions to the script.

When run without arguments it gives this help text:
-----------------------------------------------------------------------

  usage: merge_debian_isos result_iso mount_template iso1 iso2 [... isoN]

  Mounts by sudo the ISO 9660 images iso1 to isoN at directories
  mount_template1 to mount_templateN, if not already mounted that way.
  Then the Debian pools and package lists get merged and a new
  ISO 9660 image result_iso is produced, which must not yet exist.
  If iso1 is bootable then the new image will be bootable by the
  same means.
  At least the parent directory of mount_template must already exist.
  All arguments must be single words without using quotation marks.
  None of the isoN must be equal to another isoM.

  This script creates and finally removes the following temporary tree
  and files which must not yet exist in the current working directory:
    ./merged_dists , ./merged_md5sum.txt , ./merged_REAMDE.txt
    ./temp_file
  Further it creates and finally removes directories mount_template*
  if they are needed and do not exist when the script starts.
  It depends on the following programs:
    awk, basename, bash, cat, chmod, cp, dirname, expr, fgrep, grep,
    gunzip, gzip, head, ls, mkdir, mount, mv, rm, rmdir, sha256sum,
    sed, sort, stat, sudo, umount, xorriso
  Recommended are: md5sum, sha1sum, sha512sum

  Exported non-empty variable MERGE_DATE enforces a particular
  date string in the text which gets prepended to /README.txt .
  Exported non-empty variable MERGE_FOR_DIST enforces the use of a
  particular directory in /dists of iso1. Normally only one
  such directory is found and thus no need to set MERGE_FOR_DIST.
  Exported non-empty variable XORRISO overrides command xorriso.
  This may be needed if installed xorriso is older than 1.4.2.

  Example using GNU xorriso-1.5.4 instead of /usr/bin/xorriso:
    export XORRISO=$HOME/xorriso-1.5.4/xorriso/xorriso
    mkdir merge_mount
    merge_debian_isos merged.iso merge_mount/iso \
                      debian-11.2.0-amd64-DVD-[12345].iso
    rmdir merge_mount

-----------------------------------------------------------------------

The old script merge_2_debian_isos still exists but will refuse to run,
unless the user removes an exit command near the start of the script.
In its downloaded form it tells the user:
-----------------------------------------------------------------------
  THIS SCRIPT IS DEPRECATED ! USE ITS SUCCESSOR: merge_debian_isos

  The script merge_2_debian_isos still exists only because it was mentioned
  in Debian bug 1011343. The successor can merge more than two ISOs.
  So do not edit this script to remove this warning and the 'exit 7' line.
-----------------------------------------------------------------------

I tested the new script by merging the first three ISOs of
  debian-11.2.0-amd64-DVD-*.iso
and installing Debian from the result into a qemu-system-x86_64 VM with
4 GB RAM and 128 GB system disk.

After the installation was completed, i successfuly installed packages
which are in DVDs 1, 2, and 3 and were not installed yet:
  apt-get install apt-file
  apt-get install lame
  apt-get install xorriso

To verify that this success does not come from an unwanted network
connection i tried to install packages from DVD 4
  apt-get install bash-doc
  apt-get install devede
Both attempts failed with the message that the packages are not available.


Have a nice day :)

Thomas

Reply via email to