[CVS] RPM: rpm/rpmdb/ hdrfmt.c rpm/scripts/ wnh_filelists_mongo wnh_pr...
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Anders F. Björklund Root: /v/rpm/cvs Email: a...@rpm5.org Module: rpm Date: 14-May-2011 09:22:09 Branch: HEAD Handle: 2011051407220800 Modified files: rpm/rpmdb hdrfmt.c rpm/scripts wnh_filelists_mongo wnh_primary_mongo Log: json: separate from sql, remove dbinstance fields Summary: RevisionChanges Path 1.160 +79 -8 rpm/rpmdb/hdrfmt.c 1.6 +1 -1 rpm/scripts/wnh_filelists_mongo 1.7 +5 -5 rpm/scripts/wnh_primary_mongo patch -p0 '@@ .' Index: rpm/rpmdb/hdrfmt.c $ cvs diff -u -r1.159 -r1.160 hdrfmt.c --- rpm/rpmdb/hdrfmt.c13 May 2011 11:59:38 - 1.159 +++ rpm/rpmdb/hdrfmt.c14 May 2011 07:22:08 - 1.160 @@ -3502,7 +3502,7 @@ } /*@-compmempass -kepttrans -nullstate -usereleased @*/ -static int PRCOsqlTag(Header h, HE_t he, rpmTag EVRtag, rpmTag Ftag) +static int PRCOsqlTag(Header h, HE_t he, rpmTag EVRtag, rpmTag Ftag, int json) /*@globals internalState @*/ /*@modifies he, internalState @*/ { @@ -3536,7 +3536,10 @@ if (xx == 0) goto exit; F.ui32p = he-p.ui32p; +if (!json) xx = snprintf(instance, sizeof(instance), '%u', (unsigned)headerGetInstance(h)); +else +*instance = '\0'; nb = 0; ac = 0; for (i = 0; i c; i++) { @@ -3591,8 +3594,10 @@ continue; /*@=nullstate@*/ he-p.argv[ac++] = te; + if (*instance) { te = stpcpy(te, instance); *te++ = ',';*te++ = ' '; + } *te++ = q; te = stpcpy(te, N.argv[i]); *te++ = q; /*@-readonlytrans@*/ if (EVR.argv != NULL EVR.argv[i] != NULL *EVR.argv[i] != '\0') { @@ -3657,7 +3662,7 @@ /*@modifies he, internalState @*/ { he-tag = RPMTAG_PROVIDENAME; -return PRCOsqlTag(h, he, RPMTAG_PROVIDEVERSION, RPMTAG_PROVIDEFLAGS); +return PRCOsqlTag(h, he, RPMTAG_PROVIDEVERSION, RPMTAG_PROVIDEFLAGS, 0); } static int RsqlTag(Header h, HE_t he) @@ -3665,7 +3670,7 @@ /*@modifies he, internalState @*/ { he-tag = RPMTAG_REQUIRENAME; -return PRCOsqlTag(h, he, RPMTAG_REQUIREVERSION, RPMTAG_REQUIREFLAGS); +return PRCOsqlTag(h, he, RPMTAG_REQUIREVERSION, RPMTAG_REQUIREFLAGS, 0); } static int CsqlTag(Header h, HE_t he) @@ -3673,7 +3678,7 @@ /*@modifies he, internalState @*/ { he-tag = RPMTAG_CONFLICTNAME; -return PRCOsqlTag(h, he, RPMTAG_CONFLICTVERSION, RPMTAG_CONFLICTFLAGS); +return PRCOsqlTag(h, he, RPMTAG_CONFLICTVERSION, RPMTAG_CONFLICTFLAGS, 0); } static int OsqlTag(Header h, HE_t he) @@ -3681,7 +3686,39 @@ /*@modifies he, internalState @*/ { he-tag = RPMTAG_OBSOLETENAME; -return PRCOsqlTag(h, he, RPMTAG_OBSOLETEVERSION, RPMTAG_OBSOLETEFLAGS); +return PRCOsqlTag(h, he, RPMTAG_OBSOLETEVERSION, RPMTAG_OBSOLETEFLAGS, 0); +} + +static int PjsonTag(Header h, HE_t he) + /*@globals internalState @*/ + /*@modifies he, internalState @*/ +{ +he-tag = RPMTAG_PROVIDENAME; +return PRCOsqlTag(h, he, RPMTAG_PROVIDEVERSION, RPMTAG_PROVIDEFLAGS, 1); +} + +static int RjsonTag(Header h, HE_t he) + /*@globals internalState @*/ + /*@modifies he, internalState @*/ +{ +he-tag = RPMTAG_REQUIRENAME; +return PRCOsqlTag(h, he, RPMTAG_REQUIREVERSION, RPMTAG_REQUIREFLAGS, 1); +} + +static int CjsonTag(Header h, HE_t he) + /*@globals internalState @*/ + /*@modifies he, internalState @*/ +{ +he-tag = RPMTAG_CONFLICTNAME; +return PRCOsqlTag(h, he, RPMTAG_CONFLICTVERSION, RPMTAG_CONFLICTFLAGS, 1); +} + +static int OjsonTag(Header h, HE_t he) + /*@globals internalState @*/ + /*@modifies he, internalState @*/ +{ +he-tag = RPMTAG_OBSOLETENAME; +return PRCOsqlTag(h, he, RPMTAG_OBSOLETEVERSION, RPMTAG_OBSOLETEFLAGS, 1); } static int PRCOyamlTag(Header h, HE_t he, rpmTag EVRtag, rpmTag Ftag) @@ -3993,7 +4030,7 @@ return FDGxmlTag(h, he, 2); } -static int FDGsqlTag(Header h, HE_t he, int lvl) +static int FDGsqlTag(Header h, HE_t he, int lvl, int json) /*@globals internalState @*/ /*@modifies he, internalState @*/ { @@ -4038,7 +4075,10 @@ if (xx == 0) goto exit; FFLAGS.ui32p = he-p.ui32p; +if (!json) xx = snprintf(instance, sizeof(instance), '%u', (unsigned)headerGetInstance(h)); +else +
[CVS] RPM: rpm/rpmdb/ hdrfmt.c rpm/scripts/ yum_filelists_sqlite yum_o...
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Anders F. Björklund Root: /v/rpm/cvs Email: a...@rpm5.org Module: rpm Date: 14-May-2011 10:59:47 Branch: HEAD Handle: 2011051408594601 Modified files: rpm/rpmdb hdrfmt.c rpm/scripts yum_filelists_sqlite yum_other_sqlite yum_primary_sqlite Log: sql: don't quote dbinstance, it's an integer Summary: RevisionChanges Path 1.161 +2 -2 rpm/rpmdb/hdrfmt.c 1.3 +1 -1 rpm/scripts/yum_filelists_sqlite 1.3 +7 -5 rpm/scripts/yum_other_sqlite 1.3 +1 -1 rpm/scripts/yum_primary_sqlite patch -p0 '@@ .' Index: rpm/rpmdb/hdrfmt.c $ cvs diff -u -r1.160 -r1.161 hdrfmt.c --- rpm/rpmdb/hdrfmt.c14 May 2011 07:22:08 - 1.160 +++ rpm/rpmdb/hdrfmt.c14 May 2011 08:59:46 - 1.161 @@ -3537,7 +3537,7 @@ F.ui32p = he-p.ui32p; if (!json) -xx = snprintf(instance, sizeof(instance), '%u', (unsigned)headerGetInstance(h)); +xx = snprintf(instance, sizeof(instance), %u, (unsigned)headerGetInstance(h)); else *instance = '\0'; nb = 0; @@ -4076,7 +4076,7 @@ FFLAGS.ui32p = he-p.ui32p; if (!json) -xx = snprintf(instance, sizeof(instance), '%u', (unsigned)headerGetInstance(h)); +xx = snprintf(instance, sizeof(instance), %u, (unsigned)headerGetInstance(h)); else *instance = '\0'; nb = sizeof(*he-p.argv); @@ . patch -p0 '@@ .' Index: rpm/scripts/yum_filelists_sqlite $ cvs diff -u -r1.2 -r1.3 yum_filelists_sqlite --- rpm/scripts/yum_filelists_sqlite 25 Jan 2009 18:38:01 - 1.2 +++ rpm/scripts/yum_filelists_sqlite 14 May 2011 08:59:47 - 1.3 @@ -1,6 +1,6 @@ \ INSERT into packages values (\ -'%{DBINSTANCE}'\ +%{DBINSTANCE}\ , '%|PACKAGEDIGEST?{%{PACKAGEDIGEST}}|'\ );\ %|basenames?{[\ @@ . patch -p0 '@@ .' Index: rpm/scripts/yum_other_sqlite $ cvs diff -u -r1.2 -r1.3 yum_other_sqlite --- rpm/scripts/yum_other_sqlite 25 Jan 2009 18:38:01 - 1.2 +++ rpm/scripts/yum_other_sqlite 14 May 2011 08:59:47 - 1.3 @@ -1,16 +1,18 @@ \ INSERT into packages values (\ -'%{DBINSTANCE}'\ +%{DBINSTANCE}\ , '%|PACKAGEDIGEST?{%{PACKAGEDIGEST}}|'\ );\ -%|changelogname?{[\ +%|changelogname?{\ +\nCREATE temporary table temp (key INTEGER);\ +\nINSERT into temp values (%{DBINSTANCE});[\ \nINSERT into changelog values (\ -'XXX'\ +(SELECT key from temp)\ , '%{CHANGELOGNAME:sqlescape}'\ , '%{CHANGELOGTIME}'\ , '%{CHANGELOGTEXT:sqlescape}'\ );\ -]}:{\ -\nINSERT into changelog ('%{DBINSTANCE}', '', '', '');\ +]\nDROP table temp;}:{\ +\nINSERT into changelog (%{DBINSTANCE}, '', '', '');\ }|\ \n @@ . patch -p0 '@@ .' Index: rpm/scripts/yum_primary_sqlite $ cvs diff -u -r1.2 -r1.3 yum_primary_sqlite --- rpm/scripts/yum_primary_sqlite25 Jan 2009 18:38:01 - 1.2 +++ rpm/scripts/yum_primary_sqlite14 May 2011 08:59:47 - 1.3 @@ -1,6 +1,6 @@ \ INSERT into packages values (\ -'%{DBINSTANCE}'\ +%{DBINSTANCE}\ , '%|PACKAGEDIGEST?{%{PACKAGEDIGEST}}|'\ ,\n '%{NAME:sqlescape}'\ , '%{ARCH:sqlescape}'\ @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/rpmdb/ hdrfmt.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Anders F. Björklund Root: /v/rpm/cvs Email: a...@rpm5.org Module: rpm Date: 14-May-2011 11:30:02 Branch: HEAD Handle: 2011051409300100 Modified files: rpm/rpmdb hdrfmt.c Log: sql: pkgkey/dbinstance is supposed to be last (in prco/files, not changelog/filelist) Summary: RevisionChanges Path 1.163 +19 -10 rpm/rpmdb/hdrfmt.c patch -p0 '@@ .' Index: rpm/rpmdb/hdrfmt.c $ cvs diff -u -r1.162 -r1.163 hdrfmt.c --- rpm/rpmdb/hdrfmt.c14 May 2011 09:12:21 - 1.162 +++ rpm/rpmdb/hdrfmt.c14 May 2011 09:30:01 - 1.163 @@ -3590,10 +3590,6 @@ continue; /*@=nullstate@*/ he-p.argv[ac++] = te; - if (*instance) { - te = stpcpy(te, instance); - *te++ = ',';*te++ = ' '; - } *te++ = q; te = stpcpy(te, N.argv[i]); *te++ = q; /*@-readonlytrans@*/ if (EVR.argv != NULL EVR.argv[i] != NULL *EVR.argv[i] != '\0') { @@ -3632,6 +3628,10 @@ *te++ = q; *te++ = q; } /*@=readonlytrans@*/ + if (*instance) { + *te++ = ',';*te++ = ' '; + te = stpcpy(te, instance); + } if (!json) { if (tag == RPMTAG_REQUIRENAME) te = stpcpy(stpcpy(stpcpy(te, , '),(F.ui32p[i] 0x40) ? 1 : 0), '); @@ -4111,11 +4111,14 @@ if (S_ISDIR(FMODES.ui16p[i])) continue; he-p.argv[ac++] = t; - if (*instance) - t = stpcpy( stpcpy(t, instance), , '); + if (*instance lvl == 2) + t = stpcpy( stpcpy(t, instance), , ); + *t++ = '\''; t = strcpy(t, DN.argv[DI.ui32p[i]]);t += strlen(t); t = strcpy(t, BN.argv[i]); t += strlen(t); t = stpcpy(t, ', 'file'); + if (*instance lvl == 1) + t = stpcpy( stpcpy(t, , ), instance); *t++ = '\0'; } for (i = 0; i c; i++) { @@ -4126,8 +4129,9 @@ if (!S_ISDIR(FMODES.ui16p[i])) continue; he-p.argv[ac++] = t; - if (*instance) - t = stpcpy( stpcpy(t, instance), , '); + if (*instance lvl == 2) + t = stpcpy( stpcpy(t, instance), , ); + *t++ = '\''; t = strcpy(t, DN.argv[DI.ui32p[i]]);t += strlen(t); t = strcpy(t, BN.argv[i]); t += strlen(t); #ifdef NOTYET @@ -4136,6 +4140,8 @@ t = stpcpy(t, /); #endif t = stpcpy(t, ', 'dir'); + if (*instance lvl == 1) + t = stpcpy( stpcpy(t, , ), instance); *t++ = '\0'; } for (i = 0; i c; i++) { @@ -4144,11 +4150,14 @@ if (!(FFLAGS.ui32p[i] 0x40)) /* XXX RPMFILE_GHOST */ continue; he-p.argv[ac++] = t; - if (*instance) - t = stpcpy( stpcpy(t, instance), , '); + if (*instance lvl == 2) + t = stpcpy( stpcpy(t, instance), , ); + *t++ = '\''; t = strcpy(t, DN.argv[DI.ui32p[i]]);t += strlen(t); t = strcpy(t, BN.argv[i]); t += strlen(t); t = stpcpy(t, ', 'ghost'); + if (*instance lvl == 1) + t = stpcpy( stpcpy(t, , ), instance); *t++ = '\0'; } @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/rpmdb/ hdrfmt.c rpm/scripts/ yum_filelists_sqlite
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Anders F. Björklund Root: /v/rpm/cvs Email: a...@rpm5.org Module: rpm Date: 14-May-2011 13:23:45 Branch: HEAD Handle: 2011051411234500 Modified files: rpm/rpmdb hdrfmt.c rpm/scripts yum_filelists_sqlite Log: use dirnames not basenames for yum Summary: RevisionChanges Path 1.164 +86 -1 rpm/rpmdb/hdrfmt.c 1.4 +1 -1 rpm/scripts/yum_filelists_sqlite patch -p0 '@@ .' Index: rpm/rpmdb/hdrfmt.c $ cvs diff -u -r1.163 -r1.164 hdrfmt.c --- rpm/rpmdb/hdrfmt.c14 May 2011 09:30:01 - 1.163 +++ rpm/rpmdb/hdrfmt.c14 May 2011 11:23:45 - 1.164 @@ -4036,11 +4036,16 @@ rpmTagData FMODES = { .ptr = NULL }; rpmTagData FFLAGS = { .ptr = NULL }; char instance[64]; +char *filetypes; size_t nb; rpmuint32_t ac; rpmuint32_t c; +rpmuint32_t d; +rpmuint32_t n; rpmuint32_t i; +rpmuint32_t j; char *t; +char *f; int rc = 1; /* assume failure */ int xx; @@ -4055,6 +4060,7 @@ xx = headerGet(h, he, 0); if (xx == 0) goto exit; DN.argv = he-p.argv; +d = he-c; he-tag = RPMTAG_DIRINDEXES; xx = headerGet(h, he, 0); @@ -4077,6 +4083,7 @@ *instance = '\0'; nb = sizeof(*he-p.argv); ac = 0; +if (lvl == 1 || json) { for (i = 0; i c; i++) { if (lvl 0 FDGSkip(DN, BN, DI, i) != lvl) continue; @@ -4095,6 +4102,37 @@ } else nb += sizeof(file) - 1; } +} else if (lvl == 2 !json) { +for (j = 0; j d; j++) { +n = 0; +for (i = 0; i c; i++) { + if (DI.ui32p[i] != j) + continue; + if (lvl 0 FDGSkip(DN, BN, DI, i) != lvl) + continue; + n++; +} +if (!n) +continue; +ac++; +nb += sizeof(*he-p.argv); +nb += strlen(instance) + sizeof(, '', ''); +nb += strlen(DN.argv[j]); +n = 0; +for (i = 0; i c; i++) { + if (DI.ui32p[i] != j) + continue; + if (lvl 0 FDGSkip(DN, BN, DI, i) != lvl) + continue; + if (n) + nb++; + n++; + nb += strlen(BN.argv[i]); + nb++; +} +nb += sizeof(, '') - 1; +} +} /* lvl */ he-t = RPM_STRING_ARRAY_TYPE; he-c = ac; @@ -4102,6 +4140,7 @@ he-p.argv = xmalloc(nb); t = (char *) he-p.argv[he-c + 1]; ac = 0; +if (lvl == 1 || json) { /* FIXME: Files, then dirs, finally ghosts breaks sort order. */ for (i = 0; i c; i++) { if (lvl 0 FDGSkip(DN, BN, DI, i) != lvl) @@ -4160,6 +4199,52 @@ t = stpcpy( stpcpy(t, , ), instance); *t++ = '\0'; } +} else if (lvl == 2 !json) { +/* Dirs, with slash-joined basenames and single-letter filetypes. */ +for (j = 0; j d; j++) { +n = 0; +for (i = 0; i c; i++) { + if (DI.ui32p[i] != j) + continue; + if (lvl 0 FDGSkip(DN, BN, DI, i) != lvl) + continue; + n++; +} +if (!n) +continue; +he-p.argv[ac++] = t; +if (*instance lvl == 2) +t = stpcpy( stpcpy(t, instance), , ); +*t++ = '\''; +t = strcpy(t, DN.argv[j]); t += strlen(t); +if (t[-1] == '/') +t--; +t = stpcpy(t, ', '); +f = filetypes = xmalloc(c + 1); +n = 0; +for (i = 0; i c; i++) { + if (DI.ui32p[i] != j) + continue; + if (lvl 0 FDGSkip(DN, BN, DI, i) != lvl) + continue; + if (n) + *t++ = '/'; + n++; + t = strcpy(t, BN.argv[i]); t += strlen(t); + if (FFLAGS.ui32p[i] 0x40) /* XXX RPMFILE_GHOST */ + *f++ = 'g'; + else if (S_ISDIR(FMODES.ui16p[i])) + *f++ = 'd'; + else + *f++ = 'f'; +} +*f++ = '\0'; +t = stpcpy(stpcpy(t, ', '), filetypes); +*t++ = '\''; +filetypes = _free(filetypes); +*t++ = '\0'; +} +} /* lvl */ he-p.argv[he-c] = NULL; /*@=compmempass@*/ @@ -4192,7 +4277,7 @@ /*@globals internalState @*/ /*@modifies he, internalState @*/ { -he-tag = RPMTAG_BASENAMES; +he-tag = RPMTAG_DIRNAMES; /* use dirnames, not basenames */ return FDGsqlTag(h, he, 2, 0); } @@ . patch -p0 '@@ .' Index: rpm/scripts/yum_filelists_sqlite
[CVS] RPM: rpm/ CHANGES rpm/rpmio/ iosm.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: 14-May-2011 22:36:14 Branch: HEAD Handle: 2011051420361400 Modified files: rpm CHANGES rpm/rpmio iosm.c Log: fix assertion error when trying to install packages without required permissions. Summary: RevisionChanges Path 1.3640 +2 -0 rpm/CHANGES 1.44+2 -1 rpm/rpmio/iosm.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3639 -r1.3640 CHANGES --- rpm/CHANGES 12 May 2011 10:01:48 - 1.3639 +++ rpm/CHANGES 14 May 2011 20:36:14 - 1.3640 @@ -1,4 +1,6 @@ 5.4.0 - 5.4.1: +- proyvind: fix assertion error when trying to install packages without + required permissions. - devzero2000: begin to put the preliminary check for SUSE - afb: yaml: fix changelog entry markup - afb: hdrfmt.c: add ISO-8601 date format @@ . patch -p0 '@@ .' Index: rpm/rpmio/iosm.c $ cvs diff -u -r1.43 -r1.44 iosm.c --- rpm/rpmio/iosm.c 29 Sep 2010 14:54:30 - 1.43 +++ rpm/rpmio/iosm.c 14 May 2011 20:36:14 - 1.44 @@ -2630,7 +2630,8 @@ rc = IOSMERR_OPEN_FAILED; } #if defined(POSIX_FADV_DONTNEED) - (void) Fadvise(iosm-wfd, 0, 0, POSIX_FADV_DONTNEED); + else + (void) Fadvise(iosm-wfd, 0, 0, POSIX_FADV_DONTNEED); #endif if (iosm-debug (stage IOSM_SYSCALL)) rpmlog(RPMLOG_DEBUG, %8s (%s, \w\) wfd %p wrbuf %p\n, cur, @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm-5_3: rpm/ CHANGES rpm/rpmio/ iosm.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: 14-May-2011 22:39:12 Branch: rpm-5_3 Handle: 2011051420391101 Modified files: (Branch: rpm-5_3) rpm CHANGES rpm/rpmio iosm.c Log: fix assertion error when trying to install packages without required permissions. Summary: RevisionChanges Path 1.3296.2.231+2 -0 rpm/CHANGES 1.42.2.3+2 -1 rpm/rpmio/iosm.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3296.2.230 -r1.3296.2.231 CHANGES --- rpm/CHANGES 11 May 2011 12:53:32 - 1.3296.2.230 +++ rpm/CHANGES 14 May 2011 20:39:11 - 1.3296.2.231 @@ -1,4 +1,6 @@ 5.3.11 - 5.3.12 +- proyvind: fix assertion error when trying to install packages without + required permissions. - devzero2000: add openmamba macro to the rpm spec file - devzero2000: add openmamba macro to configure.ac so it is distributable. Also use AC_SUBSTS RPMCANONVENDOR configure variable in openmanba.in @@ . patch -p0 '@@ .' Index: rpm/rpmio/iosm.c $ cvs diff -u -r1.42.2.2 -r1.42.2.3 iosm.c --- rpm/rpmio/iosm.c 29 Sep 2010 15:33:11 - 1.42.2.2 +++ rpm/rpmio/iosm.c 14 May 2011 20:39:12 - 1.42.2.3 @@ -2630,7 +2630,8 @@ rc = IOSMERR_OPEN_FAILED; } #if defined(POSIX_FADV_DONTNEED) - (void) Fadvise(iosm-wfd, 0, 0, POSIX_FADV_DONTNEED); + else + (void) Fadvise(iosm-wfd, 0, 0, POSIX_FADV_DONTNEED); #endif if (iosm-debug (stage IOSM_SYSCALL)) rpmlog(RPMLOG_DEBUG, %8s (%s, \w\) wfd %p wrbuf %p\n, cur, @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org