Package: debian-cd Version: 3.1.25 Severity: normal Tags: d-i newcomer patch
Dear Maintainer, * What led up to the situation? Making a custom sized iso for writing to an extra large BluRay disk (up to 100gb) * What exactly did you do (or not do) that was effective (or ineffective)? I set the following properties in CONF.sh export NONFREE=1 export FORCE_FIRMWARE=1 export DISKTYPE=CUSTOM export CUSTOMSIZE=47304704 CONF.sh make distclean make status make packagelists TASK=Debian-generic COMPLETE=1 make image-trees * What was the outcome of this action? This failed with: ---- Done: read 647 entries for 1 languages Starting to lay out packages into images: Can't exec "/home/steve/debian-cd/tmp/buster/CD1": Permission denied at /home/steve/debian-cd/tools/make_disc_trees.pl line 284, <INLIST> line 75939. Use of uninitialized value $size in scalar chomp at /home/steve/debian-cd/tools/make_disc_trees.pl line 285, <INLIST> line 75939. Use of uninitialized value $size in concatenation (.) or string at /home/steve/debian-cd/tools/make_disc_trees.pl line 286, <INLIST> line 75939. ---- This error is because $size_check` is an empty string, as definied on line 1485 in make_disc_trees.pl: my $size_check = ""; When like 916 is executed it tries to execute the contents of $cddir which is a directory: $size = `$size_check $cddir`; To fix this a copied the definition of $size_check from line 1485: $size_check = "$mkisofs_check $mkisofs_opts $mkisofs_dirs"; to before line 916. Re-running these commands now works as expected: make distclean make status make packagelists TASK=Debian-generic COMPLETE=1 make image-trees I don't pretend to understand the code, but the same problem might exist elsewhere, e.g. line 284. I created a diff like this: $ diff -u make_disc_trees.pl.orig make_disc_trees.pl --- make_disc_trees.pl.orig 2020-05-12 18:44:16.036773037 +0200 +++ make_disc_trees.pl 2020-05-12 18:44:16.068771699 +0200 @@ -913,6 +913,7 @@ $error == 0 || die "DISC_END_HOOK failed with error $error\n"; } + $size_check = "$mkisofs_check $mkisofs_opts $mkisofs_dirs"; $size = `$size_check $cddir`; chomp $size; $bytes = $size * $blocksize; I hope this is of some use and apologise if I've omitted useful information or it's user error. Cheers, Steve -- System Information: Debian Release: 10.2 APT prefers stable APT policy: (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 4.19.0-6-amd64 (SMP w/8 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8) Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages debian-cd depends on: ii apt 1.8.2 ii bc 1.07.1-2+b1 ii bzip2 1.0.6-9.2~deb10u1 ii cpp 4:8.3.0-1 ii curl 7.64.0-4+deb10u1 ii dctrl-tools [grep-dctrl] 2.24-3 ii dpkg-dev 1.19.7 ii genisoimage 9:1.1.11-3+b2 pn libcompress-zlib-perl <none> pn libdigest-md5-perl <none> ii libdpkg-perl 1.19.7 ii lynx 2.8.9rel.1-3 ii make 4.2.1-1.2 ii perl [libdigest-sha-perl] 5.28.1-6 ii tofrodos 1.7.13+ds-4 ii wget 1.20.1-1.1 ii xorriso 1.5.0-1 Versions of packages debian-cd recommends: ii dosfstools 4.1-2 ii hfsutils 3.2.6-14 ii isolinux 3:6.04~git20190206.bf6db5b4+dfsg1-1 ii mtools 4.0.23-1 ii netpbm 2:10.0-15.3+b2 ii syslinux-common 3:6.04~git20190206.bf6db5b4+dfsg1-1 ii syslinux-utils 3:6.04~git20190206.bf6db5b4+dfsg1-1 debian-cd suggests no packages. -- Configuration Files: /etc/debian-cd/conf.sh changed: if [ "$DEBIAN_CD_CONF_SOURCED" = true ]; then return 0 fi unset NONFREE || true unset CONTRIB || true unset EXTRANONFREE || true unset LOCAL || true unset LOCALDEBS || true unset SECURITY || true unset PROPOSED_UPDATES || true unset UNRELEASED || true unset BOOTDIR || true unset SYMLINK || true unset COPYLINK || true unset MKISOFS || true unset MKISOFS_OPTS || true unset ISOLINUX || true unset EXCLUDE || true unset NORECOMMENDS || true unset NOSUGGESTS || true unset IMAGESUMS || true unset JIGDOTEMPLATEURL || true unset JIGDOFALLBACKURLS || true unset JIGDOINCLUDEURLS || true unset JIGDOSCRIPT || true unset JIGDO_OPTS || true unset PUBLISH_URL || true unset PUBLISH_PATH || true unset UDEB_INCLUDE || true unset UDEB_EXCLUDE || true unset BASE_INCLUDE || true unset BASE_EXCLUDE || true unset INSTALLER_CD || true unset MAXCDS || true unset MAXISOS || true unset MAXJIGDOS || true unset SPLASHPNG || true unset OMIT_MANUAL || true unset OMIT_RELEASE_NOTES || true unset OMIT_DOC_TOOLS || true unset MAX_PKG_SIZE || true unset DEBOOTSTRAP_OPTS || true unset ARCHIVE_KEYRING_PACKAGE || true unset ARCHIVE_KEYRING_FILE || true export BASEDIR=`pwd` export CODENAME=buster if [ -z "$DI_CODENAME" ]; then export DI_CODENAME=$CODENAME fi export DEBVERSION="10.0.0" export OFFICIAL="Unofficial" if [ -z "$ARCHES" ]; then CPU=`dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null || true` if [ -z "$CPU" ]; then CPU=`dpkg-architecture -qDEB_HOST_ARCH` fi KERNEL=`dpkg-architecture -qDEB_HOST_ARCH_OS 2>/dev/null || true` if [ -z "$KERNEL" ]; then KERNEL=linux fi if [ $KERNEL = linux ] ; then ARCHES=$CPU else ARCHES="$KERNEL-$CPU" fi export ARCHES fi export MIRROR=/srv/mirror/debian export TDIR=/srv/mirror/tmp export OUT=/srv/mirror/debian-cd-test export APTTMP=/srv/mirror/tmp/apt export NONFREE=1 export CONTRIB=1 export FORCE_FIRMWARE=1 export ISOLINUX=1 export MAX_PKG_SIZE=600000000 ATTEMPT_FALLBACK=yes export DISKTYPE=CUSTOM export CUSTOMSIZE=47304704 export VARIANTS= export IMAGESUMS=1 export JIGDOINCLUDEURLS="http://cdimage.debian.org/debian-cd/debian-servers.jigdo" export PUBLISH_URL="http://cdimage.debian.org/jigdo-area" export PUBLISH_PATH="/home/jigdo-area/" export JIGDO_EXCLUDE="'README*' /doc/ /md5sum.txt /.disk/ /pics/ 'Release*' 'Packages*' 'Sources*'" export JIGDO_INCLUDE="/pool/" export JIGDO_OPTS="-jigdo-min-file-size 1024" for EXCL in $JIGDO_EXCLUDE; do JIGDO_OPTS="$JIGDO_OPTS -jigdo-exclude $EXCL" done for INCL in $JIGDO_INCLUDE; do JIGDO_OPTS="$JIGDO_OPTS -jigdo-force-md5 $INCL" done export SNAPURL=Debian=http://snapshot.debian.org/archive/debian/SNAPDATETIME/ export OMIT_RELEASE_NOTES=1 case "$OFFICIAL" in "Official") export OFFICIAL_VAL=2 ;; "Official Beta") export OFFICIAL_VAL=1 ;; *) export OFFICIAL_VAL=0 ;; esac if [ -d "/etc/ssl/ca-debian" ]; then export WGET_OPTS="--ca-directory /etc/ssl/ca-debian/" fi export WGET="wget $WGET_OPTS" -- no debconf information