Rebase to rpm 4.14.0-rc2

This commit is contained in:
Panu Matilainen 2017-09-28 17:16:34 +03:00
parent 822c26c12e
commit 4e78f8672e
4 changed files with 7 additions and 57 deletions

1
.gitignore vendored
View File

@ -25,3 +25,4 @@
/rpm-4.13.0.1.tar.bz2
/rpm-4.13.90-git14002.tar.bz2
/rpm-4.14.0-rc1.tar.bz2
/rpm-4.14.0-rc2.tar.bz2

View File

@ -1,53 +0,0 @@
From 90802a894ad75df3a94edbe66a901fca006e65ee Mon Sep 17 00:00:00 2001
Message-Id: <90802a894ad75df3a94edbe66a901fca006e65ee.1505741312.git.pmatilai@redhat.com>
From: Panu Matilainen <pmatilai@redhat.com>
Date: Mon, 18 Sep 2017 16:10:03 +0300
Subject: [PATCH] Fix Ftell() past 2GB on 32bit architectures (RhBug:1492587)
Back in 2011 "somebody" forgot to apply brain when copying the return
type of "long" from ftell() to the Ftell() implementations within rpmio
(commit 61f5838aa849b8a75f7f08a33c868b518e1ccd44).
Fast-forward six years and suddenly TexLive in Fedora no longer builds
on 32bit architectures due to that thinko, appearing to be a regression
in commit 7d1a303c456ce459cf550e8154fa4b6f29012b05. However that only
exposes the inner flaw of Ftell() as the code now relies on values
past the initial header range, for which the 2G of "long" has been more
than enough on 32bit architectures too.
Doh, dude...
diff --git a/rpmio/rpmio.c b/rpmio/rpmio.c
index 57e610185..d8b884085 100644
--- a/rpmio/rpmio.c
+++ b/rpmio/rpmio.c
@@ -124,7 +124,7 @@ typedef int (*fdio_close_function_t) (FDSTACK_t fps);
typedef FD_t (*fdio_open_function_t) (const char * path, int flags, mode_t mode);
typedef FD_t (*fdio_fdopen_function_t) (FD_t fd, int fdno, const char * fmode);
typedef int (*fdio_fflush_function_t) (FDSTACK_t fps);
-typedef long (*fdio_ftell_function_t) (FDSTACK_t fps);
+typedef off_t (*fdio_ftell_function_t) (FDSTACK_t fps);
typedef int (*fdio_ferror_function_t) (FDSTACK_t fps);
typedef const char * (*fdio_fstrerr_function_t)(FDSTACK_t fps);
@@ -410,7 +410,7 @@ static FD_t fdOpen(const char *path, int flags, mode_t mode)
return fd;
}
-static long fdTell(FDSTACK_t fps)
+static off_t fdTell(FDSTACK_t fps)
{
return lseek(fps->fdno, 0, SEEK_CUR);
}
@@ -619,7 +619,7 @@ static int gzdClose(FDSTACK_t fps)
return (rc != 0) ? -1 : 0;
}
-static long gzdTell(FDSTACK_t fps)
+static off_t gzdTell(FDSTACK_t fps)
{
off_t pos = -1;
gzFile gzfile = fps->fp;
--
2.13.5

View File

@ -26,7 +26,7 @@
%define rpmhome /usr/lib/rpm
%global rpmver 4.14.0
%global snapver rc1
%global snapver rc2
%global srcver %{version}%{?snapver:-%{snapver}}
%global srcdir %{?snapver:testing}%{!?snapver:%{name}-%(echo %{version} | cut -d'.' -f1-2).x}
@ -37,7 +37,7 @@
Summary: The RPM package management system
Name: rpm
Version: %{rpmver}
Release: %{?snapver:0.%{snapver}.}3%{?dist}
Release: %{?snapver:0.%{snapver}.}1%{?dist}
Group: System Environment/Base
Url: http://www.rpm.org/
Source0: http://ftp.rpm.org/releases/%{srcdir}/%{name}-%{srcver}.tar.bz2
@ -60,7 +60,6 @@ Patch4: rpm-4.8.1-use-gpg2.patch
Patch5: rpm-4.12.0-rpm2cpio-hack.patch
# Patches already upstream:
Patch100: 0001-Fix-Ftell-past-2GB-on-32bit-architectures-RhBug-1492.patch
# These are not yet upstream
Patch906: rpm-4.7.1-geode-i686.patch
@ -628,6 +627,9 @@ make check
%doc doc/librpm/html/*
%changelog
* Thu Sep 28 2017 Panu Matilainen <pmatilai@redhat.com> - 4.14.0-0.rc2.1
- Rebase to rpm 4.14.0-rc2 (http://rpm.org/wiki/Releases/4.14.0)
* Mon Sep 18 2017 Panu Matilainen <pmatilai@redhat.com> - 4.14.0-0.rc1.3
- Fix Ftell() past 2GB on 32bit architectures (#1492587)

View File

@ -1 +1 @@
SHA512 (rpm-4.14.0-rc1.tar.bz2) = f08c948c566e695083daeca2b9bac0e542821e12503c0d6fca4b1fd0584f74505ed24b48544147ec98290c65ee50807d9c2a9e7e35ef30ee77122bd1037a8375
SHA512 (rpm-4.14.0-rc2.tar.bz2) = b244eda033de8f4e04ffafbcb6279f35eb832a883f00b115afc77ac4684c54937f7c071689a33bb94cc343336894c6b5dec772dc34ad38d57f2d702d0bb9ff0d