[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#777124: unblock: di-netboot-assistant/0.38a+nmu1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Dear Release Team,

please unblock package di-netboot-assistant which was just accepted
into unstable.

The package has finally been fixed to work with jessie and the nmu
closes #759424 and #776565.

The patch has been tested before, but an upload never happened, cf.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=776565#34

Note that di-netboot-assistant is used in debian-lan and removal from
jessie would break part of the PXE installation functionality there.
I plan to take care of the package in the future.

Debdiff is attached, thanks and best regards,

        Andi


unblock di-netboot-assistant/0.38a+nmu1
diff -Nru -w di-netboot-assistant-0.38a/config/di-sources.list di-netboot-assistant-0.38a+nmu1/config/di-sources.list
--- di-netboot-assistant-0.38a/config/di-sources.list	2013-07-13 10:31:11.000000000 +0200
+++ di-netboot-assistant-0.38a+nmu1/config/di-sources.list	2015-02-03 09:25:27.000000000 +0100
@@ -49,13 +49,13 @@
 squeeze-gtk	i386	http://ftp.debian.org/dists/squeeze/main/installer-i386/current/images/	netboot/gtk/netboot.tar.gz
 
 #Debian/Jessie (not released yet, As of writing this file)
-#jessie	amd64	http://ftp.debian.org/dists/jessie/main/installer-amd64/current/images/	netboot/netboot.tar.gz
-#jessie	i386	http://ftp.debian.org/dists/jessie/main/installer-i386/current/images/	netboot/netboot.tar.gz
+jessie	amd64	http://ftp.debian.org/dists/jessie/main/installer-amd64/current/images/	netboot/netboot.tar.gz
+jessie	i386	http://ftp.debian.org/dists/jessie/main/installer-i386/current/images/	netboot/netboot.tar.gz
 #jessie	ia64	http://ftp.debian.org/dists/jessie/main/installer-ia64/current/images/	netboot/netboot.tar.gz
 #jessie	sparc	http://ftp.debian.org/dists/jessie/main/installer-sparc/current/images/	netboot/boot.img
 ##Graphical Installer (GTK)
-#jessie-gtk	amd64	http://ftp.debian.org/dists/jessie/main/installer-amd64/current/images/	netboot/gtk/netboot.tar.gz
-#jessie-gtk	i386	http://ftp.debian.org/dists/jessie/main/installer-i386/current/images/	netboot/gtk/netboot.tar.gz
+jessie-gtk	amd64	http://ftp.debian.org/dists/jessie/main/installer-amd64/current/images/	netboot/gtk/netboot.tar.gz
+jessie-gtk	i386	http://ftp.debian.org/dists/jessie/main/installer-i386/current/images/	netboot/gtk/netboot.tar.gz
 
 # DEVELOPMENT (( http://www.debian.org/devel/debian-installer/ ))
 
diff -Nru -w di-netboot-assistant-0.38a/debian/changelog di-netboot-assistant-0.38a+nmu1/debian/changelog
--- di-netboot-assistant-0.38a/debian/changelog	2013-07-16 07:17:24.000000000 +0200
+++ di-netboot-assistant-0.38a+nmu1/debian/changelog	2015-02-03 09:25:27.000000000 +0100
@@ -1,3 +1,19 @@
+di-netboot-assistant (0.38a+nmu1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix package for jessie.  The patch has been mostly provided by Jonas
+    Smedegaard and should fix all issues related to new syslinux:
+    - Lookup pxelinux.0 in /usr/lib/PXELINUX (not only
+      /usr/lib/syslinux).
+    - Lookup only BIOS binaries (not accidentally include EFI binaries).
+    - Install core modules in tftpd debian-installer dir.
+    - Keep vesamenu and menu modules in sync with PXELINUX.
+    - Enable jessie releases.
+    For details, see the discussion in the bugs closed.  Thanks to Jonas
+    Smedegaard and Martin F Krafft.  (Closes: #759424, closes: #776565)
+
+ -- Andreas B. Mundt <andi@debian.org>  Mon, 02 Feb 2015 19:46:08 +0100
+
 di-netboot-assistant (0.38a) unstable; urgency=low
 
   [ Frank Lin PIAT ]
diff -Nru -w di-netboot-assistant-0.38a/di-netboot-assistant di-netboot-assistant-0.38a+nmu1/di-netboot-assistant
--- di-netboot-assistant-0.38a/di-netboot-assistant	2013-07-13 10:31:11.000000000 +0200
+++ di-netboot-assistant-0.38a+nmu1/di-netboot-assistant	2015-02-03 09:25:27.000000000 +0100
@@ -200,12 +200,13 @@
 # ------------------------------------------------------------ #
 # find_file()
 #	Return the name of the first file matching criteria.
-# Parameters: dir name
+# Parameters: name dir [dir...]
 # Returns: (STRING) file
 # ------------------------------------------------------------ #
 find_file() {
 	if [ "$1" -a "$2" ]; then
-		find "$2" -type f -name $1 | head -n 1
+		local name=$1; shift
+		find "$@" -type f -name "$name" | head -n 1
 	else
 		echo ""
 	fi
@@ -241,7 +242,14 @@
 
 	[ ! "$src" -o ! "$dst" ] && return 1
 
+	if [ "$SYSLINUX" = "$src" ]; then
+		# avoid recent SYSLINUX EFI binaries incompatible with PXELINUX
+		[ ! -d "$src/modules/bios" ] || src="$src/modules/bios"
+		# recent SYSLINUX ships PXELINUX at separate location
+		newbin=$(find_file pxelinux.0 /usr/lib/PXELINUX "$SYSLINUX" 2>/dev/null)
+	else
 	newbin=$(find_file pxelinux.0 "$src" 2>/dev/null)
+	fi
 	[ ! -f "$dst/pxelinux.0" -a ! -f "$newbin" ] && return 1
 
 	pxe_new_ver="$(pxelinux_version "$newbin")"
@@ -253,7 +261,11 @@
 	echo "I: Upgrading PXELinux ($pxe_cur_ver to $pxe_new_ver)"
 
 	for f in pxelinux.0 menu.c32 vesamenu.c32; do
+		if [ pxelinux.0 = "$f" ]; then
+			srcf="$newbin"
+		else
 		srcf="$(find_file $f "$src")"
+		fi
 		[ "${f#*c32}" ] || f="pxelinux.cfg/$f"
 		[ -L "$dst/$f" ] && rm "$dst/$f"
 		if [ -f "$srcf" ]; then
@@ -264,6 +276,13 @@
 	done
 	# Smooth transition to vesamenu
 	[ ! -f "$c32_dir/menu.c32" ] && ln -s "vesamenu.c32" $c32_dir/menu.c32
+	# Add core modules at root (see <https://bugs.debian.org/756275#49>)
+	if [ "$TFTP_ROOT/debian-installer/" = "$dst" ]; then
+		for f in ldlinux.c32 libcom32.c32 libutil.c32; do
+			srcf="$(find_file $f "$src")"
+			[ -z "$srcf" ] || cp -np "$srcf" "$TFTP_ROOT/debian-installer/$f"
+		done
+	fi
 	return 0
 }
 
@@ -373,7 +392,7 @@
 
 	if [ -f pxelinux.cfg/default ]; then
 		for x in $(sed -n -e "s,^\s*KERNEL\s[\s:/]*\(.*menu.c32\).*,\1,p " pxelinux.cfg/default | sort -u ); do
-			[ ! -f ../$x ] && echo "W: Some menu binaries are missing. Install the package syslinux"
+			[ ! -f ../$x ] && echo "W: The binary '${TFTP_ROOT}/$x' mentioned in the PXE boot menu is missing."
 		done
 	else
 		find pxelinux.cfg/ -iregex '.*\(\.c32\|\.bak.*\|~\)$' \
@@ -907,6 +926,21 @@
 	if ! copy_syslinux_bin "$expand_dir" "$TFTP_ROOT/debian-installer/" ; then
 		echo "E: No PXELinux menu installed. Please file a bug." 1>&2
 	fi
+	# ensure only a single PXELINUX version is used for all its modules
+	for f in $(find "$expand_dir" -type f -name '*.c32'); do
+		case $(basename "$f") in
+		  vesamenu.c32|menu.c32)
+			cp -pft "$(dirname "$f")" "$TFTP_ROOT/debian-installer/pxelinux.cfg/$(basename "$f")"
+			;;
+		  ldlinux.c32|libcom32.c32|libutil.c32)
+			cp -pft "$(dirname "$f")" "$TFTP_ROOT/debian-installer/$(basename "$f")"
+			;;
+		  *)
+			echo "W: Unusual PXELINUX module \"$f\" may not work." 1>&2
+			continue
+			;;
+		esac
+	done
 
 	for f in $(find "$expand_dir" -type f -a \( -name "default" -o -name "boot.txt" -o -name '*.cfg' \) ); do
 		mv "$f" "$f.ORIG"
@@ -1297,4 +1331,3 @@
 	usage 1>&2
 	exit 1
 fi
-
diff -Nru -w di-netboot-assistant-0.38a/.gitattributes di-netboot-assistant-0.38a+nmu1/.gitattributes
--- di-netboot-assistant-0.38a/.gitattributes	2011-01-19 05:49:36.000000000 +0100
+++ di-netboot-assistant-0.38a+nmu1/.gitattributes	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-examples/* ident

Reply to: