Moved debian-tools (from CVS) to here.
[git-tools-moved-to-github.git] / update-archive / update-archive.sh
1 #!/bin/sh
2 # $Id: update-archive.sh,v 1.12 2007-11-11 19:47:15 adam Exp $
3 if test ! -f apt-ftparchive.conf.in; then
4         echo "$0: apt-ftparchive.conf.in must be located in current directory"
5         exit 1
6 fi
7
8 if test ! -x /usr/bin/apt-ftparchive; then
9         echo "$0: /usr/bin/apt-ftparchive missing. Install apt-utils"
10         exit 1
11 fi
12
13 if test -z "$1"; then
14         debiandir=/home/ftp/pub/debian
15 else
16         debiandir=$1
17 fi
18
19 if test ! -d "$debiandir"; then
20         echo "$0: The specified '$debiandir' is not a directory"
21         exit 1
22 fi
23
24
25 # gpg -a -d -o Release.gpg Release
26
27 confdir=`pwd`
28 cd $debiandir
29
30 for dist in lenny etch sarge woody; do
31         # Make symlinks from the regular FTP archive
32         d=pool/$dist
33         if test ! -d $d; then mkdir -p $d; fi
34         for l in $d/*; do
35                 if test -L $l; then
36                         if test -f $l; then
37                                 :
38                         else
39                                 rm $l
40                         fi
41                 fi
42         done
43         ln -sf /home/ftp/pub/*/debian/$dist/* $d
44
45         # ${confdir}/symclean.sh $d
46
47         d=dists/$dist/main/binary-i386
48         if test ! -d $d; then mkdir -p $d; fi
49         echo "Archive: $dist" >$d/Release
50         echo 'Component: main' >>$d/Release
51         echo 'Origin: Indexdata' >>$d/Release
52         echo 'Architecture: i386' >>$d/Release
53
54         d=dists/$dist/main/source
55         if test ! -d $d; then mkdir -p $d; fi
56         echo "Archive: $dist" >$d/Release
57         echo 'Component: main' >>$d/Release
58         echo 'Origin: Indexdata' >>$d/Release
59         echo 'Architecture: source' >>$d/Release
60
61         # generate
62         F=apt-ftparchive.conf
63         sed "s/@dist@/$dist/g" <${confdir}/${F}.in >$F
64         # Don't know if clean is needed!
65         # apt-ftparchive clean apt-ftparchive.conf
66         apt-ftparchive generate apt-ftparchive.conf
67
68         # release
69         r=dists/$dist/Release
70         F=apt-release.conf
71         sed "s/@dist@/$dist/g" <${confdir}/${F}.in >$F
72         # Move Release file away while calling using release 
73         rm $r
74         apt-ftparchive -c $F release dists/$dist >tmp_Release
75         mv tmp_Release $r
76
77         # sign
78         r=dists/$dist/Release
79         rm -f ${r}.gpg
80         gpg --sign -u "Index Data" -ba -o ${r}.gpg dists/$dist/Release
81
82         # Make symlinks to make old sources list work (makedeb.sh compat)
83         F=dists/indexdata/$dist
84         if test ! -d $F; then
85                 mkdir -p $F
86         fi
87         F=dists/indexdata/$dist/released
88         if test ! -d $F; then
89                 ln -s /home/ftp/pub/debian/dists/$dist/main $F 
90         fi
91 done
92 # Local Variables:
93 # mode:shell-script
94 # sh-indentation: 2
95 # sh-basic-offset: 8
96 # End:
97