Ansgar Burchardt [Mon, 6 Aug 2012 13:55:23 +0000 (15:55 +0200)]
daklib/dbconn.py: use apt_pkg.TagSection instead of implementing our own parser
Ansgar Burchardt [Tue, 7 Aug 2012 14:06:07 +0000 (16:06 +0200)]
daklib/archive.py: check for source when copying binaries
Ansgar Burchardt [Sun, 1 Jul 2012 12:13:42 +0000 (14:13 +0200)]
Add export subcommand to export upload from policy queues.
Ansgar Burchardt [Sat, 7 Jul 2012 17:38:42 +0000 (11:38 -0600)]
daklib/dbconn.py: add basename property to PoolFile
Ansgar Burchardt [Fri, 15 Jun 2012 13:40:36 +0000 (15:40 +0200)]
daklib/dbconn.py: add path property to Suite
Ansgar Burchardt [Fri, 20 Jul 2012 11:10:54 +0000 (13:10 +0200)]
daklib/archive.py: guess source component even with component mappings
Ansgar Burchardt [Sat, 14 Jul 2012 16:32:57 +0000 (10:32 -0600)]
daklib/archive.py: implement component mappings
Ansgar Burchardt [Sat, 14 Jul 2012 00:09:44 +0000 (18:09 -0600)]
Add BinaryTimestampCheck.
Ansgar Burchardt [Sat, 14 Jul 2012 20:59:17 +0000 (14:59 -0600)]
daklib/config.py: add find_i method
Ansgar Burchardt [Mon, 9 Jul 2012 16:43:16 +0000 (10:43 -0600)]
daklib/checks.py: add missing join
Ansgar Burchardt [Sun, 8 Jul 2012 21:50:11 +0000 (15:50 -0600)]
daklib/checks.py: use apt_pkg.version_compare correctly
version_compare returns values less than, equal to or greater than zero.
This value is not always -1, 0 or 2(!) as the documentation claims.
Reference: http://bugs.debian.org/680891
Ansgar Burchardt [Sun, 8 Jul 2012 21:40:34 +0000 (15:40 -0600)]
daklib/checks.py: make version check slightly more verbose
Ansgar Burchardt [Tue, 10 Jul 2012 17:32:59 +0000 (11:32 -0600)]
daklib/archive.py: handle unexpected names for byhand files
Ansgar Burchardt [Mon, 9 Jul 2012 16:19:21 +0000 (10:19 -0600)]
daklib/archive.py: session → self.session
Ansgar Burchardt [Mon, 9 Jul 2012 16:00:52 +0000 (10:00 -0600)]
daklib/checks.py: allow DMs to upload to all suites
DMs may upload to all suites, but only the highest version currently in
unstable, experimental or *-backports will be considered for DM-U-A.
Ansgar Burchardt [Sun, 8 Jul 2012 19:23:25 +0000 (13:23 -0600)]
daklib/archive.py (install_binary): fix use of source_suites
Ansgar Burchardt [Sun, 8 Jul 2012 18:29:54 +0000 (12:29 -0600)]
daklib/archive.py: use SQLAlchemy 0.6 syntax for join
Ansgar Burchardt [Sun, 8 Jul 2012 20:55:03 +0000 (14:55 -0600)]
daklib/regexes.py: re_file_binary: arch names can have dashes
Ansgar Burchardt [Sun, 8 Jul 2012 19:53:58 +0000 (13:53 -0600)]
daklib/regexes.py: re_field_source: fix matching version numbers
Ansgar Burchardt [Sun, 8 Jul 2012 00:11:56 +0000 (18:11 -0600)]
daklib/contents.py: close db session after use
Ansgar Burchardt [Thu, 12 Jul 2012 15:59:43 +0000 (09:59 -0600)]
error out if sql query fails
Using "echo ... | psql" does not generate an error when something goes
wrong. Using "psql -c ..." instead does:
$ echo "SELECT * FROM does_not_exist" | psql projectb 2>/dev/null; echo $?
0
$ q="SELECT * FROM does_not_exist"; psql -c "$q" projectb 2>/dev/null; echo $?
1
This patch switches dak to use the second form to avoid silenty ignoring
errors.
Signed-off-by: Ansgar Burchardt <ansgar@debian.org>
Ansgar Burchardt [Thu, 12 Jul 2012 15:48:28 +0000 (09:48 -0600)]
use "set -o pipefail" for shell scripts
Signed-off-by: Ansgar Burchardt <ansgar@debian.org>
Joerg Jaspert [Mon, 9 Jul 2012 05:09:00 +0000 (07:09 +0200)]
Merge remote-tracking branch 'drkranz/cruft' into merge
* drkranz/cruft:
cruft_report.py: fix alignment of help description
Pass -R option to cruft-report cron jobs
Implement rdeps checking in cruft-report
Use check_reverse_depends function from utils
Implement check_reverse_depends function
Signed-off-by: Joerg Jaspert <joerg@debian.org>
Luca Falavigna [Sun, 8 Jul 2012 07:19:39 +0000 (07:19 +0000)]
cruft_report.py: fix alignment of help description
Signed-off-by: Luca Falavigna <dktrkranz@debian.org>
Luca Falavigna [Sun, 8 Jul 2012 00:14:53 +0000 (00:14 +0000)]
Pass -R option to cruft-report cron jobs
Signed-off-by: Luca Falavigna <dktrkranz@debian.org>
Luca Falavigna [Sun, 8 Jul 2012 00:07:42 +0000 (00:07 +0000)]
Implement rdeps checking in cruft-report
Signed-off-by: Luca Falavigna <dktrkranz@debian.org>
Luca Falavigna [Sun, 8 Jul 2012 00:07:11 +0000 (00:07 +0000)]
Use check_reverse_depends function from utils
Signed-off-by: Luca Falavigna <dktrkranz@debian.org>
Luca Falavigna [Sun, 8 Jul 2012 00:06:00 +0000 (00:06 +0000)]
Implement check_reverse_depends function
Signed-off-by: Luca Falavigna <dktrkranz@debian.org>
Joerg Jaspert [Sat, 7 Jul 2012 19:15:30 +0000 (21:15 +0200)]
Merge remote-tracking branch 'ansgar/pu/multiarchive-1' into merge
* ansgar/pu/multiarchive-1:
Drop column origin_server from archive table.
Reference archive table from suite and add path to archive root
typo: "pakcages" → "packages"
Also import re_bin_only_nmu from daklib.regexes
don't require all binaries to be included
use discard instead of remove
Add module to process policy queue uploads.
Add module with pre-acceptance tests.
Add module to handle archive manipulation.
Add module to handle uploads not yet installed to the archive.
process-unchecked.new: drop __SUMMARY__ for now
remove two template variables
utils.py: add call_editor function
utils (send_message): add option to write mail to files
utils.py (mail_addresses_for_upload): only try to use address from key if there is one
Signed-off-by: Joerg Jaspert <joerg@debian.org>
Joerg Jaspert [Sat, 7 Jul 2012 18:55:48 +0000 (20:55 +0200)]
Merge remote-tracking branch 'drkranz/rrd' into merge
* drkranz/rrd:
rrd-release-freeze-dates: add wheezy freeze date
Signed-off-by: Joerg Jaspert <joerg@debian.org>
Ansgar Burchardt [Sun, 1 Jul 2012 15:19:03 +0000 (17:19 +0200)]
Drop column origin_server from archive table.
Ansgar Burchardt [Mon, 14 May 2012 11:24:07 +0000 (13:24 +0200)]
Reference archive table from suite and add path to archive root
Signed-off-by: Ansgar Burchardt <ansgar@debian.org>
Ansgar Burchardt [Sat, 7 Jul 2012 14:28:51 +0000 (08:28 -0600)]
typo: "pakcages" → "packages"
Signed-off-by: Ansgar Burchardt <ansgar@debian.org>
Ansgar Burchardt [Fri, 6 Jul 2012 21:16:56 +0000 (15:16 -0600)]
Also import re_bin_only_nmu from daklib.regexes
Signed-off-by: Ansgar Burchardt <ansgar@debian.org>
Ansgar Burchardt [Fri, 6 Jul 2012 21:14:48 +0000 (15:14 -0600)]
don't require all binaries to be included
If a package has architecture-specific packages or a buildd uploads only
architecture-dependant packages and there are also arch-indep packages,
the upload does not include all binaries from the Binary field.
Signed-off-by: Ansgar Burchardt <ansgar@debian.org>
Ansgar Burchardt [Fri, 6 Jul 2012 21:13:41 +0000 (15:13 -0600)]
use discard instead of remove
Uploads that do not include source would trigger an exception when
remove is used. discard does not raise an exception when the element
does not exist.
Signed-off-by: Ansgar Burchardt <ansgar@debian.org>
Ansgar Burchardt [Sun, 10 Jun 2012 11:10:23 +0000 (13:10 +0200)]
Add module to process policy queue uploads.
Ansgar Burchardt [Thu, 31 May 2012 07:19:57 +0000 (09:19 +0200)]
Add module with pre-acceptance tests.
Ansgar Burchardt [Sun, 1 Jul 2012 12:06:21 +0000 (14:06 +0200)]
Add module to handle archive manipulation.
Ansgar Burchardt [Sun, 1 Jul 2012 12:06:32 +0000 (14:06 +0200)]
Add module to handle uploads not yet installed to the archive.
Ansgar Burchardt [Fri, 6 Jul 2012 15:58:14 +0000 (09:58 -0600)]
process-unchecked.new: drop __SUMMARY__ for now
The multi-archive changes don't have a useful value for __SUMMARY__
so far. So drop it at least temporarily from the templates.
Signed-off-by: Ansgar Burchardt <ansgar@debian.org>
Ansgar Burchardt [Fri, 6 Jul 2012 15:52:06 +0000 (09:52 -0600)]
remove two template variables
Drop __SHORT_SUMMARY__ and __STABLE_WARNING__. The former provides no
interesting information (just a list of installed files); the latter
seems no longer used and nobody missed it so far.
Signed-off-by: Ansgar Burchardt <ansgar@debian.org>
Ansgar Burchardt [Thu, 5 Jul 2012 16:23:28 +0000 (10:23 -0600)]
utils.py: add call_editor function
Signed-off-by: Ansgar Burchardt <ansgar@debian.org>
Ansgar Burchardt [Thu, 5 Jul 2012 20:18:50 +0000 (14:18 -0600)]
utils (send_message): add option to write mail to files
Add an option to write outgoing mails to a file in the directory given
by Dir::Mail. This is intended for use on development installations
where no real mail should be sent.
Signed-off-by: Ansgar Burchardt <ansgar@debian.org>
Ansgar Burchardt [Sun, 1 Jul 2012 23:09:20 +0000 (01:09 +0200)]
utils.py (mail_addresses_for_upload): only try to use address from key if there is one
Luca Falavigna [Fri, 6 Jul 2012 15:10:16 +0000 (15:10 +0000)]
rrd-release-freeze-dates: add wheezy freeze date
Signed-off-by: Luca Falavigna <dktrkranz@debian.org>
Joerg Jaspert [Sun, 1 Jul 2012 12:14:35 +0000 (14:14 +0200)]
Merge remote-tracking branch 'ansgar/pu/multiarchive-1' into merge
* ansgar/pu/multiarchive-1:
config.py: Add __contains__ method
fstransactions.py: allow mode to be a string
fstransactions.py: also use mode for directories
tests: add a few packages for testing dak
utils.py: add mail_addresses_for_upload function
gpg_get_key_addresses: return a list instead of a set
textutils.py: don't try to convert unicode strings again
Add regexp to match .changes files.
Correctly match version part of source tarballs
dominate: convert to str
Remove no longer used templates.
Remove unused functions.
Signed-off-by: Joerg Jaspert <joerg@debian.org>
Ansgar Burchardt [Thu, 14 Jun 2012 17:38:31 +0000 (19:38 +0200)]
config.py: Add __contains__ method
Ansgar Burchardt [Fri, 15 Jun 2012 13:42:10 +0000 (15:42 +0200)]
fstransactions.py: allow mode to be a string
Ansgar Burchardt [Fri, 15 Jun 2012 13:41:47 +0000 (15:41 +0200)]
fstransactions.py: also use mode for directories
Ansgar Burchardt [Sat, 16 Jun 2012 07:44:00 +0000 (09:44 +0200)]
tests: add a few packages for testing dak
Ansgar Burchardt [Thu, 28 Jun 2012 10:10:03 +0000 (12:10 +0200)]
utils.py: add mail_addresses_for_upload function
Signed-off-by: Ansgar Burchardt <ansgar@debian.org>
Ansgar Burchardt [Thu, 28 Jun 2012 10:07:42 +0000 (12:07 +0200)]
gpg_get_key_addresses: return a list instead of a set
gpg tries to return the primary uid (or newest uid if there is no explicit
primary) first. dak should prefer this address, but we need a list to know the
order of addresses gpg returned.
Signed-off-by: Ansgar Burchardt <ansgar@debian.org>
Ansgar Burchardt [Sun, 17 Jun 2012 07:33:25 +0000 (09:33 +0200)]
textutils.py: don't try to convert unicode strings again
Joerg Jaspert [Thu, 14 Jun 2012 11:48:55 +0000 (13:48 +0200)]
Merge remote-tracking branch 'algernon/b/queue-report/byhand-trainee' into merge
* algernon/b/queue-report/byhand-trainee:
queue-report: Also print unprocessed changes files
queue_report: Ignore stuff without a source
Signed-off-by: Joerg Jaspert <joerg@debian.org>
Ansgar Burchardt [Fri, 8 Jun 2012 15:24:51 +0000 (17:24 +0200)]
Add regexp to match .changes files.
Also use raw strings for the other regular expressions.
Ansgar Burchardt [Mon, 4 Jun 2012 15:48:24 +0000 (17:48 +0200)]
Correctly match version part of source tarballs
The version part must not be greedy in order to not include the .orig.tar.*
part. Also add .debian.tar.* which I forgot earlier.
Signed-off-by: Ansgar Burchardt <ansgar@debian.org>
Ansgar Burchardt [Sun, 10 Jun 2012 14:20:57 +0000 (16:20 +0200)]
dominate: convert to str
apt_pkg.Configuration does only allow str values; trying to assign a
unicode object raises a TypeError.
Ansgar Burchardt [Sun, 10 Jun 2012 15:08:27 +0000 (17:08 +0200)]
Remove no longer used templates.
Signed-off-by: Ansgar Burchardt <ansgar@debian.org>
Ansgar Burchardt [Fri, 8 Jun 2012 15:06:43 +0000 (17:06 +0200)]
Remove unused functions.
Signed-off-by: Ansgar Burchardt <ansgar@debian.org>
Gergely Nagy [Thu, 14 Jun 2012 08:14:43 +0000 (08:14 +0000)]
queue-report: Also print unprocessed changes files
For the sake of clarity, if there are any changes files that couldn't
be processed (due to our inability to find the source, see byhand +
ftptrainee case), also display those in the text report.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Gergely Nagy [Wed, 13 Jun 2012 13:19:42 +0000 (13:19 +0000)]
queue_report: Ignore stuff without a source
Trainees can't see files in byhand, therefore process_changes_file in
queue_report is unable to handle changes files in queue/byhand. As a
workaround, whenever it encounters a changes file that it can't read
(and thus, cache[filename] has no source key), ignore that and
continue.
The result is that trainees will be able to use queue-report without a
backtrace, they just won't be able to see byhand, as intended. For
everyone else, queue-report should work as before.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Joerg Jaspert [Thu, 7 Jun 2012 20:15:52 +0000 (22:15 +0200)]
first get the lockfile, then sync to ftpmaster. and wait longer for it
Signed-off-by: Joerg Jaspert <joerg@debian.org>
Joerg Jaspert [Sat, 2 Jun 2012 13:50:28 +0000 (15:50 +0200)]
Merge remote-tracking branch 'refs/remotes/ansgar/pu/multiarchive-1' into merge
* refs/remotes/ansgar/pu/multiarchive-1:
add module for filesystem transactions
Add nicer and stricter regular expressions.
override, override-disparity: rename suite variable to suite_name
daklib/dbconn.py: Don't list install_date twice in not-null constraint.
fix typo in daklib/gpg.py: seqeuence -> sequence
Allow to set fingerprint in __init__ for DBBinary and DBSource.
Remove split-done.
Remove import-known-changes and import-new-files.
process-upload: document -d, --directory option
We now allow non-gzip data in udebs
Signed-off-by: Joerg Jaspert <joerg@debian.org>
Ansgar Burchardt [Thu, 24 May 2012 13:45:22 +0000 (15:45 +0200)]
add module for filesystem transactions
daklib.fstransactions allows to copy, remove, and move files around in
transactions, that is all operations will succeed or be reverted.
Ansgar Burchardt [Thu, 31 May 2012 18:50:33 +0000 (20:50 +0200)]
Add nicer and stricter regular expressions.
Ansgar Burchardt [Tue, 15 May 2012 12:03:24 +0000 (14:03 +0200)]
override, override-disparity: rename suite variable to suite_name
Ansgar Burchardt [Tue, 29 May 2012 17:30:53 +0000 (19:30 +0200)]
daklib/dbconn.py: Don't list install_date twice in not-null constraint.
Ansgar Burchardt [Wed, 23 May 2012 15:20:48 +0000 (17:20 +0200)]
fix typo in daklib/gpg.py: seqeuence -> sequence
Ansgar Burchardt [Wed, 30 May 2012 17:45:18 +0000 (19:45 +0200)]
Allow to set fingerprint in __init__ for DBBinary and DBSource.
Ansgar Burchardt [Mon, 21 May 2012 22:12:11 +0000 (00:12 +0200)]
Remove split-done.
Since
0ce7303ebc8d854fa8061669d39aba933665af6c we store changes files directly
into date-based directories.
Ansgar Burchardt [Mon, 21 May 2012 21:16:53 +0000 (23:16 +0200)]
Remove import-known-changes and import-new-files.
Ansgar Burchardt [Mon, 14 May 2012 11:24:28 +0000 (13:24 +0200)]
process-upload: document -d, --directory option
Signed-off-by: Ansgar Burchardt <ansgar@debian.org>
Mark Hymers [Mon, 14 May 2012 20:46:34 +0000 (21:46 +0100)]
We now allow non-gzip data in udebs
Signed-off-by: Mark Hymers <mhy@debian.org>
Joerg Jaspert [Fri, 11 May 2012 21:41:13 +0000 (23:41 +0200)]
Merge remote-tracking branch 'ansgar/pu/wheezy' into merge
* ansgar/pu/wheezy:
Go back to temporary tables.
Signed-off-by: Joerg Jaspert <joerg@debian.org>
Ansgar Burchardt [Fri, 11 May 2012 21:32:28 +0000 (23:32 +0200)]
Go back to temporary tables.
Using with statements as done in
c9f2c29661e8d95215966aa52228febe0fec50cf
requires more resources, so revert back to using temporary tables.
We keep the statements to create and fill the temporary table separate from the
SELECT query itself which should fix the original problem in a different way.
Joerg Jaspert [Fri, 11 May 2012 19:46:56 +0000 (21:46 +0200)]
Merge remote-tracking branch 'ansgar/pu/wheezy' into merge
* ansgar/pu/wheezy:
Change how compression methods are selected in FileWriter
Use with statement instead of temporary table
Move "import utils" into function
Signed-off-by: Joerg Jaspert <joerg@debian.org>
Ansgar Burchardt [Fri, 11 May 2012 16:26:53 +0000 (18:26 +0200)]
Change how compression methods are selected in FileWriter
Ansgar Burchardt [Fri, 11 May 2012 13:09:52 +0000 (15:09 +0200)]
Use with statement instead of temporary table
SQLAlchemy might use server-side cursors and prepend a
DECLARE "..." CURSOR WITHOUT HOLD FOR
to the statement. This does not work if the statement starts with creating a
temporary table.
Ansgar Burchardt [Fri, 11 May 2012 10:54:12 +0000 (12:54 +0200)]
Move "import utils" into function
This breaks a dependency cycle (as utils.py imports dbconn.py again) and allows
the tests to pass again.
Joerg Jaspert [Fri, 11 May 2012 10:17:59 +0000 (12:17 +0200)]
Merge remote-tracking branch 'ansgar/pu/wheezy' into merge
* ansgar/pu/wheezy:
Remove dead code.
Remove redundant indices from database.
Add path to removal logs to minimal configuration.
Make dominate -s <suite> work without Obsolete::Options::Suite set.
setup/README: update for postgresql-9.1
setup/README: remove no longer needed postgresql packages
stop using deprecated python-apt functions
merge check for Description field with other checks
add our own deb_extract_control function
Stop passing order_by as a string.
Allow use with SQLAlchemy 0.7
Signed-off-by: Joerg Jaspert <joerg@debian.org>
Ansgar Burchardt [Thu, 10 May 2012 12:11:23 +0000 (14:11 +0200)]
Remove dead code.
In
ca9e3716b22771d88dcd7ca2e2f180f9e1707a10 the code to create system users was
removed from add_user.py, but related functions and a command line argument
were still kept. This commit removes that code.
Ansgar Burchardt [Thu, 10 May 2012 11:06:03 +0000 (13:06 +0200)]
Remove redundant indices from database.
Ansgar Burchardt [Thu, 10 May 2012 08:31:34 +0000 (10:31 +0200)]
Add path to removal logs to minimal configuration.
dak rm will not work otherwise.
Ansgar Burchardt [Thu, 10 May 2012 08:22:40 +0000 (10:22 +0200)]
Make dominate -s <suite> work without Obsolete::Options::Suite set.
Ansgar Burchardt [Wed, 9 May 2012 14:47:40 +0000 (16:47 +0200)]
setup/README: update for postgresql-9.1
Refer to the current postgresql-9.1 packages. Also use the extension versions
of debversion and plpgsql and drop them from the schema definition.
Ansgar Burchardt [Wed, 9 May 2012 13:22:28 +0000 (15:22 +0200)]
setup/README: remove no longer needed postgresql packages
dak no longer uses plperl or plpython.
Ansgar Burchardt [Sun, 6 May 2012 15:16:52 +0000 (17:16 +0200)]
stop using deprecated python-apt functions
Renamed functions and methods:
Find -> find
FindB -> find_b
newConfiguration -> Configuration
ParseCommandLine -> parse_commandline
ParseSrcDepends -> parse_src_depends
ReadConfigFileISC -> read_config_file_isc
SubTree -> subtree
ValueList -> value_list
VersionCompare -> version_compare
Removed functions:
debExtractControl: replaced with utils.deb_extract_control
Other changes:
x.has_key(y) -> y in x
x.Find(y) -> x[y]
The last change was only done in places where `y' is sure to exists (`x.Find'
would return None otherwise, `x[y]' would raise an exception).
Joerg Jaspert [Wed, 9 May 2012 18:20:53 +0000 (20:20 +0200)]
ask before installing security updates
helps avoiding accidental *changes commandline arguments
Signed-off-by: Joerg Jaspert <joerg@debian.org>
Ansgar Burchardt [Wed, 9 May 2012 10:46:20 +0000 (12:46 +0200)]
merge check for Description field with other checks
Ansgar Burchardt [Wed, 9 May 2012 10:44:08 +0000 (12:44 +0200)]
add our own deb_extract_control function
debExtractControl from apt_inst was deprecated and removed.
Ansgar Burchardt [Sun, 6 May 2012 15:47:15 +0000 (17:47 +0200)]
Stop passing order_by as a string.
This no longer worked with SQLAlchemy 0.7.
Ansgar Burchardt [Sun, 6 May 2012 15:36:32 +0000 (17:36 +0200)]
Allow use with SQLAlchemy 0.7
Joerg Jaspert [Fri, 20 Apr 2012 16:37:22 +0000 (18:37 +0200)]
* scripts/debian/link_morgue.sh: New script, converting morgue/ into a
set of symlinks, then transferring them to the morgue host
* config/debian/cron.daily: Add link_morgue
Signed-off-by: Joerg Jaspert <joerg@debian.org>
Joerg Jaspert [Thu, 29 Mar 2012 05:25:25 +0000 (07:25 +0200)]
Merge remote-tracking branch 'youam/master' into merge
* youam/master:
define used variable, as we're now using strict
Signed-off-by: Joerg Jaspert <joerg@debian.org>
Uli Martens [Thu, 29 Mar 2012 05:24:33 +0000 (07:24 +0200)]
Merge branch 'master' of http://ftp-master.debian.org/git/dak
Uli Martens [Thu, 29 Mar 2012 05:23:56 +0000 (07:23 +0200)]
define used variable, as we're now using strict
Joerg Jaspert [Wed, 28 Mar 2012 19:32:47 +0000 (21:32 +0200)]
Merge remote-tracking branch 'youam/master' into merge
* youam/master:
warn on read errors in update-ftpstats, don't die
handle compressed files transparently
Signed-off-by: Joerg Jaspert <joerg@debian.org>
Uli Martens [Wed, 28 Mar 2012 14:26:36 +0000 (16:26 +0200)]
warn on read errors in update-ftpstats, don't die
Uli Martens [Wed, 28 Mar 2012 09:22:12 +0000 (11:22 +0200)]
handle compressed files transparently