summaryrefslogtreecommitdiff
path: root/roll-it-up.sh
blob: 451fe066d659d133f967cb1ac11e9b74656b9a06 (plain)
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
#!/bin/sh

# This script generates a set of $category/$module and $everything/$module
# links in the current directory, given a list of module versions for this
# release.  See module-list.txt for the last release's list.

individual_dir="/srv/xorg.freedesktop.org/archive/individual/"
relative_dir="../../../individual"

if [ ! -d $individual_dir ]; then
    echo "$i not a suitable base directory for individual packages."
    exit 1
fi

mkdir -p everything

while read name; do
    list=`find $individual_dir -name $name.tar\* `
    if test "x$list" = x; then
	# Since .../xcb is a symlink, find doesn't follow it normally,
	# so explicitly double-check there
	list=`find ${individual_dir}xcb/ -name $name.tar\* `
	if test "x$list" = x; then
	    echo "Couldn't find module ${name}"
	fi
    fi
    for i in $list; do
	i=`echo $i | sed "s|$individual_dir||g"`
	typedir=`dirname $i`
	tarname=`basename $i`

	mkdir -p $typedir
	ln -sf $relative_dir/$i $i
	ln -sf $relative_dir/$i everything/$tarname

	# cd first and use $tarname so that only filename appears in output
	md5=`cd everything ; md5sum $tarname`
	sha1=`cd everything ; sha1sum $tarname`
	sha256=`cd everything ; sha256sum $tarname`
	cat >> $typedir/CHECKSUMS <<EOF
${tarname}:
MD5:    $md5
SHA1:   $sha1
SHA256: $sha256

EOF
	cat >> everything/CHECKSUMS <<EOF
${tarname}:
MD5:    $md5
SHA1:   $sha1
SHA256: $sha256

EOF

    done
done