File: snarf_Packages-source

package info (click to toggle)
quinn-diff 0.66
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 604 kB
  • ctags: 243
  • sloc: ansic: 2,318; sh: 606; makefile: 79
file content (72 lines) | stat: -rwxr-xr-x 2,043 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#! /bin/sh

# Script to create/update Packages-source
# Writes output to ./Packages-source

# This script depends on lftp.  You should alter the debian_mirror
# line below as chance are you have a mirror closer to you than
# Lancaster University in the UK.

debian_mirror=sunsite.doc.ic.ac.uk
debian_mirror_dir=/pub/computing/operating-systems/linux/debian
debian_non_us_mirror=ftp.lh.umu.se
debian_non_us_mirror_dir=/pub/linux/debian-non-US

# Alterable through command line options

distribution=unstable
non_us_distribution=hamm # Lame non_us FTP site structure and maintenance
component=main 

# Needs to be kept uptodate by hand.

section="base admin comm devel doc editors electronics games graphics hamradio interpreters libs mail math misc net news oldlibs otherosfs shells sound tex text utils web x11"

####################################################################3
# Write usage message
usage() {
	echo "usage: $progname [-a|--architecture] [-c|--component] 
       [-d|--distribution]" 1>&2
}
####################################################################3

set -e

progname="$0"
loop=yes
while [ $loop = yes ]
do
        case "$1" in
	-c|--component)    component="$2"; shift 2;;
        -d|--distribution) distribution="$2"; non_us_distribution="$2"; shift 2;;
        --)                shift; loop=no ;;
        -h|--help)         usage; exit 0 ;;
        -*)                error "unknown option $1" ;;
        *)                 loop=no ;;
        esac
done

tmpdir=/tmp/quinn_diff.$$

mkdir $tmpdir || exit 1

trap 'rm -rf $tmpdir ; exit 1' 1 2 3 13 15

echo "open ftp://$debian_mirror/$debian_mirror_dir/dists/$distribution/$component/source" > $tmpdir/bar

for i in $section; do
  echo "cd $i; nlist *.dsc > $tmpdir/foo.$i; cd .." >> $tmpdir/bar;
done

lftp -f $tmpdir/bar > /dev/null 2>&1

export PATH=$(dirname $0):$PATH 

create_Packages-source $tmpdir/foo.* > $tmpdir/baz

sort $tmpdir/baz > Packages-source

# Check for dups and bail out.

rm -fr $tmpdir
for i in $section; do rm -f $tmpdir/foo.$i; done