root/make_package.sh

Revision 1280, 4.9 kB (checked in by d0nut, 2 years ago)

allow packaging script to add tar.gz files

  • Property svn:executable set to *
Line 
1#!/bin/bash
2#
3# packages filesystem as wcf package
4# parameter     (1) = directory (e.g. bbcode.google)
5#               (2) = version output (optional)
6#
7# by Torben Brodt
8
9cd $1
10
11# fetch packagename and version
12TITLE=`grep "<package name=" package.xml | cut -d '"' -f2`
13VERSION=`grep "<version>" package.xml | cut -d ">" -f2 | cut -d "<" -f1`
14FILENAME=`echo ${TITLE}.${VERSION}.tar.gz | sed "s/ //" | sed "s/ //"`
15
16# and assign date
17BUILDDATE=`date +"%Y-%m-%d"`
18TAR_STRING=""
19RECURSION=0
20
21# version output
22if [ $2 ]; then
23        if [ "$2" = "-v" ]; then
24                echo $FILENAME
25                exit
26        else
27                RECURSION=`expr $2 + 1`
28                if [ "$2" -lt "2" ]; then
29                        echo "RECURSION = $RECURSION"
30                else
31                        # recursion counter
32                        echo "MAX_RECURSION = $RECURSION"
33                        exit
34                fi
35        fi
36fi
37
38# welcome output
39echo ""
40echo ">>> $TITLE wird erstellt >>>>>>>>>>>>>>>>>"
41echo ""
42
43# create files.tar
44if [ -d "files" ]; then
45        TAR_STRING="$TAR_STRING files.tar"
46        cd files
47        tar cvf ../files.tar * --exclude=*/.svn*
48        cd ..
49fi
50
51# create pip.tar
52if [ -d "pip" ]; then
53        TAR_STRING="$TAR_STRING pip.tar"
54        cd pip
55        tar cvf ../pip.tar * --exclude=*/.svn*
56        cd ..
57fi
58
59# create templates.tar
60if [ -d "templates" ]; then
61        TAR_STRING="$TAR_STRING templates.tar"
62        cd templates
63        tar cvf ../templates.tar * --exclude=*/.svn*
64        cd ..
65fi
66
67# create acptemplates.tar
68if [ -d "acptemplates" ]; then
69        TAR_STRING="$TAR_STRING acptemplates.tar"
70        cd acptemplates
71        tar cvf ../acptemplates.tar * --exclude=*/.svn*
72        cd ..
73fi
74
75# create styles.tar
76if [ -d "styles" ]; then
77        TAR_STRING="$TAR_STRING styles/*"
78fi
79
80# package requirements
81if [ -d "requirements" ]; then
82        cd requirements
83        mkdir -p /tmp/${TITLE}/requirementsbackup
84        cp *.tar.gz /tmp/${TITLE}/requirementsbackup
85        dirs=`find . -mindepth 1 -maxdepth 1 -type d | grep -v .svn`
86        cd ..
87
88        for i in $dirs
89        do
90                PACKFILENAME=`sh ../make_package.sh requirements/$i -v`
91                sh ../make_package.sh requirements/$i $RECURSION
92                if [ -f "requirements/${PACKFILENAME}" ]; then
93                        mv requirements/${PACKFILENAME} requirements/$i.tar.gz
94                else
95                        # remove version from filename and place in right directory
96                        mv ../${PACKFILENAME} requirements/$i.tar.gz
97                fi
98        done
99        TAR_STRING="$TAR_STRING requirements/*.tar*"
100fi
101
102# package optionals
103if [ -d "optionals" ]; then
104        cd optionals
105        mkdir -p /tmp/${TITLE}/optionalsbackup
106        cp *.tar.gz /tmp/${TITLE}/optionalsbackup
107        dirs=`find . -mindepth 1 -maxdepth 1 -type d | grep -v .svn`
108        cd ..
109
110        for i in $dirs
111        do
112                PACKFILENAME=`sh ../make_package.sh optionals/$i -v`
113                sh ../make_package.sh optionals/$i $RECURSION
114                if [ -f "optionals/${PACKFILENAME}" ]; then
115                        mv optionals/${PACKFILENAME} optionals/$i.tar.gz
116                else
117                        # remove version from filename and place in right directory
118                        mv ../${PACKFILENAME} optionals/$i.tar.gz
119                fi
120        done
121        TAR_STRING="$TAR_STRING optionals/*.tar*"
122fi
123
124# replacements in language files
125#if [ -f "de.xml" ]; then
126        #mv de.xml de.tmp
127        #sed "s/VERSION/$VERSION/" de.tmp > de.xml
128#fi
129#if [ -f "en.xml" ]; then
130        #mv en.xml en.tmp
131        #sed "s/VERSION/$VERSION/" en.tmp > en.xml
132#fi
133#if [ -f "de-informal.xml" ]; then
134        #mv de-informal.xml de-informal.tmp
135        #sed "s/VERSION/$VERSION/" de-informal.tmp > de-informal.xml
136#fi
137#if [ -f "it.xml" ]; then
138        #mv it.xml it.tmp
139        #sed "s/VERSION/$VERSION/" it.tmp > it.xml
140#fi
141#if [ -f "hr.xml" ]; then
142        #mv hr.xml hr.tmp
143        #sed "s/VERSION/$VERSION/" hr.tmp > hr.xml
144#fi
145#if [ -f "fr.xml" ]; then
146        #mv fr.xml fr.tmp
147        #sed "s/VERSION/$VERSION/" fr.tmp > fr.xml
148#fi
149
150# replacements in package.xml
151mv package.xml package.tmp
152sed "s/DATE/$BUILDDATE/" package.tmp > package.xml
153
154# remove old package
155if [ -f "../${FILENAME}" ] ; then
156        rm ../${FILENAME}
157fi
158
159# append sql and diff files to package
160VARX=`find *.diff 2>/dev/null`
161if [ "$VARX" ]; then
162        TAR_STRING="$TAR_STRING *.diff"
163fi
164VARX=`find *.sql 2>/dev/null`
165if [ "$VARX" ]; then
166        TAR_STRING="$TAR_STRING *.sql"
167fi
168
169VARX=`find *_update.tar 2>/dev/null`
170if [ "$VARX" ]; then
171        TAR_STRING="$TAR_STRING *_update.tar"
172fi
173
174if [ -f "LICENSE" ]; then
175        TAR_STRING="$TAR_STRING LICENSE"
176fi
177
178# create new package
179tar cfz ${FILENAME} *.xml $TAR_STRING
180mv ${FILENAME} ..
181
182# rename back
183mv package.tmp package.xml
184#if [ -f "de.xml" ]; then
185#       mv de.tmp de.xml
186#fi
187#if [ -f "en.xml" ]; then
188#       mv en.tmp en.xml
189#fi
190#if [ -f "de-informal.xml" ]; then
191#       mv de-informal.tmp de-informal.xml
192#fi
193#if [ -f "it.xml" ]; then
194#       mv it.tmp it.xml
195#fi
196#if [ -f "fr.xml" ]; then
197#       mv fr.tmp fr.xml
198#fi
199#if [ -f "hr.xml" ]; then
200#       mv hr.tmp hr.xml
201#fi
202
203# remove tmp files
204if [ -f "files.tar" ]; then
205        rm files.tar
206fi
207if [ -f "acptemplates.tar" ]; then
208        rm acptemplates.tar
209fi
210if [ -f "templates.tar" ]; then
211        rm templates.tar
212fi
213if [ -f "pip.tar" ]; then
214        rm pip.tar
215fi
216if [ -d "optionals" ]; then
217        rm -f optionals/*.tar.gz
218        mv /tmp/${TITLE}/optionalsbackup/*.tar.gz optionals
219fi
220if [ -d "requirements" ]; then
221        rm -f requirements/*.tar.gz
222        mv /tmp/${TITLE}/requirementsbackup/*.tar.gz requirements
223fi
224
225echo ""
226echo "<<<<<<<<<<<<<<<< ${FILENAME} wurde erstellt <<<"
227echo "<<<<<<<<<<<<<<<< `date` <<<"
228echo ""
Note: See TracBrowser for help on using the browser.