Control: tag -1 + patch On Mon, 13 Apr 2015 12:40:07 -0700 Dima Kogan <[email protected]> wrote: > Hi. Look: > > > dima@shorty:/etc/schroot/chroot.d$ schroot -l > chroot:sid-amd64-sbuild > chroot:trusty-amd64-sbuild > chroot:wheezy-amd64-sbuild > source:sid-amd64-sbuild > source:trusty-amd64-sbuild > source:wheezy-amd64-sbuild > > dima@shorty:/etc/schroot/chroot.d$ ls > sid-amd64-sbuild-VVRXav trusty-amd64-sbuild-dXNuL1 > wheezy-amd64-sbuild-Y42av1 > > dima@shorty:/etc/schroot/chroot.d$ sudo sbuild-createchroot > --make-sbuild-tarball=/var/lib/sbuild/trusty-amd64.tar.gz wheezy /tmp/xxx > http://mirror.hmc.edu/debian > I: SUITE: wheezy > I: TARGET: /tmp/xxx > <snip. lots of output as a "wheezy" chroot is made> > > dima@shorty:/etc/schroot/chroot.d$ schroot -l > E: /etc/schroot/chroot.d/wheezy-amd64-sbuild-Y42av1: line 1 > [wheezy-amd64-sbuild]: A chroot or alias â already exists with this name > I: Duplicate names are not allowed > > dima@shorty:/etc/schroot/chroot.d$ ls > sid-amd64-sbuild-VVRXav trusty-amd64-sbuild-dXNuL1 > wheezy-amd64-sbuild-HHoTCT wheezy-amd64-sbuild-Y42av1 > duplicates: ^^^^^^ > ^^^^^^ > > > So I had a "wheezy" sbuild chroot. Then I made another one with the same > name (and sbuild-createchroot let me). Then schroot gets confused. > sbuild-createchroot should probably check for this.
oh cool! Thanks for bringing this up! The following patch should fix the
problem:
--- a/bin/sbuild-createchroot
+++ b/bin/sbuild-createchroot
@@ -173,6 +173,17 @@ $conf->set('INCLUDE', add_items($conf->get('INCLUDE'),
"debfoster"));
my $suite = $ARGV[0];
+
+# check if schroot name is already in use
+
+my $chrootname = "${suite}-" . $conf->get('BUILD_ARCH') .
$conf->get('CHROOT_SUFFIX');
+
+open my $pipe, 'schroot -l --all-source-chroots |';
+while (my $line = <$pipe>) {
+ $line ne "source:$chrootname\n" or die "chroot with name $chrootname
already exists";
+}
+close $pipe;
+
# Create the target directory in advance so abs_path (which is buggy)
# won't fail. Remove if abs_path is replaced by something better.
makedir($ARGV[1], 0755);
@@ -269,7 +280,6 @@ dump_file("${target}/etc/apt/sources.list");
print "I: Please add any additional APT sources to
${target}/etc/apt/sources.list\n";
# Write out schroot chroot configuration.
-my $chrootname = "${suite}-" . $conf->get('BUILD_ARCH') .
$conf->get('CHROOT_SUFFIX');
# Determine the schroot chroot configuration to use.
my $config_entry;
Thanks!
cheers, josch
signature.asc
Description: signature

