Package: release.debian.org
Severity: normal
Tags: bookworm
User: release.debian....@packages.debian.org
Usertags: pu
X-Debbugs-Cc: di-netboot-assist...@packages.debian.org, a...@debian.org
Control: affects -1 + src:di-netboot-assistant

[ Reason ]
With Bookworm, a few modifications have happened to the Debian Live ISO
images' meta data [1].  These changes make di-netboot-assistant
partially fail when bookworm ISO images are in use (the menus for the
network boot loaders like grub and iPXE are not generated properly).

The Live ISO images side has improved and stabilized [2], and also
di-netboot-assistant has been made more robust to account for these
modifications.  In addition a few minor fixes to documentation and
examples (bookworm, preseed file) have been applied.

[1] https://lists.debian.org/debian-live/2023/06/msg00023.html
[2] https://lists.debian.org/debian-live/2023/07/msg00030.html

[ Impact ]
The inclusion of bookworm live ISO images fails.

[ Tests ]
I tested the changes with the 12.2.0 gnome, kde and standard ISOs.
Grub and iPXE menu.

[ Risks ]
There are almost no risks involved.

[ Checklist ]
  [X] *all* changes are documented in the d/changelog
  [X] I reviewed all changes and I approve them
  [X] attach debdiff against the package in (old)stable
  [X] the issue is verified as fixed in unstable

[ Changes ]
Mostly parsing latest meta data from the live images and more robust
handling of kernel/initrd (with/without version number).

[ Other info ]
I'll already upload the updated package.
The release team is doing a great job, thank you!
diff -Nru di-netboot-assistant-0.76/config/grub.cfg.HEAD 
di-netboot-assistant-0.78~deb12u1/config/grub.cfg.HEAD
--- di-netboot-assistant-0.76/config/grub.cfg.HEAD      2023-03-16 
17:05:12.000000000 +0100
+++ di-netboot-assistant-0.78~deb12u1/config/grub.cfg.HEAD      2023-06-18 
09:11:47.000000000 +0200
@@ -18,7 +18,7 @@
 set default='Boot from local disk..'
 #set timeout=10
 
-if background_image 
/d-i/n-pkg/images/11/amd64/text/debian-installer/amd64/boot-screens/splash.png; 
then
+if background_image 
/d-i/n-pkg/images/12/amd64/text/debian-installer/amd64/boot-screens/splash.png; 
then
   set color_normal=light-gray/black
   set color_highlight=white/black
 elif background_image /d-i/n-a/stable/amd64/boot-screens/splash.png; then
diff -Nru di-netboot-assistant-0.76/debian/changelog 
di-netboot-assistant-0.78~deb12u1/debian/changelog
--- di-netboot-assistant-0.76/debian/changelog  2023-03-16 17:05:12.000000000 
+0100
+++ di-netboot-assistant-0.78~deb12u1/debian/changelog  2023-06-18 
09:11:47.000000000 +0200
@@ -1,3 +1,10 @@
+di-netboot-assistant (0.78~deb12u1) bookworm; urgency=medium
+
+  * Fixes for bookworm live iso image inclusion.
+  * Update/add/fix preseed examples.  Thanks to Holger Wansing.
+
+ -- Andreas B. Mundt <a...@debian.org>  Sun, 18 Jun 2023 09:11:47 +0200
+
 di-netboot-assistant (0.76) unstable; urgency=medium
 
   * Fix typo in preseeding example.
diff -Nru di-netboot-assistant-0.76/di-netboot-assistant 
di-netboot-assistant-0.78~deb12u1/di-netboot-assistant
--- di-netboot-assistant-0.76/di-netboot-assistant      2023-03-16 
17:05:12.000000000 +0100
+++ di-netboot-assistant-0.78~deb12u1/di-netboot-assistant      2023-06-18 
09:11:47.000000000 +0200
@@ -26,7 +26,7 @@
 
 # ------------------ Declare the constants ------------------- #
 PACKAGE_NAME=di-netboot-assistant
-PACKAGE_VERSION=0.76
+PACKAGE_VERSION=0.78
 
 # -------------- Initialize the global variables ------------- #
 OFFLINE=false
