rpm/missingok.diff
2010-03-26 10:56:28 +00:00

29 lines
904 B
Diff

--- ./lib/depends.c.orig 2009-12-07 14:36:49.000000000 +0000
+++ ./lib/depends.c 2010-03-24 16:47:28.000000000 +0000
@@ -450,8 +450,13 @@ retry:
}
unsatisfied:
- rc = 1; /* dependency is unsatisfied */
- rpmdsNotify(dep, NULL, rc);
+ if (rpmdsFlags(dep) & RPMSENSE_MISSINGOK) {
+ rc = 0; /* dependency is unsatisfied, but just a hint. */
+ rpmdsNotify(dep, _("(hint skipped)"), rc);
+ } else {
+ rc = 1; /* dependency is unsatisfied */
+ rpmdsNotify(dep, NULL, rc);
+ }
exit:
if (cacheThis) {
--- ./lib/rpmds.h.orig 2009-12-07 14:36:49.000000000 +0000
+++ ./lib/rpmds.h 2010-03-24 16:47:28.000000000 +0000
@@ -73,6 +73,7 @@ typedef enum rpmsenseFlags_e {
RPMSENSE_SCRIPT_POSTUN | \
RPMSENSE_SCRIPT_VERIFY | \
RPMSENSE_FIND_REQUIRES | \
+ RPMSENSE_MISSINGOK | \
RPMSENSE_SCRIPT_PREP | \
RPMSENSE_SCRIPT_BUILD | \
RPMSENSE_SCRIPT_INSTALL | \