headerNVR(h, &name, NULL, NULL);
-#ifdef DYING
- if (!rpmdbFindPackage(rpmdep->db, name, &matches)) {
-
- for (i = 0; i < dbiIndexSetCount(matches); i++) {
- Header h2;
- h2 = rpmdbGetRecord(rpmdep->db, dbiIndexRecordOffset(matches, i));
- if (h2 == NULL)
- continue;
- if (rpmVersionCompare(h, h2))
- removePackage(rpmdep, dbiIndexRecordOffset(matches, i), alNum);
- headerFree(h2);
- }
- }
-#else
{ rpmdbMatchIterator mi;
Header h2;
}
rpmdbFreeIterator(mi);
}
-#endif
if (headerGetEntry(h, RPMTAG_OBSOLETENAME, NULL, (void **) &obsoletes, &count)) {
const char **obsoletesEVR;
if (!strcmp(name, obsoletes[j]))
continue;
-#ifdef DYING
- if (rpmdbFindPackage(rpmdep->db, obsoletes[j], &matches))
- continue;
-
- for (i = 0; i < dbiIndexSetCount(matches); i++) {
- unsigned int recOffset = dbiIndexRecordOffset(matches, i);
- if (bsearch(&recOffset,
- rpmdep->removedPackages, rpmdep->numRemovedPackages,
- sizeof(int), intcmp))
- continue;
-
- /*
- * Rpm prior to 3.0.3 does not have versioned obsoletes.
- * If no obsoletes version info is available, match all names.
- */
- if (obsoletesEVR == NULL ||
- dbrecMatchesDepFlags(rpmdep, recOffset,
- obsoletes[j], obsoletesEVR[j], obsoletesFlags[j],
- headerMatchesDepFlags)) {
- removePackage(rpmdep, recOffset, alNum);
- }
- }
-#else
{ rpmdbMatchIterator mi;
Header h2;
}
rpmdbFreeIterator(mi);
}
-#endif
}
if (obsoletesEVR) free(obsoletesEVR);
const char * keyName, const char * keyEVR, int keyFlags,
/*@out@*/ struct availablePackage ** suggestion)
{
- dbiIndexSet matches = NULL;
+ dbiIndexSet matches = NULL; /* XXX DYING */
int rc = 0; /* assume dependency is satisfied */
int i;
if (rpmdep->db != NULL) {
if (*keyName == '/') {
/* keyFlags better be 0! */
+#ifndef DYING /* XXX more to do here */
if (!rpmdbFindByFile(rpmdep->db, keyName, &matches)) {
for (i = 0; i < dbiIndexSetCount(matches); i++) {
unsigned int recOffset = dbiIndexRecordOffset(matches, i);
goto exit;
}
}
+#else
+ { rpmdbMatchIterator mi;
+ Header h2;
+
+ mi = rpmdbInitIterator(rpmdep->db, RPMDBI_PROVIDES, keyName, 0);
+ while ((h2 = rpmdbNextIterator(mi)) != NULL) {
+ unsigned int recOffset = rpmdbGetIteratorOffset(mi);
+ if (bsearch(&recOffset,
+ rpmdep->removedPackages,
+ rpmdep->numRemovedPackages,
+ sizeof(int), intcmp))
+ continue;
+ break;
+ }
+ rpmdbFreeIterator(mi);
+ if (h2) {
+ rpmMessage(RPMMESS_DEBUG, _("%s: %s satisfied by db file lists.\n"), keyType, keyDepend);
+ goto exit;
+ }
+ }
+#endif
}
if (matches) {
dbiFreeIndexSet(matches);
matches = NULL;
}
+#ifdef DYING
if (!rpmdbFindByProvides(rpmdep->db, keyName, &matches)) {
for (i = 0; i < dbiIndexSetCount(matches); i++) {
unsigned int recOffset = dbiIndexRecordOffset(matches, i);
dbiFreeIndexSet(matches);
matches = NULL;
}
+#else
+ { rpmdbMatchIterator mi;
+ Header h2;
-#ifdef DYING
- if (!rpmdbFindPackage(rpmdep->db, keyName, &matches)) {
- for (i = 0; i < dbiIndexSetCount(matches); i++) {
- unsigned int recOffset = dbiIndexRecordOffset(matches, i);
+ mi = rpmdbInitIterator(rpmdep->db, RPMDBI_PROVIDES, keyName, 0);
+ while ((h2 = rpmdbNextIterator(mi)) != NULL) {
+ unsigned int recOffset = rpmdbGetIteratorOffset(mi);
if (bsearch(&recOffset,
rpmdep->removedPackages,
rpmdep->numRemovedPackages,
sizeof(int), intcmp))
continue;
-
- if (dbrecMatchesDepFlags(rpmdep, recOffset,
- keyName, keyEVR, keyFlags, headerMatchesDepFlags)) {
+ if (headerMatchesDepFlags(h2, keyName, keyEVR, keyFlags))
break;
- }
}
-
- if (i < dbiIndexSetCount(matches)) {
- rpmMessage(RPMMESS_DEBUG, _("%s: %s satisfied by db packages.\n"), keyType, keyDepend);
+ rpmdbFreeIterator(mi);
+ if (h2) {
+ rpmMessage(RPMMESS_DEBUG, _("%s: %s satisfied by db provides.\n"), keyType, keyDepend);
goto exit;
}
}
- if (matches) {
- dbiFreeIndexSet(matches);
- matches = NULL;
- }
-#else
+#endif
+
{ rpmdbMatchIterator mi;
Header h2;
goto exit;
}
}
-#endif
/*
* New features in rpm spec files add implicit dependencies on rpm
rc = 1; /* dependency is unsatisfied */
exit:
- if (matches) {
+ if (matches) { /* XXX DYING */
dbiFreeIndexSet(matches);
matches = NULL;
}
/* Adding: check name/provides key against each conflict match. */
/* Erasing: check name/provides/filename key against each requiredby match. */
+#ifdef DYING
static int checkPackageSet(rpmTransactionSet rpmdep, struct problemsSet * psp,
const char * key, dbiIndexSet matches)
+#else
+static int checkPackageSet(rpmTransactionSet rpmdep, struct problemsSet * psp,
+ const char * key, /*@only@*/ rpmdbMatchIterator mi)
+#endif
{
Header h;
+ int rc = 0;
+#ifdef DYING
int i;
for (i = 0; i < dbiIndexSetCount(matches); i++) {
headerFree(h);
}
+#else
+ while ((h = rpmdbNextIterator(mi)) != NULL) {
+ unsigned int recOffset = rpmdbGetIteratorOffset(mi);
+ if (bsearch(&recOffset, rpmdep->removedPackages,
+ rpmdep->numRemovedPackages, sizeof(int), intcmp))
+ continue;
- return 0;
+ if (checkPackageDeps(rpmdep, psp, h, key)) {
+ rc = 1;
+ break;
+ }
+ }
+ rpmdbFreeIterator(mi);
+#endif
+
+ return rc;
}
/* Erasing: check name/provides/filename key against requiredby matches. */
static int checkDependentPackages(rpmTransactionSet rpmdep,
struct problemsSet * psp, const char * key)
{
+#ifdef DYING
dbiIndexSet matches = NULL;
int rc = 0;
if (matches)
dbiFreeIndexSet(matches);
return rc;
+#else
+ rpmdbMatchIterator mi;
+ mi = rpmdbInitIterator(rpmdep->db, RPMDBI_REQUIREDBY, key, 0);
+ return checkPackageSet(rpmdep, psp, key, mi);
+#endif
}
/* Adding: check name/provides key against conflicts matches. */
{
int rc = 0;
- if (rpmdep->db) {
+ if (rpmdep->db) { /* XXX is this necessary? */
+#ifdef DYING
dbiIndexSet matches = NULL;
if (!rpmdbFindByConflicts(rpmdep->db, key, &matches))
rc = checkPackageSet(rpmdep, psp, key, matches);
if (matches)
dbiFreeIndexSet(matches);
+#else
+ rpmdbMatchIterator mi;
+ mi = rpmdbInitIterator(rpmdep->db, RPMDBI_CONFLICTS, key, 0);
+ rc = checkPackageSet(rpmdep, psp, key, mi);
+#endif
}
return rc;
}
scriptArg += 1;
-#ifdef DYING
- if (!rpmdbFindByHeader(db, h, &matches))
- otherOffset = dbiIndexRecordOffset(matches, 0);
- if (matches) {
- dbiFreeIndexSet(matches);
- matches = NULL;
- }
-#else
{ rpmdbMatchIterator mi;
mi = rpmdbInitIterator(db, RPMDBI_NAME, name, 0);
rpmdbSetIteratorVersion(mi, version);
}
rpmdbFreeIterator(mi);
}
-#endif
if (rootdir) {
/* this loads all of the name services libraries, in case we
return rc;
}
-#ifdef DYING
-/* 0 found matches */
-/* 1 no matches */
-/* 2 error */
-int rpmdbFindByHeader(rpmdb db, Header h, dbiIndexSet * matches)
-{
- const char * name, * version, * release;
-
- headerNVR(h, &name, &version, &release);
-
- return findMatches(db, name, version, release, matches);
-}
-#endif
-
/* 0 found matches */
/* 1 no matches */
/* 2 error */
headerNVR(h, &name, &version, &release);
-#ifdef DYING
- dbiIndexSet matches = NULL;
-
- if (!rpmdbFindByHeader(newdb, h, &matches)) {
-
- rpmError(RPMERR_INTERNAL,
- _("duplicated database entry: %s-%s-%s -- skipping."),
- name, version, release);
- skip = 1;
- }
-
- if (matches) {
- dbiFreeIndexSet(matches);
- matches = NULL;
- }
-#else
{ rpmdbMatchIterator mi;
mi = rpmdbInitIterator(newdb, RPMDBI_NAME, name, 0);
rpmdbSetIteratorVersion(mi, version);
}
rpmdbFreeIterator(mi);
}
-#endif
if (skip)
continue;
return 0;
}
+#ifdef DYING
int rpmdbFindByProvides(rpmdb db, const char * filespec, dbiIndexSet * matches) {
return dbiSearchIndex(db->_dbi[RPMDBI_PROVIDES], filespec, 0, matches);
}
int rpmdbFindByConflicts(rpmdb db, const char * filespec, dbiIndexSet * matches) {
return dbiSearchIndex(db->_dbi[RPMDBI_CONFLICTS], filespec, 0, matches);
}
-
-#ifdef DYING
-int rpmdbFindByTriggeredBy(rpmdb db, const char * filespec, dbiIndexSet * matches) {
- return dbiSearchIndex(db->_dbi[RPMDBI_TRIGGER], filespec, 0, matches);
-}
-
-int rpmdbFindByGroup(rpmdb db, const char * group, dbiIndexSet * matches) {
- return dbiSearchIndex(db->_dbi[RPMDBI_GROUP], group, 0, matches);
-}
#endif
int rpmdbFindPackage(rpmdb db, const char * name, dbiIndexSet * matches) {
*/
int rpmdbFindByFile(rpmdb db, const char * filespec,
/*@out@*/ dbiIndexSet * matches);
-#ifdef DYING
-/**
- * @param db rpm database
- */
-int rpmdbFindByGroup(rpmdb db, const char * group,
- /*@out@*/ dbiIndexSet * matches);
-#endif
/**
* @param db rpm database
*/
int rpmdbFindPackage(rpmdb db, const char * name,
/*@out@*/ dbiIndexSet * matches);
+#ifdef DYING
/**
* @param db rpm database
*/
*/
int rpmdbFindByConflicts(rpmdb db, const char * conflicts,
/*@out@*/ dbiIndexSet * matches);
-#ifdef DYING
-/**
- * @param db rpm database
- */
-int rpmdbFindByTriggeredBy(rpmdb db, const char * package,
- /*@out@*/ dbiIndexSet * matches);
#endif
/* these are just convenience functions */
*/
int rpmdbFindByLabel(rpmdb db, const char * label,
/*@out@*/ dbiIndexSet * matches);
-#ifdef DYING
-/**
- * @param db rpm database
- */
-int rpmdbFindByHeader(rpmdb db, Header h,
- /*@out@*/ dbiIndexSet * matches);
-#endif
/**
* Return number of instances of package in rpm database.
if (filespec) free(filespec);
}
-#ifdef DYING
-static int ensureOlder(rpmdb db, Header new, int dbOffset, rpmProblemSet probs,
- /*@dependent@*/ const void * key)
-#else
static int ensureOlder(rpmdb db, Header new, Header old, rpmProblemSet probs,
/*@dependent@*/ const void * key)
-#endif
{
int result, rc = 0;
-#ifdef DYING
- Header old;
- old = rpmdbGetRecord(db, dbOffset);
-#endif
if (old == NULL) return 1;
result = rpmVersionCompare(old, new);
psAppend(probs, RPMPROB_OLDPACKAGE, key, new, NULL, old, 0);
}
-#ifdef DYING
- headerFree(old);
-#endif
-
return rc;
}
int rc, ourrc = 0;
struct availablePackage * alp;
rpmProblemSet probs;
+#ifndef DYING
dbiIndexSet dbi = NULL;
+#endif
Header * hdrs;
int fileCount;
int totalFileCount = 0;
psAppend(probs, RPMPROB_BADOS, alp->key, alp->h, NULL, NULL, 0);
if (!(ignoreSet & RPMPROB_FILTER_OLDPACKAGE)) {
-#ifdef DYING
- rc = rpmdbFindPackage(ts->db, alp->name, &dbi);
- switch (rc) {
- case 2:
- if (dbi) {
- dbiFreeIndexSet(dbi);
- dbi = NULL;
- }
- return -1;
- /*@notreached@*/ break;
- case 0:
- for (i = 0; i < dbiIndexSetCount(dbi); i++)
- ensureOlder(ts->db, alp->h, dbiIndexRecordOffset(dbi, i),
- probs, alp->key);
-
- break;
- default:
- break;
- }
- if (dbi) {
- dbiFreeIndexSet(dbi);
- dbi = NULL;
- }
-#else
rpmdbMatchIterator mi;
Header oldH;
mi = rpmdbInitIterator(ts->db, RPMDBI_NAME, alp->name, 0);
while ((oldH = rpmdbNextIterator(mi)) != NULL)
ensureOlder(ts->db, alp->h, oldH, probs, alp->key);
rpmdbFreeIterator(mi);
-#endif
}
+#ifndef DYING
rc = findMatches(ts->db, alp->name, alp->version, alp->release, &dbi);
switch (rc) {
case 2:
dbiFreeIndexSet(dbi);
dbi = NULL;
}
+#else
+ if (!(ignoreSet & RPMPROB_FILTER_REPLACEPKG)) {
+ }
+#endif
if (headerGetEntry(alp->h, RPMTAG_BASENAMES, NULL, NULL,
&fileCount))
return 1;
{ Header triggeredH;
-
-#ifdef DYING
- dbiIndexSet matches = NULL;
- int i;
-
- if ((rc = rpmdbFindByTriggeredBy(db, name, &matches)) < 0) {
- rc = 1;
- goto exit;
- } else if (rc) {
- rc = 0;
- goto exit;
- }
-
- rc = 0;
- for (i = 0; i < dbiIndexSetCount(matches); i++) {
- unsigned int recOffset = dbiIndexRecordOffset(matches, i);
- if ((triggeredH = rpmdbGetRecord(db, recOffset)) == NULL) {
- rc = 1;
- break;
- }
-
- rc |= handleOneTrigger(root, db, sense, h, triggeredH, 0, numPackage,
- NULL, scriptFd);
-
- headerFree(triggeredH);
- }
-
-exit:
- if (matches) {
- dbiFreeIndexSet(matches);
- matches = NULL;
- }
-#else
rpmdbMatchIterator mi;
mi = rpmdbInitIterator(db, RPMDBI_TRIGGER, name, 0);
}
rpmdbFreeIterator(mi);
-#endif
}
return rc;
{ Header sourceH = NULL;
int i;
-#ifdef DYING
- dbiIndexSet matches = NULL;
- int j;
-
- for (i = 0; i < numTriggers; i++) {
-
- if (triggersRun[triggerIndices[i]]) continue;
-
- if (matches) {
- dbiFreeIndexSet(matches);
- matches = NULL;
- }
-
- if ((j = rpmdbFindPackage(db, triggerNames[i], &matches))) {
- if (j < 0) rc |= 1;
- continue;
- }
-
- for (j = 0; j < dbiIndexSetCount(matches); j++) {
- unsigned int recOffset = dbiIndexRecordOffset(matches, j);
- if ((sourceH = rpmdbGetRecord(db, recOffset)) == NULL) {
- rc = 1;
- goto exit;
- }
- rc |= handleOneTrigger(root, db, sense, sourceH, h,
- countCorrection, dbiIndexSetCount(matches),
- triggersRun, scriptFd);
- headerFree(sourceH);
- if (triggersRun[triggerIndices[i]]) break;
- }
- }
-
-exit:
- if (matches) {
- dbiFreeIndexSet(matches);
- matches = NULL;
- }
-#else
for (i = 0; i < numTriggers; i++) {
rpmdbMatchIterator mi;
const char * name = triggerNames[i];
rpmdbFreeIterator(mi);
}
-#endif
}
return rc;
}
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2000-04-13 05:36-0400\n"
+"POT-Creation-Date: 2000-04-13 06:27-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "dbrecMatchesDepFlags() failed to read header"
msgstr ""
-#: lib/depends.c:833
+#: lib/depends.c:794
#, c-format
msgid "%s: %s satisfied by added file list.\n"
msgstr ""
-#: lib/depends.c:872
+#: lib/depends.c:833
#, c-format
msgid "%s: %s satisfied by added package.\n"
msgstr ""
-#: lib/depends.c:889
+#: lib/depends.c:850
#, c-format
msgid "%s: %s satisfied by added provide.\n"
msgstr ""
-#: lib/depends.c:920
+#: lib/depends.c:881
#, c-format
msgid "%s: %s satisfied by rpmrc provides.\n"
msgstr ""
-#: lib/depends.c:947
+#: lib/depends.c:909 lib/depends.c:929
#, c-format
msgid "%s: %s satisfied by db file lists.\n"
msgstr ""
-#: lib/depends.c:972
+#: lib/depends.c:956 lib/depends.c:981
#, c-format
msgid "%s: %s satisfied by db provides.\n"
msgstr ""
-#: lib/depends.c:998 lib/depends.c:1023
+#: lib/depends.c:1003
#, c-format
msgid "%s: %s satisfied by db packages.\n"
msgstr ""
-#: lib/depends.c:1037
+#: lib/depends.c:1016
#, c-format
msgid "%s: %s satisfied by rpmlib version.\n"
msgstr ""
-#: lib/depends.c:1047
+#: lib/depends.c:1026
#, c-format
msgid "%s: %s unsatisfied.\n"
msgstr ""
#. requirements are not satisfied.
-#: lib/depends.c:1099
+#: lib/depends.c:1078
#, c-format
msgid "package %s require not satisfied: %s\n"
msgstr ""
#. conflicts exist.
-#: lib/depends.c:1161
+#: lib/depends.c:1140
#, c-format
msgid "package %s conflicts: %s\n"
msgstr ""
-#: lib/depends.c:1216 lib/depends.c:1511
+#: lib/depends.c:1202 lib/depends.c:1523
#, c-format
msgid "cannot read header at %d for dependency check"
msgstr ""
-#: lib/depends.c:1307
+#: lib/depends.c:1319
#, c-format
msgid "loop in prerequisite chain: %s"
msgstr ""
msgid "renaming %s to %s\n"
msgstr ""
-#: lib/install.c:562 lib/install.c:847 lib/uninstall.c:29
+#: lib/install.c:562 lib/install.c:838 lib/uninstall.c:29
#, c-format
msgid "rename of %s to %s failed: %s"
msgstr ""
msgid "package: %s-%s-%s files test = %d\n"
msgstr ""
-#: lib/install.c:777
+#: lib/install.c:768
msgid "stopping install as we're running --test\n"
msgstr ""
-#: lib/install.c:782
+#: lib/install.c:773
msgid "running preinstall script (if any)\n"
msgstr ""
-#: lib/install.c:807
+#: lib/install.c:798
#, c-format
msgid "warning: %s created as %s"
msgstr ""
-#: lib/install.c:843
+#: lib/install.c:834
#, c-format
msgid "warning: %s saved as %s"
msgstr ""
-#: lib/install.c:917
+#: lib/install.c:908
msgid "running postinstall scripts (if any)\n"
msgstr ""
msgid "record number %d in database is bad -- skipping."
msgstr ""
-#: lib/rebuilddb.c:129
-#, c-format
-msgid "duplicated database entry: %s-%s-%s -- skipping."
-msgstr ""
-
-#: lib/rebuilddb.c:157
+#: lib/rebuilddb.c:140
#, c-format
msgid "cannot add record originally at %d"
msgstr ""
-#: lib/rebuilddb.c:173
+#: lib/rebuilddb.c:156
msgid "failed to rebuild database; original database remains in place\n"
msgstr ""
-#: lib/rebuilddb.c:181
+#: lib/rebuilddb.c:164
msgid "failed to replace old database with new database!\n"
msgstr ""
-#: lib/rebuilddb.c:183
+#: lib/rebuilddb.c:166
#, c-format
msgid "replace files in %s with files from %s to recover"
msgstr ""
-#: lib/rebuilddb.c:189
+#: lib/rebuilddb.c:172
#, c-format
msgid "failed to remove directory %s: %s\n"
msgstr ""
msgstr ""
#. error
-#: lib/rpmdb.c:411
+#: lib/rpmdb.c:403
#, c-format
msgid "cannot retrieve package \"%s\" from db"
msgstr ""
-#: lib/rpmdb.c:630
+#: lib/rpmdb.c:622
#, c-format
msgid "package not found with key \"%s\" in %s"
msgstr ""
-#: lib/rpmdb.c:639
+#: lib/rpmdb.c:631
#, c-format
msgid "key \"%s\" not found in %s"
msgstr ""
-#: lib/rpmdb.c:657
+#: lib/rpmdb.c:649
#, c-format
msgid "rpmdbRemove: cannot read header at 0x%x"
msgstr ""
-#: lib/rpmdb.c:682
+#: lib/rpmdb.c:674
#, c-format
msgid "removing 0 %s entries.\n"
msgstr ""
-#: lib/rpmdb.c:688
+#: lib/rpmdb.c:680
#, c-format
msgid "removing \"%s\" from %s index.\n"
msgstr ""
-#: lib/rpmdb.c:696
+#: lib/rpmdb.c:688
#, c-format
msgid "removing %d entries in %s index:\n"
msgstr ""
-#: lib/rpmdb.c:700 lib/rpmdb.c:897
+#: lib/rpmdb.c:692 lib/rpmdb.c:889
#, c-format
msgid "\t%6d %s\n"
msgstr ""
-#: lib/rpmdb.c:835
+#: lib/rpmdb.c:827
msgid "cannot allocate new instance in database"
msgstr ""
-#: lib/rpmdb.c:874
+#: lib/rpmdb.c:866
#, c-format
msgid "adding 0 %s entries.\n"
msgstr ""
-#: lib/rpmdb.c:886
+#: lib/rpmdb.c:878
#, c-format
msgid "adding \"%s\" to %s index.\n"
msgstr ""
-#: lib/rpmdb.c:893
+#: lib/rpmdb.c:885
#, c-format
msgid "adding %d entries to %s index:\n"
msgstr ""