[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 16 Broken packages because of tar



Martin Michlmayr <tbm@cyrius.com> writes:
> * Andreas Barth <aba@not.so.argh.org> [2004-02-12 23:45]:
>> Marc 'HE' Brockschmidt has created a checking script for broken tar
>> archives. This script has found 16 packages (with mtime < 10 days)
>> that have broken filenames. The following is the list of broken
>> packages.
>> 
>> If I don't get a "No" until 16:00 UTC, I'll fill RC-bugs against these
>> packages to prevent traversal to sarge.
> No, it's much better to binary NMU.
>
> How does thie checking script work?

It uses Archive::Tar to get all the complicated tar stuff (long
filenames, extended headers, god knows what they have invented) done and
only checks the name part of the header of every file.

> In particular, can it be done in Python?

I've no idea if a fitting tar lib is available for Python. My script is
just a thin layer over Archive::Tar to get the needed information.

I attached the thing: It reads the gunzipped data.tar.gz from STDIN and
outputs the broken (from dpkg's POV) filenames (filename exactly 100
chars long, not terminated with \0) on STDOUT. Something like 
if [[ $( ar p $DEB data.tar.gz | gzip -dc | deb_tar_check.pl ) ]]; then echo $DEB broken; fi
should do the job.

Marc
-- 
$_=')(hBCdzVnS})3..0}_$;//::niam/s~=)]3[))_$(rellac(=_$({pam(esrever })e$.)4/3*
)e$(htgnel+23(rhc,"u"(kcapnu ,""nioj ;|_- |/+9-0z-aZ-A|rt~=e$;_$=e${pam tnirp{y
V2ajFGabus} yV2ajFGa&{gwmclBHIbus}gwmclBHI&{yVGa09mbbus}yVGa09mb&{hBCdzVnSbus';
s/\n//g;s/bus/\nbus/g;eval scalar reverse   # <mailto:marc@marcbrockschmidt.de>



Reply to: