Package init
This commit is contained in:
commit
01c2f80b9d
@ -0,0 +1,39 @@
|
|||||||
|
From 3570c9beb5398541ea7423639891ef6a9de27087 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Panu Matilainen <pmatilai@redhat.com>
|
||||||
|
Date: Wed, 3 Oct 2018 11:51:38 +0300
|
||||||
|
Subject: [PATCH 1/4] Fix ancient python GIL locking bug on callback
|
||||||
|
(RhBug:1632488)
|
||||||
|
|
||||||
|
Introduced in commit c7881d801745b4c156a8aa2afc17b95f97481e34 back in 2002,
|
||||||
|
synthesizing a python object for the callback occurs before retaking
|
||||||
|
the GIL lock, which is not allowed. Somehow this has managed to stay
|
||||||
|
latent all these years, and even now requires fairly specific conditions:
|
||||||
|
when the callback gets called without an associated key, such as erasures
|
||||||
|
or file trigger script start/stop events (in the case of RhBug:1632488),
|
||||||
|
when Python 3 is running in PYTHONMALLOC=debug mode,
|
||||||
|
it crashes with "Python memory allocator called without holding the GIL".
|
||||||
|
|
||||||
|
Simply retake the lock before any Python operations take place to fix.
|
||||||
|
|
||||||
|
(cherry picked from commit 531dc8495cd3aabd3f659ecab604106fdbacbe98)
|
||||||
|
|
||||||
|
diff -urNp a/python/rpmts-py.c b/python/rpmts-py.c
|
||||||
|
--- a/python/rpmts-py.c 2019-04-22 21:07:26.880000000 +0800
|
||||||
|
+++ b/python/rpmts-py.c 2019-04-22 21:18:05.020000000 +0800
|
||||||
|
@@ -494,6 +494,8 @@ rpmtsCallback(const void * hd, const rpm
|
||||||
|
static FD_t fd;
|
||||||
|
|
||||||
|
if (cbInfo->cb == Py_None) return NULL;
|
||||||
|
+
|
||||||
|
+ PyEval_RestoreThread(cbInfo->_save);
|
||||||
|
|
||||||
|
/* Synthesize a python object for callback (if necessary). */
|
||||||
|
if (pkgObj == NULL) {
|
||||||
|
@@ -506,7 +508,6 @@ rpmtsCallback(const void * hd, const rpm
|
||||||
|
} else
|
||||||
|
Py_INCREF(pkgObj);
|
||||||
|
|
||||||
|
- PyEval_RestoreThread(cbInfo->_save);
|
||||||
|
|
||||||
|
args = Py_BuildValue("(iLLOO)", what, amount, total, pkgObj, cbInfo->data);
|
||||||
|
result = PyEval_CallObject(cbInfo->cb, args);
|
||||||
@ -0,0 +1,30 @@
|
|||||||
|
From f2bc669cd0a080792522dd1bb7f50ef7025f16f0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mark Wielaard <mark@klomp.org>
|
||||||
|
Date: Sat, 21 Jul 2018 10:13:04 +0200
|
||||||
|
Subject: [PATCH] find-debuginfo.sh: decompress DWARF compressed ELF sections
|
||||||
|
|
||||||
|
debugedit and dwz do not support DWARF compressed ELF sections, let's
|
||||||
|
just decompress those before extracting debuginfo.
|
||||||
|
|
||||||
|
Tested-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
||||||
|
---
|
||||||
|
scripts/find-debuginfo.sh | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
||||||
|
index 90a44942d..7b01bc036 100755
|
||||||
|
--- a/scripts/find-debuginfo.sh
|
||||||
|
+++ b/scripts/find-debuginfo.sh
|
||||||
|
@@ -357,6 +357,9 @@ do_file()
|
||||||
|
get_debugfn "$f"
|
||||||
|
[ -f "${debugfn}" ] && return
|
||||||
|
|
||||||
|
+ echo "explicitly decompress any DWARF compressed ELF sections in $f"
|
||||||
|
+ eu-elfcompress -q -p -t none "$f"
|
||||||
|
+
|
||||||
|
echo "extracting debug info from $f"
|
||||||
|
# See also cpio SOURCEFILE copy. Directories must match up.
|
||||||
|
debug_base_name="$RPM_BUILD_DIR"
|
||||||
|
--
|
||||||
|
2.18.0
|
||||||
|
|
||||||
114
0002-Resurrect-long-since-broken-Lua-library-path.patch
Normal file
114
0002-Resurrect-long-since-broken-Lua-library-path.patch
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
From ddc1d06c45994b40aea3dfefc60436e409fce08c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Panu Matilainen <pmatilai@redhat.com>
|
||||||
|
Date: Tue, 16 Oct 2018 11:26:46 +0300
|
||||||
|
Subject: [PATCH 2/4] Resurrect long since broken Lua library path
|
||||||
|
|
||||||
|
LUA_PATH global variable is not consulted when loading libraries in
|
||||||
|
Lua >= 5.1, package.path has replaced it. Rpm's Lua library path
|
||||||
|
was always supposed to be /usr/lib/rpm/lua/ but this has been broken
|
||||||
|
for the last ten years or so, oops. Make the directory a first-class
|
||||||
|
citizen: create it on install, add a macro for it, make it actually
|
||||||
|
work and ensure it stays that way by adding a test for it.
|
||||||
|
|
||||||
|
(cherry picked from commit dd6c65044c41922193f520ace668e2c5e55f1004)
|
||||||
|
---
|
||||||
|
Makefile.am | 2 ++
|
||||||
|
macros.in | 2 ++
|
||||||
|
rpmio/rpmlua.c | 13 ++++++-------
|
||||||
|
tests/rpmmacro.at | 17 ++++++++++++++++-
|
||||||
|
4 files changed, 26 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff -urNp a/macros.in b/macros.in
|
||||||
|
--- a/macros.in 2019-04-23 12:06:08.066000000 -0400
|
||||||
|
+++ b/macros.in 2019-04-23 12:11:29.225000000 -0400
|
||||||
|
@@ -149,6 +149,8 @@
|
||||||
|
%_rpmconfigdir %{getconfdir}
|
||||||
|
# The directory where rpm's macro files live
|
||||||
|
%_rpmmacrodir %{_rpmconfigdir}/macros.d
|
||||||
|
+# The directory where rpm's addon lua libraries live
|
||||||
|
+%_rpmluadir %{_rpmconfigdir}/lua
|
||||||
|
|
||||||
|
# The directory where sources/patches will be unpacked and built.
|
||||||
|
%_builddir %{_topdir}/BUILD
|
||||||
|
diff -urNp a/Makefile.am b/Makefile.am
|
||||||
|
--- a/Makefile.am 2019-04-23 12:05:54.541000000 -0400
|
||||||
|
+++ b/Makefile.am 2019-04-23 12:10:32.959000000 -0400
|
||||||
|
@@ -253,6 +253,7 @@ install-data-local:
|
||||||
|
$(RPMCANONVENDOR) $(RPMCANONOS) $(RPMCANONGNU)
|
||||||
|
@$(MKDIR_P) $(DESTDIR)$(localstatedir)/tmp
|
||||||
|
@$(MKDIR_P) $(DESTDIR)$(rpmconfigdir)/macros.d
|
||||||
|
+ @$(MKDIR_P) $(DESTDIR)$(rpmconfigdir)/lua
|
||||||
|
|
||||||
|
# XXX to appease distcheck we need to remove "stuff" here...
|
||||||
|
uninstall-local:
|
||||||
|
@@ -261,6 +262,7 @@ uninstall-local:
|
||||||
|
@rm -rf $(DESTDIR)$(rpmconfigdir)/platform/
|
||||||
|
@rm -f $(DESTDIR)$(rpmconfigdir)/macros
|
||||||
|
@rm -rf $(DESTDIR)$(rpmconfigdir)/macros.d
|
||||||
|
+ @rm -rf $(DESTDIR)$(rpmconfigdir)/lua
|
||||||
|
|
||||||
|
MAINTAINERCLEANFILES = ChangeLog
|
||||||
|
|
||||||
|
diff -urNp a/rpmio/rpmlua.c b/rpmio/rpmlua.c
|
||||||
|
--- a/rpmio/rpmlua.c 2019-04-23 12:06:27.928000000 -0400
|
||||||
|
+++ b/rpmio/rpmlua.c 2019-04-23 12:18:35.940000000 -0400
|
||||||
|
@@ -100,13 +100,6 @@ rpmlua rpmluaNew()
|
||||||
|
#ifndef LUA_GLOBALSINDEX
|
||||||
|
lua_pushglobaltable(L);
|
||||||
|
#endif
|
||||||
|
- lua_pushliteral(L, "LUA_PATH");
|
||||||
|
- lua_pushfstring(L, "%s/%s", rpmConfigDir(), "/lua/?.lua");
|
||||||
|
-#ifdef LUA_GLOBALSINDEX
|
||||||
|
- lua_rawset(L, LUA_GLOBALSINDEX);
|
||||||
|
-#else
|
||||||
|
- lua_settable(L, -3);
|
||||||
|
-#endif
|
||||||
|
lua_pushliteral(L, "print");
|
||||||
|
lua_pushcfunction(L, rpm_print);
|
||||||
|
#ifdef LUA_GLOBALSINDEX
|
||||||
|
@@ -117,6 +110,12 @@ rpmlua rpmluaNew()
|
||||||
|
#ifndef LUA_GLOBALSINDEX
|
||||||
|
lua_pop(L, 1);
|
||||||
|
#endif
|
||||||
|
+
|
||||||
|
+ lua_getglobal(L, "package");
|
||||||
|
+ lua_pushfstring(L, "%s/%s", rpmConfigDir(), "/lua/?.lua");
|
||||||
|
+ lua_setfield(L, -2, "path");
|
||||||
|
+ lua_pop(L, 1);
|
||||||
|
+
|
||||||
|
rpmluaSetData(lua, "lua", lua);
|
||||||
|
if (stat(initlua, &st) != -1)
|
||||||
|
(void)rpmluaRunScriptFile(lua, initlua);
|
||||||
|
diff -urNp a/tests/rpmmacro.at b/tests/rpmmacro.at
|
||||||
|
--- a/tests/rpmmacro.at 2019-04-23 12:06:50.426000000 -0400
|
||||||
|
+++ b/tests/rpmmacro.at 2019-04-23 12:39:31.867000000 -0400
|
||||||
|
@@ -297,6 +297,22 @@ runroot rpm \
|
||||||
|
)
|
||||||
|
AT_CLEANUP
|
||||||
|
|
||||||
|
+AT_SETUP([lua library path])
|
||||||
|
+AT_KEYWORDS([macros lua])
|
||||||
|
+AT_CHECK([
|
||||||
|
+AT_SKIP_IF([$LUA_DISABLED])
|
||||||
|
+f=$(rpm --eval "%{_rpmconfigdir}/lua/foo.lua")
|
||||||
|
+echo "bar = 'graak'" > ${f}
|
||||||
|
+runroot rpm \
|
||||||
|
+ --eval '%{lua:require "foo"; print(bar)}'
|
||||||
|
+rm -f ${f}
|
||||||
|
+],
|
||||||
|
+[0],
|
||||||
|
+[graak
|
||||||
|
+])
|
||||||
|
+AT_CLEANUP
|
||||||
|
+
|
||||||
|
+
|
||||||
|
AT_SETUP([%define + %undefine in nested levels 1])
|
||||||
|
AT_KEYWORDS([macros define undefine])
|
||||||
|
AT_CHECK([
|
||||||
|
@@ -432,4 +448,4 @@ runroot rpm --macros "/data/macros.testf
|
||||||
|
|
||||||
|
macro_2
|
||||||
|
])
|
||||||
|
-AT_CLEANUP
|
||||||
|
\ No newline at end of file
|
||||||
|
+AT_CLEANUP
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
From a7f3748d006d1b1057a791f2a7c790d3ec09cc09 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Panu Matilainen <pmatilai@redhat.com>
|
||||||
|
Date: Mon, 22 Oct 2018 10:52:39 +0300
|
||||||
|
Subject: [PATCH 3/4] Fix nasty --setperms/--setugids regression in 4.14.2
|
||||||
|
(RhBug: 1640470)
|
||||||
|
|
||||||
|
Commit 38c2f6e160d5ed3e9c3a266139c7eb2632724c15 causes --setperms and
|
||||||
|
--setugids follow symlinks instead of skipping them.
|
||||||
|
|
||||||
|
In case of --setperms, all encountered symlinks will have their
|
||||||
|
target file/directory permissions set to the 0777 of the link itself
|
||||||
|
(so world writable etc but suid/sgid stripped), temporarily or permanently,
|
||||||
|
depending on whether the symlink occurs before or after it's target in the
|
||||||
|
package file list. When the link occurs before its target, there's a short
|
||||||
|
window where the target is world writable before having it's permissions
|
||||||
|
reset to original, making it particularly bad for suid/sgid binaries.
|
||||||
|
|
||||||
|
--setugids is similarly affected with link targets owner/group changing
|
||||||
|
to that of the symlink.
|
||||||
|
|
||||||
|
Add missing parentheses to the conditions introduced in commit
|
||||||
|
38c2f6e160d5ed3e9c3a266139c7eb2632724c15 to fix.
|
||||||
|
Reported by Karel Srot, patch by Pavlina Moravcova Varekova.
|
||||||
|
|
||||||
|
(cherry picked from commit 0d83637769b8a122b1e80f2e960ea1bbae8b4f10)
|
||||||
|
---
|
||||||
|
rpmpopt.in | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff -urNp a/rpmpopt.in b/rpmpopt.in
|
||||||
|
--- a/rpmpopt.in 2019-04-23 13:00:05.090000000 -0400
|
||||||
|
+++ b/rpmpopt.in 2019-04-23 13:05:33.326000000 -0400
|
||||||
|
@@ -44,14 +44,14 @@ rpm alias --scripts --qf '\
|
||||||
|
--POPTdesc=$"list install/erase scriptlets from package(s)"
|
||||||
|
|
||||||
|
rpm alias --setperms -q --qf '[\[ -L %{FILENAMES:shescape} \] || \
|
||||||
|
- \[ $((%{FILEFLAGS} & 2#1001000)) != 0 \] && \[ ! -e %{FILENAMES:shescape} \] || \
|
||||||
|
+ ( \[ $((%{FILEFLAGS} & 2#1001000)) != 0 \] && \[ ! -e %{FILENAMES:shescape} \] ) || \
|
||||||
|
chmod %7{FILEMODES:octal} %{FILENAMES:shescape}\n]' \
|
||||||
|
--pipe "grep -v \(none\) | grep '^. -L ' | sed 's/chmod .../chmod /' | sh" \
|
||||||
|
--POPTdesc=$"set permissions of files in a package"
|
||||||
|
|
||||||
|
rpm alias --setugids -q --qf \
|
||||||
|
'[ch %{FILEUSERNAME:shescape} %{FILEGROUPNAME:shescape} %{FILENAMES:shescape} %{FILEFLAGS}\n]' \
|
||||||
|
- --pipe "(echo 'ch() { \[ $(($4 & 2#1001000)) != 0 \] && \[ ! -e \"$3\" \] || \
|
||||||
|
+ --pipe "(echo 'ch() { ( \[ $(($4 & 2#1001000)) != 0 \] && \[ ! -e \"$3\" \] ) || \
|
||||||
|
(chown -h -- \"$1\" \"$3\";chgrp -h -- \"$2\" \"$3\";) }'; \
|
||||||
|
grep '^ch '|grep -v \(none\))|sh" \
|
||||||
|
--POPTdesc=$"set user/group ownership of files in a package"
|
||||||
80
bugfix-rpm-4.11.3-add-aarch64_ilp32-arch.patch
Normal file
80
bugfix-rpm-4.11.3-add-aarch64_ilp32-arch.patch
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
diff -Nur rpm-4.14.2.old/installplatform rpm-4.14.2/installplatform
|
||||||
|
--- rpm-4.14.2.old/installplatform 2017-08-10 16:08:07.113108701 +0800
|
||||||
|
+++ rpm-4.14.2/installplatform 2019-01-30 17:28:25.511000000 +0800
|
||||||
|
@@ -180,6 +180,13 @@
|
||||||
|
CANONARCH=riscv64
|
||||||
|
CANONCOLOR=3
|
||||||
|
;;
|
||||||
|
+ aarch64_ilp32)
|
||||||
|
+ ISANAME=aarch
|
||||||
|
+ ISABITS=32
|
||||||
|
+ CANONARCH=aarch64
|
||||||
|
+ CANONCOLOR=0
|
||||||
|
+ LIB=libilp32
|
||||||
|
+ ;;
|
||||||
|
noarch)
|
||||||
|
CANONARCH=noarch
|
||||||
|
CANONCOLOR=0
|
||||||
|
diff -Nur rpm-4.14.2.old/rpmrc.in rpm-4.14.2/rpmrc.in
|
||||||
|
--- rpm-4.14.2.old/rpmrc.in 2019-01-29 18:43:15.795000000 +0800
|
||||||
|
+++ rpm-4.14.2/rpmrc.in 2019-01-30 20:30:17.916000000 +0800
|
||||||
|
@@ -99,7 +99,7 @@
|
||||||
|
optflags: sh4a -O2 -g -mieee
|
||||||
|
|
||||||
|
optflags: aarch64 -O2 -g
|
||||||
|
-
|
||||||
|
+optflags: aarch64_ilp32 -O2 -g -mabi=ilp32
|
||||||
|
optflags: riscv64 -O2 -g
|
||||||
|
|
||||||
|
#############################################################
|
||||||
|
@@ -149,7 +149,7 @@
|
||||||
|
archcolor: sh4 1
|
||||||
|
|
||||||
|
archcolor: aarch64 2
|
||||||
|
-
|
||||||
|
+archcolor: aarch64_ilp32 1
|
||||||
|
archcolor: riscv64 2
|
||||||
|
|
||||||
|
#############################################################
|
||||||
|
@@ -243,7 +243,7 @@
|
||||||
|
arch_canon: sh4a: sh4a 17
|
||||||
|
arch_canon: xtensa: xtensa 18
|
||||||
|
arch_canon: aarch64: aarch64 19
|
||||||
|
-
|
||||||
|
+arch_canon: aarch64_ilp32: aarch64 19
|
||||||
|
arch_canon: mipsr6: mipsr6 20
|
||||||
|
arch_canon: mipsr6el: mipsr6el 20
|
||||||
|
arch_canon: mips64r6: mips64r6 21
|
||||||
|
@@ -377,11 +377,11 @@
|
||||||
|
buildarchtranslate: sh4a: sh4
|
||||||
|
|
||||||
|
buildarchtranslate: aarch64: aarch64
|
||||||
|
-
|
||||||
|
+buildarchtranslate: aarch64_ilp32: aarch64_ilp32
|
||||||
|
buildarchtranslate: riscv: riscv64
|
||||||
|
buildarchtranslate: riscv64: riscv64
|
||||||
|
|
||||||
|
-#############################################################
|
||||||
|
+#########################################/####################
|
||||||
|
# Architecture compatibility
|
||||||
|
|
||||||
|
arch_compat: alphaev67: alphaev6
|
||||||
|
@@ -485,7 +485,8 @@
|
||||||
|
arch_compat: sh4: noarch
|
||||||
|
arch_compat: sh4a: sh4
|
||||||
|
|
||||||
|
-arch_compat: aarch64: noarch
|
||||||
|
+arch_compat: aarch64_ilp32: aarch64 noarch
|
||||||
|
+arch_compat: aarch64: aarch64_ilp32 noarch
|
||||||
|
|
||||||
|
arch_compat: riscv: noarch
|
||||||
|
arch_compat: riscv64: noarch
|
||||||
|
@@ -522,7 +523,7 @@
|
||||||
|
buildarch_compat: ia64: noarch
|
||||||
|
|
||||||
|
buildarch_compat: aarch64: noarch
|
||||||
|
-
|
||||||
|
+buildarch_compat: aarch64_ilp32: noarch
|
||||||
|
buildarch_compat: riscv: noarch
|
||||||
|
buildarch_compat: riscv64: noarch
|
||||||
|
|
||||||
26
bugfix-rpm-4.14.2-fix-tty-failed.patch
Normal file
26
bugfix-rpm-4.14.2-fix-tty-failed.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
From ee69dbae3660da4b1d0649eeeed1a8321d17a685 Mon Sep 17 00:00:00 2001
|
||||||
|
From: wangqing <wangqing54@huawei.com>
|
||||||
|
Date: Wed, 12 Dec 2018 19:00:41 +0800
|
||||||
|
Subject: [PATCH 2/2] backport-bugfix-rpm-4.14.2-fix-tty-failed
|
||||||
|
|
||||||
|
---
|
||||||
|
rpmpopt.in | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/rpmpopt.in b/rpmpopt.in
|
||||||
|
index 3e44937..d9d7848 100644
|
||||||
|
--- a/rpmpopt.in
|
||||||
|
+++ b/rpmpopt.in
|
||||||
|
@@ -216,7 +216,7 @@ rpmbuild alias --buildpolicy --define '__os_install_post %{_rpmconfigdir}/brp-!#
|
||||||
|
--POPTargs=$"<policy>"
|
||||||
|
# Minimally preserve rpmbuild's --sign functionality
|
||||||
|
rpmbuild alias --sign \
|
||||||
|
- --pipe 'rpm --addsign `grep ".*: .*\.rpm$"|cut -d: -f2` < "/dev/"`ps -p $$ -o tty | tail -n 1`' \
|
||||||
|
+ --pipe "grep '.*: .*\.rpm$'|cut -d: -f2|xargs -r rpm --addsign" \
|
||||||
|
--POPTdesc=$"generate GPG signature (deprecated, use command rpmsign instead)"
|
||||||
|
# [--trace] "trace macro expansion"
|
||||||
|
rpmbuild alias --trace --eval '%trace'
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
|
|
||||||
35
bugfix-rpm-4.14.2-wait-once-get-rpmlock-fail.patch
Normal file
35
bugfix-rpm-4.14.2-wait-once-get-rpmlock-fail.patch
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
From c6699a7e90acfaa421830ce0fc12940335e40d7b Mon Sep 17 00:00:00 2001
|
||||||
|
From: shanshishi <shanshishi@huawei.com>
|
||||||
|
Date: Sun, 19 May 2019 16:49:45 +0800
|
||||||
|
Subject: [PATCH] rpm: wait once get rpmlock fail
|
||||||
|
|
||||||
|
reason: When executing the rpm command concurrently, it will block some
|
||||||
|
times, because of lock is applied before.
|
||||||
|
|
||||||
|
Signed-off-by: shanshishi <shanshishi@huawei.com>
|
||||||
|
---
|
||||||
|
lib/rpmlock.c | 5 +----
|
||||||
|
1 file changed, 1 insertion(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/rpmlock.c b/lib/rpmlock.c
|
||||||
|
index d693c4b..86e07b3 100644
|
||||||
|
--- a/lib/rpmlock.c
|
||||||
|
+++ b/lib/rpmlock.c
|
||||||
|
@@ -125,13 +125,10 @@ rpmlock rpmlockNew(const char *lock_path, const char *descr)
|
||||||
|
int rpmlockAcquire(rpmlock lock)
|
||||||
|
{
|
||||||
|
int locked = 0; /* assume failure */
|
||||||
|
- int myerrno = errno;
|
||||||
|
- int maywait = isatty(STDIN_FILENO); /* dont wait within scriptlets */
|
||||||
|
- errno = myerrno;
|
||||||
|
|
||||||
|
if (lock) {
|
||||||
|
locked = rpmlock_acquire(lock, RPMLOCK_WRITE);
|
||||||
|
- if (!locked && (lock->openmode & RPMLOCK_WRITE) && maywait) {
|
||||||
|
+ if (!locked && (lock->openmode & RPMLOCK_WRITE)) {
|
||||||
|
rpmlog(RPMLOG_WARNING, _("waiting for %s lock on %s\n"),
|
||||||
|
lock->descr, lock->path);
|
||||||
|
locked = rpmlock_acquire(lock, (RPMLOCK_WRITE|RPMLOCK_WAIT));
|
||||||
|
--
|
||||||
|
1.7.12.4
|
||||||
|
|
||||||
12
rpm-4.11.x-siteconfig.patch
Normal file
12
rpm-4.11.x-siteconfig.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up rpm-4.11.1-rc1/macros.in.siteconfig rpm-4.11.1-rc1/macros.in
|
||||||
|
--- rpm-4.11.1-rc1/macros.in.siteconfig 2013-06-07 13:19:21.000000000 +0300
|
||||||
|
+++ rpm-4.11.1-rc1/macros.in 2013-06-11 15:06:59.525747503 +0300
|
||||||
|
@@ -647,6 +647,8 @@ package or when debugging this package.\
|
||||||
|
export CLASSPATH}\
|
||||||
|
PKG_CONFIG_PATH=\"${PKG_CONFIG_PATH}:%{_libdir}/pkgconfig:%{_datadir}/pkgconfig\"\
|
||||||
|
export PKG_CONFIG_PATH\
|
||||||
|
+ CONFIG_SITE=${CONFIG_SITE:-NONE}\
|
||||||
|
+ export CONFIG_SITE\
|
||||||
|
\
|
||||||
|
%{verbose:set -x}%{!verbose:exec > /dev/null}\
|
||||||
|
umask 022\
|
||||||
18
rpm-4.12.0-rpm2cpio-hack.patch
Normal file
18
rpm-4.12.0-rpm2cpio-hack.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
diff --git a/rpm2cpio.c b/rpm2cpio.c
|
||||||
|
index 89ebdfa..ae999ff 100644
|
||||||
|
--- a/rpm2cpio.c
|
||||||
|
+++ b/rpm2cpio.c
|
||||||
|
@@ -84,7 +84,12 @@ int main(int argc, char *argv[])
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
- rc = (ufdCopy(gzdi, fdo) == payload_size) ? EXIT_SUCCESS : EXIT_FAILURE;
|
||||||
|
+ /*
|
||||||
|
+ * XXX HACK for #1142949: should be equality test, but archive size
|
||||||
|
+ * short by cpio trailer size in packages built with rpm 4.12.0
|
||||||
|
+ * and its pre-releases.
|
||||||
|
+ */
|
||||||
|
+ rc = (ufdCopy(gzdi, fdo) >= payload_size) ? EXIT_SUCCESS : EXIT_FAILURE;
|
||||||
|
|
||||||
|
Fclose(fdo);
|
||||||
|
|
||||||
95
rpm-4.13.0-fedora-specspo.patch
Normal file
95
rpm-4.13.0-fedora-specspo.patch
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
diff --git a/lib/tagexts.c b/lib/tagexts.c
|
||||||
|
index f72ff60..2c0b179 100644
|
||||||
|
--- a/lib/tagexts.c
|
||||||
|
+++ b/lib/tagexts.c
|
||||||
|
@@ -535,15 +535,6 @@ static int filerequireTag(Header h, rpmtd td, headerGetFlags hgflags)
|
||||||
|
return filedepTag(h, RPMTAG_REQUIRENAME, td, hgflags);
|
||||||
|
}
|
||||||
|
|
||||||
|
-/* I18N look aside diversions */
|
||||||
|
-
|
||||||
|
-#if defined(ENABLE_NLS)
|
||||||
|
-extern int _nl_msg_cat_cntr; /* XXX GNU gettext voodoo */
|
||||||
|
-#endif
|
||||||
|
-static const char * const language = "LANGUAGE";
|
||||||
|
-
|
||||||
|
-static const char * const _macro_i18ndomains = "%{?_i18ndomains}";
|
||||||
|
-
|
||||||
|
/**
|
||||||
|
* Retrieve i18n text.
|
||||||
|
* @param h header
|
||||||
|
@@ -554,59 +545,30 @@ static const char * const _macro_i18ndomains = "%{?_i18ndomains}";
|
||||||
|
*/
|
||||||
|
static int i18nTag(Header h, rpmTag tag, rpmtd td, headerGetFlags hgflags)
|
||||||
|
{
|
||||||
|
- int rc;
|
||||||
|
+ int rc = headerGet(h, tag, td, HEADERGET_ALLOC);
|
||||||
|
#if defined(ENABLE_NLS)
|
||||||
|
- char * dstring = rpmExpand(_macro_i18ndomains, NULL);
|
||||||
|
-
|
||||||
|
- td->type = RPM_STRING_TYPE;
|
||||||
|
- td->data = NULL;
|
||||||
|
- td->count = 0;
|
||||||
|
-
|
||||||
|
- if (dstring && *dstring) {
|
||||||
|
- char *domain, *de;
|
||||||
|
- const char * langval;
|
||||||
|
- char * msgkey;
|
||||||
|
- const char * msgid;
|
||||||
|
+ if (rc) {
|
||||||
|
+ static const char * const _macro_i18ndomains = "%{?_i18ndomains}";
|
||||||
|
+ char *de, *dstring = rpmExpand(_macro_i18ndomains, NULL);
|
||||||
|
+ const char *domain;
|
||||||
|
|
||||||
|
- rasprintf(&msgkey, "%s(%s)", headerGetString(h, RPMTAG_NAME),
|
||||||
|
- rpmTagGetName(tag));
|
||||||
|
-
|
||||||
|
- /* change to en_US for msgkey -> msgid resolution */
|
||||||
|
- langval = getenv(language);
|
||||||
|
- (void) setenv(language, "en_US", 1);
|
||||||
|
- ++_nl_msg_cat_cntr;
|
||||||
|
-
|
||||||
|
- msgid = NULL;
|
||||||
|
for (domain = dstring; domain != NULL; domain = de) {
|
||||||
|
+ const char *msgid = td->data;
|
||||||
|
+ const char *msg = NULL;
|
||||||
|
+
|
||||||
|
de = strchr(domain, ':');
|
||||||
|
if (de) *de++ = '\0';
|
||||||
|
- msgid = dgettext(domain, msgkey);
|
||||||
|
- if (msgid != msgkey) break;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- /* restore previous environment for msgid -> msgstr resolution */
|
||||||
|
- if (langval)
|
||||||
|
- (void) setenv(language, langval, 1);
|
||||||
|
- else
|
||||||
|
- unsetenv(language);
|
||||||
|
- ++_nl_msg_cat_cntr;
|
||||||
|
-
|
||||||
|
- if (domain && msgid) {
|
||||||
|
- td->data = dgettext(domain, msgid);
|
||||||
|
- td->data = xstrdup(td->data); /* XXX xstrdup has side effects. */
|
||||||
|
- td->count = 1;
|
||||||
|
- td->flags = RPMTD_ALLOCED;
|
||||||
|
+ msg = dgettext(domain, td->data);
|
||||||
|
+ if (msg != msgid) {
|
||||||
|
+ free(td->data);
|
||||||
|
+ td->data = xstrdup(msg);
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
- dstring = _free(dstring);
|
||||||
|
- free(msgkey);
|
||||||
|
- if (td->data)
|
||||||
|
- return 1;
|
||||||
|
+ free(dstring);
|
||||||
|
}
|
||||||
|
-
|
||||||
|
- free(dstring);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
- rc = headerGet(h, tag, td, HEADERGET_ALLOC);
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
15
rpm-4.13.90-ldflags.patch
Normal file
15
rpm-4.13.90-ldflags.patch
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
diff -up rpm-4.9.1.1/macros.in.jx rpm-4.9.1.1/macros.in
|
||||||
|
--- rpm-4.9.1.1/macros.in.jx 2011-08-03 16:19:05.000000000 -0400
|
||||||
|
+++ rpm-4.9.1.1/macros.in 2011-08-08 09:41:52.981064316 -0400
|
||||||
|
@@ -674,9 +674,10 @@ print (t)\
|
||||||
|
RPM_SOURCE_DIR=\"%{u2p:%{_sourcedir}}\"\
|
||||||
|
RPM_BUILD_DIR=\"%{u2p:%{_builddir}}\"\
|
||||||
|
RPM_OPT_FLAGS=\"%{optflags}\"\
|
||||||
|
+ RPM_LD_FLAGS=\"%{?__global_ldflags}\"\
|
||||||
|
RPM_ARCH=\"%{_arch}\"\
|
||||||
|
RPM_OS=\"%{_os}\"\
|
||||||
|
- export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS\
|
||||||
|
+ export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_LD_FLAGS RPM_ARCH RPM_OS\
|
||||||
|
RPM_DOC_DIR=\"%{_docdir}\"\
|
||||||
|
export RPM_DOC_DIR\
|
||||||
|
RPM_PACKAGE_NAME=\"%{NAME}\"\
|
||||||
BIN
rpm-4.14.2.tar.bz2
Normal file
BIN
rpm-4.14.2.tar.bz2
Normal file
Binary file not shown.
14
rpm-4.7.1-geode-i686.patch
Normal file
14
rpm-4.7.1-geode-i686.patch
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
diff --git a/rpmrc.in b/rpmrc.in
|
||||||
|
index 4a6cca9..d62ddaf 100644
|
||||||
|
--- a/rpmrc.in
|
||||||
|
+++ b/rpmrc.in
|
||||||
|
@@ -281,7 +281,7 @@ arch_compat: alphaev5: alpha
|
||||||
|
arch_compat: alpha: axp noarch
|
||||||
|
|
||||||
|
arch_compat: athlon: i686
|
||||||
|
-arch_compat: geode: i586
|
||||||
|
+arch_compat: geode: i686
|
||||||
|
arch_compat: pentium4: pentium3
|
||||||
|
arch_compat: pentium3: i686
|
||||||
|
arch_compat: i686: i586
|
||||||
|
|
||||||
12
rpm-4.8.1-use-gpg2.patch
Normal file
12
rpm-4.8.1-use-gpg2.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up rpm-4.8.1/macros.in.gpg2 rpm-4.8.1/macros.in
|
||||||
|
--- rpm-4.8.0/macros.in.gpg2 2011-01-17 12:17:38.000000000 +0200
|
||||||
|
+++ rpm-4.8.0/macros.in 2011-01-17 12:17:59.000000000 +0200
|
||||||
|
@@ -40,7 +40,7 @@
|
||||||
|
%__cp @__CP@
|
||||||
|
%__cpio @__CPIO@
|
||||||
|
%__file @__FILE@
|
||||||
|
-%__gpg @__GPG@
|
||||||
|
+%__gpg /usr/bin/gpg2
|
||||||
|
%__grep @__GREP@
|
||||||
|
%__gzip @__GZIP@
|
||||||
|
%__id @__ID@
|
||||||
12
rpm-4.9.90-no-man-dirs.patch
Normal file
12
rpm-4.9.90-no-man-dirs.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up rpm-4.9.90.git11486/scripts/find-lang.sh.no-man-dirs rpm-4.9.90.git11486/scripts/find-lang.sh
|
||||||
|
--- rpm-4.9.90.git11486/scripts/find-lang.sh.no-man-dirs 2012-03-07 11:31:10.000000000 +0200
|
||||||
|
+++ rpm-4.9.90.git11486/scripts/find-lang.sh 2012-03-07 15:11:57.465801075 +0200
|
||||||
|
@@ -181,7 +181,7 @@ s:%lang(C) ::
|
||||||
|
find "$TOP_DIR" -type d|sed '
|
||||||
|
s:'"$TOP_DIR"'::
|
||||||
|
'"$ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+/\)::
|
||||||
|
-'"$ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+$\):%lang(\2) \1*:
|
||||||
|
+'"$ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+$\):%lang(\2) \1/*:
|
||||||
|
s:^\([^%].*\)::
|
||||||
|
s:%lang(C) ::
|
||||||
|
/^$/d' >> $MO_NAME
|
||||||
279
rpm.spec
Normal file
279
rpm.spec
Normal file
@ -0,0 +1,279 @@
|
|||||||
|
Name: rpm
|
||||||
|
Version: 4.14.2
|
||||||
|
Release: 3
|
||||||
|
Summary: RPM Package Manager
|
||||||
|
License: GPLv2+
|
||||||
|
URL: http://www.rpm.org/
|
||||||
|
Source0: http://ftp.rpm.org/releases/rpm-4.14.x/%{name}-%{version}.tar.bz2
|
||||||
|
|
||||||
|
Patch1: rpm-4.11.x-siteconfig.patch
|
||||||
|
Patch2: rpm-4.13.0-fedora-specspo.patch
|
||||||
|
Patch3: rpm-4.9.90-no-man-dirs.patch
|
||||||
|
Patch4: rpm-4.8.1-use-gpg2.patch
|
||||||
|
Patch5: rpm-4.12.0-rpm2cpio-hack.patch
|
||||||
|
Patch6: 0001-find-debuginfo.sh-decompress-DWARF-compressed-ELF-se.patch
|
||||||
|
Patch906: rpm-4.7.1-geode-i686.patch
|
||||||
|
Patch907: rpm-4.13.90-ldflags.patch
|
||||||
|
|
||||||
|
Patch6000: bugfix-rpm-4.11.3-add-aarch64_ilp32-arch.patch
|
||||||
|
Patch6001: bugfix-rpm-4.14.2-fix-tty-failed.patch
|
||||||
|
Patch6002: 0001-Fix-ancient-python-GIL-locking-bug-on-callback-RhBug.patch
|
||||||
|
Patch6003: 0002-Resurrect-long-since-broken-Lua-library-path.patch
|
||||||
|
Patch6004: 0003-Fix-nasty-setperms-setugids-regression-in-4.14.2-RhB.patch
|
||||||
|
|
||||||
|
Patch9000: bugfix-rpm-4.14.2-wait-once-get-rpmlock-fail.patch
|
||||||
|
|
||||||
|
BuildRequires: gcc autoconf automake libtool make gawk popt-devel openssl-devel readline-devel libdb-devel openEuler-rpm-config
|
||||||
|
BuildRequires: zlib-devel libzstd-devel xz-devel bzip2-devel libarchive-devel ima-evm-utils-devel
|
||||||
|
BuildRequires: dbus-devel fakechroot elfutils-devel elfutils-libelf-devel
|
||||||
|
BuildRequires: lua-devel libcap-devel libacl-devel libselinux-devel file-devel gettext-devel ncurses-devel
|
||||||
|
Requires: coreutils popt curl zstd libcap gnupg2 crontabs logrotate libdb-utils
|
||||||
|
Obsoletes: %{name}-libs %{name}-build-libs %{name}-sign-libs %{name}-sign %{name}-cron
|
||||||
|
Provides: %{name}-libs %{name}-build-libs %{name}-sign-libs %{name}-sign %{name}-cron
|
||||||
|
Obsoletes: %{name}-plugin-selinux %{name}-plugin-syslog %{name}-plugin-systemd-inhibit %{name}-plugin-ima %{name}-plugin-prioreset
|
||||||
|
Provides: %{name}-plugin-selinux %{name}-plugin-syslog %{name}-plugin-systemd-inhibit %{name}-plugin-ima %{name}-plugin-prioreset
|
||||||
|
|
||||||
|
%description
|
||||||
|
The RPM Package Manager (RPM) is a powerful package management system capability as below
|
||||||
|
|
||||||
|
-building computer software from source into easily distributable packages
|
||||||
|
-installing, updating and uninstalling packaged software
|
||||||
|
-querying detailed information about the packaged software, whether installed or not
|
||||||
|
-verifying integrity of packaged software and resulting software installation
|
||||||
|
|
||||||
|
%package build
|
||||||
|
Summary: Scripts and executable programs used to build packages
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
Requires: elfutils binutils findutils sed grep gawk diffutils file patch
|
||||||
|
Requires: tar unzip gzip bzip2 cpio xz zstd pkgconfig system-rpm-config
|
||||||
|
|
||||||
|
%description build
|
||||||
|
This package provides scripts and executable programs that used to
|
||||||
|
build rpm packages.
|
||||||
|
|
||||||
|
%package -n python2-%{name}
|
||||||
|
Summary: Python2 bindings for RPM user
|
||||||
|
BuildRequires: python2-devel
|
||||||
|
%{?python_provide:%python_provide python2-%{name}}
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
Provides: %{name}-python = %{version}-%{release}
|
||||||
|
Obsoletes: %{name}-python < %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n python2-%{name}
|
||||||
|
This package contains a module that allow applications
|
||||||
|
written with Python2 to use the interface
|
||||||
|
supplied by RPM.
|
||||||
|
|
||||||
|
%package -n python3-%{name}
|
||||||
|
Summary: Python3 bindings for RPM user
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
%{?python_provide:%python_provide python3-%{name}}
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
Provides: %{name}-python3 = %{version}-%{release}
|
||||||
|
Obsoletes: %{name}-python3 < %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n python3-%{name}
|
||||||
|
This package contains a module that allow applications
|
||||||
|
written with Python3 to use the interface
|
||||||
|
supplied by RPM.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files for RPM handling
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
Requires: popt-devel
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
%package help
|
||||||
|
Summary: Man page for %{name}
|
||||||
|
BuildArch: noarch
|
||||||
|
Obsoletes: apidocs
|
||||||
|
|
||||||
|
%description help
|
||||||
|
%{summary}.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -n %{name}-%{version} -p1
|
||||||
|
|
||||||
|
sed -ie 's:^python test:python2 test:g' tests/rpmtests tests/local.at
|
||||||
|
|
||||||
|
%build
|
||||||
|
CPPFLAGS="$CPPFLAGS -DLUA_COMPAT_APIINTCASTS"
|
||||||
|
CFLAGS="$RPM_OPT_FLAGS -DLUA_COMPAT_APIINTCASTS"
|
||||||
|
LDFLAGS="$LDFLAGS %{?__global_ldflags}"
|
||||||
|
export CPPFLAGS CFLAGS LDFLAGS
|
||||||
|
|
||||||
|
autoreconf -i -f
|
||||||
|
|
||||||
|
for i in $(find . -name ltmain.sh) ; do
|
||||||
|
%{__sed} -i.backup -e 's~compiler_flags=$~compiler_flags="%{_hardened_ldflags}"~' $i
|
||||||
|
done;
|
||||||
|
|
||||||
|
./configure \
|
||||||
|
--prefix=%{_usr} \
|
||||||
|
--sysconfdir=%{_sysconfdir} \
|
||||||
|
--localstatedir=%{_var} \
|
||||||
|
--sharedstatedir=%{_var}/lib \
|
||||||
|
--libdir=%{_libdir} \
|
||||||
|
--build=%{_target_platform} \
|
||||||
|
--host=%{_target_platform} \
|
||||||
|
--with-vendor=%{_vendor} \
|
||||||
|
--with-external-db \
|
||||||
|
--with-lua \
|
||||||
|
--with-selinux \
|
||||||
|
--with-cap \
|
||||||
|
--with-acl \
|
||||||
|
--with-imaevm \
|
||||||
|
--enable-zstd \
|
||||||
|
--enable-python \
|
||||||
|
--with-crypto=openssl
|
||||||
|
|
||||||
|
%make_build
|
||||||
|
|
||||||
|
pushd python
|
||||||
|
%{__python2} setup.py build
|
||||||
|
%{__python3} setup.py build
|
||||||
|
popd
|
||||||
|
|
||||||
|
%install
|
||||||
|
%make_install
|
||||||
|
|
||||||
|
pushd python
|
||||||
|
%{__python2} setup.py install --skip-build --root $RPM_BUILD_ROOT
|
||||||
|
%{__python3} setup.py install --skip-build --root $RPM_BUILD_ROOT
|
||||||
|
popd
|
||||||
|
|
||||||
|
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.daily
|
||||||
|
install -m 755 scripts/rpm.daily ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.daily/rpm
|
||||||
|
|
||||||
|
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d
|
||||||
|
install -m 644 scripts/rpm.log ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/rpm
|
||||||
|
|
||||||
|
mkdir -p ${RPM_BUILD_ROOT}/usr/lib/tmpfiles.d
|
||||||
|
echo "r /var/lib/rpm/__db.*" > ${RPM_BUILD_ROOT}/usr/lib/tmpfiles.d/rpm.conf
|
||||||
|
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpm
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_rpmconfigdir}/macros.d
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/var/lib/rpm
|
||||||
|
|
||||||
|
for dbi in \
|
||||||
|
Basenames Conflictname Dirnames Group Installtid Name Obsoletename \
|
||||||
|
Packages Providename Requirename Triggername Sha1header Sigmd5 \
|
||||||
|
__db.001 __db.002 __db.003 __db.004 __db.005 __db.006 __db.007 \
|
||||||
|
__db.008 __db.009
|
||||||
|
do
|
||||||
|
touch $RPM_BUILD_ROOT/var/lib/rpm/$dbi
|
||||||
|
done
|
||||||
|
|
||||||
|
%find_lang %{name}
|
||||||
|
|
||||||
|
find $RPM_BUILD_ROOT -name "*.la"|xargs rm -f
|
||||||
|
|
||||||
|
rm -f $RPM_BUILD_ROOT/%{_rpmconfigdir}/{perldeps.pl,perl.*,pythond*}
|
||||||
|
rm -f $RPM_BUILD_ROOT/%{_fileattrsdir}/{perl*,python*}
|
||||||
|
rm -f $RPM_BUILD_ROOT/%{_rpmconfigdir}/{tcl.req,osgideps.pl}
|
||||||
|
|
||||||
|
chmod a-x $RPM_BUILD_ROOT/%{_rpmconfigdir}/python-macro-helper
|
||||||
|
|
||||||
|
%check
|
||||||
|
make check || cat tests/rpmtests.log
|
||||||
|
|
||||||
|
%post -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%files -f %{name}.lang
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%license COPYING
|
||||||
|
%doc CREDITS
|
||||||
|
/usr/lib/tmpfiles.d/rpm.conf
|
||||||
|
%{_sysconfdir}/cron.daily/rpm
|
||||||
|
%config(noreplace) %{_sysconfdir}/logrotate.d/rpm
|
||||||
|
%dir %{_sysconfdir}/rpm
|
||||||
|
%dir /var/lib/rpm
|
||||||
|
%attr(0644, root, root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/lib/rpm/*
|
||||||
|
%lang(fr) %{_mandir}/fr/man[18]/*.[18]*
|
||||||
|
%lang(ko) %{_mandir}/ko/man[18]/*.[18]*
|
||||||
|
%lang(ja) %{_mandir}/ja/man[18]/*.[18]*
|
||||||
|
%lang(pl) %{_mandir}/pl/man[18]/*.[18]*
|
||||||
|
%lang(ru) %{_mandir}/ru/man[18]/*.[18]*
|
||||||
|
%lang(sk) %{_mandir}/sk/man[18]/*.[18]*
|
||||||
|
|
||||||
|
%attr(0755, root, root) %dir %{_rpmconfigdir}
|
||||||
|
%{_rpmconfigdir}/macros
|
||||||
|
%{_rpmconfigdir}/macros.d
|
||||||
|
%{_rpmconfigdir}/rpmpopt*
|
||||||
|
%{_rpmconfigdir}/rpmrc
|
||||||
|
%{_rpmconfigdir}/rpmdb_*
|
||||||
|
%{_rpmconfigdir}/rpm.daily
|
||||||
|
%{_rpmconfigdir}/rpm.log
|
||||||
|
%{_rpmconfigdir}/rpm.supp
|
||||||
|
%{_rpmconfigdir}/rpm2cpio.sh
|
||||||
|
%{_rpmconfigdir}/tgpg
|
||||||
|
%{_rpmconfigdir}/python-macro-helper
|
||||||
|
%{_rpmconfigdir}/platform
|
||||||
|
%{_libdir}/librpm*.so.*
|
||||||
|
%{_libdir}/rpm-plugins/
|
||||||
|
%dir %{_rpmconfigdir}/fileattrs
|
||||||
|
%{_bindir}/rpm
|
||||||
|
%{_bindir}/rpm2archive
|
||||||
|
%{_bindir}/rpm2cpio
|
||||||
|
%{_bindir}/rpmdb
|
||||||
|
%{_bindir}/rpmkeys
|
||||||
|
%{_bindir}/rpmquery
|
||||||
|
%{_bindir}/rpmverify
|
||||||
|
%{_bindir}/rpmsign
|
||||||
|
|
||||||
|
%files build
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%{_bindir}/rpmbuild
|
||||||
|
%{_bindir}/gendiff
|
||||||
|
%{_bindir}/rpmspec
|
||||||
|
|
||||||
|
%{_rpmconfigdir}/brp-*
|
||||||
|
%{_rpmconfigdir}/check-*
|
||||||
|
%{_rpmconfigdir}/debugedit
|
||||||
|
%{_rpmconfigdir}/sepdebugcrcfix
|
||||||
|
%{_rpmconfigdir}/find-debuginfo.sh
|
||||||
|
%{_rpmconfigdir}/find-lang.sh
|
||||||
|
%{_rpmconfigdir}/*provides*
|
||||||
|
%{_rpmconfigdir}/*requires*
|
||||||
|
%{_rpmconfigdir}/*deps*
|
||||||
|
%{_rpmconfigdir}/*.prov
|
||||||
|
%{_rpmconfigdir}/*.req
|
||||||
|
%{_rpmconfigdir}/config.*
|
||||||
|
%{_rpmconfigdir}/mkinstalldirs
|
||||||
|
%{_rpmconfigdir}/macros.p*
|
||||||
|
%{_rpmconfigdir}/fileattrs/*
|
||||||
|
|
||||||
|
%files -n python2-%{name}
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%{python2_sitearch}/%{name}/
|
||||||
|
%{python2_sitearch}/%{name}-%{version}*.egg-info
|
||||||
|
|
||||||
|
%files -n python3-%{name}
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%{python3_sitearch}/%{name}/
|
||||||
|
%{python3_sitearch}/%{name}-%{version}*.egg-info
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%{_bindir}/rpmgraph
|
||||||
|
%{_libdir}/librp*[a-z].so
|
||||||
|
%{_libdir}/pkgconfig/%{name}.pc
|
||||||
|
%{_includedir}/%{name}/
|
||||||
|
|
||||||
|
%files help
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%doc doc/manual/[a-z]*
|
||||||
|
%doc doc/librpm/html/*
|
||||||
|
%{_mandir}/man8/rpm*.8*
|
||||||
|
%{_mandir}/man1/gendiff.1*
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Fri Sep 20 2019 openEuler Buildteam <buildteam@openeuler.org> - 4.14.2-3
|
||||||
|
- Delete redundant information
|
||||||
|
|
||||||
|
* Mon Sep 09 2019 openEuler Buildteam <buildteam@openeuler.org> - 4.14.2-2
|
||||||
|
- Package init
|
||||||
Loading…
x
Reference in New Issue
Block a user