Attached is a patch for misc/rpm that brings it up to the latest stable release.

Based on a conversation with Marc Espie at the beginning of July, he did not mind me taking over maintenance of this port.

--
David Cantrell <david.l.cantr...@gmail.com>
WH6DSN | http://blog.burdell.org/
Index: Makefile
===================================================================
RCS file: /cvs/ports/misc/rpm/Makefile,v
retrieving revision 1.24
diff -u -p -u -r1.24 Makefile
--- Makefile    17 Apr 2011 18:23:19 -0000      1.24
+++ Makefile    6 Sep 2011 20:33:38 -0000
@@ -1,44 +1,72 @@
-# $OpenBSD: Makefile,v 1.24 2011/04/17 18:23:19 jasper Exp $
+# $OpenBSD$
 
-COMMENT =      redhat package manager
+COMMENT =           Red Hat package manager
 
-DISTNAME =     rpm-3.0.6
-REVISION =     5
-SHARED_LIBS =  rpm             0.1 \
-               rpmbuild        0.0
-CATEGORIES =   misc archivers emulators
-
-PERMIT_DISTFILES_FTP = Yes
-PERMIT_DISTFILES_CDROM =       Yes
-PERMIT_PACKAGE_FTP =   Yes
-PERMIT_PACKAGE_CDROM = Yes
-
-
-MAINTAINER =   Marc Espie <es...@openbsd.org>
-
-HOMEPAGE =     http://www.rpm.org/
-MASTER_SITES = 
ftp://ftp.mirrorservice.org/sites/ftp.rpm.org/pub/rpm/dist/rpm-3.0.x/ \
-               ftp://ftp.rpm.org/pub/rpm/dist/rpm-3.0.x/
-
-MODULES =      devel/gettext
-WANTLIB +=     bz2 c popt z
-LIB_DEPENDS += archivers/bzip2 \
-               devel/popt
-
-USE_LIBTOOL =          Yes
-USE_GROFF =            Yes
-CONFIGURE_STYLE =      gnu
-MODGNU_CONFIG_GUESS_DIRS =     ${WRKSRC} ${WRKSRC}/popt
-
-RPM_INTEL =            RPMS/i386
-SUBST_VARS =           RPM_INTEL
-
-# Enforce check for pgp, so no build-time depend is needed
-CONFIGURE_ENV =                PGPBIN=$(LOCALBASE)/bin/pgp
-CONFIGURE_ENV +=       CPPFLAGS=-I${LOCALBASE}/include
-CONFIGURE_ENV +=       LDFLAGS="-L${LOCALBASE}/lib -liconv"
-CONFIGURE_ENV +=       varprefix=/var
-
-SEPARATE_BUILD =       simple
+DISTNAME =          rpm-4.9.1.1
+EXTRACT_SUFX =      .tar.bz2
+CATEGORIES =        misc archivers emulators
+HOMEPAGE =          http://www.rpm.org/
+MAINTAINER =        David Cantrell <david.l.cantr...@gmail.com>
+
+SHARED_LIBS +=      rpm                       1.0 \
+                    rpmbuild                  1.0 \
+                    rpmio                     0.0 \
+                    rpmsign                   0.0
+
+# GPLv2+
+PERMIT_PACKAGE_CDROM = Yes
+PERMIT_PACKAGE_FTP = Yes
+PERMIT_DISTFILES_CDROM = Yes
+PERMIT_DISTFILES_FTP = Yes
+
+MASTER_SITES =      http://rpm.org/releases/rpm-4.9.x/
+
+WANTLIB +=          bz2 c db lua lzma m magic nspr4 nss3 nssutil3 plc4 \
+                    plds4 popt pthread util z ${MODPY_WANTLIB}
+
+MODULES =           devel/gettext \
+                    lang/python
+RUN_DEPENDS =       security/gnupg
+LIB_DEPENDS =       ${MODPY_LIB_DEPENDS} \
+                    archivers/xz \
+                    databases/db/v4 \
+                    devel/libmagic \
+                    devel/popt \
+                    lang/lua \
+                    security/nss
+
+MODPY_SETUPTOOLS =  No
+
+SEPARATE_BUILD =    simple
+USE_GMAKE =         Yes
+USE_LIBTOOL =       Yes
+AUTOCONF_VERSION =  2.68
+AUTOMAKE_VERSION =  1.11
+CONFIGURE_STYLE =   automake autoconf gnu
+CONFIGURE_ARGS +=   --localstatedir=/var \
+                    --enable-static=yes \
+                    --with-external-db \
+                    --enable-python \
+                    --with-lua \
+                    --without-hackingdocs
+
+RPM_CPPFLAGS =      -I${LOCALBASE}/include \
+                    -I${LOCALBASE}/include/db4 \
+                    -I${LOCALBASE}/include/nspr \
+                    -I${LOCALBASE}/include/nss
+RPM_LDFLAGS =       -L${LOCALBASE}/lib \
+                    -L${LOCALBASE}/lib/db4 \
+                    -L${LOCALBASE}/python${MODPY_VERSION}/config
+CONFIGURE_ENV +=    varprefix=/usr \
+                    PYTHON_VERSION=${MODPY_VERSION} \
+                    GPG=${LOCALBASE}/bin/gpg \
+                    CPPFLAGS="${RPM_CPPFLAGS}" \
+                    LDFLAGS="${RPM_LDFLAGS}"
+
+post-install:
+       ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/rpm
+.for d in CHANGES COPYING CREDITS ChangeLog GROUPS README
+               ${INSTALL_DATA} ${WRKSRC}/$d ${PREFIX}/share/doc/rpm/$d
+.endfor
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/misc/rpm/distinfo,v
retrieving revision 1.3
diff -u -p -u -r1.3 distinfo
--- distinfo    5 Apr 2007 17:41:08 -0000       1.3
+++ distinfo    6 Sep 2011 20:33:38 -0000
@@ -1,5 +1,5 @@
-MD5 (rpm-3.0.6.tar.gz) = cZYaeW+7BNLPIqNzN7Y9qA==
-RMD160 (rpm-3.0.6.tar.gz) = X+hVO56je8Er6it0TkjrKmo1GCI=
-SHA1 (rpm-3.0.6.tar.gz) = Fb0Xx3slKQ1bEcBmwO4aGeKI/Xg=
-SHA256 (rpm-3.0.6.tar.gz) = 8JnhW+vHVwmO2z3bt6DVzZtfpezG65VUN0ppmYHVi2A=
-SIZE (rpm-3.0.6.tar.gz) = 1646191
+MD5 (rpm-4.9.1.1.tar.bz2) = 3mTnQQchqo43etuEMM/J4g==
+RMD160 (rpm-4.9.1.1.tar.bz2) = w/Mhh5WEw9LJPEeDqgpT5ZIlU/M=
+SHA1 (rpm-4.9.1.1.tar.bz2) = ELrRCZEUSdwAdej2L5ssOyF1pn4=
+SHA256 (rpm-4.9.1.1.tar.bz2) = EjeaMLg2klMYLtKBzCNNPZTmdtZv8k6bJ3UQ1I0prhY=
+SIZE (rpm-4.9.1.1.tar.bz2) = 3498822
Index: patches/patch-Makefile_am
===================================================================
RCS file: patches/patch-Makefile_am
diff -N patches/patch-Makefile_am
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-Makefile_am   6 Sep 2011 20:33:38 -0000
@@ -0,0 +1,21 @@
+$OpenBSD$
+--- Makefile.am.orig   Wed Dec 22 06:17:20 2010
++++ Makefile.am        Tue Jun 28 12:58:13 2011
+@@ -217,14 +217,14 @@ EXTRA_DIST += rpmpopt.in
+ 
+ usrsrcdir = $(prefix)/src
+ 
+-rpmvardir = $(localstatedir)/lib/rpm
++rpmvardir = $(localstatedir)/db/rpm
+ rpmvar_DATA =
+ 
+ install-exec-hook:
+       @rm -f $(DESTDIR)$(bindir)/rpmquery
+-      @LN_S@ ../../bin/rpm $(DESTDIR)$(bindir)/rpmquery
++      @LN_S@ rpm $(DESTDIR)$(bindir)/rpmquery
+       @rm -f $(DESTDIR)$(bindir)/rpmverify
+-      @LN_S@ ../../bin/rpm $(DESTDIR)$(bindir)/rpmverify
++      @LN_S@ rpm $(DESTDIR)$(bindir)/rpmverify
+ 
+ install-data-local:
+       @case "@host_os@" in \
Index: patches/patch-Makefile_in
===================================================================
RCS file: patches/patch-Makefile_in
diff -N patches/patch-Makefile_in
--- patches/patch-Makefile_in   19 May 2010 13:45:15 -0000      1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,59 +0,0 @@
-$OpenBSD: patch-Makefile_in,v 1.3 2010/05/19 13:45:15 espie Exp $
---- Makefile.in.orig   Wed Sep 13 22:00:40 2000
-+++ Makefile.in        Wed May 19 05:28:31 2010
-@@ -167,15 +167,15 @@ SUBDIRS = intl po popt lib build misc tools scripts te
- INCLUDES = -I$(top_srcdir)/build -I$(top_srcdir)/lib -I$(top_srcdir)/popt     
@INCPATH@
- 
- 
--myldflags = -L$(top_builddir)/build -L$(top_builddir)/lib 
-L$(top_builddir)/popt
-+myldflags = -L$(top_builddir)/build -L$(top_builddir)/lib -L/usr/local/lib
- 
- # XXX libtool can/should generate dependent libs.
- # XXX solaris2.6 cannot use *.la with --all-static (downrev binutils/egcs?)
--myldadd =     $(top_builddir)/build/.libs/librpmbuild.a       
$(top_builddir)/lib/.libs/librpm.a      $(top_builddir)/popt/.libs/libpopt.a    
@INTLLIBS@ @LIBMISC@
-+myldadd =     $(top_builddir)/build/.libs/librpmbuild.a @INTLLIBS@ @LIBMISC@
- 
- 
--LDFLAGS = @LDFLAGS_STATIC@ $(myldflags)
--LDADD = $(myldadd)
-+LDFLAGS = $(myldflags)
-+LDADD = $(myldadd) -L$(top_builddir)/lib/.libs -lrpm -lpopt
- 
- rpmbindir = `echo $(bindir) | sed -e s,usr/bin,bin,`
- rpmbin_PROGRAMS = rpm
-@@ -235,7 +235,7 @@ rpmrc.in
- 
- DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
- 
--TAR = gtar
-+TAR = tar
- GZIP_ENV = --best
- SOURCES = $(rpm2cpio_SOURCES) $(rpm_SOURCES)
- OBJECTS = $(rpm2cpio_OBJECTS) $(rpm_OBJECTS)
-@@ -580,7 +580,7 @@ distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         d=$(srcdir); \
-         if test -d $$d/$$file; then \
--          cp -pr $$d/$$file $(distdir)/$$file; \
-+          cp -pr $$/$$file $(distdir)/$$file; \
-         else \
-           test -f $(distdir)/$$file \
-           || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
-@@ -597,17 +597,6 @@ distdir: $(DISTFILES)
-             || exit 1; \
-         fi; \
-       done
--build.o: build.c system.h config.h build/rpmbuild.h lib/rpmlib.h \
--      lib/rpmio.h lib/dbindex.h lib/header.h popt/popt.h \
--      lib/stringbuf.h lib/misc.h build/rpmspec.h lib/rpmmacro.h \
--      lib/rpmurl.h build.h lib/install.h
--rpm.o: rpm.c system.h config.h build/rpmbuild.h lib/rpmlib.h lib/rpmio.h \
--      lib/dbindex.h lib/header.h popt/popt.h lib/stringbuf.h \
--      lib/misc.h build/rpmspec.h lib/rpmmacro.h lib/rpmurl.h build.h \
--      lib/install.h lib/signature.h
--rpm2cpio.o: rpm2cpio.c system.h config.h lib/rpmlib.h lib/rpmio.h \
--      lib/dbindex.h lib/header.h popt/popt.h
--
- info-am:
- info: info-recursive
- dvi-am:
Index: patches/patch-build_pack_c
===================================================================
RCS file: patches/patch-build_pack_c
diff -N patches/patch-build_pack_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-build_pack_c  6 Sep 2011 20:33:38 -0000
@@ -0,0 +1,11 @@
+$OpenBSD$
+--- build/pack.c.orig  Tue Feb 15 08:03:56 2011
++++ build/pack.c       Tue Jun 28 13:39:00 2011
+@@ -8,6 +8,7 @@
+ #include <errno.h>
+ #include <netdb.h>
+ #include <time.h>
++#include <sys/wait.h>
+ 
+ #include <rpm/rpmlib.h>                       /* RPMSIGTAG*, 
rpmReadPackageFile */
+ #include <rpm/rpmts.h>
Index: patches/patch-build_parseChangelog_c
===================================================================
RCS file: patches/patch-build_parseChangelog_c
diff -N patches/patch-build_parseChangelog_c
--- patches/patch-build_parseChangelog_c        19 May 2010 13:45:15 -0000      
1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-build_parseChangelog_c,v 1.2 2010/05/19 13:45:15 espie Exp $
---- build/parseChangelog.c.orig        Wed Jun 14 14:34:28 2000
-+++ build/parseChangelog.c     Wed May 19 05:28:31 2010
-@@ -84,8 +84,10 @@ static int dateToTimet(const char * datestr, /*@out@*/
-     *secs = mktime(&time);
-     if (*secs == -1) return -1;
- 
-+#ifndef __OpenBSD__
-     /* adjust to GMT */
-     *secs += timezone;
-+#endif
- 
-     return 0;
- }
Index: patches/patch-build_parsePrep_c
===================================================================
RCS file: patches/patch-build_parsePrep_c
diff -N patches/patch-build_parsePrep_c
--- patches/patch-build_parsePrep_c     12 Jun 2000 18:49:41 -0000      1.1.1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-$OpenBSD: patch-build_parsePrep_c,v 1.1.1.1 2000/06/12 18:49:41 espie Exp $
---- build/parsePrep.c.orig     Mon Jun 12 02:10:49 2000
-+++ build/parsePrep.c  Mon Jun 12 02:16:15 2000
-@@ -4,6 +4,9 @@
- 
- #include "system.h"
- 
-+#ifdef __OpenBSD__
-+#include <libgen.h>
-+#endif
- #include <rpmbuild.h>
- #include <rpmurl.h>
- 
Index: patches/patch-configure
===================================================================
RCS file: patches/patch-configure
diff -N patches/patch-configure
--- patches/patch-configure     6 Dec 2000 09:45:02 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,60 +0,0 @@
-$OpenBSD: patch-configure,v 1.1 2000/12/06 09:45:02 espie Exp $
---- configure.orig     Wed Sep 13 21:41:59 2000
-+++ configure  Tue Dec  5 13:55:23 2000
-@@ -5675,7 +5675,7 @@ else
-   cat conftest.$ac_ext >&5
-   rm -rf conftest*
-   CATOBJEXT=.mo
--                 DATADIRNAME=lib
-+                 DATADIRNAME=share
- fi
- rm -f conftest*
-               INSTOBJEXT=.mo
-@@ -6599,47 +6599,6 @@ if test $ac_cv_header_time = yes; then
- EOF
- 
- fi
--
--
--for ac_hdr in db_185.h db1/db.h
--do
--ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
--echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:6609: checking for $ac_hdr" >&5
--if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
--else
--  cat > conftest.$ac_ext <<EOF
--#line 6614 "configure"
--#include "confdefs.h"
--#include <$ac_hdr>
--EOF
--ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:6619: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
--ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
--if test -z "$ac_err"; then
--  rm -rf conftest*
--  eval "ac_cv_header_$ac_safe=yes"
--else
--  echo "$ac_err" >&5
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  eval "ac_cv_header_$ac_safe=no"
--fi
--rm -f conftest*
--fi
--if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
--  echo "$ac_t""yes" 1>&6
--    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 
'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
--  cat >> confdefs.h <<EOF
--#define $ac_tr_hdr 1
--EOF
-- 
--else
--  echo "$ac_t""no" 1>&6
--fi
--done
- 
- for ac_hdr in fcntl.h getopt.h grp.h memory.h netdb.h pwd.h utime.h
- do
Index: patches/patch-configure_ac
===================================================================
RCS file: patches/patch-configure_ac
diff -N patches/patch-configure_ac
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-configure_ac  6 Sep 2011 20:33:38 -0000
@@ -0,0 +1,32 @@
+$OpenBSD$
+--- configure.ac.orig  Tue Aug  2 06:11:02 2011
++++ configure.ac       Fri Sep  2 09:16:31 2011
+@@ -214,14 +214,9 @@ AC_CHECK_FUNC(gethostname, [], [
+ AC_CHECK_HEADERS(poll.h)
+ 
+ AC_CHECK_HEADERS(pthread.h)
++CFLAGS="$CFLAGS -pthread"
++LDFLAGS="$LDFLAGS -pthread"
+ 
+-AC_CHECK_LIB(pthread, pthread_mutex_trylock, [], [
+-  dnl OSF 5.0 has the the symbols prefixed with __ in libpthread.
+-  AC_CHECK_LIB(pthread, __pthread_mutex_trylock, [], [
+-    AC_CHECK_LIB(thread, mutex_lock)
+-  ])
+-])
+-
+ AC_SEARCH_LIBS(aio_read, [c rt aio posix4])
+ AC_SEARCH_LIBS(dlopen, [dl])
+ 
+@@ -538,9 +533,8 @@ AS_IF([test "$enable_python" = yes],[
+     CPPFLAGS="$save_CPPFLAGS"
+     save_LIBS="$LIBS"
+     AC_SEARCH_LIBS([Py_Main],[python${PYTHON_VERSION} python],[
+-      WITH_PYTHON_LIB="$ac_res"
+-    ],[AC_MSG_ERROR([missing python library])
+-    ])
++      WITH_PYTHON_LIB="-lutil -lm $ac_res"
++    ],[AC_MSG_ERROR([missing python library])],[-lutil -lm])
+     LIBS="$save_LIBS"
+   ])
+ ],[
Index: patches/patch-lib_backend_db3_c
===================================================================
RCS file: patches/patch-lib_backend_db3_c
diff -N patches/patch-lib_backend_db3_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-lib_backend_db3_c     6 Sep 2011 20:33:38 -0000
@@ -0,0 +1,20 @@
+$OpenBSD$
+--- lib/backend/db3.c.orig     Wed Mar  2 01:40:10 2011
++++ lib/backend/db3.c  Sun Jun 26 19:46:27 2011
+@@ -6,6 +6,7 @@ static int _debug = 1; /* XXX if < 0 debugging, > 0 un
+ 
+ #include "system.h"
+ 
++#include <signal.h>
+ #include <errno.h>
+ #include <sys/wait.h>
+ 
+@@ -213,7 +214,7 @@ errxit:
+ 
+ void dbSetFSync(void *dbenv, int enable)
+ {
+-    db_env_set_func_fsync(enable ? fdatasync : fsync_disable);
++    db_env_set_func_fsync(enable ? fsync : fsync_disable);
+ }
+ 
+ int dbiSync(dbiIndex dbi, unsigned int flags)
Index: patches/patch-lib_fs_c
===================================================================
RCS file: patches/patch-lib_fs_c
diff -N patches/patch-lib_fs_c
--- patches/patch-lib_fs_c      19 May 2010 13:45:15 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,83 +0,0 @@
-$OpenBSD: patch-lib_fs_c,v 1.2 2010/05/19 13:45:15 espie Exp $
---- lib/fs.c.orig      Wed Jun 14 14:34:30 2000
-+++ lib/fs.c   Wed May 19 13:05:05 2010
-@@ -3,6 +3,73 @@
- #include <rpmlib.h>
- #include <rpmmacro.h>
- 
-+#ifdef __OpenBSD__
-+#ifdef __aix__
-+#define COMMENTCHAR '*'
-+#else
-+#define COMMENTCHAR '#'
-+#endif
-+
-+#if HAVE_STRUCT_MNTTAB 
-+static our_mntent * getmntent(FILE *filep) {
-+    static struct mnttab entry;
-+    static our_mntent item;
-+
-+    if (!fread(&entry, sizeof(entry), 1, filep)) return NULL;
-+    item.our_mntdir = entry.mt_filsys;
-+
-+    return &item;
-+}
-+#else 
-+#define getmntent internal_getmntent
-+static our_mntent *getmntent(FILE *filep) {
-+    static our_mntent item = { NULL };
-+    char buf[1024], * start;
-+    char * chptr;
-+
-+    if (item.our_mntdir) {
-+      free(item.our_mntdir);
-+    }
-+    
-+    while (fgets(buf, sizeof(buf) - 1, filep)) {
-+      /* chop off \n */
-+      buf[strlen(buf) - 1] = '\0';
-+
-+      chptr = buf;
-+      while (isspace(*chptr)) chptr++;
-+
-+      if (*chptr == COMMENTCHAR) continue;
-+
-+#     if __aix__
-+          /* aix uses a screwed up file format */
-+          if (*chptr == '/') {
-+              start = chptr;
-+              while (*chptr != ':') chptr++;
-+              *chptr = '\0';
-+              item.mnt_dir = strdup(start);
-+              return &item;
-+          }
-+#     else 
-+          while (!isspace(*chptr) && (*chptr)) chptr++;
-+          if (!*chptr) return NULL;
-+
-+          while (isspace(*chptr) && (*chptr)) chptr++;
-+          if (!*chptr) return NULL;
-+          start = chptr;
-+      
-+          while (!isspace(*chptr) && (*chptr)) chptr++;
-+          *chptr = '\0';
-+
-+          item.our_mntdir = strdup(start);
-+          return &item;
-+#     endif
-+    }
-+
-+    return NULL;
-+}
-+#endif
-+#endif
-+
- struct fsinfo {
-     /*@only@*/ const char * mntPoint;
-     dev_t dev;
-@@ -301,3 +368,5 @@ int rpmGetFilesystemUsage(const char ** fileList, int_
- 
-     return 0;
- }
-+
-+
Index: patches/patch-lib_rpmio_h
===================================================================
RCS file: patches/patch-lib_rpmio_h
diff -N patches/patch-lib_rpmio_h
--- patches/patch-lib_rpmio_h   12 Jun 2000 18:49:41 -0000      1.1.1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-$OpenBSD: patch-lib_rpmio_h,v 1.1.1.1 2000/06/12 18:49:41 espie Exp $
---- lib/rpmio.h.orig   Mon Jun 12 01:06:01 2000
-+++ lib/rpmio.h        Mon Jun 12 01:10:47 2000
-@@ -4,7 +4,9 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <dirent.h>
-+#ifndef GLOB_APPEND
- #include <glob.h>
-+#endif
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
Index: patches/patch-lib_rpmscript_c
===================================================================
RCS file: patches/patch-lib_rpmscript_c
diff -N patches/patch-lib_rpmscript_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-lib_rpmscript_c       6 Sep 2011 20:33:38 -0000
@@ -0,0 +1,11 @@
+$OpenBSD$
+--- lib/rpmscript.c.orig       Fri Jan 28 06:22:02 2011
++++ lib/rpmscript.c    Tue Jun 28 13:13:44 2011
+@@ -2,6 +2,7 @@
+ 
+ #include <errno.h>
+ #include <unistd.h>
++#include <sys/wait.h>
+ 
+ #define _RPMSQ_INTERNAL
+ #include <rpm/rpmsq.h>
Index: patches/patch-lib_transaction_c
===================================================================
RCS file: patches/patch-lib_transaction_c
diff -N patches/patch-lib_transaction_c
--- patches/patch-lib_transaction_c     12 Jun 2000 18:49:41 -0000      1.1.1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-lib_transaction_c,v 1.1.1.1 2000/06/12 18:49:41 espie Exp $
---- lib/transaction.c.orig     Mon Jun 12 01:38:08 2000
-+++ lib/transaction.c  Mon Jun 12 01:38:34 2000
-@@ -12,6 +12,10 @@
- #include "misc.h"
- #include "rpmdb.h"
- 
-+#ifdef __OpenBSD__
-+#include <sys/param.h>
-+#include <sys/mount.h>
-+#endif
- /* XXX FIXME: merge with existing (broken?) tests in system.h */
- /* portability fiddles */
- #if STATFS_IN_SYS_STATVFS
Index: patches/patch-m4_gettext_m4
===================================================================
RCS file: patches/patch-m4_gettext_m4
diff -N patches/patch-m4_gettext_m4
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-m4_gettext_m4 6 Sep 2011 20:33:38 -0000
@@ -0,0 +1,11 @@
+$OpenBSD$
+--- m4/gettext.m4.orig Fri Dec 10 05:47:14 2010
++++ m4/gettext.m4      Tue Jun 28 12:20:42 2011
+@@ -296,6 +296,7 @@ return * gettext ("")$gt_expression_test_code + _nl_ms
+     if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+       if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = 
"yes"; }; then
+         AC_MSG_CHECKING([how to link with libintl])
++        LIBINTL="-lintl $LIBICONV"
+         AC_MSG_RESULT([$LIBINTL])
+         AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
+       fi
Index: patches/patch-m4_iconv_m4
===================================================================
RCS file: patches/patch-m4_iconv_m4
diff -N patches/patch-m4_iconv_m4
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-m4_iconv_m4   6 Sep 2011 20:33:38 -0000
@@ -0,0 +1,11 @@
+$OpenBSD$
+--- m4/iconv.m4.orig   Fri Dec 10 05:47:14 2010
++++ m4/iconv.m4        Tue Jun 28 11:35:24 2011
+@@ -60,6 +60,7 @@ AC_DEFUN([AM_ICONV_LINK],
+   fi
+   if test "$am_cv_lib_iconv" = yes; then
+     AC_MSG_CHECKING([how to link with libiconv])
++    LIBICONV="-liconv"
+     AC_MSG_RESULT([$LIBICONV])
+   else
+     dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
Index: patches/patch-macros_in
===================================================================
RCS file: /cvs/ports/misc/rpm/patches/patch-macros_in,v
retrieving revision 1.2
diff -u -p -u -r1.2 patch-macros_in
--- patches/patch-macros_in     6 Dec 2000 09:45:02 -0000       1.2
+++ patches/patch-macros_in     6 Sep 2011 20:33:38 -0000
@@ -1,11 +1,12 @@
---- macros.in.orig     Mon Dec  4 15:27:59 2000
-+++ macros.in  Mon Dec  4 15:28:33 2000
-@@ -86,7 +86,7 @@
- %_builddir            %{_topdir}/BUILD
- %_buildshell          /bin/sh
- %_bzip2bin            @BZIP2BIN@
+$OpenBSD$
+--- macros.in.orig     Fri Jul 15 05:32:41 2011
++++ macros.in  Fri Sep  2 05:28:18 2011
+@@ -160,7 +160,7 @@
+ %_bzip2bin            %{__bzip2}
+ 
+ #     The location of the rpm database file(s).
 -%_dbpath              %{_var}/lib/rpm
 +%_dbpath              %{_var}/db/rpm
+ 
+ #     The location of the rpm database file(s) after "rpm --rebuilddb".
  %_dbpath_rebuild      %{_dbpath}
- %_defaultdocdir               %{_usr}/doc
- #
Index: patches/patch-misc_fnmatch_c
===================================================================
RCS file: patches/patch-misc_fnmatch_c
diff -N patches/patch-misc_fnmatch_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-misc_fnmatch_c        6 Sep 2011 20:33:38 -0000
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- misc/fnmatch.c.orig        Tue Jul 12 07:28:13 2011
++++ misc/fnmatch.c     Fri Sep  2 11:46:24 2011
+@@ -18,6 +18,8 @@
+ 
+ # include "system.h"
+ # include <stdlib.h>
++# include <string.h>
++# include <ctype.h>
+ 
+ /* Find the first occurrence of C in S or the final NUL byte.  */
+ static inline char *
Index: patches/patch-misc_fts_c
===================================================================
RCS file: patches/patch-misc_fts_c
diff -N patches/patch-misc_fts_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-misc_fts_c    6 Sep 2011 20:33:38 -0000
@@ -0,0 +1,28 @@
+$OpenBSD$
+--- misc/fts.c.orig    Fri Dec  3 07:11:57 2010
++++ misc/fts.c Sun Jun 26 18:59:46 2011
+@@ -66,6 +66,7 @@ static char sccsid[] = "@(#)fts.c    8.6 (Berkeley) 8/14/
+ #include <string.h>
+ #include <errno.h>
+ #include "misc/fts.h"
++#   define __errno_location() (&errno)
+ #   define __set_errno(val) (*__errno_location ()) = (val)
+ #   define __open     open
+ #   define __close    close
+@@ -1111,14 +1112,14 @@ static int
+ fts_safe_changedir(FTS * sp, FTSENT * p, int fd, const char * path)
+ {
+       int ret, oerrno, newfd;
+-      struct stat64 sb;
++      struct stat sb;
+ 
+       newfd = fd;
+       if (ISSET(FTS_NOCHDIR))
+               return (0);
+       if (fd < 0 && (newfd = __open(path, O_RDONLY, 0)) < 0)
+               return (-1);
+-      if (__fxstat64(_STAT_VER, newfd, &sb)) {
++      if (fstat(newfd, &sb)) {
+               ret = -1;
+               goto bail;
+       }
Index: patches/patch-misc_fts_h
===================================================================
RCS file: patches/patch-misc_fts_h
diff -N patches/patch-misc_fts_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-misc_fts_h    6 Sep 2011 20:33:38 -0000
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- misc/fts.h.orig    Fri Dec  3 07:11:57 2010
++++ misc/fts.h Sun Jun 26 19:02:32 2011
+@@ -57,6 +57,8 @@
+ # define _D_EXACT_NAMLEN(d) ((d)->d_reclen)
+ #endif
+ 
++# define _D_EXACT_NAMLEN(d) ((d)->d_namlen)
++
+ #if defined(__APPLE__)
+ # define _D_EXACT_NAMLEN(d) (strlen((d)->d_name))
+ #endif
Index: patches/patch-misc_glob_c
===================================================================
RCS file: patches/patch-misc_glob_c
diff -N patches/patch-misc_glob_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-misc_glob_c   6 Sep 2011 20:33:38 -0000
@@ -0,0 +1,59 @@
+$OpenBSD$
+--- misc/glob.c.orig   Fri Dec  3 07:11:57 2010
++++ misc/glob.c        Tue Jun 28 12:55:31 2011
+@@ -101,7 +101,7 @@ next_brace_sub (const char *begin)
+   return cp;
+ }
+ 
+-static int __glob_pattern_p (const char *pattern, int quote);
++int glob_pattern_p (const char *pattern, int quote);
+ 
+ /* Do glob searching for PATTERN, placing results in PGLOB.
+    The bits defined above may be set in FLAGS.
+@@ -316,7 +316,7 @@ glob (const char *pattern, int flags,
+ #endif
+         /* For now, disallow wildcards in the drive spec, to
+            prevent infinite recursion in glob.  */
+-        if (__glob_pattern_p (drive_spec, !(flags & GLOB_NOESCAPE)))
++        if (glob_pattern_p (drive_spec, !(flags & GLOB_NOESCAPE)))
+           return GLOB_NOMATCH;
+         /* If this is "d:pattern", we need to copy `:' to DIRNAME
+            as well.  If it's "d:/pattern", don't remove the slash
+@@ -588,7 +588,7 @@ glob (const char *pattern, int flags,
+       return GLOB_NOMATCH;
+     }
+ 
+-  if (__glob_pattern_p (dirname, !(flags & GLOB_NOESCAPE)))
++  if (glob_pattern_p (dirname, !(flags & GLOB_NOESCAPE)))
+     {
+       /* The directory name contains metacharacters, so we
+        have to glob for the directory, and then glob for
+@@ -912,8 +912,8 @@ prefix_array (const char *dirname, char **array, size_
+ #if !defined _LIBC || !defined NO_GLOB_PATTERN_P
+ /* Return nonzero if PATTERN contains any metacharacters.
+    Metacharacters can be quoted with backslashes if QUOTE is nonzero.  */
+-static int
+-__glob_pattern_p (const char *pattern, int quote)
++int
++glob_pattern_p (const char *pattern, int quote)
+ {
+   register const char *p;
+   int open = 0;
+@@ -943,7 +943,7 @@ __glob_pattern_p (const char *pattern, int quote)
+   return 0;
+ }
+ # ifdef _LIBC
+-weak_alias (__glob_pattern_p, glob_pattern_p)
++weak_alias (glob_pattern_p, glob_pattern_p)
+ # endif
+ #endif
+ 
+@@ -968,7 +968,7 @@ glob_in_dir (const char *pattern, const char *director
+   int meta;
+   int save;
+ 
+-  meta = __glob_pattern_p (pattern, !(flags & GLOB_NOESCAPE));
++  meta = glob_pattern_p (pattern, !(flags & GLOB_NOESCAPE));
+   if (meta == 0)
+     {
+       if (flags & (GLOB_NOCHECK|GLOB_NOMAGIC))
Index: patches/patch-po_ja_po
===================================================================
RCS file: patches/patch-po_ja_po
diff -N patches/patch-po_ja_po
--- patches/patch-po_ja_po      3 Nov 2005 13:18:23 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,36 +0,0 @@
-$OpenBSD: patch-po_ja_po,v 1.1 2005/11/03 13:18:23 naddy Exp $
---- po/ja.po.orig      Thu Nov  3 13:51:20 2005
-+++ po/ja.po   Thu Nov  3 13:52:31 2005
-@@ -1034,8 +1034,8 @@ msgstr "ͽ´ü¤»¤ÌÌ䤤¹ç¤ï¤»¤Î¥½¡¼¥¹"
- #, fuzzy
- msgid "only installation, upgrading, rmsource and rmspec may be forced"
- msgstr ""
--"¥¤¥ó¥¹¥È¡¼¥ë¡¢¥¢¥Ã¥×¥°¥ì¡¼¥É¡¢¥½¡¼¥¹ºï½ü¡¢¥¹¥Ú¥Ã¥¯¥Õ¥¡¥¤¥ëºï½ü»þ¤Î¤ß¶¯À©¤Ç¤­¤"
--"Þ¤¹"
-+"¥¤¥ó¥¹¥È¡¼¥ë¡¢¥¢¥Ã¥×¥°¥ì¡¼¥É¡¢¥½¡¼¥¹ºï½ü¡¢¥¹¥Ú¥Ã¥¯¥Õ¥¡¥¤¥ëºï½ü»þ¤Î¤ß¶¯À©¤Ç¤­"
-+"¤Þ¤¹"
- 
- #: rpm.c:988
- msgid "files may only be relocated during package installation"
-@@ -1161,8 +1161,8 @@ msgid ""
- "ftp options can only be used during package queries, installs, and upgrades"
- msgstr ""
- "ftp "
--"¥ª¥×¥·¥ç¥ó¤Ï¥Ñ¥Ã¥±¡¼¥¸¤ÎÌ䤤¹ç¤ï¤»¡¢¥¤¥ó¥¹¥È¡¼¥ë¡¢¥¢¥Ã¥×¥°¥ì¡¼¥É»þ¤Î¤ß»ÈÍѤǤ"
--"­¤Þ¤¹"
-+"¥ª¥×¥·¥ç¥ó¤Ï¥Ñ¥Ã¥±¡¼¥¸¤ÎÌ䤤¹ç¤ï¤»¡¢¥¤¥ó¥¹¥È¡¼¥ë¡¢¥¢¥Ã¥×¥°¥ì¡¼¥É»þ¤Î¤ß»ÈÍѤÇ"
-+"¤­¤Þ¤¹"
- 
- #: rpm.c:1102
- #, fuzzy
-@@ -1170,8 +1170,8 @@ msgid ""
- "http options can only be used during package queries, installs, and upgrades"
- msgstr ""
- "http "
--"¥ª¥×¥·¥ç¥ó¤Ï¥Ñ¥Ã¥±¡¼¥¸¤ÎÌ䤤¹ç¤ï¤»¡¢¥¤¥ó¥¹¥È¡¼¥ë¡¢¥¢¥Ã¥×¥°¥ì¡¼¥É»þ¤Î¤ß»ÈÍѤǤ"
--"­¤Þ¤¹\n"
-+"¥ª¥×¥·¥ç¥ó¤Ï¥Ñ¥Ã¥±¡¼¥¸¤ÎÌ䤤¹ç¤ï¤»¡¢¥¤¥ó¥¹¥È¡¼¥ë¡¢¥¢¥Ã¥×¥°¥ì¡¼¥É»þ¤Î¤ß»ÈÍѤÇ"
-+"¤­¤Þ¤¹\n"
- 
- #: rpm.c:1106
- msgid "--nopgp may only be used during signature checking"
Index: patches/patch-rpm2cpio_c
===================================================================
RCS file: patches/patch-rpm2cpio_c
diff -N patches/patch-rpm2cpio_c
--- patches/patch-rpm2cpio_c    28 Aug 2001 19:55:30 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-rpm2cpio_c,v 1.1 2001/08/28 19:55:30 naddy Exp $
---- rpm2cpio.c.orig    Tue Aug 14 17:17:09 2001
-+++ rpm2cpio.c Tue Aug 14 17:17:42 2001
-@@ -55,7 +55,7 @@ int main(int argc, char **argv)
-     }
- 
-     gzdi = Fdopen(fdi, rpmio_flags);  /* XXX gzdi == fdi */
--    if (gzdi == NULL || Ferror(gzdi)) {
-+    if (gzdi == NULL) {
-       fprintf(stderr, _("cannot re-open payload: %s\n"), Fstrerror(gzdi));
-       exit(EXIT_FAILURE);
-     }
Index: patches/patch-rpm_pc_in
===================================================================
RCS file: patches/patch-rpm_pc_in
diff -N patches/patch-rpm_pc_in
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-rpm_pc_in     6 Sep 2011 20:33:38 -0000
@@ -0,0 +1,9 @@
+$OpenBSD$
+--- rpm.pc.in.orig     Tue Jul 12 07:28:13 2011
++++ rpm.pc.in  Fri Sep  2 10:43:50 2011
+@@ -12,4 +12,4 @@ URL: http://rpm.org
+ # Conflicts:
+ Cflags: -I${includedir}
+ Libs: -L${libdir} -lrpm -lrpmio
+-Libs.private: -lpopt -lrt -lpthread @WITH_SELINUX_LIB@ @WITH_LZMA_LIB@ 
@WITH_DB_LIB@ @WITH_BZ2_LIB@ @WITH_ZLIB_LIB@ @WITH_NSS_LIB@ @WITH_LUA_LIB@
++Libs.private: -lpopt -lrt -pthread @WITH_SELINUX_LIB@ @WITH_LZMA_LIB@ 
@WITH_DB_LIB@ @WITH_BZ2_LIB@ @WITH_ZLIB_LIB@ @WITH_NSS_LIB@ @WITH_LUA_LIB@
Index: patches/patch-rpmio_Makefile_am
===================================================================
RCS file: patches/patch-rpmio_Makefile_am
diff -N patches/patch-rpmio_Makefile_am
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-rpmio_Makefile_am     6 Sep 2011 20:33:38 -0000
@@ -0,0 +1,22 @@
+$OpenBSD$
+--- rpmio/Makefile.am.orig     Fri Jul 15 05:36:33 2011
++++ rpmio/Makefile.am  Fri Sep  2 10:43:04 2011
+@@ -17,7 +17,7 @@ librpmio_la_SOURCES = \
+       rpmstring.c rpmfileutil.c \
+       rpmkeyring.c
+ 
+-librpmio_la_LDFLAGS = -version-info 2:1:0
++librpmio_la_LDFLAGS = -version-info 2:1:0 -pthread
+ librpmio_la_LIBADD = \
+       ../misc/libmisc.la \
+       @WITH_NSS_LIB@ \
+@@ -25,8 +25,7 @@ librpmio_la_LIBADD = \
+       @WITH_ZLIB_LIB@ \
+       @WITH_LIBELF_LIB@ \
+       @WITH_POPT_LIB@ \
+-      @WITH_LZMA_LIB@ \
+-      -lpthread
++      @WITH_LZMA_LIB@
+ 
+ if WITH_LUA
+ AM_CPPFLAGS += -I$(top_srcdir)/luaext/
Index: patches/patch-rpmio_rpmsq_c
===================================================================
RCS file: patches/patch-rpmio_rpmsq_c
diff -N patches/patch-rpmio_rpmsq_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-rpmio_rpmsq_c 6 Sep 2011 20:33:38 -0000
@@ -0,0 +1,143 @@
+$OpenBSD$
+--- rpmio/rpmsq.c.orig Fri Jul 15 04:17:57 2011
++++ rpmio/rpmsq.c      Fri Sep  2 11:48:36 2011
+@@ -10,6 +10,8 @@
+ #include <search.h>
+ #include <errno.h>
+ #include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
+ 
+ #include <pthread.h>
+ 
+@@ -40,6 +42,38 @@ static struct rpmsqElem rpmsqRock;
+ 
+ static rpmsq rpmsqQueue = &rpmsqRock;
+ 
++static int xsighold(int sig) {
++    sigset_t mask;
++
++    if (sigemptyset(&mask) == -1) {
++        fprintf(stderr, "%s line %d: %s", __func__, __LINE__, 
strerror(errno));
++        abort();
++    }
++
++    if (sigaddset(&mask, SIGCHLD) == -1) {
++        fprintf(stderr, "%s line %d: %s", __func__, __LINE__, 
strerror(errno));
++        abort();
++    }
++
++    return sigsuspend(&mask);
++}
++
++static int xsigrelse(int sig) {
++    sigset_t mask;
++
++    if (sigemptyset(&mask) == -1) {
++        fprintf(stderr, "%s line %d: %s", __func__, __LINE__, 
strerror(errno));
++        abort();
++    }
++
++    if (sigaddset(&mask, SIGCHLD) == -1) {
++        fprintf(stderr, "%s line %d: %s", __func__, __LINE__, 
strerror(errno));
++        abort();
++    }
++
++    return sigprocmask(SIG_UNBLOCK, &mask, NULL);    
++}
++
+ /** \ingroup rpmsq
+  * Insert node into from queue.
+  * @param elem          node to link
+@@ -52,7 +86,7 @@ static int rpmsqInsert(void * elem, void * prev)
+     int ret = -1;
+ 
+     if (sq != NULL) {
+-      ret = sighold(SIGCHLD);
++      ret = xsighold(SIGCHLD);
+       if (ret == 0) {
+           sq->child = 0;
+           sq->reaped = 0;
+@@ -63,7 +97,7 @@ static int rpmsqInsert(void * elem, void * prev)
+           sq->id = ME();
+           ret = pthread_mutex_init(&sq->mutex, NULL);
+           insque(elem, (prev != NULL ? prev : rpmsqQueue));
+-          ret = sigrelse(SIGCHLD);
++          ret = xsigrelse(SIGCHLD);
+       }
+     }
+     return ret;
+@@ -80,7 +114,7 @@ static int rpmsqRemove(void * elem)
+     int ret = -1;
+ 
+     if (elem != NULL) {
+-      ret = sighold (SIGCHLD);
++      ret = xsighold (SIGCHLD);
+       if (ret == 0) {
+           remque(elem);
+          
+@@ -92,7 +126,7 @@ static int rpmsqRemove(void * elem)
+           if (sq->pipes[1])   ret = close(sq->pipes[1]);
+           if (sq->pipes[0])   ret = close(sq->pipes[0]);
+           sq->pipes[0] = sq->pipes[1] = -1;
+-          ret = sigrelse(SIGCHLD);
++          ret = xsigrelse(SIGCHLD);
+       }
+     }
+     return ret;
+@@ -249,7 +283,7 @@ pid_t rpmsqFork(rpmsq sq)
+ 
+     xx = pipe(sq->pipes);
+ 
+-    xx = sighold(SIGCHLD);
++    xx = xsighold(SIGCHLD);
+ 
+     /* 
+      * Initialize the cond var mutex.   We have to aquire the lock we 
+@@ -287,7 +321,7 @@ pid_t rpmsqFork(rpmsq sq)
+     }
+ 
+ out:
+-    xx = sigrelse(SIGCHLD);
++    xx = xsigrelse(SIGCHLD);
+     return sq->child;
+ }
+ 
+@@ -304,7 +338,7 @@ static int rpmsqWaitUnregister(rpmsq sq)
+     int xx;
+ 
+     /* Protect sq->reaped from handler changes. */
+-    ret = sighold(SIGCHLD);
++    ret = xsighold(SIGCHLD);
+ 
+     /* Start the child, linux often runs child before parent. */
+     if (sq->pipes[0] >= 0)
+@@ -320,9 +354,9 @@ static int rpmsqWaitUnregister(rpmsq sq)
+     while (ret == 0 && sq->reaped != sq->child) {
+       if (nothreads)
+           /* Note that sigpause re-enables SIGCHLD. */
+-          ret = sigpause(SIGCHLD);
++          ret = xsighold(SIGCHLD);
+       else {
+-          xx = sigrelse(SIGCHLD);
++          xx = xsigrelse(SIGCHLD);
+           
+           /* 
+            * We start before the fork with this mutex locked;
+@@ -330,14 +364,14 @@ static int rpmsqWaitUnregister(rpmsq sq)
+            * So if we get the lock the child has been reaped.
+            */
+           ret = pthread_mutex_lock(&sq->mutex);
+-          xx = sighold(SIGCHLD);
++          xx = xsighold(SIGCHLD);
+       }
+     }
+ 
+     /* Accumulate stopwatch time spent waiting, potential performance gain. */
+     sq->ms_scriptlets += rpmswExit(&sq->op, -1)/1000;
+ 
+-    xx = sigrelse(SIGCHLD);
++    xx = xsigrelse(SIGCHLD);
+ 
+     /* Remove processed SIGCHLD item from queue. */
+     xx = rpmsqRemove(sq);
Index: patches/patch-tests_macros_in
===================================================================
RCS file: patches/patch-tests_macros_in
diff -N patches/patch-tests_macros_in
--- patches/patch-tests_macros_in       12 Jun 2000 18:49:41 -0000      1.1.1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-tests_macros_in,v 1.1.1.1 2000/06/12 18:49:41 espie Exp $
---- tests/macros.in.orig       Mon Jun 12 20:22:36 2000
-+++ tests/macros.in    Mon Jun 12 20:23:00 2000
-@@ -52,7 +52,7 @@
- %_builddir            %{_topdir}/BUILD
- %_buildshell          /bin/sh
- %_bzip2bin            @BZIP2BIN@
--%_dbpath              %{_var}/lib/rpm
-+%_dbpath              %{_var}/db/rpm
- %_defaultdocdir               %{_usr}/doc
- #
- # XXX fixowner, fixgroup, and fixperms are run at the end of hardcoded setup
Index: patches/patch-tools_rpmgettext_c
===================================================================
RCS file: patches/patch-tools_rpmgettext_c
diff -N patches/patch-tools_rpmgettext_c
--- patches/patch-tools_rpmgettext_c    12 Jun 2000 18:49:41 -0000      1.1.1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-tools_rpmgettext_c,v 1.1.1.1 2000/06/12 18:49:41 espie Exp $
---- tools/rpmgettext.c.orig    Mon Jun 12 02:19:29 2000
-+++ tools/rpmgettext.c Mon Jun 12 02:19:57 2000
-@@ -11,6 +11,10 @@
- #include "signature.h"
- #include "header.h"
- 
-+#ifdef __OpenBSD__
-+#include <libgen.h>
-+#endif
-+
- #if !defined(HAVE_BASENAME)
- extern char *basename (const char *__filename);
- #endif
Index: pkg/DESCR
===================================================================
RCS file: /cvs/ports/misc/rpm/pkg/DESCR,v
retrieving revision 1.2
diff -u -p -u -r1.2 DESCR
--- pkg/DESCR   15 Dec 2003 21:42:43 -0000      1.2
+++ pkg/DESCR   6 Sep 2011 20:33:38 -0000
@@ -1,10 +1,13 @@
-RPM is a package management system based on top of cpio.
-It supports digital signatures, source and binary packages,
-complex dependencies handling, complex installation scripts
-and a lot more.
+The RPM Package Manager (RPM) is a powerful command line driven package
+management system capable of installing, uninstalling, verifying,
+querying, and updating software packages. Each software package consists
+of an archive of files along with information about the package like its
+version, a description, etc.
 
-It has its own macro language, and is well-spread in 
-the Linux world.
+The purpose of having rpm available as an OpenBSD port is to make life
+easy for Linux developers who happen to be using an OpenBSD system and
+to make it easy to examine RPM packages from an OpenBSD system.  Do not
+consider rpm a replacement for the ports system.
 
-The package database is set to /var/db/rpm by default, to conform
-with hier(7).
+The package database is set to /var/db/rpm by default, to conform with
+hier(7).
Index: pkg/PFRAG.shared
===================================================================
RCS file: /cvs/ports/misc/rpm/pkg/PFRAG.shared,v
retrieving revision 1.10
diff -u -p -u -r1.10 PFRAG.shared
--- pkg/PFRAG.shared    14 Jan 2006 20:27:11 -0000      1.10
+++ pkg/PFRAG.shared    6 Sep 2011 20:33:38 -0000
@@ -1,4 +1,5 @@
-@comment $OpenBSD: PFRAG.shared,v 1.10 2006/01/14 20:27:11 steven Exp $
-@comment @lib lib/libpopt.so.${LIBpopt_VERSION}
+@comment $OpenBSD$
 @lib lib/librpm.so.${LIBrpm_VERSION}
 @lib lib/librpmbuild.so.${LIBrpmbuild_VERSION}
+@lib lib/librpmio.so.${LIBrpmio_VERSION}
+@lib lib/librpmsign.so.${LIBrpmsign_VERSION}
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/misc/rpm/pkg/PLIST,v
retrieving revision 1.6
diff -u -p -u -r1.6 PLIST
--- pkg/PLIST   14 Jan 2006 20:27:11 -0000      1.6
+++ pkg/PLIST   6 Sep 2011 20:33:38 -0000
@@ -1,113 +1,212 @@
-@comment $OpenBSD: PLIST,v 1.6 2006/01/14 20:27:11 steven Exp $
+@comment $OpenBSD$
+%%SHARED%%
 @conflict rpm2cpio-*
 bin/gendiff
-bin/rpm
-bin/rpm2cpio
-@comment include/popt.h
+@bin bin/rpm
+@bin bin/rpm2cpio
+@bin bin/rpmbuild
+@bin bin/rpmdb
+@bin bin/rpmgraph
+@bin bin/rpmkeys
+bin/rpmquery
+@bin bin/rpmsign
+@bin bin/rpmspec
+bin/rpmverify
 include/rpm/
-include/rpm/dbindex.h
+include/rpm/argv.h
 include/rpm/header.h
-include/rpm/misc.h
 include/rpm/rpmbuild.h
+include/rpm/rpmcallback.h
+include/rpm/rpmcli.h
+include/rpm/rpmdb.h
+include/rpm/rpmds.h
+include/rpm/rpmfc.h
+include/rpm/rpmfi.h
+include/rpm/rpmfileutil.h
 include/rpm/rpmio.h
+include/rpm/rpmkeyring.h
+include/rpm/rpmlegacy.h
 include/rpm/rpmlib.h
+include/rpm/rpmlog.h
 include/rpm/rpmmacro.h
+include/rpm/rpmpgp.h
+include/rpm/rpmpol.h
+include/rpm/rpmprob.h
+include/rpm/rpmps.h
+include/rpm/rpmsign.h
 include/rpm/rpmspec.h
+include/rpm/rpmsq.h
+include/rpm/rpmstring.h
+include/rpm/rpmsw.h
+include/rpm/rpmtag.h
+include/rpm/rpmtd.h
+include/rpm/rpmte.h
+include/rpm/rpmts.h
+include/rpm/rpmtypes.h
 include/rpm/rpmurl.h
-include/rpm/stringbuf.h
-@comment lib/libpopt.a
-@comment lib/libpopt.la
+include/rpm/rpmutil.h
+include/rpm/rpmvf.h
 lib/librpm.a
 lib/librpm.la
 lib/librpmbuild.a
 lib/librpmbuild.la
-@comment lib/locale/
-@comment lib/locale/ro/
-@comment lib/locale/ro/LC_MESSAGES/
-@comment lib/locale/ro/LC_MESSAGES/popt.mo
-@comment lib/locale/sk/
-@comment lib/locale/sk/LC_MESSAGES/
-@comment lib/locale/sk/LC_MESSAGES/popt.mo
+lib/librpmio.a
+lib/librpmio.la
+lib/librpmsign.a
+lib/librpmsign.la
+lib/pkgconfig/rpm.pc
+lib/python${MODPY_VERSION}/site-packages/rpm/
+lib/python${MODPY_VERSION}/site-packages/rpm/__init__.py
+lib/python${MODPY_VERSION}/site-packages/rpm/_rpmbmodule.a
+lib/python${MODPY_VERSION}/site-packages/rpm/_rpmbmodule.la
+lib/python${MODPY_VERSION}/site-packages/rpm/_rpmbmodule.so
+lib/python${MODPY_VERSION}/site-packages/rpm/_rpmmodule.a
+lib/python${MODPY_VERSION}/site-packages/rpm/_rpmmodule.la
+lib/python${MODPY_VERSION}/site-packages/rpm/_rpmmodule.so
+lib/python${MODPY_VERSION}/site-packages/rpm/_rpmsmodule.a
+lib/python${MODPY_VERSION}/site-packages/rpm/_rpmsmodule.la
+lib/python${MODPY_VERSION}/site-packages/rpm/_rpmsmodule.so
+lib/python${MODPY_VERSION}/site-packages/rpm/transaction.py
 lib/rpm/
+lib/rpm-plugins/
+lib/rpm-plugins/exec.a
+lib/rpm-plugins/exec.la
+lib/rpm-plugins/exec.so
+lib/rpm-plugins/sepolicy.a
+lib/rpm-plugins/sepolicy.la
+lib/rpm-plugins/sepolicy.so
 lib/rpm/brp-compress
-lib/rpm/brp-redhat
-lib/rpm/brp-sparc64-linux
+lib/rpm/brp-java-gcjcompile
+lib/rpm/brp-python-bytecompile
+lib/rpm/brp-python-hardlink
 lib/rpm/brp-strip
 lib/rpm/brp-strip-comment-note
+lib/rpm/brp-strip-shared
+lib/rpm/brp-strip-static-archive
+lib/rpm/check-buildroot
+lib/rpm/check-files
 lib/rpm/check-prereqs
+lib/rpm/check-rpaths
+lib/rpm/check-rpaths-worker
 lib/rpm/config.guess
 lib/rpm/config.sub
-lib/rpm/convertrpmrc.sh
-lib/rpm/cpanflute
+lib/rpm/desktop-file.prov
+lib/rpm/fileattrs/
+lib/rpm/fileattrs/desktop.attr
+lib/rpm/fileattrs/elf.attr
+lib/rpm/fileattrs/font.attr
+lib/rpm/fileattrs/libtool.attr
+lib/rpm/fileattrs/mono.attr
+lib/rpm/fileattrs/ocaml.attr
+lib/rpm/fileattrs/perl.attr
+lib/rpm/fileattrs/perllib.attr
+lib/rpm/fileattrs/pkgconfig.attr
+lib/rpm/fileattrs/python.attr
+lib/rpm/fileattrs/script.attr
 lib/rpm/find-lang.sh
-lib/rpm/find-prov.pl
 lib/rpm/find-provides
-lib/rpm/find-provides.perl
-lib/rpm/find-req.pl
 lib/rpm/find-requires
-lib/rpm/find-requires.perl
-lib/rpm/get_magic.pl
-lib/rpm/getpo.sh
-lib/rpm/http.req
+lib/rpm/fontconfig.prov
+@bin lib/rpm/javadeps
+lib/rpm/libtooldeps.sh
 lib/rpm/macros
-lib/rpm/magic.prov
-lib/rpm/magic.req
+lib/rpm/macros.perl
+lib/rpm/macros.php
+lib/rpm/macros.python
 lib/rpm/mkinstalldirs
+lib/rpm/mono-find-provides
+lib/rpm/mono-find-requires
+lib/rpm/ocaml-find-provides.sh
+lib/rpm/ocaml-find-requires.sh
+lib/rpm/osgideps.pl
 lib/rpm/perl.prov
 lib/rpm/perl.req
-lib/rpm/rpmdiff
-lib/rpm/rpmdiff.cgi
-lib/rpm/rpmgettext
-lib/rpm/rpmpopt
-lib/rpm/rpmputtext
+lib/rpm/perldeps.pl
+lib/rpm/pkgconfigdeps.sh
+lib/rpm/pythondeps.sh
+lib/rpm/rpm.daily
+lib/rpm/rpm.log
+lib/rpm/rpm2cpio.sh
+lib/rpm/rpmdb_loadcvt
+@bin lib/rpm/rpmdeps
+lib/rpm/rpmpopt-4.9.1.1
 lib/rpm/rpmrc
-lib/rpm/u_pkg.sh
-lib/rpm/vpkg-provides.sh
-lib/rpm/vpkg-provides2.sh
-lib/rpmpopt
-lib/rpmrc
-@comment man/ja/
-@comment man/ja/man8/
-@comment @man man/ja/man8/rpm.8
-@comment @man man/ja/man8/rpm2cpio.8
+lib/rpm/script.req
+lib/rpm/tcl.req
+lib/rpm/tgpg
+man/fr/
+man/fr/man8/
+@man man/fr/man8/rpm.8
+man/ja/
+man/ja/man8/
+@man man/ja/man8/rpm.8
+@man man/ja/man8/rpm2cpio.8
+@man man/ja/man8/rpmbuild.8
+@man man/ja/man8/rpmgraph.8
+man/ko/
+man/ko/man8/
+@man man/ko/man8/rpm.8
+@man man/ko/man8/rpm2cpio.8
 @man man/man1/gendiff.1
-@comment @man man/man3/popt.3
 @man man/man8/rpm.8
 @man man/man8/rpm2cpio.8
-@comment man/pl/
-@comment man/pl/man8/
-@comment @man man/pl/man8/rpm.8
-@comment man/ru/
-@comment man/ru/man8/
-@comment @man man/ru/man8/rpm.8
-@comment @man man/ru/man8/rpm2cpio.8
-@comment man/sk/
-@comment man/sk/man8/
-@comment @man man/sk/man8/rpm.8
+@man man/man8/rpmbuild.8
+@man man/man8/rpmdb.8
+@man man/man8/rpmdeps.8
+@man man/man8/rpmgraph.8
+@man man/man8/rpmkeys.8
+@man man/man8/rpmsign.8
+@man man/man8/rpmspec.8
+man/pl/
+man/pl/man1/
+@man man/pl/man1/gendiff.1
+man/pl/man8/
+@man man/pl/man8/rpm.8
+@man man/pl/man8/rpm2cpio.8
+@man man/pl/man8/rpmbuild.8
+@man man/pl/man8/rpmdeps.8
+@man man/pl/man8/rpmgraph.8
+man/ru/
+man/ru/man8/
+@man man/ru/man8/rpm.8
+@man man/ru/man8/rpm2cpio.8
+man/sk/
+man/sk/man8/
+@man man/sk/man8/rpm.8
+share/doc/rpm/
+share/doc/rpm/CHANGES
+share/doc/rpm/COPYING
+share/doc/rpm/CREDITS
+share/doc/rpm/ChangeLog
+share/doc/rpm/GROUPS
+share/doc/rpm/README
+share/locale/ca/LC_MESSAGES/rpm.mo
 share/locale/cs/LC_MESSAGES/rpm.mo
+share/locale/da/LC_MESSAGES/rpm.mo
 share/locale/de/LC_MESSAGES/rpm.mo
+share/locale/es/LC_MESSAGES/rpm.mo
 share/locale/fi/LC_MESSAGES/rpm.mo
 share/locale/fr/LC_MESSAGES/rpm.mo
+share/locale/is/LC_MESSAGES/rpm.mo
+share/locale/it/LC_MESSAGES/rpm.mo
 share/locale/ja/LC_MESSAGES/rpm.mo
+share/locale/ko/LC_MESSAGES/rpm.mo
+share/locale/ms/
+share/locale/ms/LC_MESSAGES/
+share/locale/ms/LC_MESSAGES/rpm.mo
+share/locale/nb/LC_MESSAGES/rpm.mo
+share/locale/nl/LC_MESSAGES/rpm.mo
 share/locale/pl/LC_MESSAGES/rpm.mo
+share/locale/pt/LC_MESSAGES/rpm.mo
 share/locale/pt_BR/LC_MESSAGES/rpm.mo
 share/locale/ru/LC_MESSAGES/rpm.mo
 share/locale/sk/LC_MESSAGES/rpm.mo
 share/locale/sl/LC_MESSAGES/rpm.mo
 share/locale/sr/LC_MESSAGES/rpm.mo
+share/locale/sr@latin/
+share/locale/sr@latin/LC_MESSAGES/
+share/locale/sr@latin/LC_MESSAGES/rpm.mo
 share/locale/sv/LC_MESSAGES/rpm.mo
 share/locale/tr/LC_MESSAGES/rpm.mo
-src/
-src/redhat/
-src/redhat/BUILD/
-src/redhat/RPMS/
-@comment src/redhat/RPMS/athlon/
-src/redhat/${RPM_INTEL}/
-@comment src/redhat/RPMS/i486/
-@comment src/redhat/RPMS/i586/
-@comment src/redhat/RPMS/i686/
-src/redhat/RPMS/noarch/
-src/redhat/SOURCES/
-src/redhat/SPECS/
-src/redhat/SRPMS/
-%%SHARED%%
+share/locale/zh_TW/LC_MESSAGES/rpm.mo
+@sample var/db/rpm
Index: pkg/SECURITY
===================================================================
RCS file: pkg/SECURITY
diff -N pkg/SECURITY
--- pkg/SECURITY        6 Dec 2000 09:48:38 -0000       1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,9 +0,0 @@
-$OpenBSD: SECURITY,v 1.1 2000/12/06 09:48:38 espie Exp $
-
-rpm uses a few mktemp, but looking at these, they all appear to be wrapped
-and calling open() properly.
-
-Note that rpm has some inherent security problems anyway. Who should you
-trust when installing RPMs on your system ? Its use should probably be 
-limited to installing linux-compatibility library, within ports, with
-proper md5 checksumming.

Reply via email to