| 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 | |
|---|
| 9 | cd $1 |
|---|
| 10 | |
|---|
| 11 | # fetch packagename and version |
|---|
| 12 | TITLE=`grep "<package name=" package.xml | cut -d '"' -f2` |
|---|
| 13 | VERSION=`grep "<version>" package.xml | cut -d ">" -f2 | cut -d "<" -f1` |
|---|
| 14 | FILENAME=`echo ${TITLE}.${VERSION}.tar.gz | sed "s/ //" | sed "s/ //"` |
|---|
| 15 | |
|---|
| 16 | # and assign date |
|---|
| 17 | BUILDDATE=`date +"%Y-%m-%d"` |
|---|
| 18 | TAR_STRING="" |
|---|
| 19 | RECURSION=0 |
|---|
| 20 | |
|---|
| 21 | # version output |
|---|
| 22 | if [ $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 |
|---|
| 36 | fi |
|---|
| 37 | |
|---|
| 38 | # welcome output |
|---|
| 39 | echo "" |
|---|
| 40 | echo ">>> $TITLE wird erstellt >>>>>>>>>>>>>>>>>" |
|---|
| 41 | echo "" |
|---|
| 42 | |
|---|
| 43 | # create files.tar |
|---|
| 44 | if [ -d "files" ]; then |
|---|
| 45 | TAR_STRING="$TAR_STRING files.tar" |
|---|
| 46 | cd files |
|---|
| 47 | tar cvf ../files.tar * --exclude=*/.svn* |
|---|
| 48 | cd .. |
|---|
| 49 | fi |
|---|
| 50 | |
|---|
| 51 | # create pip.tar |
|---|
| 52 | if [ -d "pip" ]; then |
|---|
| 53 | TAR_STRING="$TAR_STRING pip.tar" |
|---|
| 54 | cd pip |
|---|
| 55 | tar cvf ../pip.tar * --exclude=*/.svn* |
|---|
| 56 | cd .. |
|---|
| 57 | fi |
|---|
| 58 | |
|---|
| 59 | # create templates.tar |
|---|
| 60 | if [ -d "templates" ]; then |
|---|
| 61 | TAR_STRING="$TAR_STRING templates.tar" |
|---|
| 62 | cd templates |
|---|
| 63 | tar cvf ../templates.tar * --exclude=*/.svn* |
|---|
| 64 | cd .. |
|---|
| 65 | fi |
|---|
| 66 | |
|---|
| 67 | # create acptemplates.tar |
|---|
| 68 | if [ -d "acptemplates" ]; then |
|---|
| 69 | TAR_STRING="$TAR_STRING acptemplates.tar" |
|---|
| 70 | cd acptemplates |
|---|
| 71 | tar cvf ../acptemplates.tar * --exclude=*/.svn* |
|---|
| 72 | cd .. |
|---|
| 73 | fi |
|---|
| 74 | |
|---|
| 75 | # create styles.tar |
|---|
| 76 | if [ -d "styles" ]; then |
|---|
| 77 | TAR_STRING="$TAR_STRING styles/*" |
|---|
| 78 | fi |
|---|
| 79 | |
|---|
| 80 | # package requirements |
|---|
| 81 | if [ -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*" |
|---|
| 100 | fi |
|---|
| 101 | |
|---|
| 102 | # package optionals |
|---|
| 103 | if [ -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*" |
|---|
| 122 | fi |
|---|
| 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 |
|---|
| 151 | mv package.xml package.tmp |
|---|
| 152 | sed "s/DATE/$BUILDDATE/" package.tmp > package.xml |
|---|
| 153 | |
|---|
| 154 | # remove old package |
|---|
| 155 | if [ -f "../${FILENAME}" ] ; then |
|---|
| 156 | rm ../${FILENAME} |
|---|
| 157 | fi |
|---|
| 158 | |
|---|
| 159 | # append sql and diff files to package |
|---|
| 160 | VARX=`find *.diff 2>/dev/null` |
|---|
| 161 | if [ "$VARX" ]; then |
|---|
| 162 | TAR_STRING="$TAR_STRING *.diff" |
|---|
| 163 | fi |
|---|
| 164 | VARX=`find *.sql 2>/dev/null` |
|---|
| 165 | if [ "$VARX" ]; then |
|---|
| 166 | TAR_STRING="$TAR_STRING *.sql" |
|---|
| 167 | fi |
|---|
| 168 | |
|---|
| 169 | VARX=`find *_update.tar 2>/dev/null` |
|---|
| 170 | if [ "$VARX" ]; then |
|---|
| 171 | TAR_STRING="$TAR_STRING *_update.tar" |
|---|
| 172 | fi |
|---|
| 173 | |
|---|
| 174 | if [ -f "LICENSE" ]; then |
|---|
| 175 | TAR_STRING="$TAR_STRING LICENSE" |
|---|
| 176 | fi |
|---|
| 177 | |
|---|
| 178 | # create new package |
|---|
| 179 | tar cfz ${FILENAME} *.xml $TAR_STRING |
|---|
| 180 | mv ${FILENAME} .. |
|---|
| 181 | |
|---|
| 182 | # rename back |
|---|
| 183 | mv 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 |
|---|
| 204 | if [ -f "files.tar" ]; then |
|---|
| 205 | rm files.tar |
|---|
| 206 | fi |
|---|
| 207 | if [ -f "acptemplates.tar" ]; then |
|---|
| 208 | rm acptemplates.tar |
|---|
| 209 | fi |
|---|
| 210 | if [ -f "templates.tar" ]; then |
|---|
| 211 | rm templates.tar |
|---|
| 212 | fi |
|---|
| 213 | if [ -f "pip.tar" ]; then |
|---|
| 214 | rm pip.tar |
|---|
| 215 | fi |
|---|
| 216 | if [ -d "optionals" ]; then |
|---|
| 217 | rm -f optionals/*.tar.gz |
|---|
| 218 | mv /tmp/${TITLE}/optionalsbackup/*.tar.gz optionals |
|---|
| 219 | fi |
|---|
| 220 | if [ -d "requirements" ]; then |
|---|
| 221 | rm -f requirements/*.tar.gz |
|---|
| 222 | mv /tmp/${TITLE}/requirementsbackup/*.tar.gz requirements |
|---|
| 223 | fi |
|---|
| 224 | |
|---|
| 225 | echo "" |
|---|
| 226 | echo "<<<<<<<<<<<<<<<< ${FILENAME} wurde erstellt <<<" |
|---|
| 227 | echo "<<<<<<<<<<<<<<<< `date` <<<" |
|---|
| 228 | echo "" |
|---|