|
@@ -1,7 +1,7 @@
|
1
|
1
|
#!/bin/sh
|
2
|
2
|
# SlackCheck
|
3
|
3
|
#
|
4
|
|
-# $Id: slcheck.sh,v 1.29 2005/01/31 15:44:16 gf Exp $
|
|
4
|
+# $Id: slcheck.sh,v 1.30 2005/12/20 12:29:13 gf Exp $
|
5
|
5
|
#
|
6
|
6
|
# Copyright (c) 2002-2004 Georgi Chorbadzhiyski, Sofia, Bulgaria
|
7
|
7
|
# All rights reserved.
|
|
@@ -24,7 +24,7 @@
|
24
|
24
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
25
|
25
|
#
|
26
|
26
|
|
27
|
|
-echo "SlackCheck v3.40"
|
|
27
|
+echo "SlackCheck v3.50"
|
28
|
28
|
echo
|
29
|
29
|
|
30
|
30
|
cd $(dirname $0)
|
|
@@ -57,6 +57,8 @@ usage() {
|
57
|
57
|
echo " --upgrade Upgrade hosts using generated scripts"
|
58
|
58
|
echo " --dist Only copy upgrade scripts to hosts, do not updgrade"
|
59
|
59
|
echo
|
|
60
|
+ echo " --skip-ignore Skip checks for ignored packages"
|
|
61
|
+ echo
|
60
|
62
|
echo " HOW TO UPGRADE CURRENT HOST"
|
61
|
63
|
echo " Run: $(basename $0) --local --sync --collect --gen --upgrade"
|
62
|
64
|
echo
|
|
@@ -136,7 +138,7 @@ generate_upgrade_scripts() {
|
136
|
138
|
# Check if package list exist
|
137
|
139
|
if [ -f ${DIR_PKG}/${HOST} ]
|
138
|
140
|
then
|
139
|
|
- echo -n "$HOST "
|
|
141
|
+ echo -n " > $HOST "
|
140
|
142
|
# Cleanup old files
|
141
|
143
|
rm ${DIR_UPD}/${FILE_UNKPACKS}${HOST} >/dev/null 2>&1
|
142
|
144
|
rm ${DIR_UPD}/${FILE_UPDATES}${HOST} >/dev/null 2>&1
|
|
@@ -152,6 +154,7 @@ generate_upgrade_scripts() {
|
152
|
154
|
distropkg=$(basename $distro_package) # Strip directory
|
153
|
155
|
if [ "$distropkg" != "$hostpkg" ]
|
154
|
156
|
then
|
|
157
|
+ echo -n .
|
155
|
158
|
echo "\
|
156
|
159
|
UPDATE=\"\$UPDATE ${distro_package}.tgz\" # EXISTING: ${hostpkg} \
|
157
|
160
|
" >> ${DIR_UPD}/${FILE_UPDATES}${HOST}.newpkgs
|
|
@@ -164,12 +167,29 @@ UPDATE=\"\$UPDATE ${distro_package}.tgz\" # EXISTING: ${hostpkg} \
|
164
|
167
|
echo "$hostpkg" >> ${DIR_UPD}/${FILE_UNKPACKS}${HOST}
|
165
|
168
|
fi
|
166
|
169
|
done
|
|
170
|
+ echo
|
|
171
|
+ # Skip ignored packages
|
|
172
|
+ if [ -s ${DIR_UPD}/${FILE_UPDATES}${HOST}.newpkgs -a \
|
|
173
|
+ -f "do_not_update" -a \
|
|
174
|
+ "$SKIP_IGNORE" != "1" ]
|
|
175
|
+ then
|
|
176
|
+ ignore_packs=$(grep ^${HOST}: do_not_update | sed -e 's|^.*:|/|g;s| |\||g' | xargs echo | sed -e 's| |\||g')
|
|
177
|
+ if [ "$ignore_packs" != "" ]
|
|
178
|
+ then
|
|
179
|
+ grep -v -E "${ignore_packs}" ${DIR_UPD}/${FILE_UPDATES}${HOST}.newpkgs > ${DIR_UPD}/.${HOST}.newpkgs.tmp
|
|
180
|
+ mv ${DIR_UPD}/.${HOST}.newpkgs.tmp ${DIR_UPD}/${FILE_UPDATES}${HOST}.newpkgs
|
|
181
|
+ if [ ! -s ${DIR_UPD}/${FILE_UPDATES}${HOST}.newpkgs ]
|
|
182
|
+ then
|
|
183
|
+ rm ${DIR_UPD}/${FILE_UPDATES}${HOST}.newpkgs
|
|
184
|
+ fi
|
|
185
|
+ fi
|
|
186
|
+ fi
|
167
|
187
|
# Add intereter
|
168
|
|
- if [ -f ${DIR_UPD}/${FILE_UPDATES}${HOST}.newpkgs ]
|
|
188
|
+ if [ -s ${DIR_UPD}/${FILE_UPDATES}${HOST}.newpkgs ]
|
169
|
189
|
then
|
170
|
|
- sort ${DIR_UPD}/${FILE_UPDATES}${HOST}.newpkgs > .newpkgs.tmp
|
171
|
|
- cat .newpkgs.tmp > ${DIR_UPD}/${FILE_UPDATES}${HOST}.newpkgs
|
172
|
|
- rm .newpkgs.tmp
|
|
190
|
+ sort ${DIR_UPD}/${FILE_UPDATES}${HOST}.newpkgs > ${DIR_UPD}/.${HOST}.newpkgs.tmp
|
|
191
|
+ cat ${DIR_UPD}/.${HOST}.newpkgs.tmp > ${DIR_UPD}/${FILE_UPDATES}${HOST}.newpkgs
|
|
192
|
+ rm ${DIR_UPD}/.${HOST}.newpkgs.tmp
|
173
|
193
|
(echo '#!/bin/sh'
|
174
|
194
|
echo
|
175
|
195
|
echo "DL_HOST=\"${DL_HOST}\""
|
|
@@ -324,6 +344,9 @@ while [ "$1" != "" ]; do
|
324
|
344
|
--dist)
|
325
|
345
|
DO_DIST="1"
|
326
|
346
|
;;
|
|
347
|
+ --skip-ignore)
|
|
348
|
+ SKIP_IGNORE="1"
|
|
349
|
+ ;;
|
327
|
350
|
--upgrade)
|
328
|
351
|
DO_UPGRADE="1"
|
329
|
352
|
;;
|