[Piuparts-commits] [SCM] piuparts git repository branch, piatti, updated. 0.49-147-g5e9a5c3

Andreas Beckmann anbe at debian.org
Mon Mar 4 09:54:42 UTC 2013


The following commit has been merged in the piatti branch:
commit 5e5bbc40fe4773b0a0d1362063521d9b9d666727
Author: Andreas Beckmann <anbe at debian.org>
Date:   Sun Mar 3 18:45:50 2013 +0100

    p: use DistroConfig
    
    Signed-off-by: Andreas Beckmann <anbe at debian.org>

diff --git a/debian/changelog b/debian/changelog
index ad90635..b74e11f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -14,6 +14,9 @@ piuparts (0.50) UNRELEASED; urgency=low
     - Improve the "dirname part contains a symlink" test and report
       overwritten files owned by other packages as failures.
     - Add --proxy=URL option.
+    - piuparts.deb: Add Depends: piuparts-common for piupartslib.
+    - Use distros.conf to generate mirror configuration. This enables more
+      complex scenarios involving partial distributions and dist-upgrades.
   * piuparts.conf:
     - New global settings:
       + proxy
diff --git a/debian/control b/debian/control
index 88603aa..b49ee50 100644
--- a/debian/control
+++ b/debian/control
@@ -22,6 +22,7 @@ Architecture: all
 Pre-Depends:
  dpkg (>= 1.15.7.2~),
 Depends:
+ piuparts-common (= ${binary:Version}),
  debootstrap,
  debsums,
  lsb-release,
diff --git a/piuparts.py b/piuparts.py
index fd3a353..81f49e2 100644
--- a/piuparts.py
+++ b/piuparts.py
@@ -56,6 +56,11 @@ try:
 except ImportError:
     from debian_bundle import deb822
 
+import piupartslib.conf
+
+DISTRO_CONFIG_FILE = "/etc/piuparts/distros.conf"
+
+
 class Defaults:
 
     """Default settings which depend on flavor of Debian.
@@ -915,7 +920,9 @@ class Chroot:
     def create_apt_sources(self, distro):
         """Create an /etc/apt/sources.list with a given distro."""
         lines = []
-        for mirror, components in settings.debian_mirrors:
+        lines.extend(settings.distro_config.get_deb_lines(
+            distro, settings.debian_mirrors[0][1]))
+        for mirror, components in settings.debian_mirrors[1:]:
             lines.append("deb %s %s %s" %
                          (mirror, distro, " ".join(components)))
         for repo in settings.extra_repos:
@@ -1008,7 +1015,7 @@ class Chroot:
             options.append('--include=eatmydata')
             options.append('--components=%s' % ','.join(settings.debian_mirrors[0][1]))
         run(prefix + ["debootstrap", "--variant=minbase"] + options +
-            [settings.debian_distros[0], self.name, settings.debian_mirrors[0][0]])
+            [settings.debian_distros[0], self.name, settings.distro_config.get_mirror(settings.debian_distros[0])])
         self.bootstrapped = True
 
     def minimize(self):
@@ -2828,6 +2835,9 @@ def parse_command_line():
         if not settings.debian_mirrors:
             settings.debian_mirrors = defaults.get_mirror()
 
+    settings.distro_config = piupartslib.conf.DistroConfig(
+                DISTRO_CONFIG_FILE, settings.debian_mirrors[0][0])
+
     if settings.keep_sources_list and \
        (not settings.basetgz or len(settings.debian_distros) > 1):
         logging.error("--keep-sources-list only makes sense with --basetgz "

-- 
piuparts git repository



More information about the Piuparts-commits mailing list