Package: pbuilder
Version: 0.127
Severity: wishlist
Tags: patch

The attached patch adds the possibility to create an experimental chroot
with pbuilder.

pbuilder create --distribution experimental

Thanks.
ciao,   
        ema
diff -Nur pbuilder-0.127/examples/pbuilder-distribution.sh 
pbuilder-0.128/examples/pbuilder-distribution.sh
--- pbuilder-0.127/examples/pbuilder-distribution.sh    2004-11-17 
00:51:38.000000000 +0100
+++ pbuilder-0.128/examples/pbuilder-distribution.sh    2005-05-12 
15:59:25.000000000 +0200
@@ -1,6 +1,6 @@
 #!/bin/sh
 # script from Jamin W. Collins  BTS: #255165
-# name this script 'pbuilder-woody', 'pbuilder-sid', 'pbuilder-sarge' etc.
+# name this script 'pbuilder-woody', 'pbuilder-sid', 'pbuilder-sarge', 
'pbuilder-experimental' etc.
 
 OPERATION=$1
 DISTRIBUTION=`basename $0 | cut -f2 -d '-'`
diff -Nur pbuilder-0.127/pbuilder.8 pbuilder-0.128/pbuilder.8
--- pbuilder-0.127/pbuilder.8   2005-04-06 01:05:02.000000000 +0200
+++ pbuilder-0.128/pbuilder.8   2005-05-12 15:58:36.000000000 +0200
@@ -180,8 +180,9 @@
 Specifies the distribution used. Currently the supported values are
 .B "sid"
 .B "sarge"
+.B "woody"
 and 
-.B "woody".
+.B "experimental".
 
 This option is only effective for 
 .B "pbuilder create" 
diff -Nur pbuilder-0.127/pbuilder-createbuildenv 
pbuilder-0.128/pbuilder-createbuildenv
--- pbuilder-0.127/pbuilder-createbuildenv      2004-12-02 00:41:32.000000000 
+0100
+++ pbuilder-0.128/pbuilder-createbuildenv      2005-05-12 15:44:54.000000000 
+0200
@@ -53,6 +53,10 @@
        echo "  -> Applying user distribution dist build script 
$DEBOOTSTRAPSCRIPT"
     fi
 fi
+if [ "$DISTRIBUTION" = "experimental" ]; then
+       DISTRIBUTION=sid
+       EXPERIMENTAL="true"
+fi
 if ! ( cd "$BUILDPLACE" && debootstrap "[EMAIL PROTECTED]" "$DISTRIBUTION" . 
"$MIRRORSITE" "$DEBOOTSTRAPSCRIPT" ) ; then
     echo "pbuilder: debootstrap failed" >&2
     exit 1
@@ -66,6 +70,10 @@
 
 copy_local_configuration
 installaptlines
+                 
+if [ -n "$EXPERIMENTAL" ]; then
+       installexppreferences
+fi
 
 echo "Refreshing the base.tgz "
 echo " -> upgrading packages"
@@ -76,8 +84,8 @@
     $CHROOTEXEC /usr/bin/dpkg --purge $REMOVEPACKAGES
 fi
 recover_aptcache
-$CHROOTEXEC /usr/bin/apt-get -y dist-upgrade
-$CHROOTEXEC /usr/bin/apt-get -y install build-essential dpkg-dev apt 
$EXTRAPACKAGES
+$CHROOTEXEC /usr/bin/apt-get -y --force-yes dist-upgrade
+$CHROOTEXEC /usr/bin/apt-get -y --force-yes install build-essential dpkg-dev 
apt $EXTRAPACKAGES
 save_aptcache
 $CHROOTEXEC /usr/bin/apt-get clean
 
diff -Nur pbuilder-0.127/pbuilder-modules pbuilder-0.128/pbuilder-modules
--- pbuilder-0.127/pbuilder-modules     2005-04-20 00:39:50.000000000 +0200
+++ pbuilder-0.128/pbuilder-modules     2005-05-12 15:45:16.000000000 +0200
@@ -27,10 +27,10 @@
 pdebuild [pbuilder-options]
 
 command lines:
-pbuilder create [--basetgz base.tgz-path] [--distribution 
potato|woody|sarge|sid]
+pbuilder create [--basetgz base.tgz-path] [--distribution 
potato|woody|sarge|sid|experimental]
   Creates a base.tgz
 
-pbuilder update [--basetgz base.tgz-path] [--distribution 
potato|woody|sarge|sid]
+pbuilder update [--basetgz base.tgz-path] [--distribution 
potato|woody|sarge|sid|experimental]
   Updates a base.tgz
 
 pbuilder build [--basetgz base.tgz-path] pbuilder_2.2.0-1.dsc
@@ -53,7 +53,7 @@
  --nonusmirror [non-US mirror location]
  --othermirror [other mirror location in apt deb-line format, delimited with | 
signs]
  --http-proxy [proxy]
- --distribution [distribution(potato/woody/sarge/sid)]
+ --distribution [distribution(potato/woody/sarge/sid/experimental)]
  --buildresult [location-to-copy-build-result]
  --aptcache [location of retrieved package files]
  --removepackages [packages-to-remove on pbuilder create]
@@ -244,6 +244,19 @@
     fi
 }
 
+function installexppreferences (){
+       echo "  -> Installing apt-lines and pinning for experimental"
+    if [ -n "$MIRRORSITE" ] ; then
+               echo "deb $MIRRORSITE ../project/experimental main" >> 
"$BUILDPLACE"/etc/apt/sources.list
+               echo "#deb-src $MIRRORSITE ../project/experimental main" >> 
"$BUILDPLACE"/etc/apt/sources.list
+       fi
+       cat >> "$BUILDPLACE"/etc/apt/preferences << EOF
+Package: *
+Pin: release o=Debian,a=experimental,l=Debian,c=main
+Pin-Priority: 500
+EOF
+}
+
 function copy_local_configuration () {
     echo " -> copying local configuration"
     for a in hosts hostname resolv.conf; do 

Reply via email to