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

Re: Liste für source/packages



Am 2004-12-26 13:43:10, schrieb Michael Bienia:
> On 2004-12-25 23:10:49 +0100, Michelle Konzack wrote:
> > Habe vergessen zu erwähnen, das ich zu einem beliebigen Paket
> > das Sourcepakete haben will.
> 
> Das Feld "Source:" in der Ausgabe von "apt-cache show" dürfte dir
> weiterhelfen. Das Feld ist aber nur vorhanden, wenn das Paket anders
> heißt als das Sourcepaket. 
> So haben die Pakete "bash-doc" und "bash-builtins" eine Source-Feld (da
> sie aus dem Source-Paket "bash" gebaut wurden) aber das Paket "bash" hat
> keins, da hier das Source-Paket genauso heißt (nämlich "bash").

Hatte ich schon gemerkt. Aber 'apt-cache show' ist so lahmarschig...
Das dauert auf nem AMD Sempron 2200+ bis zu 20 sekunden.

Habe mir das folgene Script gebastelt (wird nach einem 'apt-get update'
aufgerufen per cron):

  ____( '/home/michelle/bin/src-bin-list' )_____________________________
 /
| #!/bin/bash 
| 
| ARCH=/var/lib/apt/lists/
| 
| rm -f /tmp/packages.tmp
| 
| grep "^Package: " $ARCH\ftp.de.debian.org_debian_dists_main_source_Sources | \
|                sed s/^Package:\ // >/tmp/packages.tmp
| 
| for SRCPACKAGE in `cat /tmp/packages.tmp` ; do
|   echo -n "$SRCPACKAGE:" >>/tmp/srcbin.tmp
|   BINPACKAGES=`apt-cache showsrc $SRCPACKAGE | grep "^Binary: " | \
|                sed -e "s/^Binary:\ //" -e "s/,//g"`
|   echo -n $BINPACKAGES /tmp/srcbin.tmp
|   echo    " " >>/tmp/srcbin.tmp
| done
| 
| mv -f /tmp/srcbin.tmp $HOME/.procmail/LIST_srcbin
| rm -f /tmp/packages.tmp /tmp/srcbin.tmp
 \______________________________________________________________________

was einwandfrei funktioniert, aber wegen 'apt-cache showsrc' so um die
15-20 Minuten dauert. Dabei entsteht dann die Datei:

  ____( '/home/michelle/.procmail/LIST_srcbin' )________________________
 /
| 3dchess:3dchess 
| 3ddesktop:3ddesktop 
| 3dwm:3dwm-server libpolhem libcelsius-dev 3dwm-vncclient libzorn-dev libpolhem-dev libsolid 3dwm-pickclient libnobel 3dwm-csgclient libcelsius libgarbo-dev 3dwm-geoclient libgarbo 3dwm-clock libnobel-dev 3dwm-texclient libsolid-dev libzorn 
| 44bsd-rdist:44bsd-rdist 
| 6tunnel:6tunnel 
| 9menu:9menu 
| 9wm:9wm 
| a2ps:a2ps 
| a2ps-perl-ja:a2ps-perl-ja 
| a52dec:liba52-0.7.4 liba52-0.7.4-dev 
| aa3d:aa3d 
| aalib:aalib1-dev aalib1 aalib-bin 

<snip size 350kByte>

| zvbi:libzvbi-doc libzvbi-dev libzvbi-common libzvbi0 zvbi 
| zynaddsubfx:zynaddsubfx 
| zziplib:zziplib-bin libzzip-0-12 libzzip-dev 
 \______________________________________________________________________

die ich nun mit procmail bequem grepen kann:

  ____( '/home/michelle/.procmail/BTS_Debian' )_________________________
 /
| ######################################################################
| #  Filter for the Debian GNU/Linux  
| #  Package Tracking System (PTS)
| #  and Bug Tracking System (BTS) 
| ######################################################################

<snip>

| SP=' 	'

<snip>

| :0
| * ^Subject:.*(Bug list for package |Processed: Bugindex )
| {
|   :0 fh
|   | sed -e s/Bug\ list\ for\ package\ // -e s/Processed:\ Bugindex\ //
|   
|   :0
|   * $ ^Subject:.*\/[^$SP]+$
|   * MATCH ?? ^\/[^$]+
|   {
|     PACKAGE = `grep "$MATCH " $HOME/.procmail/LIST_srcbin |cut -d ":" -f1`
|     
|     :0
|     * PACKAGE ?? ^\/.
|     BTS_Debian/$MATCH/$PACKAGE/
|   }
| }

<snip>

 \______________________________________________________________________

und haut hin... Wenn das Delay nicht währe...

> Michael

Greetings
Michelle

-- 
Linux-User #280138 with the Linux Counter, http://counter.li.org/ 
Michelle Konzack   Apt. 917                  ICQ #328449886
                   50, rue de Soultz         MSM LinuxMichi
0033/3/88452356    67100 Strasbourg/France   IRC #Debian (irc.icq.com)

Attachment: signature.pgp
Description: Digital signature


Reply to: