#!/usr/bin/env python
-# Check for obsolete binary packages
+""" Check for obsolete binary packages """
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2006 James Troup <james@nocrew.org>
# This program is free software; you can redistribute it and/or modify
import apt_pkg
from daklib import database
from daklib import utils
+from daklib.regexes import re_extract_src_version
################################################################################
f.close()
else:
- warn("No wanna-build dump file for architecture %s", architecture)
+ utils.warn("No wanna-build dump file for architecture %s", architecture)
return ret
################################################################################
FROM src_associations sa, source s, source s2, src_associations sa2
WHERE sa.suite = %s AND sa2.suite = %d AND sa.source = s.id
AND sa2.source = s2.id AND s.source = s2.source
- AND versioncmp(s.version, s2.version) < 0""" % (experimental_id,
- database.get_suite_id("unstable")))
+ AND s.version < s2.version""" % (experimental_id,
+ database.get_suite_id("unstable")))
ql = q.getresult()
if ql:
nviu_to_remove = []
Cnf["Cruft-Report::Options::Mode"] = "daily"
if not Cnf.has_key("Cruft-Report::Options::Wanna-Build-Dump"):
- Cnf["Cruft-Report::Options::Wanna-Build-Dump"] = "/srv/ftp.debian.org/scripts/nfu/"
+ Cnf["Cruft-Report::Options::Wanna-Build-Dump"] = "/srv/ftp.debian.org/scripts/nfu"
apt_pkg.ParseCommandLine(Cnf, Arguments, sys.argv)
for component in components:
filename = "%s/dists/%s/%s/source/Sources.gz" % (Cnf["Dir::Root"], suite, component)
# apt_pkg.ParseTagFile needs a real file handle and can't handle a GzipFile instance...
- temp_filename = utils.temp_filename()
+ (fd, temp_filename) = utils.temp_filename()
(result, output) = commands.getstatusoutput("gunzip -c %s > %s" % (filename, temp_filename))
if (result != 0):
sys.stderr.write("Gunzip invocation failed!\n%s\n" % (output))
if suite != "experimental":
check_components.append('main/debian-installer');
for component in check_components:
- architectures = filter(utils.real_arch, Cnf.ValueList("Suite::%s::Architectures" % (suite)))
+ architectures = filter(utils.real_arch, database.get_suite_architectures(suite))
for architecture in architectures:
filename = "%s/dists/%s/%s/binary-%s/Packages.gz" % (Cnf["Dir::Root"], suite, component, architecture)
# apt_pkg.ParseTagFile needs a real file handle
- temp_filename = utils.temp_filename()
+ (fd, temp_filename) = utils.temp_filename()
(result, output) = commands.getstatusoutput("gunzip -c %s > %s" % (filename, temp_filename))
if (result != 0):
sys.stderr.write("Gunzip invocation failed!\n%s\n" % (output))
sys.exit(result)
- nfu_packages.setdefault(architecture,[])
- nfu_entries = parse_nfu(architecture)
+ if "nfu" in checks:
+ nfu_packages.setdefault(architecture,[])
+ nfu_entries = parse_nfu(architecture)
packages = utils.open_file(temp_filename)
Packages = apt_pkg.ParseTagFile(packages)
bin2source[package]["version"] = version
bin2source[package]["source"] = source
if source.find("(") != -1:
- m = utils.re_extract_src_version.match(source)
+ m = re_extract_src_version.match(source)
source = m.group(1)
version = m.group(2)
if not bin_pkgs.has_key(package):
duplicate_bins.setdefault(key, [])
if package not in duplicate_bins[key]:
duplicate_bins[key].append(package)
- if package in nfu_entries and \
- version != source_versions[source]: # only suggest to remove out-of-date packages
- nfu_packages[architecture].append((package,version,source_versions[source]))
+ if "nfu" in checks:
+ if package in nfu_entries and \
+ version != source_versions[source]: # only suggest to remove out-of-date packages
+ nfu_packages[architecture].append((package,version,source_versions[source]))
packages.close()
os.unlink(temp_filename)