- always clear locally defined macros when they go out of scope
This commit is contained in:
parent
6dc5ba3bbe
commit
80483430ad
26
rpm-4.7.90-macro-scope.patch
Normal file
26
rpm-4.7.90-macro-scope.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
commit f895acd285366cf58cc3c97b5f188fecbfd782a8
|
||||||
|
Author: Panu Matilainen <pmatilai@redhat.com>
|
||||||
|
Date: Mon Jan 4 12:20:09 2010 +0200
|
||||||
|
|
||||||
|
Always free locally defined macros when they go out of scope
|
||||||
|
- Prior to this, local defines in constructs like %{!?foo: %define foo bar}
|
||||||
|
would remain defined until a parametrized macro gets called, causing
|
||||||
|
obscure and confusing errors in specs such as RhBug:551971 and countless
|
||||||
|
others. Use of %global is now always required for such constructs.
|
||||||
|
|
||||||
|
diff --git a/rpmio/macro.c b/rpmio/macro.c
|
||||||
|
index 88fb583..11db47d 100644
|
||||||
|
--- a/rpmio/macro.c
|
||||||
|
+++ b/rpmio/macro.c
|
||||||
|
@@ -1344,9 +1344,8 @@ expandMacro(MacroBuf mb)
|
||||||
|
me->used++; /* Mark macro as used */
|
||||||
|
}
|
||||||
|
|
||||||
|
- /* Free args for "%name " macros with opts */
|
||||||
|
- if (me->opts != NULL)
|
||||||
|
- freeArgs(mb);
|
||||||
|
+ /* Free locally defined macros, such as macro options */
|
||||||
|
+ freeArgs(mb);
|
||||||
|
|
||||||
|
s = se;
|
||||||
|
}
|
7
rpm.spec
7
rpm.spec
@ -21,7 +21,7 @@
|
|||||||
Summary: The RPM package management system
|
Summary: The RPM package management system
|
||||||
Name: rpm
|
Name: rpm
|
||||||
Version: %{rpmver}
|
Version: %{rpmver}
|
||||||
Release: 0.%{snapver}.4
|
Release: 0.%{snapver}.5
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
Url: http://www.rpm.org/
|
Url: http://www.rpm.org/
|
||||||
Source0: http://rpm.org/releases/testing/%{name}-%{srcver}.tar.bz2
|
Source0: http://rpm.org/releases/testing/%{name}-%{srcver}.tar.bz2
|
||||||
@ -40,6 +40,7 @@ Patch3: rpm-4.7.90-fedora-specspo.patch
|
|||||||
Patch200: rpm-4.7.90-python-bytecompile.patch
|
Patch200: rpm-4.7.90-python-bytecompile.patch
|
||||||
Patch201: rpm-4.7.90-python-refcounts.patch
|
Patch201: rpm-4.7.90-python-refcounts.patch
|
||||||
Patch202: rpm-4.7.90-spec-allow-unexpanded-macros.patch
|
Patch202: rpm-4.7.90-spec-allow-unexpanded-macros.patch
|
||||||
|
Patch203: rpm-4.7.90-macro-scope.patch
|
||||||
|
|
||||||
# These are not yet upstream
|
# These are not yet upstream
|
||||||
Patch301: rpm-4.6.0-niagara.patch
|
Patch301: rpm-4.6.0-niagara.patch
|
||||||
@ -187,6 +188,7 @@ packages on a system.
|
|||||||
%patch200 -p1 -b .python-bytecompile
|
%patch200 -p1 -b .python-bytecompile
|
||||||
%patch201 -p1 -b .python-refcounts
|
%patch201 -p1 -b .python-refcounts
|
||||||
%patch202 -p1 -b .spec-unexpanded-macros
|
%patch202 -p1 -b .spec-unexpanded-macros
|
||||||
|
%patch203 -p1 -b .macro-scope
|
||||||
|
|
||||||
%patch301 -p1 -b .niagara
|
%patch301 -p1 -b .niagara
|
||||||
%patch302 -p1 -b .geode
|
%patch302 -p1 -b .geode
|
||||||
@ -401,6 +403,9 @@ exit 0
|
|||||||
%doc doc/librpm/html/*
|
%doc doc/librpm/html/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jan 04 2010 Panu Matilainen <pmatilai@redhat.com> - 4.8.0-0.beta1.5
|
||||||
|
- always clear locally defined macros when they go out of scope
|
||||||
|
|
||||||
* Thu Dec 17 2009 Panu Matilainen <pmatilai@redhat.com> - 4.8.0-0.beta1.4
|
* Thu Dec 17 2009 Panu Matilainen <pmatilai@redhat.com> - 4.8.0-0.beta1.4
|
||||||
- permit unexpanded macros when parsing spec (#547997)
|
- permit unexpanded macros when parsing spec (#547997)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user