[go: up one dir, main page]

Menu

[502ca5]: / make-wbm.sh  Maximize  Restore  History

Download this file

162 lines (135 with data), 3.1 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
#!/bin/bash
# a shell script to build a webminstats release
# integrated with subversion
# $Id$
#set -x
# user access right
# no need to work as root
# but sudo commands are necessary
LOG="${PWD}/make-wbm.log"
if [ -f $LOG ]
then
mv $LOG ${LOG}.old
fi
# check syntaxe
if [ $# -ne 0 ]
then
echo "syntaxe : $0"
echo "les variables d'env NOCW, NOPERLCRITIC, NOPERLTIDY permettent de sauter certaines phases"
exit
fi
# qui appelle ?
appel=$(basename $0)
if [ $appel = "make-wbm-test.sh" ]
then
export TEST=y
fi
# source code
SRC=sysstats
if [ ! -d $SRC ]
then
echo "$SRC is not a directory !"
exit
fi
# get current owner/group
export owner=$(ls -ld $SRC | awk '{print $3}')
export group=$(ls -ld $SRC | awk '{print $4}')
# get version
version=$(grep module_ver ${SRC}/module.info | cut -f2 -d=)
echo "version : $version"
# necessaire a cause du begin dans sysstats-lib
tempfile=/tmp/.webmin/webminstats.debug
if [ ! -w $tempfile ]
then
sudo touch $tempfile
sudo chmod 777 $tempfile
fi
# les droits des fichiers
modules/make_rights.sh ${SRC}
# verification de la validite du code
#export PERL5LIB=$SRC
~/projets/check_perl.sh ${SRC}/*.pl ${SRC}/*.cgi 2>&1 | tee $LOG
# verification que toutes les modifs ont ete validees par commit
out=$(git status | grep "modifié")
if [ -n "$out" ]
then
echo "il reste des fichiers modifies :"
echo "$out"
echo "-------------------------------------------"
if [ -z "$TEST" ]
then
# pour une version officielle on stoppe
# les versions de test peuvent continuer
exit
fi
fi
# traitement des modules
########################
# on refait les modules
cd modules
if [ -z "$TEST" ]
then
# stable
./make-modules.sh 2>&1 | tee -a $LOG
else
# test
./make-all-tar.sh 2>&1 | tee -a $LOG
fi
# test code retour et arret en cas de probleme
iret=$?
if [ $iret -ne 0 ]
then
exit
fi
cd ..
# menage
rm -f $SRC/modules/*.gz 2>/dev/null
# copie des modules
cp modules/*.tar.gz $SRC/modules
# traitement du code principal
##############################
if [ -z "$TEST" ]
then
# un coup de tag pour etre sur
#base=$( svn info | awk '/^URL/{print $2}' )
#tags=$( echo $base | sed 's/trunk/tags/' )
#svn copy $base $tags/${SRC}-${version} -m "tag $SRC for release $version"
git tag -a ${SRC}-${version} -m "tag $SRC for release $version"
fi
# fabrication du fichier wbm pour webmin
wbmfile=${SRC}-${version}.tgz
# on a juste besoin d'etre root ici
# change owner
sudo chown -R root:root $SRC
tar cfz ${wbmfile} --exclude .git $SRC
# restore owner
sudo chown -R ${owner}:${group} $SRC
# on fait les packages
########################
echo "packages (o/n) ?"
read a
if [ $a == 'o' ]
then
# rpm
./make_rpm.sh
# ajout du fichier spec dans le tgz
cp ~/rpm/SPECS/wbm-sysstats.spec ~/rpm/BUILD/sysstats/
cd ~/rpm/BUILD/
tar cfz ~/projets/webminstats/trunk/${wbmfile} $SRC
cd -
# controle
tar tvfz ${wbmfile}
# signature du tgz
~/bin/gensign.sh ${wbmfile}
# debian
echo "pour fabriquer un package debian : make_deb.sh"
else
# menage
########
echo "menage (o/n) ?"
read a
if [ $a == 'o' ]
then
rm -f $SRC/modules/*.gz 2>/dev/null
fi
fi