]> git.neil.brown.name Git - mdadm.git/blob - makedist
Release mdadm-4.0
[mdadm.git] / makedist
1 #!/bin/sh
2 # avoid silly sorting
3 export LANG=C
4 arg=$1
5 target=~/public_html/source/mdadm
6 if [ " $arg" = " test" ]
7 then
8   target=/tmp/mdadm-test
9   rm -rf $target
10   mkdir -p $target
11 fi
12 if [ -d $target ]
13 then :
14 else echo $target is not a directory
15      exit 2
16 fi
17 set `grep '^#define VERSION' ReadMe.c `
18 version=`echo $3 | sed -e 's/"//g'`
19 grep "^.TH MDADM 8 .. v$version" mdadm.8.in > /dev/null 2>&1 ||
20  {
21    echo mdadm.8.in does not mention version $version.
22    exit 1
23  }
24 grep "^.TH MDMON 8 .. v$version" mdmon.8 > /dev/null 2>&1 ||
25  {
26    echo mdmon.8 does not mention version $version.
27    exit 1
28  }
29 rpmv=`echo $version | tr - _`
30 grep "^Version: *$rpmv$" mdadm.spec > /dev/null 2>&1 ||
31  {
32    echo mdadm.spec does not mention version $version.
33    exit 1
34  }
35 if [ -f ANNOUNCE-$version ]
36 then :
37 else
38    echo ANNOUNCE-$version does not exist
39    exit 1
40 fi
41 if grep "^ANNOUNCE-$version\$" inventory
42 then :
43 else { cat inventory ; echo ANNOUNCE-$version ; } | sort -o inventory
44 fi
45
46 echo version = $version
47 base=mdadm-$version.tar.gz
48 if [ " $arg" != " diff" ]
49 then
50   if [ -f $target/$base ]
51   then
52     echo $target/$base exists.
53     exit 1
54   fi
55   trap "rm $target/$base; exit" 1 2 3
56   git archive --prefix=mdadm-$version/ HEAD | gzip --best > $target/$base
57   chmod a+r $target/$base
58   ls -l $target/$base
59   if tar tzf $target/$base | sed 's,[^/]*/,,' | sort | diff -u inventory -
60   then : correct files found
61   else echo "Extra files, or inventory is out-of-date"
62        rm $target/$base
63        exit 1
64   fi
65   rpmbuild -ta $target/$base || exit 1
66   find /home/neilb/src/RPM -name "*mdadm-$version-*" \
67      -exec cp {} $target/RPM \;
68   cp ANNOUNCE-$version $target/ANNOUNCE
69   cp ChangeLog $target/ChangeLog
70   if [ " $arg" != " test" ]
71   then
72     echo -n "Confirm signing this release? "
73     read a
74     if [ " $a" != " y" ]; then echo OK - bye. ; exit 1; fi
75     if zcat $target/$base | gpg -ba > $target/$base.sign && gpg -ba $target/ANNOUNCE
76     then
77       kup put $target/$base  $target/$base.sign \
78           /pub/linux/utils/raid/mdadm/mdadm-$version.tar.gz
79       kup put $target/ANNOUNCE $target/ANNOUNCE.asc /pub/linux/utils/raid/mdadm/ANNOUNCE
80     else
81       echo signing failed
82       exit 1
83     fi
84   fi
85 else
86   if [ ! -f $target/$base ]
87   then
88     echo $target/$base does not exist.
89     exit 1
90   fi
91   ( cd .. ; ln -s mdadm.v2 mdadm-$version ; tar chf - --exclude=.git --exclude="TAGS" --exclude='*,v' --exclude='*~' --exclude='*.o' --exclude mdadm --exclude=mdadm'.[^ch0-9]' --exclude=RCS mdadm-$version ; rm mdadm-$version ) | gzip --best > /var/tmp/mdadm-new.tgz
92   mkdir /var/tmp/mdadm-old ; zcat $target/$base | ( cd /var/tmp/mdadm-old ; tar xf - )
93   mkdir /var/tmp/mdadm-new ; zcat /var/tmp/mdadm-new.tgz | ( cd /var/tmp/mdadm-new ; tar xf - )
94   diff -ru /var/tmp/mdadm-old /var/tmp/mdadm-new
95   rm -rf /var/tmp/mdadm-old /var/tmp/mdadm-new /var/tmp/mdadm-new.tgz
96 fi