SPECS: adapter.awk - parse epoches from ../PLD-doc/BuildRequires.txt

glen glen at pld-linux.org
Tue Jan 24 08:42:38 CET 2006


Author: glen                         Date: Tue Jan 24 07:42:38 2006 GMT
Module: SPECS                         Tag: HEAD
---- Log message:
- parse epoches from ../PLD-doc/BuildRequires.txt

---- Files affected:
SPECS:
   adapter.awk (1.269 -> 1.270) 

---- Diffs:

================================================================
Index: SPECS/adapter.awk
diff -u SPECS/adapter.awk:1.269 SPECS/adapter.awk:1.270
--- SPECS/adapter.awk:1.269	Sat Jan 21 01:05:01 2006
+++ SPECS/adapter.awk	Tue Jan 24 08:42:33 2006
@@ -53,6 +53,7 @@
 	"rpm --eval %_sourcedir" | getline groups_file
 	groups_file = groups_file "/rpm.groups"
 	system("cd `rpm --eval %_sourcedir`; [ -f rpm.groups ] || cvs up rpm.groups >/dev/null")
+	system("[ -d ../PLD-doc ] && cd ../PLD-doc && [ -f BuildRequires.txt ] || cvs up BuildRequires.txt >/dev/null")
 
 	# Temporary file for changelog section
 	changelog_file = ENVIRON["HOME"] "/tmp/adapter.changelog"
@@ -1301,6 +1302,13 @@
 	}
 }
 
+function get_epoch(pkg, ver,	epoch)
+{
+	shell = "grep -o '^" pkg ":[^:]\+' ../PLD-doc/BuildRequires.txt | awk '{print $NF}'";
+	shell | getline epoch;
+	return epoch;
+}
+
 function format_requires(tag, value,	n, p, i, deps, ndeps) {
 	# skip any formatting for commented out items
 	if (/^#/) {
@@ -1309,6 +1317,13 @@
 	n = split(value, p, / *,? */);
 	for (i = 1; i <= n; i++) {
 		if (p[i+1] ~ /[<=>]/) {
+			# add epoch if the version doesn't have it but BuildRequires.txt has
+			if (p[i] ~ /^[a-z]/ && p[i+2] !~ /^[0-9]+:/) {
+				epoch = get_epoch(p[i], p[i+2])
+				if (epoch) {
+					p[i+2] = epoch ":" p[i+2];
+				}
+			}
 			deps[ndeps++] = p[i] " " p[i+1] " " p[i+2];
 			i += 2;
 		} else {
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SPECS/adapter.awk?r1=1.269&r2=1.270&f=u



More information about the pld-cvs-commit mailing list