aboutsummaryrefslogtreecommitdiffstats
path: root/xs1.xs
diff options
context:
space:
mode:
Diffstat (limited to 'xs1.xs')
-rw-r--r--xs1.xs61
1 files changed, 0 insertions, 61 deletions
diff --git a/xs1.xs b/xs1.xs
deleted file mode 100644
index 0f012fd..0000000
--- a/xs1.xs
+++ /dev/null
@@ -1,61 +0,0 @@
-static void
-update_provides(const URPM__Package pkg, HV *provides) {
- if (pkg->h) {
- int len;
- struct rpmtd_s td, td_flags;
- unsigned int i;
-
- /* examine requires for files which need to be marked in provides */
- if (headerGet(pkg->h, RPMTAG_REQUIRENAME, &td, HEADERGET_DEFAULT)) {
- for (i = 0; i < rpmtdCount(&td); ++i) {
- const char *s = rpmtdNextString(&td);
- len = strlen(s);
- if (s[0] == '/') (void)hv_fetch(provides, s, len, 1);
- }
- }
-
- /* update all provides */
- if (headerGet(pkg->h, RPMTAG_PROVIDENAME, &td, HEADERGET_DEFAULT)) {
- char **list = td.data;
- rpmsenseFlags *flags = NULL;
- if (headerGet(pkg->h, RPMTAG_PROVIDEFLAGS, &td_flags, HEADERGET_DEFAULT))
- flags = td_flags.data;
- for (i = 0; i < rpmtdCount(&td); ++i) {
- len = strlen(list[i]);
- if (!strncmp(list[i], "rpmlib(", 7)) continue;
- update_hash_entry(provides, list[i], len, 1, flags && flags[i] & (RPMSENSE_PREREQ|RPMSENSE_SCRIPT_PREUN|RPMSENSE_SCRIPT_PRE|RPMSENSE_SCRIPT_POSTUN|RPMSENSE_SCRIPT_POST|RPMSENSE_LESS|RPMSENSE_EQUAL|RPMSENSE_GREATER),
- pkg);
- }
- }
- } else {
- char *ps, *s, *es;
-
- if ((s = pkg->requires) != NULL && *s != 0) {
- ps = strchr(s, '@');
- /* examine requires for files which need to be marked in provides */
- while(ps != NULL) {
- if (s[0] == '/') {
- *ps = 0; es = strchr(s, '['); if (!es) es = strchr(s, ' '); *ps = '@';
- (void)hv_fetch(provides, s, es != NULL ? es-s : ps-s, 1);
- }
- s = ps + 1; ps = strchr(s, '@');
- }
- if (s[0] == '/') {
- es = strchr(s, '['); if (!es) es = strchr(s, ' ');
- (void)hv_fetch(provides, s, es != NULL ? (U32)(es-s) : strlen(s), 1);
- }
- }
-
- /* update all provides */
- if ((s = pkg->provides) != NULL && *s != 0) {
- ps = strchr(s, '@');
- while(ps != NULL) {
- *ps = 0; es = strchr(s, '['); if (!es) es = strchr(s, ' '); *ps = '@';
- update_hash_entry(provides, s, es != NULL ? es-s : ps-s, 1, es != NULL, pkg);
- s = ps + 1; ps = strchr(s, '@');
- }
- es = strchr(s, '['); if (!es) es = strchr(s, ' ');
- update_hash_entry(provides, s, es != NULL ? es-s : 0, 1, es != NULL, pkg);
- }
- }
-