Fri Aug 24 19:04:59 2012 UTC ()
pkgtools/rpm2pkg: Fix broken zlib 1.26+ support

gzFile wasn't used currently.  Trying to build rpm2pkg on zlib 1.27
exposed the misuse.  rpm2pkg should build on all version of zlib now.


(marino)
diff -r1.59 -r1.60 pkgsrc/pkgtools/rpm2pkg/Makefile
diff -r1.1 -r1.2 pkgsrc/pkgtools/rpm2pkg/files/fileio-zlib.c

cvs diff -r1.59 -r1.60 pkgsrc/pkgtools/rpm2pkg/Makefile (switch to unified diff)

--- pkgsrc/pkgtools/rpm2pkg/Makefile 2011/04/12 22:36:11 1.59
+++ pkgsrc/pkgtools/rpm2pkg/Makefile 2012/08/24 19:04:58 1.60
@@ -1,44 +1,45 @@ @@ -1,44 +1,45 @@
1# $NetBSD: Makefile,v 1.59 2011/04/12 22:36:11 tron Exp $ 1# $NetBSD: Makefile,v 1.60 2012/08/24 19:04:58 marino Exp $
2 2
3DISTNAME= rpm2pkg-3.2.2 3DISTNAME= rpm2pkg-3.2.2
4CATEGORIES= pkgtools 4CATEGORIES= pkgtools
 5PKGREVISION= 1
5MASTER_SITES= # empty 6MASTER_SITES= # empty
6DISTFILES= # empty 7DISTFILES= # empty
7NO_CHECKSUM= yes 8NO_CHECKSUM= yes
8 9
9OWNER= tron@NetBSD.org 10OWNER= tron@NetBSD.org
10HOMEPAGE= http://www.pkgsrc.org/ 11HOMEPAGE= http://www.pkgsrc.org/
11COMMENT= Convert RPM archives to NetBSD packages 12COMMENT= Convert RPM archives to NetBSD packages
12LICENSE= modified-bsd 13LICENSE= modified-bsd
13 14
14CONFLICTS+= suse-base<=6.4 15CONFLICTS+= suse-base<=6.4
15 16
16PKG_DESTDIR_SUPPORT= user-destdir 17PKG_DESTDIR_SUPPORT= user-destdir
17 18
18MANCOMPRESSED_IF_MANZ= yes 19MANCOMPRESSED_IF_MANZ= yes
19USE_BSD_MAKEFILE= yes 20USE_BSD_MAKEFILE= yes
20USE_LANGUAGES= c99 21USE_LANGUAGES= c99
21 22
22MAKE_ENV+= FILESDIR=${FILESDIR:Q} 23MAKE_ENV+= FILESDIR=${FILESDIR:Q}
23MAKE_FILE= ${FILESDIR}/Makefile 24MAKE_FILE= ${FILESDIR}/Makefile
24WRKSRC= ${WRKDIR} 25WRKSRC= ${WRKDIR}
25 26
26INSTALLATION_DIRS= ${PKGMANDIR}/man8 sbin 27INSTALLATION_DIRS= ${PKGMANDIR}/man8 sbin
27 28
28.include "../../mk/bsd.prefs.mk" 29.include "../../mk/bsd.prefs.mk"
29 30
30.if defined(PKG_DEVELOPER) && ${PKG_DEVELOPER} != "no" 31.if defined(PKG_DEVELOPER) && ${PKG_DEVELOPER} != "no"
31MAKE_ENV+= WARNS=4 32MAKE_ENV+= WARNS=4
32.else 33.else
33MAKE_ENV+= NOGCCERROR=yes 34MAKE_ENV+= NOGCCERROR=yes
34.endif 35.endif
35 36
36do-install: 37do-install:
37 ${INSTALL_PROGRAM} ${WRKSRC}/rpm2pkg ${DESTDIR}${PREFIX}/sbin 38 ${INSTALL_PROGRAM} ${WRKSRC}/rpm2pkg ${DESTDIR}${PREFIX}/sbin
38 ${INSTALL_MAN} ${FILESDIR}/rpm2pkg.8 \ 39 ${INSTALL_MAN} ${FILESDIR}/rpm2pkg.8 \
39 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man8 40 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man8
40 41
41.include "../../archivers/bzip2/buildlink3.mk" 42.include "../../archivers/bzip2/buildlink3.mk"
42.include "../../archivers/xz/buildlink3.mk" 43.include "../../archivers/xz/buildlink3.mk"
43.include "../../devel/zlib/buildlink3.mk" 44.include "../../devel/zlib/buildlink3.mk"
44.include "../../mk/bsd.pkg.mk" 45.include "../../mk/bsd.pkg.mk"

