[CVS] RPM: rpm/ CHANGES build.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 05-Apr-2011 21:29:41 Branch: HEAD Handle: 2011040519294000 Modified files: rpm CHANGES build.c Log: accept unicode characters. Summary: RevisionChanges Path 1.3601 +1 -0 rpm/CHANGES 2.125 +1 -1 rpm/build.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3600 -r1.3601 CHANGES --- rpm/CHANGES 3 Apr 2011 22:58:05 - 1.3600 +++ rpm/CHANGES 5 Apr 2011 19:29:40 - 1.3601 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- proyvind: rpmbuild: accept unicode characters. - jbj: mongo: drag-in the test suite. grdfs/replica_sets todo++. - jbj: mongo: and re-export the mongo-c-driver through librpmio.vers. - jbj: mongo: pull in the gridfs methods from the mongo-c-driver too. @@ . patch -p0 '@@ .' Index: rpm/build.c $ cvs diff -u -r2.124 -r2.125 build.c --- rpm/build.c 10 Feb 2010 20:24:49 - 2.124 +++ rpm/build.c 5 Apr 2011 19:29:40 - 2.125 @@ -88,7 +88,7 @@ /*@switchbreak@*/ break; /*@-boundsread@*/ default: - if (checking !(isprint(*s) || isspace(*s))) return 0; + if (checking !(isprint(*s) || isspace(*s)) *(unsigned char *)s 32) return 0; /*@switchbreak@*/ break; /*@=boundsread@*/ } @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES build.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 05-Apr-2011 21:51:49 Branch: HEAD Handle: 2011040519514900 Modified files: rpm CHANGES build.c Log: revert unicode change Summary: RevisionChanges Path 1.3602 +0 -1 rpm/CHANGES 2.127 +1 -1 rpm/build.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3601 -r1.3602 CHANGES --- rpm/CHANGES 5 Apr 2011 19:29:40 - 1.3601 +++ rpm/CHANGES 5 Apr 2011 19:51:49 - 1.3602 @@ -1,5 +1,4 @@ 5.4.0 - 5.4.1: -- proyvind: rpmbuild: accept unicode characters. - jbj: mongo: drag-in the test suite. grdfs/replica_sets todo++. - jbj: mongo: and re-export the mongo-c-driver through librpmio.vers. - jbj: mongo: pull in the gridfs methods from the mongo-c-driver too. @@ . patch -p0 '@@ .' Index: rpm/build.c $ cvs diff -u -r2.126 -r2.127 build.c --- rpm/build.c 5 Apr 2011 19:50:24 - 2.126 +++ rpm/build.c 5 Apr 2011 19:51:49 - 2.127 @@ -88,7 +88,7 @@ /*@switchbreak@*/ break; /*@-boundsread@*/ default: - if (checking !(isprint(*s) || isspace(*s))) return 0; + if (checking !(isprint(*s) || isspace(*s)) *(unsigned char *)s 32) return 0; /*@switchbreak@*/ break; /*@=boundsread@*/ } @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES build.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: [EMAIL PROTECTED] Module: rpm Date: 27-Feb-2008 06:24:36 Branch: HEAD Handle: 2008022705243600 Modified files: rpm CHANGES build.c Log: - jbj: fix: rpmtsCheck non-zero return doesn't print failed build deps. Summary: RevisionChanges Path 1.2205 +1 -0 rpm/CHANGES 2.117 +1 -10 rpm/build.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.2204 -r1.2205 CHANGES --- rpm/CHANGES 26 Feb 2008 20:41:59 - 1.2204 +++ rpm/CHANGES 27 Feb 2008 05:24:36 - 1.2205 @@ -1,4 +1,5 @@ 5.0.0 - 5.1a1: +- jbj: fix: rpmtsCheck non-zero return doesn't print failed build deps. - jbj: handle mireRegexec return change internal to rpm code. - jbj: mire: change mireRegexec() return: =0 match, -1 nomatch, else error. - jbj: rpmgrep: start untwisting PCRE from rpmgrep (broken w/o PCRE atm). @@ . patch -p0 '@@ .' Index: rpm/build.c $ cvs diff -u -r2.116 -r2.117 build.c --- rpm/build.c 19 Dec 2007 19:38:35 - 2.116 +++ rpm/build.c 27 Feb 2008 05:24:36 - 2.117 @@ -25,7 +25,6 @@ /[EMAIL PROTECTED] rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/ /[EMAIL PROTECTED] ts, h, rpmGlobalMacroContext, fileSystem, internalState @*/ { -rpmps ps; int rc; if (!headerIsEntry(h, RPMTAG_REQUIRENAME) @@ -34,15 +33,7 @@ rc = rpmtsAddInstallElement(ts, h, NULL, 0, NULL); -rc = rpmtsCheck(ts); - -ps = rpmtsProblems(ts); -if (rc == 0 rpmpsNumProblems(ps) 0) { - rpmlog(RPMLOG_ERR, _(Failed build dependencies:\n)); - rpmpsPrint(NULL, ps); - rc = 1; -} -ps = rpmpsFree(ps); +rc = rpmcliInstallProblems(ts, _(Failed build dependencies), rpmtsCheck(ts)); /* XXX nuke the added package. */ rpmtsClean(ts); @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES build.c macros.in
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: [EMAIL PROTECTED] Module: rpm Date: 19-Dec-2007 20:38:35 Branch: HEAD Handle: 2007121919383500 Modified files: rpm CHANGES build.c macros.in Log: - jbj: functional rpmbuild -bt foo.spec (if %track is present in foo.spec). Summary: RevisionChanges Path 1.2000 +1 -0 rpm/CHANGES 2.116 +1 -1 rpm/build.c 1.216 +5 -4 rpm/macros.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.1999 -r1.2000 CHANGES --- rpm/CHANGES 19 Dec 2007 03:50:40 - 1.1999 +++ rpm/CHANGES 19 Dec 2007 19:38:35 - 1.2000 @@ -1,4 +1,5 @@ 5.0b2 - 5.0b3: +- jbj: functional rpmbuild -bt foo.spec (if %track is present in foo.spec). - jbj: fix: insure that %{name} is expanded correctly in srpm paths. - jbj: using tagValue() rather than tagGenerate() permits changing the tagno to from arbitrary transparent. likely more needs doing. @@ . patch -p0 '@@ .' Index: rpm/build.c $ cvs diff -u -r2.115 -r2.116 build.c --- rpm/build.c 3 Dec 2007 15:42:37 - 2.115 +++ rpm/build.c 19 Dec 2007 19:38:35 - 2.116 @@ -114,7 +114,7 @@ size_t nb = strlen(arg) + BUFSIZ; char * buf = alloca(nb); Spec spec = NULL; -int verify = 1; +int verify = ((ba-buildAmount RPMBUILD_TRACK) ? 0 : 1); int xx; int rc; @@ . patch -p0 '@@ .' Index: rpm/macros.in $ cvs diff -u -r1.215 -r1.216 macros.in --- rpm/macros.in 18 Dec 2007 19:40:52 - 1.215 +++ rpm/macros.in 19 Dec 2007 19:38:35 - 1.216 @@ -1,7 +1,7 @@ #/*! \page config_macros Default configuration: @USRLIBRPM@/macros # \verbatim # -# $Id: macros.in,v 1.215 2007/12/18 19:40:52 jbj Exp $ +# $Id: macros.in,v 1.216 2007/12/19 19:38:35 jbj Exp $ # # This is a global RPM configuration file. All changes made here will # be lost when the rpm package is upgraded. Any per-system configuration @@ -85,7 +85,7 @@ %__tar @__TAR@ %__tclsh @__TCLSH@ %__unzip @__UNZIP@ -%__vcheck%{__rpmhome}/vcheck +%__vcheck%{_rpmhome}/vcheck %__wget @__WGET@ %__xar @__XAR@ @@ -1189,9 +1189,10 @@ %__spec_track_shell%{___build_shell} %__spec_track_args %{___build_args} %__spec_track_cmd %{___build_cmd} -%__spec_track_pre %{___build_pre} +%__spec_track_pre %{__vcheck} -f - GO_SYSIN_DD %__spec_track_body %{___build_body} -%__spec_track_post %{___build_post} +%__spec_track_post GO_SYSIN_DD\ +%{nil} %__spec_track_template #!%{__spec_track_shell}\ %{__spec_track_pre}\ %{nil} @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES build.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: [EMAIL PROTECTED] Module: rpm Date: 03-Dec-2007 16:42:37 Branch: HEAD Handle: 2007120315423700 Modified files: rpm CHANGES build.c Log: - fix: rpmbuild -ba dir/foo.spec was broken. Summary: RevisionChanges Path 1.1914 +1 -0 rpm/CHANGES 2.115 +1 -1 rpm/build.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.1913 -r1.1914 CHANGES --- rpm/CHANGES 3 Dec 2007 15:12:09 - 1.1913 +++ rpm/CHANGES 3 Dec 2007 15:42:37 - 1.1914 @@ -1,4 +1,5 @@ 5.0a4 - 5.0b1: +- jbj: fix: rpmbuild -ba dir/foo.spec was broken. - jbj: arbitrary tags w RPM_STRING_ARRAY_TYPE default type, append assumed. - jbj: eliminate tagName (unknown) failure, return Tag_0x12345678 - jbj: re-enable binary, not linear, tag lookups. @@ . patch -p0 '@@ .' Index: rpm/build.c $ cvs diff -u -r2.114 -r2.115 build.c --- rpm/build.c 26 Nov 2007 05:16:48 - 2.114 +++ rpm/build.c 3 Dec 2007 15:42:37 - 2.115 @@ -191,7 +191,7 @@ else se = stpcpy(se, .); *se++ = '/'; - se += strlen(strcpy(se,basename(strcpy(se, s; + se += strlen(strcpy(se,strcpy(se, s))); } else se = stpcpy(se, s); specURL = rpmGetPath(buf, NULL); @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES build.c rpm/build/ files.c parseDescription.c ...
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: [EMAIL PROTECTED] Module: rpm Date: 25-Nov-2007 00:55:03 Branch: HEAD Handle: 2007112423550003 Modified files: rpm CHANGES build.c rpm/build files.c parseDescription.c parsePreamble.c parsePrep.c parseScript.c parseSpec.c rpmbuild.h spec.c rpm/lib depends.c formats.c fsm.c psm.c query.c rpmchecksig.c rpmds.c rpmfc.c rpmfi.c rpmgi.c rpminstall.c rpmrollback.c rpmte.c rpmts.c transaction.c verify.c rpm/python rpmts-py.c Log: - include header.h only where needed, doco remaining destruction. Summary: RevisionChanges Path 1.1887 +1 -0 rpm/CHANGES 2.113 +1 -0 rpm/build.c 1.294 +1 -0 rpm/build/files.c 2.31+1 -0 rpm/build/parseDescription.c 2.147 +2 -0 rpm/build/parsePreamble.c 2.93+1 -0 rpm/build/parsePrep.c 2.52+1 -0 rpm/build/parseScript.c 2.117 +1 -0 rpm/build/parseSpec.c 2.80+0 -1 rpm/build/rpmbuild.h 2.163 +1 -0 rpm/build/spec.c 1.366 +1 -1 rpm/lib/depends.c 2.123 +1 -1 rpm/lib/formats.c 2.138 +1 -1 rpm/lib/fsm.c 2.268 +1 -1 rpm/lib/psm.c 2.196 +1 -1 rpm/lib/query.c 1.200 +1 -1 rpm/lib/rpmchecksig.c 2.85+1 -1 rpm/lib/rpmds.c 1.43+1 -1 rpm/lib/rpmfc.c 2.105 +1 -1 rpm/lib/rpmfi.c 2.44+1 -1 rpm/lib/rpmgi.c 1.186 +1 -1 rpm/lib/rpminstall.c 1.28+1 -1 rpm/lib/rpmrollback.c 2.71+1 -1 rpm/lib/rpmte.c 2.126 +1 -1 rpm/lib/rpmts.c 1.357 +1 -1 rpm/lib/transaction.c 2.179 +1 -1 rpm/lib/verify.c 1.80+1 -0 rpm/python/rpmts-py.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.1886 -r1.1887 CHANGES --- rpm/CHANGES 24 Nov 2007 23:15:31 - 1.1886 +++ rpm/CHANGES 24 Nov 2007 23:55:00 - 1.1887 @@ -1,4 +1,5 @@ 5.0a2 - 5.0a3: +- jbj: include header.h only where needed, doco remaining destruction. - jbj: finalize headerMod, add to the ABI, remove HME_t goop. - jbj: finalize headerDel, add to the ABI, remove HRE_t goop. - jbj: finalize headerPut, add to the ABI, remove HAE_t goop. @@ . patch -p0 '@@ .' Index: rpm/build.c $ cvs diff -u -r2.112 -r2.113 build.c --- rpm/build.c 18 Nov 2007 19:51:26 - 2.112 +++ rpm/build.c 24 Nov 2007 23:55:00 - 2.113 @@ -5,6 +5,7 @@ #include system.h #include rpmio.h +#include header.h /* XXX headerIsEntry */ #include rpmcli.h #include rpmbuild.h @@ . patch -p0 '@@ .' Index: rpm/build/files.c $ cvs diff -u -r1.293 -r1.294 files.c --- rpm/build/files.c 24 Nov 2007 23:15:31 - 1.293 +++ rpm/build/files.c 24 Nov 2007 23:55:00 - 1.294 @@ -17,6 +17,7 @@ #include rpmio_internal.h #include fts.h +#include header.h /* XXX headerIsEntry, headerFreeData, headerInitIterator, headerNextIterator, headerFreeIterator, headerMacrosLoad, headerMacrosUnload */ #include rpmbuild.h #include cpio.h @@ . patch -p0 '@@ .' Index: rpm/build/parseDescription.c $ cvs diff -u -r2.30 -r2.31 parseDescription.c --- rpm/build/parseDescription.c 11 Oct 2007 13:04:26 - 2.30 +++ rpm/build/parseDescription.c 24 Nov 2007 23:55:00 - 2.31 @@ -6,6 +6,7 @@ #include system.h #include rpmio.h +#include header.h /* XXX headerAddI18NString */ #include rpmbuild.h #include debug.h @@ . patch -p0 '@@ .' Index: rpm/build/parsePreamble.c $ cvs diff -u -r2.146 -r2.147 parsePreamble.c --- rpm/build/parsePreamble.c 24 Nov 2007 23:15:31 - 2.146 +++ rpm/build/parsePreamble.c 24 Nov 2007 23:55:00 - 2.147 @@ -6,6 +6,8 @@ #include system.h #include rpmio_internal.h +
[CVS] RPM: rpm/ CHANGES build.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: [EMAIL PROTECTED] Module: rpm Date: 18-Nov-2007 20:51:26 Branch: HEAD Handle: 2007111819512600 Modified files: rpm CHANGES build.c Log: - jbj: fix: handle absolute paths to spec files again. Summary: RevisionChanges Path 1.1843 +1 -0 rpm/CHANGES 2.112 +2 -2 rpm/build.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.1842 -r1.1843 CHANGES --- rpm/CHANGES 18 Nov 2007 17:18:28 - 1.1842 +++ rpm/CHANGES 18 Nov 2007 19:51:26 - 1.1843 @@ -1,4 +1,5 @@ 5.0a1 - 5.0a2: +- jbj: fix: handle absolute paths to spec files again. - jbj: fix: don't attempt header sanity checks on pubkeys. - jbj: fix: don't loop on failed lookup by instance. - jbj: Eliminate SUPPORT_RPMV3_PROVIDE_SELF Provies: N = E:V-R retrofit. @@ . patch -p0 '@@ .' Index: rpm/build.c $ cvs diff -u -r2.111 -r2.112 build.c --- rpm/build.c 11 Oct 2007 19:44:21 - 2.111 +++ rpm/build.c 18 Nov 2007 19:51:26 - 2.112 @@ -190,10 +190,10 @@ se += strlen(se); else se = stpcpy(se, .); + *se++ = '/'; + se += strlen(strcpy(se,basename(strcpy(se, s; } else se = stpcpy(se, s); - *se++ = '/'; - se += strlen(basename(strcpy(se, s))); specURL = rpmGetPath(buf, NULL); specut = urlPath(specURL, specFile); } @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES build.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: [EMAIL PROTECTED] Module: rpm Date: 22-Sep-2007 19:40:54 Branch: HEAD Handle: 2007092218405400 Modified files: rpm CHANGES build.c Log: - don't punish monkeys who insist on My Widdle .spec naming. - permit -ta spec file extraction from zip/lzo/lzma compressed balls. - add %{?__tar_wildcards} to pass Fedora automated regression tests. - use %{__tar} with -ta builds to assist morons who cannot set PATH. Summary: RevisionChanges Path 1.1637 +4 -0 rpm/CHANGES 2.108 +20 -19 rpm/build.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.1636 -r1.1637 CHANGES --- rpm/CHANGES 22 Sep 2007 16:06:05 - 1.1636 +++ rpm/CHANGES 22 Sep 2007 17:40:54 - 1.1637 @@ -1,4 +1,8 @@ 4.5 - 5.0: +- jbj: don't punish monkeys who insist on My Widdle .spec naming. +- jbj: permit -ta spec file extraction from zip/lzo/lzma compressed balls. +- jbj: add %{?__tar_wildcards} to pass Fedora automated regression tests. +- jbj: use %{__tar} with -ta builds to assist morons who cannot set PATH. - jbj: add %{mkstemp: ... } macro primitive. - rse: fix po/POTFILES.in and tools/Makefile.am to reflect recent changes (fixes make dist, too) - rpm.org: cleanup main() definitions in tests and tools @@ . patch -p0 '@@ .' Index: rpm/build.c $ cvs diff -u -r2.107 -r2.108 build.c --- rpm/build.c 22 Sep 2007 16:06:05 - 2.107 +++ rpm/build.c 22 Sep 2007 17:40:54 - 2.108 @@ -126,48 +126,49 @@ const char * specDir; char * tmpSpecFile; char * cmd, * s; - rpmCompressedMagic res = COMPRESSED_OTHER; - /[EMAIL PROTECTED]@*/ static const char *zcmds[] = - { cat, gunzip, bunzip2, cat }; + int xx; specDir = rpmGetPath(%{_specdir}, NULL); tmpSpecFile = (char *) rpmGetPath(_specfn, NULL); - (void) isCompressed(arg, res); + cmd = rpmExpand(%{uncompress:, arg, } | %{__tar} -xOvf - %{?__tar_wildcards} , Specfile, 21 ', tmpSpecFile, ', NULL); - cmd = alloca(strlen(arg) + 50 + strlen(tmpSpecFile)); - sprintf(cmd, %s %s | tar xOvf - Specfile 21 %s, - zcmds[res 0x3], arg, tmpSpecFile); - if (!(fp = popen(cmd, r))) { + if ((fp = popen(cmd, r)) == NULL) { rpmError(RPMERR_POPEN, _(Failed to open tar pipe: %m\n)); - specDir = _free(specDir); + cmd = _free(cmd); tmpSpecFile = _free(tmpSpecFile); + specDir = _free(specDir); return 1; } - if ((!fgets(buf, sizeof(buf) - 1, fp)) || !strchr(buf, '/')) { + s = fgets(buf, sizeof(buf) - 1, fp); + if (!s || !*s || strstr(s, : Not found in archive)) { /* Try again */ (void) pclose(fp); + cmd = _free(cmd); - sprintf(cmd, %s %s | tar xOvf - \\*.spec 21 %s, - zcmds[res 0x3], arg, tmpSpecFile); + cmd = rpmExpand(%{uncompress:, arg, } | %{__tar} -xOvf - %{?__tar_wildcards} , \\*.spec, 21 ', tmpSpecFile, ', NULL); if (!(fp = popen(cmd, r))) { rpmError(RPMERR_POPEN, _(Failed to open tar pipe: %m\n)); - specDir = _free(specDir); + cmd = _free(cmd); tmpSpecFile = _free(tmpSpecFile); + specDir = _free(specDir); return 1; } - if (!fgets(buf, sizeof(buf) - 1, fp)) { + s = fgets(buf, sizeof(buf) - 1, fp); + if (!s || !*s || strstr(s, : Not found in archive)) { /* Give up */ rpmError(RPMERR_READ, _(Failed to read spec file from %s\n), arg); - (void) unlink(tmpSpecFile); - specDir = _free(specDir); + xx = unlink(tmpSpecFile); + cmd = _free(cmd); tmpSpecFile = _free(tmpSpecFile); + specDir = _free(specDir); return 1; } } (void) pclose(fp); + cmd = _free(cmd); cmd = s = buf; while (*cmd != '\0') { @@ -183,13 +184,13 @@ specURL = s = alloca(strlen(specDir) + strlen(cmd) + 5); sprintf(s, %s/%s, specDir, cmd); - res = rename(tmpSpecFile, s); + xx = Rename(tmpSpecFile, s); specDir
[CVS] RPM: rpm/ CHANGES build.c rpm/rpmio/ macro.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: [EMAIL PROTECTED] Module: rpm Date: 22-Sep-2007 23:12:57 Branch: HEAD Handle: 200709125601 Modified files: rpm CHANGES build.c rpm/rpmio macro.c Log: - jbj: handle more white space in paths. - jbj: make the rpm hacker's entrance exam buggery harder (#281391). Summary: RevisionChanges Path 1.1638 +2 -0 rpm/CHANGES 2.109 +69 -95 rpm/build.c 2.145 +7 -5 rpm/rpmio/macro.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.1637 -r1.1638 CHANGES --- rpm/CHANGES 22 Sep 2007 17:40:54 - 1.1637 +++ rpm/CHANGES 22 Sep 2007 21:12:56 - 1.1638 @@ -1,4 +1,6 @@ 4.5 - 5.0: +- jbj: handle more white space in paths. +- jbj: make the rpm hacker's entrance exam buggery harder (#281391). - jbj: don't punish monkeys who insist on My Widdle .spec naming. - jbj: permit -ta spec file extraction from zip/lzo/lzma compressed balls. - jbj: add %{?__tar_wildcards} to pass Fedora automated regression tests. @@ . patch -p0 '@@ .' Index: rpm/build.c $ cvs diff -u -r2.108 -r2.109 build.c --- rpm/build.c 22 Sep 2007 17:40:54 - 2.108 +++ rpm/build.c 22 Sep 2007 21:12:56 - 2.109 @@ -106,10 +106,13 @@ const char * passPhrase = ba-passPhrase; const char * cookie = ba-cookie; int buildAmount = ba-buildAmount; -const char * specFile; -const char * specURL; +const char * specFile = NULL; +const char * specURL = NULL; int specut; -char buf[BUFSIZ]; +const char * s; +char * se; +size_t nb = strlen(arg) + BUFSIZ; +char * buf = alloca(nb); Spec spec = NULL; int verify = 1; int xx; @@ -119,120 +122,90 @@ rpmSetTables(RPM_MACHTABLE_BUILDARCH, RPM_MACHTABLE_BUILDOS); #endif -/[EMAIL PROTECTED]@*/ /* FIX: static zcmds heartburn */ if (ba-buildMode == 't') { + static const char * sfpats[] = { Specfile, \\*.spec, NULL }; static const char _specfn[] = %{mkstemp:%{_specdir}/rpm-spec.XX}; + char * tmpSpecFile = (char *) rpmGetPath(_specfn, NULL); FILE *fp; - const char * specDir; - char * tmpSpecFile; - char * cmd, * s; - int xx; + int bingo = 0; + int i; - specDir = rpmGetPath(%{_specdir}, NULL); - - tmpSpecFile = (char *) rpmGetPath(_specfn, NULL); - - cmd = rpmExpand(%{uncompress:, arg, } | %{__tar} -xOvf - %{?__tar_wildcards} , Specfile, 21 ', tmpSpecFile, ', NULL); - - if ((fp = popen(cmd, r)) == NULL) { - rpmError(RPMERR_POPEN, _(Failed to open tar pipe: %m\n)); - cmd = _free(cmd); + for (i = 0; sfpats[i]; i++) { + se = rpmExpand(%{uncompress: %{u2p:, arg, }}, + | %{__tar} -xOvf - %{?__tar_wildcards} , sfpats[i], + 21 ', tmpSpecFile, ', NULL); + fp = popen(se, r); + se = _free(se); + if (fp== NULL) + continue; + s = fgets(buf, nb - 1, fp); + xx = pclose(fp); + if (!s || !*s || strstr(s, : Not found in archive)) + continue; + bingo = 1; + break; + } + if (!bingo) { + rpmError(RPMERR_READ, _(Failed to read spec file from %s\n), arg); + xx = Unlink(tmpSpecFile); tmpSpecFile = _free(tmpSpecFile); - specDir = _free(specDir); return 1; } - s = fgets(buf, sizeof(buf) - 1, fp); - if (!s || !*s || strstr(s, : Not found in archive)) { - /* Try again */ - (void) pclose(fp); - cmd = _free(cmd); - - cmd = rpmExpand(%{uncompress:, arg, } | %{__tar} -xOvf - %{?__tar_wildcards} , \\*.spec, 21 ', tmpSpecFile, ', NULL); - if (!(fp = popen(cmd, r))) { - rpmError(RPMERR_POPEN, _(Failed to open tar pipe: %m\n)); - cmd = _free(cmd); - tmpSpecFile = _free(tmpSpecFile); - specDir = _free(specDir); - return 1; - } - s = fgets(buf, sizeof(buf) - 1, fp); - if (!s || !*s || strstr(s, : Not found in archive)) { - /* Give up */ - rpmError(RPMERR_READ, _(Failed to read spec file from %s\n), - arg); -
[CVS] RPM: rpm/ CHANGES build.c rpm/build/ poptBT.c spec.c rpm/lib/ po...
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Ralf S. Engelschall Root: /v/rpm/cvs Email: [EMAIL PROTECTED] Module: rpm Date: 24-Jul-2007 16:36:47 Branch: HEAD Handle: 2007072415364601 Modified files: rpm CHANGES build.c rpmpopt.in rpm/build poptBT.c spec.c rpm/lib poptALL.c poptI.c poptQV.c rpmcli.h Log: re-implement --force option (on installation) with a simple POPT alias instead of twisted and spreaded code. Summary: RevisionChanges Path 1.1517 +1 -0 rpm/CHANGES 2.106 +1 -1 rpm/build.c 2.15+0 -4 rpm/build/poptBT.c 2.151 +1 -2 rpm/build/spec.c 2.38+0 -2 rpm/lib/poptALL.c 2.36+0 -8 rpm/lib/poptI.c 2.42+0 -10 rpm/lib/poptQV.c 2.69+1 -3 rpm/lib/rpmcli.h 2.45+5 -1 rpm/rpmpopt.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.1516 -r1.1517 CHANGES --- rpm/CHANGES 24 Jul 2007 08:53:00 - 1.1516 +++ rpm/CHANGES 24 Jul 2007 14:36:46 - 1.1517 @@ -1,4 +1,5 @@ 4.5 - 5.0: +- rse: re-implement --force option (on installation) with a simple POPT alias instead of twisted and spreaded code - rse: for libraries prefer pkg-config foo before foo-config as pkg-config(1) provides more precise CPPFLAGS/CFLAGS - rse: unbreak rpm(1) short-hand option --force on package installation - rse: use implicit internal library dependencies by default, but allow disabling via --disable-build-intlibdep @@ . patch -p0 '@@ .' Index: rpm/build.c $ cvs diff -u -r2.105 -r2.106 build.c --- rpm/build.c 16 Jul 2007 01:32:25 - 2.105 +++ rpm/build.c 24 Jul 2007 14:36:46 - 2.106 @@ -255,7 +255,7 @@ #define _anyarch(_f)\ (((_f)(RPMBUILD_PREP|RPMBUILD_BUILD|RPMBUILD_INSTALL|RPMBUILD_PACKAGEBINARY)) == 0) if (parseSpec(ts, specURL, ba-rootdir, 0, passPhrase, - cookie, _anyarch(buildAmount), ba-force, verify)) + cookie, _anyarch(buildAmount), 0, verify)) { rc = 1; goto exit; @@ . patch -p0 '@@ .' Index: rpm/build/poptBT.c $ cvs diff -u -r2.14 -r2.15 poptBT.c --- rpm/build/poptBT.c24 Jul 2007 10:40:50 - 2.14 +++ rpm/build/poptBT.c24 Jul 2007 14:36:47 - 2.15 @@ -118,10 +118,6 @@ rba-noDeps = 1; break; -case RPMCLI_POPT_FORCE: - rba-force = 1; - break; - } } /[EMAIL PROTECTED]@*/ @@ . patch -p0 '@@ .' Index: rpm/build/spec.c $ cvs diff -u -r2.150 -r2.151 spec.c --- rpm/build/spec.c 16 Jul 2007 21:40:34 - 2.150 +++ rpm/build/spec.c 24 Jul 2007 14:36:47 - 2.151 @@ -754,14 +754,13 @@ char * passPhrase = ; int recursing = 0; char *cookie = NULL; -int force = 1; int verify = 0; int xx; /[EMAIL PROTECTED]@*/ /[EMAIL PROTECTED]@*/ /* FIX: make spec abstract */ if (parseSpec(ts, specName, /, recursing, passPhrase, - cookie, anyarch, force, verify) + cookie, anyarch, 1, verify) || (spec = rpmtsSetSpec(ts, NULL)) == NULL) { rpmError(RPMERR_QUERY, @@ . patch -p0 '@@ .' Index: rpm/lib/poptALL.c $ cvs diff -u -r2.37 -r2.38 poptALL.c --- rpm/lib/poptALL.c 23 Jul 2007 18:54:53 - 2.37 +++ rpm/lib/poptALL.c 24 Jul 2007 14:36:47 - 2.38 @@ -345,8 +345,6 @@ { debug, 'd', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, _debug, -1, NULL, NULL }, - { force, '\0', 0, NULL, RPMCLI_POPT_FORCE, - N_(force operation (short hand for --replacepkgs --replacefiles on installation and ignores ExcludeArch: directives on building), NULL}, #if defined(POPT_ARGFLAG_RANDOM) { rsegfault, '\0', POPT_ARG_INT|POPT_ARGFLAG_RANDOM|POPT_ARGFLAG_DOC_HIDDEN, @@ . patch -p0 '@@ .' Index: rpm/lib/poptI.c $ cvs diff -u -r2.35 -r2.36 poptI.c --- rpm/lib/poptI.c 23 Jul 2007 18:54:53 - 2.35 +++ rpm/lib/poptI.c 24 Jul 2007 14:36:47 - 2.36 @@ -190,14 +190,6
[CVS] RPM: rpm/ CHANGES build.c rpm/build/ expression.c misc.c names.c...
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: [EMAIL PROTECTED] Module: rpm Date: 16-Jul-2007 03:32:33 Branch: HEAD Handle: 2007071602322508 Modified files: rpm CHANGES build.c rpmqv.c rpm/build expression.c misc.c names.c parseBuildInstallClean.c parseChangelog.c parseDescription.c parseFiles.c parseReqs.c parseScript.c poptBT.c reqprov.c spec.c rpm/lib fs.c misc.c misc.h package.c poptALL.c poptI.c poptQV.c psm.c query.c rpmal.c rpmfc.c rpmgi.c rpminstall.c rpmlead.c rpmlib.h rpmlock.c rpmps.c rpmrollback.c rpmsx.c rpmte.c signature.c signature.h transaction.c verify.c rpm/rpmdb db3.c dbconfig.c hdrNVR.c hdrinline.h header.c header.h poptDB.c sqlite.c tagname.c rpm/tools rpmdeps.c Log: - refactor rpmio.h include out of header files. Summary: RevisionChanges Path 1.1472 +1 -0 rpm/CHANGES 2.105 +1 -0 rpm/build.c 2.30+1 -0 rpm/build/expression.c 2.22+1 -0 rpm/build/misc.c 1.32+1 -0 rpm/build/names.c 2.21+1 -0 rpm/build/parseBuildInstallClean.c 2.31+1 -0 rpm/build/parseChangelog.c 2.29+1 -0 rpm/build/parseDescription.c 2.28+1 -0 rpm/build/parseFiles.c 2.47+1 -0 rpm/build/parseReqs.c 2.48+1 -0 rpm/build/parseScript.c 2.10+1 -0 rpm/build/poptBT.c 1.69+1 -0 rpm/build/reqprov.c 2.149 +1 -0 rpm/build/spec.c 2.53+1 -0 rpm/lib/fs.c 2.140 +3 -2 rpm/lib/misc.c 2.66+3 -3 rpm/lib/misc.h 2.140 +4 -2 rpm/lib/package.c 2.33+1 -0 rpm/lib/poptALL.c 2.33+1 -0 rpm/lib/poptI.c 2.40+1 -0 rpm/lib/poptQV.c 2.207 +2 -1 rpm/lib/psm.c 2.175 +1 -0 rpm/lib/query.c 2.59+1 -0 rpm/lib/rpmal.c 1.10+1 -0 rpm/lib/rpmfc.c 2.28+1 -0 rpm/lib/rpmgi.c 1.150 +1 -0 rpm/lib/rpminstall.c 2.43+1 -0 rpm/lib/rpmlead.c 2.426 +7 -8 rpm/lib/rpmlib.h 2.13+1 -0 rpm/lib/rpmlock.c 2.11+1 -0 rpm/lib/rpmps.c 1.7 +1 -0 rpm/lib/rpmrollback.c 2.15+1 -0 rpm/lib/rpmsx.c 2.47+1 -0 rpm/lib/rpmte.c 2.168 +4 -2 rpm/lib/signature.c 2.43+6 -6 rpm/lib/signature.h 1.327 +2 -0 rpm/lib/transaction.c 2.167 +1 -0 rpm/lib/verify.c 1.68+1 -0 rpm/rpmdb/db3.c 1.41+1 -0 rpm/rpmdb/dbconfig.c 1.6 +1 -0 rpm/rpmdb/hdrNVR.c 1.9 +8 -8 rpm/rpmdb/hdrinline.h 1.52+6 -4 rpm/rpmdb/header.c 1.16+2 -3 rpm/rpmdb/header.h 1.7 +1 -0 rpm/rpmdb/poptDB.c 1.9 +1 -0 rpm/rpmdb/sqlite.c 1.5 +1 -0 rpm/rpmdb/tagname.c 1.118 +1 -0 rpm/rpmqv.c 2.10+1 -0 rpm/tools/rpmdeps.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.1471 -r1.1472 CHANGES --- rpm/CHANGES 16 Jul 2007 00:15:20 - 1.1471 +++ rpm/CHANGES 16 Jul 2007 01:32:25 - 1.1472 @@ -1,4 +1,5 @@ 4.5 - 5.0: +- jbj: refactor rpmio.h include out of header files. - jbj: patch macro seems sufficiently functional, delete the old stuff. - jbj: add stub vectors for rpmio I/O API. - jbj: drop support for internal lua. @@ . patch -p0 '@@ .' Index: rpm/build.c $ cvs diff -u -r2.104 -r2.105 build.c --- rpm/build.c 25 May 2007 17:35:52 - 2.104 +++ rpm/build.c 16 Jul 2007 01:32:25 - 2.105 @@ -4,6 +4,7 @@ #include system.h +#include rpmio.h #include rpmcli.h #include rpmbuild.h @@ . patch -p0 '@@ .' Index: rpm/build/expression.c $ cvs diff -u -r2.29 -r2.30 expression.c --- rpm/build/expression.c25 May 2007 17:35:56 - 2.29 +++