SPECS: builder - add -a option for running adapter.awk

glen glen at pld-linux.org
Tue Jul 5 01:14:57 CEST 2005


Author: glen                         Date: Mon Jul  4 23:14:57 2005 GMT
Module: SPECS                         Tag: HEAD
---- Log message:
- add -a option for running adapter.awk

---- Files affected:
SPECS:
   builder (1.317 -> 1.318) 

---- Diffs:

================================================================
Index: SPECS/builder
diff -u SPECS/builder:1.317 SPECS/builder:1.318
--- SPECS/builder:1.317	Fri May 13 21:24:29 2005
+++ SPECS/builder	Tue Jul  5 01:14:52 2005
@@ -45,6 +45,7 @@
 UPDATE5=""
 ADD5=""
 NO5=""
+ADAPTERIZE=""
 ALWAYS_CVSUP=${ALWAYS_CVSUP:-"yes"}
 CVSROOT=""
 
@@ -183,6 +184,7 @@
 [--with/--without <feature>] [--define <macro> <value>] <package>[.spec]
 
 -5, --update-md5    - update md5 comments in spec, implies -nd -ncs
+-a, --adapter[ize]  - run adapter.awk on SPECFILE
 -a5, --add-md5      - add md5 comments to URL sources, implies -nc -nd -ncs
 -n5, --no-md5       - ignore md5 comments in spec
 -D, --debug         - enable builder script debugging mode,
@@ -1309,6 +1311,57 @@
 	fi
 }
 
+diffcol()
+{
+	 # vim like diff colourization, glen at pld-linux.org
+	 sed -e '
+	 s,,^[,g;
+	 s,,^G,g;
+	 s,^\(Index:\|diff\|---\|+++\) .*$,&,;
+	 s,^@@ ,&,g;
+	 s,^-,&,;
+	 s,^+,&,;
+	 s,
,^M,g;
+	 s,	,    ,g;
+	 s,\([^[:space:]]\)\([[:space:]]\+\)$,\1\2,g;
+	 s,$,,
+	 ' "$@"
+}
+
+adapterize()
+{
+	 cd "$SPECS_DIR"
+	 local tmpdir
+	 tmpdir=$(mktemp -d ${TMPDIR:-/tmp}/adapter-XXXXXX) || exit
+	 awk -f adapter.awk $SPECFILE > $tmpdir/$SPECFILE
+
+	 if [ "`diff --brief $SPECFILE $tmpdir/$SPECFILE`" ] ; then
+		  diff -u $SPECFILE $tmpdir/$SPECFILE > $tmpdir/$SPECFILE.diff
+		  diffcol $tmpdir/$SPECFILE.diff | less -r
+		  (
+				while : ; do
+					 echo -n "Accept? [yn] "
+					 read ans
+					 case "$ans" in
+					 [yYoO]) # y0 mama
+						  mv -f $tmpdir/$SPECFILE $SPECFILE
+						  echo "Ok, adapterized."
+						  break
+					 ;;
+					 n | N )
+						  echo "Ok, exiting."
+						  break
+					 ;;
+					 esac
+				done
+		  )
+	 else
+		  echo "The SPEC is perfect ;)"
+	 fi
+
+	 rm -rf $tmpdir
+}
+
 #---------------------------------------------
 # main()
 
@@ -1326,6 +1379,12 @@
 			NOCVSSPEC="yes"
 			UPDATE5="yes"
 			shift ;;
+		-a | --adapter | --adapterize )
+			COMMAND="adapterize";
+			NODIST="yes"
+			NOCVSSPEC="yes"
+			ADAPTERIZE="yes"
+			shift ;;
 		-a5 | --add-md5 )
 			COMMAND="get";
 			NODIST="yes"
@@ -1648,6 +1707,9 @@
 		for SAP in $SAPS ; do
 			 echo $SOURCE_DIR/$(echo $SAP | awk '{gsub(/.*\//,"") ; print }')
 		done
+		;;
+	"adapterize" )
+		adapterize
 		;;
 	"usage" )
 		usage;;
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SPECS/builder?r1=1.317&r2=1.318&f=u




More information about the pld-cvs-commit mailing list