RPM Package Manager, CVS Repository
http://rpm5.org/cvs/
____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson
Root: /v/rpm/cvs Email: jbj@rpm5.org
Module: rpm Date: 26-Jan-2008 22:19:49
Branch: HEAD Handle: 2008012621194800
Modified files:
rpm CHANGES
rpm/lib depends.c verify.c
Log:
- fix: no output performing verify(...) probe.
- fix: insure valid exit code for verify(...) probe.
Summary:
Revision Changes Path
1.2101 +2 -0 rpm/CHANGES
1.379 +1 -1 rpm/lib/depends.c
2.183 +17 -12 rpm/lib/verify.c
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: rpm/CHANGES
============================================================================
$ cvs diff -u -r1.2100 -r1.2101 CHANGES
--- rpm/CHANGES 26 Jan 2008 17:44:17 -0000 1.2100
+++ rpm/CHANGES 26 Jan 2008 21:19:48 -0000 1.2101
@@ -1,4 +1,6 @@
5.0.0 -> 5.1a1:
+ - jbj: fix: no output performing verify(...) probe.
+ - jbj: fix: insure valid exit code for verify(...) probe.
- jbj: add verify(N) = E:V-R runtime dependency probe. more to do ...
- jbj: stub in RPMTAG_FILESTAT and RPMTAG_STAT extensions, w-i-p.
- jbj: re-add PayloadFilesHavePrefix/CompressedFileNames w --lsb.
@@ .
patch -p0 <<'@@ .'
Index: rpm/lib/depends.c
============================================================================
$ cvs diff -u -r1.378 -r1.379 depends.c
--- rpm/lib/depends.c 26 Jan 2008 17:44:17 -0000 1.378
+++ rpm/lib/depends.c 26 Jan 2008 21:19:48 -0000 1.379
@@ -848,6 +848,7 @@
if (NSType == RPMNS_TYPE_VERIFY) {
QVA_t qva = memset(alloca(sizeof(*qva)), 0, sizeof(*qva));
+ qva->qva_mode = 'v';
qva->qva_flags = VERIFY_ALL & ~(VERIFY_DEPS|VERIFY_SCRIPT);
rc = 0; /* assume success */
if (rpmtsGetRdb(ts) != NULL) {
@@ -856,7 +857,6 @@
if (!rpmdsAnyMatchesDep(h, dep, _rpmds_nopromote))
continue;
xx = (showVerifyPackage(qva, ts, h) ? 1 : 0);
-fprintf(stderr, "==> xx %d\n", xx);
if (xx)
rc = 1;
}
@@ .
patch -p0 <<'@@ .'
Index: rpm/lib/verify.c
============================================================================
$ cvs diff -u -r2.182 -r2.183 verify.c
--- rpm/lib/verify.c 6 Dec 2007 23:32:05 -0000 2.182
+++ rpm/lib/verify.c 26 Jan 2008 21:19:48 -0000 2.183
@@ -301,6 +301,7 @@
rc = rpmVerifyFile(ts, fi, &verifyResult, omitMask);
if (rc) {
+ if (qva->qva_mode != 'v') /* XXX no output w verify(...) probe. */
if (!(fflags & (RPMFILE_MISSINGOK|RPMFILE_GHOST)) || rpmIsVerbose()) {
sprintf(te, _("missing %c %s"),
((fflags & RPMFILE_CONFIG) ? 'c' :
@@ -323,8 +324,10 @@
/*@observer@*/ static const char *const aok = ".";
/*@observer@*/ static const char *const unknown = "?";
- ec = 1;
+ if (!ec)
+ ec = (verifyResult != 0);
+ if (qva->qva_mode != 'v') { /* XXX no output w verify(...) probe. */
#define _verify(_RPMVERIFY_F, _C) \
((verifyResult & _RPMVERIFY_F) ? _C : aok)
#define _verifylink(_RPMVERIFY_F, _C) \
@@ -334,21 +337,21 @@
((verifyResult & RPMVERIFY_READFAIL) ? unknown : \
(verifyResult & _RPMVERIFY_F) ? _C : aok)
- digest = _verifyfile(RPMVERIFY_FDIGEST, "5");
- size = _verify(RPMVERIFY_FILESIZE, "S");
- link = _verifylink(RPMVERIFY_LINKTO, "L");
- mtime = _verify(RPMVERIFY_MTIME, "T");
- rdev = _verify(RPMVERIFY_RDEV, "D");
- user = _verify(RPMVERIFY_USER, "U");
- group = _verify(RPMVERIFY_GROUP, "G");
- mode = _verify(RPMVERIFY_MODE, "M");
+ digest = _verifyfile(RPMVERIFY_FDIGEST, "5");
+ size = _verify(RPMVERIFY_FILESIZE, "S");
+ link = _verifylink(RPMVERIFY_LINKTO, "L");
+ mtime = _verify(RPMVERIFY_MTIME, "T");
+ rdev = _verify(RPMVERIFY_RDEV, "D");
+ user = _verify(RPMVERIFY_USER, "U");
+ group = _verify(RPMVERIFY_GROUP, "G");
+ mode = _verify(RPMVERIFY_MODE, "M");
#undef _verifyfile
#undef _verifylink
#undef _verify
- sprintf(te, "%s%s%s%s%s%s%s%s %c %s",
- size, mode, digest, rdev, link, user, group, mtime,
+ sprintf(te, "%s%s%s%s%s%s%s%s %c %s",
+ size, mode, digest, rdev, link, user, group, mtime,
((fflags & RPMFILE_CONFIG) ? 'c' :
(fflags & RPMFILE_DOC) ? 'd' :
(fflags & RPMFILE_GHOST) ? 'g' :
@@ -356,9 +359,11 @@
(fflags & RPMFILE_PUBKEY) ? 'P' :
(fflags & RPMFILE_README) ? 'r' : ' '),
rpmfiFN(fi));
- te += strlen(te);
+ te += strlen(te);
+ }
}
+ if (qva->qva_mode != 'v') /* XXX no output w verify(...) probe. */
if (te > t) {
*te++ = '\n';
*te = '\0';
@@ .
Received on Sat Jan 26 22:19:49 2008