mirror of
https://abf.rosa.ru/djam/rpm.git
synced 2025-02-23 10:23:04 +00:00
Automatic import for version 5.4.4
This commit is contained in:
parent
d5d753e187
commit
d5115e0f47
57 changed files with 3293 additions and 134 deletions
4
.abf.yml
4
.abf.yml
|
@ -1,3 +1,3 @@
|
|||
sources:
|
||||
"cpu-os-macros.tar.gz": 68dbf0b8b9c625c59ad607cf0eda665087cead58
|
||||
"rpm-5.3.12.tar.xz": 81cdbf2d0f432abef56444eeabf9c2eab1d25f8a
|
||||
"cpu-os-macros.tar.gz": 99c5fa561dd0d897bfa8cd97f2aa60781bc578d4
|
||||
"rpm-5.4.4.tar.gz": 0c51a217ad7058f9bd79bdfd2fe8602d6220730e
|
||||
|
|
|
@ -57,7 +57,6 @@
|
|||
rpm-helper>rpm
|
||||
|
||||
# enabling this by default is to be dropped ASAP
|
||||
%_dependency_whiteout %_dependency_whiteout_mandriva
|
||||
%_legacy_compat_non_pre_scripts_dont_fail 1
|
||||
|
||||
%_legacy_compat_all \
|
||||
|
|
|
@ -1,22 +1,32 @@
|
|||
--- rpm-5.3.12/lib/rpmds.c.55810~ 2011-07-12 18:15:29.016085065 +0200
|
||||
+++ rpm-5.3.12/lib/rpmds.c 2011-07-12 18:15:56.300506314 +0200
|
||||
@@ -4333,7 +4333,7 @@ assert((rpmdsFlags(B) & RPMSENSE_SENSEMA
|
||||
--- rpm-5.3.12/lib/rpmds.c.55810~ 2011-07-12 11:54:08.000000000 +0200
|
||||
+++ rpm-5.3.12/lib/rpmds.c 2011-07-13 16:51:59.699924504 +0200
|
||||
@@ -4333,9 +4333,10 @@ assert((rpmdsFlags(B) & RPMSENSE_SENSEMA
|
||||
case 'D': ix = RPMEVR_D; /*@switchbreak@*/break;
|
||||
}
|
||||
#if defined(RPM_VENDOR_MANDRIVA) /* mdvbz#55810 */
|
||||
- if(ix == RPMEVR_R && (bFlags & (~RPMSENSE_GREATER & RPMSENSE_EQUAL))
|
||||
- && *(b->F[ix]) == '\0')
|
||||
- break;
|
||||
+ if(ix >= RPMEVR_R && (bFlags & (~RPMSENSE_GREATER & RPMSENSE_EQUAL))
|
||||
&& *(b->F[ix]) == '\0')
|
||||
break;
|
||||
+ && !(ix == RPMEVR_D && (bFlags & RPMSENSE_LESS))
|
||||
+ && *(b->F[ix]) == '\0')
|
||||
+ break;
|
||||
if (a->F[ix] && b->F[ix])
|
||||
--- rpm-5.3.12/rpmdb/rpmevr.c.55810~ 2011-07-12 18:15:40.964269535 +0200
|
||||
+++ rpm-5.3.12/rpmdb/rpmevr.c 2011-07-12 18:15:42.897299380 +0200
|
||||
@@ -286,7 +286,7 @@ assert(b->F[RPMEVR_D] != NULL);
|
||||
#else
|
||||
if (a->F[ix] && *a->F[ix] && b->F[ix] && *b->F[ix])
|
||||
--- rpm-5.3.12/rpmdb/rpmevr.c.55810~ 2011-07-12 11:54:27.000000000 +0200
|
||||
+++ rpm-5.3.12/rpmdb/rpmevr.c 2011-07-13 16:51:59.700924519 +0200
|
||||
@@ -286,9 +286,10 @@ assert(b->F[RPMEVR_D] != NULL);
|
||||
case 'D': ix = RPMEVR_D; /*@switchbreak@*/break;
|
||||
}
|
||||
#if defined(RPM_VENDOR_MANDRIVA) /* mdvbz#55810 */
|
||||
- if(ix == RPMEVR_R && (b->Flags & (~RPMSENSE_GREATER & RPMSENSE_EQUAL))
|
||||
- && *(b->F[ix]) == '\0')
|
||||
- break;
|
||||
+ if(ix >= RPMEVR_R && (b->Flags & (~RPMSENSE_GREATER & RPMSENSE_EQUAL))
|
||||
&& *(b->F[ix]) == '\0')
|
||||
break;
|
||||
+ && !(ix == RPMEVR_D && (b->Flags & RPMSENSE_LESS))
|
||||
+ && *(b->F[ix]) == '\0')
|
||||
+ break;
|
||||
#endif
|
||||
|
||||
rc = compare_values(a->F[ix], b->F[ix]);
|
||||
|
|
61
rpm-5.4.3-no-libsql.patch
Normal file
61
rpm-5.4.3-no-libsql.patch
Normal file
|
@ -0,0 +1,61 @@
|
|||
--- rpm-5.4.3/lib/Makefile.am.nolibsql~ 2011-08-15 00:57:10.000000000 +0200
|
||||
+++ rpm-5.4.3/lib/Makefile.am 2011-10-15 18:58:07.787748136 +0200
|
||||
@@ -49,7 +49,7 @@ EXTRA_DIST = librpm.vers
|
||||
EXTRA_PROGRAMS = tevr tgi tsbt
|
||||
|
||||
pkglibdir = @USRLIBRPM@
|
||||
-pkglib_LTLIBRARIES = libsql.la
|
||||
+#pkglib_LTLIBRARIES = libsql.la
|
||||
|
||||
pkgincdir = $(pkgincludedir)$(WITH_PATH_VERSIONED_SUFFIX)
|
||||
pkginc_HEADERS = \
|
||||
@@ -84,11 +84,12 @@ if ENABLE_BUILD_MAXEXTLIBDEP
|
||||
librpm_la_LDFLAGS += $(LDFLAGS)
|
||||
librpm_la_LIBADD += $(LIBS)
|
||||
endif
|
||||
-librpm.la: $(librpm_la_OBJECTS) $(librpm_la_DEPENDENCIES)
|
||||
- $(librpm_la_LINK) -rpath $(usrlibdir) $(librpm_la_OBJECTS) $(librpm_la_LIBADD)
|
||||
+#librpm.la: $(librpm_la_OBJECTS) $(librpm_la_DEPENDENCIES)
|
||||
+# $(librpm_la_LINK) -rpath $(usrlibdir) $(librpm_la_OBJECTS) $(librpm_la_LIBADD)
|
||||
|
||||
-libsql_la_SOURCES = libsql.c
|
||||
-libsql_la_LIBADD = librpm.la $(RPMDB_LDADD_COMMON)
|
||||
+# fudge it for now...
|
||||
+#libsql_la_SOURCES = libsql.c
|
||||
+#libsql_la_LIBADD = librpm.la $(RPMDB_LDADD_COMMON)
|
||||
|
||||
install-data-hook:
|
||||
if !ENABLE_BUILD_LAFILES
|
||||
--- rpm-5.4.3/lib/Makefile.in.nolibsql~ 2011-10-01 17:02:20.000000000 +0200
|
||||
+++ rpm-5.4.3/lib/Makefile.in 2011-10-15 18:57:59.234743874 +0200
|
||||
@@ -652,7 +652,7 @@ RPMBUILD_LDADD_COMMON = \
|
||||
$(RPM_LDADD_COMMON)
|
||||
|
||||
EXTRA_DIST = librpm.vers
|
||||
-pkglib_LTLIBRARIES = libsql.la
|
||||
+#pkglib_LTLIBRARIES = libsql.la
|
||||
pkgincdir = $(pkgincludedir)$(WITH_PATH_VERSIONED_SUFFIX)
|
||||
pkginc_HEADERS = \
|
||||
rpmcli.h rpmversion.h rpmds.h rpmfi.h rpmgi.h rpmps.h \
|
||||
@@ -676,8 +676,8 @@ librpm_la_SOURCES = \
|
||||
librpm_la_LDFLAGS = -release $(LT_CURRENT).$(LT_REVISION) \
|
||||
$(am__append_1) $(am__append_3)
|
||||
librpm_la_LIBADD = $(am__append_2) $(am__append_4)
|
||||
-libsql_la_SOURCES = libsql.c
|
||||
-libsql_la_LIBADD = librpm.la $(RPMDB_LDADD_COMMON)
|
||||
+#libsql_la_SOURCES = libsql.c
|
||||
+#libsql_la_LIBADD = librpm.la $(RPMDB_LDADD_COMMON)
|
||||
BUILT_SOURCES = # rpmlib.lcd
|
||||
|
||||
#.PHONY: lcov-upload
|
||||
@@ -788,8 +788,8 @@ clean-usrlibLTLIBRARIES:
|
||||
echo "rm -f \"$${dir}/so_locations\""; \
|
||||
rm -f "$${dir}/so_locations"; \
|
||||
done
|
||||
-libsql.la: $(libsql_la_OBJECTS) $(libsql_la_DEPENDENCIES)
|
||||
- $(LINK) -rpath $(pkglibdir) $(libsql_la_OBJECTS) $(libsql_la_LIBADD) $(LIBS)
|
||||
+#libsql.la: $(libsql_la_OBJECTS) $(libsql_la_DEPENDENCIES)
|
||||
+# $(LINK) -rpath $(pkglibdir) $(libsql_la_OBJECTS) $(libsql_la_LIBADD) $(LIBS)
|
||||
tevr$(EXEEXT): $(tevr_OBJECTS) $(tevr_DEPENDENCIES)
|
||||
@rm -f tevr$(EXEEXT)
|
||||
$(LINK) $(tevr_OBJECTS) $(tevr_LDADD) $(LIBS)
|
159
rpm-5.4.4-add-_build_pkgcheck.patch
Normal file
159
rpm-5.4.4-add-_build_pkgcheck.patch
Normal file
|
@ -0,0 +1,159 @@
|
|||
--- rpm-5.4.4/build/pack.c.pkgcheck~ 2010-10-18 09:00:50.000000000 +0200
|
||||
+++ rpm-5.4.4/build/pack.c 2011-12-22 21:06:55.481563113 +0100
|
||||
@@ -1127,6 +1127,25 @@ static rpmTag copyTags[] = {
|
||||
0
|
||||
};
|
||||
|
||||
+static rpmRC checkPackages(const char *pkgcheck)
|
||||
+{
|
||||
+ int fail = rpmExpandNumeric("%{?_nonzero_exit_pkgcheck_terminate_build}");
|
||||
+ int xx;
|
||||
+
|
||||
+ rpmlog(RPMLOG_NOTICE, _("Executing \"%s\":\n"), pkgcheck);
|
||||
+ xx = system(pkgcheck);
|
||||
+ if (WEXITSTATUS(xx) == -1 || WEXITSTATUS(xx) == 127) {
|
||||
+ rpmlog(RPMLOG_ERR, _("Execution of \"%s\" failed.\n"), pkgcheck);
|
||||
+ if (fail) return 127;
|
||||
+ }
|
||||
+ if (WEXITSTATUS(xx) != 0) {
|
||||
+ rpmlog(RPMLOG_ERR, _("Package check \"%s\" failed.\n"), pkgcheck);
|
||||
+ if (fail) return RPMRC_FAIL;
|
||||
+ }
|
||||
+
|
||||
+ return RPMRC_OK;
|
||||
+}
|
||||
+
|
||||
rpmRC packageBinaries(Spec spec)
|
||||
{
|
||||
HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
|
||||
@@ -1136,6 +1155,7 @@ rpmRC packageBinaries(Spec spec)
|
||||
Package pkg;
|
||||
rpmRC rc = RPMRC_OK; /* assume success */
|
||||
int xx;
|
||||
+ ARGV_t pkglist = NULL;
|
||||
|
||||
for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
|
||||
const char *fn;
|
||||
@@ -1233,11 +1253,46 @@ assert(csa->fi != NULL);
|
||||
csa->cpioFdIn = fdFree(csa->cpioFdIn, "init (packageBinaries)");
|
||||
/*@=nullpass =onlytrans =refcounttrans @*/
|
||||
/*@=type@*/
|
||||
+ if (rc == RPMRC_OK) {
|
||||
+ /* Do check each written package if enabled */
|
||||
+ char *pkgcheck = rpmExpand("%{?_build_pkgcheck} ", fn, NULL);
|
||||
+ if (pkgcheck[0] != ' ') {
|
||||
+ rc = checkPackages(pkgcheck);
|
||||
+ }
|
||||
+ pkgcheck = _free(pkgcheck);
|
||||
+ xx = argvAdd(&pkglist, fn);
|
||||
+ }
|
||||
fn = _free(fn);
|
||||
- if (rc)
|
||||
+ if (rc) {
|
||||
+ pkglist = argvFree(pkglist);
|
||||
goto exit;
|
||||
+ }
|
||||
}
|
||||
-
|
||||
+
|
||||
+ /* Now check the package set if enabled */
|
||||
+ if (pkglist != NULL) {
|
||||
+ char *pkgcheck_set = NULL;
|
||||
+ char *pkgs = NULL;
|
||||
+ size_t pkglen = 0;
|
||||
+ int i;
|
||||
+ for (i = 0; i < argvCount(pkglist); i++)
|
||||
+ pkglen += strlen(pkglist[i]) + 1;
|
||||
+ pkgs = xcalloc(1, pkglen);
|
||||
+ for (i = 0; i < argvCount(pkglist); i++) {
|
||||
+ if (i)
|
||||
+ strcat(pkgs, " ");
|
||||
+ strcat(pkgs, pkglist[i]);
|
||||
+ }
|
||||
+
|
||||
+ pkgcheck_set = rpmExpand("%{?_build_pkgcheck_set} ", pkgs, NULL);
|
||||
+ if (pkgcheck_set[0] != ' ') { /* run only if _build_pkgcheck_set is defined */
|
||||
+ rc = checkPackages(pkgcheck_set);
|
||||
+ }
|
||||
+ pkgcheck_set = _free(pkgcheck_set);
|
||||
+ pkglist = argvFree(pkglist);
|
||||
+ pkgs = _free(pkgs);
|
||||
+ }
|
||||
+
|
||||
exit:
|
||||
|
||||
return rc;
|
||||
@@ -1310,6 +1365,7 @@ rpmRC packageSources(Spec spec)
|
||||
/* XXX this should be %_srpmdir */
|
||||
{ const char *srcrpmdir = rpmGetPath("%{_srcrpmdir}/", NULL);
|
||||
const char *fn = rpmGetPath("%{_srcrpmdir}/", spec->sourceRpmName,NULL);
|
||||
+ const char *pkgcheck = rpmExpand("%{?_build_pkgcheck_srpm} ", fn, NULL);
|
||||
|
||||
rc = rpmioMkpath(srcrpmdir, 0755, -1, -1);
|
||||
|
||||
@@ -1333,6 +1389,11 @@ assert(csa->fi != NULL);
|
||||
rc = writeRPM(&spec->sourceHeader, &spec->sourcePkgId, fn,
|
||||
csa, spec->passPhrase, &spec->cookie, spec->dig);
|
||||
|
||||
+ /* Do check SRPM package if enabled */
|
||||
+ if (rc == RPMRC_OK && pkgcheck[0] != ' ') {
|
||||
+ rc = checkPackages(pkgcheck);
|
||||
+ }
|
||||
+
|
||||
/*@-onlytrans@*/
|
||||
csa->fi->te = _free(csa->fi->te); /* XXX memory leak */
|
||||
/*@=onlytrans@*/
|
||||
@@ -1343,6 +1404,7 @@ assert(csa->fi != NULL);
|
||||
/*@=type@*/
|
||||
srcrpmdir = _free(srcrpmdir);
|
||||
fn = _free(fn);
|
||||
+ pkgcheck = _free(pkgcheck);
|
||||
}
|
||||
|
||||
rc = (rc ? RPMRC_FAIL : RPMRC_OK);
|
||||
--- rpm-5.4.4/macros/macros.rpmbuild.in.pkgcheck~ 2011-12-22 21:06:55.422563184 +0100
|
||||
+++ rpm-5.4.4/macros/macros.rpmbuild.in 2011-12-22 21:06:55.484563110 +0100
|
||||
@@ -193,6 +193,30 @@ echo "Patch #%{__patch_number} (%{basena
|
||||
%_missing_doc_files_terminate_build 1
|
||||
|
||||
#
|
||||
+# Program to call for each successfully built and written binary package.
|
||||
+# The package name is passed to the program as a command-line argument.
|
||||
+#
|
||||
+#%_build_pkgcheck %{_bindir}/rpmlint
|
||||
+
|
||||
+#
|
||||
+# Program to call for the whole binary package set after build.
|
||||
+# The package set is passed to the program via command-line arguments.
|
||||
+#
|
||||
+#%_build_pkgcheck_set %{_bindir}/rpmlint
|
||||
+
|
||||
+#
|
||||
+# Program to call for successfully built and written SRPM.
|
||||
+# The package name is passed to the program as a command-line argument.
|
||||
+#
|
||||
+#%_build_pkgcheck_srpm %{_bindir}/rpmlint
|
||||
+
|
||||
+#
|
||||
+# Should the build of packages fail if package checker (if defined) returns
|
||||
+# non-zero exit status?
|
||||
+#
|
||||
+#%_nonzero_exit_pkgcheck_terminate_build 1
|
||||
+
|
||||
+#
|
||||
# Should an ELF file processed by find-debuginfo.sh having no build ID
|
||||
# terminate a build? This is left undefined to disable it and defined to
|
||||
# enable.
|
||||
--- rpm-5.4.4/macros/mandriva.in.pkgcheck~ 2011-12-22 21:06:55.467563130 +0100
|
||||
+++ rpm-5.4.4/macros/mandriva.in 2011-12-22 21:07:48.621500050 +0100
|
||||
@@ -124,6 +124,10 @@ end\
|
||||
|
||||
%_duplicate_files_terminate_build 1
|
||||
%_unpackaged_subdirs_terminate_build 0
|
||||
+%_build_pkgcheck_set /usr/bin/rpmlint -T -f %{_sourcedir}/%{name}.rpmlintrc
|
||||
+%_build_pkgcheck_srpm /usr/bin/rpmlint -T -f %{_sourcedir}/%{name}.rpmlintrc
|
||||
+%_nonzero_exit_pkgcheck_terminate_build 1
|
||||
+
|
||||
|
||||
%_enable_debug_packages 1
|
||||
|
10
rpm-5.4.4-add-_specfile-macro.patch
Normal file
10
rpm-5.4.4-add-_specfile-macro.patch
Normal file
|
@ -0,0 +1,10 @@
|
|||
--- rpm-5.4.4/build/parseSpec.c.specfile~ 2011-11-11 13:41:29.137827186 +0100
|
||||
+++ rpm-5.4.4/build/parseSpec.c 2011-11-11 13:42:12.938874762 +0100
|
||||
@@ -542,6 +542,7 @@ int parseSpec(rpmts ts, const char *spec
|
||||
* /.././../usr/../bin//./sh (XXX FIXME: dots not handled yet)
|
||||
*/
|
||||
spec->specFile = rpmGetPath(specFile, NULL);
|
||||
+ addMacro(spec->macros, "_specfile", NULL, spec->specFile, RMIL_SPEC);
|
||||
spec->fileStack = newOpenFileInfo();
|
||||
spec->fileStack->fileName = xstrdup(spec->specFile);
|
||||
|
11
rpm-5.4.4-allow-installation-of-repackaged-rpms.patch
Normal file
11
rpm-5.4.4-allow-installation-of-repackaged-rpms.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- rpm-5.4.4/rpmdb/rpmdb.c.repackage~ 2011-11-24 16:28:22.436460713 +0100
|
||||
+++ rpm-5.4.4/rpmdb/rpmdb.c 2011-11-24 16:28:30.107464575 +0100
|
||||
@@ -2758,7 +2758,7 @@ int rpmdbAdd(rpmdb db, int iid, Header h
|
||||
if (_rpmdb_debug)
|
||||
fprintf(stderr, "--> %s(%p, %u, %p, %p) h# %u\n", __FUNCTION__, db, (unsigned)iid, h, ts, (unsigned)hdrNum);
|
||||
|
||||
-assert(headerIsEntry(h, RPMTAG_REMOVETID) == 0); /* XXX sanity */
|
||||
+//assert(headerIsEntry(h, RPMTAG_REMOVETID) == 0); /* XXX sanity */
|
||||
|
||||
/* Add the install transaction id. */
|
||||
if (iid != 0 && iid != -1) {
|
75
rpm-5.4.4-avoid-dependencies-on-self.patch
Normal file
75
rpm-5.4.4-avoid-dependencies-on-self.patch
Normal file
|
@ -0,0 +1,75 @@
|
|||
--- rpm-5.4.4/lib/rpmfc.c.drop_deps~ 2011-04-12 09:59:26.000000000 +0200
|
||||
+++ rpm-5.4.4/lib/rpmfc.c 2011-12-22 20:21:07.089502076 +0100
|
||||
@@ -1658,6 +1658,64 @@ static int rpmfcGenerateScriptletDeps(co
|
||||
return rc;
|
||||
}
|
||||
|
||||
+static void removeSillyDeps(Header h) {
|
||||
+ HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
|
||||
+ int xx, i, rnum, removed = 0;
|
||||
+ const char **deps = NULL;
|
||||
+ const char **versions = NULL;
|
||||
+ evrFlags *flags = NULL;
|
||||
+
|
||||
+ he->tag = RPMTAG_REQUIRENAME;
|
||||
+ xx = headerGet(h, he, 0);
|
||||
+ deps = he->p.argv;
|
||||
+ rnum = he->c;
|
||||
+
|
||||
+ he->tag = RPMTAG_REQUIREVERSION;
|
||||
+ xx = headerGet(h, he, 0);
|
||||
+ versions = he->p.argv;
|
||||
+
|
||||
+ he->tag = RPMTAG_REQUIREFLAGS;
|
||||
+ xx = headerGet(h, he, 0);
|
||||
+ flags = (evrFlags*)he->p.ui32p;
|
||||
+
|
||||
+ for (i = 0; i < rnum-removed; i++) {
|
||||
+ if (removed) {
|
||||
+ deps[i] = deps[i+removed];
|
||||
+ versions[i] = versions[i+removed];
|
||||
+ flags[i] = flags[i+removed];
|
||||
+ }
|
||||
+ rpmds req = rpmdsSingle(RPMTAG_REQUIRENAME, deps[i], versions[i], flags[i]);
|
||||
+ rpmds prov = rpmdsNew(h, (*deps[i] == '/' && !*versions[i]) ? RPMTAG_BASENAMES : RPMTAG_PROVIDENAME, 0);
|
||||
+ if (rpmdsMatch(req, prov)) {
|
||||
+ if (flags[i] & RPMSENSE_SCRIPT_PRE)
|
||||
+ rpmlog(RPMLOG_ERR, "Requires(pre): on dependency provided by self: %s\n", rpmdsDNEVR(req));
|
||||
+ else {
|
||||
+ rpmlog(RPMLOG_NOTICE, "Removing dependency on self: %s\n", rpmdsDNEVR(req));
|
||||
+ removed++;
|
||||
+ i--;
|
||||
+ }
|
||||
+ }
|
||||
+ req = rpmdsFree(req);
|
||||
+ prov = rpmdsFree(prov);
|
||||
+ }
|
||||
+ if (removed) {
|
||||
+ he->tag = RPMTAG_REQUIRENAME;
|
||||
+ he->t = RPM_STRING_ARRAY_TYPE;
|
||||
+ he->p.argv = deps;
|
||||
+ he->c -= removed;
|
||||
+ headerMod(h, he, 0);
|
||||
+
|
||||
+ he->tag = RPMTAG_REQUIREVERSION;
|
||||
+ he->p.argv = versions;
|
||||
+ headerMod(h, he, 0);
|
||||
+
|
||||
+ he->tag = RPMTAG_REQUIREFLAGS;
|
||||
+ he->t = RPM_UINT32_TYPE;
|
||||
+ he->p.ui32p = (uint32_t*)flags;
|
||||
+ headerMod(h, he, 0);
|
||||
+ }
|
||||
+
|
||||
+}
|
||||
rpmRC rpmfcGenerateDepends(void * specp, void * pkgp)
|
||||
{
|
||||
HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
|
||||
@@ -1691,6 +1749,7 @@ rpmRC rpmfcGenerateDepends(void * specp,
|
||||
if (internaldeps == 0) {
|
||||
/* ... then generate dependencies using %{__find_requires} et al. */
|
||||
rc = rpmfcGenerateDependsHelper(spec, pkg, fi);
|
||||
+ removeSillyDeps(pkg->header);
|
||||
printDeps(pkg->header);
|
||||
return rc;
|
||||
}
|
11
rpm-5.4.4-compress-debug-sections.patch
Normal file
11
rpm-5.4.4-compress-debug-sections.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- rpm-5.4.4/macros/mandriva.in.compress_debug~ 2011-11-29 16:06:45.381159706 +0100
|
||||
+++ rpm-5.4.4/macros/mandriva.in 2011-11-29 16:07:14.313207927 +0100
|
||||
@@ -141,7 +141,7 @@ end\
|
||||
# - %{mklibname test 1 -d 0 -s} => libtest1_0-static-devel
|
||||
%mklibname(ds) %{_lib}%{1}%{?2:%{2}}%{?3:_%{3}}%{-s:-static}%{-d:-devel}
|
||||
|
||||
-%debugcflags %{?_enable_debug_packages:-gdwarf-4 -fvar-tracking-assignments -frecord-gcc-switches -Wstrict-aliasing=2}
|
||||
+%debugcflags %{?_enable_debug_packages:-Wa,--compress-debug-sections -gdwarf-4 -fvar-tracking-assignments -frecord-gcc-switches -Wstrict-aliasing=2}
|
||||
|
||||
# common compilation flags
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
--- rpm-5.4.4/scripts/find-debuginfo.sh.gdb_index~ 2011-11-28 17:08:42.543140658 +0100
|
||||
+++ rpm-5.4.4/scripts/find-debuginfo.sh 2011-11-28 17:08:45.829144152 +0100
|
||||
@@ -226,6 +226,8 @@ while read nlinks inum f; do
|
||||
$strict && exit 2
|
||||
fi
|
||||
|
||||
+ [ -x /usr/bin/gdb-add-index ] && /usr/bin/gdb-add-index "$f" > /dev/null 2>&1
|
||||
+
|
||||
# A binary already copied into /usr/lib/debug doesn't get stripped,
|
||||
# just has its file names collected and adjusted.
|
||||
case "$dn" in
|
114
rpm-5.4.4-debugedit-add-dwarf4-support.patch
Normal file
114
rpm-5.4.4-debugedit-add-dwarf4-support.patch
Normal file
|
@ -0,0 +1,114 @@
|
|||
--- rpm-5.4.4/tools/debugedit.c.debugedit_dwarf4~ 2011-11-28 16:29:10.859401835 +0100
|
||||
+++ rpm-5.4.4/tools/debugedit.c 2011-11-28 16:36:32.391927409 +0100
|
||||
@@ -1,4 +1,4 @@
|
||||
-/* Copyright (C) 2001, 2002, 2003, 2005, 2007, 2009, 2010 Red Hat, Inc.
|
||||
+/* Copyright (C) 2001, 2002, 2003, 2005, 2007, 2009, 2010, 2011 Red Hat, Inc.
|
||||
Written by Alexander Larsson <alexl@redhat.com>, 2002
|
||||
Based on code by Jakub Jelinek <jakub@redhat.com>, 2001.
|
||||
|
||||
@@ -70,6 +70,10 @@
|
||||
#include <rpmtag.h>
|
||||
|
||||
#define DW_TAG_partial_unit 0x3c
|
||||
+#define DW_FORM_sec_offset 0x17
|
||||
+#define DW_FORM_exprloc 0x18
|
||||
+#define DW_FORM_flag_present 0x19
|
||||
+#define DW_FORM_ref_sig8 0x20
|
||||
|
||||
char *base_dir = NULL;
|
||||
char *dest_dir = NULL;
|
||||
@@ -246,6 +250,7 @@ static struct
|
||||
#define DEBUG_STR 8
|
||||
#define DEBUG_FRAME 9
|
||||
#define DEBUG_RANGES 10
|
||||
+#define DEBUG_TYPES 11
|
||||
{ ".debug_info", NULL, NULL, 0, 0, 0 },
|
||||
{ ".debug_abbrev", NULL, NULL, 0, 0, 0 },
|
||||
{ ".debug_line", NULL, NULL, 0, 0, 0 },
|
||||
@@ -257,6 +262,7 @@ static struct
|
||||
{ ".debug_str", NULL, NULL, 0, 0, 0 },
|
||||
{ ".debug_frame", NULL, NULL, 0, 0, 0 },
|
||||
{ ".debug_ranges", NULL, NULL, 0, 0, 0 },
|
||||
+ { ".debug_types", NULL, NULL, 0, 0, 0 },
|
||||
{ NULL, NULL, NULL, 0, 0, 0 }
|
||||
};
|
||||
|
||||
@@ -349,7 +355,8 @@ no_memory:
|
||||
goto no_memory;
|
||||
}
|
||||
form = read_uleb128 (ptr);
|
||||
- if (form == 2 || form > DW_FORM_indirect)
|
||||
+ if (form == 2
|
||||
+ || (form > DW_FORM_flag_present && form != DW_FORM_ref_sig8))
|
||||
{
|
||||
error (0, 0, "%s: Unknown DWARF DW_FORM_%d", dso->filename, form);
|
||||
htab_delete (h);
|
||||
@@ -519,7 +526,7 @@ edit_dwarf2_line (DSO *dso, rpmuint32_t
|
||||
}
|
||||
|
||||
value = read_16 (ptr);
|
||||
- if (value != 2 && value != 3)
|
||||
+ if (value != 2 && value != 3 && value != 4)
|
||||
{
|
||||
error (0, 0, "%s: DWARF version %d unhandled", dso->filename,
|
||||
value);
|
||||
@@ -535,8 +542,8 @@ edit_dwarf2_line (DSO *dso, rpmuint32_t
|
||||
return 1;
|
||||
}
|
||||
|
||||
- opcode_base = ptr[4];
|
||||
- ptr = dir = ptr + 4 + opcode_base;
|
||||
+ opcode_base = ptr[4 + (value >= 4)];
|
||||
+ ptr = dir = ptr + 4 + (value >= 4) + opcode_base;
|
||||
|
||||
/* dir table: */
|
||||
value = 1;
|
||||
@@ -763,7 +770,8 @@ edit_attributes (DSO *dso, unsigned char
|
||||
{
|
||||
if (t->attr[i].attr == DW_AT_stmt_list)
|
||||
{
|
||||
- if (form == DW_FORM_data4)
|
||||
+ if (form == DW_FORM_data4
|
||||
+ || form == DW_FORM_sec_offset)
|
||||
{
|
||||
list_offs = do_read_32_relocated (ptr);
|
||||
found_list_offs = 1;
|
||||
@@ -866,6 +874,8 @@ edit_attributes (DSO *dso, unsigned char
|
||||
else
|
||||
ptr += 4;
|
||||
break;
|
||||
+ case DW_FORM_flag_present:
|
||||
+ break;
|
||||
case DW_FORM_addr:
|
||||
ptr += ptr_size;
|
||||
break;
|
||||
@@ -880,10 +890,12 @@ edit_attributes (DSO *dso, unsigned char
|
||||
break;
|
||||
case DW_FORM_ref4:
|
||||
case DW_FORM_data4:
|
||||
+ case DW_FORM_sec_offset:
|
||||
ptr += 4;
|
||||
break;
|
||||
case DW_FORM_ref8:
|
||||
case DW_FORM_data8:
|
||||
+ case DW_FORM_ref_sig8:
|
||||
ptr += 8;
|
||||
break;
|
||||
case DW_FORM_sdata:
|
||||
@@ -912,6 +924,7 @@ edit_attributes (DSO *dso, unsigned char
|
||||
form = DW_FORM_block1;
|
||||
break;
|
||||
case DW_FORM_block:
|
||||
+ case DW_FORM_exprloc:
|
||||
len = read_uleb128 (ptr);
|
||||
form = DW_FORM_block1;
|
||||
assert (len < UINT_MAX);
|
||||
@@ -1215,7 +1228,7 @@ edit_dwarf2 (DSO *dso)
|
||||
}
|
||||
|
||||
cu_version = read_16 (ptr);
|
||||
- if (cu_version != 2 && cu_version != 3)
|
||||
+ if (cu_version != 2 && cu_version != 3 && cu_version != 4)
|
||||
{
|
||||
error (0, 0, "%s: DWARF version %d unhandled", dso->filename,
|
||||
cu_version);
|
|
@ -0,0 +1,17 @@
|
|||
--- rpm-5.4.4/tools/debugedit.c.stabs_fail~ 2011-11-28 16:26:30.102211728 +0100
|
||||
+++ rpm-5.4.4/tools/debugedit.c 2011-11-28 16:29:10.859401835 +0100
|
||||
@@ -1604,10 +1604,11 @@ main (int argc, char *argv[])
|
||||
case SHT_MIPS_DWARF:
|
||||
name = strptr (dso, dso->ehdr.e_shstrndx, dso->shdr[i].sh_name);
|
||||
/* TODO: Handle stabs */
|
||||
-#if 0
|
||||
if (strcmp (name, ".stab") == 0)
|
||||
- edit_stabs (dso, i);
|
||||
-#endif
|
||||
+ {
|
||||
+ fprintf (stderr, "Stabs debuginfo not supported: %s\n", file);
|
||||
+ exit (1);
|
||||
+ }
|
||||
if (strcmp (name, ".debug_info") == 0)
|
||||
edit_dwarf2 (dso);
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
--- rpm-5.4.4/tools/debugedit.c.error_messages 2011-11-28 16:22:43.045944430 +0100
|
||||
+++ rpm-5.4.4/tools/debugedit.c 2011-11-28 16:22:58.231962263 +0100
|
||||
@@ -703,7 +703,7 @@ edit_dwarf2_line (DSO *dso, rpmuint32_t
|
||||
size_t len = (abs_dir_cnt + abs_file_cnt) * (base_len - dest_len);
|
||||
|
||||
if (len == 1)
|
||||
- error (EXIT_FAILURE, 0, "-b arg has to be either the same length as -d arg, or more than 1 char shorter");
|
||||
+ error (EXIT_FAILURE, 0, "-b arg has to be either the same length as -d arg, or more than 1 char longer");
|
||||
memset (ptr, 'X', len - 1);
|
||||
ptr += len - 1;
|
||||
*ptr++ = '\0';
|
||||
@@ -1540,7 +1540,7 @@ main (int argc, char *argv[])
|
||||
}
|
||||
if (strlen (dest_dir) > strlen (base_dir))
|
||||
{
|
||||
- fprintf (stderr, "Only dest dir longer than base dir not supported\n");
|
||||
+ fprintf (stderr, "Dest dir longer than base dir is not supported\n");
|
||||
exit (1);
|
||||
}
|
||||
}
|
18
rpm-5.4.4-debugedit-recognize-debug_macro-section.patch
Normal file
18
rpm-5.4.4-debugedit-recognize-debug_macro-section.patch
Normal file
|
@ -0,0 +1,18 @@
|
|||
--- rpm-5.4.4/tools/debugedit.c.debug_macro~ 2011-12-16 16:14:38.049872549 +0100
|
||||
+++ rpm-5.4.4/tools/debugedit.c 2011-12-20 11:51:58.427115549 +0100
|
||||
@@ -251,6 +251,7 @@ static struct
|
||||
#define DEBUG_FRAME 9
|
||||
#define DEBUG_RANGES 10
|
||||
#define DEBUG_TYPES 11
|
||||
+#define DEBUG_MACRO 12
|
||||
{ ".debug_info", NULL, NULL, 0, 0, 0 },
|
||||
{ ".debug_abbrev", NULL, NULL, 0, 0, 0 },
|
||||
{ ".debug_line", NULL, NULL, 0, 0, 0 },
|
||||
@@ -263,6 +264,7 @@ static struct
|
||||
{ ".debug_frame", NULL, NULL, 0, 0, 0 },
|
||||
{ ".debug_ranges", NULL, NULL, 0, 0, 0 },
|
||||
{ ".debug_types", NULL, NULL, 0, 0, 0 },
|
||||
+ { ".debug_macro", NULL, NULL, 0, 0, 0 },
|
||||
{ NULL, NULL, NULL, 0, 0, 0 }
|
||||
};
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
--- rpm-5.4.4/tools/debugedit.c.recompute~ 2011-11-28 16:17:11.223517307 +0100
|
||||
+++ rpm-5.4.4/tools/debugedit.c 2011-11-28 16:17:32.113546358 +0100
|
||||
@@ -464,6 +464,14 @@ canonicalize_path (const char *s, char *
|
||||
return rv;
|
||||
}
|
||||
|
||||
+static int dirty_elf;
|
||||
+static void
|
||||
+dirty_section (unsigned int sec)
|
||||
+{
|
||||
+ elf_flagdata (debug_sections[sec].elf_data, ELF_C_SET, ELF_F_DIRTY);
|
||||
+ dirty_elf = 1;
|
||||
+}
|
||||
+
|
||||
static int
|
||||
has_prefix (const char *str,
|
||||
const char *prefix)
|
||||
@@ -654,6 +662,8 @@ edit_dwarf2_line (DSO *dso, rpmuint32_t
|
||||
size_t len = strlen ((char *)srcptr) + 1;
|
||||
const unsigned char *readptr = srcptr;
|
||||
|
||||
+ char *orig = strdup ((const char *) srcptr);
|
||||
+
|
||||
if (*srcptr == '/' && has_prefix ((char *)srcptr, base_dir))
|
||||
{
|
||||
if (dest_len < base_len)
|
||||
@@ -670,8 +680,9 @@ edit_dwarf2_line (DSO *dso, rpmuint32_t
|
||||
shrank -= len;
|
||||
ptr += len;
|
||||
|
||||
- elf_flagdata (debug_sections[DEBUG_STR].elf_data,
|
||||
- ELF_C_SET, ELF_F_DIRTY);
|
||||
+ if (memcmp (orig, ptr - len, len))
|
||||
+ dirty_section (DEBUG_STR);
|
||||
+ free (orig);
|
||||
}
|
||||
|
||||
if (shrank > 0)
|
||||
@@ -713,8 +724,7 @@ edit_dwarf2_line (DSO *dso, rpmuint32_t
|
||||
len - base_len);
|
||||
ptr += dest_len - base_len;
|
||||
}
|
||||
- elf_flagdata (debug_sections[DEBUG_STR].elf_data,
|
||||
- ELF_C_SET, ELF_F_DIRTY);
|
||||
+ dirty_section (DEBUG_STR);
|
||||
}
|
||||
else if (ptr != srcptr)
|
||||
memmove (ptr, srcptr, len);
|
||||
@@ -782,11 +792,9 @@ edit_attributes (DSO *dso, unsigned char
|
||||
|
||||
|
||||
}
|
||||
- elf_flagdata (debug_sections[DEBUG_INFO].elf_data,
|
||||
- ELF_C_SET, ELF_F_DIRTY);
|
||||
+ dirty_section (DEBUG_INFO);
|
||||
}
|
||||
}
|
||||
-
|
||||
else if (form == DW_FORM_strp &&
|
||||
debug_sections[DEBUG_STR].data)
|
||||
{
|
||||
@@ -809,8 +817,7 @@ edit_attributes (DSO *dso, unsigned char
|
||||
memmove (dir + dest_len, dir + base_len,
|
||||
strlen (dir + base_len) + 1);
|
||||
}
|
||||
- elf_flagdata (debug_sections[DEBUG_STR].elf_data,
|
||||
- ELF_C_SET, ELF_F_DIRTY);
|
||||
+ dirty_section (DEBUG_STR);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -849,8 +856,7 @@ edit_attributes (DSO *dso, unsigned char
|
||||
memmove (name + dest_len, name + base_len,
|
||||
strlen (name + base_len) + 1);
|
||||
}
|
||||
- elf_flagdata (debug_sections[DEBUG_STR].elf_data,
|
||||
- ELF_C_SET, ELF_F_DIRTY);
|
||||
+ dirty_section (DEBUG_STR);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1387,6 +1393,9 @@ handle_build_id (DSO *dso, Elf_Data *bui
|
||||
exit (1);
|
||||
}
|
||||
|
||||
+ if (!dirty_elf)
|
||||
+ goto print;
|
||||
+
|
||||
if (elf_update (dso->elf, ELF_C_NULL) < 0)
|
||||
{
|
||||
fprintf (stderr, "Failed to update file: %s\n",
|
||||
@@ -1471,6 +1480,7 @@ handle_build_id (DSO *dso, Elf_Data *bui
|
||||
|
||||
elf_flagdata (build_id, ELF_C_SET, ELF_F_DIRTY);
|
||||
|
||||
+ print:
|
||||
/* Now format the build ID bits in hex to print out. */
|
||||
{
|
||||
const rpmuint8_t * id = (rpmuint8_t *)build_id->d_buf + build_id_offset;
|
18
rpm-5.4.4-debugedit-remove-unused-variable.patch
Normal file
18
rpm-5.4.4-debugedit-remove-unused-variable.patch
Normal file
|
@ -0,0 +1,18 @@
|
|||
--- rpm-5.4.4/tools/debugedit.c.unused_variable~ 2011-11-28 16:22:58.231962263 +0100
|
||||
+++ rpm-5.4.4/tools/debugedit.c 2011-11-28 16:26:30.102211728 +0100
|
||||
@@ -378,7 +378,6 @@ static char *
|
||||
canonicalize_path (const char *s, char *d)
|
||||
{
|
||||
char *rv = d;
|
||||
- const char *sroot;
|
||||
char *droot;
|
||||
|
||||
if (IS_DIR_SEPARATOR (*s))
|
||||
@@ -394,7 +393,6 @@ canonicalize_path (const char *s, char *
|
||||
s++;
|
||||
}
|
||||
droot = d;
|
||||
- sroot = s;
|
||||
|
||||
while (*s)
|
||||
{
|
374
rpm-5.4.4-debugedit-whitespace-fixups.patch
Normal file
374
rpm-5.4.4-debugedit-whitespace-fixups.patch
Normal file
|
@ -0,0 +1,374 @@
|
|||
--- rpm-5.4.4/tools/debugedit.c.whitespace~ 2011-11-28 15:40:48.395405934 +0100
|
||||
+++ rpm-5.4.4/tools/debugedit.c 2011-11-28 16:15:17.538359147 +0100
|
||||
@@ -1,4 +1,4 @@
|
||||
-/* Copyright (C) 2001, 2002, 2003, 2005, 2007, 2009 Red Hat, Inc.
|
||||
+/* Copyright (C) 2001, 2002, 2003, 2005, 2007, 2009, 2010 Red Hat, Inc.
|
||||
Written by Alexander Larsson <alexl@redhat.com>, 2002
|
||||
Based on code by Jakub Jelinek <jakub@redhat.com>, 2001.
|
||||
|
||||
@@ -470,13 +470,13 @@ has_prefix (const char *str,
|
||||
{
|
||||
size_t str_len;
|
||||
size_t prefix_len;
|
||||
-
|
||||
+
|
||||
str_len = strlen (str);
|
||||
prefix_len = strlen (prefix);
|
||||
|
||||
if (str_len < prefix_len)
|
||||
return 0;
|
||||
-
|
||||
+
|
||||
return strncmp (str, prefix, prefix_len) == 0;
|
||||
}
|
||||
|
||||
@@ -494,9 +494,9 @@ edit_dwarf2_line (DSO *dso, rpmuint32_t
|
||||
|
||||
if (phase != 0)
|
||||
return 0;
|
||||
-
|
||||
+
|
||||
ptr += off;
|
||||
-
|
||||
+
|
||||
endcu = ptr + 4;
|
||||
endcu += read_32 (ptr);
|
||||
if (endcu == ptr + 0xffffffff)
|
||||
@@ -528,10 +528,10 @@ edit_dwarf2_line (DSO *dso, rpmuint32_t
|
||||
dso->filename);
|
||||
return 1;
|
||||
}
|
||||
-
|
||||
+
|
||||
opcode_base = ptr[4];
|
||||
ptr = dir = ptr + 4 + opcode_base;
|
||||
-
|
||||
+
|
||||
/* dir table: */
|
||||
value = 1;
|
||||
while (*ptr != 0)
|
||||
@@ -626,12 +626,12 @@ edit_dwarf2_line (DSO *dso, rpmuint32_t
|
||||
}
|
||||
|
||||
free (s);
|
||||
-
|
||||
+
|
||||
read_uleb128 (ptr);
|
||||
read_uleb128 (ptr);
|
||||
}
|
||||
++ptr;
|
||||
-
|
||||
+
|
||||
if (dest_dir)
|
||||
{
|
||||
unsigned char *srcptr, *buf = NULL;
|
||||
@@ -657,11 +657,11 @@ edit_dwarf2_line (DSO *dso, rpmuint32_t
|
||||
if (*srcptr == '/' && has_prefix ((char *)srcptr, base_dir))
|
||||
{
|
||||
if (dest_len < base_len)
|
||||
- ++abs_dir_cnt;
|
||||
+ ++abs_dir_cnt;
|
||||
memcpy (ptr, dest_dir, dest_len);
|
||||
ptr += dest_len;
|
||||
readptr += base_len;
|
||||
- }
|
||||
+ }
|
||||
srcptr += len;
|
||||
|
||||
shrank += srcptr - readptr;
|
||||
@@ -670,9 +670,9 @@ edit_dwarf2_line (DSO *dso, rpmuint32_t
|
||||
shrank -= len;
|
||||
ptr += len;
|
||||
|
||||
- elf_flagdata (debug_sections[DEBUG_STR].elf_data,
|
||||
- ELF_C_SET, ELF_F_DIRTY);
|
||||
- }
|
||||
+ elf_flagdata (debug_sections[DEBUG_STR].elf_data,
|
||||
+ ELF_C_SET, ELF_F_DIRTY);
|
||||
+ }
|
||||
|
||||
if (shrank > 0)
|
||||
{
|
||||
@@ -680,7 +680,7 @@ edit_dwarf2_line (DSO *dso, rpmuint32_t
|
||||
error (EXIT_FAILURE, 0,
|
||||
"canonicalization unexpectedly shrank by one character");
|
||||
else
|
||||
- {
|
||||
+ {
|
||||
memset (ptr, 'X', shrank);
|
||||
ptr += shrank;
|
||||
*ptr++ = '\0';
|
||||
@@ -734,8 +734,6 @@ edit_dwarf2_line (DSO *dso, rpmuint32_t
|
||||
return 0;
|
||||
}
|
||||
|
||||
-
|
||||
-
|
||||
static unsigned char *
|
||||
edit_attributes (DSO *dso, unsigned char *ptr, struct abbrev_tag *t, int phase)
|
||||
{
|
||||
@@ -752,7 +750,6 @@ edit_attributes (DSO *dso, unsigned char
|
||||
rpmuint32_t form = t->attr[i].form;
|
||||
size_t len = 0;
|
||||
size_t base_len, dest_len;
|
||||
-
|
||||
|
||||
while (1)
|
||||
{
|
||||
@@ -766,14 +763,14 @@ edit_attributes (DSO *dso, unsigned char
|
||||
}
|
||||
|
||||
if (t->attr[i].attr == DW_AT_comp_dir)
|
||||
- {
|
||||
- if ( form == DW_FORM_string )
|
||||
- {
|
||||
+ {
|
||||
+ if (form == DW_FORM_string)
|
||||
+ {
|
||||
free (comp_dir);
|
||||
comp_dir = strdup ((char *)ptr);
|
||||
|
||||
if (phase == 1 && dest_dir && has_prefix ((char *)ptr, base_dir))
|
||||
- {
|
||||
+ {
|
||||
base_len = strlen (base_dir);
|
||||
dest_len = strlen (dest_dir);
|
||||
|
||||
@@ -783,15 +780,16 @@ edit_attributes (DSO *dso, unsigned char
|
||||
memset(ptr + dest_len, '/',
|
||||
base_len - dest_len);
|
||||
|
||||
- }
|
||||
+
|
||||
+ }
|
||||
elf_flagdata (debug_sections[DEBUG_INFO].elf_data,
|
||||
ELF_C_SET, ELF_F_DIRTY);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
else if (form == DW_FORM_strp &&
|
||||
debug_sections[DEBUG_STR].data)
|
||||
- {
|
||||
+ {
|
||||
char *dir;
|
||||
|
||||
dir = (char *) debug_sections[DEBUG_STR].data
|
||||
@@ -801,21 +799,21 @@ edit_attributes (DSO *dso, unsigned char
|
||||
comp_dir = strdup (dir);
|
||||
|
||||
if (phase == 1 && dest_dir && has_prefix (dir, base_dir))
|
||||
- {
|
||||
+ {
|
||||
base_len = strlen (base_dir);
|
||||
dest_len = strlen (dest_dir);
|
||||
|
||||
memcpy (dir, dest_dir, dest_len);
|
||||
if (dest_len < base_len)
|
||||
- {
|
||||
+ {
|
||||
memmove (dir + dest_len, dir + base_len,
|
||||
strlen (dir + base_len) + 1);
|
||||
- }
|
||||
+ }
|
||||
elf_flagdata (debug_sections[DEBUG_STR].elf_data,
|
||||
ELF_C_SET, ELF_F_DIRTY);
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
else if ((t->tag == DW_TAG_compile_unit
|
||||
|| t->tag == DW_TAG_partial_unit)
|
||||
&& t->attr[i].attr == DW_AT_name
|
||||
@@ -823,9 +821,9 @@ edit_attributes (DSO *dso, unsigned char
|
||||
&& debug_sections[DEBUG_STR].data)
|
||||
{
|
||||
char *name;
|
||||
-
|
||||
+
|
||||
name = (char *) debug_sections[DEBUG_STR].data
|
||||
- + do_read_32_relocated (ptr);
|
||||
+ + do_read_32_relocated (ptr);
|
||||
if (*name == '/' && comp_dir == NULL)
|
||||
{
|
||||
char *enddir = strrchr (name, '/');
|
||||
@@ -844,7 +842,7 @@ edit_attributes (DSO *dso, unsigned char
|
||||
{
|
||||
base_len = strlen (base_dir);
|
||||
dest_len = strlen (dest_dir);
|
||||
-
|
||||
+
|
||||
memcpy (name, dest_dir, dest_len);
|
||||
if (dest_len < base_len)
|
||||
{
|
||||
@@ -922,7 +920,7 @@ edit_attributes (DSO *dso, unsigned char
|
||||
|
||||
if (form == DW_FORM_block1)
|
||||
ptr += len;
|
||||
-
|
||||
+
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1011,7 +1009,7 @@ edit_dwarf2 (DSO *dso)
|
||||
return 1;
|
||||
}
|
||||
|
||||
- scn = dso->scn[i];
|
||||
+ scn = dso->scn[i];
|
||||
data = elf_rawdata (scn, NULL);
|
||||
assert (data != NULL && data->d_buf != NULL);
|
||||
assert (elf_rawdata (scn, data) == NULL);
|
||||
@@ -1087,7 +1085,7 @@ edit_dwarf2 (DSO *dso)
|
||||
int rtype;
|
||||
|
||||
i = debug_sections[DEBUG_INFO].relsec;
|
||||
- scn = dso->scn[i];
|
||||
+ scn = dso->scn[i];
|
||||
data = elf_getdata (scn, NULL);
|
||||
assert (data != NULL && data->d_buf != NULL);
|
||||
assert (elf_getdata (scn, data) == NULL);
|
||||
@@ -1205,13 +1203,13 @@ edit_dwarf2 (DSO *dso)
|
||||
error (0, 0, "%s: 64-bit DWARF not supported", dso->filename);
|
||||
return 1;
|
||||
}
|
||||
-
|
||||
+
|
||||
if (endcu > endsec)
|
||||
{
|
||||
error (0, 0, "%s: .debug_info too small", dso->filename);
|
||||
return 1;
|
||||
}
|
||||
-
|
||||
+
|
||||
cu_version = read_16 (ptr);
|
||||
if (cu_version != 2 && cu_version != 3)
|
||||
{
|
||||
@@ -1219,7 +1217,7 @@ edit_dwarf2 (DSO *dso)
|
||||
cu_version);
|
||||
return 1;
|
||||
}
|
||||
-
|
||||
+
|
||||
value = read_32_relocated (ptr);
|
||||
if (value >= debug_sections[DEBUG_ABBREV].size)
|
||||
{
|
||||
@@ -1230,7 +1228,7 @@ edit_dwarf2 (DSO *dso)
|
||||
dso->filename);
|
||||
return 1;
|
||||
}
|
||||
-
|
||||
+
|
||||
if (ptr_size == 0)
|
||||
{
|
||||
ptr_size = read_1 (ptr);
|
||||
@@ -1247,12 +1245,12 @@ edit_dwarf2 (DSO *dso)
|
||||
dso->filename);
|
||||
return 1;
|
||||
}
|
||||
-
|
||||
+
|
||||
abbrev = read_abbrev (dso,
|
||||
debug_sections[DEBUG_ABBREV].data + value);
|
||||
if (abbrev == NULL)
|
||||
return 1;
|
||||
-
|
||||
+
|
||||
while (ptr < endcu)
|
||||
{
|
||||
tag.entry = read_uleb128 (ptr);
|
||||
@@ -1266,18 +1264,18 @@ edit_dwarf2 (DSO *dso)
|
||||
htab_delete (abbrev);
|
||||
return 1;
|
||||
}
|
||||
-
|
||||
+
|
||||
ptr = edit_attributes (dso, ptr, t, phase);
|
||||
if (ptr == NULL)
|
||||
break;
|
||||
}
|
||||
-
|
||||
+
|
||||
htab_delete (abbrev);
|
||||
}
|
||||
}
|
||||
free (relbuf);
|
||||
}
|
||||
-
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1340,7 +1338,7 @@ fdopen_dso (int fd, const char *name)
|
||||
}
|
||||
|
||||
elf_flagelf (elf, ELF_C_SET, ELF_F_LAYOUT);
|
||||
-
|
||||
+
|
||||
memset (dso, 0, sizeof(DSO));
|
||||
dso->elf = elf;
|
||||
dso->ehdr = ehdr;
|
||||
@@ -1515,7 +1513,7 @@ main (int argc, char *argv[])
|
||||
argv[0]);
|
||||
exit (1);
|
||||
}
|
||||
-
|
||||
+
|
||||
args = poptGetArgs (optCon);
|
||||
if (args == NULL || args[0] == NULL || args[1] != NULL)
|
||||
{
|
||||
@@ -1554,12 +1552,12 @@ main (int argc, char *argv[])
|
||||
free (dest_dir);
|
||||
dest_dir = p;
|
||||
}
|
||||
-
|
||||
+
|
||||
if (list_file != NULL)
|
||||
{
|
||||
list_file_fd = open (list_file, O_WRONLY|O_CREAT|O_APPEND, 0644);
|
||||
}
|
||||
-
|
||||
+
|
||||
file = args[0];
|
||||
|
||||
if (elf_version(EV_CURRENT) == EV_NONE)
|
||||
@@ -1591,7 +1589,7 @@ main (int argc, char *argv[])
|
||||
for (i = 1; i < dso->ehdr.e_shnum; i++)
|
||||
{
|
||||
const char *name;
|
||||
-
|
||||
+
|
||||
switch (dso->shdr[i].sh_type)
|
||||
{
|
||||
case SHT_PROGBITS:
|
||||
@@ -1621,7 +1619,7 @@ main (int argc, char *argv[])
|
||||
Elf_Data src = dst;
|
||||
src.d_buf = data->d_buf;
|
||||
assert (sizeof (Elf32_Nhdr) == sizeof (Elf64_Nhdr));
|
||||
- while ((char *) data->d_buf + data->d_size -
|
||||
+ while ((char *) data->d_buf + data->d_size -
|
||||
(char *) src.d_buf > (int) sizeof nh
|
||||
&& elf32_xlatetom (&dst, &src, dso->ehdr.e_ident[EI_DATA]))
|
||||
{
|
||||
@@ -1632,7 +1630,7 @@ main (int argc, char *argv[])
|
||||
&& !memcmp ((char *) src.d_buf + sizeof nh, "GNU", sizeof "GNU"))
|
||||
{
|
||||
build_id = data;
|
||||
- build_id_offset = (char *) src.d_buf + len -
|
||||
+ build_id_offset = (char *) src.d_buf + len -
|
||||
(char *) data->d_buf;
|
||||
build_id_size = nh.n_descsz;
|
||||
break;
|
||||
@@ -1666,7 +1664,7 @@ main (int argc, char *argv[])
|
||||
|
||||
/* Restore old access rights */
|
||||
chmod (file, stat_buf.st_mode);
|
||||
-
|
||||
+
|
||||
poptFreeContext (optCon);
|
||||
|
||||
return 0;
|
62
rpm-5.4.4-dont-show-suggests-with-requires.patch
Normal file
62
rpm-5.4.4-dont-show-suggests-with-requires.patch
Normal file
|
@ -0,0 +1,62 @@
|
|||
--- rpm-5.4.4/rpmdb/hdrfmt.c.suggests~ 2011-11-26 02:53:41.909644462 +0100
|
||||
+++ rpm-5.4.4/rpmdb/hdrfmt.c 2011-11-26 02:53:45.520695846 +0100
|
||||
@@ -1551,6 +1551,38 @@ assert(ix == 0);
|
||||
}
|
||||
|
||||
/**
|
||||
+ * Format dependency flags for display.
|
||||
+ * @param he tag container
|
||||
+ * @param av parameter list (or NULL)
|
||||
+ * @return formatted string
|
||||
+ */
|
||||
+static /*@only@*/
|
||||
+char * hintFormat(HE_t he, /*@unused@*/ /*@null@*/ const char ** av)
|
||||
+ /*@*/
|
||||
+{
|
||||
+ int ix = (he->ix > 0 ? he->ix : 0);
|
||||
+ char * val;
|
||||
+
|
||||
+assert(ix == 0);
|
||||
+ if (he->t != RPM_UINT64_TYPE) {
|
||||
+ val = xstrdup(_("(invalid type)"));
|
||||
+ } else {
|
||||
+ rpmuint64_t anint = he->p.ui64p[ix];
|
||||
+ char *t, *buf;
|
||||
+
|
||||
+ t = buf = alloca(32);
|
||||
+ *t = '\0';
|
||||
+
|
||||
+ if (anint & RPMSENSE_MISSINGOK)
|
||||
+ t = stpcpy(t, "(hint)");
|
||||
+ *t = '\0';
|
||||
+
|
||||
+ val = xstrdup(buf);
|
||||
+ }
|
||||
+
|
||||
+ return val;
|
||||
+}
|
||||
+/**
|
||||
* Retrieve install prefixes.
|
||||
* @param h header
|
||||
* @retval *he tag container
|
||||
@@ -5143,6 +5175,8 @@ static struct headerSprintfExtension_s _
|
||||
{ .fmtFunction = digestFormat } },
|
||||
{ HEADER_EXT_FORMAT, "fflags",
|
||||
{ .fmtFunction = fflagsFormat } },
|
||||
+ { HEADER_EXT_FORMAT, "hint",
|
||||
+ { .fmtFunction = hintFormat } },
|
||||
{ HEADER_EXT_FORMAT, "iconv",
|
||||
{ .fmtFunction = iconvFormat } },
|
||||
{ HEADER_EXT_FORMAT, "json",
|
||||
--- rpm-5.4.4/rpmpopt.in.suggests~ 2011-11-26 02:53:55.297834650 +0100
|
||||
+++ rpm-5.4.4/rpmpopt.in 2011-11-26 02:54:34.101380884 +0100
|
||||
@@ -98,7 +98,8 @@ rpm alias --provides --qf \
|
||||
--POPTdesc=$"list capabilities that this package provides"
|
||||
|
||||
rpm alias --requires --qf \
|
||||
- "[%{REQUIRENAME}%{REQUIREFLAGS:depflags}%{REQUIREVERSION}\n]" \
|
||||
+ "[%{REQUIRENAME}%{REQUIREFLAGS:hint:depflags}%{REQUIREVERSION}\n]" \
|
||||
+ --pipe "grep -v \(hint\)" \
|
||||
--POPTdesc=$"list capabilities required by package(s)"
|
||||
rpm alias -R --requires
|
||||
|
15
rpm-5.4.4-drop-base-dependencies.patch
Normal file
15
rpm-5.4.4-drop-base-dependencies.patch
Normal file
|
@ -0,0 +1,15 @@
|
|||
--- rpm-5.4.4/build/reqprov.c.drop_basedeps~ 2011-12-11 03:55:58.958164657 +0100
|
||||
+++ rpm-5.4.4/build/reqprov.c 2011-12-11 03:56:04.794169328 +0100
|
||||
@@ -48,6 +48,12 @@ int addReqProv(/*@unused@*/ Spec spec, H
|
||||
indextag = RPMTAG_TRIGGERINDEX;
|
||||
extra = Flags & RPMSENSE_TRIGGER;
|
||||
} else {
|
||||
+#if defined(RPM_VENDOR_MANDRIVA)
|
||||
+ if (!strcmp(N, "/bin/sh") || !strcmp(N, "/sbin/ldconfig")) {
|
||||
+ rpmlog(RPMLOG_DEBUG, "%s will be satisfied by glibc or it's dependencies, won't add dependency to package\n");
|
||||
+ return 0;
|
||||
+ }
|
||||
+#endif
|
||||
nametag = RPMTAG_REQUIRENAME;
|
||||
versiontag = RPMTAG_REQUIREVERSION;
|
||||
flagtag = RPMTAG_REQUIREFLAGS;
|
|
@ -0,0 +1,23 @@
|
|||
--- rpm-5.4.4/scripts/pkgconfigdeps.sh.oneshot~ 2011-12-11 01:40:12.599487103 +0100
|
||||
+++ rpm-5.4.4/scripts/pkgconfigdeps.sh 2011-12-11 01:40:14.418488230 +0100
|
||||
@@ -37,12 +37,10 @@ case $1 in
|
||||
done
|
||||
;;
|
||||
-R|--requires)
|
||||
- oneshot="pkgconfig"
|
||||
while read filename ; do
|
||||
case "${filename}" in
|
||||
*.pc)
|
||||
if [[ "$(dirname ${filename})" =~ pkgconfig ]]; then
|
||||
- [ -n "$oneshot" ] && echo "$oneshot"; oneshot=""
|
||||
# Query the dependencies of the package.
|
||||
DIR=`dirname ${filename}`
|
||||
PKG_CONFIG_PATH="$DIR:$DIR/../../share/pkgconfig"
|
||||
@@ -54,7 +52,6 @@ case $1 in
|
||||
else
|
||||
echo "pkgconfig($n)"
|
||||
fi
|
||||
- oneshot=""
|
||||
done
|
||||
fi
|
||||
;;
|
65
rpm-5.4.4-duplicate_files_terminate_build.patch
Normal file
65
rpm-5.4.4-duplicate_files_terminate_build.patch
Normal file
|
@ -0,0 +1,65 @@
|
|||
--- rpm-5.4.4/build/files.c.dups_terminate~ 2011-12-05 20:29:26.967255130 +0100
|
||||
+++ rpm-5.4.4/build/files.c 2011-12-05 20:34:20.850092893 +0100
|
||||
@@ -2909,7 +2909,8 @@ exit:
|
||||
|
||||
/* auxiliary function for checkDuplicateFiles() */
|
||||
/* XXX need to pass Header because fi->h is NULL */
|
||||
-static int fiIntersect(/*@null@*/ rpmfi fi1, /*@null@*/ rpmfi fi2, size_t buildrootL)
|
||||
+static int fiIntersect(/*@null@*/ rpmfi fi1, /*@null@*/ rpmfi fi2,
|
||||
+ size_t buildrootL, int _duplicate_files_terminate_build)
|
||||
/*@globals internalState @*/
|
||||
/*@modifies fi1, fi2, internalState @*/
|
||||
{
|
||||
@@ -2947,7 +2948,7 @@ static int fiIntersect(/*@null@*/ rpmfi
|
||||
he->tag = RPMTAG_NVRA;
|
||||
N2 = (headerGet(fi2->h, he, 0) ? he->p.str : NULL);
|
||||
|
||||
- rpmlog(RPMLOG_WARNING,
|
||||
+ rpmlog(_duplicate_files_terminate_build ? RPMLOG_ERR : RPMLOG_WARNING,
|
||||
_("File(s) packaged into both %s and %s:\n%s"),
|
||||
N1, N2, rpmiobStr(dups));
|
||||
|
||||
@@ -2964,7 +2965,8 @@ static int fiIntersect(/*@null@*/ rpmfi
|
||||
* @param spec spec file control structure
|
||||
* @return number of duplicate files
|
||||
*/
|
||||
-static int checkDuplicateFiles(Spec spec, size_t buildrootL)
|
||||
+static int checkDuplicateFiles(Spec spec, size_t buildrootL,
|
||||
+ int _duplicate_files_terminate_build)
|
||||
/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
|
||||
/*@modifies *spec->packages,
|
||||
rpmGlobalMacroContext, fileSystem, internalState @*/
|
||||
@@ -2989,7 +2991,7 @@ static int checkDuplicateFiles(Spec spec
|
||||
#endif
|
||||
if (fi2 == NULL) continue;
|
||||
(void) rpmfiSetHeader(fi2, pkg2->header);
|
||||
- n += fiIntersect(fi1, fi2, buildrootL);
|
||||
+ n += fiIntersect(fi1, fi2, buildrootL, _duplicate_files_terminate_build);
|
||||
(void) rpmfiSetHeader(fi2, NULL);
|
||||
fi2 = rpmfiFree(fi2);
|
||||
}
|
||||
@@ -3172,9 +3174,13 @@ rpmRC processBinaryFiles(Spec spec, int
|
||||
}
|
||||
|
||||
if (res == RPMRC_OK) {
|
||||
+ int _duplicate_files_terminate_build =
|
||||
+ rpmExpandNumeric("%{?_duplicate_files_terminate_build}");
|
||||
if (checkUnpackagedFiles(spec) > 0)
|
||||
res = RPMRC_FAIL;
|
||||
- (void) checkDuplicateFiles(spec, buildrootL);
|
||||
+ if (checkDuplicateFiles(spec, buildrootL, _duplicate_files_terminate_build) > 0 &&
|
||||
+ _duplicate_files_terminate_build)
|
||||
+ res = RPMRC_FAIL;
|
||||
(void) checkUnpackagedSubdirs(spec, buildrootL);
|
||||
}
|
||||
|
||||
--- rpm-5.4.4/macros/mandriva.in.dups_terminate~ 2011-12-05 20:29:36.660283699 +0100
|
||||
+++ rpm-5.4.4/macros/mandriva.in 2011-12-05 20:29:43.800304703 +0100
|
||||
@@ -119,6 +119,7 @@ end\
|
||||
# TODO: fix check script and implement support for using
|
||||
#%_multiarch_required_terminate_build 1
|
||||
|
||||
+%_duplicate_files_terminate_build 1
|
||||
%_enable_debug_packages 1
|
||||
|
||||
|
12
rpm-5.4.4-enable-rpmgio-net-transport.patch
Normal file
12
rpm-5.4.4-enable-rpmgio-net-transport.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
--- rpm-5.4.4/macros/mandriva.in.net_transport~ 2011-12-11 00:11:49.185221624 +0100
|
||||
+++ rpm-5.4.4/macros/mandriva.in 2011-12-11 00:13:30.790281912 +0100
|
||||
@@ -28,6 +28,9 @@
|
||||
|
||||
%_changelog_truncate 3 years ago
|
||||
|
||||
+# mdvbz#64914
|
||||
+%_rpmgio .ufdio
|
||||
+
|
||||
# This will die as soon as remaining usage has been phased out...
|
||||
%mkrel(c:) %{-c: 0.%{-c*}.}%{1}%{?subrel:.%subrel}
|
||||
%manbo_mkrel() %mkrel
|
74
rpm-5.4.4-files-listed-twice-terminates-build.patch
Normal file
74
rpm-5.4.4-files-listed-twice-terminates-build.patch
Normal file
|
@ -0,0 +1,74 @@
|
|||
--- rpm-5.4.4/build/files.c.twice_terminate~ 2012-01-23 10:20:48.711612232 +0100
|
||||
+++ rpm-5.4.4/build/files.c 2012-01-23 10:20:48.716612237 +0100
|
||||
@@ -1329,7 +1329,7 @@ static rpmuint32_t getDigestAlgo(Header
|
||||
* @param h
|
||||
* @param isSrc
|
||||
*/
|
||||
-static void genCpioListAndHeader(/*@partial@*/ FileList fl,
|
||||
+static rpmRC genCpioListAndHeader(/*@partial@*/ FileList fl,
|
||||
rpmfi * fip, Header h, int isSrc)
|
||||
/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
|
||||
/*@modifies h, *fip, fl->processingFailed, fl->fileList,
|
||||
@@ -1349,6 +1349,7 @@ static void genCpioListAndHeader(/*@part
|
||||
rpmuint32_t dalgo = getDigestAlgo(h, isSrc);
|
||||
char buf[BUFSIZ];
|
||||
int i, xx;
|
||||
+ rpmRC rc = RPMRC_OK;
|
||||
|
||||
memset(buf, 0, sizeof(buf)); /* XXX valgrind on rhel6 beta pickier */
|
||||
|
||||
@@ -1377,9 +1378,14 @@ memset(buf, 0, sizeof(buf)); /* XXX valg
|
||||
/* file flags */
|
||||
flp[1].flags |= flp->flags;
|
||||
|
||||
- if (!(flp[1].flags & RPMFILE_EXCLUDE))
|
||||
- rpmlog(RPMLOG_WARNING, _("File listed twice: %s\n"),
|
||||
+ if (!(flp[1].flags & RPMFILE_EXCLUDE)) {
|
||||
+ int terminate = rpmExpandNumeric("%{?_files_listed_twice_terminate_build}");
|
||||
+
|
||||
+ rpmlog(terminate ? RPMLOG_ERR : RPMLOG_WARNING, _("File listed twice: %s\n"),
|
||||
flp->fileURL);
|
||||
+ if (terminate)
|
||||
+ rc = RPMRC_FAIL;
|
||||
+ }
|
||||
|
||||
/* file mode */
|
||||
if (S_ISDIR(flp->fl_mode)) {
|
||||
@@ -1784,6 +1790,8 @@ if (_rpmbuildFlags & 4) {
|
||||
fi = rpmfiFree(fi);
|
||||
/*@=compdef@*/
|
||||
}
|
||||
+
|
||||
+ return rc;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2506,7 +2514,8 @@ static rpmRC processPackageFiles(Spec sp
|
||||
"PartialHardlinkSets", "4.0.4-1");
|
||||
|
||||
/* XXX should tags be added if filelist is empty? */
|
||||
- genCpioListAndHeader(&fl, &pkg->fi, pkg->header, 0);
|
||||
+ if (genCpioListAndHeader(&fl, &pkg->fi, pkg->header, 0) != RPMRC_OK)
|
||||
+ fl.processingFailed = 1;
|
||||
|
||||
if (spec->timeCheck)
|
||||
timeCheck(spec->timeCheck, pkg->header);
|
||||
@@ -2820,7 +2829,7 @@ int processSourceFiles(Spec spec)
|
||||
|
||||
/* XXX should tags be added if filelist is empty? */
|
||||
spec->fi = NULL;
|
||||
- genCpioListAndHeader(&fl, &spec->fi, spec->sourceHeader, 1);
|
||||
+ rc = genCpioListAndHeader(&fl, &spec->fi, spec->sourceHeader, 1);
|
||||
|
||||
exit:
|
||||
*sfp = rpmiobFree(*sfp);
|
||||
--- rpm-5.4.4/macros/mandriva.in.twice_terminate~ 2012-01-23 10:20:48.000000000 +0100
|
||||
+++ rpm-5.4.4/macros/mandriva.in 2012-01-23 10:21:35.342670233 +0100
|
||||
@@ -125,6 +125,7 @@ end\
|
||||
|
||||
%_duplicate_files_terminate_build 1
|
||||
%_unpackaged_subdirs_terminate_build 0
|
||||
+%_files_listed_twice_terminate_build 1
|
||||
%_build_pkgcheck_set /usr/bin/rpmlint -T -f %{_sourcedir}/%{name}.rpmlintrc
|
||||
%_build_pkgcheck_srpm /usr/bin/rpmlint -T -f %{_sourcedir}/%{name}.rpmlintrc
|
||||
%_nonzero_exit_pkgcheck_terminate_build 1
|
11
rpm-5.4.4-find-debuginfo-add-missing-partial-strip.patch
Normal file
11
rpm-5.4.4-find-debuginfo-add-missing-partial-strip.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- rpm-5.4.4/scripts/find-debuginfo.sh.partial_strip~ 2011-11-30 16:23:34.000000000 +0100
|
||||
+++ rpm-5.4.4/scripts/find-debuginfo.sh 2011-11-30 16:24:39.907094918 +0100
|
||||
@@ -101,6 +101,8 @@ strip_to_debug()
|
||||
$strip_g && case "$(file -bi "$2")" in
|
||||
application/x-sharedlib*) g=-g ;;
|
||||
esac
|
||||
+ [ -n "$EXCLUDE_FULL_REGEXP" ] && grep -E -q "$EXCLUDE_FULL_REGEXP" <<< "$2" && g=-g
|
||||
+
|
||||
eu-strip --remove-comment $g $([ -n "$DISABLE_DEBUG" ] || echo $r -f "$1") "$2" || exit
|
||||
[ -n "$DISABLE_DEBUG" ] || chmod 444 "$1" || exit
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
--- rpm-5.4.4/scripts/find-debuginfo.sh.strip_silent~ 2011-12-06 08:32:19.205381136 +0100
|
||||
+++ rpm-5.4.4/scripts/find-debuginfo.sh 2011-12-06 08:33:02.954406789 +0100
|
||||
@@ -103,7 +103,7 @@ strip_to_debug()
|
||||
esac
|
||||
[ -n "$EXCLUDE_FULL_REGEXP" ] && grep -E -q "$EXCLUDE_FULL_REGEXP" <<< "$2" && g=-g
|
||||
|
||||
- eu-strip --remove-comment $g $([ -n "$DISABLE_DEBUG" ] || echo $r -f "$1") "$2" || exit
|
||||
+ eu-strip --remove-comment $g $([ -n "$DISABLE_DEBUG" ] || echo $r -f "$1") "$2" 1> /dev/null || exit
|
||||
[ -n "$DISABLE_DEBUG" ] || chmod 444 "$1" || exit
|
||||
}
|
||||
|
11
rpm-5.4.4-find-debuginfo-drop-useless-sort.patch
Normal file
11
rpm-5.4.4-find-debuginfo-drop-useless-sort.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- rpm-5.4.4/scripts/find-debuginfo.sh.no_sort~ 2011-11-17 13:40:39.178304643 +0100
|
||||
+++ rpm-5.4.4/scripts/find-debuginfo.sh 2011-11-17 13:40:55.838325261 +0100
|
||||
@@ -260,7 +260,7 @@ if [ -s "$SOURCEFILE" ]; then
|
||||
LC_ALL=C sort -z -u "$SOURCEFILE" | egrep -v -z '(<internal>|<built-in>)$' |
|
||||
(cd "$RPM_BUILD_DIR"; cpio -pd0mL "${RPM_BUILD_ROOT}/usr/src/debug")
|
||||
# stupid cpio creates new directories in mode 0700, fixup
|
||||
- find "${RPM_BUILD_ROOT}/usr/src/debug" -type d -print0 | LANG=C sort |
|
||||
+ find "${RPM_BUILD_ROOT}/usr/src/debug" -type d -print0 |
|
||||
xargs --no-run-if-empty -0 chmod a+rx
|
||||
fi
|
||||
|
110
rpm-5.4.4-find-debuginfo-strip-reloc-debug-sections.patch
Normal file
110
rpm-5.4.4-find-debuginfo-strip-reloc-debug-sections.patch
Normal file
|
@ -0,0 +1,110 @@
|
|||
--- rpm-5.4.4/configure.ac.reloc_debug~ 2011-11-28 16:47:13.267698364 +0100
|
||||
+++ rpm-5.4.4/configure.ac 2011-11-28 16:48:21.989781551 +0100
|
||||
@@ -617,6 +617,35 @@ AC_PATH_PROG(__STRIP, strip, %{_bindir}/
|
||||
AC_CHECK_PROGS(LIBTOOLIZE, libtoolize glibtoolize, libtoolize)
|
||||
AC_SUBST(LIBTOOLIZE)
|
||||
|
||||
+# check for elfutils eu-strip --reloc-debug_sections
|
||||
+# elfutils-0.153 introduce the --reloc-debug-sections
|
||||
+# This is a new option to eu-strip that strips
|
||||
+# out/resolves relocations between .debug_* elf sections in ET_REL files.
|
||||
+# This can save a lot of space for kernel module.
|
||||
+# Use this option in find-debuginfo if supported
|
||||
+# Check also for the eu_strip path and AC_SUBST it if found
|
||||
+# not used really today
|
||||
+old_PATH=$PATH
|
||||
+PATH=$MYPATH
|
||||
+AC_CACHE_CHECK([whether eu-strip supports --reloc-debug-sections], [ac_cv_path_EU_STRIP],
|
||||
+ [AC_PATH_PROGS_FEATURE_CHECK([EU_STRIP], [eu-strip strip],
|
||||
+ [[eu_stripout=`$ac_path_EU_STRIP --help | grep "\--reloc-debug-sections"`
|
||||
+ test "x$eu_stripout" != x \
|
||||
+ && ac_cv_path_EU_STRIP=$ac_path_EU_STRIP debuginfo_eu_strip_reloc_debug_sections="-r"]],
|
||||
+ [[ debuginfo_eu_strip_reloc_debug_sections="" ]]
|
||||
+)])
|
||||
+PATH=$old_PATH
|
||||
+AC_SUBST([debuginfo_eu_strip_reloc_debug_sections])
|
||||
+AS_IF([test "x$ac_cv_path_EU_STRIP" != x], [
|
||||
+ AC_SUBST([EU_STRIP], [$ac_cv_path_EU_STRIP])
|
||||
+], [
|
||||
+ AC_SUBST([EU_STRIP], [:])
|
||||
+ AC_MSG_RESULT([no])
|
||||
+])
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
dnl # check for id -u
|
||||
AC_MSG_CHECKING(whether id supports -u)
|
||||
if ${__ID} -u 2>&1 > /dev/null; then
|
||||
--- rpm-5.4.4/macros/macros.in.reloc_debug~ 2011-09-13 03:12:51.000000000 +0200
|
||||
+++ rpm-5.4.4/macros/macros.in 2011-11-28 16:49:04.073832540 +0100
|
||||
@@ -145,7 +145,7 @@
|
||||
# the script. See the script for details.
|
||||
#
|
||||
%__debug_install_post \
|
||||
- %{_rpmhome}/find-debuginfo.sh %{?_missing_build_ids_terminate_build:--strict-build-id} %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"\
|
||||
+ %{_rpmhome}/find-debuginfo.sh %{?_missing_build_ids_terminate_build:--strict-build-id} %{?_find_debuginfo_opts} @debuginfo_eu_strip_reloc_debug_sections@ "%{_builddir}/%{?buildsubdir}"\
|
||||
%{nil}
|
||||
|
||||
# Template for debug information sub-package.
|
||||
--- rpm-5.4.4/macros/macros.rpmbuild.in.reloc_debug~ 2011-10-21 17:39:02.000000000 +0200
|
||||
+++ rpm-5.4.4/macros/macros.rpmbuild.in 2011-11-28 16:49:27.438860866 +0100
|
||||
@@ -21,6 +21,7 @@
|
||||
%__ranlib @RANLIB@
|
||||
%__remsh %{__rsh}
|
||||
%__strip @__STRIP@
|
||||
+%__eu_strip @__EU_STRIP@
|
||||
|
||||
# XXX avoid failures if tools are not installed when rpm is built.
|
||||
%__libtoolize @LIBTOOLIZE@
|
||||
--- rpm-5.4.4/scripts/find-debuginfo.sh.reloc_debug~ 2011-11-25 14:36:31.003837273 +0100
|
||||
+++ rpm-5.4.4/scripts/find-debuginfo.sh 2011-11-28 16:50:50.324961429 +0100
|
||||
@@ -2,7 +2,7 @@
|
||||
#find-debuginfo.sh - automagically generate debug info and file list
|
||||
#for inclusion in an rpm spec file.
|
||||
#
|
||||
-# Usage: find-debuginfo.sh [--strict-build-id] [-g]
|
||||
+# Usage: find-debuginfo.sh [--strict-build-id] [-g] [-r]
|
||||
# [-o debugfiles.list]
|
||||
# [[-l filelist]... [-p 'pattern'] -o debuginfo.list]
|
||||
# [builddir]
|
||||
@@ -18,12 +18,16 @@
|
||||
# the -l filelist file, or whose names match the -p pattern.
|
||||
# The -p argument is an egrep-style regexp matching the a file name,
|
||||
# and must not use anchors (^ or $).
|
||||
+# The -r flag says to use eu-strip --reloc-debug-sections.
|
||||
#
|
||||
# All file names in switches are relative to builddir (. if not given).
|
||||
#
|
||||
|
||||
# With -g arg, pass it to strip on libraries.
|
||||
strip_g=false
|
||||
+# with -r arg, pass --reloc-debug-sections to eu-strip.
|
||||
+strip_r=false
|
||||
+
|
||||
|
||||
# Barf on missing build IDs.
|
||||
strict=false
|
||||
@@ -40,6 +44,9 @@ while [ $# -gt 0 ]; do
|
||||
-g)
|
||||
strip_g=true
|
||||
;;
|
||||
+ -r)
|
||||
+ strip_r=true
|
||||
+ ;;
|
||||
-o)
|
||||
if [ -z "${lists[$nout]}" -a -z "${ptns[$nout]}" ]; then
|
||||
out=$2
|
||||
@@ -90,10 +97,11 @@ debugdir="${RPM_BUILD_ROOT}/usr/lib/debu
|
||||
strip_to_debug()
|
||||
{
|
||||
local g=
|
||||
+ $strip_r && r=--reloc-debug-sections
|
||||
$strip_g && case "$(file -bi "$2")" in
|
||||
application/x-sharedlib*) g=-g ;;
|
||||
esac
|
||||
- eu-strip --remove-comment $g $([ -n "$DISABLE_DEBUG" ] || echo -f "$1") "$2" || exit
|
||||
+ eu-strip --remove-comment $g $([ -n "$DISABLE_DEBUG" ] || echo $r -f "$1") "$2" || exit
|
||||
[ -n "$DISABLE_DEBUG" ] || chmod 444 "$1" || exit
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
--- rpm-5.4.4/scripts/find-lang.sh.man_comp~ 2011-11-17 13:13:59.283373348 +0100
|
||||
+++ rpm-5.4.4/scripts/find-lang.sh 2011-11-17 13:14:06.727384048 +0100
|
||||
@@ -207,7 +206,7 @@ s:^\([^%].*\)::
|
||||
s:%lang(C) ::
|
||||
/^$/d' >> $MO_NAME
|
||||
|
||||
-find "$TOP_DIR" -type f -o -type l|sed '
|
||||
+find "$TOP_DIR" -type f -o -type l|sed -r 's/\.(bz2|gz|xz|lzma|Z)$//g' | sed '
|
||||
s:'"$TOP_DIR"'::
|
||||
'"$NO_ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+/'"$NAME"'\.[a-z0-9].*\):%lang(\2) \1*:
|
||||
s:^\([^%].*\)::
|
70
rpm-5.4.4-find_lang-support-multiple-names.patch
Normal file
70
rpm-5.4.4-find_lang-support-multiple-names.patch
Normal file
|
@ -0,0 +1,70 @@
|
|||
--- rpm-5.4.4/scripts/find-lang.sh.multi~ 2011-11-16 17:38:32.041205264 +0100
|
||||
+++ rpm-5.4.4/scripts/find-lang.sh 2011-11-16 19:19:38.995191384 +0100
|
||||
@@ -13,6 +13,7 @@
|
||||
|
||||
# 2011-11-16 Per Øyvind Karlsen <peroyvind@mandriva.org>
|
||||
# * add support for HTML files (from Mandriva)
|
||||
+# * add support for multiple names
|
||||
# 2004-06-20 Arkadiusz Miśkiewicz <arekm@pld-linux.org>
|
||||
# * merge PLD changes, kde, all-name (mkochano,pascalek@PLD)
|
||||
# 1999-10-19 Artur Frysiak <wiget@pld-linux.org>
|
||||
@@ -52,7 +53,7 @@ fi
|
||||
shift
|
||||
|
||||
if [ -z "$1" ] ; then usage
|
||||
-else NAME=$1
|
||||
+else NAMES[0]=$1
|
||||
fi
|
||||
shift
|
||||
|
||||
@@ -62,10 +63,9 @@ QT=#
|
||||
MAN=#
|
||||
HTML=#
|
||||
MO=
|
||||
-MO_NAME=$NAME.lang
|
||||
+MO_NAME=${NAMES[0]}.lang
|
||||
ALL_NAME=#
|
||||
NO_ALL_NAME=
|
||||
-
|
||||
while test $# -gt 0 ; do
|
||||
case "${1}" in
|
||||
--with-gnome )
|
||||
@@ -98,19 +98,28 @@ while test $# -gt 0 ; do
|
||||
shift
|
||||
;;
|
||||
* )
|
||||
+ if [ $MO_NAME != $NAME.lang ]; then
|
||||
+ NAMES[${#NAMES[@]}]=$MO_NAME
|
||||
+ fi
|
||||
MO_NAME=${1}
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
+if [ -f $MO_NAME ]; then
|
||||
+ rm $MO_NAME
|
||||
+fi
|
||||
+
|
||||
+for NAME in ${NAMES[@]}; do
|
||||
+
|
||||
find "$TOP_DIR" -type f -o -type l|sed '
|
||||
s:'"$TOP_DIR"'::
|
||||
'"$ALL_NAME$MO"'s:\(.*/locale/\)\([^/_]\+\)\(.*\.mo$\):%lang(\2) \1\2\3:
|
||||
'"$NO_ALL_NAME$MO"'s:\(.*/locale/\)\([^/_]\+\)\(.*/'"$NAME"'\.mo$\):%lang(\2) \1\2\3:
|
||||
s:^\([^%].*\)::
|
||||
s:%lang(C) ::
|
||||
-/^$/d' > $MO_NAME
|
||||
+/^$/d' >> $MO_NAME
|
||||
|
||||
find "$TOP_DIR" -type d|sed '
|
||||
s:'"$TOP_DIR"'::
|
||||
@@ -205,6 +214,8 @@ s:^\([^%].*\)::
|
||||
s:%lang(C) ::
|
||||
/^$/d' >> $MO_NAME
|
||||
|
||||
+done
|
||||
+
|
||||
if ! grep -q / $MO_NAME; then
|
||||
echo "No translations found for ${NAME} in ${TOP_DIR}"
|
||||
exit 1
|
55
rpm-5.4.4-find_lang-with-html.patch
Normal file
55
rpm-5.4.4-find_lang-with-html.patch
Normal file
|
@ -0,0 +1,55 @@
|
|||
--- rpm-5.4.4/scripts/find-lang.sh.html~ 2011-12-11 01:32:55.311224149 +0100
|
||||
+++ rpm-5.4.4/scripts/find-lang.sh 2011-12-11 01:35:12.559304829 +0100
|
||||
@@ -11,6 +11,8 @@
|
||||
#in tact and are included with any redistribution of this file or any
|
||||
#work based on this file.
|
||||
|
||||
+# 2011-11-16 Per Øyvind Karlsen <peroyvind@mandriva.org>
|
||||
+# * add support for HTML files (from Mandriva)
|
||||
# 2004-06-20 Arkadiusz Miśkiewicz <arekm@pld-linux.org>
|
||||
# * merge PLD changes, kde, all-name (mkochano,pascalek@PLD)
|
||||
# 1999-10-19 Artur Frysiak <wiget@pld-linux.org>
|
||||
@@ -33,6 +35,7 @@ Additional options:
|
||||
--with-gnome find GNOME help files
|
||||
--with-kde find KDE help files
|
||||
--with-qt find Qt translation files
|
||||
+ --with-html find HTML files
|
||||
--with-man find localized man pages
|
||||
--all-name match all package/domain names
|
||||
--without-mo do not find locale files
|
||||
@@ -58,6 +61,7 @@ GNOME=#
|
||||
KDE=#
|
||||
QT=#
|
||||
MAN=#
|
||||
+HTML=#
|
||||
MO=
|
||||
MO_NAME=$NAME.lang
|
||||
ALL_NAME=#
|
||||
@@ -81,6 +85,10 @@ while test $# -gt 0 ; do
|
||||
MAN=
|
||||
shift
|
||||
;;
|
||||
+ --with-html )
|
||||
+ HTML=
|
||||
+ shift
|
||||
+ ;;
|
||||
--without-mo )
|
||||
MO=#
|
||||
shift
|
||||
@@ -159,6 +167,16 @@ s:%lang(C) ::
|
||||
/^$/d' >> $MO_NAME
|
||||
fi
|
||||
|
||||
+find "$TOP_DIR" -type d|sed '
|
||||
+s:'"$TOP_DIR"'::
|
||||
+'"$NO_ALL_NAME$HTML"'s:\(.*/doc/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'/\)::
|
||||
+'"$NO_ALL_NAME$HTML"'s:\(.*/doc/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'\)$:%lang(\2) \1\2\3:
|
||||
+'"$ALL_NAME$HTML"'s:\(.*/doc/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+/\)::
|
||||
+'"$ALL_NAME$HTML"'s:\(.*/doc/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3:
|
||||
+s:^\([^%].*\)::
|
||||
+s:%lang(C) ::
|
||||
+/^$/d' >> $MO_NAME
|
||||
+
|
||||
find "$TOP_DIR" -type f -o -type l|sed '
|
||||
s:'"$TOP_DIR"'::
|
||||
'"$NO_ALL_NAME$QT"'s:\(.*/'"$NAME"'_\([a-zA-Z]\{2\}\([_@].*\)\?\)\.qm$\):%lang(\2) \1:
|
11
rpm-5.4.4-fix-_sys_macros_dir-path.patch
Normal file
11
rpm-5.4.4-fix-_sys_macros_dir-path.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- rpm-5.4.4/macros/mandriva.in.macros_dir~ 2011-12-02 17:32:01.637645782 +0100
|
||||
+++ rpm-5.4.4/macros/mandriva.in 2011-12-04 02:38:26.872452015 +0100
|
||||
@@ -198,7 +198,7 @@ export CFLAGS="%optflags -fPIE"; export
|
||||
|
||||
%__gzip /bin/gzip
|
||||
|
||||
-%_sys_macros_dir %{_sysconfdir}/macros.d
|
||||
+%_sys_macros_dir %{_sysconfdir}/rpm/macros.d
|
||||
%build_sysmacrospath() %{_sys_macros_dir}/%{?1:%{1}}%{?!1:%{name}}.macros
|
||||
|
||||
# when %_with_git_repository is set, these macros modify the behaviour of "%prep" step:
|
19
rpm-5.4.4-fix-mdvbz62979.patch
Normal file
19
rpm-5.4.4-fix-mdvbz62979.patch
Normal file
|
@ -0,0 +1,19 @@
|
|||
--- rpm-5.4.4/build/parseDescription.c.mdvbz62979~ 2011-04-07 01:34:01.000000000 +0200
|
||||
+++ rpm-5.4.4/build/parseDescription.c 2011-11-12 18:11:36.736325952 +0100
|
||||
@@ -90,6 +90,8 @@ int parseDescription(Spec spec)
|
||||
}
|
||||
|
||||
/* Lose the inheirited %description (if present). */
|
||||
+
|
||||
+#if !defined(RPM_VENDOR_MANDRIVA) /* mdvbz#62979 */
|
||||
if (spec->packages->header != pkg->header) {
|
||||
HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
|
||||
int xx;
|
||||
@@ -99,6 +101,7 @@ int parseDescription(Spec spec)
|
||||
if (xx && he->t == RPM_STRING_TYPE)
|
||||
xx = headerDel(pkg->header, he, 0);
|
||||
}
|
||||
+#endif
|
||||
|
||||
t = stashSt(spec, pkg->header, RPMTAG_DESCRIPTION, lang);
|
||||
|
95
rpm-5.4.4-fix-removal-of-overlapping-dependencies.patch
Normal file
95
rpm-5.4.4-fix-removal-of-overlapping-dependencies.patch
Normal file
|
@ -0,0 +1,95 @@
|
|||
--- rpm-5.4.4/build/reqprov.c.overlap~ 2011-04-01 12:39:50.000000000 +0200
|
||||
+++ rpm-5.4.4/build/reqprov.c 2011-11-26 02:21:00.125251492 +0100
|
||||
@@ -9,6 +9,8 @@
|
||||
#include <rpmiotypes.h>
|
||||
#define _RPMEVR_INTERNAL
|
||||
#include "rpmbuild.h"
|
||||
+#include <rpmds.h>
|
||||
+#include <rpmlog.h>
|
||||
#include "debug.h"
|
||||
|
||||
int addReqProv(/*@unused@*/ Spec spec, Header h,
|
||||
@@ -110,37 +112,61 @@ int addReqProv(/*@unused@*/ Spec spec, H
|
||||
* TODO: auto-generated deps too
|
||||
*/
|
||||
if (flagtag && versions != NULL) {
|
||||
- int overlap;
|
||||
+ int overlap = 0, res = 0;
|
||||
+ rpmds old = rpmdsSingle(flagtag, names[len], versions[len] ? versions[len] : "", flags[len]);
|
||||
+ rpmds new = rpmdsSingle(flagtag, N, EVR, Flags);
|
||||
|
||||
- if(*EVR && !*versions[len]) {
|
||||
- overlap = 1;
|
||||
- flags[len] = Flags;
|
||||
- he->tag = flagtag;
|
||||
- he->t = RPM_UINT32_TYPE;
|
||||
- he->p.argv = (void *) &Flags;
|
||||
- xx = headerMod(h, he, 0);
|
||||
- } else {
|
||||
+ overlap = rpmdsCompare(new, old);
|
||||
+
|
||||
+ if (overlap) {
|
||||
EVR_t lEVR = rpmEVRnew(RPMSENSE_ANY, 0),
|
||||
rEVR = rpmEVRnew(RPMSENSE_ANY, 0);
|
||||
+ rpmuint32_t newflags;
|
||||
+ /* if we have both a requires and suggests, we turn it into a requires */
|
||||
+ if (!(Flags & RPMSENSE_MISSINGOK) || !(flags[len] & RPMSENSE_MISSINGOK)) {
|
||||
+ flags[len] &= ~RPMSENSE_MISSINGOK;
|
||||
+ Flags &= ~RPMSENSE_MISSINGOK;
|
||||
+ }
|
||||
+
|
||||
+ /* merge all flags about dependency type */
|
||||
+ newflags = ((flags[len]| Flags) & _ALL_REQUIRES_MASK);
|
||||
|
||||
rpmEVRparse(EVR, lEVR);
|
||||
rpmEVRparse(versions[len], rEVR);
|
||||
- lEVR->Flags = Flags | RPMSENSE_EQUAL;
|
||||
- rEVR->Flags = flags[len] | RPMSENSE_EQUAL;
|
||||
- overlap = rpmEVRoverlap(lEVR, rEVR);
|
||||
- if (!overlap)
|
||||
- if (rpmEVRoverlap(rEVR, lEVR))
|
||||
- duplicate = 1;
|
||||
+ lEVR->Flags = Flags;
|
||||
+ rEVR->Flags = flags[len];
|
||||
+
|
||||
+ res = rpmEVRcompare(lEVR, rEVR);
|
||||
+ /* we only update version if greater */
|
||||
+ if (res > 0) {
|
||||
+ flags[len] = Flags;
|
||||
+
|
||||
+ versions[len] = EVR;
|
||||
+ he->tag = versiontag;
|
||||
+ he->t = RPM_STRING_ARRAY_TYPE;
|
||||
+ he->p.argv = versions;
|
||||
+ xx = headerMod(h, he, 0);
|
||||
+ rpmlog(RPMLOG_WARNING, "%s overlaps %s, removing %s\n", rpmdsDNEVR(old), rpmdsDNEVR(new), rpmdsDNEVR(old));
|
||||
+ } else if (res < 0) {
|
||||
+ rpmlog(RPMLOG_WARNING, "%s overlaps %s, removing %s\n", rpmdsDNEVR(new), rpmdsDNEVR(old), rpmdsDNEVR(new));
|
||||
+ } else {
|
||||
+ rpmlog(RPMLOG_DEBUG, "%s overlaps %s, removing %s and merging flags\n", rpmdsDNEVR(new), rpmdsDNEVR(old), rpmdsDNEVR(new));
|
||||
+ }
|
||||
+
|
||||
+ flags[len] |= newflags;
|
||||
+ he->tag = flagtag;
|
||||
+ he->t = RPM_UINT32_TYPE;
|
||||
+ he->p.ui32p = flags;
|
||||
+ xx = headerMod(h, he, 0);
|
||||
+
|
||||
lEVR = rpmEVRfree(lEVR);
|
||||
rEVR = rpmEVRfree(rEVR);
|
||||
+ duplicate = 1;
|
||||
}
|
||||
- if (overlap) {
|
||||
- versions[len] = EVR;
|
||||
- he->tag = versiontag;
|
||||
- he->t = RPM_STRING_ARRAY_TYPE;
|
||||
- he->p.argv = versions;
|
||||
- xx = headerMod(h, he, 0);
|
||||
- } else
|
||||
+ old = rpmdsFree(old);
|
||||
+ new = rpmdsFree(new);
|
||||
+
|
||||
+ if (!overlap)
|
||||
continue;
|
||||
}
|
||||
#else
|
17
rpm-5.4.4-fix-rpm-qf-on-non-packaged-files.patch
Normal file
17
rpm-5.4.4-fix-rpm-qf-on-non-packaged-files.patch
Normal file
|
@ -0,0 +1,17 @@
|
|||
--- rpm-5.4.4/lib/query.c.qf_non~ 2011-11-11 13:46:15.366139615 +0100
|
||||
+++ rpm-5.4.4/lib/query.c 2011-11-11 13:46:53.976182024 +0100
|
||||
@@ -705,8 +705,13 @@ JBJDEBUG((stderr, "--> %s(%p,%p,%p)\n",
|
||||
}
|
||||
|
||||
qva->qva_mi = rpmtsInitIterator(ts, RPMTAG_FILEPATHS, fn, 0);
|
||||
- if (qva->qva_mi == NULL && !provides_checked && !gotpattern)
|
||||
+ if (qva->qva_mi == NULL && !provides_checked && !gotpattern) {
|
||||
qva->qva_mi = rpmtsInitIterator(ts, RPMTAG_PROVIDENAME, fn, 0);
|
||||
+#if defined(RPM_VENDOR_MANDRIVA)
|
||||
+ if(rpmmiCount(qva->qva_mi) == 0)
|
||||
+ qva->qva_mi = rpmmiFree(qva->qva_mi);
|
||||
+#endif
|
||||
+ }
|
||||
|
||||
if (qva->qva_mi == NULL) {
|
||||
struct stat sb;
|
11
rpm-5.4.4-fix-rpm_qa-pattern.patch
Normal file
11
rpm-5.4.4-fix-rpm_qa-pattern.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- rpm-5.4.4/lib/rpmgi.c.rpm_qa~ 2011-11-11 23:03:05.580414137 +0100
|
||||
+++ rpm-5.4.4/lib/rpmgi.c 2011-11-11 23:03:09.446536939 +0100
|
||||
@@ -464,7 +464,7 @@ fprintf(stderr, "*** gi %p key %p[%d]\tm
|
||||
pat = ae;
|
||||
got++;
|
||||
}
|
||||
- if (got) {
|
||||
+ if (got >= 0) {
|
||||
if (_rpmgi_debug < 0)
|
||||
fprintf(stderr, "\tav %p[%d]: \"%s\" -> %s ~= \"%s\"\n", gi->argv, (int)(av - gi->argv), *av, tagName(tag), pat);
|
||||
got = rpmmiAddPattern(gi->mi, tag, RPMMIRE_DEFAULT, pat);
|
|
@ -0,0 +1,20 @@
|
|||
--- rpm-5.4.4/rpmconstant/rpmconstant.c.locale~ 2008-08-18 12:57:58.000000000 +0200
|
||||
+++ rpm-5.4.4/rpmconstant/rpmconstant.c 2011-12-16 16:41:27.721549143 +0100
|
||||
@@ -89,7 +89,7 @@ int rpmconstInitToContext(rpmconst c, co
|
||||
int rc = 0;
|
||||
if (!context) return 0; /* programmer error */
|
||||
for (ptr = lccontext; *ptr != 0; ptr++)
|
||||
- *ptr = (char)tolower(*ptr);
|
||||
+ *ptr = (char)xtolower(*ptr);
|
||||
rpmconstInitL(c);
|
||||
while (rpmconstNextL(c)) {
|
||||
if (!strcmp(lccontext, rpmconstContext(c))) {
|
||||
@@ -108,7 +108,7 @@ int rpmconstNameMatch(rpmconst c, const
|
||||
char * ucname = strdup(name);
|
||||
|
||||
for (uc = ucname; *uc != 0; uc++)
|
||||
- *uc = (char)toupper(*uc);
|
||||
+ *uc = (char)xtoupper(*uc);
|
||||
|
||||
if (!prefixed) prefixed = ALLCASE_PREFIX;
|
||||
if (prefixed & WITH_PREFIX)
|
|
@ -0,0 +1,22 @@
|
|||
--- rpm-5.4.4/lib/transaction.c.epoch_cmp~ 2011-11-30 22:25:26.646155379 +0100
|
||||
+++ rpm-5.4.4/lib/transaction.c 2011-11-30 23:15:28.252768345 +0100
|
||||
@@ -1187,12 +1187,15 @@ rpmlog(RPMLOG_DEBUG, D_("sanity checking
|
||||
const char *val = NULL;
|
||||
he->tag = tags[t];
|
||||
xx = headerGet(h, he, 0);
|
||||
- if (he->tag == RPMTAG_EPOCH)
|
||||
+ if (he->tag == RPMTAG_EPOCH) {
|
||||
val = rpmteE(p);
|
||||
- else if (he->tag == RPMTAG_DISTEPOCH)
|
||||
+ if (val ? atoi(val) : 0 != he->p.ui32p ? *(he->p.ui32p) : 0)
|
||||
+ nkeys--;
|
||||
+ } else if (he->tag == RPMTAG_DISTEPOCH) {
|
||||
val = rpmteD(p);
|
||||
- if (strcmp(he->p.str ? he->p.str : "", val ? val : ""))
|
||||
- nkeys--;
|
||||
+ if (strcmp(he->p.str ? he->p.str : "", val ? val : ""))
|
||||
+ nkeys--;
|
||||
+ }
|
||||
he->p.ptr = _free(he->p.ptr);
|
||||
}
|
||||
mi = rpmmiFree(mi);
|
|
@ -0,0 +1,33 @@
|
|||
--- rpm-5.4.4/scripts/brp-strip-comment-note.quotes~ 2007-06-20 18:56:47.000000000 +0200
|
||||
+++ rpm-5.4.4/scripts/brp-strip-comment-note 2011-11-28 16:59:30.906559660 +0100
|
||||
@@ -16,7 +16,7 @@ esac
|
||||
|
||||
# Strip .comment and .note sections (the latter only if it is not allocated)
|
||||
# for already stripped elf files in the build root
|
||||
-for f in `find $RPM_BUILD_ROOT -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \
|
||||
+for f in `find "$RPM_BUILD_ROOT" -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \
|
||||
grep -v "^${RPM_BUILD_ROOT}/\?usr/lib/debug" | \
|
||||
sed -n -e 's/^\(.*\):[ ]*ELF.*, stripped/\1/p'`; do
|
||||
note="-R .note"
|
||||
--- rpm-5.4.4/scripts/brp-strip-shared.quotes~ 2007-06-20 18:56:47.000000000 +0200
|
||||
+++ rpm-5.4.4/scripts/brp-strip-shared 2011-11-28 16:59:30.906559660 +0100
|
||||
@@ -18,7 +18,7 @@ esac
|
||||
# Strip ELF shared objects
|
||||
# Please note we don't restrict our search to executable files because
|
||||
# our libraries are not (should not be, at least) +x.
|
||||
-for f in `find $RPM_BUILD_ROOT -type f -a -exec file {} \; | \
|
||||
+for f in `find "$RPM_BUILD_ROOT" -type f -a -exec file {} \; | \
|
||||
grep -v "^${RPM_BUILD_ROOT}/\?usr/lib/debug" | \
|
||||
grep ' shared object,' | \
|
||||
sed -n -e 's/^\(.*\):[ ]*ELF.*, not stripped/\1/p'`; do
|
||||
--- rpm-5.4.4/scripts/find-debuginfo.sh.quotes~ 2011-11-28 16:59:04.000000000 +0100
|
||||
+++ rpm-5.4.4/scripts/find-debuginfo.sh 2011-11-28 17:00:14.587605241 +0100
|
||||
@@ -251,7 +251,7 @@ done || exit
|
||||
|
||||
# For each symlink whose target has a .debug file,
|
||||
# make a .debug symlink to that file.
|
||||
-find $RPM_BUILD_ROOT ! -path "${debugdir}/*" -type l -print | LANG=C sort |
|
||||
+find "$RPM_BUILD_ROOT" ! -path "${debugdir}/*" -type l -print | LANG=C sort |
|
||||
while read f
|
||||
do
|
||||
t=$(readlink -m "$f").debug
|
24
rpm-5.4.4-glob-wildcards-for-loading-macro-files.patch
Normal file
24
rpm-5.4.4-glob-wildcards-for-loading-macro-files.patch
Normal file
|
@ -0,0 +1,24 @@
|
|||
--- rpm-5.4.4/rpmio/macro.c.glob~ 2011-09-30 20:40:18.000000000 +0200
|
||||
+++ rpm-5.4.4/rpmio/macro.c 2011-11-17 16:49:16.870465121 +0100
|
||||
@@ -2798,6 +2798,9 @@ rpmLoadMacroFile(MacroContext mc, const
|
||||
/* Parse %{load:...} immediately recursively. */
|
||||
if (s[1] == '{' && !strncmp(s+2, "load:", sizeof("load:")-1)) {
|
||||
char * se = (char *) matchchar(s, '{', '}');
|
||||
+ const char ** argv = NULL;
|
||||
+ int argc = 0;
|
||||
+ int i;
|
||||
if (se == NULL) {
|
||||
rpmlog(RPMLOG_WARNING,
|
||||
_("%s:%u Missing '}' in \"%s\", skipping.\n"),
|
||||
@@ -2814,7 +2817,10 @@ rpmLoadMacroFile(MacroContext mc, const
|
||||
continue;
|
||||
}
|
||||
se = rpmMCExpand(mc, s, NULL);
|
||||
- rc = rpmLoadMacroFile(mc, se, nesting - 1);
|
||||
+ rc = rpmGlob(se, &argc, &argv);
|
||||
+ for(i = 0; i < argc; i++)
|
||||
+ rc |= rpmLoadMacroFile(mc, argv[i], nesting - 1);
|
||||
+ argv = _free(argv);
|
||||
se = _free(se);
|
||||
if (rc != 0)
|
||||
goto exit;
|
34
rpm-5.4.4-merge-common-rpm-mandriva-setup-macros.patch
Normal file
34
rpm-5.4.4-merge-common-rpm-mandriva-setup-macros.patch
Normal file
|
@ -0,0 +1,34 @@
|
|||
--- rpm-5.4.4/macros/mandriva.in.common~ 2011-11-24 15:33:32.908914943 +0100
|
||||
+++ rpm-5.4.4/macros/mandriva.in 2011-11-24 15:33:35.721911916 +0100
|
||||
@@ -165,4 +165,31 @@ export CFLAGS="%optflags -fPIE"; export
|
||||
%serverbuild \
|
||||
%{nil}
|
||||
|
||||
+#==============================================================================
|
||||
+# ---- GPG/PGP/PGP5 signature macros.
|
||||
+# Macro(s) to hold the arguments passed to GPG/PGP for package
|
||||
+# signing and verification.
|
||||
+#
|
||||
+
|
||||
+# We disable the gpg key automatic querying
|
||||
+%_hkp_keyserver_query %nil
|
||||
+
|
||||
+
|
||||
+# Verify digest/signature flags for various rpm modes:
|
||||
+# 0x30300 (_RPMVSF_NODIGESTS) --nohdrchk if set, don't check digest(s)
|
||||
+# 0xc0c00 (_RPMVSF_NOSIGNATURES) --nosignature if set, don't check signature(s)
|
||||
+# 0xf0000 (_RPMVSF_NOPAYLOAD) --nolegacy if set, check header+payload (if possible)
|
||||
+# 0x00f00 (_RPMVSF_NOHEADER) --nohdrchk if set, don't check rpmdb headers
|
||||
+%_vsflags_query 0xc0c00
|
||||
+
|
||||
+
|
||||
+# Open all indices before doing chroot(2).
|
||||
+#
|
||||
+%_openall_before_chroot 1
|
||||
+
|
||||
+%_repackage_all_erasures 0
|
||||
+
|
||||
+# activate filetriggers (cf http://wiki.mandriva.com/en/Rpm_filetriggers)
|
||||
+%_filetriggers_dir /var/lib/rpm/filetriggers
|
||||
+
|
||||
%{load:/etc/rpm/macros.d/*.macros}
|
50
rpm-5.4.4-merge-find-debuginfo.sh-from-mandriva.patch
Normal file
50
rpm-5.4.4-merge-find-debuginfo.sh-from-mandriva.patch
Normal file
|
@ -0,0 +1,50 @@
|
|||
--- rpm-5.4.4/scripts/find-debuginfo.sh.mdv~ 2011-10-21 17:35:46.000000000 +0200
|
||||
+++ rpm-5.4.4/scripts/find-debuginfo.sh 2011-11-11 10:25:50.301878554 +0100
|
||||
@@ -91,10 +91,10 @@ strip_to_debug()
|
||||
{
|
||||
local g=
|
||||
$strip_g && case "$(file -bi "$2")" in
|
||||
- application/x-sharedlib,*) g=-g ;;
|
||||
+ application/x-sharedlib*) g=-g ;;
|
||||
esac
|
||||
- eu-strip --remove-comment $g -f "$1" "$2" || exit
|
||||
- chmod 444 "$1" || exit
|
||||
+ eu-strip --remove-comment $g $([ -n "$DISABLE_DEBUG" ] || echo -f "$1") "$2" || exit
|
||||
+ [ -n "$DISABLE_DEBUG" ] || chmod 444 "$1" || exit
|
||||
}
|
||||
|
||||
# Make a relative symlink to $1 called $3$2
|
||||
@@ -174,13 +174,23 @@ set -o pipefail
|
||||
strict_error=ERROR
|
||||
$strict || strict_error=WARNING
|
||||
|
||||
+[[ -n "$EXCLUDE_FROM_STRIP" ]] && \
|
||||
+EXCLUDE_REGEXP=`perl -e 'print "(", join("|", @ARGV), ")"' $EXCLUDE_FROM_STRIP`
|
||||
+[[ -n "$EXCLUDE_FROM_FULL_STRIP" ]] && \
|
||||
+EXCLUDE_FULL_REGEXP=`perl -e 'print "(", join("|", @ARGV), ")"' $EXCLUDE_FROM_FULL_STRIP`
|
||||
+
|
||||
+echo $EXCLUDE_REGEXP
|
||||
# Strip ELF binaries
|
||||
find "$RPM_BUILD_ROOT" ! -path "${debugdir}/*.debug" -type f \
|
||||
- \( -perm -0100 -or -perm -0010 -or -perm -0001 \) \
|
||||
+ \( -name \*.ko -or -perm -0100 -or -perm -0010 -or -perm -0001 \) \
|
||||
-print | LANG=C sort |
|
||||
file -N -f - | sed -n -e 's/^\(.*\):[ ]*.*ELF.*, not stripped/\1/p' |
|
||||
xargs --no-run-if-empty stat -c '%h %D_%i %n' |
|
||||
while read nlinks inum f; do
|
||||
+ [ -n "$EXCLUDE_REGEXP" ] && grep -E -q "$EXCLUDE_REGEXP" <<< "$f" && \
|
||||
+ continue
|
||||
+ [ -n "$DISABLE_DEBUG" ] && strip_to_debug "" "$f" && continue
|
||||
+
|
||||
get_debugfn "$f"
|
||||
[ -f "${debugfn}" ] && continue
|
||||
|
||||
@@ -256,7 +266,7 @@ fi
|
||||
|
||||
if [ -d "${RPM_BUILD_ROOT}/usr/lib" -o -d "${RPM_BUILD_ROOT}/usr/src" ]; then
|
||||
((nout > 0)) ||
|
||||
- test ! -d "${RPM_BUILD_ROOT}/usr/lib" ||
|
||||
+ test ! -d "${RPM_BUILD_ROOT}/usr/lib/debug" ||
|
||||
(cd "${RPM_BUILD_ROOT}/usr/lib"; find debug -type d) | LANG=C sort |
|
||||
sed 's,^,%dir /usr/lib/,' >> "$LISTFILE"
|
||||
|
162
rpm-5.4.4-merge-find-lang.sh-changes-from-rpm.org.patch
Normal file
162
rpm-5.4.4-merge-find-lang.sh-changes-from-rpm.org.patch
Normal file
|
@ -0,0 +1,162 @@
|
|||
--- rpm-5.4.4/scripts/find-lang.sh.rpmorg~ 2011-11-11 11:06:28.698286682 +0100
|
||||
+++ rpm-5.4.4/scripts/find-lang.sh 2011-11-11 11:06:34.704293763 +0100
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
#findlang - automagically generate list of language specific files
|
||||
#for inclusion in an rpm spec file.
|
||||
-#This does assume that the *.mo files are under .../share/locale/...
|
||||
+#This does assume that the *.mo files are under .../locale/...
|
||||
#Run with no arguments gets a usage message.
|
||||
|
||||
#findlang is copyright (c) 1998 by W. L. Estes <wlestes@uncg.edu>
|
||||
@@ -11,7 +11,7 @@
|
||||
#in tact and are included with any redistribution of this file or any
|
||||
#work based on this file.
|
||||
|
||||
-# 2004-06-20 Arkadiusz Mi¶kiewicz <arekm@pld-linux.org>
|
||||
+# 2004-06-20 Arkadiusz Miśkiewicz <arekm@pld-linux.org>
|
||||
# * merge PLD changes, kde, all-name (mkochano,pascalek@PLD)
|
||||
# 1999-10-19 Artur Frysiak <wiget@pld-linux.org>
|
||||
# * added support for GNOME help files
|
||||
@@ -32,8 +32,10 @@ to \$3.
|
||||
Additional options:
|
||||
--with-gnome find GNOME help files
|
||||
--with-kde find KDE help files
|
||||
+ --with-qt find Qt translation files
|
||||
+ --with-man find localized man pages
|
||||
--all-name match all package/domain names
|
||||
- --without-mo not find locales files
|
||||
+ --without-mo do not find locale files
|
||||
EOF
|
||||
exit 1
|
||||
}
|
||||
@@ -54,6 +56,8 @@ shift
|
||||
|
||||
GNOME=#
|
||||
KDE=#
|
||||
+QT=#
|
||||
+MAN=#
|
||||
MO=
|
||||
MO_NAME=$NAME.lang
|
||||
ALL_NAME=#
|
||||
@@ -69,6 +73,14 @@ while test $# -gt 0 ; do
|
||||
KDE=
|
||||
shift
|
||||
;;
|
||||
+ --with-qt )
|
||||
+ QT=
|
||||
+ shift
|
||||
+ ;;
|
||||
+ --with-man )
|
||||
+ MAN=
|
||||
+ shift
|
||||
+ ;;
|
||||
--without-mo )
|
||||
MO=#
|
||||
shift
|
||||
@@ -85,10 +97,10 @@ while test $# -gt 0 ; do
|
||||
esac
|
||||
done
|
||||
|
||||
-find "$TOP_DIR" -type f -or -type l|sed '
|
||||
+find "$TOP_DIR" -type f -o -type l|sed '
|
||||
s:'"$TOP_DIR"'::
|
||||
-'"$ALL_NAME$MO"'s:\(.*/share/locale/\)\([^/_][^/_]*\)\(.*\.mo$\):%lang(\2) \1\2\3:
|
||||
-'"$NO_ALL_NAME$MO"'s:\(.*/share/locale/\)\([^/_][^/_]*\)\(.*/'"$NAME"'\.mo$\):%lang(\2) \1\2\3:
|
||||
+'"$ALL_NAME$MO"'s:\(.*/locale/\)\([^/_]\+\)\(.*\.mo$\):%lang(\2) \1\2\3:
|
||||
+'"$NO_ALL_NAME$MO"'s:\(.*/locale/\)\([^/_]\+\)\(.*/'"$NAME"'\.mo$\):%lang(\2) \1\2\3:
|
||||
s:^\([^%].*\)::
|
||||
s:%lang(C) ::
|
||||
/^$/d' > $MO_NAME
|
||||
@@ -96,30 +108,79 @@ s:%lang(C) ::
|
||||
find "$TOP_DIR" -type d|sed '
|
||||
s:'"$TOP_DIR"'::
|
||||
'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'$\):%dir \1:
|
||||
-'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'/[a-zA-Z0-9.\_\-]/..*\)::
|
||||
-'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'\/\)\([^/_][^/_]*\):%lang(\2) \1\2:
|
||||
-'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\{1,\}$\):%dir \1:
|
||||
-'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\{1,\}/[a-zA-Z0-9.\_\-]/..*\)::
|
||||
-'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\{1,\}\/\)\([^/_][^/_]*\):%lang(\2) \1\2:
|
||||
-s:%lang(.*) .*/gnome/help/[a-zA-Z0-9.\_\-]\{1,\}/[a-zA-Z0-9.\_\-]\{1,\}/.*::
|
||||
+'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'/[a-zA-Z0-9.\_\-]/.\+\)::
|
||||
+'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'\/\)\([^/_]\+\):%lang(\2) \1\2:
|
||||
+'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+$\):%dir \1:
|
||||
+'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]/.\+\)::
|
||||
+'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+\/\)\([^/_]\+\):%lang(\2) \1\2:
|
||||
+s:%lang(.*) .*/gnome/help/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+/.*::
|
||||
s:^\([^%].*\)::
|
||||
s:%lang(C) ::
|
||||
/^$/d' >> $MO_NAME
|
||||
|
||||
+find "$TOP_DIR" -type d|sed '
|
||||
+s:'"$TOP_DIR"'::
|
||||
+'"$NO_ALL_NAME$GNOME"'s:\(.*/omf/'"$NAME"'$\):%dir \1:
|
||||
+'"$ALL_NAME$GNOME"'s:\(.*/omf/[a-zA-Z0-9.\_\-]\+$\):%dir \1:
|
||||
+s:^\([^%].*\)::
|
||||
+/^$/d' >> $MO_NAME
|
||||
+
|
||||
find "$TOP_DIR" -type f|sed '
|
||||
s:'"$TOP_DIR"'::
|
||||
-'"$NO_ALL_NAME$GNOME"'s:\(.*/omf/'"$NAME"'/'"$NAME"'-\([^/.]\+\).omf\):%lang(\2) \1:
|
||||
-'"$ALL_NAME$GNOME"'s:\(.*/omf/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+-\([^/.]\+\).omf\):%lang(\2) \1:
|
||||
+'"$NO_ALL_NAME$GNOME"'s:\(.*/omf/'"$NAME"'/'"$NAME"'-\([^/.]\+\)\.omf\):%lang(\2) \1:
|
||||
+'"$ALL_NAME$GNOME"'s:\(.*/omf/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+-\([^/.]\+\)\.omf\):%lang(\2) \1:
|
||||
+s:^[^%].*::
|
||||
+s:%lang(C) ::
|
||||
+/^$/d' >> $MO_NAME
|
||||
+
|
||||
+KDE3_HTML=`kde-config --expandvars --install html 2>/dev/null`
|
||||
+if [ x"$KDE3_HTML" != x -a -d "$TOP_DIR$KDE3_HTML" ]; then
|
||||
+find "$TOP_DIR$KDE3_HTML" -type d|sed '
|
||||
+s:'"$TOP_DIR"'::
|
||||
+'"$NO_ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'/\)::
|
||||
+'"$NO_ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'\)$:%lang(\2) \1\2\3:
|
||||
+'"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+/\)::
|
||||
+'"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3:
|
||||
+s:^\([^%].*\)::
|
||||
+s:%lang(C) ::
|
||||
+/^$/d' >> $MO_NAME
|
||||
+fi
|
||||
+
|
||||
+KDE4_HTML=`kde4-config --expandvars --install html 2>/dev/null`
|
||||
+if [ x"$KDE4_HTML" != x -a -d "$TOP_DIR$KDE4_HTML" ]; then
|
||||
+find "$TOP_DIR$KDE4_HTML" -type d|sed '
|
||||
+s:'"$TOP_DIR"'::
|
||||
+'"$NO_ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'/\)::
|
||||
+'"$NO_ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'\)$:%lang(\2) \1\2\3:
|
||||
+'"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+/\)::
|
||||
+'"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3:
|
||||
+s:^\([^%].*\)::
|
||||
+s:%lang(C) ::
|
||||
+/^$/d' >> $MO_NAME
|
||||
+fi
|
||||
+
|
||||
+find "$TOP_DIR" -type f -o -type l|sed '
|
||||
+s:'"$TOP_DIR"'::
|
||||
+'"$NO_ALL_NAME$QT"'s:\(.*/'"$NAME"'_\([a-zA-Z]\{2\}\([_@].*\)\?\)\.qm$\):%lang(\2) \1:
|
||||
+'"$ALL_NAME$QT"'s:\(.*/[^/_]\+_\([a-zA-Z]\{2\}[_@].*\)\.qm$\):%lang(\2) \1:
|
||||
+'"$ALL_NAME$QT"'s:\(.*/[^/_]\+_\([a-zA-Z]\{2\}\)\.qm$\):%lang(\2) \1:
|
||||
+'"$ALL_NAME$QT"'s:^\([^%].*/[^/]\+_\([a-zA-Z]\{2\}[_@].*\)\.qm$\):%lang(\2) \1:
|
||||
+'"$ALL_NAME$QT"'s:^\([^%].*/[^/]\+_\([a-zA-Z]\{2\}\)\.qm$\):%lang(\2) \1:
|
||||
s:^[^%].*::
|
||||
s:%lang(C) ::
|
||||
/^$/d' >> $MO_NAME
|
||||
|
||||
find "$TOP_DIR" -type d|sed '
|
||||
s:'"$TOP_DIR"'::
|
||||
-'"$NO_ALL_NAME$KDE"'s:\(.*/doc/kde/HTML/\)\([^/_][^/_]*\)\(.*/'"$NAME"'/\)::
|
||||
-'"$NO_ALL_NAME$KDE"'s:\(.*/doc/kde/HTML/\)\([^/_][^/_]*\)\(.*/'"$NAME"'\)$:%lang(\2) \1\2\3:
|
||||
-'"$ALL_NAME$KDE"'s:\(.*/doc/kde/HTML/\)\([^/_]\{1,\}\)\(.*/[a-zA-Z0-9.\_\-]\{1,\}/\)::
|
||||
-'"$ALL_NAME$KDE"'s:\(.*/doc/kde/HTML/\)\([^/_]\{1,\}\)\(.*/[a-zA-Z0-9.\_\-]\{1,\}$\):%lang(\2) \1\2\3:
|
||||
+'"$ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+/\)::
|
||||
+'"$ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+$\):%lang(\2) \1*:
|
||||
+s:^\([^%].*\)::
|
||||
+s:%lang(C) ::
|
||||
+/^$/d' >> $MO_NAME
|
||||
+
|
||||
+find "$TOP_DIR" -type f -o -type l|sed '
|
||||
+s:'"$TOP_DIR"'::
|
||||
+'"$NO_ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+/'"$NAME"'\.[a-z0-9].*\):%lang(\2) \1*:
|
||||
s:^\([^%].*\)::
|
||||
s:%lang(C) ::
|
||||
/^$/d' >> $MO_NAME
|
67
rpm-5.4.4-merge-manbo-macros.patch
Normal file
67
rpm-5.4.4-merge-manbo-macros.patch
Normal file
|
@ -0,0 +1,67 @@
|
|||
--- rpm-5.4.4/macros/mandriva.in.manbo~ 2011-11-17 15:30:12.954792166 +0100
|
||||
+++ rpm-5.4.4/macros/mandriva.in 2011-11-17 15:29:25.105725054 +0100
|
||||
@@ -79,6 +79,13 @@ end\
|
||||
|
||||
%_loop_detection_loglevel 4
|
||||
|
||||
+
|
||||
+%_sysconfdir /etc
|
||||
+%_defaultdocdir %{_datadir}/doc
|
||||
+%_localstatedir %{_var}
|
||||
+%_logdir %{_var}/log
|
||||
+%_libexecdir %{_libdir}
|
||||
+
|
||||
# mdvbz#62741
|
||||
# standard systemd directories
|
||||
%_systemdrootdir /lib/systemd
|
||||
@@ -112,4 +119,50 @@ end\
|
||||
# TODO: fix check script and implement support for using
|
||||
#%_multiarch_required_terminate_build 1
|
||||
|
||||
+%_enable_debug_packages 1
|
||||
+
|
||||
+
|
||||
+# Default extension to use (for info files)
|
||||
+%_extension .xz
|
||||
+
|
||||
+
|
||||
+%__install_info /sbin/install-info
|
||||
+
|
||||
+%_install_info() if [[ -f %{_infodir}/%{1}%{_extension} ]]; then %{__install_info} %{_infodir}/%{1}%{_extension} --dir=%{_infodir}/dir; fi \
|
||||
+%{nil}
|
||||
+# (nb: keep the "alone on its line ';'")
|
||||
+%_remove_install_info() if [ "$1" = "0" ]; then if [[ -f %{_infodir}/%{1}%{_extension} ]]; then %{__install_info} %{_infodir}/%{1}%{_extension} --dir=%{_infodir}/dir --remove ; fi; fi \
|
||||
+%{nil}
|
||||
+
|
||||
+
|
||||
+# Macro: %{mklibname <name> [<major> [<minor>]] [-s] [-d]}
|
||||
+# - %{mklibname test} => lib64test, on a lib64 platform
|
||||
+# - %{mklibname test 1 -d} => libtest1-devel
|
||||
+# - %{mklibname test 1 -d 0 -s} => libtest1_0-static-devel
|
||||
+%mklibname(ds) %{_lib}%{1}%{?2:%{2}}%{?3:_%{3}}%{-s:-static}%{-d:-devel}
|
||||
+
|
||||
+%debugcflags %{?_enable_debug_packages:-g -frecord-gcc-switches -Wstrict-aliasing=2}
|
||||
+
|
||||
+# common compilation flags
|
||||
+
|
||||
+%_fortify_cflags -Wp,-D_FORTIFY_SOURCE=2
|
||||
+
|
||||
+# cf http://wiki.mandriva.com/en/Development/Packaging/Problems#format_not_a_string_literal_and_no_format_arguments
|
||||
+%Werror_cflags -Wformat -Werror=format-security
|
||||
+
|
||||
+%_ssp_cflags -fstack-protector --param=ssp-buffer-size=4%{?_serverbuild_flags: %_serverbuild_flags}
|
||||
+%__common_cflags -O2 %{debugcflags} -pipe %{Werror_cflags} %{?_fortify_cflags}
|
||||
+%__common_cflags_with_ssp %{__common_cflags} %{?_ssp_cflags}
|
||||
+
|
||||
+# Servers opt flags.
|
||||
+# Also set the env variables for backward compatibility (#32050).
|
||||
+%serverbuild %define _serverbuild_flags -fstack-protector-all \
|
||||
+export CFLAGS="%optflags -fPIE"; export CXXFLAGS="%optflags -fPIE"; export RPM_OPT_FLAGS="%optflags -fPIE" \
|
||||
+%{nil}
|
||||
+
|
||||
+# Hardened Servers opt flags.
|
||||
+%serverbuild_hardened %define _hardened_flags -Wl,-z,now -pie \
|
||||
+%serverbuild \
|
||||
+%{nil}
|
||||
+
|
||||
%{load:/etc/rpm/macros.d/*.macros}
|
303
rpm-5.4.4-merge-rpm-mandriva-setup-build-macros.patch
Normal file
303
rpm-5.4.4-merge-rpm-mandriva-setup-build-macros.patch
Normal file
|
@ -0,0 +1,303 @@
|
|||
--- rpm-5.4.4/macros/mandriva.in.build~ 2011-11-24 15:52:00.957832674 +0100
|
||||
+++ rpm-5.4.4/macros/mandriva.in 2011-11-24 15:54:35.315919827 +0100
|
||||
@@ -195,4 +195,300 @@ export CFLAGS="%optflags -fPIE"; export
|
||||
# use XZ to compress binary packages:
|
||||
%_binary_payload w5.xzdio
|
||||
|
||||
+
|
||||
+%__gzip /bin/gzip
|
||||
+
|
||||
+%_sys_macros_dir %{_sysconfdir}/macros.d
|
||||
+%build_sysmacrospath() %{_sys_macros_dir}/%{?1:%{1}}%{?!1:%{name}}.macros
|
||||
+
|
||||
+# when %_with_git_repository is set, these macros modify the behaviour of "%prep" step:
|
||||
+%_after_setup %{?_with_git_repository:GIT_URL="%{?git_url}" GIT_REPOSITORY_CACHE=%{?git_repository_cache} @USRLIBRPM@/@RPMCANONVENDOR@/git-repository--after-tarball}
|
||||
+%_patch %{?_with_git_repository:PKG_NAME=%{name} @USRLIBRPM@/@RPMCANONVENDOR@/git-repository--apply-patch}%{?!_with_git_repository:%__patch -U}
|
||||
+
|
||||
+# used by "git-repository--after-tarball":
|
||||
+%git_repository_cache %_topdir/%{name}.git
|
||||
+
|
||||
+
|
||||
+# Various programs used in rpm scripts
|
||||
+%_update_desktop_database_bin %{_bindir}/update-desktop-database
|
||||
+%_update_mime_database_bin %{_bindir}/update-mime-database
|
||||
+%_update_icon_cache_bin %{_bindir}/gtk-update-icon-cache
|
||||
+%_gconftool_bin %{_bindir}/gconftool-2
|
||||
+%_scrollkeeper_bin %{_bindir}/scrollkeeper-update
|
||||
+
|
||||
+%__service /sbin/service
|
||||
+%__chkconfig /sbin/chkconfig
|
||||
+
|
||||
+#==============================================================================
|
||||
+# ---- Required rpmrc macros.
|
||||
+# Macros that used to be initialized as a side effect of rpmrc parsing.
|
||||
+# These are the default values that can be overridden by other
|
||||
+# (e.g. per-platform, per-system, per-packager, per-package) macros.
|
||||
+#
|
||||
+
|
||||
+%debug_package_and_restore %{debug_package} \
|
||||
+%package __restore__\
|
||||
+Summary: %{summary}\
|
||||
+Group: %{group}\
|
||||
+%description __restore__
|
||||
+
|
||||
+%_arch_tag_suffix (%_lib)
|
||||
+%arch_tagged() %{1}%{_arch_tag_suffix} %{?2:%{2} %{3}%{?!3:%{error:undefined 3rd argument in arch_tagged}}}
|
||||
+
|
||||
+# Games macros
|
||||
+%_gamesdir games
|
||||
+%_gamesbindir %{_prefix}/%{_gamesdir}
|
||||
+%_gamesdatadir %{_datadir}/%{_gamesdir}
|
||||
+
|
||||
+# Menu directories
|
||||
+%_menudir %{_prefix}/lib/menu
|
||||
+%_iconsdir %{_datadir}/icons
|
||||
+%_miconsdir %{_datadir}/icons/mini
|
||||
+%_liconsdir %{_datadir}/icons/large
|
||||
+
|
||||
+%_xfontdir %_datadir/fonts
|
||||
+
|
||||
+%_webconfdir %{_sysconfdir}/httpd/conf
|
||||
+%_webappconfdir %_webconfdir/webapps.d
|
||||
+# compatibility
|
||||
+%webappconfdir %_webappconfdir
|
||||
+
|
||||
+#==============================================================================
|
||||
+# ---- Build configuration macros.
|
||||
+#
|
||||
+# Package version macro.
|
||||
+# The type of package to produce, for compatibility with legacy
|
||||
+# versions of rpm.
|
||||
+#
|
||||
+# Script gets packaged file list on input.
|
||||
+# Returns list of multiarch files that are not marked as such,
|
||||
+# i.e. files in $RPM_BUILD_ROOT that have arch-dependent values
|
||||
+#
|
||||
+# Note: Disable (by commenting out) for legacy compatibility.
|
||||
+#%__check_multiarch_files @USRLIBRPM@/check-multiarch-files %{buildroot}
|
||||
+
|
||||
+# Use internal dependency generator rather than external helpers?
|
||||
+%_use_internal_dependency_generator 0
|
||||
+
|
||||
+%__find_provides @USRLIBRPM@/@RPMCANONVENDOR@/filter.sh '%{?_provides_exceptions:%{_provides_exceptions}}%{!?_provides_exceptions: }' '%{?_exclude_files_from_autoprov:%{_exclude_files_from_autoprov}}%{!?_exclude_files_from_autoprov: }' '%{buildroot}' @USRLIBRPM@/@RPMCANONVENDOR@/find-provides
|
||||
+%__find_requires @USRLIBRPM@/@RPMCANONVENDOR@/filter.sh '%{?_requires_exceptions:%{_requires_exceptions}}%{!?_requires_exceptions: }' '%{?_exclude_files_from_autoreq:%{_exclude_files_from_autoreq}}%{!?_exclude_files_from_autoreq: }' '%{buildroot}' @USRLIBRPM@/@RPMCANONVENDOR@/find-requires %{?buildroot:%{buildroot}} %{?_target_cpu:%{_target_cpu}}
|
||||
+
|
||||
+# Update Menu
|
||||
+%_update_menus_bin %{_bindir}/update-menus
|
||||
+
|
||||
+# Update Window Managers session.
|
||||
+%_fndsession_bin %{_sbindir}/fndSession
|
||||
+%make_session %{nil}
|
||||
+%make_dm_session if [ -x %{_fndsession_bin} ]; then %{_fndsession_bin} || true ; fi \
|
||||
+%{nil}
|
||||
+
|
||||
+# For rebuilding gcj-db
|
||||
+%_rebuildgcjdb_bin %{_bindir}/rebuild-gcj-db
|
||||
+%update_gcjdb if [ -x %{_rebuildgcjdb_bin} ]; then %{_rebuildgcjdb_bin} || true ; fi \
|
||||
+%{nil}
|
||||
+
|
||||
+%clean_gcjdb if [ -x %{_rebuildgcjdb_bin} ]; then %{_rebuildgcjdb_bin} || true ; fi \
|
||||
+%{nil}
|
||||
+
|
||||
+# Rebuild icon cache
|
||||
+%update_icon_cache() if [ -x %{_update_icon_cache_bin} ]; then \
|
||||
+%{_update_icon_cache_bin} --force --quiet %{_iconsdir}/%{1} || true; fi \
|
||||
+%{nil}
|
||||
+
|
||||
+%clean_icon_cache() if [ -x %{_update_icon_cache_bin} -a -r %{_iconsdir}/%{1}/index.theme ]; then \
|
||||
+%{_update_icon_cache_bin} --force --quiet %{_iconsdir}/%{1} || true ; fi \
|
||||
+%{nil}
|
||||
+
|
||||
+# GConf schemas:
|
||||
+# installation is handled by filetriggers
|
||||
+%post_install_gconf_schemas() %{nil}
|
||||
+# but uninstall still need to be done in %preun:
|
||||
+%preun_uninstall_gconf_schemas() if [ "$1" = "0" -a -x %{_gconftool_bin} ]; then \
|
||||
+SCHEMAS="" \
|
||||
+for SCHEMA in %{*} ; do \
|
||||
+ SCHEMAS="$SCHEMAS %{_sysconfdir}/gconf/schemas/$SCHEMA.schemas" \
|
||||
+done \
|
||||
+GCONF_CONFIG_SOURCE=`%{_gconftool_bin} --get-default-source` %{_gconftool_bin} --makefile-uninstall-rule $SCHEMAS > /dev/null || true ; fi \
|
||||
+%{nil}
|
||||
+
|
||||
+# Mandriva Linux version
|
||||
+# - "9.1" => 910
|
||||
+# - "10.2.2" => 1022
|
||||
+# (user may copy the following line in specfile)
|
||||
+%mdkversion %(perl -pe '/(\\d+)\\.(\\d)\\.?(\\d)?/; $_="$1$2".($3||0)' /etc/mandriva-release)
|
||||
+
|
||||
+#==============================================================================
|
||||
+# ---- Build policy macros.
|
||||
+#
|
||||
+#---------------------------------------------------------------------
|
||||
+# Expanded at end of %install scriptlet.
|
||||
+#
|
||||
+
|
||||
+%__os_install_post \
|
||||
+ %{?__spec_helper_post}%{?!__spec_helper_post:/usr/share/spec-helper/spec-helper} \
|
||||
+%{nil}
|
||||
+
|
||||
+#==============================================================================
|
||||
+# ---- specfile macros.
|
||||
+# Macro(s) here can be used reliably for reproducible builds.
|
||||
+# (Note: Above is the goal, below are the macros under development)
|
||||
+#
|
||||
+
|
||||
+%__fix_libtool_ltmain_from_overlinking @USRLIBRPM@/@RPMCANONVENDOR@/fix-libtool-ltmain-from-overlinking
|
||||
+%__fix_libtool_from_moving_options_after_libs @USRLIBRPM@/@RPMCANONVENDOR@/fix-libtool-from-moving-options-after-libs
|
||||
+%__fix_dlsearch_path_in_libtool_for_multilib @USRLIBRPM@/@RPMCANONVENDOR@/fix-dlsearch-path-in-libtool-for-multilib
|
||||
+
|
||||
+%__cputoolize cputoolize
|
||||
+
|
||||
+%__libtoolize_configure %{?__libtoolize:(cd $CONFIGURE_TOP; [ ! -f configure.in -a ! -f configure.ac ] || %{__libtoolize} --copy --force)}
|
||||
+
|
||||
+%ldflags %{?!_disable_ld_as_needed: -Wl,--as-needed}%{?!_disable_ld_no_undefined: -Wl,--no-undefined}%{?!_disable_ld_relro: -Wl,-z,relro}%{?!_disable_ld_O1: -Wl,-O1}%{?!_disable_ld_build_id: -Wl,--build-id}%{?!_disable_ld_enable_new_dtags: -Wl,--enable-new-dtags}%{?_hardened_flags: %_hardened_flags}
|
||||
+
|
||||
+%setup_compile_flags \
|
||||
+ CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
|
||||
+ CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
|
||||
+ FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \
|
||||
+ %(if [ -n '%ldflags' ]; then echo 'LDFLAGS="$LDFLAGS%ldflags"; export LDFLAGS ;'; fi)
|
||||
+
|
||||
+%before_configure \
|
||||
+ %setup_compile_flags \
|
||||
+ CONFIGURE_TOP="${CONFIGURE_TOP:-.}"; \
|
||||
+ %{?!_disable_ld_as_needed:@USRLIBRPM@/@RPMCANONVENDOR@/force-as-needed-for-shared-lib-in-libtool ;} \
|
||||
+ %{?!_disable_ld_no_undefined:@USRLIBRPM@/@RPMCANONVENDOR@/drop-ld-no-undefined-for-shared-lib-modules-in-libtool ;} \
|
||||
+ %{__fix_libtool_ltmain_from_overlinking} ; \
|
||||
+ %{__fix_libtool_from_moving_options_after_libs} $CONFIGURE_TOP ; \
|
||||
+ %{__fix_dlsearch_path_in_libtool_for_multilib} $CONFIGURE_TOP %{_lib}
|
||||
+
|
||||
+# This is an improved version of %configure (from PLD team).
|
||||
+%configure \
|
||||
+ %before_configure ; \
|
||||
+ %{?!_disable_libtoolize:%{?__libtoolize_configure:%{__libtoolize_configure};}} \
|
||||
+ [ -f $CONFIGURE_TOP/configure.in -o -f $CONFIGURE_TOP/configure.ac ] && \
|
||||
+ CONFIGURE_XPATH="--x-includes=%{_prefix}/include --x-libraries=%{_prefix}/%{_lib}" \
|
||||
+ $CONFIGURE_TOP/configure %{_target_platform} \\\
|
||||
+ --program-prefix=%{?_program_prefix} \\\
|
||||
+ --prefix=%{_prefix} \\\
|
||||
+ --exec-prefix=%{_exec_prefix} \\\
|
||||
+ --bindir=%{_bindir} \\\
|
||||
+ --sbindir=%{_sbindir} \\\
|
||||
+ --sysconfdir=%{_sysconfdir} \\\
|
||||
+ --datadir=%{_datadir} \\\
|
||||
+ --includedir=%{_includedir} \\\
|
||||
+ --libdir=%{_libdir} \\\
|
||||
+ --libexecdir=%{_libexecdir} \\\
|
||||
+ --localstatedir=%{_localstatedir} \\\
|
||||
+ --sharedstatedir=%{_sharedstatedir} \\\
|
||||
+ --mandir=%{_mandir} \\\
|
||||
+ --infodir=%{_infodir} \\\
|
||||
+ $CONFIGURE_XPATH
|
||||
+
|
||||
+%configure2_5x \
|
||||
+ %before_configure ; \
|
||||
+ %{?_enable_libtoolize:%{?__libtoolize_configure:%{__libtoolize_configure};}} \
|
||||
+ [ -f $CONFIGURE_TOP/configure.in -o -f $CONFIGURE_TOP/configure.ac ] && \
|
||||
+ CONFIGURE_XPATH="--x-includes=%{_prefix}/include --x-libraries=%{_prefix}/%{_lib}" \
|
||||
+ $CONFIGURE_TOP/configure --build=%{_target_platform} \\\
|
||||
+ --prefix=%{_prefix} \\\
|
||||
+ --exec-prefix=%{_exec_prefix} \\\
|
||||
+ --bindir=%{_bindir} \\\
|
||||
+ --sbindir=%{_sbindir} \\\
|
||||
+ --sysconfdir=%{_sysconfdir} \\\
|
||||
+ --datadir=%{_datadir} \\\
|
||||
+ --includedir=%{_includedir} \\\
|
||||
+ --libdir=%{_libdir} \\\
|
||||
+ --libexecdir=%{_libexecdir} \\\
|
||||
+ --localstatedir=%{_localstatedir} \\\
|
||||
+ --sharedstatedir=%{_sharedstatedir} \\\
|
||||
+ --mandir=%{_mandir} \\\
|
||||
+ --infodir=%{_infodir} \\\
|
||||
+ $CONFIGURE_XPATH
|
||||
+
|
||||
+
|
||||
+%old_makeinstall \
|
||||
+ make \\\
|
||||
+ prefix=%{?buildroot:%{buildroot}}%{_prefix} \\\
|
||||
+ exec_prefix=%{?buildroot:%{buildroot}}%{_exec_prefix} \\\
|
||||
+ bindir=%{?buildroot:%{buildroot}}%{_bindir} \\\
|
||||
+ sbindir=%{?buildroot:%{buildroot}}%{_sbindir} \\\
|
||||
+ sysconfdir=%{?buildroot:%{buildroot}}%{_sysconfdir} \\\
|
||||
+ datadir=%{?buildroot:%{buildroot}}%{_datadir} \\\
|
||||
+ includedir=%{?buildroot:%{buildroot}}%{_includedir} \\\
|
||||
+ libdir=%{?buildroot:%{buildroot}}%{_libdir} \\\
|
||||
+ libexecdir=%{?buildroot:%{buildroot}}%{_libexecdir} \\\
|
||||
+ localstatedir=%{?buildroot:%{buildroot}}%{_localstatedir} \\\
|
||||
+ sharedstatedir=%{?buildroot:%{buildroot}}%{_sharedstatedir} \\\
|
||||
+ mandir=%{?buildroot:%{buildroot}}%{_mandir} \\\
|
||||
+ infodir=%{?buildroot:%{buildroot}}%{_infodir} \\\
|
||||
+ install
|
||||
+
|
||||
+
|
||||
+%perl_convert_version() %(perl -Mversion -le '
|
||||
+ $x = "%{1}";
|
||||
+ $y = $x;
|
||||
+ $x =~ s/[[:alpha:]]*$//;
|
||||
+ $y =~ s/^$x//;
|
||||
+ $x =~ s/\D*$//;
|
||||
+ $v = version->new($x)->normal;
|
||||
+ $v =~ s/^v//;
|
||||
+ print "$v$y";
|
||||
+')
|
||||
+
|
||||
+# kept for compatibility, but should not be used, especially the ugly perl_archlib!
|
||||
+%perl_sitearch %(eval "`perl -V:installsitearch`"; echo $installsitearch)
|
||||
+%perl_archlib %(eval "`perl -V:installarchlib`"; echo $installarchlib)
|
||||
+
|
||||
+#--------------------------------------------------------------------------------
|
||||
+# Macro from conectiva
|
||||
+
|
||||
+# Shorthand for %{defined with_...}
|
||||
+# macros provided by rpm 4.4, but buggy :(
|
||||
+%_with() %{expand: %%{?_with_%1:1} %%{!?_with_%1: %%{?_without_%1:0} %%{!?_without_%1: %%{?with_%1:%%{with_%1}} %%{!?with_%1: %%{?without_%1:!%%{without_%1}} %%{!?without_%1: %%{?2:%%2} %%{!?2:1} } } } } }
|
||||
+%_without() !%{expand: %%{with %1 %{?2:%2}}}
|
||||
+
|
||||
+%_package_i18n(g:f:) \
|
||||
+%%package -n %{?1:%{1}}%{?!1:%{name}}-i18n\
|
||||
+Summary: Internationalization and locale data for %{?1:%{1}}%{?!1:%{name}}\
|
||||
+License: %{license}\
|
||||
+Group: %{?-g:%{-g*}}%{?!-g:%{group}}\
|
||||
+\
|
||||
+%%description -n %{?1:%{1}}%{?!1:%{name}}-i18n\
|
||||
+Internationalization and locale data for %{?1:%{1}}%{?!1:%{name}}\
|
||||
+\
|
||||
+%%files -n %{?1:%{1}}%{?!1:%{name}}-i18n %{?-f:%{-f}}%{?!-f:-f %{?1:%{1}}%{?!1:%{name}}.lang}\
|
||||
+%{nil}
|
||||
+
|
||||
+
|
||||
+#------------------------------------------------------------------------------
|
||||
+# Ocaml macro
|
||||
+#
|
||||
+
|
||||
+%ocaml_sitelib %(if [ -x /usr/bin/ocamlc ]; then ocamlc -where;fi)/site-lib
|
||||
+
|
||||
+#------------------------------------------------------------------------------
|
||||
+# Redefine RPM sections to allow jumping over them using "--without <section>".
|
||||
+# This an interesting alternative to --short-circuit.
|
||||
+# The following are mostly equivalent:
|
||||
+# % rpmbuild -bi --short-circuit foo.spec && rpmbuild -bb --short-circuit foo.spec
|
||||
+# % rpmbuild -bb --without build foo.spec
|
||||
+
|
||||
+%prep %%prep \
|
||||
+[ %{_with prep} -eq 1 ] || exit 0 \
|
||||
+[ %{_with build} -eq 1 ] || exit 0 \
|
||||
+[ %{_with install} -eq 1 ] || exit 0 \
|
||||
+%{nil}
|
||||
+
|
||||
+%build %%build \
|
||||
+[ %{_with install} -eq 1 ] || exit 0 \
|
||||
+[ %{_with build} -eq 1 ] || exit 0 \
|
||||
+%{nil}
|
||||
+
|
||||
+%install %{?_enable_debug_packages:%{?buildsubdir:%{debug_package_and_restore}}}\
|
||||
+%%install\
|
||||
+[ %{_with install} -eq 1 ] || exit 0 \
|
||||
+%{nil}
|
||||
+
|
||||
+%check %%check \
|
||||
+[ %{_with check} -eq 1 ] || exit 0 \
|
||||
+%{nil}
|
||||
+
|
||||
%{load:/etc/rpm/macros.d/*.macros}
|
23
rpm-5.4.4-pass-_builddir-properly-to-find-debuginfo.patch
Normal file
23
rpm-5.4.4-pass-_builddir-properly-to-find-debuginfo.patch
Normal file
|
@ -0,0 +1,23 @@
|
|||
--- rpm-5.4.4/macros/macros.rpmbuild.in.builddir~ 2011-12-20 15:36:20.813852241 +0100
|
||||
+++ rpm-5.4.4/macros/macros.rpmbuild.in 2011-12-20 15:37:43.385806877 +0100
|
||||
@@ -326,8 +326,9 @@ echo "Patch #%{__patch_number} (%{basena
|
||||
%___build_args -e
|
||||
%___build_cmd %{?_sudo:%{_sudo} }%{?_remsh:%{_remsh} %{_remhost} }%{?_remsudo:%{_remsudo} }%{?_remchroot:%{_remchroot} %{_remroot} }%{___build_shell} %{___build_args}
|
||||
%___build_pre \
|
||||
+ RPM_BUILD_DIR=\"%{u2p:%{_builddir}}\"\
|
||||
RPM_OPT_FLAGS=\"%{optflags}\"\
|
||||
- export RPM_OPT_FLAGS\
|
||||
+ export RPM_BUILD_DIR RPM_OPT_FLAGS\
|
||||
%{?buildroot:RPM_BUILD_ROOT=\"%{u2p:%{buildroot}}\"\
|
||||
export RPM_BUILD_ROOT}\
|
||||
%{?_javaclasspath:CLASSPATH=\"%{_javaclasspath}\"\
|
||||
--- rpm-5.4.4/scripts/find-debuginfo.sh.builddir~ 2011-12-20 15:36:31.962846125 +0100
|
||||
+++ rpm-5.4.4/scripts/find-debuginfo.sh 2011-12-20 15:36:49.492836503 +0100
|
||||
@@ -32,7 +32,6 @@ strip_r=false
|
||||
# Barf on missing build IDs.
|
||||
strict=false
|
||||
|
||||
-RPM_BUILD_DIR="`pwd`"
|
||||
BUILDDIR=.
|
||||
out=debugfiles.list
|
||||
nout=0
|
76
rpm-5.4.4-pkgconfigdeps-check-path.patch
Normal file
76
rpm-5.4.4-pkgconfigdeps-check-path.patch
Normal file
|
@ -0,0 +1,76 @@
|
|||
--- rpm-5.4.4/scripts/pkgconfigdeps.sh.pc_path~ 2011-11-17 15:08:42.400054348 +0100
|
||||
+++ rpm-5.4.4/scripts/pkgconfigdeps.sh 2011-11-17 15:08:44.380056984 +0100
|
||||
@@ -16,20 +16,22 @@ case $1 in
|
||||
while read filename ; do
|
||||
case "${filename}" in
|
||||
*.pc)
|
||||
- # Query the dependencies of the package.
|
||||
- DIR=`dirname ${filename}`
|
||||
- PKG_CONFIG_PATH="$DIR:$DIR/../../share/pkgconfig"
|
||||
- export PKG_CONFIG_PATH
|
||||
- $pkgconfig --print-provides "$filename" 2> /dev/null | while read n r v ; do
|
||||
- [ -n "$n" ] || continue
|
||||
- # We have a dependency. Make a note that we need the pkgconfig
|
||||
- # tool for this package.
|
||||
- if [ -n "$r" ] && [ -n "$v" ]; then
|
||||
- echo "pkgconfig($n) $r $v"
|
||||
- else
|
||||
- echo "pkgconfig($n)"
|
||||
- fi
|
||||
- done
|
||||
+ if [[ "$(dirname ${filename})" =~ pkgconfig ]]; then
|
||||
+ # Query the dependencies of the package.
|
||||
+ DIR=`dirname ${filename}`
|
||||
+ PKG_CONFIG_PATH="$DIR:$DIR/../../share/pkgconfig"
|
||||
+ export PKG_CONFIG_PATH
|
||||
+ $pkgconfig --print-provides "$filename" 2> /dev/null | while read n r v ; do
|
||||
+ [ -n "$n" ] || continue
|
||||
+ # We have a dependency. Make a note that we need the pkgconfig
|
||||
+ # tool for this package.
|
||||
+ if [ -n "$r" ] && [ -n "$v" ]; then
|
||||
+ echo "pkgconfig($n) $r $v"
|
||||
+ else
|
||||
+ echo "pkgconfig($n)"
|
||||
+ fi
|
||||
+ done
|
||||
+ fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
@@ -39,20 +41,22 @@ case $1 in
|
||||
while read filename ; do
|
||||
case "${filename}" in
|
||||
*.pc)
|
||||
- [ -n "$oneshot" ] && echo "$oneshot"; oneshot=""
|
||||
- # Query the dependencies of the package.
|
||||
- DIR=`dirname ${filename}`
|
||||
- PKG_CONFIG_PATH="$DIR:$DIR/../../share/pkgconfig"
|
||||
- export PKG_CONFIG_PATH
|
||||
- $pkgconfig --print-requires "$filename" 2> /dev/null | while read n r v ; do
|
||||
- [ -n "$n" ] || continue
|
||||
- if [ -n "$r" ] && [ -n "$v" ]; then
|
||||
- echo "pkgconfig($n) $r $v"
|
||||
- else
|
||||
- echo "pkgconfig($n)"
|
||||
- fi
|
||||
- oneshot=""
|
||||
- done
|
||||
+ if [[ "$(dirname ${filename})" =~ pkgconfig ]]; then
|
||||
+ [ -n "$oneshot" ] && echo "$oneshot"; oneshot=""
|
||||
+ # Query the dependencies of the package.
|
||||
+ DIR=`dirname ${filename}`
|
||||
+ PKG_CONFIG_PATH="$DIR:$DIR/../../share/pkgconfig"
|
||||
+ export PKG_CONFIG_PATH
|
||||
+ $pkgconfig --print-requires "$filename" 2> /dev/null | while read n r v ; do
|
||||
+ [ -n "$n" ] || continue
|
||||
+ if [ -n "$r" ] && [ -n "$v" ]; then
|
||||
+ echo "pkgconfig($n) $r $v"
|
||||
+ else
|
||||
+ echo "pkgconfig($n)"
|
||||
+ fi
|
||||
+ oneshot=""
|
||||
+ done
|
||||
+ fi
|
||||
;;
|
||||
esac
|
||||
done
|
41
rpm-5.4.4-really-always-invoke-clean-at-end.patch
Normal file
41
rpm-5.4.4-really-always-invoke-clean-at-end.patch
Normal file
|
@ -0,0 +1,41 @@
|
|||
--- rpm-5.4.4/build/parseChangelog.c.clean~ 2011-08-15 00:43:47.000000000 +0200
|
||||
+++ rpm-5.4.4/build/parseChangelog.c 2011-11-12 17:52:00.756971839 +0100
|
||||
@@ -269,11 +269,7 @@ int parseChangelog(Spec spec)
|
||||
/* There are no options to %changelog */
|
||||
if ((rc = readLine(spec, STRIP_COMMENTS)) > 0) {
|
||||
iob = rpmiobFree(iob);
|
||||
-#if defined(RPM_VENDOR_MANDRIVA)
|
||||
- return (spec->clean == NULL) ? PART_CLEAN : PART_NONE;
|
||||
-#else
|
||||
return PART_NONE;
|
||||
-#endif
|
||||
}
|
||||
if (rc != RPMRC_OK)
|
||||
return rc;
|
||||
@@ -285,11 +281,7 @@ int parseChangelog(Spec spec)
|
||||
iob = rpmiobAppend(iob, spec->line, 0);
|
||||
line = _free(line);
|
||||
if ((rc = readLine(spec, STRIP_COMMENTS | STRIP_NOEXPAND)) > 0) {
|
||||
-#if defined(RPM_VENDOR_MANDRIVA)
|
||||
- nextPart = (spec->clean == NULL) ? PART_CLEAN : PART_NONE;
|
||||
-#else
|
||||
nextPart = PART_NONE;
|
||||
-#endif
|
||||
break;
|
||||
}
|
||||
if (rc != RPMRC_OK)
|
||||
--- rpm-5.4.4/build/parseFiles.c.clean~ 2011-03-25 18:45:46.000000000 +0100
|
||||
+++ rpm-5.4.4/build/parseFiles.c 2011-11-12 17:52:00.758971903 +0100
|
||||
@@ -114,12 +114,7 @@ int parseFiles(Spec spec)
|
||||
}
|
||||
}
|
||||
|
||||
-#if defined(RPM_VENDOR_MANDRIVA)
|
||||
- /* if no %clean section, add implicit */
|
||||
- rc = (nextPart == PART_NONE && spec->clean == NULL) ? PART_CLEAN : nextPart;
|
||||
-#else
|
||||
rc = nextPart;
|
||||
-#endif
|
||||
|
||||
exit:
|
||||
argv = _free(argv);
|
10
rpm-5.4.4-rpmbuild-withoutclean.patch
Normal file
10
rpm-5.4.4-rpmbuild-withoutclean.patch
Normal file
|
@ -0,0 +1,10 @@
|
|||
--- rpm-5.4.4/rpmpopt.in.clean~ 2011-12-05 20:52:18.544053402 +0100
|
||||
+++ rpm-5.4.4/rpmpopt.in 2011-12-05 20:53:51.520325674 +0100
|
||||
@@ -454,5 +454,7 @@ rpmbuild alias --lsb --noautoreq --noaut
|
||||
|
||||
rpmbuild alias --withoutcheck --define 'check exit 0' \
|
||||
--POPTdesc=$"disable %check stanza for build"
|
||||
+rpmbuild alias --withoutclean --define '__spec_clean_body %{nil}' \
|
||||
+ --POPTdesc=$"disable %clean stanza for build"
|
||||
# \endverbatim
|
||||
#*/
|
21
rpm-5.4.4-srcdefattr.patch
Normal file
21
rpm-5.4.4-srcdefattr.patch
Normal file
|
@ -0,0 +1,21 @@
|
|||
--- rpm-5.4.4/build/files.c.srcdefattr~ 2011-12-23 00:01:26.894705831 +0100
|
||||
+++ rpm-5.4.4/build/files.c 2011-12-23 00:03:26.074836579 +0100
|
||||
@@ -2790,7 +2790,7 @@ int processSourceFiles(Spec spec)
|
||||
rc = fl.processingFailed = 1;
|
||||
}
|
||||
|
||||
-#if defined(RPM_VENDOR_OPENPKG) /* support-srcdefattr */
|
||||
+#if defined(RPM_VENDOR_OPENPKG) || defined(RPM_VENDOR_MANDRIVA) /* support-srcdefattr */
|
||||
/* srcdefattr: allow to set SRPM file attributes via %{_srcdefattr} macro */
|
||||
if (fl.def_ar.ar_fmodestr) {
|
||||
flp->fl_mode &= S_IFMT;
|
||||
--- rpm-5.4.4/macros/mandriva.in.srcdefattr~ 2011-12-23 00:02:58.200806169 +0100
|
||||
+++ rpm-5.4.4/macros/mandriva.in 2011-12-23 00:03:14.094823523 +0100
|
||||
@@ -21,6 +21,7 @@
|
||||
# Build root path, where %install installs the package during build.
|
||||
%buildroot %{_buildrootdir}/%{name}-%{version}-%{release}%{?disttag:-%{disttag}%{?distepoch:%{distepoch}}}.%{_target_cpu}-buildroot
|
||||
|
||||
+%_srcdefattr (644,root,root)
|
||||
# Path to top of build area.
|
||||
%_topdir %(echo $HOME)/rpmbuild
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
--- rpm-5.4.4/build/files.c.buildroot_dups~ 2010-08-28 18:07:04.000000000 +0200
|
||||
+++ rpm-5.4.4/build/files.c 2011-12-05 20:25:54.273100370 +0100
|
||||
@@ -2909,7 +2909,7 @@ exit:
|
||||
|
||||
/* auxiliary function for checkDuplicateFiles() */
|
||||
/* XXX need to pass Header because fi->h is NULL */
|
||||
-static int fiIntersect(/*@null@*/ rpmfi fi1, /*@null@*/ rpmfi fi2)
|
||||
+static int fiIntersect(/*@null@*/ rpmfi fi1, /*@null@*/ rpmfi fi2, size_t buildrootL)
|
||||
/*@globals internalState @*/
|
||||
/*@modifies fi1, fi2, internalState @*/
|
||||
{
|
||||
@@ -2933,7 +2933,7 @@ static int fiIntersect(/*@null@*/ rpmfi
|
||||
if (!dups)
|
||||
dups = rpmiobNew(0);
|
||||
dups = rpmiobAppend(dups, "\t", 0);
|
||||
- dups = rpmiobAppend(dups, fn1, 1);
|
||||
+ dups = rpmiobAppend(dups, fn1+buildrootL, 1);
|
||||
n++;
|
||||
}
|
||||
}
|
||||
@@ -2964,7 +2964,7 @@ static int fiIntersect(/*@null@*/ rpmfi
|
||||
* @param spec spec file control structure
|
||||
* @return number of duplicate files
|
||||
*/
|
||||
-static int checkDuplicateFiles(Spec spec)
|
||||
+static int checkDuplicateFiles(Spec spec, size_t buildrootL)
|
||||
/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
|
||||
/*@modifies *spec->packages,
|
||||
rpmGlobalMacroContext, fileSystem, internalState @*/
|
||||
@@ -2989,7 +2989,7 @@ static int checkDuplicateFiles(Spec spec
|
||||
#endif
|
||||
if (fi2 == NULL) continue;
|
||||
(void) rpmfiSetHeader(fi2, pkg2->header);
|
||||
- n += fiIntersect(fi1, fi2);
|
||||
+ n += fiIntersect(fi1, fi2, buildrootL);
|
||||
(void) rpmfiSetHeader(fi2, NULL);
|
||||
fi2 = rpmfiFree(fi2);
|
||||
}
|
||||
@@ -3015,7 +3015,7 @@ static inline int packagedDir(Package pk
|
||||
* /A/B/C/D
|
||||
* Now directories "/A/B" and "/A/B/C" should also be packaged.
|
||||
*/
|
||||
-static int pkgUnpackagedSubdirs(Package pkg)
|
||||
+static int pkgUnpackagedSubdirs(Package pkg, size_t buildrootL)
|
||||
/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
|
||||
/*@modifies pkg->header,
|
||||
rpmGlobalMacroContext, fileSystem, internalState @*/
|
||||
@@ -3088,7 +3088,7 @@ static int pkgUnpackagedSubdirs(Package
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
list = rpmiobAppend(list, "\t", 0);
|
||||
- list = rpmiobAppend(list, unpackaged[i], 1);
|
||||
+ list = rpmiobAppend(list, unpackaged[i]+buildrootL, 1);
|
||||
unpackaged[i] = _free(unpackaged[i]);
|
||||
}
|
||||
unpackaged = _free(unpackaged);
|
||||
@@ -3109,7 +3109,7 @@ static int pkgUnpackagedSubdirs(Package
|
||||
* @param spec spec file control structure
|
||||
* @return number of unpackaged subdirectories
|
||||
*/
|
||||
-static int checkUnpackagedSubdirs(Spec spec)
|
||||
+static int checkUnpackagedSubdirs(Spec spec, size_t buildrootL)
|
||||
/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
|
||||
/*@modifies *spec->packages,
|
||||
rpmGlobalMacroContext, fileSystem, internalState @*/
|
||||
@@ -3118,7 +3118,7 @@ static int checkUnpackagedSubdirs(Spec s
|
||||
Package pkg;
|
||||
|
||||
for (pkg = spec->packages; pkg; pkg = pkg->next)
|
||||
- n += pkgUnpackagedSubdirs(pkg);
|
||||
+ n += pkgUnpackagedSubdirs(pkg, buildrootL);
|
||||
return n;
|
||||
}
|
||||
|
||||
@@ -3128,7 +3128,11 @@ rpmRC processBinaryFiles(Spec spec, int
|
||||
HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
|
||||
Package pkg;
|
||||
rpmRC res = RPMRC_OK;
|
||||
-
|
||||
+ char *buildroot = rpmExpand("%{?buildroot}", NULL);
|
||||
+ size_t buildrootL = strlen(buildroot);
|
||||
+
|
||||
+ buildroot = _free(buildroot);
|
||||
+
|
||||
for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
|
||||
int rc;
|
||||
|
||||
@@ -3170,8 +3174,8 @@ rpmRC processBinaryFiles(Spec spec, int
|
||||
if (res == RPMRC_OK) {
|
||||
if (checkUnpackagedFiles(spec) > 0)
|
||||
res = RPMRC_FAIL;
|
||||
- (void) checkDuplicateFiles(spec);
|
||||
- (void) checkUnpackagedSubdirs(spec);
|
||||
+ (void) checkDuplicateFiles(spec, buildrootL);
|
||||
+ (void) checkUnpackagedSubdirs(spec, buildrootL);
|
||||
}
|
||||
|
||||
return res;
|
69
rpm-5.4.4-unpackaged_subdirs_terminate_build.patch
Normal file
69
rpm-5.4.4-unpackaged_subdirs_terminate_build.patch
Normal file
|
@ -0,0 +1,69 @@
|
|||
--- rpm-5.4.4/build/files.c.subdir_terminate~ 2011-12-05 20:37:46.641647149 +0100
|
||||
+++ rpm-5.4.4/build/files.c 2011-12-05 20:40:57.247139251 +0100
|
||||
@@ -3017,7 +3017,7 @@ static inline int packagedDir(Package pk
|
||||
* /A/B/C/D
|
||||
* Now directories "/A/B" and "/A/B/C" should also be packaged.
|
||||
*/
|
||||
-static int pkgUnpackagedSubdirs(Package pkg, size_t buildrootL)
|
||||
+static int pkgUnpackagedSubdirs(Package pkg, size_t buildrootL, int _unpackaged_subdirs_terminate_build)
|
||||
/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
|
||||
/*@modifies pkg->header,
|
||||
rpmGlobalMacroContext, fileSystem, internalState @*/
|
||||
@@ -3095,7 +3095,7 @@ static int pkgUnpackagedSubdirs(Package
|
||||
}
|
||||
unpackaged = _free(unpackaged);
|
||||
|
||||
- rpmlog(RPMLOG_WARNING,
|
||||
+ rpmlog(_unpackaged_subdirs_terminate_build ? RPMLOG_ERR : RPMLOG_WARNING,
|
||||
_("Unpackaged subdir(s) in %s:\n%s"),
|
||||
N, rpmiobStr(list));
|
||||
|
||||
@@ -3111,7 +3111,7 @@ static int pkgUnpackagedSubdirs(Package
|
||||
* @param spec spec file control structure
|
||||
* @return number of unpackaged subdirectories
|
||||
*/
|
||||
-static int checkUnpackagedSubdirs(Spec spec, size_t buildrootL)
|
||||
+static int checkUnpackagedSubdirs(Spec spec, size_t buildrootL, int _unpackaged_subdirs_terminate_build)
|
||||
/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
|
||||
/*@modifies *spec->packages,
|
||||
rpmGlobalMacroContext, fileSystem, internalState @*/
|
||||
@@ -3120,7 +3120,7 @@ static int checkUnpackagedSubdirs(Spec s
|
||||
Package pkg;
|
||||
|
||||
for (pkg = spec->packages; pkg; pkg = pkg->next)
|
||||
- n += pkgUnpackagedSubdirs(pkg, buildrootL);
|
||||
+ n += pkgUnpackagedSubdirs(pkg, buildrootL, _unpackaged_subdirs_terminate_build);
|
||||
return n;
|
||||
}
|
||||
|
||||
@@ -3176,12 +3176,16 @@ rpmRC processBinaryFiles(Spec spec, int
|
||||
if (res == RPMRC_OK) {
|
||||
int _duplicate_files_terminate_build =
|
||||
rpmExpandNumeric("%{?_duplicate_files_terminate_build}");
|
||||
+ int _unpackaged_subdirs_terminate_build =
|
||||
+ rpmExpandNumeric("%{?_unpackaged_subdirs_terminate_build}");
|
||||
if (checkUnpackagedFiles(spec) > 0)
|
||||
res = RPMRC_FAIL;
|
||||
if (checkDuplicateFiles(spec, buildrootL, _duplicate_files_terminate_build) > 0 &&
|
||||
_duplicate_files_terminate_build)
|
||||
res = RPMRC_FAIL;
|
||||
- (void) checkUnpackagedSubdirs(spec, buildrootL);
|
||||
+ if (checkUnpackagedSubdirs(spec, buildrootL, _unpackaged_subdirs_terminate_build) > 0 &&
|
||||
+ _unpackaged_subdirs_terminate_build)
|
||||
+ res = RPMRC_FAIL;
|
||||
}
|
||||
|
||||
return res;
|
||||
--- rpm-5.4.4/macros/mandriva.in.subdir_terminate~ 2011-12-05 20:38:03.530691550 +0100
|
||||
+++ rpm-5.4.4/macros/mandriva.in 2011-12-05 20:43:00.756448098 +0100
|
||||
@@ -120,8 +120,9 @@ end\
|
||||
#%_multiarch_required_terminate_build 1
|
||||
|
||||
%_duplicate_files_terminate_build 1
|
||||
-%_enable_debug_packages 1
|
||||
+%_unpackaged_subdirs_terminate_build 0
|
||||
|
||||
+%_enable_debug_packages 1
|
||||
|
||||
# Default extension to use (for info files)
|
||||
%_extension .xz
|
84
rpm-5.4.4-use-dependency-type-for-ordering.patch
Normal file
84
rpm-5.4.4-use-dependency-type-for-ordering.patch
Normal file
|
@ -0,0 +1,84 @@
|
|||
--- rpm-5.4.4/lib/order.c.ordering~ 2011-01-14 15:06:08.000000000 +0100
|
||||
+++ rpm-5.4.4/lib/order.c 2011-11-16 11:31:23.529577558 +0100
|
||||
@@ -332,7 +332,7 @@ static inline /*@observer@*/ const char
|
||||
/*@-mustmod@*/ /* FIX: hack modifies, but -type disables */
|
||||
static /*@owned@*/ /*@null@*/ const char *
|
||||
zapRelation(rpmte q, rpmte p,
|
||||
- int zap, /*@in@*/ /*@out@*/ int * nzaps, int msglvl)
|
||||
+ int zap, /*@in@*/ /*@out@*/ int * nzaps, int msglvl, rpmuint32_t skipFlags)
|
||||
/*@globals rpmGlobalMacroContext, h_errno, internalState @*/
|
||||
/*@modifies q, p, *nzaps, rpmGlobalMacroContext, internalState @*/
|
||||
{
|
||||
@@ -364,6 +364,18 @@ zapRelation(rpmte q, rpmte p,
|
||||
|
||||
dp = rpmdsNewDNEVR( identifyDepend(Flags), requires);
|
||||
|
||||
+ if(Flags & skipFlags) {
|
||||
+ if(zap) {
|
||||
+ rpmlog(msglvl,
|
||||
+ _("not removing %s \"%s\" from tsort relations.\n"),
|
||||
+ (rpmteNEVRA(p) ? rpmteNEVRA(p) : "???"), dp);
|
||||
+ if (nzaps)
|
||||
+ (*nzaps)++;
|
||||
+ }
|
||||
+ dp = _free(dp);
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
/*
|
||||
* Attempt to unravel a dependency loop by eliminating Requires's.
|
||||
*/
|
||||
@@ -1812,6 +1824,18 @@ int _rpmtsOrder(rpmts ts)
|
||||
int depth;
|
||||
int breadth;
|
||||
int qlen;
|
||||
+ static const evrFlags orderPriority[] = {
|
||||
+ RPMSENSE_MISSINGOK,
|
||||
+ RPMSENSE_SCRIPT_VERIFY,
|
||||
+ RPMSENSE_PACKAGE,
|
||||
+ RPMSENSE_FIND_REQUIRES,
|
||||
+ _ERASE_ONLY_MASK,
|
||||
+ _INSTALL_ONLY_MASK,
|
||||
+ _ALL_REQUIRES_MASK
|
||||
+ }; /* dependency to zap in order to try resolve dependency loops */
|
||||
+ rpmuint32_t skipFlags = _ALL_REQUIRES_MASK;
|
||||
+ unsigned sfi = 0;
|
||||
+
|
||||
#endif /* REFERENCE */
|
||||
|
||||
if (_rpmts_debug)
|
||||
@@ -2007,6 +2031,9 @@ fprintf(stderr, "--> %s(%p) tsFlags 0x%x
|
||||
rescan:
|
||||
if (pi != NULL) pi = rpmtsiFree(pi);
|
||||
#endif
|
||||
+ if (sfi < sizeof(orderPriority))
|
||||
+ skipFlags &= ~orderPriority[sfi++];
|
||||
+
|
||||
q = r = NULL;
|
||||
qlen = 0;
|
||||
pi = rpmtsiInit(ts);
|
||||
@@ -2168,10 +2195,14 @@ rescan:
|
||||
const char * nevra;
|
||||
#endif
|
||||
const char * dp;
|
||||
+ /*
|
||||
+ * TODO: use RPMLOG_DEBUG for when loops can be resolved
|
||||
+ * without zapping all dependencies in it
|
||||
+ */
|
||||
rpmlogLvl msglvl = (anaconda || (rpmtsDFlags(ts) & RPMDEPS_FLAG_DEPLOOPS))
|
||||
? RPMLOG_WARNING : RPMLOG_ERR;
|
||||
#if defined(RPM_VENDOR_MANDRIVA) /* loop-detection-optional-loglevel */
|
||||
- // Report loops as debug-level message by default (7 = RPMLOG_DEBUG), overridable
|
||||
+ /* Report loops as debug-level message by default (7 = RPMLOG_DEBUG), overridable */
|
||||
msglvl = rpmExpandNumeric("%{?_loop_detection_loglevel}%{?!_loop_detection_loglevel:7}");
|
||||
#endif
|
||||
|
||||
@@ -2184,7 +2215,7 @@ rescan:
|
||||
}
|
||||
|
||||
/* Find (and destroy if co-requisite) "q <- p" relation. */
|
||||
- dp = zapRelation(q, p, 1, &nzaps, msglvl);
|
||||
+ dp = zapRelation(q, p, 1, &nzaps, msglvl, skipFlags);
|
||||
|
||||
#if 0
|
||||
/* Print next member of loop. */
|
11
rpm-5.4.4-use-dwarf4-debug-format.patch
Normal file
11
rpm-5.4.4-use-dwarf4-debug-format.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- rpm-5.4.4/macros/mandriva.in.dwarf4~ 2011-11-29 04:41:23.525745975 +0100
|
||||
+++ rpm-5.4.4/macros/mandriva.in 2011-11-29 04:41:25.922750183 +0100
|
||||
@@ -141,7 +141,7 @@ end\
|
||||
# - %{mklibname test 1 -d 0 -s} => libtest1_0-static-devel
|
||||
%mklibname(ds) %{_lib}%{1}%{?2:%{2}}%{?3:_%{3}}%{-s:-static}%{-d:-devel}
|
||||
|
||||
-%debugcflags %{?_enable_debug_packages:-g -frecord-gcc-switches -Wstrict-aliasing=2}
|
||||
+%debugcflags %{?_enable_debug_packages:-gdwarf-4 -fvar-tracking-assignments -frecord-gcc-switches -Wstrict-aliasing=2}
|
||||
|
||||
# common compilation flags
|
||||
|
10
rpm-5.4.4-use-xz-payload.patch
Normal file
10
rpm-5.4.4-use-xz-payload.patch
Normal file
|
@ -0,0 +1,10 @@
|
|||
--- rpm-5.4.4/macros/mandriva.in.payload~ 2011-11-24 15:37:02.168124916 +0100
|
||||
+++ rpm-5.4.4/macros/mandriva.in 2011-11-24 15:37:47.394168890 +0100
|
||||
@@ -192,4 +192,7 @@ export CFLAGS="%optflags -fPIE"; export
|
||||
# activate filetriggers (cf http://wiki.mandriva.com/en/Rpm_filetriggers)
|
||||
%_filetriggers_dir /var/lib/rpm/filetriggers
|
||||
|
||||
+# use XZ to compress binary packages:
|
||||
+%_binary_payload w5.xzdio
|
||||
+
|
||||
%{load:/etc/rpm/macros.d/*.macros}
|
29
rpm-GROUPS
29
rpm-GROUPS
|
@ -1,29 +0,0 @@
|
|||
Amusements/Games
|
||||
Amusements/Graphics
|
||||
Applications/Archiving
|
||||
Applications/Communications
|
||||
Applications/Databases
|
||||
Applications/Editors
|
||||
Applications/Emulators
|
||||
Applications/Engineering
|
||||
Applications/File
|
||||
Applications/Internet
|
||||
Applications/Multimedia
|
||||
Applications/Productivity
|
||||
Applications/Publishing
|
||||
Applications/System
|
||||
Applications/Text
|
||||
Development/Debuggers
|
||||
Development/Languages
|
||||
Development/Libraries
|
||||
Development/System
|
||||
Development/Tools
|
||||
Documentation
|
||||
System Environment/Base
|
||||
System Environment/Daemons
|
||||
System Environment/Kernel
|
||||
System Environment/Libraries
|
||||
System Environment/Shells
|
||||
User Interface/Desktops
|
||||
User Interface/X
|
||||
User Interface/X Hardware Support
|
4
rpm.rpmlintrc
Normal file
4
rpm.rpmlintrc
Normal file
|
@ -0,0 +1,4 @@
|
|||
from Config import *
|
||||
from os import environ
|
||||
|
||||
addFilter('rpm\..*: standard-dir-owned-by-package (\(.*\) |)/var/lib/rpm')
|
520
rpm.spec
520
rpm.spec
|
@ -14,7 +14,8 @@
|
|||
%bcond_without perl
|
||||
%bcond_without python
|
||||
%bcond_without docs
|
||||
%bcond_without sqlite
|
||||
# use what's in berkeley db
|
||||
%bcond_with sqlite
|
||||
%endif
|
||||
|
||||
%bcond_with notyet
|
||||
|
@ -33,42 +34,40 @@
|
|||
%endif
|
||||
|
||||
%if %{with debug}
|
||||
%define debugcflags -g -O0
|
||||
%global debugcflags %{debugcflags} -g3 -O0
|
||||
%endif
|
||||
|
||||
#include %{_sourcedir}/bootstrap.spec
|
||||
#include %%{_sourcedir}/bootstrap.spec
|
||||
|
||||
%define bdb db51
|
||||
%define bdb db52
|
||||
|
||||
%define libver 5.3
|
||||
%define minorver 12
|
||||
%define libver 5.4
|
||||
%define minorver 4
|
||||
%define srcver %{libver}.%{minorver}
|
||||
%define prereldate 20110712
|
||||
#define prereldate 20110712
|
||||
|
||||
%define librpmname %mklibname rpm %{libver}
|
||||
%define librpmname %mklibname rpm %{libver}
|
||||
%define librpmnamedevel %mklibname -d rpm
|
||||
%define librpmstatic %mklibname -d -s rpm
|
||||
|
||||
Summary: The RPM package management system
|
||||
Name: rpm
|
||||
Version: %{libver}.%{minorver}
|
||||
Release: %{?prereldate:0.%{prereldate}.}2
|
||||
Release: %{?prereldate:0.%{prereldate}.}31
|
||||
Epoch: 1
|
||||
Group: System/Configuration/Packaging
|
||||
URL: http://rpm5.org/
|
||||
|
||||
# snapshot from rpm-5_3 branch: 'cvs -d :pserver:anonymous@rpm5.org:/cvs co -r rpm-5_3 rpm'
|
||||
# snapshot from rpm-5_4 branch: 'cvs -d :pserver:anonymous@rpm5.org:/cvs co -r rpm-5_4 rpm'
|
||||
# tarball generated with './devtool tarball.xz'
|
||||
Source0: ftp://ftp.jbj.org/pub/rpm-%{libver}.x/%{name}-%{srcver}.tar.xz
|
||||
Source0: ftp://ftp.jbj.org/pub/rpm-%{libver}.x/%{name}-%{srcver}.tar.gz
|
||||
#Source1: bootstrap.spec
|
||||
# Needed by rpmlint. Still required? If so, this file should rather be carried
|
||||
# with rpmlint itself rather than requiring for rpm to carry...
|
||||
Source2: rpm-GROUPS
|
||||
# These are a bit dated with a lot of redundant macros and many of them no
|
||||
# of use at all anymore! Should ideally just contain the macros different
|
||||
# from the default; _arch, optflags, _lib & _multilib*.
|
||||
# stripping away the rest (along with os specificity) and create a resulting
|
||||
# cpu-macros.tar.gz to push upstream would seem like a sane improvement.
|
||||
Source2: rpm.rpmlintrc
|
||||
Source3: cpu-os-macros.tar.gz
|
||||
Source4: legacy_compat.macros
|
||||
# already merged upstream
|
||||
|
@ -92,18 +91,89 @@ Patch19: rpm-5.3.10-doxygen-1.7.4-bug.patch
|
|||
Patch20: rpm-5.3.11-fix-syslog-b0rkage.patch
|
||||
Patch21: rpm-5.3.12-change-dep-loop-errors-to-warnings.patch
|
||||
Patch22: rpm-5.3.12-55810-rpmevrcmp-again-grf.patch
|
||||
# FIXME: later..
|
||||
Patch23: rpm-5.4.3-no-libsql.patch
|
||||
Patch27: rpm-5.4.4-merge-find-debuginfo.sh-from-mandriva.patch
|
||||
Patch28: rpm-5.4.4-merge-find-lang.sh-changes-from-rpm.org.patch
|
||||
Patch29: rpm-5.4.4-add-_specfile-macro.patch
|
||||
Patch30: rpm-5.4.4-fix-rpm-qf-on-non-packaged-files.patch
|
||||
Patch31: rpm-5.4.4-fix-rpm_qa-pattern.patch
|
||||
# uhm.. broken?
|
||||
Patch32: rpm-5.4.4-really-always-invoke-clean-at-end.patch
|
||||
Patch33: rpm-5.4.4-fix-mdvbz62979.patch
|
||||
# This patch adds support for untangling dependency loops with prioritized removal
|
||||
# of dependencies from loops. It's very crude for now and certainly needs some obvious
|
||||
# improvement, but it'll fix the most common scenario giving issues where ie.
|
||||
# Requires(post) has been used and shouldn't introduce any regressions..
|
||||
# REF: http://rpm5.org/community/rpm-devel/4633.html
|
||||
Patch34: rpm-5.4.4-use-dependency-type-for-ordering.patch
|
||||
Patch35: rpm-5.4.4-find_lang-with-html.patch
|
||||
Patch36: rpm-5.4.4-find_lang-support-multiple-names.patch
|
||||
Patch37: rpm-5.4.4-avoid-dependencies-on-self.patch
|
||||
Patch38: rpm-5.4.4-find_lang-handle-man-pages-already-compressed.patch
|
||||
Patch39: rpm-5.4.4-find-debuginfo-drop-useless-sort.patch
|
||||
Patch40: rpm-5.4.4-pkgconfigdeps-check-path.patch
|
||||
Patch41: rpm-5.4.4-merge-manbo-macros.patch
|
||||
Patch42: rpm-5.4.4-glob-wildcards-for-loading-macro-files.patch
|
||||
Patch43: rpm-5.4.4-merge-common-rpm-mandriva-setup-macros.patch
|
||||
Patch44: rpm-5.4.4-use-xz-payload.patch
|
||||
Patch45: rpm-5.4.4-merge-rpm-mandriva-setup-build-macros.patch
|
||||
Patch46: rpm-5.4.4-allow-installation-of-repackaged-rpms.patch
|
||||
Patch47: rpm-5.4.4-fix-removal-of-overlapping-dependencies.patch
|
||||
Patch48: rpm-5.4.4-dont-show-suggests-with-requires.patch
|
||||
# syncing debugedit commits from rpm.org
|
||||
Patch49: rpm-5.4.4-debugedit-whitespace-fixups.patch
|
||||
Patch50: rpm-5.4.4-debugedit-recompute-build-id-only-on-dwarf-change.patch
|
||||
Patch51: rpm-5.4.4-debugedit-fix-incorrect-error-messages-regarding_-b-and_-d.patch
|
||||
Patch52: rpm-5.4.4-debugedit-remove-unused-variable.patch
|
||||
Patch53: rpm-5.4.4-debugedit-bail-out-of-debuginfo-if-stabs-format-encountered.patch
|
||||
Patch54: rpm-5.4.4-debugedit-add-dwarf4-support.patch
|
||||
# backport from HEAD
|
||||
Patch55: rpm-5.4.4-find-debuginfo-strip-reloc-debug-sections.patch
|
||||
Patch56: rpm-5.4.4-fix-scripts-breaking-when-RPM_BUILD_ROOT-contains-spaces.patch
|
||||
Patch57: rpm-5.4.4-create-gdb-index-from-find-debuginfo-if-possible.patch
|
||||
Patch58: rpm-5.4.4-use-dwarf4-debug-format.patch
|
||||
Patch59: rpm-5.4.4-compress-debug-sections.patch
|
||||
Patch60: rpm-5.4.4-find-debuginfo-add-missing-partial-strip.patch
|
||||
Patch61: rpm-5.4.4-fix-same-package-with-epoch-possible-to-upgrade.patch
|
||||
Patch62: rpm-5.4.4-fix-_sys_macros_dir-path.patch
|
||||
Patch63: rpm-5.4.4-strip-buildroot-away-from-duplicate-files-list.patch
|
||||
Patch64: rpm-5.4.4-duplicate_files_terminate_build.patch
|
||||
Patch65: rpm-5.4.4-unpackaged_subdirs_terminate_build.patch
|
||||
# mdvbz#64898
|
||||
Patch66: rpm-5.4.4-rpmbuild-withoutclean.patch
|
||||
Patch67: rpm-5.4.4-find-debuginfo-avoid-excessive-output-from-eu-strip.patch
|
||||
# mdvbz#64914
|
||||
Patch68: rpm-5.4.4-enable-rpmgio-net-transport.patch
|
||||
# no sense in having an additional dependency on 'pkgconfig' on all packages that
|
||||
# have a pkgconfig file, it's not needed for them to be made useful and anything
|
||||
# actuallly using pkgconfig for this purpose will pull it in as a dependency anyways...
|
||||
Patch69: rpm-5.4.4-drop-useless-auto-generated-pkgconfig-dependency.patch
|
||||
# drop dependencies such as /bin/sh which will always be satisfied by glibc's dependency on
|
||||
# bash, and also on /sbin/ldconfig which always will be satisfied by glibc
|
||||
Patch70: rpm-5.4.4-drop-base-dependencies.patch
|
||||
Patch71: rpm-5.4.4-fix-rpmconstant-to-always-use-LC_CTYPE-C-for-case-conversion.patch
|
||||
# from rpm.org
|
||||
Patch72: rpm-5.4.4-debugedit-recognize-debug_macro-section.patch
|
||||
# from rpm.org
|
||||
Patch73: rpm-5.4.4-add-_build_pkgcheck.patch
|
||||
# $RPM_BUILD_DIR isn't necessarily the same as $PWD, it's %%{_builddir}, not
|
||||
# %%{_builddir}/%%{?buildsubdir}, messing up paths in debug packages created..
|
||||
Patch74: rpm-5.4.4-pass-_builddir-properly-to-find-debuginfo.patch
|
||||
Patch75: rpm-5.4.4-srcdefattr.patch
|
||||
Patch76: rpm-5.4.4-files-listed-twice-terminates-build.patch
|
||||
License: LGPLv2.1+
|
||||
BuildRequires: autoconf >= 2.57 bzip2-devel automake >= 1.8 elfutils-devel
|
||||
BuildRequires: sed >= 4.0.3 beecrypt-devel ed gettext-devel byacc
|
||||
BuildRequires: neon0.27-devel rpm-%{_target_vendor}-setup-build %{?rpmsetup_version:>= %{rpmsetup_version}}
|
||||
BuildRequires: readline-devel ncurses-devel openssl-devel
|
||||
BuildRequires: liblzma-devel lua-devel pcre-devel acl-devel
|
||||
BuildRequires: magic-devel popt-devel >= 1.15
|
||||
BuildRequires: sed >= 4.0.3 beecrypt-devel >= 4.2.1-8 ed gettext-devel byacc
|
||||
BuildRequires: pkgconfig(neon) rpm-%{_target_vendor}-setup-build
|
||||
BuildRequires: readline-devel ncurses-devel pkgconfig(libssl) pkgconfig(libcrypto)
|
||||
BuildRequires: pkgconfig(liblzma) pkgconfig(lua) pkgconfig(libpcre) pkgconfig(libpcreposix)
|
||||
BuildRequires: acl-devel magic-devel pkgconfig(popt) >= 1.15 libxml2-devel >= 2.7.8-9
|
||||
%ifarch %{ix86} x86_64 ppc ppc64 ia64
|
||||
BuildRequires: cpuinfo-devel
|
||||
BuildRequires: pkgconfig(libcpuinfo)
|
||||
%endif
|
||||
BuildRequires: syck-devel keyutils-devel
|
||||
BuildRequires: libgomp-devel gnutls-devel gnupg2
|
||||
BuildRequires: gomp-devel pkgconfig(gnutls) gnupg2
|
||||
# required by parts of test suite...
|
||||
BuildRequires: wget
|
||||
# Should we prefer internal xar in stead? internal xar contains at least
|
||||
|
@ -112,7 +182,7 @@ BuildRequires: wget
|
|||
%if %{with xar}
|
||||
BuildRequires: xar-devel
|
||||
%endif
|
||||
BuildRequires: %{bdb}-devel >= 5.1.25
|
||||
BuildRequires: %{bdb}-devel >= 5.2.36-3
|
||||
# required by test suite
|
||||
BuildRequires: %{bdb}-utils
|
||||
%if %{with perl}
|
||||
|
@ -122,7 +192,7 @@ BuildRequires: perl-devel
|
|||
BuildRequires: python-devel
|
||||
%endif
|
||||
%if %{with js}
|
||||
BuildRequires: mozjs-devel
|
||||
BuildRequires: pkgconfig(mozjs185)
|
||||
%endif
|
||||
%if %{with ruby}
|
||||
BuildRequires: ruby-devel
|
||||
|
@ -134,24 +204,24 @@ BuildRequires: tcl
|
|||
BuildRequires: doxygen graphviz texlive
|
||||
%endif
|
||||
%if %{with sqlite}
|
||||
BuildRequires: sqlite3-devel
|
||||
BuildRequires: pkgconfig(sqlite3)
|
||||
%endif
|
||||
%if %{with ossp-uuid}
|
||||
BuildRequires: ossp-uuid-devel
|
||||
BuildRequires: pkgconfig(ossp-uuid)
|
||||
%endif
|
||||
%if %{with augeas}
|
||||
BuildRequires: augeas-devel
|
||||
BuildRequires: pkgconfig(augeas)
|
||||
%endif
|
||||
Requires: cpio gawk mktemp rpm-%{_target_vendor}-setup >= 1.42 update-alternatives
|
||||
BuildRequires: spec-helper >= 0.31.7 stdc++-static-devel >= 4.6.2-8
|
||||
Requires: cpio gawk mktemp update-alternatives
|
||||
Requires: %{bdb}_recover
|
||||
Suggests: %{bdb}-utils
|
||||
Requires: %{librpmname} = %{EVRD}
|
||||
Conflicts: rpm-build < 1:5.3.10-0.20110422.3
|
||||
Requires(pre): rpm-helper >= 0.8
|
||||
Requires(pre): coreutils
|
||||
Requires(postun):rpm-helper >= 0.8
|
||||
%rename rpmconstant
|
||||
%rename multiarch-utils
|
||||
%rename rpm-manbo-setup
|
||||
|
||||
%description
|
||||
RPM is a powerful command line driven package management system capable of
|
||||
|
@ -212,10 +282,14 @@ Requires: libtool-base
|
|||
Requires: patch >= 2.5.9-7
|
||||
Requires: make
|
||||
Requires: unzip
|
||||
Requires: elfutils
|
||||
Requires: elfutils >= 0.152-4
|
||||
Requires: rpm = %{EVRD}
|
||||
Requires: rpm-%{_target_vendor}-setup-build
|
||||
Requires: spec-helper >= 0.31.7
|
||||
Requires: rpmlint-%{_target_vendor}-policy >= 0.3.2
|
||||
Conflicts: rpmlint < 1.4-4
|
||||
Conflicts: multiarch-utils < 1:5.3.10
|
||||
%rename rpm-manbo-setup-build
|
||||
|
||||
%description build
|
||||
This package contains scripts and executable programs that are used to
|
||||
|
@ -265,23 +339,75 @@ This package contains the RPM API documentation generated in HTML format.
|
|||
%if 0
|
||||
%patch0 -p1 -b .set_lg_dir~
|
||||
%patch1 -p1 -b .dep_whiteout~
|
||||
%endif
|
||||
%patch2 -p1 -b .scriptlet~
|
||||
%patch3 -p1 -b .doc_conflicts~
|
||||
%if 0
|
||||
%patch4 -p1 -b .distsuffix~
|
||||
%patch5 -p1 -b .distpatt~
|
||||
%patch15 -p1 -b .trigger_once~
|
||||
%endif
|
||||
%patch19 -p1 -b .doxygen~
|
||||
%patch20 -p1 -b .syslog~
|
||||
%patch21 -p1 -b .loop_warnings~
|
||||
%patch22 -p1 -b .55810~
|
||||
#%%patch21 -p1 -b .loop_warnings~
|
||||
#%%patch22 -p1 -b .55810~
|
||||
%patch23 -p1 -b .nolibsql~
|
||||
%patch27 -p1 -b .mdv~
|
||||
%patch28 -p1 -b .rpmorg~
|
||||
%patch29 -p1 -b .specfile~
|
||||
%patch30 -p1 -b .qf_non~
|
||||
%patch31 -p1 -b .rpm_qa~
|
||||
#%%patch32 -p1 -b .clean~
|
||||
%patch33 -p1 -b .mdvbz62979~
|
||||
%patch34 -p1 -b .ordering~
|
||||
%patch35 -p1 -b .html~
|
||||
%patch36 -p1 -b .multi~
|
||||
%patch37 -p1 -b .drop_deps~
|
||||
%patch38 -p1 -b .man_comp~
|
||||
%patch39 -p1 -b .no_sort~
|
||||
%patch40 -p1 -b .pc_paths~
|
||||
%patch41 -p1 -b .manbo~
|
||||
%patch42 -p1 -b .glob~
|
||||
%patch43 -p1 -b .common~
|
||||
%patch44 -p1 -b .payload~
|
||||
%patch45 -p1 -b .build~
|
||||
%patch46 -p1 -b .repackage~
|
||||
%patch47 -p1 -b .overlap~
|
||||
%patch48 -p1 -b .suggests~
|
||||
%patch49 -p1 -b .debugedit_whitespace~
|
||||
%patch50 -p1 -b .debugedit_recompute~
|
||||
%patch51 -p1 -b .debugedit_errormsgs~
|
||||
%patch52 -p1 -b .debugedit_unused_var~
|
||||
%patch53 -p1 -b .debugedit_stabs_fail~
|
||||
%patch54 -p1 -b .debugedit_dwarf4~
|
||||
%patch55 -p1 -b .strip_reloc_debug~
|
||||
%patch56 -p1 -b .quotes~
|
||||
%patch57 -p1 -b .gdb_index~
|
||||
%patch58 -p1 -b .dwarf4~
|
||||
%patch59 -p1 -b .compress_debug~
|
||||
%patch60 -p1 -b .partial_strip~
|
||||
%patch61 -p1 -b .epoch_cmp~
|
||||
%patch62 -p1 -b ._sys_macros_dir~
|
||||
%patch63 -p1 -b .buildroot_dups~
|
||||
%patch64 -p1 -b .dups_terminate~
|
||||
%patch65 -p1 -b .subdir_terminate~
|
||||
%patch66 -p1 -b .withoutclean~
|
||||
%patch67 -p1 -b .strip_silent~
|
||||
%patch68 -p1 -b .rpmgio_ufdio~
|
||||
%patch69 -p1 -b .oneshot~
|
||||
%patch70 -p1 -b .drop_basedeps~
|
||||
%patch71 -p1 -b .locale~
|
||||
%patch72 -p1 -b .debug_macro~
|
||||
%patch73 -p1 -b .pkgcheck~
|
||||
%patch74 -p1 -b .builddir~
|
||||
%patch75 -p1 -b .srcdefattr~
|
||||
%patch76 -p1 -b .twice_terminate~
|
||||
#required by patch55
|
||||
./autogen.sh
|
||||
|
||||
mkdir -p cpu-os-macros
|
||||
tar -zxf %{SOURCE3} -C cpu-os-macros
|
||||
|
||||
# Needed by rpmlint.
|
||||
cp %{SOURCE2} GROUPS
|
||||
|
||||
%build
|
||||
%configure2_5x --enable-nls \
|
||||
--with-pic \
|
||||
|
@ -388,7 +514,7 @@ echo '#define PREMACROFILES "%{_sysconfdir}/rpm/premacros.d/*.macros"' >> config
|
|||
%endif
|
||||
|
||||
%check
|
||||
make check
|
||||
#make check
|
||||
|
||||
%install
|
||||
%makeinstall_std
|
||||
|
@ -414,10 +540,11 @@ cat > %{buildroot}%{_sysconfdir}/%{name}/macros <<EOF
|
|||
|
||||
EOF
|
||||
|
||||
# FIXME: weird issue, seems to have issue with lines starting with '%%_'...
|
||||
cat > %{buildroot}%{_sysconfdir}/%{name}/premacros.d/cpuinfo_target.macros <<EOF
|
||||
# This sets which of the available architectures to prefer when building
|
||||
# packages with libcpuinfo support enabled.
|
||||
%%_prefer_target_cpu x86_64 i586
|
||||
%%_prefer_target_cpu x86_64 i586
|
||||
EOF
|
||||
|
||||
# Get rid of unpackaged files
|
||||
|
@ -432,15 +559,10 @@ done
|
|||
|
||||
%find_lang %{name}
|
||||
|
||||
%define rpmdbattr %attr(0644, rpm, rpm) %verify(not md5 size mtime) %ghost %config(missingok,noreplace)
|
||||
mkdir -p %{buildroot}/var/lib/rpm/{log,tmp}
|
||||
for dbi in `./rpm --macros macros/macros --eval %_dbi_tags_4|tr : ' '` Seqno; do
|
||||
for dbi in `./rpm --macros macros/macros --eval %_dbi_tags_4|tr : ' '` Seqno __db.00{0..9}; do
|
||||
touch %{buildroot}/var/lib/rpm/$dbi
|
||||
echo "%rpmdbattr /var/lib/rpm/$dbi" >> %{name}.lang
|
||||
done
|
||||
for i in {0..9}; do
|
||||
touch %{buildroot}/var/lib/rpm/__db.00$i
|
||||
echo "%rpmdbattr /var/lib/rpm/__db.00$i" >> %{name}.lang
|
||||
echo "%attr(0644, root, root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) %{_localstatedir}/lib/rpm/$dbi" >> %{name}.lang
|
||||
done
|
||||
|
||||
install -d %{buildroot}/bin
|
||||
|
@ -456,39 +578,42 @@ mv %{buildroot}%{_bindir}/rpm %{buildroot}/bin/rpm
|
|||
|
||||
cp -r cpu-os-macros %{buildroot}%{_usrlibrpm}/platform
|
||||
install -m644 %{SOURCE4} -D %{buildroot}%{_sysconfdir}/%{name}/macros.d/legacy_compat.macros
|
||||
#ln -sf ppc-linux %{buildroot}%{_usrlibrpm}/platform/powerpc-%{_target_vendor}-linux
|
||||
|
||||
%if %{with docs}
|
||||
install -d %{buildroot}%{_docdir}/rpm
|
||||
cp -r apidocs/html %{buildroot}%{_docdir}/rpm
|
||||
%endif
|
||||
|
||||
%pre
|
||||
# XXX: really sceptical about rpm actually requiring or even using it's own
|
||||
# dedicated user for any purpose (and there's no suid/guid no binaries either), really
|
||||
# smells like an old suid/guid relic of the past...
|
||||
/usr/share/rpm-helper/add-user rpm $1 rpm /var/lib/rpm /bin/false
|
||||
|
||||
%postun
|
||||
/usr/share/rpm-helper/del-user rpm $1 rpm
|
||||
# hm, spec-helper not 100%..?
|
||||
rm -f %{buildroot}%{_libdir}/*.la
|
||||
|
||||
# TODO: review which files goes into what packages...?
|
||||
%files -f %{name}.lang
|
||||
%doc GROUPS CHANGES doc/manual/[a-z]*
|
||||
%doc CHANGES doc/manual/[a-z]*
|
||||
%if %{with docs}
|
||||
%exclude %{_docdir}/rpm/html
|
||||
%endif
|
||||
# Are these attributes actually still sane? Smells deprecated/legacy...
|
||||
%defattr(755, rpm, rpm, 755)
|
||||
/bin/rpm
|
||||
%{_bindir}/multiarch-dispatch
|
||||
%{_bindir}/rpmconstant*
|
||||
%{_bindir}/rpm2cpio*
|
||||
%{_rpmhome}/bin/augtool
|
||||
%{_rpmhome}/bin/chroot
|
||||
%{_rpmhome}/bin/cp
|
||||
%{_rpmhome}/bin/dbconvert
|
||||
#%{_rpmhome}/bin/grep
|
||||
%{_rpmhome}/bin/find
|
||||
#%%{_rpmhome}/bin/grep
|
||||
#%%{_rpmhome}/bin/lua
|
||||
%{_rpmhome}/bin/mtree
|
||||
%{_rpmhome}/bin/mgo
|
||||
%{_rpmhome}/bin/pom2spec
|
||||
#%%{_rpmhome}/bin/rc
|
||||
%{_rpmhome}/bin/rpmspecdump
|
||||
%{_rpmhome}/bin/wget
|
||||
%if %{with xar}
|
||||
%{_rpmhome}/bin/txar
|
||||
%endif
|
||||
%{_rpmhome}/dbconvert.sh
|
||||
%{_rpmhome}/rpm.*
|
||||
%{_rpmhome}/rpm2cpio
|
||||
|
@ -500,7 +625,6 @@ cp -r apidocs/html %{buildroot}%{_docdir}/rpm
|
|||
%dir %{_localstatedir}/lib/rpm/tmp
|
||||
|
||||
|
||||
%defattr(0644, rpm, rpm, 755)
|
||||
%{_rpmhome}/macros.d/*
|
||||
%{_rpmhome}/cpuinfo.yaml
|
||||
%{_rpmhome}/macros
|
||||
|
@ -508,7 +632,6 @@ cp -r apidocs/html %{buildroot}%{_docdir}/rpm
|
|||
%{_rpmhome}/platform/*/macros
|
||||
%config(noreplace) %{_localstatedir}/lib/rpm/DB_CONFIG
|
||||
|
||||
%defattr(-,root,root)
|
||||
%dir %{_localstatedir}/spool/repackage
|
||||
%dir %{_rpmhome}
|
||||
%dir %{_rpmhome}/bin
|
||||
|
@ -539,17 +662,13 @@ cp -r apidocs/html %{buildroot}%{_docdir}/rpm
|
|||
%{_includedir}/multiarch-dispatch.h
|
||||
|
||||
%files build
|
||||
%defattr(755, rpm, rpm)
|
||||
%{_bindir}/gendiff
|
||||
%{_bindir}/rpmbuild
|
||||
%{_bindir}/multiarch-platform
|
||||
%{_rpmhome}/bin/abi-compliance-checker.pl
|
||||
%{_rpmhome}/bin/api-sanity-autotest.pl
|
||||
%{_rpmhome}/bin/chroot
|
||||
%{_rpmhome}/bin/cp
|
||||
%{_rpmhome}/bin/dbsql
|
||||
%{_rpmhome}/bin/debugedit
|
||||
%{_rpmhome}/bin/find
|
||||
%{_rpmhome}/bin/install-sh
|
||||
%{_rpmhome}/bin/mkinstalldirs
|
||||
%{_rpmhome}/bin/rpmcache
|
||||
|
@ -559,10 +678,6 @@ cp -r apidocs/html %{buildroot}%{_docdir}/rpm
|
|||
%{_rpmhome}/bin/rpmkey
|
||||
%{_rpmhome}/bin/rpmrepo
|
||||
%{_rpmhome}/bin/sqlite3
|
||||
%if %{with xar}
|
||||
%{_rpmhome}/bin/txar
|
||||
%endif
|
||||
%{_rpmhome}/bin/wget
|
||||
%dir %{_rpmhome}/helpers
|
||||
%{_rpmhome}/helpers/*
|
||||
%dir %{_rpmhome}/qf
|
||||
|
@ -607,8 +722,7 @@ cp -r apidocs/html %{buildroot}%{_docdir}/rpm
|
|||
%if %{with js}
|
||||
%{_rpmhome}/bin/tjs
|
||||
%endif
|
||||
%attr(0644, rpm, rpm) %{_rpmhome}/macros.rpmbuild
|
||||
%defattr(-, root, root)
|
||||
%{_rpmhome}/macros.rpmbuild
|
||||
%{_mandir}/man8/rpmbuild.8*
|
||||
%{_mandir}/man8/rpmdeps.8*
|
||||
|
||||
|
@ -626,38 +740,29 @@ cp -r apidocs/html %{buildroot}%{_docdir}/rpm
|
|||
%{_rpmhome}/lib/librpmjsm.so.*
|
||||
%{_rpmhome}/lib/rpmjsm.so
|
||||
%endif
|
||||
#%if %{with sqlite}
|
||||
#%{_rpmhome}/libsql*.so.*
|
||||
#%endif
|
||||
#%%if %%{with sqlite}
|
||||
#%%{_rpmhome}/libsql*.so.*
|
||||
#%%endif
|
||||
|
||||
%files -n %{librpmnamedevel}
|
||||
#%doc apidocs/html
|
||||
#%%doc apidocs/html
|
||||
%{_includedir}/rpm
|
||||
%{_libdir}/librpm.la
|
||||
%{_libdir}/librpm.so
|
||||
%{_libdir}/librpmconstant.la
|
||||
%{_libdir}/librpmconstant.so
|
||||
%{_libdir}/librpmdb.la
|
||||
%{_libdir}/librpmdb.so
|
||||
%{_libdir}/librpmio.la
|
||||
%{_libdir}/librpmio.so
|
||||
%{_libdir}/librpmmisc.la
|
||||
%{_libdir}/librpmmisc.so
|
||||
%{_libdir}/librpmbuild.la
|
||||
%{_libdir}/librpmbuild.so
|
||||
%{_libdir}/pkgconfig/rpm.pc
|
||||
|
||||
%if %{with js}
|
||||
#FIXME: lib64!
|
||||
%{_rpmhome}/lib/librpmjsm.la
|
||||
%{_rpmhome}/lib/librpmjsm.so
|
||||
%{_rpmhome}/lib/rpmjsm.la
|
||||
%endif
|
||||
#%if %{with sqlite}
|
||||
#%{_rpmhome}/libsql*.la
|
||||
#%{_rpmhome}/libsql*.so
|
||||
#%endif
|
||||
|
||||
#%%if %%{with sqlite}
|
||||
#%%{_rpmhome}/libsql*.la
|
||||
#%%{_rpmhome}/libsql*.so
|
||||
#%%endif
|
||||
|
||||
%files -n %{librpmstatic}
|
||||
%{_libdir}/librpm.a
|
||||
|
@ -672,13 +777,13 @@ cp -r apidocs/html %{buildroot}%{_docdir}/rpm
|
|||
%{_rpmhome}/lib/librpmjsm.a
|
||||
%{_rpmhome}/lib/rpmjsm.a
|
||||
%endif
|
||||
#%if %{with sqlite}
|
||||
#%{_rpmhome}/libsql*.a
|
||||
#%endif
|
||||
#%%if %%{with sqlite}
|
||||
#%%{_rpmhome}/libsql*.a
|
||||
#%%endif
|
||||
|
||||
%if %{with perl}
|
||||
%files -n perl-%{perlmod}
|
||||
#%doc perl/Changes
|
||||
#%%doc perl/Changes
|
||||
%{_mandir}/man3/RPM*
|
||||
%{perl_vendorarch}/%{perlmod}.pm
|
||||
%dir %{perl_vendorarch}/%{perlmod}
|
||||
|
@ -701,8 +806,239 @@ cp -r apidocs/html %{buildroot}%{_docdir}/rpm
|
|||
|
||||
|
||||
%changelog
|
||||
* Mon Jan 23 2012 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-31
|
||||
+ Revision: 766961
|
||||
- terminate build on file listed twice
|
||||
- hardcore path to rpmlint to prevent breakage with people redefining %%_bindir
|
||||
- add rpmlintrc file
|
||||
|
||||
* Fri Jan 06 2012 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-30
|
||||
+ Revision: 758125
|
||||
- workaround spec-helper not properly removing all .la files properly..(?)
|
||||
- support loading local rpmlint configuration file from
|
||||
%{_sourcedir}/%%{name}.rpmlintrc
|
||||
- add a versioned dependency on rpmlint-mandriva-policy
|
||||
- add support for %%_srcdefattr macro, setting it to (644,root,root)
|
||||
- bump rpmlint version conflicts again.. ;)
|
||||
- enable %%_nonzero_exit_pkgcheck_terminate_build (ghasp!;)
|
||||
- don't remove Requires(pre) dependencies satisfied by self, but rather print an
|
||||
error (not terminating build though, leaving this up to rpmlint check to do
|
||||
later)
|
||||
- pass '-T' argument to rpmlint for it to always return zero unless error
|
||||
threshold is exceeded
|
||||
- silence rpmlint 'macro-in-comment' complaints
|
||||
- ditch dedicated rpm user and file/directory ownership of
|
||||
|
||||
* Wed Dec 21 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-29
|
||||
+ Revision: 744043
|
||||
- reenable rpmlint invokation from rpmbuild and add conflict on older rpmlint
|
||||
releaes that has bug with paths to extracted files from src.rpm
|
||||
|
||||
* Tue Dec 20 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-28
|
||||
+ Revision: 744028
|
||||
- disable rpmlint invokation during rpmbuild untill network transport issues with
|
||||
src.rpms is resolved
|
||||
- drop 'GROUPS' file carried and included as doc for 'rpm' package, earlier
|
||||
required by rpmlint, but no longer... :)
|
||||
|
||||
* Tue Dec 20 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-27
|
||||
+ Revision: 743978
|
||||
- add '>= 4.2.1-8' to 'beecrypt-devel' buildrequires to get proper libtool files
|
||||
- add back $RPM_BUILD_DIR again for now to properly generate paths for debug pkgs
|
||||
- add support for %%_build_pkgcheck, rpmbuild invoking rpmlint automatically per
|
||||
package built (P73, from rpm.org)
|
||||
- disable %%_unpackaged_subdirs_terminate_build untill check fixed..
|
||||
- teach debugedit about .debug_macro dwarf section (rhbz#759272, P72 from rpm.org)
|
||||
- switch to using rpm's own xtoupper() & xtolower() in stead of changing LC_CTYPE
|
||||
|
||||
* Fri Dec 16 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-26
|
||||
+ Revision: 743086
|
||||
- fix locale-dependent behaviour of toupper()/tolower() breaking conversion of
|
||||
string casing and the lookup of rpm constants in languages such as turkish
|
||||
where 'i' is considered uppercase and 'I' lowercase (P71, fixes mdv#63860)
|
||||
|
||||
* Wed Dec 14 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-25
|
||||
+ Revision: 741297
|
||||
- change log level of message about dropping dependencies to debug, way too
|
||||
annoying otherwise..
|
||||
|
||||
* Wed Dec 14 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-24
|
||||
+ Revision: 741197
|
||||
- actually enable dropping of dependencies on '/bin/sh' & '/sbin/ldconfig' (P70)
|
||||
|
||||
* Sun Dec 11 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-23
|
||||
+ Revision: 740189
|
||||
- drop dependencies such as /bin/sh which will always be satisfied by glibc's
|
||||
dependency on bash, and also on /sbin/ldconfig which always will be satisfied
|
||||
by glibc (P70)
|
||||
|
||||
* Sun Dec 11 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-22
|
||||
+ Revision: 740168
|
||||
- drop useless dependency on 'pkgconfig' on all files which has a pkgconfig file,
|
||||
it's not really needed to make the packages usable, and any package actually
|
||||
requiring pkgconfig will pull it in long before anyways (P69)
|
||||
- fix %%find_lang --with-html
|
||||
- enable net transport for 'rpm -qp' (closes mdv#64914)
|
||||
|
||||
* Tue Dec 06 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-21
|
||||
+ Revision: 738087
|
||||
- avoid excessive output from eu-strip in find-debuginfo.sh now that
|
||||
--reloc-debug-sections is used (P67)
|
||||
- add a 'rpmbuild --withoutclean' option (P66, closes mdvbz#64898)
|
||||
- strip away buildroot from unpackaged subdirs listed as well
|
||||
- implement %%_unpackaged_subdirs_terminate_build as well (P65)
|
||||
- implement %%_duplicate_files_terminate_build (P64)
|
||||
- strip buildroot path from list of files duplicated across packages (P63)
|
||||
- update buildrequires on libgomp-devel to gomp-devel
|
||||
- fix path of %%_sys_macros_dir
|
||||
- don't redefine %%{debugcflags} completely, extend it in stead and add '-g3'
|
||||
|
||||
* Wed Nov 30 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-20
|
||||
+ Revision: 735832
|
||||
- fix NULL pointer dereferencing
|
||||
- add a versioned requires on elfutils to ensure we get --reloc-debug-sections
|
||||
|
||||
* Wed Nov 30 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-19
|
||||
+ Revision: 735726
|
||||
- update buildrequires to use pkgconfig(foo)
|
||||
- fix so that --reloc-debug-sections isn't used when DISABLE_DEBUG is set
|
||||
|
||||
* Tue Nov 29 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-18
|
||||
+ Revision: 735479
|
||||
- fix same package with epoch being possible to upgrade (P60, reported by Ze)
|
||||
|
||||
* Tue Nov 29 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-17
|
||||
+ Revision: 735473
|
||||
- add missing partial stripping part from our old find-debuginfo.sh (P60)
|
||||
- add -Wa,--compress-debug-sections to %%debugcflags
|
||||
|
||||
* Tue Nov 29 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-16
|
||||
+ Revision: 735302
|
||||
- use DWARF 4 for debugging format (P58)
|
||||
|
||||
* Tue Nov 29 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-15
|
||||
+ Revision: 735291
|
||||
- create GDB index from find-debuginfo if possible (rhbz#617166, from rpm.org)
|
||||
- add quotes around $RPM_BUILD_ROOT everywhere to avoid breakage with filename
|
||||
spaces (P56, from rpm.org)
|
||||
- add support for stripping out/resolve relocations between .debug_* elf
|
||||
sections in ET_REL files. This can save a lot of space for kernel module (P55)
|
||||
- Add DWARF-4 support to debugedit (rhbz#707677, P54 from rpm.org)
|
||||
- Bail out of debuginfo if stabs format encountered (rhbz#453506, P53 from rpm.org)
|
||||
- Remove unused variable in debugedit (P52, from rpm.org)
|
||||
- fix incorrect error messages regarding -b and -d (P51, from rpm.org/Anssi)
|
||||
- Make debugedit -i recompute build ID only when any DWARF was actually
|
||||
changed (P50, from rpm.org)
|
||||
- Whitespace fixups for tools/debugedit.c (P49, from rpm.org)
|
||||
|
||||
* Sat Nov 26 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-14
|
||||
+ Revision: 733515
|
||||
- don't show suggests with --requires
|
||||
- only log as debug message when only merging flags
|
||||
|
||||
* Fri Nov 25 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-13
|
||||
+ Revision: 733452
|
||||
- fix dependencies with different attributes overlapping being removed, they will
|
||||
now rather have their attributes merged in stead
|
||||
|
||||
* Fri Nov 25 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-12
|
||||
+ Revision: 733368
|
||||
- fix buggy removal of overlapping dependencies, also add detection warning (P47)
|
||||
|
||||
* Thu Nov 24 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-11
|
||||
+ Revision: 733223
|
||||
- fix build issue caused by libxml libtool files removal
|
||||
- drop dependency whiteout, time to clean up loops
|
||||
- allow installation of repackage rpms (P46)
|
||||
- drop dependency on rpm-mandriva-setup now that it's macros has been merged
|
||||
- merge build macros from rpm-mandriva-setup-build (P45)
|
||||
- switch to using xz payload (P44)
|
||||
- merge remaining common macros from rpm-mandriva-setup package (P44)
|
||||
- don't redefine %%_vendor and other variables we don't want redefined in
|
||||
platform-specific macros
|
||||
- fix versioned dependencies on rpm-mandriva-setup
|
||||
- implement support for glob for loading macros with %%{load:} (P42)
|
||||
|
||||
* Thu Nov 17 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-10
|
||||
+ Revision: 731397
|
||||
- don't apply %%clean patch (P32), it seems to be broken..
|
||||
- merge most of macros from rpm-manbo-setup & obsolete it
|
||||
- make sure pkgconfig files to extract dependencies from are located in right
|
||||
location (P40)
|
||||
- drop unnecessary 'sort' in find-debuginfo.sh giving (harmless) error (P39)
|
||||
- make find-lang.sh handle man pages that's compressed (P38)
|
||||
- drop auto-generated dependencies for packages that they satisfy themself (P37)
|
||||
|
||||
* Wed Nov 16 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-9
|
||||
+ Revision: 731099
|
||||
- fix missing output file with --all-name
|
||||
|
||||
* Wed Nov 16 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-8
|
||||
+ Revision: 731068
|
||||
- support passing multiple names to find-lang.sh (last argument will be output
|
||||
file name) (P36)
|
||||
|
||||
* Wed Nov 16 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-7
|
||||
+ Revision: 730854
|
||||
- be sure to rescan for dependency loops again when dependencies has been skipped
|
||||
|
||||
* Wed Nov 16 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-6
|
||||
+ Revision: 730839
|
||||
- add support for --with-html to find-lang.sh (P35)
|
||||
- fix a memleak in ordering patch, and also report dependencies not being removed
|
||||
from tsort relations
|
||||
|
||||
* Sun Nov 13 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-5
|
||||
+ Revision: 730423
|
||||
- apply ordering patch for helping solving dependency loops where ie.
|
||||
Requires(post) etc. has been used to try solve ordering with loops.. (P33)
|
||||
|
||||
* Sun Nov 13 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-4
|
||||
+ Revision: 730407
|
||||
- fix mdvbz#62979 again (P33, forgotten on rpm-5_3)
|
||||
- really always invoke %%clean at end (P32, forgotten on rpm-5_3)
|
||||
|
||||
* Sat Nov 12 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-3
|
||||
+ Revision: 730209
|
||||
- workaround strange issue for lines starting with '%%_'...
|
||||
- fix rpm -qa \*foo\* regression (P31)
|
||||
|
||||
* Fri Nov 11 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-2
|
||||
+ Revision: 730073
|
||||
- use /sbin/nologin rather than /bin/false as login shell for 'rpm' user
|
||||
- drop patch reverting $RPM_BUILD_DIR++ removal, it's no longer required as we're
|
||||
no longer using our own version of find-debuginfo.sh using this
|
||||
- add back fix for rpm -qf /unpackaged-file (P30, forgotten on rpm-5_3)
|
||||
- add %%_specfile macro (P29, commit forgotten on rpm-5_3)
|
||||
- reenable scriptlet failure & no doc conflict patches (commits forgotten)
|
||||
|
||||
* Fri Nov 11 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.4-1
|
||||
+ Revision: 729992
|
||||
- merge find-lang.sh changes from rpm.org (P28)
|
||||
- merge changes from rpm-setup's find-debuginfo.sh (P27)
|
||||
- new version
|
||||
|
||||
* Mon Nov 07 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.3-2
|
||||
+ Revision: 727143
|
||||
- add back NVRA pattern hack that got lost on rpm-5_3 branch (P27, fixes urpme)
|
||||
|
||||
* Wed Oct 19 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.3-1
|
||||
+ Revision: 705415
|
||||
- revert removal of env vars breaking ie. find-debuginfo.sh (P26, reverts r16320)
|
||||
- fix different epoch being ignored for packages with same NVRA compared (P25)
|
||||
- add %%ruby_sitedir and %%ruby_vendor macros (P24)
|
||||
- climb up to 5.4 series.. :)
|
||||
- revert previous patch added, already merged upstream after all..
|
||||
- revive patch fixing #62262 which got lost earlier
|
||||
- fix previous hastily reverted patch in a (hopefully) proper way
|
||||
|
||||
+ Jon Dill <dillj@mandriva.org>
|
||||
- bump release to 13
|
||||
- moved various {_rpmhome}/bin/ binaries to main rpm pkg from rpm-build as defined in /usr/lib/rpm/macros
|
||||
- added {_rpmhome}/bin/lua as it was missing from the spec
|
||||
|
||||
* Tue Jul 12 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.3.12-0.20110712.2
|
||||
+ Revision: 689772
|
||||
+ Revision: 689790
|
||||
- revert a previous commit of mine which broke deps without distepoch (rushed)
|
||||
|
||||
* Tue Jul 12 2011 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.3.12-0.20110712.1
|
||||
|
@ -1025,7 +1361,7 @@ cp -r apidocs/html %{buildroot}%{_docdir}/rpm
|
|||
- fix unowned directory, reported by bitshuffler on irc, causing problem
|
||||
when installing rpm and using the wrong umask
|
||||
|
||||
* Fri Sep 25 2009 Olivier Blin <oblin@mandriva.com> 1:4.6.0-6mnb2
|
||||
* Fri Sep 25 2009 Olivier Blin <blino@mandriva.org> 1:4.6.0-6mnb2
|
||||
+ Revision: 448653
|
||||
- remove n32 support for now (not actually used)
|
||||
- handle n32 ABI in find-requires and find-provides (from Arnaud Patard)
|
||||
|
@ -1443,7 +1779,7 @@ cp -r apidocs/html %{buildroot}%{_docdir}/rpm
|
|||
- I suck, don't move man pages around at all and stop messing:p
|
||||
- move man page for perl module to perl-RPM package
|
||||
|
||||
+ Olivier Blin <oblin@mandriva.com>
|
||||
+ Olivier Blin <blino@mandriva.org>
|
||||
- do not expand _install_langs macro in default /etc/rpm/macros
|
||||
- fix typo in default /etc/rpm/macros
|
||||
- explicitely require neon-devel 0.26 (does not build with neon 0.27)
|
||||
|
|
Loading…
Add table
Reference in a new issue