[Piuparts-commits] rev 565 - in trunk: . debian

Holger Levsen holger at alioth.debian.org
Wed Dec 16 19:31:55 UTC 2009


Author: holger
Date: 2009-12-16 19:31:55 +0000 (Wed, 16 Dec 2009)
New Revision: 565

Modified:
   trunk/debian/changelog
   trunk/piuparts.1.txt
   trunk/piuparts.py
Log:
  * Add new option, --dpkg-force-confdef, to make dpkg use --force-confdev,
    which lets dpkg always choose the default action when a modified conffile
    is found. This options will make piuparts ignore errors it was designed
    to report and therefore should only be used to hide problems in
    dependent packages. (Closes: #466118)

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2009-12-16 17:26:35 UTC (rev 564)
+++ trunk/debian/changelog	2009-12-16 19:31:55 UTC (rev 565)
@@ -22,10 +22,14 @@
       Thanks again to Patrick Schoenfeld for his help.
     * Add another type of custom-scripts, post_setup_, which are executed after
       the chroot was setup. (Closes: #466043)
-    * Add another new option, --pedantic-purge-test, to tell piuparts to be 
-      pedantic when checking if a purged package leaves files behind. 
-      If this option is not set, files left in /tmp are ignored. 
-      (Closes: #528266)
+    * Add new option, --pedantic-purge-test, to tell piuparts to be pedantic 
+      when checking if a purged package leaves files behind. If this option is
+      not set, files left in /tmp are ignored. (Closes: #528266)
+    * Add new option, --dpkg-force-confdef, to make dpkg use --force-confdev,
+      which lets dpkg always choose the default action when a modified conffile
+      is found. This options will make piuparts ignore errors it was designed
+      to report and therefore should only be used to hide problems in
+      dependent packages. (Closes: #466118)
   * piuparts-report: report broken symlinks.
   * piuparts-slave: 
     - gracefully deal with upgrade-test-distros and upgrade-test-chroot-tgz 

Modified: trunk/piuparts.1.txt
===================================================================
--- trunk/piuparts.1.txt	2009-12-16 17:26:35 UTC (rev 564)
+++ trunk/piuparts.1.txt	2009-12-16 19:31:55 UTC (rev 565)
@@ -59,6 +59,9 @@
 *--do-not-verify-signatures*::
   Do not verify signatures from the Release files when running debootstrap.
 
+*--dpkg-force-confdef*::
+  Make dpkg use --force-confdev, which lets dpkg always choose the default action when a modified conffile is found. This options will make piuparts ignore errors it was designed to report and therefore should only be used to hide problems in depending packages. 'This option shall normally not be used.' (See #466118.)
+
 *-i* 'filename', *--ignore*='filename'::
   Add a filename to the list of filenames to be ignored when comparing changes before and after installation. By default, piuparts ignores files that always change during a package installation and uninstallation, such as *dpkg* status files. The filename should be relative to the root of the chroot (e.g., _var/lib/dpkg/status_). This option can be used as many times as necessary.
 

Modified: trunk/piuparts.py
===================================================================
--- trunk/piuparts.py	2009-12-16 17:26:35 UTC (rev 564)
+++ trunk/piuparts.py	2009-12-16 19:31:55 UTC (rev 565)
@@ -657,6 +657,13 @@
                     'APT::Install-Recommends "0";\n' +
                     'APT::Install-Suggests "0";\n')
 
+    def create_dpkg_conf(self):
+        """Create /etc/dpkg/dpkg.cfg.d/piuparts inside the chroot."""
+        if settings.dpkg_force_confdef:
+          create_file(self.relative("etc/dpkg/dpkg.cfg.d/piuparts"),
+                    'force-confdef')
+          logging.info("Warning: dpkg has been configured to use the force-confdef option. This will hide problems, see #466118.")
+
     def create_policy_rc_d(self):
         """Create a policy-rc.d that prevents daemons from running."""
 	full_name = os.path.join(self.name, "usr/sbin/policy-rc.d")
@@ -692,6 +699,7 @@
         if not settings.keep_sources_list:
             self.create_apt_sources(settings.debian_distros[0])
         self.create_apt_conf()
+        self.create_dpkg_conf()
         self.create_policy_rc_d()
         for bindmount in settings.bindmounts:
             run(["mkdir", "-p", self.relative(bindmount)])
@@ -1785,7 +1793,11 @@
     parser.add_option("--debfoster-options",
                       default="-o MaxPriority=required -o UseRecommends=no -f -n apt debfoster",
 		      help="Run debfoster with different parameters (default: -o MaxPriority=required -o UseRecommends=no -f -n apt debfoster).")
-    
+
+    parser.add_option("--dpkg-force-confdef",
+                      default=False,
+		      help="Make dpkg use --force-confdev, which lets dpkg always choose the default action when a modified conffile is found. This options will make piuparts ignore errors it was designed to report and therefore should only be used to hide problems in depending packages.")
+     
     parser.add_option("--do-not-verify-signatures", default=False,
                       help="Do not verify signatures from the Release files when running debootstrap.")
 
@@ -1946,6 +1958,7 @@
     settings.savetgz = opts.save
     settings.warn_on_others = opts.warn_on_others
     settings.debfoster_options = opts.debfoster_options.split()
+    settings.dpkg_force_confdef = opts.dpkg_force_confdef
 
     if opts.adt_virt is None:
         settings.adt_virt = None




More information about the Piuparts-commits mailing list