Bug#760309: [Simple-cdd-devel] Bug#760309: simple-cdd: build of squeeze image fails due to missing images/SHA256SUMS file
Maybe not the most elegant solution, but here is what I have come up with. Kind regards, Kai On Sat, Sep 6, 2014 at 1:15 AM, Vagrant Cascadian vagr...@debian.org wrote: On 2014-09-05 14:07:36 -0500, Kai Harries wrote: On Fri, Sep 5, 2014 at 7:43 PM, Vagrant Cascadian vagr...@debian.org wrote: # set path to include simple-cdd dirs simple_cdd_path= @@ -410,7 +411,7 @@ if [ true = $do_mirror ] || [ -z $do_mirror ] ; then i386|amd64) di_match_files=/cdrom ;; *) di_match_files=. ;; esac -checksum_files=$checksum_files dists/$DI_CODENAME/main/installer-$a/$di_release/images/SHA256SUMS +checksum_files=$checksum_files dists/$DI_CODENAME/main/installer-$a/$di_release/images/${checksum_file_type} done fi # run mirroring hooks I have not tested it, but it looks like a good solution. I committed and pushed a version of the above patch to bzr... I recall debian-cd having poor support for building images other than the running distro, so you may also need to get fixes into debian-cd for that to work... or run your builds in a chroot of compatible distribution. I'm not sure how much energy I want to put into support for oldstable in general; I am not particularly fond of special casing on a per-distribution level. But then it would be nice if you mention it in the documentation (sorry, if I have overseen it) I'll try to come up with some updates to documentation, too... suggestions would be most welcome. and maybe even add a check that aborts the build with an error message if someone tries to create incompatible distributions with it. It's non-trivial to detect incompatible distributions, given that the only symptom is that debian-cd may fail to build. live well, vagrant === modified file 'simple-cdd.1' --- simple-cdd.12009-08-04 08:37:44 + +++ simple-cdd.12014-09-07 18:59:58 + @@ -11,7 +11,9 @@ Specify a configuration file .TP \fB\-\-dist\fR -Specify a distribution (etch, lenny, sid) +Specify a distribution (jessie, sid). Only the current or newer distributions +are officially supported. Trying to build older distributions may or may not +succeed. .TP \fB\-\-graphical\-installer\fR|\-g Enable graphical installer by default === modified file 'build-simple-cdd' --- build-simple-cdd2014-09-05 23:05:09 + +++ build-simple-cdd2014-09-07 19:21:09 + @@ -60,6 +60,7 @@ shift ;; --dist) export CODENAME=$2 shift ;; +--let-me-try-it) try_it=true ;; -g|--g|--graphical-installer) export ISOLINUX_DEFAULT=installgui ;; --serial-console|-s) use_serial_console=true ;; --do-mirror) do_mirror=true ;; @@ -222,6 +223,13 @@ test -z $DOJIGDO export DOJIGDO=0 test -z $MAXJIGDOS export MAXJIGDOS=0 +if [ $CODENAME != jessie ] [ $CODENAME != sid ] [ $try_it != true ] +then +echo '$CODENAME' is no officially supported distribution. If you \ + nonetheless want to try it, then use the option --let-me-try-it. +exit 1 +fi + export MIRROR=$simple_cdd_mirror export BASEDIR=$simple_cdd_basedir export TDIR=$simple_cdd_temp/cd-build
Bug#760309: [Simple-cdd-devel] Bug#760309: simple-cdd: build of squeeze image fails due to missing images/SHA256SUMS file
On 2014-09-02 14:01:43 -0500, Kai Harries wrote: * What led up to the situation? $ cat simple-cdd.conf server=ftp.de.debian.org debian_mirror=http://$server/debian/; wget_debian_mirror=ftp://$server/debian/; rsync_debian_mirror=$server::debian $ simple-cdd --conf ./simple-cdd.conf --dist squeeze * What was the outcome of this action? simple-cdd aborts with an error: ~~~ Checking checksum file... dists/squeeze/main/installer- amd64/current/images/SHA256SUMS sha256sum: standard input: no properly formatted SHA256 checksum lines found ~~~ I definitely thought about how to handle that when I implemented that feature, and decided to go for the simplicity of only supporting newer releases. What about the following: diff --git a/build-simple-cdd b/build-simple-cdd index 70974ba..7f6038c 100755 --- a/build-simple-cdd +++ b/build-simple-cdd @@ -195,6 +195,7 @@ test -z $simple_cdd_preseed simple_cdd_preseed=preseed/file=/cdrom/simple- test -z $TASK TASK=$simple_cdd_temp/simple-cdd.task test -z $keyring keyring=/usr/share/keyrings/debian-archive-keyring.gpg test -z $user_gnupghome user_gnupghome=false +test -z $checksum_file_type checksum_file_type=SHA256SUMS # set path to include simple-cdd dirs simple_cdd_path= @@ -410,7 +411,7 @@ if [ true = $do_mirror ] || [ -z $do_mirror ] ; then i386|amd64) di_match_files=/cdrom ;; *) di_match_files=. ;; esac -checksum_files=$checksum_files dists/$DI_CODENAME/main/installer-$a/$di_release/images/SHA256SUMS +checksum_files=$checksum_files dists/$DI_CODENAME/main/installer-$a/$di_release/images/${checksum_file_type} done fi # run mirroring hooks I recall debian-cd having poor support for building images other than the running distro, so you may also need to get fixes into debian-cd for that to work... or run your builds in a chroot of compatible distribution. I'm not sure how much energy I want to put into support for oldstable in general; I am not particularly fond of special casing on a per-distribution level. live well, vagrant pgpf1WCcfhHkf.pgp Description: PGP signature
Bug#760309: [Simple-cdd-devel] Bug#760309: simple-cdd: build of squeeze image fails due to missing images/SHA256SUMS file
On Fri, Sep 5, 2014 at 7:43 PM, Vagrant Cascadian vagr...@debian.org wrote: I definitely thought about how to handle that when I implemented that feature, and decided to go for the simplicity of only supporting newer releases. OK, I tend to agree with you. What about the following: diff --git a/build-simple-cdd b/build-simple-cdd index 70974ba..7f6038c 100755 --- a/build-simple-cdd +++ b/build-simple-cdd @@ -195,6 +195,7 @@ test -z $simple_cdd_preseed simple_cdd_preseed=preseed/file=/cdrom/simple- test -z $TASK TASK=$simple_cdd_temp/simple-cdd.task test -z $keyring keyring=/usr/share/keyrings/debian-archive-keyring.gpg test -z $user_gnupghome user_gnupghome=false +test -z $checksum_file_type checksum_file_type=SHA256SUMS # set path to include simple-cdd dirs simple_cdd_path= @@ -410,7 +411,7 @@ if [ true = $do_mirror ] || [ -z $do_mirror ] ; then i386|amd64) di_match_files=/cdrom ;; *) di_match_files=. ;; esac -checksum_files=$checksum_files dists/$DI_CODENAME/main/installer-$a/$di_release/images/SHA256SUMS +checksum_files=$checksum_files dists/$DI_CODENAME/main/installer-$a/$di_release/images/${checksum_file_type} done fi # run mirroring hooks I have not tested it, but it looks like a good solution. I recall debian-cd having poor support for building images other than the running distro, so you may also need to get fixes into debian-cd for that to work... or run your builds in a chroot of compatible distribution. I'm not sure how much energy I want to put into support for oldstable in general; I am not particularly fond of special casing on a per-distribution level. But then it would be nice if you mention it in the documentation (sorry, if I have overseen it) and maybe even add a check that aborts the build with an error message if someone tries to create incompatible distributions with it. Kind regards, Kai -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#760309: [Simple-cdd-devel] Bug#760309: simple-cdd: build of squeeze image fails due to missing images/SHA256SUMS file
On 2014-09-05 14:07:36 -0500, Kai Harries wrote: On Fri, Sep 5, 2014 at 7:43 PM, Vagrant Cascadian vagr...@debian.org wrote: # set path to include simple-cdd dirs simple_cdd_path= @@ -410,7 +411,7 @@ if [ true = $do_mirror ] || [ -z $do_mirror ] ; then i386|amd64) di_match_files=/cdrom ;; *) di_match_files=. ;; esac -checksum_files=$checksum_files dists/$DI_CODENAME/main/installer-$a/$di_release/images/SHA256SUMS +checksum_files=$checksum_files dists/$DI_CODENAME/main/installer-$a/$di_release/images/${checksum_file_type} done fi # run mirroring hooks I have not tested it, but it looks like a good solution. I committed and pushed a version of the above patch to bzr... I recall debian-cd having poor support for building images other than the running distro, so you may also need to get fixes into debian-cd for that to work... or run your builds in a chroot of compatible distribution. I'm not sure how much energy I want to put into support for oldstable in general; I am not particularly fond of special casing on a per-distribution level. But then it would be nice if you mention it in the documentation (sorry, if I have overseen it) I'll try to come up with some updates to documentation, too... suggestions would be most welcome. and maybe even add a check that aborts the build with an error message if someone tries to create incompatible distributions with it. It's non-trivial to detect incompatible distributions, given that the only symptom is that debian-cd may fail to build. live well, vagrant pgp5MshWVt0HY.pgp Description: PGP signature
Bug#760309: simple-cdd: build of squeeze image fails due to missing images/SHA256SUMS file
Package: simple-cdd Version: 0.5.0 Severity: normal Tags: upstream patch Dear Maintainer, * What led up to the situation? $ cat simple-cdd.conf server=ftp.de.debian.org debian_mirror=http://$server/debian/; wget_debian_mirror=ftp://$server/debian/; rsync_debian_mirror=$server::debian $ simple-cdd --conf ./simple-cdd.conf --dist squeeze * What was the outcome of this action? simple-cdd aborts with an error: ~~~ Checking checksum file... dists/squeeze/main/installer- amd64/current/images/SHA256SUMS sha256sum: standard input: no properly formatted SHA256 checksum lines found ~~~ * What outcome did you expect instead? An image of a squeeze installer. If I apply the following changes to simple-cdd: ~~~ --- tmp/simple-cdd 2014-09-02 20:33:32.236476817 +0200 +++ /usr/bin/simple-cdd 2014-09-02 20:44:58.051014315 +0200 @@ -410,7 +410,11 @@ i386|amd64) di_match_files=/cdrom ;; *) di_match_files=. ;; esac -checksum_files=$checksum_files dists/$DI_CODENAME/main/installer-$a/$di_release/images/SHA256SUMS +if [ $DI_CODENAME = squeeze ]; then +checksum_files=$checksum_files dists/$DI_CODENAME/main/installer-$a/$di_release/images/MD5SUMS +else +checksum_files=$checksum_files dists/$DI_CODENAME/main/installer-$a/$di_release/images/SHA256SUMS +fi done fi # run mirroring hooks ~~~ the existing MD5SUMS file is used. But then the process fails with: ~~~ Reading in package information for amd64: Done: Read details of 332 packages for amd64 WARNING: no translated descriptions found for squeeze/main Starting to lay out packages into images: Adding the required directories Generating the image label and volume id Adding .disk/base_components Adding .disk/cd_type Adding udeb/base includes/excludes WARNING: Unable to read UDEB_EXCLUDE file /home/kai/tmp/test-simple-cdd/tmp //debian-cd/data/squeeze/amd64_netinst_udeb_exclude Adding docs to CD1 Extracting FAQ on CD1 Adding common docs on CD1 Adding Release files Trying to add upgrade* directories (Optionally) making the image bootable for amd64: No script to make CDs bootable for amd64 We've not been asked to ignore this. Aborting. Failed to start disc 1, error 256 Makefile:406: recipe for target 'image-trees' failed make: *** [image-trees] Error 1 ~~~ -- System Information: Debian Release: jessie/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 3.14-2-amd64 (SMP w/4 CPU cores) Locale: LANG=en_IE.UTF-8, LC_CTYPE=en_IE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages simple-cdd depends on: ii apt-utils1.0.6 ii dctrl-tools 2.23 ii debian-cd3.1.15 ii debootstrap 1.0.60 ii lsb-release 4.1+Debian13 ii python 2.7.8-1 ii reprepro 4.15.0-1 ii rsync3.1.1-2 ii wget 1.15-1+b1 Versions of packages simple-cdd recommends: ii dose-distcheck 3.2.2-2+b1 Versions of packages simple-cdd suggests: ii qemu-kvm 2.1+dfsg-2 ii qemu-system 2.1+dfsg-2 -- no debconf information --- tmp/simple-cdd 2014-09-02 20:33:32.236476817 +0200 +++ /usr/bin/simple-cdd 2014-09-02 20:44:58.051014315 +0200 @@ -410,7 +410,11 @@ i386|amd64) di_match_files=/cdrom ;; *) di_match_files=. ;; esac -checksum_files=$checksum_files dists/$DI_CODENAME/main/installer-$a/$di_release/images/SHA256SUMS +if [ $DI_CODENAME = squeeze ]; then +checksum_files=$checksum_files dists/$DI_CODENAME/main/installer-$a/$di_release/images/MD5SUMS +else +checksum_files=$checksum_files dists/$DI_CODENAME/main/installer-$a/$di_release/images/SHA256SUMS +fi done fi # run mirroring hooks --- tmp/simple-cdd 2014-09-02 20:33:32.236476817 +0200 +++ /usr/bin/simple-cdd 2014-09-02 20:44:58.051014315 +0200 @@ -410,7 +410,11 @@ i386|amd64) di_match_files=/cdrom ;; *) di_match_files=. ;; esac -checksum_files=$checksum_files dists/$DI_CODENAME/main/installer-$a/$di_release/images/SHA256SUMS +if [ $DI_CODENAME = squeeze ]; then +checksum_files=$checksum_files dists/$DI_CODENAME/main/installer-$a/$di_release/images/MD5SUMS +else +checksum_files=$checksum_files dists/$DI_CODENAME/main/installer-$a/$di_release/images/SHA256SUMS +fi done fi # run mirroring hooks