Bug#760309: [Simple-cdd-devel] Bug#760309: simple-cdd: build of squeeze image fails due to missing images/SHA256SUMS file

2014-09-07 Thread Kai Harries
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

2014-09-05 Thread Vagrant Cascadian
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

2014-09-05 Thread Kai Harries
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

2014-09-05 Thread Vagrant Cascadian
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

2014-09-02 Thread Kai Harries
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