Accepting request 340718 from Base:System
1 OBS-URL: https://build.opensuse.org/request/show/340718 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rpm?expand=0&rev=237
This commit is contained in:
commit
aedbf96775
54
nfs-blocksize-free.patch
Normal file
54
nfs-blocksize-free.patch
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
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
|
||||||
|
|
@ -237,6 +237,7 @@
|
|||||||
|
|
||||||
%run_ldconfig /sbin/ldconfig
|
%run_ldconfig /sbin/ldconfig
|
||||||
|
|
||||||
|
# for %post
|
||||||
%install_info(:-:) \
|
%install_info(:-:) \
|
||||||
ALL_ARGS=(%{**}) \
|
ALL_ARGS=(%{**}) \
|
||||||
NUM_ARGS=${#ALL_ARGS[@]} \
|
NUM_ARGS=${#ALL_ARGS[@]} \
|
||||||
@ -246,12 +247,12 @@
|
|||||||
fi \
|
fi \
|
||||||
fi ;
|
fi ;
|
||||||
|
|
||||||
|
# for %preun
|
||||||
%install_info_delete(:-:) \
|
%install_info_delete(:-:) \
|
||||||
ALL_ARGS=(%{**}) \
|
test -n "$FIRST_ARG" || FIRST_ARG=$1 \
|
||||||
NUM_ARGS=${#ALL_ARGS[@]} \
|
|
||||||
if test -x /sbin/install-info ; then \
|
if test -x /sbin/install-info ; then \
|
||||||
if ! test -e "${ALL_ARGS[$((NUM_ARGS-1))]}" ; then \
|
if [ "$FIRST_ARG" = 0 ]; then \
|
||||||
/sbin/install-info --quiet --delete "${ALL_ARGS[@]}" \
|
/sbin/install-info --quiet --delete %{**} \
|
||||||
fi ; \
|
fi ; \
|
||||||
fi ;
|
fi ;
|
||||||
|
|
||||||
|
12
rpm.changes
12
rpm.changes
@ -1,3 +1,15 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Oct 17 10:34:53 UTC 2015 - schwab@linux-m68k.org
|
||||||
|
|
||||||
|
- %install_info_delete: only delete if package is removed
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 1 14:35:04 UTC 2015 - fvogt@suse.com
|
||||||
|
|
||||||
|
- Add nfs-blocksize-free.patch:
|
||||||
|
* Blocksize of NFS shouldn't be used directly
|
||||||
|
- Fixes bsc#894610 and bsc#829717
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Sep 21 07:43:58 UTC 2015 - schwab@suse.de
|
Mon Sep 21 07:43:58 UTC 2015 - schwab@suse.de
|
||||||
|
|
||||||
|
2
rpm.spec
2
rpm.spec
@ -132,6 +132,7 @@ 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
|
||||||
Patch6464: auto-config-update-aarch64-ppc64le.diff
|
Patch6464: auto-config-update-aarch64-ppc64le.diff
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
#
|
#
|
||||||
@ -226,6 +227,7 @@ rm -f rpmdb/db.h
|
|||||||
%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
|
||||||
%patch97 -p1
|
%patch97 -p1
|
||||||
|
%patch98 -p1
|
||||||
|
|
||||||
%ifarch aarch64 ppc64le
|
%ifarch aarch64 ppc64le
|
||||||
%patch6464
|
%patch6464
|
||||||
|
Loading…
Reference in New Issue
Block a user