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

Re: Successful Installation with pre-rc2



Joey Hess schrieb am Freitag, 08. Oktober 2004 um 20:02:14 -0400:
> Joerg Friedrich wrote:

> > having three preseed packages which can coexist in the same initrd:
> > 1. initrd-preseed: like file-preseed but does not depend on any
> > cdrom-detect or mount-floppy. but it only can read files which are on
> > the initrd. this would make it possible to preseed even before the
> > language-chooser.
> 
> I guess that's a reasonable wishlist. File a bug on the preseed package.

I had some spare time and tried to add it myself. A diff is attached.
Maybe you could have a look at it, esp. the things about dh_*,
debconf-templates...

Btw, I first created a pressed-common package to have no file conflicts,
and second I moved the method-specific functions to separate files to
avoid the the dpkg-problem mentioned in this thread.

-- 
Jörg Friedrich

There are only 10 types of people:
Those who understand binary and those who don't.
diff -Nurd di-old/debian-installer/packages/preseed/debian/changelog di/debian-installer/packages/preseed/debian/changelog
--- di-old/debian-installer/packages/preseed/debian/changelog	2004-10-10 10:49:40.000000000 +0200
+++ di/debian-installer/packages/preseed/debian/changelog	2004-10-10 19:55:43.000000000 +0200
@@ -1,5 +1,12 @@
 preseed (1.01) unstable; urgency=low
 
+  * preseed-common
+  * initrd-preseed
+
+ -- Joerg Friedrich <Joerg.Dieter.Friedrich@uni-konstanz.de>  Sun, 10 Oct 2004 19:54:23 +0200
+
+preseed (1.01) unstable; urgency=low
+
   * Updated translations: 
     - Bulgarian (bg.po) by Ognyan Kulev
     - Catalan (ca.po) by Jordi Mallach
diff -Nurd di-old/debian-installer/packages/preseed/debian/control di/debian-installer/packages/preseed/debian/control
--- di-old/debian-installer/packages/preseed/debian/control	2004-10-10 10:49:40.000000000 +0200
+++ di/debian-installer/packages/preseed/debian/control	2004-10-09 16:55:13.000000000 +0200
@@ -5,17 +5,31 @@
 Uploaders: Joey Hess <joeyh@debian.org>
 Build-Depends: debhelper (>= 4.2), dpkg-dev (>= 1.9)
 
+Package: preseed-common
+Architecture: all
+Priority: standard
+Depends: ${shlibs:Depends}, di-utils
+Description: Debconf preseed  - Common Files
+XC-Package-Type: udeb
+
 Package: network-preseed
 Architecture: all
 Priority: standard
-Depends: ${shlibs:Depends}, configured-network, di-utils
+Depends: ${shlibs:Depends}, preseed-common, configured-network
 Description: Download debconf preseed file
 XC-Package-Type: udeb
 XB-Installer-Menu-Item: 21
 
 Package: file-preseed
 Architecture: all
-Depends: ${shlibs:Depends}, cdrom-detect, di-utils
+Depends: ${shlibs:Depends}, preseed-common, cdrom-detect
 Description: Load debconf preseed file
 XC-Package-Type: udeb
 XB-Installer-Menu-Item: 14
+
+Package: initrd-preseed
+Architecture: all
+Depends: ${shlibs:Depends}, preseed-common
+Description: Load debconf preseed file
+XC-Package-Type: udeb
+XB-Installer-Menu-Item: 5
diff -Nurd di-old/debian-installer/packages/preseed/debian/file-preseed.postinst di/debian-installer/packages/preseed/debian/file-preseed.postinst
--- di-old/debian-installer/packages/preseed/debian/file-preseed.postinst	2004-10-10 10:49:40.000000000 +0200
+++ di/debian-installer/packages/preseed/debian/file-preseed.postinst	2004-10-09 16:48:08.000000000 +0200
@@ -3,29 +3,10 @@
 
 . /usr/share/debconf/confmodule
 . /lib/preseed/preseed.sh
+. /lib/preseed/file-preseed.sh
 
-usedfloppy=
 
