]> git.pond.sub.org Git - empserver/blob - src/scripts/mkdist
Set archive members' owner, group and force sensible permissions.
[empserver] / src / scripts / mkdist
1 #!/bin/sh -e
2 tar='tar --owner=0 --group=0 --mode=ug+w,a+rX'
3 srvdir=emp4
4 clidir=client
5
6 # arrange cleanup
7 trap 'rm -rf dist' 0
8
9 # all files in CVS...
10 mkdir dist dist/srv dist/cli
11 for i in `find . -name CVS -print`
12 do
13   d=`echo $i | sed 's#/CVS$##'`
14   [ "$d" = "." ] || mkdir dist/srv/$d
15   f=`awk -F/ '$1 == "" { print "'$d/'" $2 }' $i/Entries`
16   [ "$f" ] || continue
17   ln $f "dist/srv/$d"
18   [ "$d" = "./src/client" ] && ln $f dist/cli
19 done
20 # except for these
21 find dist -name .cvsignore | xargs -r rm -f
22
23 # generated make include files (hard to create with stupid makes)
24 for i in `find info -name MakeSrcs`
25 do ln $i dist/srv/$i
26 done
27 for i in `find src -name Makedepend`
28 do echo '# Empty' >dist/srv/$i
29 done
30
31 # formatted info files and generated info souces
32 mkdir dist/srv/info.nr
33 ln info.nr/* dist/srv/info.nr
34 ln info/Subjects/*.t dist/srv/info/Subjects
35
36 # modifications for standalone client
37 mv dist/cli/Makefile.standalone dist/cli/Makefile
38 ln src/client/ipglob.c dist/cli
39
40 # bake tarballs
41 mv dist/srv dist/$srvdir
42 $tar -czf empire.tar.gz -C dist $srvdir
43 mv dist/cli dist/$clidir
44 $tar -czf client.tar.gz -C dist $clidir
45 $tar -czf info.text.tar.gz info.nr
46 $tar -czf info.html.tar.gz info.html