Hi,
Here is a patch to allow users to pass --warn-symlinks or -W option on
the command line which allows to only warn the user that a broken
symlinks is encountered.
I also modified two indentation issues in the same file (piuparts.py).
Regards,
Carl Chenet
--- piuparts-trunk/piuparts.py 2009-04-19 19:18:11.000000000 +0200
+++ piuparts-modified/piuparts.py 2009-04-19 19:34:21.000000000 +0200
@@ -147,7 +147,8 @@
self.no_upgrade_test = False
self.skip_cronfiles_test = False
self.check_broken_symlinks = True
- self.debfoster_options = None
+ self.warn_broken_symlinks = False
+ self.debfoster_options = None
self.ignored_files = [
"/dev/MAKEDEV",
"/etc/aliases",
@@ -564,7 +565,7 @@
if settings.scriptsdir is not None:
dest = self.relative("tmp/scripts/")
if not os.path.exists(self.relative("tmp/scripts/")):
- os.mkdir(dest)
+ os.mkdir(dest)
logging.debug("Copying scriptsdir to %s" % dest)
for file in os.listdir(settings.scriptsdir):
if (file.startswith("post_") or file.startswith("pre_")) and os.path.isfile(os.path.join((settings.scriptsdir), file)):
@@ -938,9 +939,13 @@
target = "<unknown>"
broken.append("%s -> %s" % (name, target))
if broken:
- logging.error("FAIL: Broken symlinks:\n%s" %
- indent_string("\n".join(broken)))
- panic()
+ if settings.warn_broken_symlinks:
+ logging.error("WARN: Broken symlinks:\n%s" %
+ indent_string("\n".join(broken)))
+ else:
+ logging.error("FAIL: Broken symlinks:\n%s" %
+ indent_string("\n".join(broken)))
+ panic()
else:
logging.debug("No broken symlinks as far as we can find.")
@@ -1839,6 +1844,10 @@
action="store_true", default=False,
help="No meaning anymore.")
+ parser.add_option("-W", "--warn-symlinks", action="store_true",
+ default=False,
+ help="Warn only for broken symlinks.")
+
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).")
@@ -1867,6 +1876,7 @@
settings.debian_mirrors = [parse_mirror_spec(x, defaults.get_components())
for x in opts.mirror]
settings.check_broken_symlinks = not opts.no_symlinks
+ settings.warn_broken_symlinks = opts.warn_symlinks
settings.savetgz = opts.save
settings.warn_on_others = opts.warn_on_others
settings.debfoster_options = opts.debfoster_options.split()