Hello folks, I implemented the changes proposed by Frans and Joey. Currently the code accepts values splited by comas and spaces. Please comment.
=== debian/base-installer.templates ================================================================== --- debian/base-installer.templates (/upstream/trunk/packages/base-installer) (revision 4347) +++ debian/base-installer.templates (/base-installer) (revision 4347) @@ -412,3 +412,17 @@ # TRANSLATORS: <65 columns _Description: Install the base system +Template: base-installer/debootstrap_script +Type: string +Description: for internal use; can be preseeded + Force use of a specific debootstrap script + +Template: base-installer/includes +Type: string +Description: for internal use; can be preseeded + Packages to be included in base installation + +Template: base-installer/excludes +Type: string +Description: for internal use; can be preseeded + Packages to be excluded in base installation === debian/postinst ================================================================== --- debian/postinst (/upstream/trunk/packages/base-installer) (revision 4347) +++ debian/postinst (/base-installer) (revision 4347) @@ -11,8 +11,6 @@ DIRECTORY= COMPONENTS= DISTRIBUTION= -INCLUDES= -EXCLUDES= KERNEL= KERNEL_LIST=/tmp/available_kernels.txt KERNEL_MAJOR="$(uname -r | cut -d . -f 1,2)" @@ -38,6 +36,14 @@ SUBARCH="$(archdetect)" SUBARCH="${SUBARCH#*/}" +# Set initial value to includes and excludes +db_get base-installer/includes +INCLUDES="$(printf '%s' "$RET" | sed 's/ /,/g')" || true + +db_get base-installer/excludes +EXCLUDES="$(printf '%s' "$RET" | sed 's/ /,/g')" || true + + log() { logger -t base-installer "$@" } @@ -125,11 +131,11 @@ COMPONENTS="*" fi if [ -s /cdrom/.disk/base_include ]; then - INCLUDES=`grep -v '^#' /cdrom/.disk/base_include | tr '\n' , | sed 's/,$//'` + INCLUDES="$INCLUDES,`grep -v '^#' /cdrom/.disk/base_include | tr '\n' , | sed 's/^,//g;s/,$//'`" fi if [ -s /cdrom/.disk/base_exclude ]; then - EXCLUDES=`grep -v '^#' /cdrom/.disk/base_exclude | tr '\n' , | sed 's/,$//'` + EXCLUDES="$EXCLUDES,`grep -v '^#' /cdrom/.disk/base_exclude | tr '\n' , | sed 's/^,//g;s/,$//'`" fi # Sanity check: an error reading /cdrom/.disk/base_components can cause @@ -193,6 +199,9 @@ export http_proxy fi fi + + db_get base-installer/debootstrap_script + DEBOOTSTRAP_SCRIPT="$RET" || true # run the scripts found in hook directory before debootstrap partsdir="/usr/lib/base-installer.d" @@ -236,6 +245,7 @@ ${keyring} \ ${DISTRIBUTION} /target \ "$PROTOCOL://$MIRROR$DIRECTORY" \ + ${DEBOOTSTRAP_SCRIPT} \ || debootstrap_failed=$? fi === debian/changelog ================================================================== --- debian/changelog (/upstream/trunk/packages/base-installer) (revision 4347) +++ debian/changelog (/base-installer) (revision 4347) @@ -8,6 +8,15 @@ * Don't offer yaird for S/390 as it does not configure the dasds. * Add kernel selection support for ppc64. Closes: #383135. + [ Otavio Salvador ] + * Add facility to use a specific script by preseeding + base-installer/script. That's a very interesting feature for Custom + Debian Distributions and derivatives. + * Add facility to include and exclude packages from base by preseeding + base-installer/includes and base-installer/excludes. The previous way + of doing that, using base_include and base_include CD files still + works and the packages are added to the preseeded ones. + -- Frans Pop <[EMAIL PROTECTED]> Wed, 16 Aug 2006 02:47:58 +0200 base-installer (1.64) unstable; urgency=low Property changes on: ___________________________________________________________________ Name: svk:merge +48c42b26-1dd6-0310-b98f-a58d8bce7237:/trunk/packages/base-installer:39871 a1877ced-7cdd-0310-a81f-9c9987c16c32:/base-installer/local:12
-- O T A V I O S A L V A D O R --------------------------------------------- E-mail: [EMAIL PROTECTED] UIN: 5906116 GNU/Linux User: 239058 GPG ID: 49A5F855 Home Page: http://www.freedom.ind.br/otavio --------------------------------------------- "Microsoft gives you Windows ... Linux gives you the whole house."