5856051cca75cd6689e912abb547b65785be2811
[kivitendo-erp.git] / DEBIAN / mk_erp_deb.sh
1 #!/bin/bash
2
3 #Jedes neue Paket der gleichen Version bekommt eine eigene Nummer
4 NR="0"
5
6 #hier wurde das Git-Paket entpakt:
7 SRC=/tmp/lx-office-erp
8
9 #hier wird das Debian-Paket gebaut:
10 DST=/tmp/lx-office
11
12
13 ################################################
14 # ab hier keine Konfiguration mehr
15 ################################################
16
17 VERSION=`cat ../VERSION`
18 DEST=$DST/lx-office-erp_$VER-$NR-all
19
20 FILES='
21 usr/lib/lx-office-erp/
22 usr/share/lx-office-erp/
23 usr/share/doc/lx-office-erp/
24 var/lib/lx-office-erp/spool/
25 var/lib/lx-office-erp/users/
26 var/lib/lx-office-erp/css/
27 var/lib/lx-office-erp/xslt/
28 var/lib/lx-office-erp/templates/
29 var/lib/lx-office-erp/webdav/lieferantenbestellungen/
30 var/lib/lx-office-erp/webdav/anfragen/
31 var/lib/lx-office-erp/webdav/gutschriften/
32 var/lib/lx-office-erp/webdav/einkaufsrechnungen/
33 var/lib/lx-office-erp/webdav/rechnungen/
34 var/lib/lx-office-erp/webdav/bestellungen/
35 var/lib/lx-office-erp/webdav/angebote/
36 usr/lib/lx-office-erp/
37 usr/share/lx-office-erp/
38 usr/share/doc/lx-office-erp/
39 usr/share/man/man1/:lx-office-erp.1.gz
40 etc/lx-office-erp/:lx-office-erp.cherokee.handler
41 etc/lx-office-erp/:lx-office-erp.apache2.conf
42 etc/lx-office-erp/:lx-office-erp.cherokee
43 usr/bin/:lx-office-erp
44 '
45
46 for filespec in $FILES; do
47   set - `echo $filespec | sed -e 's/:/ /g'`
48   dir=$1
49   file=$2
50
51   mkdir -p $dir
52   if [ -f "./files/$file" ]; then
53     cp ./files/$file $dir/$file
54   else
55     echo '1' > $dir/.dummy
56   fi
57 done
58
59 SYMLINKS='
60 css:/var/lib/lx-office-erp/css
61 doc:/usr/share/doc/lx-office-erp/
62 image:/usr/share/lx-office-erp
63 spool:/var/lib/lx-office-erp/spool
64 templates:/var/lib/lx-office-erp/templates
65 users:/var/lib/lx-office-erp/users/
66 webdav:/var/lib/lx-office-erp/webdav
67 xslt:/var/lib/lx-office-erp/xslt
68 '
69
70 for symspec in $SYMLINKS; do
71   set - `echo $symspec | sed -e 's/:/ /g'`
72   src=$1
73   tar=$2
74
75   ln -s $tar ./usr/lib/lx-office-erp/$src
76 done
77 #fertig
78
79 mkdir -p $DEST
80 cd $DEST
81
82 #Struktur anlegen:
83 cp -a $SRC/DEBIAN/* .
84 rm ./mk*.sh
85
86 #Dateien kopieren:
87 #aber keine fertigen Konfigurationen, nur *.default
88 cp -a $SRC/SL usr/lib/lx-office-erp
89 cp -a $SRC/bin usr/lib/lx-office-erp
90 cp -a $SRC/js usr/lib/lx-office-erp
91 cp -a $SRC/locale usr/lib/lx-office-erp
92 cp -a $SRC/lxo-import usr/lib/lx-office-erp
93 cp -a $SRC/modules usr/lib/lx-office-erp
94 cp -a $SRC/scripts usr/lib/lx-office-erp
95 cp -a $SRC/sql usr/lib/lx-office-erp
96 cp -a $SRC/t usr/lib/lx-office-erp
97 cp -a $SRC/*.pl usr/lib/lx-office-erp
98 cp $SRC/VERSION usr/lib/lx-office-erp
99 cp $SRC/index.html usr/lib/lx-office-erp
100 cp $SRC/config/lx-erp.conf  etc/lx-office-erp/lx-erp.conf.default
101 cp $SRC/config/authentication.pl.default etc/lx-office-erp/
102 cp $SRC/menu.ini usr/lib/lx-office-erp/menu.default
103 cp -a $SRC/css var/lib/lx-office-erp
104 cp -a $SRC/templates var/lib/lx-office-erp
105 cp -a $SRC/users var/lib/lx-office-erp
106 cp -a $SRC/xslt var/lib/lx-office-erp
107
108 cp -a $SRC/doc/* usr/share/doc/lx-office-erp/
109 cp -a $SRC/image/* usr/share/lx-office-erp/
110
111 #Git- und dummy-files löschen
112 find . -name ".git*" -exec rm -rf {} \;
113 find . -name ".dummy" -exec rm -rf {} \;
114
115 #Rechte setzen
116 chown -R www-data: usr/lib/lx-office-erp
117 chown -R www-data: var/lib/lx-office-erp
118 chown -R www-data: etc/lx-office-erp
119
120 #MD5 Summe bilden:
121 find usr/ -name "*" -type f -exec md5sum {} \; > DEBIAN/md5sum
122 find var/ -name "*" -type f -exec md5sum {} \; >> DEBIAN/md5sum
123 find etc/ -name "*" -type f -exec md5sum {} \; >> DEBIAN/md5sum
124
125 #Größe feststellen:
126 SIZE=`du -scb . | grep insgesamt | cut -f1`
127
128 #Controlfile updaten:
129 cat DEBIAN/control | sed --expression "s/Installed-Size: 0/Installed-Size: $SIZE/g" > DEBIAN/1.tmp
130 mv DEBIAN/1.tmp DEBIAN/control
131 cat DEBIAN/control | sed --expression "s/Version: 0/Version: $VER-$NR/g" > DEBIAN/1.tmp
132 mv DEBIAN/1.tmp DEBIAN/control
133 #Revisionsnummer evtl. von Hand eintragen
134
135 #Paket bauen:
136 cd ..
137 dpkg-deb --build lx-office-erp_$VER-$NR-all
138
139 echo "Done"