-# Used by preseed function.
-preseed_fetch () {
-	if [ "${1%/*}" = "/floppy" ]; then
-		mountfloppy || true
-		usedfloppy=1
-	fi
-	
-	if [ ! -e "$1" ] || ! cp "$1" $2; then
-		return 1
-	else
-		return 0
-	fi
-}
-preseed_relative () {
-	if [ -z "${1##/*}" ]; then
-		return 1
-	else	
-		return 0
-	fi
-}
+usedfloppy=
 
 preseed preseed/file
 preseed_command preseed/early_command
diff -Nurd di-old/debian-installer/packages/preseed/debian/initrd-preseed.isinstallable di/debian-installer/packages/preseed/debian/initrd-preseed.isinstallable
--- di-old/debian-installer/packages/preseed/debian/initrd-preseed.isinstallable	1970-01-01 01:00:00.000000000 +0100
+++ di/debian-installer/packages/preseed/debian/initrd-preseed.isinstallable	2004-10-09 16:53:37.000000000 +0200
@@ -0,0 +1,7 @@
+#!/bin/sh
+. /usr/share/debconf/confmodule
+db_get preseed/initrd || exit 1
+if [ -n "$RET" ]; then
+	exit 0
+fi
+exit 1
diff -Nurd di-old/debian-installer/packages/preseed/debian/initrd-preseed.postinst di/debian-installer/packages/preseed/debian/initrd-preseed.postinst
--- di-old/debian-installer/packages/preseed/debian/initrd-preseed.postinst	1970-01-01 01:00:00.000000000 +0100
+++ di/debian-installer/packages/preseed/debian/initrd-preseed.postinst	2004-10-10 11:08:35.000000000 +0200
@@ -0,0 +1,11 @@
+#!/bin/sh
+set -e
+
+. /usr/share/debconf/confmodule
+. /lib/preseed/preseed.sh
+. /lib/preseed/initrd-preseed.sh
+
+
+preseed preseed/initrd
+preseed_command preseed/early_command
+
diff -Nurd di-old/debian-installer/packages/preseed/debian/initrd-preseed.templates di/debian-installer/packages/preseed/debian/initrd-preseed.templates
--- di-old/debian-installer/packages/preseed/debian/initrd-preseed.templates	1970-01-01 01:00:00.000000000 +0100
+++ di/debian-installer/packages/preseed/debian/initrd-preseed.templates	2004-10-10 11:25:38.000000000 +0200
@@ -0,0 +1,10 @@
+Template: debian-installer/initrd-preseed/title
+Type: text
+#  Main menu item
+_Description: Load debconf preseed file
+
+Template: preseed/initrd
+Type: string
+Default: /etc/initrd-preseed
+# not translatable as it's never displayed
+Description: path to debconf preseed file (or files) to load
diff -Nurd di-old/debian-installer/packages/preseed/debian/network-preseed.postinst di/debian-installer/packages/preseed/debian/network-preseed.postinst
--- di-old/debian-installer/packages/preseed/debian/network-preseed.postinst	2004-10-10 10:49:40.000000000 +0200
+++ di/debian-installer/packages/preseed/debian/network-preseed.postinst	2004-10-09 16:49:13.000000000 +0200
@@ -3,29 +3,8 @@
 
 . /usr/share/debconf/confmodule
 . /lib/preseed/preseed.sh
+. /lib/preseed/network-preseed.sh
 
