Accepting request 393284 from Base:System
- work around bug in rpm's macro expandsion OBS-URL: https://build.opensuse.org/request/show/393284 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rpm?expand=0&rev=239
This commit is contained in:
commit
aa87bb3f14
27
enable-postin-scripts-error.diff
Normal file
27
enable-postin-scripts-error.diff
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
--- ./lib/psm.c.orig 2016-04-21 13:22:27.901033751 +0000
|
||||||
|
+++ ./lib/psm.c 2016-04-21 13:23:45.324742853 +0000
|
||||||
|
@@ -285,7 +285,9 @@ static rpmRC runScript(rpmts ts, rpmte t
|
||||||
|
int warn_only = (stag != RPMTAG_PREIN &&
|
||||||
|
stag != RPMTAG_PREUN &&
|
||||||
|
stag != RPMTAG_PRETRANS &&
|
||||||
|
- stag != RPMTAG_VERIFYSCRIPT);
|
||||||
|
+ stag != RPMTAG_VERIFYSCRIPT &&
|
||||||
|
+ !(stag == RPMTAG_POSTIN &&
|
||||||
|
+ rpmExpandNumeric("%{_fail_on_postinstall_errors}")));
|
||||||
|
|
||||||
|
sfd = rpmtsNotify(ts, te, RPMCALLBACK_SCRIPT_START, stag, 0);
|
||||||
|
if (sfd == NULL)
|
||||||
|
--- ./macros.in.orig 2016-04-21 13:21:58.933142657 +0000
|
||||||
|
+++ ./macros.in 2016-04-21 13:22:27.902033748 +0000
|
||||||
|
@@ -1327,6 +1327,11 @@ end}
|
||||||
|
%{-S:%{expand:%__scm_setup_%{-S*} %{!-v:-q}}}\
|
||||||
|
%{!-N:%autopatch %{-v} %{-p:-p%{-p*}}}
|
||||||
|
|
||||||
|
+# Should errors in %post scriptlet be propagated as errors?
|
||||||
|
+#
|
||||||
|
+# Note: set to 1 for legacy compatibility.
|
||||||
|
+%_fail_on_postinstall_errors 0
|
||||||
|
+
|
||||||
|
# \endverbatim
|
||||||
|
#*/
|
||||||
|
|
@ -287,7 +287,7 @@
|
|||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# arch macro for all supported Sparc processors
|
# arch macro for all supported Sparc processors
|
||||||
@@ -1127,3 +1313,26 @@ end}
|
@@ -1127,3 +1313,24 @@ end}
|
||||||
|
|
||||||
# \endverbatim
|
# \endverbatim
|
||||||
#*/
|
#*/
|
||||||
@ -306,8 +306,6 @@
|
|||||||
+%{nil}
|
+%{nil}
|
||||||
+
|
+
|
||||||
+%service_add() %{fillup_and_insserv %{1}}
|
+%service_add() %{fillup_and_insserv %{1}}
|
||||||
+%service_del_preun() %{stop_on_removal %{1}}
|
|
||||||
+%service_del_postun() %{restart_on_update %{1}}
|
|
||||||
+
|
+
|
||||||
+%user_group_add() \
|
+%user_group_add() \
|
||||||
+/usr/sbin/groupadd -r %{1} 2>/dev/null || :\
|
+/usr/sbin/groupadd -r %{1} 2>/dev/null || :\
|
||||||
|
@ -1,54 +0,0 @@
|
|||||||
From 07f6674286467f82adf0d370b8d12d72aee6817c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Fabian Vogt <fvogt@suse.com>
|
|
||||||
Date: Mon, 28 Sep 2015 18:21:19 +0200
|
|
||||||
Subject: [PATCH] Blocksize of NFS shouldn't be used directly
|
|
||||||
|
|
||||||
RPM uses the blocksize to calculate whether an RPM
|
|
||||||
can be installed on the system. For NFS this fails
|
|
||||||
for e.g. glibc-locale as it has many small files,
|
|
||||||
which rpm counts as one block. As huge NFS block
|
|
||||||
sizes (>= 1MiB) are common, this makes glibc-locale
|
|
||||||
roughly 7 GiB in installed size.
|
|
||||||
|
|
||||||
As a workaround, if the NFS block size is > 4096,
|
|
||||||
assume 4096 and scale the count of free blocks
|
|
||||||
accordingly.
|
|
||||||
|
|
||||||
See also RH bug 847960
|
|
||||||
|
|
||||||
Signed-off-by: Fabian Vogt <fvogt@suse.com>
|
|
||||||
---
|
|
||||||
lib/transaction.c | 10 ++++++++++
|
|
||||||
1 file changed, 10 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/lib/transaction.c b/lib/transaction.c
|
|
||||||
index 8167640..d8d8820 100644
|
|
||||||
--- a/lib/transaction.c
|
|
||||||
+++ b/lib/transaction.c
|
|
||||||
@@ -6,6 +6,8 @@
|
|
||||||
|
|
||||||
#include <inttypes.h>
|
|
||||||
|
|
||||||
+#include <linux/magic.h> /* NFS_SUPER_MAGIC */
|
|
||||||
+
|
|
||||||
#include <rpm/rpmlib.h> /* rpmMachineScore, rpmReadPackageFile */
|
|
||||||
#include <rpm/rpmmacro.h> /* XXX for rpmExpand */
|
|
||||||
#include <rpm/rpmlog.h>
|
|
||||||
@@ -137,6 +139,14 @@ static rpmDiskSpaceInfo rpmtsCreateDSI(const rpmts ts, dev_t dev,
|
|
||||||
/* XXX assigning negative value to unsigned type */
|
|
||||||
dsi->iavail = !(sfb.f_ffree == 0 && sfb.f_files == 0)
|
|
||||||
? sfb.f_ffree : -1;
|
|
||||||
+
|
|
||||||
+ /* We can't tell the block size of a network file system.
|
|
||||||
+ * sfb.f_bsize would be the network layer's block size. */
|
|
||||||
+ if(sfb.f_type == NFS_SUPER_MAGIC && dsi->bsize > 4096) {
|
|
||||||
+ int64_t old_bsize = dsi->bsize;
|
|
||||||
+ dsi->bsize = 4096; /* Assume 4k block size */
|
|
||||||
+ dsi->bavail *= old_bsize / dsi->bsize;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
/* Find mount point belonging to this device number */
|
|
||||||
resolved_path = realpath(dirName, mntPoint);
|
|
||||||
--
|
|
||||||
2.5.2
|
|
||||||
|
|
16
normalize_blocksize.diff
Normal file
16
normalize_blocksize.diff
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
--- ./lib/transaction.c.orig 2016-04-21 12:21:53.649740302 +0000
|
||||||
|
+++ ./lib/transaction.c 2016-04-21 12:28:00.821356311 +0000
|
||||||
|
@@ -134,6 +134,13 @@ static rpmDiskSpaceInfo rpmtsCreateDSI(c
|
||||||
|
dsi->iavail = !(sfb.f_ffree == 0 && sfb.f_files == 0)
|
||||||
|
? sfb.f_ffree : -1;
|
||||||
|
|
||||||
|
+ /* normalize block size to 4096 bytes if it is too big. */
|
||||||
|
+ if (dsi->bsize > 4096) {
|
||||||
|
+ uint64_t old_size = dsi->bavail * dsi->bsize;
|
||||||
|
+ dsi->bsize = 4096; /* Assume 4k block size */
|
||||||
|
+ dsi->bavail = old_size / dsi->bsize;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/* Find mount point belonging to this device number */
|
||||||
|
resolved_path = realpath(dirName, mntPoint);
|
||||||
|
if (!resolved_path) {
|
@ -1,7 +1,5 @@
|
|||||||
Index: rpm-4.12.0.1/luaext/lposix.c
|
--- luaext/lposix.c
|
||||||
===================================================================
|
+++ luaext/lposix.c
|
||||||
--- rpm-4.12.0.1.orig/luaext/lposix.c
|
|
||||||
+++ rpm-4.12.0.1/luaext/lposix.c
|
|
||||||
@@ -361,22 +361,35 @@ static int Pfork(lua_State *L) /** for
|
@@ -361,22 +361,35 @@ static int Pfork(lua_State *L) /** for
|
||||||
|
|
||||||
static int Pwait(lua_State *L) /** wait([pid]) */
|
static int Pwait(lua_State *L) /** wait([pid]) */
|
||||||
|
@ -21,36 +21,9 @@
|
|||||||
/usr/lib/rpm/brp-suse \
|
/usr/lib/rpm/brp-suse \
|
||||||
%{nil}
|
%{nil}
|
||||||
|
|
||||||
# macro: %restart_on_update()
|
%restart_on_update() %{expand::%%service_del_postun %{?**}}
|
||||||
# Used to restart a service in postun section, if we are
|
%stop_on_removal() %{expand:%%service_del_preun %{?**}}
|
||||||
# not running from YaST2 in instsys on update.
|
|
||||||
%restart_on_update() \
|
|
||||||
test -n "$FIRST_ARG" || FIRST_ARG=$1 \
|
|
||||||
if test "$FIRST_ARG" -ge 1 ; then \
|
|
||||||
test -f /etc/sysconfig/services && . /etc/sysconfig/services \
|
|
||||||
if test "$YAST_IS_RUNNING" != "instsys" -a "$DISABLE_RESTART_ON_UPDATE" != yes ; then \
|
|
||||||
test -x /bin/systemctl && /bin/systemctl daemon-reload >/dev/null 2>&1 || : \
|
|
||||||
for service in %{?*} ; do \
|
|
||||||
test -x /bin/systemctl && /bin/systemctl try-restart $service >/dev/null 2>&1 || : \
|
|
||||||
done \
|
|
||||||
fi \
|
|
||||||
fi \
|
|
||||||
%nil
|
|
||||||
|
|
||||||
# macro: %stop_on_removal()
|
|
||||||
# Used to stop a service in preun section, if we are
|
|
||||||
# not running from YaST2 in instsys on removal of this package.
|
|
||||||
%stop_on_removal() \
|
|
||||||
test -n "$FIRST_ARG" || FIRST_ARG=$1 \
|
|
||||||
if test "$FIRST_ARG" = "0" ; then \
|
|
||||||
test -f /etc/sysconfig/services && . /etc/sysconfig/services \
|
|
||||||
if test "$YAST_IS_RUNNING" != "instsys" -a "$DISABLE_STOP_ON_REMOVAL" != yes ; then \
|
|
||||||
for service in %{?*} ; do \
|
|
||||||
test -x /bin/systemctl && /bin/systemctl stop $service >/dev/null 2>&1 || : \
|
|
||||||
done \
|
|
||||||
fi \
|
|
||||||
fi \
|
|
||||||
%nil
|
|
||||||
# macro: %configure_kernel_source
|
# macro: %configure_kernel_source
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
24
rpm.changes
24
rpm.changes
@ -1,3 +1,27 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 2 13:50:24 CEST 2016 - mls@suse.de
|
||||||
|
|
||||||
|
- work around bug in rpm's macro expandsion [bnc#969381]
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 21 15:08:22 CEST 2016 - mls@suse.de
|
||||||
|
|
||||||
|
- tweak rpm-4.12.0.1-lua-5.3.patch so that it does not need
|
||||||
|
the -p1 option
|
||||||
|
- add option to make postinstall scriptlet errors fatal
|
||||||
|
[bnc#967728]
|
||||||
|
new patch: enable-postin-scripts-error.diff
|
||||||
|
- rework nfs-blocksize-free.patch to always normalize big
|
||||||
|
blocksizes to 4096 bytes
|
||||||
|
[bnc#894610] [bnc#829717] [bnc#965322]
|
||||||
|
removed patch: nfs-blocksize-free.patch
|
||||||
|
new patch: normalize_blocksize.diff
|
||||||
|
- drop service_del_preun, service_del_postun macros, they are
|
||||||
|
provided by the systemd package
|
||||||
|
- change restart_on_update and stop_on_removal macros to use
|
||||||
|
service_del_preun and service_del_postun
|
||||||
|
[bnc#968405] [bnc#969381]
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Jan 15 19:20:15 UTC 2016 - stefan.bruens@rwth-aachen.de
|
Fri Jan 15 19:20:15 UTC 2016 - stefan.bruens@rwth-aachen.de
|
||||||
|
|
||||||
|
7
rpm.spec
7
rpm.spec
@ -133,7 +133,8 @@ Patch94: checksepwarn.diff
|
|||||||
Patch95: fixsizeforbigendian.diff
|
Patch95: fixsizeforbigendian.diff
|
||||||
Patch96: modalias-no-kgraft.diff
|
Patch96: modalias-no-kgraft.diff
|
||||||
Patch97: rpm-4.12.0.1-lua-5.3.patch
|
Patch97: rpm-4.12.0.1-lua-5.3.patch
|
||||||
Patch98: nfs-blocksize-free.patch
|
Patch98: normalize_blocksize.diff
|
||||||
|
Patch99: enable-postin-scripts-error.diff
|
||||||
Patch6464: auto-config-update-aarch64-ppc64le.diff
|
Patch6464: auto-config-update-aarch64-ppc64le.diff
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
#
|
#
|
||||||
@ -227,9 +228,7 @@ rm -f rpmdb/db.h
|
|||||||
%patch -P 60 -P 61 -P 65 -P 66 -P 67 -P 68 -P 69
|
%patch -P 60 -P 61 -P 65 -P 66 -P 67 -P 68 -P 69
|
||||||
%patch -P 70 -P 71 -P 73 -P 74 -P 75 -P 76 -P 77 -P 78 -P 79
|
%patch -P 70 -P 71 -P 73 -P 74 -P 75 -P 76 -P 77 -P 78 -P 79
|
||||||
%patch -P 85
|
%patch -P 85
|
||||||
%patch -P 92 -P 93 -P 94 -P 95 -P 96
|
%patch -P 92 -P 93 -P 94 -P 95 -P 96 -P 97 -P 98 -P 99
|
||||||
%patch97 -p1
|
|
||||||
%patch98 -p1
|
|
||||||
|
|
||||||
%ifarch aarch64 ppc64le
|
%ifarch aarch64 ppc64le
|
||||||
%patch6464
|
%patch6464
|
||||||
|
Loading…
Reference in New Issue
Block a user