packages (rpm-4_5): rpm/rpm.spec, rpm/rpm-unglobal.patch (NEW) - rel 24; ad...

arekm arekm at pld-linux.org
Sat Aug 8 15:56:46 CEST 2009


Author: arekm                        Date: Sat Aug  8 13:56:46 2009 GMT
Module: packages                      Tag: rpm-4_5
---- Log message:
- rel 24; add unglobal macro

---- Files affected:
packages/rpm:
   rpm.spec (1.837.2.42.2.49.2.65 -> 1.837.2.42.2.49.2.66) , rpm-unglobal.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/rpm/rpm.spec
diff -u packages/rpm/rpm.spec:1.837.2.42.2.49.2.65 packages/rpm/rpm.spec:1.837.2.42.2.49.2.66
--- packages/rpm/rpm.spec:1.837.2.42.2.49.2.65	Sat Jul  4 11:51:58 2009
+++ packages/rpm/rpm.spec	Sat Aug  8 15:56:40 2009
@@ -56,7 +56,7 @@
 Summary(uk.UTF-8):	Менеджер пакетів від RPM
 Name:		rpm
 Version:	4.5
-Release:	23
+Release:	24
 License:	LGPL
 Group:		Base
 Source0:	%{name}-%{version}.tar.gz
@@ -97,6 +97,7 @@
 Patch10:	%{name}-compress-doc.patch
 Patch11:	%{name}-rpm5-patchset-8074.patch
 Patch12:	%{name}-system_libs.patch
+Patch13:	%{name}-unglobal.patch
 Patch14:	%{name}-etc_dir.patch
 Patch15:	%{name}-system_libs-more.patch
 Patch17:	%{name}-ldconfig-always.patch
@@ -702,6 +703,7 @@
 %patch10 -p1
 %patch11 -p1 -R
 %patch12 -p1
+%patch13 -p1
 %patch14 -p1
 %patch17 -p1
 sed -e 's/^/@pld@/' %{SOURCE2} >>platform.in
@@ -1442,6 +1444,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.837.2.42.2.49.2.66  2009/08/08 13:56:40  arekm
+- rel 24; add unglobal macro
+
 Revision 1.837.2.42.2.49.2.65  2009/07/04 09:51:58  megabajt
 - release 23
 

================================================================
Index: packages/rpm/rpm-unglobal.patch
diff -u /dev/null packages/rpm/rpm-unglobal.patch:1.1
--- /dev/null	Sat Aug  8 15:56:46 2009
+++ packages/rpm/rpm-unglobal.patch	Sat Aug  8 15:56:40 2009
@@ -0,0 +1,74 @@
+--- rpm-4.5/rpmio/macro.c.org	2009-08-08 15:42:25.574860247 +0200
++++ rpm-4.5/rpmio/macro.c	2009-08-08 15:47:20.495455961 +0200
+@@ -807,6 +807,41 @@
+     return se;
+ }
+ 
++/**
++ * Parse (and execute) macro undefinition.
++ * @param mc		macro context
++ * @param se		macro name to undefine
++ * @return		address to continue parsing
++ */
++/*@dependent@*/ static const char *
++doUnglobal(MacroContext mc, /*@returned@*/ const char * se)
++	/*@globals rpmGlobalMacroContext @*/
++	/*@modifies mc, rpmGlobalMacroContext @*/
++{
++    const char *s = se;
++    char *buf = alloca(_macro_BUFSIZ);
++    char *n = buf, *ne = n;
++    int c;
++
++    COPYNAME(ne, s, c);
++
++    /* Move scan over body */
++    while (iseol(*s))
++	s++;
++    se = s;
++
++    /* Names must start with alphabetic or _ and be at least 3 chars */
++    if (!((c = *n) && (xisalpha(c) || c == '_') && (ne - n) > 2)) {
++	rpmError(RPMERR_BADSPEC,
++		_("Macro %%%s has illegal name (%%unglobal)\n"), n);
++	return se;
++    }
++
++    delMacroAll(mc, n);
++
++    return se;
++}
++
+ #ifdef	DYING
+ static void
+ dumpME(const char * msg, MacroEntry me)
+@@ -1430,6 +1465,10 @@
+ 		s = doUndefine(mb->mc, se);
+ 		continue;
+ 	}
++	if (STREQ("unglobal", f, fn)) {
++		s = doUnglobal(mb->mc, se);
++		continue;
++	}
+ 
+ 	if (STREQ("echo", f, fn) ||
+ 	    STREQ("warn", f, fn) ||
+@@ -1984,6 +2023,18 @@
+     }
+ }
+ 
++void
++delMacroAll(MacroContext mc, const char * n)
++{
++	MacroEntry * mep;
++
++	if (mc == NULL) mc = rpmGlobalMacroContext;
++	/* If name exists, pop entry */
++	while ((mep = findEntry(mc, n, 0)) != NULL) {
++		delMacro(mc, n);
++	}
++}
++
+ /*@-mustmod@*/ /* LCL: mc is modified through mb->mc, mb is abstract */
+ int
+ rpmDefineMacro(MacroContext mc, const char * macro, int level)
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/rpm/rpm.spec?r1=1.837.2.42.2.49.2.65&r2=1.837.2.42.2.49.2.66&f=u



More information about the pld-cvs-commit mailing list