-# Used by preseed function.
-preseed_fetch () {
-	local url="$1"
-	local file="$2"
-	iters=0
-	while [ $iters -lt 3 ]; do
-		# TODO proxy support? Would it be useful?
-		# TODO add progress bar
-		if wget -q "$url" -O "$file"; then
-			return 0
-		fi
-        	iters=$(($iters + 1))
-	done
-	return 1
-}
-preseed_relative () {
-	if [ -z ${1##*://*} ]; then
-		return 1
-	else
-		return 0
-	fi
-}
 
 preseed preseed/url
 preseed_command preseed/early_command
diff -Nurd di-old/debian-installer/packages/preseed/debian/rules di/debian-installer/packages/preseed/debian/rules
--- di-old/debian-installer/packages/preseed/debian/rules	2004-10-10 10:49:40.000000000 +0200
+++ di/debian-installer/packages/preseed/debian/rules	2004-10-09 17:09:44.000000000 +0200
@@ -16,14 +16,18 @@
 	dh_testdir
 	dh_testroot
 	dh_clean -k
-	dh_install --all preseed_command bin
-	dh_install --all 05preseed usr/lib/prebaseconfig.d
-	dh_install --all preseed.sh lib/preseed
+	dh_install -ppreseed-common preseed_command bin
+	dh_install -ppreseed-common 05preseed usr/lib/prebaseconfig.d
+	dh_install -ppreseed-common preseed.sh lib/preseed
+	dh_install -pinitrd-preseed initrd-preseed.sh lib/preseed
+	dh_install -pnetwork-preseed network-preseed.sh lib/preseed
+	dh_install -pfile-preseed file-preseed.sh lib/preseed
 	dh_installdebconf
 	set -e; \
-	for pkg in $(shell dh_listpackages); do \
 		(echo; po2debconf debian/common.templates ) \
-			>> debian/$$pkg/DEBIAN/templates; \
+			>> debian/preseed-common/DEBIAN/templates; 
+	set -e; \
+	for pkg in $(shell dh_listpackages -Npreseed-common); do \
 		cp debian/$$pkg.isinstallable debian/$$pkg/DEBIAN/isinstallable; \
 	done
 	dh_compress
diff -Nurd di-old/debian-installer/packages/preseed/file-preseed.sh di/debian-installer/packages/preseed/file-preseed.sh
--- di-old/debian-installer/packages/preseed/file-preseed.sh	1970-01-01 01:00:00.000000000 +0100
+++ di/debian-installer/packages/preseed/file-preseed.sh	2004-10-09 16:47:29.000000000 +0200
@@ -0,0 +1,20 @@
+# Used by preseed function.
+preseed_fetch () {
+	if [ "${1%/*}" = "/floppy" ]; then
+		mountfloppy || true
+		usedfloppy=1
+	fi
+	
+	if [ ! -e "$1" ] || ! cp "$1" $2; then
+		return 1
+	else
+		return 0
+	fi
+}
+preseed_relative () {
+	if [ -z "${1##/*}" ]; then
+		return 1
+	else	
+		return 0
+	fi
+}
diff -Nurd di-old/debian-installer/packages/preseed/initrd-preseed.sh di/debian-installer/packages/preseed/initrd-preseed.sh
--- di-old/debian-installer/packages/preseed/initrd-preseed.sh	1970-01-01 01:00:00.000000000 +0100
+++ di/debian-installer/packages/preseed/initrd-preseed.sh	2004-10-09 16:58:01.000000000 +0200
@@ -0,0 +1,20 @@
+# Used by preseed function.
+preseed_fetch () {
+	if [ "${1%/*}" = "/floppy" ]; then
+		mountfloppy || true
+		usedfloppy=1
+	fi
+	
+	if [ ! -e "$1" ] || ! cp "$1" $2; then
+		return 1
+	else
+		return 0
+	fi
+}
+preseed_relative () {
+	if [ -z "${1##/*}" ]; then
+		return 1
+	else	
+		return 0
+	fi
+}
diff -Nurd di-old/debian-installer/packages/preseed/network-preseed.sh di/debian-installer/packages/preseed/network-preseed.sh
--- di-old/debian-installer/packages/preseed/network-preseed.sh	1970-01-01 01:00:00.000000000 +0100
+++ di/debian-installer/packages/preseed/network-preseed.sh	2004-10-09 16:48:34.000000000 +0200
@@ -0,0 +1,23 @@
+# Used by preseed function.
+preseed_fetch () {
+	local url="$1"
+	local file="$2"
+	iters=0
+	while [ $iters -lt 3 ]; do
+		# TODO proxy support? Would it be useful?
+		# TODO add progress bar
+		if wget -q "$url" -O "$file"; then
+			return 0
+		fi
+        	iters=$(($iters + 1))
+	done
+	return 1
+}
+preseed_relative () {
+	if [ -z ${1##*://*} ]; then
+		return 1
+	else
+		return 0
+	fi
+}
+

Attachment: signature.asc
Description: Digital signature


Reply to: