--- /dev/null
+--- rpm-5.4.15/rpmio/macro.c~ 2014-12-07 20:24:53.000000000 +0100
++++ rpm-5.4.15/rpmio/macro.c 2014-12-07 20:44:45.739944044 +0100
+@@ -2965,7 +2965,17 @@
+ se = rpmMCExpand(mc, s, NULL);
+ rc = rpmGlob(se, &argc, &argv);
+ for(i = 0; i < argc; i++) {
+- rc |= rpmLoadMacroFile(mc, argv[i], nesting - 1);
++ /* Skip backups, non existing files and %config leftovers. */
++#define _suffix(_s, _x) \
++ (slen >= sizeof(_x) && !strcmp((_s)+slen-(sizeof(_x)-1), (_x)))
++ if (!(_suffix(fn, "~")
++ || _suffix(fn, ".rpmnew")
++ || _suffix(fn, ".rpmorig")
++ || _suffix(fn, ".rpmsave"))
++ && !Access(argv[i], R_OK)
++ )
++ rc |= rpmLoadMacroFile(mc, argv[i], nesting - 1);
++#undef _suffix
+ argv[i] = _free(argv[i]);
+ }
+ argv = _free(argv);
+--- rpm-5.4.15/macros/macros.in~ 2014-12-07 21:43:59.000000000 +0100
++++ rpm-5.4.15/macros/macros.in 2014-12-07 22:07:57.383101292 +0100
+@@ -1019,13 +1019,7 @@
+ %{nil}
+
+ #==============================================================================
+-# XXX Caveat:
+-# XXX With %{load:...} being interpreted immediately -- not lazily --
+-# XXX within a macro init file, a failure to load causes immediate loading
+-# XXX termination silently.
+-# XXX
+-# XXX So the order as well as the existence of the %{load:...} macros below
+-# XXX are critically important.
++# XXX If a file specified in %{load:...} does not exist, it will be skipped.
+ # XXX
+ # XXX Note also that loaded macro files can NOT recursively load other
+ # XXX macro files; only a top-level (i.e. after --macros, or within a *.spec)
+@@ -1036,11 +1030,8 @@
+ # XXX for configuring RPM itself.
+ # XXX
+ # XXX Simple example(s):
+-# XXX If the file %{_usrlibrpm}/macros.d/selinux doesn't exist,
+-# XXX then %{_usrlibrpm}/macros.rpmbuild will NOT be loaded.
+-# XXX
+ # XXX if the file %{_usrlibrpm}/macros.d/cmake attempts another
+-# XXX %{load:...}, then loading will CEASE at that point in the file.
++# XXX %{load:...}, then the statement will be IGNORED.
+ #==============================================================================
+ # ---- SELinux configuration macros.
+ %{load:%{_usrlibrpm}/macros.d/selinux}
Summary(uk.UTF-8): Менеджер пакетів від RPM
Name: rpm
Version: 5.4.15
-Release: 3
+Release: 4
License: LGPL v2.1
Group: Base
# http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.15-0.20140824.src.rpm
Patch80: %{name}-revert-gpg-argv-parsing.patch
Patch81: %{name}-perl-magic.patch
Patch82: %{name}-5.4.15-use-DSA-sig.patch
+Patch83: %{name}-ignore-missing-macro-files.patch
# Patches imported from Mandriva
%patch1046 -p1
%patch1047 -p1
+%patch83 -p1
+
install %{SOURCE2} macros/pld.in
install %{SOURCE8} scripts/php.prov.in
install %{SOURCE9} scripts/php.req.in