3
# Copyright 2007-2008 Anibal Monsalve Salazar <anibal@debian.org>
3
# Copyright 2007-2009 Anibal Monsalve Salazar <anibal@debian.org>
5
5
# This program is free software; you can redistribute it and/or modify it
6
6
# under the terms of the GNU General Public License as published by the
27
31
for mirror in $MIRRORS
29
piupart_mirrors="-m $mirror $piupart_mirrors"
33
if [ -z "$pbuilder_mirrors" ]
35
pbuilder_mirrors="deb $mirror sid main"
36
piuparts_mirrors="-m '$mirror main'"
38
pbuilder_mirrors="$pbuilder_mirrors | deb $mirror sid main"
39
piuparts_mirrors="$piuparts_mirrors -m '$mirror main'"
42
if [[ $mirror =~ $regex ]]
44
if [ -z "$pbuilder_bindmounts" ]
46
pbuilder_bindmounts="${BASH_REMATCH[1]}"
47
piuparts_bindmounts="--bindmount ${BASH_REMATCH[1]}"
49
pbuilder_bindmounts="$pbuilder_bindmounts ${BASH_REMATCH[1]}"
50
piuparts_bindmounts="$piuparts_bindmounts --bindmount ${BASH_REMATCH[1]}"
55
pbuilder_mirrors="'$pbuilder_mirrors'"
57
if [ -n "$pbuilder_bindmounts" ]
59
pbuilder_bindmounts="'$pbuilder_bindmounts'"
60
pbuilder_bindmounts_option="--bindmounts"
32
63
tmp=$(mktemp $TMP-XXXXXX)
34
if [ -n "$(ls $ELIDAHOME/inprogress)" ]
65
if [ -n "$(ls $ELIDAHOME/inprogress)" ]; then
36
66
mv $ELIDAHOME/inprogress/* $ELIDAHOME/ready
39
69
while [ ! -f $ELIDAHOME/elida-stop ]
71
#dt=$(perl -e '$dt=time-(stat("'$ELIDAHOME/pbuilder_update_unstable.log'"))[9];print"$dt\n"')
72
if [ -f $ELIDAHOME/pbuilder_update_unstable.log ]; then
73
dt=$(( $( date +%s ) - $( date --reference=$ELIDAHOME/pbuilder_update_unstable.log +%s ) ))
77
if [ $dt -gt 10800 ]; then
78
log=$ELIDAHOME/pbuilder_update_unstable.log
79
echo pbuilder update --override-config --distribution unstable $pbuilder_bindmounts_option $pbuilder_bindmounts --othermirror $pbuilder_mirrors >> $log
80
eval pbuilder update --override-config --distribution unstable $pbuilder_bindmounts_option $pbuilder_bindmounts --othermirror $pbuilder_mirrors >> $log 2>&1
82
chown $USERNAME:$GROUPNAME $log
41
85
for pdv in $(ls -1rt $ELIDAHOME/ready)
43
87
[ -f $ELIDAHOME/elida-stop ] && break
46
90
apt-get update > $log 2>&1
48
92
chown $USERNAME:$GROUPNAME $log
49
dt=$(perl -e '$dt=time-(stat("'$ELIDAHOME/pbuilder_update_unstable.log'"))[9];print"$dt\n"')
52
log=$ELIDAHOME/pbuilder_update_unstable.log
53
pbuilder update unstable >> $log 2>&1
55
chown $USERNAME:$GROUPNAME $log
58
94
[ -f $ELIDAHOME/ready/$pdv ] || continue
63
99
. $ELIDAHOME/inprogress/$pdv
64
makedir $ELIDAHOME/result/$pkg
65
rm -f $ELIDAHOME/result/$pkg/*
101
if [ -d "$ELIDAHOME/result/$pkg" ]; then
102
dsc_old=$( echo $ELIDAHOME/result/$pkg/${pkg}_*.dsc )
103
if [ -f "$dsc_old" ]; then
104
pdv_old=${dsc_old##*/}
105
pdv_old=${pdv_old%*.dsc}
106
if [ "$pdv" == "$pdv_old" ]; then
107
rm -fr $ELIDAHOME/result/$pkg/*
109
rm -fr $ELIDAHOME/result/$pdv_old
110
mv $ELIDAHOME/result/$pkg $ELIDAHOME/result/$pdv_old
111
makedir $ELIDAHOME/result/$pkg
114
rm -fr $ELIDAHOME/result/$pkg/*
117
makedir $ELIDAHOME/result/$pkg
66
120
log=$ELIDAHOME/result/$pkg/${pdv}_$ARCH.result.log
67
121
rm -f $ELIDAHOME/result/$pkg/*$ver*
71
125
echo $(hostname; dpkg --print-architecture; dpkg -l elida lintian piuparts pbuilder | grep ^ii | awk '{print $2,$3}') >> $log
73
pbuilder build --buildresult $ELIDAHOME/result/$pkg $ELIDAHOME/source/$pkg/$pdv.dsc 2>&1 | grep -v 'using uid of process' >> $log
127
echo pbuilder build --override-config --distribution unstable $pbuilder_bindmounts_option $pbuilder_bindmounts --othermirror $pbuilder_mirrors --buildresult $ELIDAHOME/result/$pkg $ELIDAHOME/source/$pkg/$pdv.dsc "2>&1 | grep -v 'using uid of process'" >> $log
128
eval pbuilder build --override-config --distribution unstable $pbuilder_bindmounts_option $pbuilder_bindmounts --othermirror $pbuilder_mirrors --buildresult $ELIDAHOME/result/$pkg $ELIDAHOME/source/$pkg/$pdv.dsc 2>&1 | grep -v 'using uid of process' >> $log
74
129
chmod 2775 $ELIDAHOME/result $ELIDAHOME/result/$pkg
75
130
chmod 664 $ELIDAHOME/result/$pkg/*
76
131
chown $USERNAME:$GROUPNAME $ELIDAHOME/result/$pkg/*
78
if [ -e $ELIDAHOME/result/$pkg/${pdv}_$ARCH.changes ]
80
#rm -f $ELIDAHOME/public_html/debian/pool/$pkg
81
#su - pbuilder -c "ln -s ../../../result/$pkg $ELIDAHOME/public_html/debian/pool/$pkg; $ELIDAHOME/bin/pkgs"
133
if [ -e $ELIDAHOME/result/$pkg/${pdv}_$ARCH.changes ]; then
84
135
echo "$ELIDAHOME/result/$pkg/${pdv}_$ARCH.changes:" >> $log
85
136
cat $ELIDAHOME/result/$pkg/${pdv}_$ARCH.changes >> $log
98
149
dpkg -c $f >> $log 2>&1
152
if [ -x "$LOCALARCHIVESCRIPT" ]
154
su - $USERNAME -c "$LOCALARCHIVESCRIPT $pkg"
101
157
for f in $ELIDAHOME/result/$pkg/*$ver*deb
104
echo "piuparts -p -N $piupart_mirrors $f" >> $log
105
piuparts -p -N $piupart_mirrors $f >> $log 2>&1
160
echo piuparts -p -N $piuparts_bindmounts $piuparts_mirrors $f "2>&1 | grep -v '/dev/pts not mounted'" >> $log
161
eval piuparts -p -N $piuparts_bindmounts $piuparts_mirrors $f 2>&1 | grep -v '/dev/pts not mounted' >> $log 2>&1
109
echo "lintian -i --show-overrides $ELIDAHOME/result/$pkg/${pdv}_$ARCH.changes" >> $log
110
su - $USERNAME -c "lintian -i --show-overrides $ELIDAHOME/result/$pkg/${pdv}_$ARCH.changes" >> $log 2>&1
165
echo "lintian -i --show-overrides --pedantic $ELIDAHOME/result/$pkg/${pdv}_$ARCH.changes" >> $log
166
su - $USERNAME -c "lintian -i --show-overrides --pedantic $ELIDAHOME/result/$pkg/${pdv}_$ARCH.changes" >> $log 2>&1
117
173
mpack -s "Re: $subject" -o $tmp $log
118
174
(echo -e "To: $from\nFrom: $FROM\nBcc: $BCC\nIn-Reply-To: $message_id\nUser-Agent: elida/$ELIDAVERSION"; cat $tmp) | $SENDMAIL -t
120
mv $ELIDAHOME/inprogress/$pdv $ELIDAHOME/done/$pdv
176
mv $ELIDAHOME/inprogress/$pdv "$ELIDAHOME/done/$pdv"
122
if [ -f $ELIDAHOME/elida-hup ]
178
if [ -f $ELIDAHOME/elida-hup ]; then
124
179
rm -f $ELIDAHOME/elida-hup
131
186
rm -f $ELIDAHOME/elida-stop