1
0
forked from pool/xfsdump

Accepting request 623940 from home:jeff_mahoney:branches:filesystems

- xfsdump: rename READ/WRITE macros in rmtlib (bsc#1093014).
  * Added xfsdump-rename-READ-WRITE-macros-in-rmtlib.patch.

- Updated source location and keyring to kernel.org archives
  - Requires dependency on xz for SLE11
- Update to version 3.1.8:
  - common/main.c: Include <locale.h>
  - common/types.h: explicitly define NBBY (bits per byte)
  - cleanup: Kill __[u]int*_t types
  - dump/var.c: Include <limits.h> for PATH_MAX
  - librmt/rmtopen: Prefer <signal.h> over <sys/signal.h>
  - common/main.c: Replace nonstandard SIGCLD by SIGCHLD
  - dump/content.c: Include <linux/limits.h> for XATTR_LIST_MAX
  - invutil/invidx: include <fcntl.h> for O_CREAT
- Update to version 3.1.7:
  - xfsdump: fix race condition between lseek() and read()/write()
  - xfsdump: Fix memory leak
  - fix build on 32-bit platforms
    * Removed xfsdump-fix-build-on-32-bit-platforms.patch
  - xfsdump: handle bind mount targets

OBS-URL: https://build.opensuse.org/request/show/623940
OBS-URL: https://build.opensuse.org/package/show/filesystems/xfsdump?expand=0&rev=28
This commit is contained in:
Jeff Mahoney 2018-07-20 00:14:19 +00:00 committed by Git OBS Bridge
parent 8d1d702852
commit 0b42fbd3bd
9 changed files with 531 additions and 136 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7f78c11ca527477d90e5e62b0778f3ad96f2b71c19173044e9aca9515fff42d0
size 848698

Binary file not shown.

17
xfsdump-3.1.8.tar.sign Normal file
View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
iQIcBAABAgAGBQJZxC5dAAoJECCuFpLhPd7gf+IP/3UhY3o7xLOozky62FdTzNT6
APBKPKR5s4KxsRWHlBV6bYu56ECKGmNL/DWIQwvs0v7qiOWYogdfB3t93ilwWvUW
za+45xLMJxphBVHwSz/ZkupvslBZLc3+fT6zTjGAAhhD2U6fkCpAjd6m+fIkNneu
FKk+xI+k2w/sHtoormY55Qye3vjigDrXXXRbndVPLurKaPZtf460aoGzMVHAysFI
dw95kjdzb/0+hbxrzUEw2jcOEewUK9sRRSXjihXOQyrJ8I82bd9uFgzB6XQTQ5j3
asjyVeiwIGPv/mUZG12MWW12BgqbqIzdcq/imXbKf+FYdD1HZ85FwBNDHRyiEGUv
RbrUTWFZlMqQutTjZVDX6bLvbfsXbAjk5ar/LVhod4/jFYbac40ZY2NNBspL9yBF
ITosyBsIcjIH3K1vs0hFoPZJtGkOoboJpMASK7KOAzoiIBr10ul6fmv3W1H7Iaxr
jupLxkLoWamZxa71Zi6/jOL1X3FzDFlgo1g329y8Pg4soZlt+x0oswQuOIsH0SyX
sS/cN4UPw1Uo8bPRCEu/61Xvok8TeqixOa0EZGRdrGHK18dtCa17PwKCoYQWLEze
3E/y5R46ZyvuX9I8Qq/xyTVjXJUA1oP1ZKa0R+r9EfjzBaqGeG2e0PJd1Mo1m6sX
dzrgjY+q9T0QJTxWu7BM
=PKGC
-----END PGP SIGNATURE-----

3
xfsdump-3.1.8.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ed14e67ae5b273c2698e767b43a46f033d361e540fe13feaaf9b110ee0edc585
size 603304

View File

@ -1,32 +0,0 @@
From: Eric Sandeen <sandeen@sandeen.net>
Subject: xfsdump: fix build on 32-bit platforms
Patch-mainlne: Submitted to linux-xfs, 17 Feb 2017
Now that xfsprogs requires anyone using the headers to
properly define 64-bit file access, xfsdump has stopped
building on 32-bit platforms.
I think this is all it needs; works for me here.
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Acked-by: Jeff Mahoney <jeffm@suse.com>
---
cc: Eric Biggers because he seems to enjoy this stuff :)
configure.ac | 2 ++
1 file changed, 2 insertions(+)
diff --git a/configure.ac b/configure.ac
index 7bb6f1d..8d78ed4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6,6 +6,8 @@ AC_CONFIG_SRCDIR([common/main.c])
AC_CONFIG_HEADER(include/config.h)
AC_PREFIX_DEFAULT(/usr)
+AC_SYS_LARGEFILE
+
AC_PROG_LIBTOOL
AC_ARG_ENABLE(shared,

View File

@ -0,0 +1,187 @@
From 952e08444913f28bca4acb309afa20fc054e8e46 Mon Sep 17 00:00:00 2001
From: jeffm <jeffm@suse.com>
Date: Wed, 18 Jul 2018 22:49:15 -0400
Subject: [PATCH] xfsdump: rename READ/WRITE macros in rmtlib
References: bsc#1093014
xfsprogs commit 2be9e939868 (linux.h: include <linux/fs.h>) did what it
advertised. Unfortunately, the kernel's fs.h defines READ and WRITE as
0 and 1, and prior to the uapi split in v3.7, that file would get installed
directly as <linux/fs.h>.
As a result, on systems with older kernels, we get build failures like:
rmtioctl.c:303: error: called object '0' is not a function
This patch renames READ/WRITE to READER/WRITER to avoid the naming
collision.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
---
librmt/rmtabort.c | 8 ++++----
librmt/rmtcommand.c | 2 +-
librmt/rmtfstat.c | 4 ++--
librmt/rmtioctl.c | 2 +-
librmt/rmtlib.h | 8 ++++----
librmt/rmtopen.c | 2 +-
librmt/rmtread.c | 2 +-
librmt/rmtstatus.c | 4 ++--
librmt/rmtwrite.c | 2 +-
9 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/librmt/rmtabort.c b/librmt/rmtabort.c
index a7db4b1..df296ea 100644
--- a/librmt/rmtabort.c
+++ b/librmt/rmtabort.c
@@ -30,10 +30,10 @@
void _rmt_abort(int fildes)
{
- close(READ(fildes));
- close(WRITE(fildes));
- READ(fildes) = -1;
- WRITE(fildes) = -1;
+ close(READER(fildes));
+ close(WRITER(fildes));
+ READER(fildes) = -1;
+ WRITER(fildes) = -1;
RMTHOST(fildes) = -1;
_rmt_msg(RMTDBG, "rmtabort(%d)\n", fildes);
}
diff --git a/librmt/rmtcommand.c b/librmt/rmtcommand.c
index 82c9032..87bb2e2 100644
--- a/librmt/rmtcommand.c
+++ b/librmt/rmtcommand.c
@@ -45,7 +45,7 @@ char *buf;
*/
blen = strlen(buf);
- if (write(WRITE(fildes), buf, blen) == blen)
+ if (write(WRITER(fildes), buf, blen) == blen)
{
return(0);
}
diff --git a/librmt/rmtfstat.c b/librmt/rmtfstat.c
index 92a49d7..69d1277 100644
--- a/librmt/rmtfstat.c
+++ b/librmt/rmtfstat.c
@@ -78,7 +78,7 @@ _rmt_fstat(int fildes, char *arg)
for (; adj_rc > 0; adj_rc -= cnt, arg += cnt)
{
- cnt = read(READ(fildes), arg, adj_rc);
+ cnt = read(READER(fildes), arg, adj_rc);
if (cnt <= 0)
{
abortit:
@@ -90,7 +90,7 @@ abortit:
/* handle any bytes we didn't know what to do with */
while (rc-- > 0)
- if (read(READ(fildes), buffer, 1) <= 0)
+ if (read(READER(fildes), buffer, 1) <= 0)
goto abortit;
return(0);
diff --git a/librmt/rmtioctl.c b/librmt/rmtioctl.c
index bd6f887..576c09a 100644
--- a/librmt/rmtioctl.c
+++ b/librmt/rmtioctl.c
@@ -300,7 +300,7 @@ _rmt_ioctl(int fildes, unsigned int op, void *arg)
/* read in all the data */
ssize = rc;
for (; ssize > 0; ssize -= cnt, p += cnt) {
- cnt = read(READ(fildes), p, ssize);
+ cnt = read(READER(fildes), p, ssize);
if (cnt <= 0) {
_rmt_abort(fildes);
setoserror( EIO );
diff --git a/librmt/rmtlib.h b/librmt/rmtlib.h
index 1f877ca..631a48b 100644
--- a/librmt/rmtlib.h
+++ b/librmt/rmtlib.h
@@ -49,8 +49,8 @@
/*
* Useful macros.
*
- * READ --- Return the number of the read side file descriptor
- * WRITE --- Return the number of the write side file descriptor
+ * READER --- Return the number of the read side file descriptor
+ * WRITER --- Return the number of the write side file descriptor
* RMTHOST --- Return an id which says host type from uname
*/
@@ -58,8 +58,8 @@
#define RMTWARN 1
#define RMTDBG 2 /* includes warning */
-#define READ(fd) (_rmt_Ctp[fd][0])
-#define WRITE(fd) (_rmt_Ptc[fd][1])
+#define READER(fd) (_rmt_Ctp[fd][0])
+#define WRITER(fd) (_rmt_Ptc[fd][1])
#define RMTHOST(fd) (_rmt_host[fd])
#define RSH_PATH "/usr/bin/rsh"
diff --git a/librmt/rmtopen.c b/librmt/rmtopen.c
index 09ba3e4..5af1380 100644
--- a/librmt/rmtopen.c
+++ b/librmt/rmtopen.c
@@ -115,7 +115,7 @@ static int _rmt_open (char *path, int oflag, int mode)
*/
for (i = 0; i < MAXUNIT; i++)
- if (READ(i) == -1 && WRITE(i) == -1)
+ if (READER(i) == -1 && WRITER(i) == -1)
break;
if (i == MAXUNIT)
diff --git a/librmt/rmtread.c b/librmt/rmtread.c
index 3456901..1af9319 100644
--- a/librmt/rmtread.c
+++ b/librmt/rmtread.c
@@ -64,7 +64,7 @@ static int _rmt_read(int fildes, char *buf, unsigned int nbyte)
for (i = 0; i < rc; i += nbyte, buf += nbyte)
{
- nbyte = read(READ(fildes), buf, rc);
+ nbyte = read(READER(fildes), buf, rc);
if (nbyte <= 0)
{
_rmt_abort(fildes);
diff --git a/librmt/rmtstatus.c b/librmt/rmtstatus.c
index 21d909d..9016491 100644
--- a/librmt/rmtstatus.c
+++ b/librmt/rmtstatus.c
@@ -44,7 +44,7 @@ int fildes;
for (i = 0, cp = buffer; i < BUFMAGIC; i++, cp++)
{
- if (read(READ(fildes), cp, 1) != 1)
+ if (read(READER(fildes), cp, 1) != 1)
{
_rmt_abort(fildes);
setoserror( EIO );
@@ -75,7 +75,7 @@ int fildes;
if (*cp == 'E' || *cp == 'F')
{
setoserror( atoi(cp + 1) );
- while (read(READ(fildes), &c, 1) == 1)
+ while (read(READER(fildes), &c, 1) == 1)
if (c == '\n')
break;
diff --git a/librmt/rmtwrite.c b/librmt/rmtwrite.c
index 9e5a1a3..826fce3 100644
--- a/librmt/rmtwrite.c
+++ b/librmt/rmtwrite.c
@@ -61,7 +61,7 @@ static int _rmt_write(int fildes, char *buf, unsigned int nbyte)
if (_rmt_command(fildes, buffer) == -1)
return(-1);
- if (write(WRITE(fildes), buf, nbyte) == nbyte)
+ if (write(WRITER(fildes), buf, nbyte) == nbyte)
{
return(_rmt_status(fildes));
}
--
1.7.12.4

View File

@ -1,3 +1,30 @@
-------------------------------------------------------------------
Thu Jul 19 03:04:12 UTC 2018 - jeffm@suse.com
- xfsdump: rename READ/WRITE macros in rmtlib (bsc#1093014).
* Added xfsdump-rename-READ-WRITE-macros-in-rmtlib.patch.
-------------------------------------------------------------------
Wed Jul 18 21:54:04 UTC 2018 - jeffm@suse.com
- Updated source location and keyring to kernel.org archives
- Requires dependency on xz for SLE11
- Update to version 3.1.8:
- common/main.c: Include <locale.h>
- common/types.h: explicitly define NBBY (bits per byte)
- cleanup: Kill __[u]int*_t types
- dump/var.c: Include <limits.h> for PATH_MAX
- librmt/rmtopen: Prefer <signal.h> over <sys/signal.h>
- common/main.c: Replace nonstandard SIGCLD by SIGCHLD
- dump/content.c: Include <linux/limits.h> for XATTR_LIST_MAX
- invutil/invidx: include <fcntl.h> for O_CREAT
- Update to version 3.1.7:
- xfsdump: fix race condition between lseek() and read()/write()
- xfsdump: Fix memory leak
- fix build on 32-bit platforms
* Removed xfsdump-fix-build-on-32-bit-platforms.patch
- xfsdump: handle bind mount targets
------------------------------------------------------------------- -------------------------------------------------------------------
Wed May 31 19:29:27 UTC 2017 - jeffm@suse.com Wed May 31 19:29:27 UTC 2017 - jeffm@suse.com

View File

@ -1,98 +1,293 @@
-----BEGIN PGP PUBLIC KEY BLOCK----- -----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2 Comment: GPGTools - http://gpgtools.org
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
=DGQa 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
Qb8+xdjMo4eP/RlAIo6wkzXg0wwILyCQ417i16Q=
=mKV3
-----END PGP PUBLIC KEY BLOCK----- -----END PGP PUBLIC KEY BLOCK-----

View File

@ -1,7 +1,7 @@
# #
# spec file for package xfsdump # spec file for package xfsdump
# #
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -17,17 +17,17 @@
Name: xfsdump Name: xfsdump
Version: 3.1.6 Version: 3.1.8
Release: 0 Release: 0
Summary: Administrative Utilities for the XFS File System Summary: Administrative Utilities for the XFS File System
License: GPL-2.0+ License: GPL-2.0-or-later
Group: System/Filesystems Group: System/Filesystems
Url: http://xfs.org Url: http://xfs.org
Source0: ftp://oss.sgi.com/projects/xfs/cmd_tars/xfsdump-%{version}.tar.gz Source0: https://www.kernel.org/pub/linux/utils/fs/xfs/xfsdump/xfsdump-%{version}.tar.xz
Source1: ftp://oss.sgi.com/projects/xfs/cmd_tars/xfsdump-%{version}.tar.gz.sig Source1: https://www.kernel.org/pub/linux/utils/fs/xfs/xfsdump/xfsdump-%{version}.tar.sign
Source2: %{name}.keyring Source2: %{name}.keyring
Patch0: xfsdump-docdir.diff Patch0: xfsdump-docdir.diff
Patch1: xfsdump-fix-build-on-32-bit-platforms.patch Patch1: xfsdump-rename-READ-WRITE-macros-in-rmtlib.patch
BuildRequires: autoconf BuildRequires: autoconf
BuildRequires: automake BuildRequires: automake
BuildRequires: e2fsprogs-devel BuildRequires: e2fsprogs-devel
@ -35,6 +35,7 @@ BuildRequires: libattr-devel
BuildRequires: libtool BuildRequires: libtool
BuildRequires: ncurses-devel BuildRequires: ncurses-devel
BuildRequires: xfsprogs-devel BuildRequires: xfsprogs-devel
BuildRequires: xz
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description %description