"rpm --eval %_includedir" | getline includedir
"rpm --eval %_mandir" | getline mandir
"rpm --eval %_infodir" | getline infodir
+
+ "rpm --eval %perl_sitearch" | getline perl_sitearch
+ "rpm --eval %perl_archlib" | getline perl_archlib
+ "rpm --eval %perl_privlib" | getline perl_privlib
+ "rpm --eval %perl_archlib" | getline perl_archlib
+ "rpm --eval %perl_vendorlib" | getline perl_vendorlib
+ "rpm --eval %perl_vendorarch" | getline perl_vendorarch
+ "rpm --eval %perl_sitelib" | getline perl_sitelib
+ "rpm --eval %perl_sitearch" | getline perl_sitearch
}
# There should be a comment with CVS keywords on the first line of file.
preamble = 0
# Add '-q' to %setup
- if (/^%setup/ && !/-q/)
+ if (/^%setup/ && !/-q/) {
sub(/^%setup/, "%setup -q")
+ }
+
+ if (/^%setup -q -n %{name}-%{version}$/) {
+ $0 = "%setup"
+ }
}
##########
# Replace directly specified directories with macros
function use_macros()
{
+ gsub(perl_sitearch, "%{perl_sitearch}")
+ gsub(perl_archlib, "%{perl_archlib}")
+ gsub(perl_privlib, "%{perl_privlib}")
+ gsub(perl_archlib, "%{perl_archlib}")
+ gsub(perl_vendorlib, "%{perl_vendorlib}")
+ gsub(perl_vendorarch, "%{perl_vendorarch}")
+ gsub(perl_sitelib, "%{perl_sitelib}")
+ gsub(perl_sitearch, "%{perl_sitearch}")
+
gsub(bindir, "%{_bindir}")
gsub("%{prefix}/bin", "%{_bindir}")
if(prefix"/bin" == bindir)
gsub(datadir, "%{_datadir}", $c)
}
+
gsub("%{prefix}/share", "%{_datadir}")
if (prefix"/share" == datadir)
gsub("%{_prefix}/share", "%{_datadir}")
gsub(includedir, "%{_includedir}")
gsub("%{prefix}/include", "%{_includedir}")
- if(prefix"/include" == includedir)
+ if (prefix"/include" == includedir)
gsub("%{_prefix}/include", "%{_includedir}")
gsub(mandir, "%{_mandir}")
for (i = 2; i <= n; i++) {
hold = A[j = i]
while (A[j-1] > hold) {
- j-- ; A[j+1] = A[j]
- }
+ j-- ; A[j+1] = A[j]
+ }
A[j] = hold
}
# sentinel A[0] = "" will be created if needed
gsub("%{_sysconfdir}\/rc\.d\/init.d", "/etc/rc.d/init.d")
gsub("%{_sysconfdir}\/init.d", "/etc/rc.d/init.d")
+ gsub("%{_sysconfdir}\/sysconfig", "/etc/sysconfig")
if (/\/etc\/rc\.d\/init\.d/) {
if (!/%attr.*\/etc\/rc\.d\/init\.d/) {
# /etc/sysconfig files
# %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/*
- if (/\/etc\/sysconfig\// && !/%attr.*/) {
- $0 = "%attr(640,root,root) " $0
- }
-
+ # attr not required, allow default 644 attr
if (/\/etc\/sysconfig\// && /%config/ && !/%config\(noreplace\)/) {
gsub("%config", "%config(noreplace)")
}
if (/\/etc\/sysconfig\// && !/%config\(noreplace\)/) {
- $1 = $1 " %config(noreplace)"
+ $NF = "%config(noreplace) " $NF
}
- if (/\/etc\/sysconfig\// && !/%verify/) {
- gsub("/etc/sysconfig", "%verify(not size mtime md5) /etc/sysconfig");
+ if (/\/etc\/sysconfig\// && /%attr\(755/) {
+ gsub("^%attr\(... *,", "%attr(640,");
}
- if (/\/etc\/sysconfig\// && !/%attr\(640/) {
- gsub("^%attr\(... *,", "%attr(640,");
+ if (/\/etc\/sysconfig\// && !/%verify/) {
+ gsub("/etc/sysconfig", "%verify(not size mtime md5) /etc/sysconfig");
}
gsub("%attr\(0", "%attr(")
# sort %verify attrs
- if (match($0, /%verify\(not (.*)\)/)) {
+ if (match($0, /%verify\(not([^)]+)\)/)) {
t = substr($0, RSTART, RLENGTH)
gsub(/^%verify\(not |\)$/, "", t)
n = split(t, a, / /)
}
s = s ")"
- gsub(/%verify\(not .*\)/, s)
+ gsub(/%verify\(not[^)]+\)/, s)
+ }
+
+ if (/%{_mandir}/) {
+ gsub("\.gz$", "*")
}
}