diff -r 890a49fb2c71 -r ea743486ba6f librazor/transaction.c --- a/librazor/transaction.c Thu Jan 08 15:22:34 2009 +0000 +++ b/librazor/transaction.c Wed Jun 03 08:26:09 2009 +0100 @@ -463,14 +463,25 @@ struct razor_property *p; const char *pool; int i, count; + char *sub; count = ts->set->properties.size / sizeof *p; p = ts->set->properties.data; pool = ts->set->string_pool.data; for (i = 0; i < count; i++) { ts->properties[i] &= ~TRANS_PROPERTY_SATISFIED; - if (strncmp(&pool[p[i].name], "rpmlib(", 7) == 0) - ts->properties[i] |= TRANS_PROPERTY_SATISFIED; + sub = strchr(&pool[p[i].name], '('); + if (sub && sub[strlen(sub) - 1] == ')') { + sub = strdup(sub + 1); + sub[strlen(sub) - 1] = '\0'; + if (strncmp(&pool[p[i].name], "rpmlib(", 7) == 0) + ts->properties[i] |= TRANS_PROPERTY_SATISFIED; + if (strncmp(&pool[p[i].name], "lua(", 4) == 0 && + razor_get_lua_loader(sub) && + p[i].flags & RAZOR_PROPERTY_SCRIPT_MASK) + ts->properties[i] |= TRANS_PROPERTY_SATISFIED; + free(sub); + } } }