Browse Source

Add checks for per host ignore lists

Change displayed status when generating package lists
Up version to 3.50
Georgi Chorbadzhiyski 18 years ago
parent
commit
e6a9f98290
1 changed files with 30 additions and 7 deletions
  1. 30
    7
      slcheck.sh

+ 30
- 7
slcheck.sh View File

@@ -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
 		;;

Loading…
Cancel
Save