Revision: 20243 http://gar.svn.sourceforge.net/gar/?rev=20243&view=rev Author: toomasp Date: 2013-01-31 11:31:17 +0000 (Thu, 31 Jan 2013) Log Message: ----------- CSWrpm initial commit, 4.10.2
Added Paths: ----------- csw/mgar/pkg/rpm/ csw/mgar/pkg/rpm/Makefile csw/mgar/pkg/rpm/branches/ csw/mgar/pkg/rpm/tags/ csw/mgar/pkg/rpm/trunk/ csw/mgar/pkg/rpm/trunk/Makefile csw/mgar/pkg/rpm/trunk/checksums csw/mgar/pkg/rpm/trunk/files/ csw/mgar/pkg/rpm/trunk/files/0001-Solaris-compile-fixes.patch csw/mgar/pkg/rpm/trunk/files/0002-rpm-default-shell-should-be-bash-instead-of-sh.patch csw/mgar/pkg/rpm/trunk/files/0003-make-sure-that-rpmquery-rpmverify-are-pointing-to-th.patch csw/mgar/pkg/rpm/trunk/files/0004-fdatasync-fix.patch Added: csw/mgar/pkg/rpm/Makefile =================================================================== --- csw/mgar/pkg/rpm/Makefile (rev 0) +++ csw/mgar/pkg/rpm/Makefile 2013-01-31 11:31:17 UTC (rev 20243) @@ -0,0 +1,2 @@ +%: + $(MAKE) -C trunk $* Added: csw/mgar/pkg/rpm/trunk/Makefile =================================================================== --- csw/mgar/pkg/rpm/trunk/Makefile (rev 0) +++ csw/mgar/pkg/rpm/trunk/Makefile 2013-01-31 11:31:17 UTC (rev 20243) @@ -0,0 +1,86 @@ +# $Id: Makefile 13420 2011-02-20 21:04:03Z bdwalton $ +# TODO (release-critical prefixed with !, non release-critical with *) +# +NAME = rpm +VERSION = 4.10.2 +GARTYPE = v2 +CATEGORIES = default + +DESCRIPTION = Package manager +define BLURB + The RPM Package Manager (RPM) is a powerful command line driven package management system capable of installing, uninstalling, + verifying, querying, and updating computer software packages. Each software package consists of an archive of files along with + information about the package like its version, a description, and the like. There is also a library API, permitting advanced + developers to manage such transactions from programming languages such as C or Python. +endef + +MASTER_SITES = http://rpm.org/releases/rpm-4.10.x/ +DISTFILES = $(NAME)-$(VERSION).tar.bz2 +PACKAGING_PLATFORMS = solaris10-sparc solaris10-i386 +LICENSE = COPYING + +PACKAGES += CSWrpm +CATALOGNAME_CSWrpm = rpm +SPKG_DESC_CSWrpm += $(DESCRIPTION) +PACKAGES += CSWrpm-dev +CATALOGNAME_CSWrpm-dev = rpm_dev +SPKG_DESC_CSWrpm-dev += $(DESCRIPTION), development files +PKGFILES_DEVEL = /opt/csw/lib/librpm.so /opt/csw/lib/librpmbuild.so /opt/csw/lib/librpmio.so /opt/csw/lib/librpmsign.so +PKGFILES_DEVEL += /opt/csw/include/rpm/*.h +PKGFILES_CSWrpm-dev = $(PKGFILES_DEVEL) + +GARCOMPILER = GCC4 +BUILD_DEP_PKGS_CSWrpm = CSWgcc4core CSWgcc4g++ CSWpython-dev CSWlibmagic-dev CSWlibmagic-data CSWlibnss-dev CSWnspr-dev +BUILD_DEP_PKGS_CSWrpm += CSWlibpopt-dev CSWbdb48 CSWpysqlite2 CSWzlib CSWpkgconfig CSWlibssp0 +BUILD_DEP_PKGS_CSWrpm += CSWlibplc4 CSWlibplds4 CSWbdb48devel CSWlibsoftokn3 CSWliblzma-dev CSWlibz1 + +RUNTIME_DEP_PKGS_CSWrpm = CSWpython CSWbdb48 CSWpysqlite2 CSWlibmagic-data CSWlibnss3 CSWlibnspr4 CSWzlib CSWggettext +RUNTIME_DEP_PKGS_CSWrpm += CSWggettext-data CSWlibgcc-s1 CSWlibssp0 CSWlibplc4 CSWlibplds4 CSWlibpopt0 CSWlibsoftokn3 CSWliblzma5 +RUNTIME_DEP_PKGS_CSWrpm += CSWlibfreebl3 CSWgzip CSWstar CSWgnupg CSWlzip CSWxz CSWcurl CSWperl CSWosshclient CSWlibmagic1 +RUNTIME_DEP_PKGS_CSWrpm += CSWlibbz2-1-0 CSWlibintl8 CSWlibpython2-6-1-0 CSWlibz1 +RUNTIME_DEP_PKGS_CSWrpm-dev += CSWrpm + +PATCHFILES += 0001-Solaris-compile-fixes.patch 0002-rpm-default-shell-should-be-bash-instead-of-sh.patch 0003-make-sure-that-rpmquery-rpmverify-are-pointing-to-th.patch 0004-fdatasync-fix.patch + +CFLAGS = -I/opt/csw/include -I/opt/csw/include/nss -I/opt/csw/include/nspr -I/opt/csw/bdb48/include -I/opt/csw/include/python2.6 -m32 -D_XPG6 -lssp -lssp_nonshared -std=gnu99 -lintl -lrt + +CPPFLAGS = $(CFLAGS) + +LDFLAGS = -m32 -L/opt/csw/lib -Wl,-R,/opt/csw/lib -L/opt/csw/bdb48/lib -Wl,-R,/opt/csw/bdb48/lib -Wl,-R'\$$\$$ORIGIN' -Wl,-R'\$$\$$ORIGIN/../lib' -Wl,-R'\$$\$$ORIGIN/../../lib' -lssp -lssp_nonshared -lm -lintl -lrt -z ignore -Bdirect + +NORUNPATH = 1 +NOISALIST = 1 + +CONFIGURE_ARGS = $(DIRPATHS) --with-external-db --enable-python --without-lua --without-hackingdocs --without-selinux + + +# CHECKPKG +CHECKPKG_OVERRIDES_CSWrpm += bad-rpath-entry +CHECKPKG_OVERRIDES_CSWrpm += catalogname-does-not-start-with-py_ +CHECKPKG_OVERRIDES_CSWrpm += pkgname-does-not-start-with-CSWpy- +CHECKPKG_OVERRIDES_CSWrpm += shared-lib-pkgname-mismatch +CHECKPKG_OVERRIDES_CSWrpm += no-direct-binding +CHECKPKG_OVERRIDES_CSWrpm += soname-unused +CHECKPKG_OVERRIDES_CSWrpm += surplus-dependency|CSWlibnspr4 +CHECKPKG_OVERRIDES_CSWrpm += surplus-dependency|CSWzlib +CHECKPKG_OVERRIDES_CSWrpm += surplus-dependency|CSWpysqlite2 +CHECKPKG_OVERRIDES_CSWrpm += surplus-dependency|CSWlibplc4 +CHECKPKG_OVERRIDES_CSWrpm += surplus-dependency|CSWlibmagic-data +CHECKPKG_OVERRIDES_CSWrpm += surplus-dependency|CSWgzip +CHECKPKG_OVERRIDES_CSWrpm += surplus-dependency|CSWlibplds4 +CHECKPKG_OVERRIDES_CSWrpm += surplus-dependency|CSWcurl +CHECKPKG_OVERRIDES_CSWrpm += surplus-dependency|CSWggettext +CHECKPKG_OVERRIDES_CSWrpm += surplus-dependency|CSWggettext-data +CHECKPKG_OVERRIDES_CSWrpm += surplus-dependency|CSWlibsoftokn3 +CHECKPKG_OVERRIDES_CSWrpm += surplus-dependency|CSWlibfreebl3 +CHECKPKG_OVERRIDES_CSWrpm += surplus-dependency|CSWxz +CHECKPKG_OVERRIDES_CSWrpm += surplus-dependency|CSWlzip +CHECKPKG_OVERRIDES_CSWrpm += surplus-dependency|CSWgnupg +CHECKPKG_OVERRIDES_CSWrpm += surplus-dependency|CSWosshclient +CHECKPKG_OVERRIDES_CSWrpm += file-with-bad-content|/usr/share|root/opt/csw/lib/rpm/mono-find-provides +CHECKPKG_OVERRIDES_CSWrpm += file-with-bad-content|/usr/share|root/opt/csw/lib/rpm/fontconfig.prov +CHECKPKG_OVERRIDES_CSWrpm += file-with-bad-content|/usr/share|root/opt/csw/lib/rpm/mono-find-requires +CHECKPKG_OVERRIDES_CSWrpm += file-with-bad-content|/usr/share|root/opt/csw/lib/rpm/brp-compress +CHECKPKG_OVERRIDES_CSWrpm += file-with-bad-content|/usr/local|root/opt/csw/lib/rpm/check-rpaths-worker + +include gar/category.mk Added: csw/mgar/pkg/rpm/trunk/checksums =================================================================== --- csw/mgar/pkg/rpm/trunk/checksums (rev 0) +++ csw/mgar/pkg/rpm/trunk/checksums 2013-01-31 11:31:17 UTC (rev 20243) @@ -0,0 +1 @@ +a644aea351c9b3889bbaded5d6a377c9 rpm-4.10.2.tar.bz2 Added: csw/mgar/pkg/rpm/trunk/files/0001-Solaris-compile-fixes.patch =================================================================== --- csw/mgar/pkg/rpm/trunk/files/0001-Solaris-compile-fixes.patch (rev 0) +++ csw/mgar/pkg/rpm/trunk/files/0001-Solaris-compile-fixes.patch 2013-01-31 11:31:17 UTC (rev 20243) @@ -0,0 +1,173 @@ +From 6127ea7812164e0641131e93065d08720d244774 Mon Sep 17 00:00:00 2001 +From: Toomas Pelberg <toomas.pelb...@playtech.com> +Date: Fri, 23 Nov 2012 23:18:42 +0000 +Subject: [PATCH] Solaris compile fixes + +--- + build/files.c | 34 +++++++++++++++++++++++++++++++++- + rpmio/rpmfileutil.c | 34 +++++++++++++++++++++++++++++++++- + rpmrc.in | 9 +++++++++ + 3 files changed, 75 insertions(+), 2 deletions(-) + +diff --git a/build/files.c b/build/files.c +index a5776e0..e18e857 100644 +--- a/build/files.c ++++ b/build/files.c +@@ -1629,6 +1629,38 @@ exit: + return rc; + } + ++ ++static int ++__glob_pattern_p (const char *pattern, int quote) ++{ ++ register const char *p; ++ int open = 0; ++ ++ for (p = pattern; *p != '\0'; ++p) ++ switch (*p) ++ { ++ case '?': ++ case '*': ++ return 1; ++ ++ case '\\': ++ if (quote && p[1] != '\0') ++ ++p; ++ break; ++ ++ case '[': ++ open = 1; ++ break; ++ ++ case ']': ++ if (open) ++ return 1; ++ break; ++ } ++ ++ return 0; ++} ++ + /** + * Add a file to a binary package. + * @param pkg +@@ -1649,7 +1681,7 @@ static rpmRC processBinaryFile(Package pkg, FileList fl, const char * fileName) + if (trailing_slash && !fl->isDir) + fl->isDir = -1; + +- doGlob = glob_pattern_p(fileName, quote); ++ doGlob = __glob_pattern_p(fileName, quote); + + /* Check that file starts with leading "/" */ + if (*fileName != '/') { +diff --git a/rpmio/rpmfileutil.c b/rpmio/rpmfileutil.c +index ad10c84..c4283e4 100644 +--- a/rpmio/rpmfileutil.c ++++ b/rpmio/rpmfileutil.c +@@ -530,6 +530,38 @@ char * rpmGetPath(const char *path, ...) + return rpmCleanPath(res); + } + ++static int ++__glob_pattern_p (const char *pattern, int quote) ++{ ++ register const char *p; ++ int open = 0; ++ ++ for (p = pattern; *p != '\0'; ++p) ++ switch (*p) ++ { ++ case '?': ++ case '*': ++ return 1; ++ ++ case '\\': ++ if (quote && p[1] != '\0') ++ ++p; ++ break; ++ ++ case '[': ++ open = 1; ++ break; ++ ++ case ']': ++ if (open) ++ return 1; ++ break; ++ } ++ ++ return 0; ++} ++ ++ + int rpmGlob(const char * patterns, int * argcPtr, ARGV_t * argvPtr) + { + int ac = 0; +@@ -578,7 +610,7 @@ int rpmGlob(const char * patterns, int * argcPtr, ARGV_t * argvPtr) + int dir_only = (plen > 0 && path[plen-1] == '/'); + glob_t gl; + +- if (!local || (!glob_pattern_p(av[j], 0) && strchr(path, '~') == NULL)) { ++ if (!local || (!__glob_pattern_p(av[j], 0) && strchr(path, '~') == NULL)) { + argvAdd(&argv, av[j]); + continue; + } +diff --git a/rpmrc.in b/rpmrc.in +index 389d305..de062cf 100644 +--- a/rpmrc.in ++++ b/rpmrc.in +@@ -115,6 +115,7 @@ arch_canon: sun4: sparc 3 + arch_canon: sun4m: sparc 3 + arch_canon: sun4c: sparc 3 + arch_canon: sun4d: sparc 3 ++arch_canon: sun4v: sparc 3 + arch_canon: sparcv8: sparcv8 3 + arch_canon: sparcv9: sparcv9 3 + arch_canon: sparcv9v: sparcv9v 3 +@@ -174,6 +175,7 @@ os_canon: Linux: Linux 1 + os_canon: IRIX: Irix 2 + # This is wrong + os_canon: SunOS5: solaris 3 ++os_canon: SunOS: solaris 3 + os_canon: SunOS4: SunOS 4 + + os_canon: AmigaOS: AmigaOS 5 +@@ -230,6 +232,7 @@ buildarchtranslate: sparcv8: sparc + buildarchtranslate: sparcv9: sparc + buildarchtranslate: sparcv9v: sparc + buildarchtranslate: sun4u: sparc64 ++buildarchtranslate: sun4v: sparc + buildarchtranslate: sparc64v: sparc64 + + buildarchtranslate: osfmach3_ppc: ppc +@@ -317,6 +320,7 @@ arch_compat: sun4c: sparc + arch_compat: sun4d: sparc + arch_compat: sun4m: sparc + arch_compat: sun4u: sparc64 ++arch_compat: sun4v: sparc + arch_compat: sparc64v: sparc64 + arch_compat: sparc64: sparcv9 + arch_compat: sparcv9v: sparcv9 +@@ -365,6 +369,10 @@ arch_compat: sh4: noarch + arch_compat: sh4a: sh4 + + os_compat: IRIX64: IRIX ++os_compat: solaris2.11: solaris2.10 solaris ++os_compat: solaris2.10: solaris2.9 solaris2.8 solaris ++os_compat: solaris2.9: solaris2.8 solaris ++os_compat: solaris2.8: solaris + os_compat: solaris2.7: solaris2.3 solaris2.4 solaris2.5 solaris2.6 + os_compat: solaris2.6: solaris2.3 solaris2.4 solaris2.5 + os_compat: solaris2.5: solaris2.3 solaris2.4 +@@ -408,6 +416,7 @@ buildarch_compat: sun4c: noarch + buildarch_compat: sun4d: noarch + buildarch_compat: sun4m: noarch + buildarch_compat: sun4u: noarch ++buildarch_compat: sun4v: noarch + buildarch_compat: sparc64v: sparc64 + buildarch_compat: sparc64: sparcv9v + buildarch_compat: sparcv9v: sparcv9 +-- +1.7.10.2 + Added: csw/mgar/pkg/rpm/trunk/files/0002-rpm-default-shell-should-be-bash-instead-of-sh.patch =================================================================== --- csw/mgar/pkg/rpm/trunk/files/0002-rpm-default-shell-should-be-bash-instead-of-sh.patch (rev 0) +++ csw/mgar/pkg/rpm/trunk/files/0002-rpm-default-shell-should-be-bash-instead-of-sh.patch 2013-01-31 11:31:17 UTC (rev 20243) @@ -0,0 +1,85 @@ +From 6177946c1222bdd84fd3467d2b9a27b890b3acda Mon Sep 17 00:00:00 2001 +From: Toomas Pelberg <toom...@opencsw.org> +Date: Sun, 2 Dec 2012 21:11:27 +0100 +Subject: [PATCH] rpm default shell should be bash instead of sh + +--- + build/parseScript.c | 2 +- + cliutils.c | 2 +- + lib/rpmscript.c | 4 ++-- + macros.in | 4 ++-- + 4 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/build/parseScript.c b/build/parseScript.c +index 1a149e1..9ed90be 100644 +--- a/build/parseScript.c ++++ b/build/parseScript.c +@@ -88,7 +88,7 @@ int parseScript(rpmSpec spec, int parsePart) + const char **argv = NULL; + poptContext optCon = NULL; + const char *name = NULL; +- const char *prog = "/bin/sh"; ++ const char *prog = "/bin/bash"; + const char *file = NULL; + struct poptOption optionsTable[] = { + { NULL, 'p', POPT_ARG_STRING, &prog, 'p', NULL, NULL}, +diff --git a/cliutils.c b/cliutils.c +index 5edecc5..5a7ace1 100644 +--- a/cliutils.c ++++ b/cliutils.c +@@ -59,7 +59,7 @@ int initPipe(void) + (void) close(p[1]); + (void) dup2(p[0], STDIN_FILENO); + (void) close(p[0]); +- (void) execl("/bin/sh", "/bin/sh", "-c", rpmcliPipeOutput, NULL); ++ (void) execl("/bin/bash", "/bin/bash", "-c", rpmcliPipeOutput, NULL); + fprintf(stderr, _("exec failed\n")); + exit(EXIT_FAILURE); + } +diff --git a/lib/rpmscript.c b/lib/rpmscript.c +index 57c24c6..6752ce6 100644 +--- a/lib/rpmscript.c ++++ b/lib/rpmscript.c +@@ -89,7 +89,7 @@ static rpmRC runLuaScript(int selinux, ARGV_const_t prefixes, + return rc; + } + +-static const char * const SCRIPT_PATH = "PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin"; ++static const char * const SCRIPT_PATH = "PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/opt/csw/bin:/opt/csw/sbin:/usr/sfw/bin"; + + static void doScriptExec(int selinux, ARGV_const_t argv, ARGV_const_t prefixes, + FD_t scriptFd, FD_t out) +@@ -309,7 +309,7 @@ rpmRC rpmScriptRun(rpmScript script, int arg1, int arg2, FD_t scriptFd, + if (script->args) { + argvAppend(&args, script->args); + } else { +- argvAdd(&args, "/bin/sh"); ++ argvAdd(&args, "/bin/bash"); + } + + if (rstreq(args[0], "<lua>")) { +diff --git a/macros.in b/macros.in +index 7c4a0d3..43f293a 100644 +--- a/macros.in ++++ b/macros.in +@@ -155,7 +155,7 @@ + %_builddir %{_topdir}/BUILD + + # The interpreter used for build scriptlets. +-%_buildshell /bin/sh ++%_buildshell /bin/bash + + # The path to the bzip2 executable (legacy, use %{__bzip2} instead). + %_bzip2bin %{__bzip2} +@@ -617,7 +617,7 @@ package or when debugging this package.\ + # Global defaults used for building scriptlet templates. + # + +-%___build_shell %{?_buildshell:%{_buildshell}}%{!?_buildshell:/bin/sh} ++%___build_shell %{?_buildshell:%{_buildshell}}%{!?_buildshell:/bin/bash} + %___build_args -e + %___build_cmd %{?_sudo:%{_sudo} }%{?_remsh:%{_remsh} %{_remhost} }%{?_remsudo:%{_remsudo} }%{?_remchroot:%{_remchroot} %{_remroot} }%{___build_shell} %{___build_args} + %___build_pre \ +-- +1.8.0 + Added: csw/mgar/pkg/rpm/trunk/files/0003-make-sure-that-rpmquery-rpmverify-are-pointing-to-th.patch =================================================================== --- csw/mgar/pkg/rpm/trunk/files/0003-make-sure-that-rpmquery-rpmverify-are-pointing-to-th.patch (rev 0) +++ csw/mgar/pkg/rpm/trunk/files/0003-make-sure-that-rpmquery-rpmverify-are-pointing-to-th.patch 2013-01-31 11:31:17 UTC (rev 20243) @@ -0,0 +1,46 @@ +From ea118d5d3d750665ef90389b92dbffeabe6565e7 Mon Sep 17 00:00:00 2001 +From: Toomas Pelberg <toom...@opencsw.org> +Date: Wed, 5 Dec 2012 08:51:26 +0100 +Subject: [PATCH] make sure that rpmquery/rpmverify are pointing to the right + direction + +--- + Makefile.am | 4 ++-- + Makefile.in | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 179c3e9..7c08ba0 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -224,9 +224,9 @@ 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: + DESTDIR="$(DESTDIR)" pkglibdir="$(rpmconfigdir)" \ +diff --git a/Makefile.in b/Makefile.in +index d720a9a..404e07b 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -1723,9 +1723,9 @@ rpmpopt-@VERSION@: $(top_srcdir)/rpmpopt.in + + 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: + DESTDIR="$(DESTDIR)" pkglibdir="$(rpmconfigdir)" \ +-- +1.8.0 + Added: csw/mgar/pkg/rpm/trunk/files/0004-fdatasync-fix.patch =================================================================== --- csw/mgar/pkg/rpm/trunk/files/0004-fdatasync-fix.patch (rev 0) +++ csw/mgar/pkg/rpm/trunk/files/0004-fdatasync-fix.patch 2013-01-31 11:31:17 UTC (rev 20243) @@ -0,0 +1,28 @@ +From e9da5ead197299acec1309f4ae4ce9dad3e6e9ec Mon Sep 17 00:00:00 2001 +From: Toomas Pelberg <toom...@opencsw.org> +Date: Thu, 6 Dec 2012 17:20:39 +0100 +Subject: [PATCH] fdatasync fix + +--- + lib/backend/db3.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/lib/backend/db3.c b/lib/backend/db3.c +index bbf9577..656486b 100644 +--- a/lib/backend/db3.c ++++ b/lib/backend/db3.c +@@ -221,7 +221,11 @@ errxit: + + void dbSetFSync(void *dbenv, int enable) + { ++#ifdef HAVE_FDATASYNC + db_env_set_func_fsync(enable ? fdatasync : fsync_disable); ++#else ++ db_env_set_func_fsync(enable ? fsync : fsync_disable); ++#endif + } + + int dbiSync(dbiIndex dbi, unsigned int flags) +-- +1.8.0 + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ devel mailing list devel@lists.opencsw.org https://lists.opencsw.org/mailman/listinfo/devel