@@ -253,8 +253,8 @@
 # Returns: (EXIT STATUS) 0=Success, 1=Error
 # ------------------------------------------------------------ #
 prepare_grub() {
-    local v="" opt=$1 VERS V GRUB AR DIR 
-    
+    local v="" opt=$1 VERS V GRUB AR DIR
+
     $VERBOSE && v="-v"
     [ -z "$opt"  ] && [ -d $TFTP_ROOT/$N_A_DIR/grub ] && return 0
 
@@ -263,7 +263,7 @@
     [ ! -e "$TFTP_ROOT/debian-installer" ] && \
         ln -srv $TFTP_ROOT/$N_A_DIR/ $TFTP_ROOT/debian-installer
 
-    for AR in x64 aa64 ; do 
+    for AR in x64 aa64 ; do
         ## We link bootnet*.efi and grub*.efi from the latest available image:
         echo "I: Preparing EFI executables for '${AR}'."
         GRUB=""
@@ -533,7 +533,7 @@
 
 EOF
         sed -i "s%\(\# END_PKG_LIVE_MENU.*\)%item $tag $title\n\1%" menu.ipxe
-        
+
         for AR in amd64 arm64 ; do
             gcfg="${TFTP_ROOT}/${relpath}/debian-installer/${AR}/grub/grub.cfg"
             if [ -f "$gcfg" ] ; then
@@ -560,7 +560,7 @@
         relpath=$(dirname "$x" | sed -e "s#${TFTP_ROOT}##" -e "s#^/*##" -e 
"s#\/.disk##")
         # shellcheck disable=SC2034
         ISO_NAME=$(basename "$relpath")
-        title=$(sed -e "s#Official ##" -e "s#T.*\$##" "$x")
+        title="$(sed -e "s#Official ##" -e 
"s#\(T\|-\)[0-9]\{2\}:[0-9]\{2\}\$##" "$x")"
         ## We cannot modify the iso images, copy grub.cfg instead:
         cfg="${TFTP_ROOT}/${relpath}/isolinux/menu.cfg"
         ncfgdir="live/pxe-${relpath//'/'/'_'}"
@@ -578,9 +578,9 @@
 
 EOF
 
-        tag="$(echo "$title" | cut -d ' ' -f4,5,6 | sed "s/ /_/g")"
-        linux="$(find "${TFTP_ROOT}/${relpath}/live/" -name 'vmlinuz*' -exec 
basename '{}' \; )"
-        initrd="$(find "${TFTP_ROOT}/${relpath}/live/" -name 'initrd*' -exec 
basename '{}' \; )"
+        tag="${ISO_NAME}-LiveISOImage"
+        linux="$(find "${TFTP_ROOT}/${relpath}/live/" -name 'vmlinuz*' -printf 
"%f" -quit)"
+        initrd="$(find "${TFTP_ROOT}/${relpath}/live/" -name 'initrd*' -printf 
"%f" -quit)"
         cat >> menu.ipxe <<EOF
 :$tag
     echo Booting $title
@@ -598,6 +598,7 @@
             print_do_not_edit_header "$gcfg" > "${TFTP_ROOT}/$N_A_DIR/$ngcfg"
             sed -e "s#live#$relpath/live#" -e "s#isolinux#$relpath/isolinux#" \
                 -e "s#\"\${loopback}\"#fetch=$(eval echo "${SQUASHIMG}")#" \
+                -e "s# findiso=\${iso_path}# fetch=$(eval echo 
"${SQUASHIMG}")#" \
                 "$gcfg" >> "$ngcfg"
             cat >> grub/grub.cfg <<EOF
 menuentry '$title' {
diff -Nru di-netboot-assistant-0.76/examples/preseed.cfg 
di-netboot-assistant-0.78~deb12u1/examples/preseed.cfg
--- di-netboot-assistant-0.76/examples/preseed.cfg      2023-03-16 
17:05:12.000000000 +0100
+++ di-netboot-assistant-0.78~deb12u1/examples/preseed.cfg      2023-06-18 
09:11:47.000000000 +0200
@@ -27,8 +27,10 @@
 #d-i debconf/priority string critical
 
 ## Preseeding only locale sets language, country and locale:
-d-i debian-installer/locale string en_US
+d-i debian-installer/locale string en_US.UTF-8
 d-i keyboard-configuration/xkb-keymap select us
+#d-i debian-installer/language string en_US:en
+#d-i debian-installer/country string DE
 
 ## netcfg will choose an interface that has link if possible. This makes it
 ## skip displaying a list if there is more than one interface:
@@ -104,12 +106,12 @@
 # d-i partman-auto/choose_recipe select multi
 
 ### Package selection
-#tasksel tasksel/first multiselect standard, ssh-server, gnome-desktop, 
print-server
+#tasksel tasksel/first multiselect standard, ssh-server, gnome-desktop
 tasksel tasksel/first multiselect standard, ssh-server
 
 ### Individual additional packages to install
 d-i pkgsel/include string firmware-linux ansible git
-#d-i pkgsel/include string firmware-linux ansible/bullseye-backports git
+#d-i pkgsel/include string firmware-linux ansible/bookworm-backports git
 #d-i pkgsel/include string firmware-linux
 
 ### GRUB on default disk:
@@ -122,7 +124,7 @@
       in-target chown -R ansible:ansible /home/ansible/.ssh/ ; \
       in-target chmod -R og= /home/ansible/.ssh/ ; \
       [ -z "$playbook" ] || mkdir -v /target/dev/shm ; \
-      [        -z "$playbook" ] || in-target mount -v -t tmpfs tmpfs /dev/shm 
; \
+      [ -z "$playbook" ] || in-target mount -v -t tmpfs tmpfs /dev/shm ; \
       [ -z "$playbook" ] || in-target ansible-pull --verbose --purge 
--extra-vars="run_in_installer=true" \
         -i localhost, 
--url=https://salsa.debian.org/andi/debian-lan-ansible.git $playbook
 #        -i localhost, --url=git://installbox/.git $playbook

Reply via email to