* g10.c (main): Give a deprecated option warning for --show-keyring,
[gnupg.git] / scripts / mkwebpage
1 #!/bin/sh
2 # Make a snapshot of the CVS head revision for the gnupg webpages
3
4
5 set -e
6
7 cd $HOME/pub
8
9 extract_date () {
10     # This strange construct is to speed up things.  Grouping a "s" and a "q"
11     # does not work. Anyway we should use awk instead.
12     # Have to quote the I from $Id so that CVS does not expand it
13     sed '/^.*\$[I]d:.*\$.*$/q' $1 |
14     sed -n 's!^.*\$[I]d: [^ ]\+ [^ ]\+ \([0-9]*\)/\([0-9]*\)/\([0-9]*\) [^ ]\+ \([^ ]\+\).*$!\1-\2-\3 \4!p'
15 }
16
17 # We have to edit most files
18 sed_it () {
19     src=$1
20     dst=$2
21
22     for srcdir in `find $src -type d -print` ; do
23         dstdir=`echo "$srcdir" | sed "s/^$src/$dst/g"`
24         mkdir $dstdir || true
25         for sf in `find $srcdir -type f -maxdepth 1 -print`; do
26             updated=`extract_date $sf`
27             df="$dstdir/`basename $sf`"
28             case "$df" in
29                 *.html)
30                     sed "/@FOOTER@/ {
31                         r $src/footer.html.inc
32                         d
33                         }
34                         /^<body>$/ {
35                         r $src/body-tag.html.inc
36                         d
37                         }
38                         /@UPDATED@/c\\
39 Updated: $updated \\
40 <hr>
41                         /@INSERT_BUGLIST_HERE@/ {
42                         r $src/BUGS
43                         d
44                         }
45                         /@HOSTEDBY@/ {
46                         r $src/hostedby.html.inc
47                         d
48                         }
49                      " $sf > $df
50                     ;;
51                 *.html.inc | *~ | *.tmp | */BUGS )
52                     :
53                     ;;
54                 *)
55                     cat $sf > $df
56                     ;;
57             esac
58         done
59     done
60 }
61
62
63 do_export () {
64     pgm=$1
65     mod=$2
66
67     rm -rf $pgm.tmp 2>/dev/null || true
68     rm -rf $pgm.new || true
69     rm -rf $pgm.old || true
70     cvs -Q export -r HEAD -d $pgm.tmp $mod
71     cat <<EOF >$pgm.tmp/NEWS
72 [ This is a snapshot of the NEWS file from the CVS head revision.
73   You will find the NEWS for the latest revision below the line
74   "Noteworthy changes in version 0.x.y".
75                                                      (wk $(date +%Y-%m-%d)) ]
76
77
78 EOF
79     cvs -Q checkout -p gnupg/NEWS >>$pgm.tmp/NEWS
80     cvs -Q checkout -p gnupg/BUGS | sed  '1,/^~~~~~~~~~~~/ d' > $pgm.tmp/BUGS
81     echo "(List generated from CVS: " $(date +%Y-%m-%d) ")"  >> $pgm.tmp/BUGS
82     sed_it $pgm.tmp $pgm.new
83     rm -rf $pgm.tmp || true
84     ln -sf gnupg.html $pgm.new/index.html
85
86     rm -rf $pgm.old || true
87     [ -d $pgm ] && mv $pgm $pgm.old
88     if ! mv $pgm.new $pgm ; then
89         echo "rename failed - restoring" >&2
90         mv $pgm.old $pgm
91         exit 1
92     fi
93     rm -rf $pgm.old || true
94 }
95
96
97 do_export gnupg-www gnupg-www
98
99 #cd gnupg-www
100 #tar czf /home/ftp/pub/gcrypt/.old/webpages.tmp *
101 #mv /home/ftp/pub/gcrypt/old/webpages.tmp /home/ftp/pub/gcrypt/old/webpages.tar.gz
102
103
104 exit 0
105