[PATCH 4/9] set $MIRRORSITE default by --distribution
Loïc Minier
lool at dooz.org
Sun Jan 17 13:12:06 UTC 2010
---
pbuilder-checkparams | 83 ++++++++++++++++++++++++++++++++++++++++++--------
pbuilder-modules | 43 +++++++++++++++++++++-----
pbuilderrc | 15 ++++++++-
3 files changed, 118 insertions(+), 23 deletions(-)
diff --git a/pbuilder-checkparams b/pbuilder-checkparams
index 5dded22..3bab2b3 100755
--- a/pbuilder-checkparams
+++ b/pbuilder-checkparams
@@ -26,6 +26,11 @@ export PBUILDER_PKGLIBDIR="${PBUILDER_PKGLIBDIR:-$PBUILDER_ROOT/usr/lib/pbuilder
function preload_config () {
while [ -n "$1" ]; do
case "$1" in
+ --distribution|-d)
+ DISTRIBUTION="$2";
+ OVERRIDE_APTLINES_WARN=yes
+ shift; shift;
+ ;;
--profile|-p)
PROFILE="$2";
shift; shift;
@@ -45,7 +50,68 @@ function preload_config () {
preload_config "$@"
+# Some distribution needs to use different distribution as their basis
+case "$DISTRIBUTION" in
+ expeimental)
+ DISTRIBUTION_ORIGINAL="$DISTRIBUTION"
+ DISTRIBUTION="sid"
+ ;;
+ *-backports)
+ DISTRIBUTION_ORIGINAL="$DISTRIBUTION"
+ DISTRIBUTION="${DISTRIBUTION%%-backports}"
+ ;;
+ *-proposed-updates)
+ DISTRIBUTION_ORIGINAL="$DISTRIBUTION"
+ DISTRIBUTION="${DISTRIBUTION%%-proposed-updates}"
+ ;;
+ */updates)
+ DISTRIBUTION_ORIGINAL="$DISTRIBUTION"
+ DISTRIBUTION="${DISTRIBUTION%%/updates}"
+ ;;
+ */volatile-sloppy)
+ DISTRIBUTION_ORIGINAL="$DISTRIBUTION"
+ DISTRIBUTION="${DISTRIBUTION%%/volatile-sloppy}"
+ ;;
+ */volatile)
+ DISTRIBUTION_ORIGINAL="$DISTRIBUTION"
+ DISTRIBUTION="${DISTRIBUTION%%/volatile}"
+ ;;
+ *-proposed)
+ DISTRIBUTION_ORIGINAL="$DISTRIBUTION"
+ DISTRIBUTION="${DISTRIBUTION%%-proposed}"
+ ;;
+ *-updates)
+ DISTRIBUTION_ORIGINAL="$DISTRIBUTION"
+ DISTRIBUTION="${DISTRIBUTION%%-updates}"
+ ;;
+ *-security)
+ DISTRIBUTION_ORIGINAL="$DISTRIBUTION"
+ DISTRIBUTION="${DISTRIBUTION%%-security}"
+ ;;
+ *)
+ DISTRIBUTION_ORIGINAL=""
+ ;;
+esac
+
. "$PBUILDER_PKGLIBDIR"/pbuilder-loadconfig
+
+# Set MIRRORSITE default based on $DISTRIBUTION
+# before parsing --mirror
+case "$DISTRIBUTION" in
+ drapper|hardy|interpid|jaunty|karmic|lucid)
+ MIRRORSITE="$UBUNTU_MIRRORSITE"
+ MIRROR_TYPE="UBUNTU"
+ ;;
+ bo|buzz|hamm|potato|rex|sarge|slink|woody)
+ MIRRORSITE="$DEBIAN_OLD_MIRRORSITE"
+ MIRROR_TYPE="DEBIAN_OLD"
+ ;;
+ *)
+ MIRRORSITE="$DEBIAN_MIRRORSITE"
+ MIRROR_TYPE="DEBIAN"
+ ;;
+esac
+
. "$PBUILDER_PKGLIBDIR"/pbuilder-modules
#default value for this option is !empty!
@@ -69,6 +135,10 @@ while [ -n "$1" ]; do
# preloaded
shift; shift;
;;
+ --distribution|-d)
+ # preloaded
+ shift; shift;
+ ;;
--basetgz)
case "${PBCURRENTCOMMANDLINEOPERATION}" in
create|--create)
@@ -103,11 +173,6 @@ while [ -n "$1" ]; do
export http_proxy="$2";
shift; shift;
;;
- --distribution)
- DISTRIBUTION="$2";
- OVERRIDE_APTLINES_WARN=yes
- shift; shift;
- ;;
--architecture)
ARCHITECTURE="$2";
shift; shift;
@@ -297,14 +362,6 @@ if [ -z "${CHROOTEXEC}" ]; then
CHROOTEXEC="chroot $BUILDPLACE "
fi
-# handle 'experimental' specially. -- required for raw pbuilder (create/update) only.
-if [ "$DISTRIBUTION" = "experimental" ]; then
- DISTRIBUTION="sid"
- EXPERIMENTAL="true"
-else
- EXPERIMENTAL=
-fi
-
case "$PBCURRENTCOMMANDLINEOPERATION" in
--login|login|--execute|execute|--pdebuild|pdebuild)
# don't do anything if it is "login", or pdebuild
diff --git a/pbuilder-modules b/pbuilder-modules
index c54a25b..b97a326 100644
--- a/pbuilder-modules
+++ b/pbuilder-modules
@@ -371,16 +371,43 @@ EOF
cat > "$BUILDPLACE"/etc/apt/apt.conf.d/15pbuilder <<EOF
APT::Install-Recommends "false";
EOF
- if [ -n "$EXPERIMENTAL" ]; then
- log "I: Installing apt-lines and pinning for experimental"
- if [ -n "$MIRRORSITE" ] ; then
- echo "deb $MIRRORSITE experimental main" >> "$BUILDPLACE"/etc/apt/sources.list
- echo "#deb-src $MIRRORSITE experimental main" >> "$BUILDPLACE"/etc/apt/sources.list
- fi
- cat >> "$BUILDPLACE"/etc/apt/apt.conf.d/15pbuilder <<EOF
+ case "$DISTRIBUTION" in
+ expeimental)
+ log "I: Installing apt-lines and pinning for experimental"
+ echo "deb $DEBIAN_MIRRORSITE experimental $COMPONENTS" >> "$BUILDPLACE"/etc/apt/sources.list
+ echo "#deb-src $DEBIAN_MIRRORSITE experimental $COMPONENTS" >> "$BUILDPLACE"/etc/apt/sources.list
+ cat >> "$BUILDPLACE"/etc/apt/apt.conf.d/15pbuilder <<EOF
APT::Default-Release "experimental";
EOF
- fi
+ ;;
+ etch-backports|lenny-backports)
+ log "I: Installing apt-lines for $DISTRIBUTION_ORIGINAL (Debian)"
+ echo "deb $DEBIAN_BACKPORTS_MIRRORSITE $DISTRIBUTION_ORIGINAL $COMPONENTS" >> "$BUILDPLACE"/etc/apt/sources.list
+ echo "#deb-src $DEBIAN_BACKPORTS_MIRRORSITE $DISTRIBUTION_ORIGINAL $COMPONENTS" >> "$BUILDPLACE"/etc/apt/sources.list
+ ;;
+ *-backports)
+ log "I: Installing apt-lines for $DISTRIBUTION_ORIGINAL (Ubuntu)"
+ echo "deb $UBUNTU_MIRRORSITE $DISTRIBUTION_ORIGINAL $COMPONENTS" >> "$BUILDPLACE"/etc/apt/sources.list
+ echo "#deb-src $UBUNTU_MIRRORSITE $DISTRIBUTION_ORIGINAL $COMPONENTS" >> "$BUILDPLACE"/etc/apt/sources.list
+ *-proposed-updates)
+ log "I: Installing apt-lines for $DISTRIBUTION_ORIGINAL (Debian)"
+ echo "deb $DEBIAN_MIRRORSITE $DISTRIBUTION_ORIGINAL $COMPONENTS" >> "$BUILDPLACE"/etc/apt/sources.list
+ echo "#deb-src $DEBIAN_MIRRORSITE $DISTRIBUTION_ORIGINAL $COMPONENTS" >> "$BUILDPLACE"/etc/apt/sources.list
+ */updates)
+ log "I: Installing apt-lines for $DISTRIBUTION_ORIGINAL (Debian security)"
+ echo "deb $DEBIAN_SECURITY_MIRRORSITE $DISTRIBUTION_ORIGINAL $COMPONENTS" >> "$BUILDPLACE"/etc/apt/sources.list
+ echo "#deb-src $DEBIAN_SECURITY_MIRRORSITE $DISTRIBUTION_ORIGINAL $COMPONENTS" >> "$BUILDPLACE"/etc/apt/sources.list
+ */volatile-sloppy|*/volatile)
+ log "I: Installing apt-lines for $DISTRIBUTION_ORIGINAL (Debian volatile)"
+ echo "deb $DEBIAN_VOLATILE_MIRRORSITE $DISTRIBUTION_ORIGINAL $COMPONENTS" >> "$BUILDPLACE"/etc/apt/sources.list
+ echo "#deb-src $DEBIAN_VOLATILE_MIRRORSITE $DISTRIBUTION_ORIGINAL $COMPONENTS" >> "$BUILDPLACE"/etc/apt/sources.list
+ *-proposed|*-updates|*-security)
+ log "I: Installing apt-lines for $DISTRIBUTION_ORIGINAL (Ubuntu)"
+ echo "deb $UBUNTU_MIRRORSITE $DISTRIBUTION_ORIGINAL $COMPONENTS" >> "$BUILDPLACE"/etc/apt/sources.list
+ echo "#deb-src $UBUNTU_MIRRORSITE $DISTRIBUTION_ORIGINAL $COMPONENTS" >> "$BUILDPLACE"/etc/apt/sources.list
+ *)
+ ;;
+ esac
}
function copy_local_configuration () {
diff --git a/pbuilderrc b/pbuilderrc
index 5164d09..79265c6 100755
--- a/pbuilderrc
+++ b/pbuilderrc
@@ -41,9 +41,20 @@ CCACHEDIR="${PBUILDER_CACHEDIR}/${PROFILE:+$PROFILE/}ccache"
#######################################################################
# APT initialization parameters for chroot
# ---------------------------------------------------------------------
-#export DEBIAN_BUILDARCH=athlon
-MIRRORSITE=http://cdn.debian.net/debian
+# MIRROR URLs
+DEBIAN_MIRRORSITE="http://cdn.debian.net/debian"
+DEBIAN_OLD_MIRRORSITE="http://archive.debian.org/debian"
+DEBIAN_VOLATILE_MIRRORSITE="http://volatile.debian.org/debian-volatile"
+DEBIAN_BACKPORTS_MIRRORSITE="http://backports.org/debian"
+DEBIAN_SECURITY_MIRRORSITE="http://security.debian.org"
+
+UBUNTU_MIRRORSITE="http://archive.ubuntu.com/ubuntu"
+
+# MIRRORSITE are now set by --distribution
+#MIRRORSITE=http://cdn.debian.net/debian
#OTHERMIRROR="deb http://www.home.com/updates/ ./"
+
+#export DEBIAN_BUILDARCH=athlon
#export http_proxy=http://your-proxy:8080/
# specifying the distribution forces the distribution on "pbuilder update"
--
1.6.5
More information about the Pbuilder-maint
mailing list