cvs diff -r1.1 -r1.2 pkgsrc/pkgtools/rpm2pkg/files/fileio-zlib.c (switch to unified diff)

--- pkgsrc/pkgtools/rpm2pkg/files/fileio-zlib.c 2011/01/12 00:26:33 1.1
+++ pkgsrc/pkgtools/rpm2pkg/files/fileio-zlib.c 2012/08/24 19:04:59 1.2
@@ -1,68 +1,68 @@ @@ -1,68 +1,68 @@
1/*- 1/*-
2 * Copyright (c) 2011 The NetBSD Foundation, Inc. 2 * Copyright (c) 2011 The NetBSD Foundation, Inc.
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
5 * This code is derived from software contributed to The NetBSD Foundation 5 * This code is derived from software contributed to The NetBSD Foundation
6 * by Matthias Scheler. 6 * by Matthias Scheler.
7 * 7 *
8 * Redistribution and use in source and binary forms, with or without 8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions 9 * modification, are permitted provided that the following conditions
10 * are met: 10 * are met:
11 * 1. Redistributions of source code must retain the above copyright 11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer. 12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright 13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the 14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution. 15 * documentation and/or other materials provided with the distribution.
16 * 16 *
17 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 17 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
18 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 18 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 20 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
21 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 * POSSIBILITY OF SUCH DAMAGE. 27 * POSSIBILITY OF SUCH DAMAGE.
28 */ 28 */
29 29
30#define FILEIO_INTERNAL /**/ 30#define FILEIO_INTERNAL /**/
31 31
32#include "fileio.h" 32#include "fileio.h"
33 33
34#include <zlib.h> 34#include <zlib.h>
35 35
36static void 36static void
37ZLibCloseFunc(FileHandle *fh) 37ZLibCloseFunc(FileHandle *fh)
38{ 38{
39 gzFile *mygzfile = fh->fh_InstData; 39 gzFile mygzfile = fh->fh_InstData;
40 if (mygzfile != NULL) 40 if (mygzfile != NULL)
41 (void)gzclose(mygzfile); 41 (void)gzclose(mygzfile);
42} 42}
43 43
44static ssize_t 44static ssize_t
45ZLibReadFunc(FileHandle *fh, void *buffer, size_t bytes) 45ZLibReadFunc(FileHandle *fh, void *buffer, size_t bytes)
46{ 46{
47 gzFile *mygzfile = fh->fh_InstData; 47 gzFile mygzfile = fh->fh_InstData;
48 return gzread(mygzfile, buffer, bytes); 48 return gzread(mygzfile, buffer, bytes);
49} 49}
50 50
51FileHandle * 51FileHandle *
52FileHandleZLib(int *fd_p) 52FileHandleZLib(int *fd_p)
53{ 53{
54 FileHandle *fh; 54 FileHandle *fh;
55 55
56 fh = FileHandleCreate(ZLibCloseFunc, ZLibReadFunc, 0); 56 fh = FileHandleCreate(ZLibCloseFunc, ZLibReadFunc, 0);
57 if (fh != NULL) { 57 if (fh != NULL) {
58 fh->fh_InstData = gzdopen(*fd_p, "r"); 58 fh->fh_InstData = gzdopen(*fd_p, "r");
59 if (fh->fh_InstData != NULL) { 59 if (fh->fh_InstData != NULL) {
60 *fd_p = -1; 60 *fd_p = -1;
61 } else { 61 } else {
62 FileHandleClose(fh); 62 FileHandleClose(fh);
63 fh = NULL; 63 fh = NULL;
64 } 64 }
65 } 65 }
66 66
67 return fh; 67 return fh;
68} 68}