[Simple-cdd-devel] Bugfixes

Vagrant Cascadian vagrant at debian.org
Tue Jan 17 02:51:43 UTC 2017


On 2016-08-30, Gábor Boskovits wrote:
> Dear Maintainers!
>
> I'm interested in the development of this project.

Thanks for your interest, and apologies for the slow response...

> 1.
>
> I have found, that there is a problem in the build-simple-cdd script in
> check_configuration.
>
> There is an undefined variable "pathname", which causes the script to stop
> in case of invalid preseed file, even with --force-preseed.
>
> I attach a patch for the problem.

Thanks, patch applied!


> 2.
>
> I would like to propose an update to the cd build tool.
>
> I had a problem try to get a fully automated install on efi firmware.
>
> The current efi bootloader is grub, and there is no way to configure grub,
> like there is a way to configure isolinux.
>
> I propose to extend the tool with a block like it was done with isolinuxcfg.
>
> I thought about something along th lines of the other attached patch.

I've applied the BOOT_TIMEOUT portion of the patch.

The GRUB_DEFAULT_ENTRY part needed an additional one-line patch to
simple_cdd/variables.py to support GRUB_DEFAULT_ENTRY, otherwise
tools/build/debian-cd is called with "set -u" that errors on attempts to
use unset variables.

I haven't applied it yet due to the variable handling possibly needing
more thought in regards to new/custom variables...


> 3.
>
> a.) I would like to ask, if there is any reason why qemu_opts and mem
> support was dropped?
> It is in the documentation, but it seems to me, that it is ignored by the
> script.
>
> I would like to use the qemu parameters machine, bios and mem.
>
> b.) Would it be better to add these options individually, or add back
> support of qemu_opts?
>
> 4.
> I realized, that for example the preseed file is checked even if
> --qemu-only option is applied.
>
> Is this really necessary?

Honestly, I haven't used the qemu-specific features for quite some time,
so they are largely untested at this point.


> 5.
> What is causing porblems for me in preseed anyway is trying to preseed
> passwd/user-password-crypted.
>
> The preseed file checker does not recognize this value.
>
> What would be a good approach to include support for this?

It really should be fixed in debconf-set-selections, or giving it an
option to use an alternate passwd.dat file or something.

I filed a bug in 2010 about this issue, but it hasn't received a
response:

  https://bugs.debian.org/587380


> From ff96084183cd2300f20c1142d4068dfd02c45f8b Mon Sep 17 00:00:00 2001
> From: "Boskovits, Gabriel" <boskovits at gmail.com>
> Date: Tue, 30 Aug 2016 01:18:55 +0200
> Subject: [PATCH] Corrected incorrect variable name
>
> ---
>  build-simple-cdd | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/build-simple-cdd b/build-simple-cdd
> index 1881d3a..95a2892 100755
> --- a/build-simple-cdd
> +++ b/build-simple-cdd
> @@ -168,9 +168,9 @@ class SimpleCDD:
>          for p in self.env.get("preseed_files"):
>              if verify_preseed_file(p): continue
>              if self.args.force_preseed:
> -                log.warn("preseed file invalid: %s", pathname)
> +                log.warn("preseed file invalid: %s", p)
>              else:
> -                raise Fail("preseed file invalid: %s", pathname)
> +                raise Fail("preseed file invalid: %s", p)
>  
>  
>      def paranoid_checks(self):
> -- 
> 2.7.4

Merged this obvious fix, thanks again!


> From e8ed3270c9a9971bdc8e5a3c42487c920752a87b Mon Sep 17 00:00:00 2001
> From: "Boskovits, Gabriel" <boskovits at gmail.com>
> Date: Tue, 30 Aug 2016 10:57:41 +0200
> Subject: [PATCH] My squashed commits
>
> ---
>  tools/build/debian-cd | 11 +++++++++++
>  1 file changed, 11 insertions(+)
>
> diff --git a/tools/build/debian-cd b/tools/build/debian-cd
> index de21eef..47b37d1 100644
> --- a/tools/build/debian-cd
> +++ b/tools/build/debian-cd
> @@ -100,6 +100,17 @@ for dir in etc install ; do
>      fi
>  done
>  
> +grubcfg="$TDIR/$CODENAME/CD1/boot/grub/grub.cfg"
> +if [ -f "$grubcfg" ]; then
> +    if [ -n "$BOOT_TIMEOUT" ]; then
> +	SEC_TIMEOUT=$(( $BOOT_TIMEOUT / 10 ))
> +	echo "set timeout=$SEC_TIMEOUT" >> $grubcfg
> +    fi
> +    if [ -n "$GRUB_DEFAULT_ENTRY" ]; then
> +	echo "set default=$GRUB_DEFAULT_ENTRY" >> $grubcfg
> +    fi
> +fi
> +
>  extras_base_dir="$simple_cdd_temp/extras"
>  
>  if [ -n "$extras_base_dir" ] && [ -d "$extras_base_dir" ]; then
> -- 
> 2.7.4

Merged the BOOT_TIMEOUT part only so far.

This seems to work, once simple_cdd/variables.py is patched to have a
textVar entry for GRUB_DEFAULT_ENTRY, otherwise tools/build-debian-cd
errors out if GRUB_DEFAULT_ENTRY is unset, due to the way
tools/build/debian-cd is called (using "set -u").


Thanks for your contributions! In the future, please submit one bug
report per issue, and please use the debian bug tracking system:

  https://www.debian.org/Bugs/Reporting


live well,
  vagrant
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/simple-cdd-devel/attachments/20170116/521c4bfa/attachment.sig>


More information about the Simple-cdd-devel mailing list