From 6ecf199550b728965fb77cb2770091362013d645 Mon Sep 17 00:00:00 2001 From: 19909236985 Date: Wed, 25 Nov 2020 09:19:35 +0800 Subject: [PATCH] change spec --- BSSolv.pm | 17 - BSSolv.xs | 7545 ------------------------------------------ Makefile.PL | 22 - libsolv-0.7.2.tar.gz | Bin 655694 -> 0 bytes perl-BSSolv.spec | 115 +- typemap | 3 - 6 files changed, 54 insertions(+), 7648 deletions(-) delete mode 100644 BSSolv.pm delete mode 100644 BSSolv.xs delete mode 100644 Makefile.PL delete mode 100644 libsolv-0.7.2.tar.gz delete mode 100644 typemap diff --git a/BSSolv.pm b/BSSolv.pm deleted file mode 100644 index 7a2213a..0000000 --- a/BSSolv.pm +++ /dev/null @@ -1,17 +0,0 @@ -package BSSolv; - -use strict; - -require Exporter; - -our @ISA = qw(Exporter); - -our $VERSION = '0.17'; - -require XSLoader; - -XSLoader::load('BSSolv', $VERSION); - -package BSSolv::repo; - -1; diff --git a/BSSolv.xs b/BSSolv.xs deleted file mode 100644 index 192a94b..0000000 --- a/BSSolv.xs +++ /dev/null @@ -1,7545 +0,0 @@ -/* - * Copyright (c) 2009 - 2017 SUSE Linux Products GmbH - * - * This program is free software; you can redistribute it and/or - * modify it under the same terms as Perl itself. - * - */ -#ifndef _GNU_SOURCE -#define _GNU_SOURCE -#endif - -#include "EXTERN.h" -#include "perl.h" -#include "XSUB.h" - -#define MULTI_SEMANTICS - -#include "solvversion.h" -#if LIBSOLV_VERSION < 623 -#define LIBSOLVEXT_FEATURE_DEBIAN -#define LIBSOLVEXT_FEATURE_ARCHREPO -#endif - -#include "pool.h" -#include "repo.h" -#include "util.h" -#include "evr.h" -#include "hash.h" -#include "chksum.h" -#include "testcase.h" -#include "repo_solv.h" -#include "repo_write.h" -#include "repo_rpmdb.h" -#if defined(LIBSOLVEXT_FEATURE_DEBIAN) -#include "repo_deb.h" -#endif -#if defined(LIBSOLVEXT_FEATURE_ARCHREPO) -#include "repo_arch.h" -#endif -#if defined(LIBSOLV_FEATURE_COMPLEX_DEPS) -#include "pool_parserpmrichdep.h" -#endif - -#ifndef REL_ERROR -# define REL_ERROR 27 /* for old libsolv versions */ -#endif -#ifndef REL_UNLESS -# define REL_UNLESS 29 /* for old libsolv versions */ -#endif - -#define EXPANDER_DEBUG_ALL (1 << 0) -#define EXPANDER_DEBUG_STDOUT (1 << 1) -#define EXPANDER_DEBUG_STR (1 << 2) - -#define EXPANDER_OPTION_IGNOREIGNORE (1 << 0) -#define EXPANDER_OPTION_IGNORECONFLICTS (1 << 1) -#define EXPANDER_OPTION_DORECOMMENDS (1 << 2) -#define EXPANDER_OPTION_DOSUPPLEMENTS (1 << 3) -#define EXPANDER_OPTION_USERECOMMENDSFORCHOICES (1 << 4) -#define EXPANDER_OPTION_USESUPPLEMENTSFORCHOICES (1 << 5) - -typedef struct _Expander { - Pool *pool; - - Map ignored; - Map ignoredx; - - Queue preferposq; - Map preferpos; - Map preferposx; - - Map preferneg; - Map prefernegx; - - Queue conflictsq; - Map conflicts; - - int havefileprovides; - - /* debug support */ - int debug; - char *debugstr; - int debugstrl; - int debugstrf; - - /* options */ - int ignoreconflicts; - int ignoreignore; - int userecommendsforchoices; - int usesupplementsforchoices; - int dorecommends; - int dosupplements; -} Expander; - -typedef struct _ExpanderCtx { - Pool *pool; - Expander *xp; - Queue *out; /* the result */ - Map installed; /* installed packages */ - Map conflicts; /* conflicts from installed packages */ - Queue conflictsinfo; /* source info for the above */ - int cidone; /* conflictsinfo done position */ - Queue todo; /* requires todo list */ - Queue errors; /* expansion errors */ - Queue cplxq; /* complex dep work queue */ - Queue cplxblks; /* complex dep block data, add only */ - Queue todo_cond; /* delayed requires/conflicts */ - Queue pruneq; /* multi purpose queue for pruning packages */ - Map todo_condmap; /* all neg packages in todo_cond blocks */ - Map recommended; /* recommended packages */ - int recdone; /* recommended done position */ - - /* options */ - int ignoreconflicts; - int ignoreignore; - int userecommendsforchoices; - int usesupplementsforchoices; - int dorecommends; - int dosupplements; - - /* hacks */ - Solvable *ignore_s; /* small hack: ignore requires of this solvable */ -} ExpanderCtx; - - -typedef Pool *BSSolv__pool; -typedef Repo *BSSolv__repo; -typedef Expander *BSSolv__expander; - -static Id buildservice_id; -static Id buildservice_repocookie; -static Id buildservice_external; -static Id buildservice_dodurl; -static Id expander_directdepsend; -static Id buildservice_dodcookie; -static Id buildservice_annotation; -static Id buildservice_modules; - -static int genmetaalgo; - -/* make sure bit n is usable */ -#define MAPEXP(m, n) ((m)->size < (((n) + 8) >> 3) ? map_grow(m, n + 256) : 0) - -#define REPOCOOKIE "buildservice repo 1.1" - -static int -myrepowritefilter(Repo *repo, Repokey *key, void *kfdata) -{ - int i; - if (key->name == SOLVABLE_URL) - return KEY_STORAGE_DROPPED; - if (key->name == SOLVABLE_HEADEREND) - return KEY_STORAGE_DROPPED; - if (key->name == SOLVABLE_PACKAGER) - return KEY_STORAGE_DROPPED; - if (key->name == SOLVABLE_GROUP) - return KEY_STORAGE_DROPPED; - if (key->name == SOLVABLE_LICENSE) - return KEY_STORAGE_DROPPED; - if (key->name == SOLVABLE_PKGID) - return KEY_STORAGE_INCORE; - if (key->name == SOLVABLE_CHECKSUM) - return KEY_STORAGE_INCORE; - i = repo_write_stdkeyfilter(repo, key, kfdata); - if (i == KEY_STORAGE_VERTICAL_OFFSET) - return KEY_STORAGE_DROPPED; - return i; -} - -static inline char * -hvlookupstr(HV *hv, const char *key, int keyl) -{ - SV **svp = hv_fetch(hv, key, keyl, 0); - if (!svp) - return 0; - return SvPV_nolen(*svp); -} - -static inline AV * -hvlookupav(HV *hv, const char *key, int keyl) -{ - SV *sv, **svp = hv_fetch(hv, key, keyl, 0); - if (!svp) - return 0; - sv = *svp; - if (!sv || !SvROK(sv) || SvTYPE(SvRV(sv)) != SVt_PVAV) - return 0; - return (AV *)SvRV(sv); -} - -static Id -makeevr(Pool *pool, char *e, char *v, char *r) -{ - char *s; - - if (!v) - return 0; - if (e && !strcmp(e, "0")) - e = 0; - if (e) - s = pool_tmpjoin(pool, e, ":", v); - else - s = v; - if (r) - s = pool_tmpjoin(pool, s, "-", r); - return pool_str2id(pool, s, 1); -} - -static inline char * -avlookupstr(AV *av, int n) -{ - SV **svp = av_fetch(av, n, 0); - if (!svp) - return 0; - return SvPV_nolen(*svp); -} - -static inline Id -id2name(Pool *pool, Id id) -{ - while (ISRELDEP(id)) - { - Reldep *rd = GETRELDEP(pool, id); - id = rd->name; - } - return id; -} - -static Id -dep2id_rec(Pool *pool, char *s) -{ - char *n; - Id id; - int flags; - - if ((n = strchr(s, '|')) != 0) - { - id = dep2id_rec(pool, n + 1); - *n = 0; - id = pool_rel2id(pool, dep2id_rec(pool, s), id, REL_OR, 1); - *n = '|'; - return id; - } - while (*s == ' ' || *s == '\t') - s++; - n = s; - if (pool->disttype == DISTTYPE_RPM) - { - /* rpm delimits the name by whitespace only */ - while (*s && *s != ' ' && *s != '\t') - s++; - } - else - { - while (*s && *s != ' ' && *s != '\t' && *s != '<' && *s != '=' && *s != '>') - s++; - } -#ifdef REL_MULTIARCH - if (s - n > 4 && s[-4] == ':' && !strncmp(s - 4, ":any", 4)) - { - id = pool_strn2id(pool, n, s - n - 4, 1); - id = pool_rel2id(pool, id, ARCH_ANY, REL_MULTIARCH, 1); - } - else -#endif - id = pool_strn2id(pool, n, s - n, 1); - if (!*s) - return id; - while (*s == ' ' || *s == '\t') - s++; - flags = 0; - for (;;s++) - { - if (*s == '<') - flags |= REL_LT; - else if (*s == '=') - flags |= REL_EQ; - else if (*s == '>') - flags |= REL_GT; - else - break; - } - if (!flags) - return id; - while (*s == ' ' || *s == '\t') - s++; - n = s; - while (*s && *s != ' ' && *s != '\t') - s++; - return pool_rel2id(pool, id, pool_strn2id(pool, n, s - n, 1), flags, 1); -} - -static Id -parsedep_error(Pool *pool, const char *s) -{ - Id id; - id = pool_str2id(pool, s, 1); - return pool_rel2id(pool, pool_str2id(pool, "dependency parse error", 1), id, REL_ERROR, 1); -} - -static Id -dep2id(Pool *pool, char *s) -{ - Id id; - if (pool->disttype == DISTTYPE_RPM && *s == '(') - { -#if defined(LIBSOLV_FEATURE_COMPLEX_DEPS) - id = pool_parserpmrichdep(pool, s); -#else - id = 0; -#endif - } - else - id = dep2id_rec(pool, s); - if (!id) - id = parsedep_error(pool, s); - return id; -} - -static Offset -importdeps(HV *hv, const char *key, int keyl, Repo *repo) -{ - Pool *pool = repo->pool; - SSize_t i; - AV *av = hvlookupav(hv, key, keyl); - Offset off = 0; - if (av) - { - for (i = 0; i <= av_len(av); i++) - { - char *str = avlookupstr(av, i); - if (str) - { - Id id = testcase_str2dep(pool, str); - if (!id) - id = parsedep_error(pool, str); - off = repo_addid_dep(repo, off, id, 0); - } - } - } - return off; -} - -static void -exportdeps(HV *hv, const char *key, int keyl, Repo *repo, Offset off, Id skey) -{ - Pool *pool = repo->pool; - AV *av; - Id id, *pp; - const char *str; - - if (!off || !repo->idarraydata[off]) - return; - pp = repo->idarraydata + off; - av = 0; - while ((id = *pp++)) - { - if (id == SOLVABLE_FILEMARKER) - break; - str = testcase_dep2str(pool, id); - if (skey == SOLVABLE_REQUIRES) - { - if (id == SOLVABLE_PREREQMARKER) - continue; - if (*str == 'r' && !strncmp(str, "rpmlib(", 7)) - continue; - } - if (!av) - av = newAV(); - av_push(av, newSVpv(str, 0)); - } - if (av) - (void)hv_store(hv, key, keyl, newRV_noinc((SV*)av), 0); -} - -static int -data2pkg(Repo *repo, Repodata *data, HV *hv) -{ - Pool *pool = repo->pool; - char *str; - Id p; - Solvable *s; - AV *av; - - str = hvlookupstr(hv, "name", 4); - if (!str) - return 0; /* need to have a name */ - p = repo_add_solvable(repo); - s = pool_id2solvable(pool, p); - s->name = pool_str2id(pool, str, 1); - str = hvlookupstr(hv, "arch", 4); - if (!str) - str = ""; /* dummy, need to have arch */ - s->arch = pool_str2id(pool, str, 1); - s->evr = makeevr(pool, hvlookupstr(hv, "epoch", 5), hvlookupstr(hv, "version", 7), hvlookupstr(hv, "release", 7)); - str = hvlookupstr(hv, "path", 4); - if (str) - { - char *ss = strrchr(str, '/'); - if (ss) - { - *ss = 0; - repodata_set_str(data, p, SOLVABLE_MEDIADIR, str); - *ss++ = '/'; - } - else - ss = str; - repodata_set_str(data, p, SOLVABLE_MEDIAFILE, ss); - } - str = hvlookupstr(hv, "id", 2); - if (str) - repodata_set_str(data, p, buildservice_id, str); - str = hvlookupstr(hv, "source", 6); - if (str) - repodata_set_poolstr(data, p, SOLVABLE_SOURCENAME, str); - str = hvlookupstr(hv, "hdrmd5", 6); - if (str && strlen(str) == 32) - repodata_set_checksum(data, p, SOLVABLE_PKGID, REPOKEY_TYPE_MD5, str); - s->provides = importdeps(hv, "provides", 8, repo); - s->obsoletes = importdeps(hv, "obsoletes", 9, repo); - s->conflicts = importdeps(hv, "conflicts", 9, repo); - s->requires = importdeps(hv, "requires", 8, repo); - s->recommends = importdeps(hv, "recommends", 10, repo); - s->suggests = importdeps(hv, "suggests", 8, repo); - s->supplements = importdeps(hv, "supplements", 11, repo); - s->enhances = importdeps(hv, "enhances", 8, repo); - if (!s->evr && s->provides) - { - /* look for self provides */ - Id pro, *prop = s->repo->idarraydata + s->provides; - while ((pro = *prop++) != 0) - { - Reldep *rd; - if (!ISRELDEP(pro)) - continue; - rd = GETRELDEP(pool, pro); - if (rd->name == s->name && rd->flags == REL_EQ) - s->evr = rd->evr; - } - } - if (s->evr) - s->provides = repo_addid_dep(repo, s->provides, pool_rel2id(pool, s->name, s->evr, REL_EQ, 1), 0); - str = hvlookupstr(hv, "checksum", 8); - if (str) - { - char *cp, typebuf[8]; - Id ctype; - if (*str != ':' && (cp = strchr(str, ':')) != 0 && cp - str < sizeof(typebuf)) - { - strncpy(typebuf, str, cp - str); - typebuf[cp - str] = 0; - ctype = solv_chksum_str2type(typebuf); - if (ctype) - repodata_set_checksum(data, p, SOLVABLE_CHECKSUM, ctype, cp + 1); - } - } - str = hvlookupstr(hv, "annotation", 10); - if (str && strlen(str) < 100000) - repodata_set_str(data, p, buildservice_annotation, str); - av = hvlookupav(hv, "modules", 7); - if (av) - { - SSize_t i; - for (i = 0; i <= av_len(av); i++) - { - char *str = avlookupstr(av, i); - repodata_add_idarray(data, p, buildservice_modules, pool_str2id(pool, str, 1)); - } - } - return p; -} - -static void -data2solvables(Repo *repo, Repodata *data, SV *rsv) -{ - AV *rav = 0; - SSize_t ravi = 0; - HV *rhv = 0; - SV *sv; - char *str, *key; - I32 keyl; - - if (SvTYPE(rsv) == SVt_PVAV) - rav = (AV *)rsv; - else - rhv = (HV *)rsv; - - if (rhv) - hv_iterinit(rhv); - for (;;) - { - if (rhv) - { - sv = hv_iternextsv(rhv, &key, &keyl); - if (!sv) - break; - } - else - { - SV **svp; - if (ravi > av_len(rav)) - break; - svp = av_fetch(rav, ravi++, 0); - if (!svp || !*svp) - continue; - sv = *svp; - } - if (!SvROK(sv) || SvTYPE(SvRV(sv)) != SVt_PVHV) - continue; - data2pkg(repo, data, (HV *)SvRV(sv)); - } - - /* set meta information */ - repodata_set_str(data, SOLVID_META, buildservice_repocookie, REPOCOOKIE); - str = hvlookupstr(rhv, "/url", 4); - if (str) - repodata_set_str(data, SOLVID_META, buildservice_dodurl, str); - str = hvlookupstr(rhv, "/dodcookie", 10); - if (str) - repodata_set_str(data, SOLVID_META, buildservice_dodcookie, str); -} - -static SV * -retrieve(unsigned char **srcp, STRLEN *srclp, int depth) -{ - SV *sv, *rv; - AV *av; - HV *hv; - unsigned char *src = *srcp; - STRLEN srcl = *srclp; - int type; - unsigned int i, len; - STRLEN size; - - if (depth > 10) - return 0; - if (srcl-- == 0) - return 0; - type = *src++; - switch (type) - { - case 1: - if (srcl < 4) - return 0; - size = src[0] << 24 | src[1] << 16 | src[2] << 8 | src[3]; - srcl -= 4; - src += 4; - if (srcl < size) - return 0; - sv = NEWSV(10002, size); - sv_setpvn(sv, (char *)src, size); - srcl -= size; - src += size; - break; - case 2: - if (srcl < 4) - return 0; - len = src[0] << 24 | src[1] << 16 | src[2] << 8 | src[3]; - srcl -= 4; - src += 4; - if (len > srcl) - return 0; - av = newAV(); - if (len) - av_extend(av, len); - for (i = 0; i < len; i++) - { - sv = retrieve(&src, &srcl, depth + 1); - if (!sv) - return 0; - if (av_store(av, i, sv) == 0) - return 0; - } - sv = (SV *)av; - break; - case 3: - if (srcl < 4) - return 0; - len = src[0] << 24 | src[1] << 16 | src[2] << 8 | src[3]; - srcl -= 4; - src += 4; - if (len > srcl) - return 0; - hv = newHV(); - if (len) - hv_ksplit(hv, len + 1); - for (i = 0; i < len; i++) - { - sv = retrieve(&src, &srcl, depth + 1); - if (!sv) - return 0; - if (srcl < 4) - return 0; - size = src[0] << 24 | src[1] << 16 | src[2] << 8 | src[3]; - srcl -= 4; - src += 4; - if (srcl < size) - return 0; - if (hv_store(hv, (char *)src, (U32)size, sv, 0) == 0) - return 0; - srcl -= size; - src += size; - } - sv = (SV *)hv; - break; - case 4: - rv = NEWSV(10002, 0); - sv = retrieve(&src, &srcl, depth + 1); - if (!sv) - return 0; - sv_upgrade(rv, SVt_RV); - SvRV_set(rv, sv); - SvROK_on(rv); - sv = rv; - break; - case 10: - if (srcl-- == 0) - return 0; - size = *src++; - if (srcl < size) - return 0; - sv = NEWSV(10002, size); - sv_setpvn(sv, (char *)src, size); - srcl -= size; - src += size; - break; - default: - /* fprintf(stderr, "unknown tag %d\n", type); */ - return 0; - } - *srcp = src; - *srclp = srcl; - return sv; -} - -#define CPLXDEPS_TODNF (1 << 0) - -static int -invert_depblocks(ExpanderCtx *xpctx, Queue *bq, int start, int r) -{ - int i, j, end; - if (r == 0 || r == 1) - return r ? 0 : 1; - end = bq->count; - for (i = j = start; i < end; i++) - { - if (bq->elements[i]) - { - bq->elements[i] = -bq->elements[i]; - continue; - } - /* end of block reached, reverse */ - if (i - 1 > j) - { - int k; - for (k = i - 1; j < k; j++, k--) - { - Id t = bq->elements[j]; - bq->elements[j] = bq->elements[k]; - bq->elements[k] = t; - } - } - j = i + 1; - } - return -1; -} - -static int -distribute_depblocks(ExpanderCtx *xpctx, Queue *bq, int start, int start2, int flags) -{ - int i, j, end2 = bq->count; - for (i = start; i < start2; i++) - { - for (j = start2; j < end2; j++) - { - int a, b; - int bqcnt4 = bq->count; - int k = i; - - /* distribute i block with j block, both blocks are sorted */ - while (bq->elements[k] && bq->elements[j]) - { - if (bq->elements[k] < bq->elements[j]) - queue_push(bq, bq->elements[k++]); - else - { - if (bq->elements[k] == bq->elements[j]) - k++; - queue_push(bq, bq->elements[j++]); - } - } - while (bq->elements[j]) - queue_push(bq, bq->elements[j++]); - while (bq->elements[k]) - queue_push(bq, bq->elements[k++]); - - /* block is finished, check for A + -A */ - for (a = bqcnt4, b = bq->count - 1; a < b; ) - { - if (-bq->elements[a] == bq->elements[b]) - break; - if (-bq->elements[a] > bq->elements[b]) - a++; - else - b--; - } - if (a < b) - queue_truncate(bq, bqcnt4); /* ignore this block */ - else - queue_push(bq, 0); /* finish block */ - } - /* advance to next block */ - while (bq->elements[i]) - i++; - } - queue_deleten(bq, start, end2 - start); - if (start == bq->count) - return flags & CPLXDEPS_TODNF ? 0 : 1; - return -1; -} - -#if 0 -static void -print_depblocks(ExpanderCtx *xpctx, Queue *bq, int start, int r) -{ - Pool *pool = xpctx->pool; - int i; - - if (r == 0) - { - printf("[NONE]\n"); - return; - } - if (r == 1) - { - printf("[ALL]\n"); - return; - } - for (i = start; i < bq->count; i++) - { - if (bq->elements[i] > 0) - printf(" %s", pool_solvid2str(pool, bq->elements[i])); - else if (bq->elements[i] < 0) - printf(" -%s", pool_solvid2str(pool, -bq->elements[i])); - else - printf(" ||"); - } - printf("\n"); -} -#endif - - -static int -pool_is_complex_dep_rd(Pool *pool, Reldep *rd) -{ - for (;;) - { - if (rd->flags == REL_AND || rd->flags == REL_COND || rd->flags == REL_UNLESS) /* those are the complex ones */ - return 1; - if (rd->flags != REL_OR) - return 0; - if (ISRELDEP(rd->name) && pool_is_complex_dep_rd(pool, GETRELDEP(pool, rd->name))) - return 1; - if (!ISRELDEP(rd->evr)) - return 0; - rd = GETRELDEP(pool, rd->evr); - } -} - -static inline int -pool_is_complex_dep(Pool *pool, Id dep) -{ - if (ISRELDEP(dep)) - { - Reldep *rd = GETRELDEP(pool, dep); - if (rd->flags >= 8 && pool_is_complex_dep_rd(pool, rd)) - return 1; - } - return 0; -} - -static int normalize_dep(ExpanderCtx *xpctx, Id dep, Queue *bq, int flags); - -static int -normalize_dep_or(ExpanderCtx *xpctx, Id dep1, Id dep2, Queue *bq, int flags, int invflags) -{ - int r1, r2, bqcnt2, bqcnt = bq->count; - r1 = normalize_dep(xpctx, dep1, bq, flags); - if (r1 == 1) - return 1; /* early exit */ - bqcnt2 = bq->count; - r2 = normalize_dep(xpctx, dep2, bq, flags ^ invflags); - if (invflags) - r2 = invert_depblocks(xpctx, bq, bqcnt2, r2); - if (r1 == 1 || r2 == 1) - { - queue_truncate(bq, bqcnt); - return 1; - } - if (r1 == 0) - return r2; - if (r2 == 0) - return r1; - if ((flags & CPLXDEPS_TODNF) == 0) - return distribute_depblocks(xpctx, bq, bqcnt, bqcnt2, flags); - return -1; -} - -static int -normalize_dep_and(ExpanderCtx *xpctx, Id dep1, Id dep2, Queue *bq, int flags, int invflags) -{ - int r1, r2, bqcnt2, bqcnt = bq->count; - r1 = normalize_dep(xpctx, dep1, bq, flags); - if (r1 == 0) - return 0; /* early exit */ - bqcnt2 = bq->count; - r2 = normalize_dep(xpctx, dep2, bq, flags ^ invflags); - if (invflags) - r2 = invert_depblocks(xpctx, bq, bqcnt2, r2); - if (r1 == 0 || r2 == 0) - { - queue_truncate(bq, bqcnt); - return 0; - } - if (r1 == 1) - return r2; - if (r2 == 1) - return r1; - if ((flags & CPLXDEPS_TODNF) != 0) - return distribute_depblocks(xpctx, bq, bqcnt, bqcnt2, flags); - return -1; -} - -static int -normalize_dep_if_else(ExpanderCtx *xpctx, Id dep1, Id dep2, Id dep3, Queue *bq, int flags) -{ - /* A IF (B ELSE C) -> (A OR ~B) AND (C OR B) */ - int r1, r2, bqcnt2, bqcnt = bq->count; - r1 = normalize_dep_or(xpctx, dep1, dep2, bq, flags, CPLXDEPS_TODNF); - if (r1 == 0) - return 0; /* early exit */ - bqcnt2 = bq->count; - r2 = normalize_dep_or(xpctx, dep2, dep3, bq, flags, 0); - if (r1 == 0 || r2 == 0) - { - queue_truncate(bq, bqcnt); - return 0; - } - if (r1 == 1) - return r2; - if (r2 == 1) - return r1; - if ((flags & CPLXDEPS_TODNF) != 0) - return distribute_depblocks(xpctx, bq, bqcnt, bqcnt2, flags); - return -1; -} - -static int -normalize_dep_unless_else(ExpanderCtx *xpctx, Id dep1, Id dep2, Id dep3, Queue *bq, int flags) -{ - /* A UNLESS (B ELSE C) -> (A AND ~B) OR (C AND B) */ - int r1, r2, bqcnt2, bqcnt = bq->count; - r1 = normalize_dep_and(xpctx, dep1, dep2, bq, flags, CPLXDEPS_TODNF); - if (r1 == 1) - return 1; /* early exit */ - bqcnt2 = bq->count; - r2 = normalize_dep_and(xpctx, dep2, dep3, bq, flags, 0); - if (r1 == 1 || r2 == 1) - { - queue_truncate(bq, bqcnt); - return 1; - } - if (r1 == 0) - return r2; - if (r2 == 0) - return r1; - if ((flags & CPLXDEPS_TODNF) == 0) - return distribute_depblocks(xpctx, bq, bqcnt, bqcnt2, flags); - return -1; -} - -static int expander_isignored(Expander *xp, Solvable *s, Id req); - -static int -normalize_dep(ExpanderCtx *xpctx, Id dep, Queue *bq, int flags) -{ - Pool *pool = xpctx->pool; - Id p, dp; - - if (pool_is_complex_dep(pool, dep)) - { - Reldep *rd = GETRELDEP(pool, dep); - if (rd->flags == REL_COND) - { - Id evr = rd->evr; - if (ISRELDEP(evr)) - { - Reldep *rd2 = GETRELDEP(pool, evr); - if (rd2->flags == REL_ELSE) - return normalize_dep_if_else(xpctx, rd->name, rd2->name, rd2->evr, bq, flags); - } - return normalize_dep_or(xpctx, rd->name, rd->evr, bq, flags, CPLXDEPS_TODNF); - } - if (rd->flags == REL_UNLESS) - { - Id evr = rd->evr; - if (ISRELDEP(evr)) - { - Reldep *rd2 = GETRELDEP(pool, evr); - if (rd2->flags == REL_ELSE) - return normalize_dep_unless_else(xpctx, rd->name, rd2->name, rd2->evr, bq, flags); - } - return normalize_dep_and(xpctx, rd->name, rd->evr, bq, flags, CPLXDEPS_TODNF); - } - if (rd->flags == REL_OR) - return normalize_dep_or(xpctx, rd->name, rd->evr, bq, flags, 0); - if (rd->flags == REL_AND) - return normalize_dep_and(xpctx, rd->name, rd->evr, bq, flags, 0); - } - - if (xpctx->ignore_s && (flags & CPLXDEPS_TODNF) == 0) - { - if (expander_isignored(xpctx->xp, xpctx->ignore_s, dep)) - return 1; - } - - dp = pool_whatprovides(pool, dep); - if (dp == 2) - return 1; - if (dp < 2 || !pool->whatprovidesdata[dp]) - return 0; - if (pool->whatprovidesdata[dp] == SYSTEMSOLVABLE) - return 1; - if ((flags & CPLXDEPS_TODNF) != 0) - { - while ((p = pool->whatprovidesdata[dp++]) != 0) - queue_push2(bq, p, 0); - } - else - { - while ((p = pool->whatprovidesdata[dp++]) != 0) - queue_push(bq, p); - queue_push(bq, 0); - } - return -1; -} - -#define ISCPLX(pool, d) (ISRELDEP(d) && GETRELID(d) >= pool->nrels) -#define GETCPLX(pool, d) (GETRELID(d) - pool->nrels) -#define MAKECPLX(pool, d) (MAKERELDEP(pool->nrels + d)) - -#define DEPTYPE_REQUIRES 0 -#define DEPTYPE_CONFLICTS 1 -#define DEPTYPE_OBSOLETES 2 -#define DEPTYPE_RECOMMENDS 3 -#define DEPTYPE_PROVIDES 4 - -#define ERROR_NOPROVIDER 1 -#define ERROR_CHOICE 2 -#define ERROR_CONFLICTINGPROVIDERS 3 -#define ERROR_PROVIDERINFO 4 -#define ERROR_PROVIDERINFO2 5 -#define ERROR_BADDEPENDENCY 6 -#define ERROR_CONFLICT 7 -#define ERROR_CONFLICT2 8 -#define ERROR_ALLCONFLICT 9 -#define ERROR_NOPROVIDERINFO 10 - -static void -expander_dbg(Expander *xp, const char *format, ...) -{ - va_list args; - char buf[1024]; - int l; - - if (!xp->debug) - return; - va_start(args, format); - vsnprintf(buf, sizeof(buf), format, args); - va_end(args); - l = strlen(buf); - if ((xp->debug & (EXPANDER_DEBUG_ALL | EXPANDER_DEBUG_STDOUT)) != 0) - { - printf("%s", buf); - if (buf[0] != ' ' || (l && buf[l - 1] == '\n')) - fflush(stdout); - } - if ((xp->debug & (EXPANDER_DEBUG_ALL | EXPANDER_DEBUG_STR)) != 0) - { - if (l >= xp->debugstrf) /* >= because of trailing \0 */ - { - xp->debugstr = solv_realloc(xp->debugstr, xp->debugstrl + l + 1024); - xp->debugstrf = l + 1024; - } - strcpy(xp->debugstr + xp->debugstrl, buf); - xp->debugstrl += l; - xp->debugstrf -= l; - } -} - -static void -expander_clrdbg(Expander *xp) -{ - if (xp->debugstr) - free(xp->debugstr); - xp->debugstr = 0; - xp->debugstrl = xp->debugstrf = 0; -} - -static const char * -expander_solvid2name(Expander *xp, Id p) -{ - const char *n = pool_id2str(xp->pool, xp->pool->solvables[p].name); - Repo *r; - if (!xp->debug) - return n; - r = xp->pool->solvables[p].repo; - if (!r) - return n; - return pool_tmpjoin(xp->pool, n, "@", r->name); -} - -static const char * -expander_solvid2str(Expander *xp, Id p) -{ - const char *n = pool_solvid2str(xp->pool, p); - Repo *r; - if (!xp->debug) - return n; - r = xp->pool->solvables[p].repo; - if (!r) - return n; - return pool_tmpjoin(xp->pool, n, "@", r->name); -} - -static int -pkgname_sort_cmp(const void *ap, const void *bp, void *dp) -{ - Pool *pool = (Pool *)dp; - Id a = *(Id *)ap; - Id b = *(Id *)bp; - return strcmp(pool_id2str(pool, pool->solvables[a].name), pool_id2str(pool, pool->solvables[b].name)); -} - -static int -expander_isignored(Expander *xp, Solvable *s, Id req) -{ - Pool *pool = xp->pool; - Id id = id2name(pool, req); - const char *n; - - if (!xp->ignoreignore) - { - if (MAPTST(&xp->ignored, id)) - return 1; - if (MAPTST(&xp->ignoredx, id)) - { - Id xid = pool_str2id(pool, pool_tmpjoin(pool, pool_id2str(pool, s->name), ":", pool_id2str(pool, id)), 0); - if (xid && MAPTST(&xp->ignored, xid)) - return 1; - } - } - n = pool_id2str(pool, id); - if (!strncmp(n, "rpmlib(", 7)) - { - MAPEXP(&xp->ignored, id); - MAPSET(&xp->ignored, id); - return 1; - } - if (*n == '/') - { - if (!xp->havefileprovides || pool->whatprovides[id] <= 1) - { - MAPEXP(&xp->ignored, id); - MAPSET(&xp->ignored, id); - return 1; - } - } - return 0; -} - -static int -expander_to_cplxblks(ExpanderCtx *xpctx, Id p, Id dep, int deptype, Id *ptr) -{ - int blkoff = xpctx->cplxblks.count; - queue_push(&xpctx->cplxblks, p); - queue_push(&xpctx->cplxblks, dep); - queue_push(&xpctx->cplxblks, deptype); - for (;;) - { - Id pp = *ptr++; - queue_push(&xpctx->cplxblks, pp); - if (!pp) - break; - } - return blkoff; -} - -static int -expander_check_cplxblock(ExpanderCtx *xpctx, Id p, Id dep, int deptype, Id *ptr, int blkoff) -{ - Pool *pool = xpctx->pool; - int posn = 0, posi = 0, negn = 0, negi = 0; - Id pp, *ptr2 = ptr; - Id lastcon = 0; - - while ((pp = *ptr2++) != 0) - { - if (pp > 0) - { - posn++; - if (MAPTST(&xpctx->installed, pp)) - posi++; - } - else - { - if (p == -pp) - continue; /* ignore redundant self-entry */ - negn++; - if (MAPTST(&xpctx->installed, -pp)) - negi++; - else - lastcon = -pp; - } - } -#if 0 - printf("expander_check_cplxblock pos: %d,%d neg: %d,%d\n", posn, posi, negn, negi); -#endif - if (posi) - return -1; - if (!posn && deptype == DEPTYPE_RECOMMENDS) - return -1; - if (negi == negn) - { - /* all neg installed */ - if (posn) - { - /* posn > 0 and all neg installed, add to todo */ - if (blkoff < 0) - blkoff = expander_to_cplxblks(xpctx, p, dep, deptype, ptr); -#if 0 - printf("put on todo, blkoff = %d\n", blkoff); -#endif - queue_push2(&xpctx->todo, MAKECPLX(pool, blkoff), p); - } - else - { - /* no posn, conflict */ - for (ptr2 = ptr; (pp = *ptr2++) != 0; ) - { - if (p == -pp) - continue; /* ignore redundant self-entry */ - queue_push(&xpctx->errors, ERROR_CONFLICT); - queue_push2(&xpctx->errors, p, -pp); - } - } - return -1; - } - else if (!posn && negn && negi == negn - 1) - { - /* add conflict */ -#if 0 - printf("add conflict %d %d\n", lastcon, p); -#endif - MAPEXP(&xpctx->conflicts, pool->nsolvables); - MAPSET(&xpctx->conflicts, lastcon); - if (p) - queue_push2(&xpctx->conflictsinfo, lastcon, p); /* always do this for rich deps */ - return -1; - } - else - { -#ifdef DEBUG_COND - printf("put/stay on cond queue, blkoff = %d\n", blkoff); -#endif - /* either posn > 0 and 1 neg not installed or more than 1 neg not installed */ - if (blkoff < 0) - blkoff = expander_to_cplxblks(xpctx, p, dep, deptype, ptr); - return blkoff; - } -} - -static void -expander_installed_complexdep(ExpanderCtx *xpctx, Id p, Id dep, int deptype) -{ - Queue *cplxq = &xpctx->cplxq; - int r, i, start = cplxq->count, blkoff; - -#if 0 - printf("expander_installed_complexdep %s type %d\n", pool_dep2str(xpctx->pool, dep), deptype); -#endif - if (deptype == DEPTYPE_CONFLICTS) - { - r = normalize_dep(xpctx, dep, cplxq, CPLXDEPS_TODNF); - r = invert_depblocks(xpctx, cplxq, start, r); - } - else - r = normalize_dep(xpctx, dep, cplxq, 0); -#if 0 - print_depblocks(xpctx, cplxq, start, r); -#endif - if (r == 1) - return; - if (r == 0) - { - if (deptype == DEPTYPE_CONFLICTS) - { - queue_push(&xpctx->errors, ERROR_ALLCONFLICT); - queue_push2(&xpctx->errors, dep, p); - } - else if (deptype != DEPTYPE_RECOMMENDS) - { - queue_push(&xpctx->errors, ERROR_NOPROVIDER); - queue_push2(&xpctx->errors, dep, p); - } - return; - } - while (start < cplxq->count) - { - /* find end */ - for (i = start; cplxq->elements[i] != 0; i++) - ; - blkoff = expander_check_cplxblock(xpctx, p, dep, deptype, cplxq->elements + start, -1); - if (blkoff >= 0) - { - Pool *pool = xpctx->pool; - Id p; - MAPEXP(&xpctx->todo_condmap, pool->nsolvables); - for (i = start; (p = cplxq->elements[i]) != 0; i++) - if (p < 0) - MAPSET(&xpctx->todo_condmap, -p); - queue_push(&xpctx->todo_cond, blkoff); - } - start = i + 1; - } - queue_truncate(cplxq, start); -} - -static int -expander_checkconflicts_complexdep(ExpanderCtx *xpctx, Id p, Id dep, int deptype, int recorderrors) -{ - Queue *cplxq = &xpctx->cplxq; - int r, i, start = cplxq->count; - Id pp; - int ret = 0; - -#if 0 - printf("expander_checkconflicts_complexdep %s type %d\n", pool_dep2str(xpctx->pool, dep), deptype); -#endif - if (deptype == DEPTYPE_CONFLICTS) - { - r = normalize_dep(xpctx, dep, cplxq, CPLXDEPS_TODNF); - r = invert_depblocks(xpctx, cplxq, start, r); - } - else - r = normalize_dep(xpctx, dep, cplxq, 0); -#if 0 - print_depblocks(xpctx, cplxq, start, r); -#endif - /* r == 0: conflict with everything. Ignore here, pick error up when package gets installed */ - if (r == 0 || r == 1) - return 0; - while (start < cplxq->count) - { - for (i = start; (pp = cplxq->elements[i]) != 0; i++) - if (pp > 0 || (pp < 0 && !MAPTST(&xpctx->installed, -pp))) - break; - if (pp == 0) - { - /* no pos and all neg installed -> conflict */ - for (i = start; (pp = cplxq->elements[i]) != 0; i++) - { - pp = -cplxq->elements[i]; - if (recorderrors) - { - queue_push(&xpctx->errors, recorderrors == 2 ? ERROR_CONFLICT : ERROR_PROVIDERINFO); - queue_push2(&xpctx->errors, p, pp); - } - else if (xpctx->xp->debug) - { - Pool *pool = xpctx->pool; - expander_dbg(xpctx->xp, "ignoring provider %s because it conflicts with installed %s\n", pool_solvid2str(pool, p), pool_solvid2str(pool, pp)); - } - ret = ret ? 1 : pp; - } - } - for (; cplxq->elements[i] != 0; i++) - ; - start = i + 1; - } - queue_truncate(cplxq, start); - return ret; -} - -static void -updateconflictsinfo(ExpanderCtx *xpctx) -{ - int i; - Pool *pool = xpctx->pool; - Queue *out = xpctx->out; - Queue *conflictsinfo = &xpctx->conflictsinfo; - - if (xpctx->ignoreconflicts) - return; - for (i = xpctx->cidone; i < out->count; i++) - { - Id p, p2, pp2; - Id con, *conp; - Solvable *s; - p = out->elements[i]; - s = pool->solvables + p; - /* keep in sync with expander_installed! */ - if (s->conflicts) - { - conp = s->repo->idarraydata + s->conflicts; - while ((con = *conp++) != 0) - { - if (pool_is_complex_dep(pool, con)) - continue; /* already pushed */ - FOR_PROVIDES(p2, pp2, con) - { - if (p2 == p) - continue; - queue_push2(conflictsinfo, p2, p); - } - } - } - if (s->obsoletes) - { - conp = s->repo->idarraydata + s->obsoletes; - while ((con = *conp++) != 0) - { - FOR_PROVIDES(p2, pp2, con) - { - if (p2 == p || !pool_match_nevr(pool, pool->solvables + p2, con)) - continue; - queue_push2(conflictsinfo, p2, -p); - } - } - } - } - xpctx->cidone = out->count; -} - -static int -findconflictsinfo(ExpanderCtx *xpctx, Id p, int recorderrors) -{ - Queue *conflictsinfo = &xpctx->conflictsinfo; - int i, ret = 0; - - if (xpctx->cidone < xpctx->out->count) - updateconflictsinfo(xpctx); - - for (i = 0; i < conflictsinfo->count; i++) - if (conflictsinfo->elements[i] == p) - { - ret = conflictsinfo->elements[i + 1]; - if (recorderrors) - { - queue_push(&xpctx->errors, recorderrors == 2 ? ERROR_CONFLICT2 : ERROR_PROVIDERINFO2); - queue_push2(&xpctx->errors, p, ret); - } - else if (xpctx->xp->debug) - { - Pool *pool = xpctx->pool; - expander_dbg(xpctx->xp, "ignoring provider %s because installed %s %s it\n", pool_solvid2str(pool, p), pool_solvid2str(pool, ret > 0 ? ret : -ret), ret > 0 ? "conflicts with" : "obsoletes"); - } - } - if (!ret) - { - /* conflict from our job, i.e. a !xxx dep */ - if (recorderrors) - { - queue_push(&xpctx->errors, recorderrors == 2 ? ERROR_CONFLICT2 : ERROR_PROVIDERINFO2); - queue_push2(&xpctx->errors, p, 0); - } - else if (xpctx->xp->debug) - { - Pool *pool = xpctx->pool; - expander_dbg(xpctx->xp, "ignoring conflicted provider %s\n", pool_solvid2str(pool, p)); - } - } - return ret; -} - - -static void -recheck_conddeps(ExpanderCtx *xpctx) -{ - int i; - for (i = 0; i < xpctx->todo_cond.count; i++) - { - int blkoff = xpctx->todo_cond.elements[i]; -#ifdef DEBUG_COND - printf("todo_cond %d\n", blkoff); -#endif - Id *ptr = xpctx->cplxblks.elements + blkoff; - if (expander_check_cplxblock(xpctx, ptr[0], ptr[1], ptr[2], ptr + 3, blkoff) < 0) - { -#ifdef DEBUG_COND - printf("remove no longer needed cond entry\n"); -#endif - queue_delete(&xpctx->todo_cond, i); - i--; - } - } -} - -/* install a single package */ -static void -expander_installed(ExpanderCtx *xpctx, Id p) -{ - Pool *pool = xpctx->pool; - Expander *xp = xpctx->xp; - Solvable *s = pool->solvables + p; - Id req, *reqp, con, *conp; - -#if 0 -printf("expander_installed %s\n", pool_solvid2str(pool, p)); -#endif - MAPSET(&xpctx->installed, p); - queue_push(xpctx->out, p); - - if (xpctx->conflicts.size && MAPTST(&xpctx->conflicts, p)) - findconflictsinfo(xpctx, p, 2); - - /* add synthetic conflicts from the project config */ - if (MAPTST(&xp->conflicts, s->name)) - { - int i; - for (i = 0; i < xp->conflictsq.count; i++) - { - Id p2, pp2; - Id id = xp->conflictsq.elements[i]; - if (id != s->name) - continue; - id = xp->conflictsq.elements[i ^ 1]; - FOR_PROVIDES(p2, pp2, id) - { - if (pool->solvables[p2].name != id) - continue; - if (MAPTST(&xpctx->installed, p2)) - { - queue_push(&xpctx->errors, ERROR_CONFLICT); - queue_push2(&xpctx->errors, p, p2); - continue; - } - MAPEXP(&xpctx->conflicts, pool->nsolvables); - MAPSET(&xpctx->conflicts, p2); - queue_push2(&xpctx->conflictsinfo, p2, p); - } - } - } - - if (s->requires) - { - reqp = s->repo->idarraydata + s->requires; - while ((req = *reqp++) != 0) - { - if (req == SOLVABLE_PREREQMARKER) - continue; - if (ISRELDEP(req) && GETRELDEP(pool, req)->flags == REL_ERROR) - { - queue_push(&xpctx->errors, ERROR_BADDEPENDENCY); - queue_push2(&xpctx->errors, GETRELDEP(pool, req)->evr, p); - continue; - } - if (pool_is_complex_dep(pool, req)) - { - xpctx->ignore_s = s; - expander_installed_complexdep(xpctx, p, req, DEPTYPE_REQUIRES); - xpctx->ignore_s = 0; - continue; - } - if (expander_isignored(xp, s, req)) - continue; - queue_push2(&xpctx->todo, req, p); - } - } - if (!xpctx->ignoreconflicts) - { - if (s->conflicts) - { - conp = s->repo->idarraydata + s->conflicts; - while ((con = *conp++) != 0) - { - Id p2, pp2; - if (ISRELDEP(con) && GETRELDEP(pool, con)->flags == REL_ERROR) - { - queue_push(&xpctx->errors, ERROR_BADDEPENDENCY); - queue_push2(&xpctx->errors, GETRELDEP(pool, con)->evr, p); - continue; - } - if (pool_is_complex_dep(pool, con)) - { - expander_installed_complexdep(xpctx, p, con, DEPTYPE_CONFLICTS); - continue; - } - FOR_PROVIDES(p2, pp2, con) - { - if (p2 == p) - continue; - if (MAPTST(&xpctx->installed, p2)) - { - queue_push(&xpctx->errors, ERROR_CONFLICT); - queue_push2(&xpctx->errors, p, p2); - continue; - } - MAPEXP(&xpctx->conflicts, pool->nsolvables); - MAPSET(&xpctx->conflicts, p2); - if (xp->debug) - queue_push2(&xpctx->conflictsinfo, p2, p); - } - } - } - if (s->obsoletes) - { - conp = s->repo->idarraydata + s->obsoletes; - while ((con = *conp++) != 0) - { - Id p2, pp2; - FOR_PROVIDES(p2, pp2, con) - { - if (p2 == p || !pool_match_nevr(pool, pool->solvables + p2, con)) - continue; - if (MAPTST(&xpctx->installed, p2)) - { - queue_push(&xpctx->errors, ERROR_CONFLICT); - queue_push2(&xpctx->errors, p, -p2); - continue; - } - MAPEXP(&xpctx->conflicts, pool->nsolvables); - MAPSET(&xpctx->conflicts, p2); - if (xp->debug) - queue_push2(&xpctx->conflictsinfo, p2, -p); - } - } - } - if (xp->debug) - xpctx->cidone = xpctx->out->count; - } - if (xpctx->todo_condmap.size && MAPTST(&xpctx->todo_condmap, p)) - recheck_conddeps(xpctx); -} - -/* same as expander_installed, but install multiple packages - * in one block */ -static void -expander_installed_multiple(ExpanderCtx *xpctx, Queue *toinstall) -{ - int i, j, havecond = 0; - - /* unify */ - for (i = j = 0; i < toinstall->count; i++) - { - Id p = toinstall->elements[i]; - if (MAPTST(&xpctx->installed, p)) - continue; /* already seen */ - MAPSET(&xpctx->installed, p); - toinstall->elements[j++] = p; - if (xpctx->todo_condmap.size && MAPTST(&xpctx->todo_condmap, p)) - { - havecond = 1; - MAPCLR(&xpctx->todo_condmap, p); /* no longer needed */ - } - } - queue_truncate(toinstall, j); - - /* run conditionals first */ - if (havecond) - recheck_conddeps(xpctx); - - if (!xpctx->errors.count) - for (i = 0; i < toinstall->count; i++) - expander_installed(xpctx, toinstall->elements[i]); - queue_empty(toinstall); -} - -static int -expander_checkconflicts(ExpanderCtx *xpctx, Id p, Id *conflicts, int isobsoletes, int recorderrors) -{ - Map *installed = &xpctx->installed; - Pool *pool = xpctx->pool; - Id con, p2, pp2; - int ret = 0; - - if (xpctx->ignoreconflicts) - return 0; - while ((con = *conflicts++) != 0) - { - if (!isobsoletes && pool_is_complex_dep(pool, con)) - { - p2 = expander_checkconflicts_complexdep(xpctx, p, con, DEPTYPE_CONFLICTS, recorderrors); - ret = ret ? 1 : p2; - continue; - } - FOR_PROVIDES(p2, pp2, con) - { - if (p == p2) - continue; - if (isobsoletes && !pool_match_nevr(pool, pool->solvables + p2, con)) - continue; - if (MAPTST(installed, p2)) - { - if (recorderrors) - { - queue_push(&xpctx->errors, recorderrors == 2 ? ERROR_CONFLICT : ERROR_PROVIDERINFO); - queue_push2(&xpctx->errors, p, isobsoletes ? -p2 : p2); - } - else if (xpctx->xp->debug) - { - if (isobsoletes) - expander_dbg(xpctx->xp, "ignoring provider %s because it obsoletes installed %s\n", pool_solvid2str(pool, p), pool_solvid2str(pool, p2)); - else - expander_dbg(xpctx->xp, "ignoring provider %s because it conflicts with installed %s\n", pool_solvid2str(pool, p), pool_solvid2str(pool, p2)); - } - ret = ret ? 1 : p2; - } - } - } - return ret; -} - -static void -expander_updaterecommendedmap(ExpanderCtx *xpctx) -{ - Pool *pool = xpctx->pool; - Queue *out = xpctx->out; - Map *recommended = &xpctx->recommended; - - int i; - Id p, pp, rec, *recp; - for (i = xpctx->recdone; i < out->count; i++) - { - Solvable *s; - s = pool->solvables + out->elements[i]; - if (s->recommends) - { - MAPEXP(recommended, pool->nsolvables); - for (recp = s->repo->idarraydata + s->recommends; (rec = *recp++) != 0; ) - FOR_PROVIDES(p, pp, rec) - MAPSET(recommended, p); - } - } - xpctx->recdone = out->count; -} - -static int -expander_dep_fulfilled(ExpanderCtx *xpctx, Id dep) -{ - Pool *pool = xpctx->pool; - Id p, pp; - - if (ISRELDEP(dep)) - { - Reldep *rd = GETRELDEP(pool, dep); - if (rd->flags == REL_COND) - { - if (ISRELDEP(rd->evr)) - { - Reldep *rd2 = GETRELDEP(pool, rd->evr); - if (rd2->flags == REL_ELSE) - { - if (expander_dep_fulfilled(xpctx, rd2->name)) - return expander_dep_fulfilled(xpctx, rd->name); - return expander_dep_fulfilled(xpctx, rd2->evr); - } - } - if (expander_dep_fulfilled(xpctx, rd->name)) /* A OR ~B */ - return 1; - return !expander_dep_fulfilled(xpctx, rd->evr); - } - if (rd->flags == REL_UNLESS) - { - if (ISRELDEP(rd->evr)) - { - Reldep *rd2 = GETRELDEP(pool, rd->evr); - if (rd2->flags == REL_ELSE) - { - if (!expander_dep_fulfilled(xpctx, rd2->name)) - return expander_dep_fulfilled(xpctx, rd->name); - return expander_dep_fulfilled(xpctx, rd2->evr); - } - } - if (!expander_dep_fulfilled(xpctx, rd->name)) /* A AND ~B */ - return 0; - return !expander_dep_fulfilled(xpctx, rd->evr); - } - if (rd->flags == REL_AND) - { - if (!expander_dep_fulfilled(xpctx, rd->name)) - return 0; - return expander_dep_fulfilled(xpctx, rd->evr); - } - if (rd->flags == REL_OR) - { - if (expander_dep_fulfilled(xpctx, rd->name)) - return 1; - return expander_dep_fulfilled(xpctx, rd->evr); - } - } - FOR_PROVIDES(p, pp, dep) - { - if (MAPTST(&xpctx->installed, p)) - return 1; - } - return 0; -} - -static int -prune_neg_prefers(ExpanderCtx *xpctx, Id who, Id *e, int n) -{ - Expander *xp = xpctx->xp; - Pool *pool = xpctx->pool; - Id whon = who ? pool->solvables[who].name : 0; - int i, j; - for (i = j = 0; i < n; i++) - { - Id p = e[i]; - Id pn = pool->solvables[p].name; - if (MAPTST(&xp->preferneg, pn)) - continue; - if (who && MAPTST(&xp->prefernegx, pn)) - { - Id xid = pool_str2id(pool, pool_tmpjoin(pool, pool_id2str(pool, whon), ":", pool_id2str(pool, pn)), 0); - if (xid && MAPTST(&xp->preferneg, xid)) - continue; - } - e[j++] = p; - } - return j ? j : n; -} - -static int -prune_pos_prefers(ExpanderCtx *xpctx, Id who, Id *e, int n, int domulti) -{ - Expander *xp = xpctx->xp; - Queue *pruneq = &xpctx->pruneq; - Pool *pool = xpctx->pool; - Id whon = who ? pool->solvables[who].name : 0; - int i, j; - - if (pruneq->count) - queue_empty(pruneq); - for (i = j = 0; i < n; i++) - { - Id p = e[i]; - Id pn = pool->solvables[p].name; - if (MAPTST(&xp->preferpos, pn)) - queue_push2(pruneq, pn, p); - else if (who && MAPTST(&xp->preferposx, pn)) - { - Id xid = pool_str2id(pool, pool_tmpjoin(pool, pool_id2str(pool, whon), ":", pool_id2str(pool, pn)), 0); - if (xid && MAPTST(&xp->preferpos, xid)) - queue_push2(pruneq, xid, p); - } - } - if (!pruneq->count) - return n; - if (pruneq->count > 2) - { - if (!domulti) - return n; - /* pos prefers are ordered, the first one wins */ - for (i = 0; i < xp->preferposq.count; i++) - { - Id xid = xp->preferposq.elements[i]; - for (j = 0; j < pruneq->count; j += 2) - if (pruneq->elements[j] == xid) - { - e[0] = pruneq->elements[j + 1]; - return 1; - } - } - } - e[0] = pruneq->elements[1]; /* simple case, just one prefer */ - return 1; -} - -static int -prune_or_dep(ExpanderCtx *xpctx, Id dep, Id *e, int n) -{ - Pool *pool = xpctx->pool; - int i, j; - Id p, pp; - - for (;;) - { - Reldep *rd = 0; - if (ISRELDEP(dep)) - { - rd = GETRELDEP(pool, dep); - if (rd->flags != REL_OR) - rd = 0; - } - if (rd) - dep = rd->name; - i = j = 0; - /* both sets are ordered */ - FOR_PROVIDES(p, pp, dep) - { - if (p < e[i]) - continue; - while (i < n && p > e[i]) - i++; - if (i == n) - break; - if (p == e[i]) - e[j++] = p; - } - if (j) - return j; - if (rd) - dep = rd->evr; - else - break; - } - return n; -} - -static int -prune_supplemented(ExpanderCtx *xpctx, Id *e, int n) -{ - Pool *pool = xpctx->pool; - int i, j; - Id sup, *supp; - - for (i = j = 0; i < n; i++) - { - Id p = e[i]; - Solvable *s = pool->solvables + p; - if (!s->supplements) - continue; - supp = s->repo->idarraydata + s->supplements; - while ((sup = *supp++) != 0) - if (expander_dep_fulfilled(xpctx, sup)) - break; - if (sup) - e[j++] = p; - } - return j ? j : n; -} - -static void -add_recommended_packages(ExpanderCtx *xpctx, Solvable *s) -{ - Pool *pool = xpctx->pool; - Id p, pp, rec, *recp; - for (recp = s->repo->idarraydata + s->recommends; (rec = *recp++) != 0; ) - { - int haveone = 0; - if (pool_is_complex_dep(pool, rec)) - { - expander_installed_complexdep(xpctx, s - pool->solvables, rec, DEPTYPE_RECOMMENDS); - continue; - } - FOR_PROVIDES(p, pp, rec) - { - if (MAPTST(&xpctx->installed, p)) - break; - if (haveone) - continue; - if (xpctx->conflicts.size && MAPTST(&xpctx->conflicts, p)) - continue; - if (pool->solvables[p].conflicts && expander_checkconflicts(xpctx, p, pool->solvables[p].repo->idarraydata + pool->solvables[p].conflicts, 0, 0) != 0) - continue; - if (pool->solvables[p].obsoletes && expander_checkconflicts(xpctx, p, pool->solvables[p].repo->idarraydata + pool->solvables[p].obsoletes, 1, 0) != 0) - continue; - haveone = 1; - } - if (p) - continue; /* already fulfilled */ - if (haveone) - queue_push2(&xpctx->todo, rec, s - pool->solvables); - } -} - -static void -expander_growmaps(Expander *xp) -{ - Pool *pool = xp->pool; - MAPEXP(&xp->ignored, pool->ss.nstrings); - MAPEXP(&xp->ignoredx, pool->ss.nstrings); - MAPEXP(&xp->preferpos, pool->ss.nstrings); - MAPEXP(&xp->preferposx, pool->ss.nstrings); - MAPEXP(&xp->preferneg, pool->ss.nstrings); - MAPEXP(&xp->prefernegx, pool->ss.nstrings); - MAPEXP(&xp->conflicts, pool->ss.nstrings); -} - -static Id -str2id_dup(Pool *pool, const char *str) -{ - char buf[256]; - size_t l = strlen(str); - if (l < 256) { - memcpy(buf, str, l + 1); - return pool_str2id(pool, buf, 1); - } else { - return pool_str2id(pool, pool_tmpjoin(pool, str, 0, 0), 1); - } -} - -static void -add_noproviderinfo(ExpanderCtx *xpctx, Id dep, Id who) -{ - Pool *pool = xpctx->pool; - Reldep *rd, *prd; - Id p, pp, prov, *provp; - int nprovinfo; - - if (xpctx->xp->debug) - { - if (who) - expander_dbg(xpctx->xp, "nothing provides %s needed by %s\n", pool_dep2str(pool, dep), expander_solvid2str(xpctx->xp, who)); - else - expander_dbg(xpctx->xp, "nothing provides %s\n", pool_dep2str(pool, dep)); - } - if (!ISRELDEP(dep)) - return; - rd = GETRELDEP(pool, dep); - if (rd->flags >= 8 || ISRELDEP(rd->name) || ISRELDEP(rd->evr)) - return; - nprovinfo = 0; - FOR_PROVIDES(p, pp, rd->name) - { - Solvable *s = pool->solvables + p; - if (!s->repo || !s->provides) - continue; - for (provp = s->repo->idarraydata + s->provides; (prov = *provp++) != 0; ) - { - if (!ISRELDEP(prov)) - continue; - prd = GETRELDEP(pool, prov); - if (prd->name != rd->name || ISRELDEP(prd->evr)) - continue; - queue_push(&xpctx->errors, ERROR_NOPROVIDERINFO); - if (prd->name == s->name && prd->evr == s->evr) - { - if (xpctx->xp->debug) - expander_dbg(xpctx->xp, "%s has version %s\n", expander_solvid2str(xpctx->xp, p), pool_id2str(pool, prd->evr)); - queue_push2(&xpctx->errors, prd->evr, 0); - } - else - { - if (xpctx->xp->debug) - expander_dbg(xpctx->xp, "%s provides version %s\n", expander_solvid2str(xpctx->xp, p), pool_id2str(pool, prd->evr)); - queue_push2(&xpctx->errors, prd->evr, p); - } - if (++nprovinfo >= 4) - return; /* only show the first 4 providers */ - } - } -} - -static int -expander_expand(Expander *xp, Queue *in, Queue *indep, Queue *out, Queue *ignoreq, int options) -{ - ExpanderCtx xpctx; - Pool *pool = xp->pool; - Queue toinstall; - Queue qq, choices; - Solvable *s; - Id q, p, pp; - int i, j, nerrors; - int ti, tj, tc; - Id todoid, id, who, whon; - Id conflprovpc; - int pass; - Queue revertignore; - int oldignoreignore = xp->ignoreignore; - Map oldignored, oldignoredx; - int ignoremapssaved = 0; - int dorecstart = 0; - - memset(&xpctx, 0, sizeof(xpctx)); - xpctx.xp = xp; - xpctx.pool = pool; - xpctx.out = out; - xpctx.ignoreignore = options & EXPANDER_OPTION_IGNOREIGNORE ? 1 : xp->ignoreignore; - xpctx.ignoreconflicts = options & EXPANDER_OPTION_IGNORECONFLICTS ? 1 : xp->ignoreconflicts; - xpctx.userecommendsforchoices = options & EXPANDER_OPTION_USERECOMMENDSFORCHOICES ? 1 : xp->userecommendsforchoices; - xpctx.usesupplementsforchoices = options & EXPANDER_OPTION_USESUPPLEMENTSFORCHOICES ? 1 : xp->usesupplementsforchoices; - xpctx.dorecommends = options & EXPANDER_OPTION_DORECOMMENDS ? 1 : xp->dorecommends; - xpctx.dosupplements = options & EXPANDER_OPTION_DOSUPPLEMENTS ? 1 : xp->dosupplements; - map_init(&xpctx.installed, pool->nsolvables); - map_init(&xpctx.conflicts, 0); - map_init(&xpctx.recommended, 0); - queue_init(&xpctx.conflictsinfo); - queue_init(&xpctx.todo); - queue_init(&xpctx.todo_cond); - map_init(&xpctx.todo_condmap, 0); - queue_init(&xpctx.errors); - queue_init(&xpctx.cplxq); - queue_init(&xpctx.cplxblks); - queue_init(&xpctx.pruneq); - - queue_init(&toinstall); - queue_init(&qq); - queue_init(&choices); - queue_init(&revertignore); - - queue_empty(out); - - /* process ignored. hack: we mess with the ignore config in xp */ - xp->ignoreignore = 0; - if (xpctx.ignoreignore && ignoreq->count) - { - /* bad: have direct ignores and we need to zero the project config ignores */ - oldignored = xp->ignored; - oldignoredx = xp->ignoredx; - ignoremapssaved = 1; - /* clear project config maps */ - memset(&xp->ignored, 0, sizeof(xp->ignored)); - memset(&xp->ignoredx, 0, sizeof(xp->ignoredx)); - } - if (ignoreq->count) - { - /* mix direct ignores with ignores from project config */ - for (i = 0; i < ignoreq->count; i++) - { - const char *ss; - id = ignoreq->elements[i]; - MAPEXP(&xp->ignored, id); - if (MAPTST(&xp->ignored, id)) - continue; - MAPSET(&xp->ignored, id); - queue_push(&revertignore, id); - if ((ss = strchr(pool_id2str(pool, id), ':')) != 0) - { - id = str2id_dup(pool, ss + 1); - MAPEXP(&xp->ignoredx, id); - if (MAPTST(&xp->ignoredx, id)) - continue; - MAPSET(&xp->ignoredx, id); - queue_push(&revertignore, -id); - } - } - } - else if (xpctx.ignoreignore) - { - /* no direct ignores, ignore project config ignores. - * easy: just disable ignore processing */ - xp->ignoreignore = 1; - } - - /* grow maps to make bit tests cheaper */ - expander_growmaps(xp); - - /* process standard dependencies */ - if (indep) - { - for (i = 0; i < indep->count; i += 2) - { - int deptype = indep->elements[i]; - Id dep = indep->elements[i + 1]; - if (ISRELDEP(dep) && GETRELDEP(pool, dep)->flags == REL_ERROR) - { - queue_push(&xpctx.errors, ERROR_BADDEPENDENCY); - queue_push2(&xpctx.errors, GETRELDEP(pool, dep)->evr, 0); - continue; - } - if ((deptype == DEPTYPE_REQUIRES || deptype == DEPTYPE_CONFLICTS) && pool_is_complex_dep(pool, dep)) - { - expander_installed_complexdep(&xpctx, 0, dep, deptype); - continue; - } - if (deptype == DEPTYPE_REQUIRES) - { - queue_push2(&xpctx.todo, dep, 0); - } - else if (deptype == DEPTYPE_CONFLICTS || deptype == DEPTYPE_OBSOLETES) - { - FOR_PROVIDES(p, pp, dep) - { - if (deptype == DEPTYPE_OBSOLETES && !pool_match_nevr(pool, pool->solvables + p, dep)) - continue; - MAPEXP(&xpctx.conflicts, pool->nsolvables); - MAPSET(&xpctx.conflicts, p); - } - } - } - } - /* process direct dependencies */ - for (i = 0; i < in->count; i++) - { - id = in->elements[i]; - if (ISRELDEP(id) && GETRELDEP(pool, id)->flags == REL_ERROR) - { - queue_push(&xpctx.errors, ERROR_BADDEPENDENCY); - queue_push2(&xpctx.errors, GETRELDEP(pool, id)->evr, 0); - continue; - } - if (pool_is_complex_dep(pool, id)) - { - expander_installed_complexdep(&xpctx, 0, id, DEPTYPE_REQUIRES); - continue; - } - q = 0; - FOR_PROVIDES(p, pp, id) - { - s = pool->solvables + p; - if (!pool_match_nevr(pool, s, id)) - continue; - if (q) - { - q = 0; - break; - } - q = p; - } - if (!q) - { - queue_push2(&xpctx.todo, id, 0); /* unclear, resolve later */ - continue; - } - if (xp->debug) - expander_dbg(xp, "added %s because of %s (direct dep)\n", expander_solvid2name(xp, q), pool_dep2str(pool, id)); - queue_push(&toinstall, q); - } - - /* unify toinstall, check against conflicts */ - for (i = 0; i < toinstall.count; i++) - { - p = toinstall.elements[i]; - MAPSET(&xpctx.installed, p); - } - for (i = j = 0; i < toinstall.count; i++) - { - p = toinstall.elements[i]; - if (!MAPTST(&xpctx.installed, p)) - continue; - MAPCLR(&xpctx.installed, p); - toinstall.elements[j++] = p; - } - queue_truncate(&toinstall, j); - if (xpctx.conflicts.size) - { - for (i = 0; i < toinstall.count; i++) - { - p = toinstall.elements[i]; - if (MAPTST(&xpctx.conflicts, p)) - findconflictsinfo(&xpctx, p, 2); - } - } - - /* here is the big expansion loop */ - pass = 0; - while (!xpctx.errors.count) - { - if (toinstall.count) - { - expander_installed_multiple(&xpctx, &toinstall); - pass = 0; - continue; - } - - if (!xpctx.todo.count) - { - /* almost finished. now do weak deps if requested */ - pass = 0; - if (xpctx.dorecommends) - { - expander_dbg(xp, "--- now doing recommended packages\n"); - for (; dorecstart < out->count; dorecstart++) - { - s = pool->solvables + out->elements[dorecstart]; - if (s->recommends) - add_recommended_packages(&xpctx, s); - } - if (xpctx.todo.count) - continue; - } - if (xpctx.dosupplements) - { - Id sup, *supp; - expander_dbg(xp, "--- now doing supplemented packages\n"); - for (p = 1; p < pool->nsolvables; p++) - { - s = pool->solvables + p; - if (!s->supplements || !s->repo) - continue; - if (MAPTST(&xpctx.installed, p)) - continue; - if (!pool_installable(pool, s)) - continue; - if (xpctx.conflicts.size && MAPTST(&xpctx.conflicts, p)) - continue; - if (s->conflicts && expander_checkconflicts(&xpctx, p, s->repo->idarraydata + s->conflicts, 0, 0) != 0) - continue; - if (s->obsoletes && expander_checkconflicts(&xpctx, p, s->repo->idarraydata + s->obsoletes, 1, 0) != 0) - continue; - supp = s->repo->idarraydata + s->supplements; - while ((sup = *supp++) != 0) - if (expander_dep_fulfilled(&xpctx, sup)) - break; - if (!sup) - continue; - expander_dbg(xp, "added %s because it supplements %s\n", expander_solvid2name(xp, p), pool_dep2str(pool, sup)); - queue_push(&toinstall, p); - } - if (toinstall.count) - continue; - } - /* no new stuff to do, we're finished! */ - break; - } - - expander_dbg(xp, "--- now doing normal dependencies\n"); - - if (pass == 1) - queue_empty(&choices); - - for (ti = tj = 0; ti < xpctx.todo.count; ti += 2) - { - int deptype = DEPTYPE_REQUIRES; - todoid = id = xpctx.todo.elements[ti]; - who = xpctx.todo.elements[ti + 1]; - if (!id) /* deleted entry? */ - continue; - queue_empty(&qq); - if (ISCPLX(pool, id)) - { - pp = GETCPLX(pool, id); /* p, dep, deptype, ids... */ - id = xpctx.cplxblks.elements[pp + 1]; - deptype = xpctx.cplxblks.elements[pp + 2]; - pp += 3; - while ((p = xpctx.cplxblks.elements[pp++])) - if (p > 0) - queue_push(&qq, p); - } - else - { - FOR_PROVIDES(p, pp, id) - queue_push(&qq, p); - } - - if (qq.count == 0) - { - if (deptype == DEPTYPE_RECOMMENDS) - continue; - queue_push(&xpctx.errors, ERROR_NOPROVIDER); - queue_push2(&xpctx.errors, id, who); - add_noproviderinfo(&xpctx, id, who); - continue; - } - - /* check installed and ignores */ - whon = who ? pool->solvables[who].name : 0; - for (i = 0; i < qq.count; i++) - { - p = qq.elements[i]; - if (MAPTST(&xpctx.installed, p)) - break; - if (who && deptype == DEPTYPE_REQUIRES && !xp->ignoreignore) - { - Id pn = pool->solvables[p].name; - if (MAPTST(&xp->ignored, pn)) - break; - if (MAPTST(&xp->ignoredx, pn)) - { - Id xid = pool_str2id(pool, pool_tmpjoin(pool, pool_id2str(pool, whon), ":", pool_id2str(pool, pn)), 0); - if (xid && MAPTST(&xp->ignored, xid)) - break; - } - } - } - if (i < qq.count) - continue; /* ignored dependency or fulfilled */ - - if (pass == 0 && qq.count > 1) - { - xpctx.todo.elements[tj++] = todoid; - xpctx.todo.elements[tj++] = who; - continue; - } - - /* do conflict pruning */ - conflprovpc = 0; - for (i = j = 0; i < qq.count; i++) - { - Id pc; - p = qq.elements[i]; - if (xpctx.conflicts.size && MAPTST(&xpctx.conflicts, p)) - { - if (xp->debug) - findconflictsinfo(&xpctx, p, 0); - conflprovpc = 0; - continue; - } - if (pool->solvables[p].conflicts && (pc = expander_checkconflicts(&xpctx, p, pool->solvables[p].repo->idarraydata + pool->solvables[p].conflicts, 0, 0)) != 0) - { - conflprovpc = pc; - continue; - } - if (pool->solvables[p].obsoletes && (pc = expander_checkconflicts(&xpctx, p, pool->solvables[p].repo->idarraydata + pool->solvables[p].obsoletes, 1, 0)) != 0) - { - conflprovpc = -pc; - continue; - } - qq.elements[j++] = p; - } - if (j == 0) - { - if (deptype == DEPTYPE_RECOMMENDS) - continue; - queue_push(&xpctx.errors, ERROR_CONFLICTINGPROVIDERS); - queue_push2(&xpctx.errors, id, who); - if (qq.count == 1 && conflprovpc != 1 && conflprovpc != -1) - { - p = qq.elements[0]; - if (conflprovpc) - { - queue_push(&xpctx.errors, ERROR_PROVIDERINFO); - queue_push2(&xpctx.errors, p, conflprovpc); - continue; - } - findconflictsinfo(&xpctx, p, 1); - continue; - } - /* even more work if all providers conflict */ - for (j = 0; j < qq.count; j++) - { - p = qq.elements[j]; - if (xpctx.conflicts.size && MAPTST(&xpctx.conflicts, p)) - findconflictsinfo(&xpctx, p, 1); - if (pool->solvables[p].conflicts) - expander_checkconflicts(&xpctx, p, pool->solvables[p].repo->idarraydata + pool->solvables[p].conflicts, 0, 1); - if (pool->solvables[p].obsoletes) - expander_checkconflicts(&xpctx, p, pool->solvables[p].repo->idarraydata + pool->solvables[p].obsoletes, 1, 1); - } - continue; - } - queue_truncate(&qq, j); - if (qq.count == 1) - { - p = qq.elements[0]; - if (xp->debug) - expander_dbg(xp, "added %s because of %s:%s\n", expander_solvid2name(xp, p), whon ? pool_id2str(pool, whon) : "(direct)", pool_dep2str(pool, id)); - queue_push(&toinstall, p); - continue; - } - /* pass is == 1 and we have multiple choices */ - if (xp->debug) - { - expander_dbg(xp, "undecided about %s:%s:", whon ? pool_id2str(pool, whon) : "(direct)", pool_dep2str(pool, id)); - for (i = 0; i < qq.count; i++) - expander_dbg(xp, " %s", expander_solvid2name(xp, qq.elements[i])); - expander_dbg(xp, "\n"); - } - queue_push2(&choices, qq.count + 3, id); - queue_push(&choices, qq.count); - queue_insertn(&choices, choices.count, qq.count, qq.elements); - xpctx.todo.elements[tj++] = todoid; - xpctx.todo.elements[tj++] = who; - } - queue_truncate(&xpctx.todo, tj); - - if (toinstall.count) - continue; - - if (!xpctx.todo.count) - continue; - - /* did not find a package to install, only choices left on todo list */ - if (pass == 0) - { - pass = 1; /* now do conflict pruning */ - continue; - } - - expander_dbg(xp, "--- now doing undecided dependencies\n"); - - /* prune prefers */ - for (ti = tc = 0; ti < xpctx.todo.count; ti += 2) - { - Id who = xpctx.todo.elements[ti + 1]; - Id *qe = choices.elements + tc + 3; - Id id = choices.elements[tc + 1]; - int qn = choices.elements[tc + 2]; - whon = who ? pool->solvables[who].name : 0; - if (qn > 1) - qn = prune_neg_prefers(&xpctx, who, qe, qn); - if (qn > 1) - qn = prune_pos_prefers(&xpctx, who, qe, qn, 0); - if (qn == 1) - { - p = qe[0]; - if (xp->debug) - expander_dbg(xp, "added %s because of %s:%s\n", expander_solvid2name(xp, p), whon ? pool_id2str(pool, whon) : "(direct)", pool_dep2str(pool, id)); - queue_push(&toinstall, p); - xpctx.todo.elements[ti] = 0; /* kill entry */ - } - choices.elements[tc + 2] = qn; - tc += choices.elements[tc]; - } - if (toinstall.count) - continue; - - /* prune pos prefers with domulti and debian or */ - for (ti = tc = 0; ti < xpctx.todo.count; ti += 2) - { - Id who = xpctx.todo.elements[ti + 1]; - Id *qe = choices.elements + tc + 3; - Id id = choices.elements[tc + 1]; - int qn = choices.elements[tc + 2]; - whon = who ? pool->solvables[who].name : 0; - if (qn > 1) - qn = prune_pos_prefers(&xpctx, who, qe, qn, 1); - if (qn > 1 && pool->disttype != DISTTYPE_RPM) - { - if (ISRELDEP(id) && GETRELDEP(pool, id)->flags == REL_OR) - qn = prune_or_dep(&xpctx, id, qe, qn); - } - if (qn == 1) - { - p = qe[0]; - if (xp->debug) - expander_dbg(xp, "added %s because of %s:%s\n", expander_solvid2name(xp, p), whon ? pool_id2str(pool, whon) : "(direct)", pool_dep2str(pool, id)); - queue_push(&toinstall, p); - xpctx.todo.elements[ti] = 0; /* kill entry */ - } - choices.elements[tc + 2] = qn; - tc += choices.elements[tc]; - } - if (toinstall.count) - continue; - - /* prune recommended packages */ - if (xpctx.userecommendsforchoices) - expander_updaterecommendedmap(&xpctx); - if (xpctx.recommended.size) - { - expander_dbg(xp, "now doing undecided dependencies with recommends\n"); - for (ti = tc = 0; ti < xpctx.todo.count; ti += 2) - { - Id who = xpctx.todo.elements[ti + 1]; - Id *qe = choices.elements + tc + 3; - Id id = choices.elements[tc + 1]; - int qn = choices.elements[tc + 2]; - whon = who ? pool->solvables[who].name : 0; - for (i = j = 0; i < qn; i++) - if (MAPTST(&xpctx.recommended, qe[i])) - qe[j++] = qe[i]; - if (j) - qn = j; - if (qn == 1) - { - p = qe[0]; - if (xp->debug) - expander_dbg(xp, "added %s because of %s:%s\n", expander_solvid2name(xp, p), whon ? pool_id2str(pool, whon) : "(direct)", pool_dep2str(pool, id)); - queue_push(&toinstall, p); - xpctx.todo.elements[ti] = 0; /* kill entry */ - } - choices.elements[tc + 2] = qn; - tc += choices.elements[tc]; - } - if (toinstall.count) - continue; - } - if (xpctx.usesupplementsforchoices) - { - expander_dbg(xp, "now doing undecided dependencies with supplements\n"); - for (ti = tc = 0; ti < xpctx.todo.count; ti += 2) - { - Id who = xpctx.todo.elements[ti + 1]; - Id *qe = choices.elements + tc + 3; - Id id = choices.elements[tc + 1]; - int qn = choices.elements[tc + 2]; - whon = who ? pool->solvables[who].name : 0; - qn = prune_supplemented(&xpctx, qe, qn); - if (qn == 1) - { - p = qe[0]; - if (xp->debug) - expander_dbg(xp, "added %s because of %s:%s\n", expander_solvid2name(xp, p), whon ? pool_id2str(pool, whon) : "(direct)", pool_dep2str(pool, id)); - queue_push(&toinstall, p); - xpctx.todo.elements[ti] = 0; /* kill entry */ - } - choices.elements[tc + 2] = qn; - tc += choices.elements[tc]; - } - if (toinstall.count) - continue; - } - - /* nothing more to prune. record errors. */ - for (ti = tc = 0; ti < xpctx.todo.count; ti += 2) - { - Id who = xpctx.todo.elements[ti + 1]; - Id *qe = choices.elements + tc + 3; - Id id = choices.elements[tc + 1]; - int qn = choices.elements[tc + 2]; - queue_push(&xpctx.errors, ERROR_CHOICE); - queue_push2(&xpctx.errors, id, who); - for (i = 0; i < qn; i++) - queue_push(&xpctx.errors, qe[i]); - queue_push(&xpctx.errors, 0); - tc += choices.elements[tc]; - } - } - - /* free data */ - map_free(&xpctx.installed); - map_free(&xpctx.conflicts); - map_free(&xpctx.recommended); - map_free(&xpctx.todo_condmap); - queue_free(&xpctx.conflictsinfo); - queue_free(&xpctx.todo_cond); - queue_free(&xpctx.todo); - queue_free(&toinstall); - queue_free(&qq); - queue_free(&choices); - queue_free(&xpctx.pruneq); - queue_free(&xpctx.cplxq); - queue_free(&xpctx.cplxblks); - - /* revert ignores */ - xp->ignoreignore = oldignoreignore; - if (ignoremapssaved) - { - map_free(&xp->ignored); - map_free(&xp->ignoredx); - xp->ignored = oldignored; - xp->ignoredx = oldignoredx; - } - else - { - for (i = 0; i < revertignore.count; i++) - { - id = revertignore.elements[i]; - if (id > 0) - MAPCLR(&xp->ignored, id); - else - MAPCLR(&xp->ignoredx, -id); - } - } - queue_free(&revertignore); - - /* finish return queue, count errors */ - nerrors = 0; - if (xpctx.errors.count) - { - queue_empty(out); - queue_insertn(out, 0, xpctx.errors.count, xpctx.errors.elements); - for (i = 0; i < out->count; i += 3) - { - nerrors++; - if (out->elements[i] == ERROR_CHOICE) - while (out->elements[i + 3]) - i++; - } - } - queue_free(&xpctx.errors); - return nerrors; -} - -static Expander * -expander_create(Pool *pool, Queue *preferpos, Queue *preferneg, Queue *ignore, Queue *conflict, Queue *fileprovides, int debug, int options) -{ - Expander *xp; - int i, j; - Id id, id2; - const char *str; - Queue q; - - xp = calloc(sizeof(Expander), 1); - xp->pool = pool; - xp->debug = debug; - xp->ignoreignore = options & EXPANDER_OPTION_IGNOREIGNORE ? 1 : 0; - xp->ignoreconflicts = options & EXPANDER_OPTION_IGNORECONFLICTS ? 1 : 0; - xp->userecommendsforchoices = options & EXPANDER_OPTION_USERECOMMENDSFORCHOICES ? 1 : 0; - xp->usesupplementsforchoices = options & EXPANDER_OPTION_USESUPPLEMENTSFORCHOICES ? 1 : 0; - xp->dorecommends = options & EXPANDER_OPTION_DORECOMMENDS ? 1 : 0; - xp->dosupplements = options & EXPANDER_OPTION_DOSUPPLEMENTS ? 1 : 0; - - queue_init(&xp->preferposq); - for (i = 0; i < preferpos->count; i++) - { - id = preferpos->elements[i]; - queue_push(&xp->preferposq, id); - MAPEXP(&xp->preferpos, id); - MAPSET(&xp->preferpos, id); - if ((str = strchr(pool_id2str(pool, id), ':')) != 0) - { - id = str2id_dup(pool, str + 1); - MAPEXP(&xp->preferposx, id); - MAPSET(&xp->preferposx, id); - } - } - for (i = 0; i < preferneg->count; i++) - { - id = preferneg->elements[i]; - MAPEXP(&xp->preferneg, id); - MAPSET(&xp->preferneg, id); - if ((str = strchr(pool_id2str(pool, id), ':')) != 0) - { - id = str2id_dup(pool, str + 1); - MAPEXP(&xp->prefernegx, id); - MAPSET(&xp->prefernegx, id); - } - } - - for (i = 0; i < ignore->count; i++) - { - id = ignore->elements[i]; - MAPEXP(&xp->ignored, id); - MAPSET(&xp->ignored, id); - if ((str = strchr(pool_id2str(pool, id), ':')) != 0) - { - id = str2id_dup(pool, str + 1); - MAPEXP(&xp->ignoredx, id); - MAPSET(&xp->ignoredx, id); - } - } - - queue_init(&xp->conflictsq); - for (i = 0; i < conflict->count; i += 2) - { - id = conflict->elements[i]; - id2 = conflict->elements[i + 1]; - queue_push2(&xp->conflictsq, id, id2); - MAPEXP(&xp->conflicts, id); - MAPSET(&xp->conflicts, id); - MAPEXP(&xp->conflicts, id2); - MAPSET(&xp->conflicts, id2); - } - - if (fileprovides->count) - xp->havefileprovides = 1; - queue_init(&q); - for (i = 0; i < fileprovides->count; i++) - { - Id p, pp; - id = fileprovides->elements[i]; - int havenew = 0; - - /* XXX: this modifies the pool, which is somewhat unclean! */ - /* get old providers */ - queue_empty(&q); - FOR_PROVIDES(p, pp, id) - queue_push(&q, p); - for (j = i + 1; j < fileprovides->count && (id2 = fileprovides->elements[j]) != 0; j++) - { - FOR_PROVIDES(p, pp, id2) - { - int k; - if (pool->solvables[p].name != id2) - continue; /* match name only */ - /* insert sorted */ - for (k = 0; ; k++) - { - if (k == q.count || q.elements[k] > p) - { - queue_insert(&q, k, p); - havenew = 1; - break; - } - if (q.elements[k] == p) - break; - } - } - } - if (havenew) - pool->whatprovides[id] = pool_queuetowhatprovides(pool, &q); - i = j; - } - queue_free(&q); - return xp; -} - -static void -expander_free(Expander *xp) -{ - map_free(&xp->ignored); - map_free(&xp->ignoredx); - queue_free(&xp->preferposq); - map_free(&xp->preferpos); - map_free(&xp->preferposx); - map_free(&xp->preferneg); - map_free(&xp->prefernegx); - queue_free(&xp->conflictsq); - map_free(&xp->conflicts); - solv_free(xp->debugstr); - solv_free(xp); -} - - - -static void -set_disttype(Pool *pool, int disttype) -{ - pool_setdisttype(pool, disttype); -#ifdef POOL_FLAG_HAVEDISTEPOCH - /* make newer mandriva work, hopefully there are no ill effects... */ - pool_set_flag(pool, POOL_FLAG_HAVEDISTEPOCH, disttype == DISTTYPE_RPM ? 1 : 0); -#endif -} - -static void -set_disttype_from_location(Pool *pool, Solvable *so) -{ - unsigned int medianr; - const char *s = solvable_get_location(so, &medianr); - int disttype = -1; - int sl; - if (!s) - return; - sl = strlen(s); - if (disttype < 0 && sl >= 4 && !strcmp(s + sl - 4, ".rpm")) - disttype = DISTTYPE_RPM; -#ifdef DISTTYPE_DEB - if (disttype < 0 && sl >= 4 && !strcmp(s + sl - 4, ".deb")) - disttype = DISTTYPE_DEB; -#endif -#ifdef DISTTYPE_ARCH - if (disttype < 0 && sl >= 12 && (!strcmp(s + sl - 11, ".pkg.tar.gz") || !strcmp(s + sl - 11, ".pkg.tar.xz") || !strcmp(s + sl - 12, ".pkg.tar.zst"))) - disttype = DISTTYPE_ARCH; -#endif - if (disttype >= 0 && pool->disttype != disttype) - set_disttype(pool, disttype); -} - -static inline const char * -solvid2name(Pool *pool, Id p) -{ - return pool_id2str(pool, pool->solvables[p].name); -} - -#define ISNOARCH(arch) (arch == ARCH_NOARCH || arch == ARCH_ALL || arch == ARCH_ANY) - -static int -has_keyname(Repo *repo, Id keyname) -{ - Repodata *data; - int rdid; - FOR_REPODATAS(repo, rdid, data) - if (repodata_has_keyname(data, keyname)) - return 1; - return 0; -} - -static void -create_module_map(Pool *pool, Map *modulemap) -{ - Id *modules = pool->appdata; - map_grow(modulemap, pool->ss.nstrings); - if (!modules) - return; - if (!*modules) - map_setall(modulemap); - for (; *modules; modules++) - MAPSET(modulemap, *modules); -} - -static int -in_module_map(Pool *pool, Map *modulemap, Queue *modules) -{ - int i; - if (!modulemap->size) - create_module_map(pool, modulemap); - for (i = 0; i < modules->count; i++) - { - Id id = modules->elements[i]; - if (id > 1 && id < pool->ss.nstrings && MAPTST(modulemap, id)) - return 1; - } - return 0; -} - - -static void -create_considered(Pool *pool, Repo *repoonly, Map *considered, int unorderedrepos) -{ - Id p, pb,*best; - Solvable *s, *sb; - int ridx; - Repo *repo; - int olddisttype = -1; - int dodrepo; - int mayhave_modules; - Queue modules; - Map modulemap; - - map_init(considered, pool->nsolvables); - best = solv_calloc(sizeof(Id), pool->ss.nstrings); - - queue_init(&modules); - map_init(&modulemap, 0); - FOR_REPOS(ridx, repo) - { - if (repoonly && repo != repoonly) - continue; - dodrepo = repo_lookup_str(repo, SOLVID_META, buildservice_dodurl) != 0; - mayhave_modules = has_keyname(repo, buildservice_modules) ? 1 : 0; - FOR_REPO_SOLVABLES(repo, p, s) - { - int inmodule = 0; - if (s->arch == ARCH_SRC || s->arch == ARCH_NOSRC) - continue; - pb = best[s->name]; - sb = pb ? pool->solvables + pb : 0; - if (mayhave_modules) - { - solvable_lookup_idarray(s, buildservice_modules, &modules); - inmodule = modules.count ? 1 : 0; - if (inmodule && !in_module_map(pool, &modulemap, &modules)) - continue; /* nope, ignore package */ - } - if (unorderedrepos && sb && s->repo->priority != sb->repo->priority) - { - if (s->repo->priority < sb->repo->priority) - continue; /* lower prio, ignore */ - } - else if (sb) - { - int sbinmodule = 0; - /* we already have that name. decide which one to take */ - if (!unorderedrepos && s->repo != sb->repo) - continue; /* first repo wins */ - - if (s->repo == sb->repo && mayhave_modules) - sbinmodule = solvable_lookup_type(sb, buildservice_modules) ? 1 : 0; - - if (inmodule != sbinmodule) - { - if (inmodule < sbinmodule) - continue; - } - else if (s->evr != sb->evr) - { - /* check versions */ - int r; - if (olddisttype < 0) - { - olddisttype = pool->disttype; - set_disttype_from_location(pool, s); - } - r = pool_evrcmp(pool, sb->evr, s->evr, EVRCMP_COMPARE); - if (r == 0) - r = strcmp(pool_id2str(pool, sb->evr), pool_id2str(pool, s->evr)); - if (r >= 0) - continue; - } - else if (s->arch != sb->arch) - { - /* same versions, check arch */ - if (ISNOARCH(sb->arch) && !ISNOARCH(s->arch)) - continue; - if (ISNOARCH(sb->arch) || !ISNOARCH(s->arch)) - { - int r; - /* the strcmp is kind of silly, but works for most archs */ - r = strcmp(pool_id2str(pool, sb->arch), pool_id2str(pool, s->arch)); - if (r >= 0) - continue; - } - } - } - - if (dodrepo) - { - /* we only consider dod packages */ - const char *bsid = solvable_lookup_str(s, buildservice_id); - if (!bsid || strcmp(bsid, "dod") != 0) - continue; - } - if (pb) - MAPCLR(considered, pb); - best[s->name] = p; - MAPSET(considered, p); - } - /* dodrepos have a second pass: replace dod entries with identical downloaded ones */ - if (dodrepo) - { - const char *bsid; - FOR_REPO_SOLVABLES(repo, p, s) - { - if (s->arch == ARCH_SRC || s->arch == ARCH_NOSRC) - continue; - pb = best[s->name]; - if (!pb || pb == p) - continue; - sb = pool->solvables + pb; - if (sb->repo != s->repo || sb->name != s->name || sb->arch != s->arch || sb->evr != s->evr) - continue; - bsid = solvable_lookup_str(s, buildservice_id); - if (bsid && strcmp(bsid, "dod") == 0) - continue; /* not downloaded */ - MAPCLR(considered, pb); - best[s->name] = p; - MAPSET(considered, p); - } - } - } - solv_free(best); - queue_free(&modules); - map_free(&modulemap); - if (olddisttype >= 0 && pool->disttype != olddisttype) - set_disttype(pool, olddisttype); -} - -struct metaline { - char *l; /* pointer to line */ - int lastoff; /* line offset of last path element */ - int nslash; /* number of slashes */ - int killed; /* 1: line has been killed. 2: because of a cycle package */ -}; - -static int metacmp(const void *ap, const void *bp) -{ - const struct metaline *a, *b; - int r; - - a = ap; - b = bp; - r = a->nslash - b->nslash; - if (r) - return r; - r = strcmp(a->l + 34, b->l + 34); - if (r) - return r; - r = strcmp(a->l, b->l); - if (r) - return r; - return a - b; -} - -static char * -slurp(FILE *fp, int *lenp) -{ - int l, ll; - char *buf = 0; - int bufl = 0; - - for (l = 0; ; l += ll) - { - if (bufl - l < 4096) - { - bufl += 4096; - if (bufl < 0) - { - buf = solv_free(buf); - l = 0; - break; - } - buf = solv_realloc(buf, bufl); - } - ll = fread(buf + l, 1, bufl - l, fp); - if (ll < 0) - { - buf = solv_free(buf); - l = 0; - break; - } - if (ll == 0) - { - buf[l] = 0; /* always zero-terminate */ - break; - } - } - if (lenp) - *lenp = l; - return buf; -} - - -Id -repo_add_obsbinlnk(Repo *repo, const char *path, int flags) -{ - Repodata *data; - FILE *fp; - char *buf; - int len; - SV *sv; - unsigned char *src; - STRLEN srcl; - Id p; - - if ((fp = fopen(path, "r")) == 0) - return 0; - buf = slurp(fp, &len); - fclose(fp); - if (!buf || len <= 0) - return 0; - src = (unsigned char *)buf; - srcl = len; - sv = 0; - if (srcl >= 7 && src[0] == 'p' && src[1] == 's' && src[2] == 't' && src[3] == '0' && (src[4] & 1) == 1 && src[4] >= 5) { - src += 6; - srcl -= 6; - sv = retrieve(&src, &srcl, 0); - } - free(buf); - if (!sv) - return 0; - if (SvTYPE(sv) != SVt_PVHV) - { - SvREFCNT_dec(sv); - return 0; - } - data = repo_add_repodata(repo, flags); - p = data2pkg(repo, data, (HV *)sv); - SvREFCNT_dec(sv); - if (!(flags & REPO_NO_INTERNALIZE)) - repodata_internalize(data); - return p; -} - -#ifndef REPO_NO_LOCATION -# define REPO_NO_LOCATION 0 -#endif - -Id -repodata_addbin(Repodata *data, char *prefix, char *s, int sl, char *sid) -{ - Id p = 0; - char *path; -#if REPO_NO_LOCATION == 0 - char *sp; -#endif - - path = solv_dupjoin(prefix, "/", s); - if (sl >= 4 && !strcmp(s + sl - 4, ".rpm")) - p = repo_add_rpm(data->repo, (const char *)path, REPO_REUSE_REPODATA|REPO_NO_INTERNALIZE|REPO_NO_LOCATION|RPM_ADD_WITH_PKGID|RPM_ADD_NO_FILELIST|RPM_ADD_NO_RPMLIBREQS); -#if defined(LIBSOLVEXT_FEATURE_DEBIAN) - else if (sl >= 4 && !strcmp(s + sl - 4, ".deb")) - p = repo_add_deb(data->repo, (const char *)path, REPO_REUSE_REPODATA|REPO_NO_INTERNALIZE|REPO_NO_LOCATION|DEBS_ADD_WITH_PKGID); -#endif - else if (sl >= 10 && !strcmp(s + sl - 10, ".obsbinlnk")) - { - p = repo_add_obsbinlnk(data->repo, (const char *)path, REPO_REUSE_REPODATA|REPO_NO_INTERNALIZE|REPO_NO_LOCATION); - /* do not overwrite location from obsbinlnk file */ - solv_free(path); - if (p) - repodata_set_str(data, p, buildservice_id, sid); - return p; - } -#if defined(LIBSOLVEXT_FEATURE_ARCHREPO) && defined(ARCH_ADD_WITH_PKGID) - else if (sl >= 12 && (!strcmp(s + sl - 11, ".pkg.tar.gz") || !strcmp(s + sl - 11, ".pkg.tar.xz") || !strcmp(s + sl - 12, ".pkg.tar.zst"))) - p = repo_add_arch_pkg(data->repo, (const char *)path, REPO_REUSE_REPODATA|REPO_NO_INTERNALIZE|REPO_NO_LOCATION|ARCH_ADD_WITH_PKGID); -#endif - solv_free(path); - if (!p) - return 0; -#if REPO_NO_LOCATION != 0 - repodata_set_location(data, p, 0, 0, s); -#else - if ((sp = strrchr(s, '/')) != 0) - { - *sp = 0; - repodata_set_str(data, p, SOLVABLE_MEDIADIR, s); - *sp = '/'; - } - else - repodata_delete_uninternalized(data, p, SOLVABLE_MEDIADIR); -#endif - repodata_set_str(data, p, buildservice_id, sid); - return p; -} - -static int -subpack_sort_cmp(const void *ap, const void *bp, void *dp) -{ - Pool *pool = (Pool *)dp; - const Id *a = ap; - const Id *b = bp; - int r = a[1] - b[1]; - if (r) - return r; - r = strcmp(pool_id2str(pool, a[0]), pool_id2str(pool, b[0])); - return r ? r : a[0] - b[0]; -} - -/* This is an OpenSSL-compatible implementation of the RSA Data Security, - * Inc. MD5 Message-Digest Algorithm. - * - * Written by Solar Designer in 2001, and placed in - * the public domain. */ - -#define F(x, y, z) ((z) ^ ((x) & ((y) ^ (z)))) -#define G(x, y, z) ((y) ^ ((z) & ((x) ^ (y)))) -#define H(x, y, z) ((x) ^ (y) ^ (z)) -#define I(x, y, z) ((y) ^ ((x) | ~(z))) - -#define STEP(f, a, b, c, d, x, t, s) \ - (a) += f((b), (c), (d)) + (x) + (t); \ - (a) = (((a) << (s)) | (((a) & 0xffffffff) >> (32 - (s)))); \ - (a) += (b); - -#if defined(__i386__) || defined(__vax__) -#define SET(n) \ - (*(MD5_u32plus *)&ptr[(n) * 4]) -#define GET(n) \ - SET(n) -#else -#define SET(n) \ - (ctx->block[(n)] = \ - (MD5_u32plus)ptr[(n) * 4] | \ - ((MD5_u32plus)ptr[(n) * 4 + 1] << 8) | \ - ((MD5_u32plus)ptr[(n) * 4 + 2] << 16) | \ - ((MD5_u32plus)ptr[(n) * 4 + 3] << 24)) -#define GET(n) \ - (ctx->block[(n)]) -#endif - -typedef unsigned long MD5_u32plus; - -typedef struct { - MD5_u32plus lo, hi; - MD5_u32plus a, b, c, d; - unsigned char buffer[64]; - MD5_u32plus block[16]; -} MD5_CTX; - -/* - * This processes one or more 64-byte data blocks, but does NOT update - * the bit counters. There're no alignment requirements. - */ -static void *md5_body(MD5_CTX *ctx, void *data, unsigned long size) -{ - unsigned char *ptr; - MD5_u32plus a, b, c, d; - MD5_u32plus saved_a, saved_b, saved_c, saved_d; - - ptr = data; - - a = ctx->a; - b = ctx->b; - c = ctx->c; - d = ctx->d; - - do { - saved_a = a; - saved_b = b; - saved_c = c; - saved_d = d; - -/* Round 1 */ - STEP(F, a, b, c, d, SET(0), 0xd76aa478, 7) - STEP(F, d, a, b, c, SET(1), 0xe8c7b756, 12) - STEP(F, c, d, a, b, SET(2), 0x242070db, 17) - STEP(F, b, c, d, a, SET(3), 0xc1bdceee, 22) - STEP(F, a, b, c, d, SET(4), 0xf57c0faf, 7) - STEP(F, d, a, b, c, SET(5), 0x4787c62a, 12) - STEP(F, c, d, a, b, SET(6), 0xa8304613, 17) - STEP(F, b, c, d, a, SET(7), 0xfd469501, 22) - STEP(F, a, b, c, d, SET(8), 0x698098d8, 7) - STEP(F, d, a, b, c, SET(9), 0x8b44f7af, 12) - STEP(F, c, d, a, b, SET(10), 0xffff5bb1, 17) - STEP(F, b, c, d, a, SET(11), 0x895cd7be, 22) - STEP(F, a, b, c, d, SET(12), 0x6b901122, 7) - STEP(F, d, a, b, c, SET(13), 0xfd987193, 12) - STEP(F, c, d, a, b, SET(14), 0xa679438e, 17) - STEP(F, b, c, d, a, SET(15), 0x49b40821, 22) - -/* Round 2 */ - STEP(G, a, b, c, d, GET(1), 0xf61e2562, 5) - STEP(G, d, a, b, c, GET(6), 0xc040b340, 9) - STEP(G, c, d, a, b, GET(11), 0x265e5a51, 14) - STEP(G, b, c, d, a, GET(0), 0xe9b6c7aa, 20) - STEP(G, a, b, c, d, GET(5), 0xd62f105d, 5) - STEP(G, d, a, b, c, GET(10), 0x02441453, 9) - STEP(G, c, d, a, b, GET(15), 0xd8a1e681, 14) - STEP(G, b, c, d, a, GET(4), 0xe7d3fbc8, 20) - STEP(G, a, b, c, d, GET(9), 0x21e1cde6, 5) - STEP(G, d, a, b, c, GET(14), 0xc33707d6, 9) - STEP(G, c, d, a, b, GET(3), 0xf4d50d87, 14) - STEP(G, b, c, d, a, GET(8), 0x455a14ed, 20) - STEP(G, a, b, c, d, GET(13), 0xa9e3e905, 5) - STEP(G, d, a, b, c, GET(2), 0xfcefa3f8, 9) - STEP(G, c, d, a, b, GET(7), 0x676f02d9, 14) - STEP(G, b, c, d, a, GET(12), 0x8d2a4c8a, 20) - -/* Round 3 */ - STEP(H, a, b, c, d, GET(5), 0xfffa3942, 4) - STEP(H, d, a, b, c, GET(8), 0x8771f681, 11) - STEP(H, c, d, a, b, GET(11), 0x6d9d6122, 16) - STEP(H, b, c, d, a, GET(14), 0xfde5380c, 23) - STEP(H, a, b, c, d, GET(1), 0xa4beea44, 4) - STEP(H, d, a, b, c, GET(4), 0x4bdecfa9, 11) - STEP(H, c, d, a, b, GET(7), 0xf6bb4b60, 16) - STEP(H, b, c, d, a, GET(10), 0xbebfbc70, 23) - STEP(H, a, b, c, d, GET(13), 0x289b7ec6, 4) - STEP(H, d, a, b, c, GET(0), 0xeaa127fa, 11) - STEP(H, c, d, a, b, GET(3), 0xd4ef3085, 16) - STEP(H, b, c, d, a, GET(6), 0x04881d05, 23) - STEP(H, a, b, c, d, GET(9), 0xd9d4d039, 4) - STEP(H, d, a, b, c, GET(12), 0xe6db99e5, 11) - STEP(H, c, d, a, b, GET(15), 0x1fa27cf8, 16) - STEP(H, b, c, d, a, GET(2), 0xc4ac5665, 23) - -/* Round 4 */ - STEP(I, a, b, c, d, GET(0), 0xf4292244, 6) - STEP(I, d, a, b, c, GET(7), 0x432aff97, 10) - STEP(I, c, d, a, b, GET(14), 0xab9423a7, 15) - STEP(I, b, c, d, a, GET(5), 0xfc93a039, 21) - STEP(I, a, b, c, d, GET(12), 0x655b59c3, 6) - STEP(I, d, a, b, c, GET(3), 0x8f0ccc92, 10) - STEP(I, c, d, a, b, GET(10), 0xffeff47d, 15) - STEP(I, b, c, d, a, GET(1), 0x85845dd1, 21) - STEP(I, a, b, c, d, GET(8), 0x6fa87e4f, 6) - STEP(I, d, a, b, c, GET(15), 0xfe2ce6e0, 10) - STEP(I, c, d, a, b, GET(6), 0xa3014314, 15) - STEP(I, b, c, d, a, GET(13), 0x4e0811a1, 21) - STEP(I, a, b, c, d, GET(4), 0xf7537e82, 6) - STEP(I, d, a, b, c, GET(11), 0xbd3af235, 10) - STEP(I, c, d, a, b, GET(2), 0x2ad7d2bb, 15) - STEP(I, b, c, d, a, GET(9), 0xeb86d391, 21) - - a += saved_a; - b += saved_b; - c += saved_c; - d += saved_d; - - ptr += 64; - } while (size -= 64); - - ctx->a = a; - ctx->b = b; - ctx->c = c; - ctx->d = d; - - return ptr; -} - -static void md5_init(MD5_CTX *ctx) -{ - ctx->a = 0x67452301; - ctx->b = 0xefcdab89; - ctx->c = 0x98badcfe; - ctx->d = 0x10325476; - ctx->lo = 0; - ctx->hi = 0; -} - -static void md5_update(MD5_CTX *ctx, void *data, unsigned long size) -{ - MD5_u32plus saved_lo; - unsigned long used, free; - - saved_lo = ctx->lo; - if ((ctx->lo = (saved_lo + size) & 0x1fffffff) < saved_lo) - ctx->hi++; - ctx->hi += size >> 29; - - used = saved_lo & 0x3f; - - if (used) { - free = 64 - used; - - if (size < free) { - memcpy(&ctx->buffer[used], data, size); - return; - } - - memcpy(&ctx->buffer[used], data, free); - data = (unsigned char *)data + free; - size -= free; - md5_body(ctx, ctx->buffer, 64); - } - - if (size >= 64) { - data = md5_body(ctx, data, size & ~(unsigned long)0x3f); - size &= 0x3f; - } - - memcpy(ctx->buffer, data, size); -} - -static void md5_final(MD5_CTX *ctx, unsigned char *result) -{ - unsigned long used, free; - used = ctx->lo & 0x3f; - ctx->buffer[used++] = 0x80; - free = 64 - used; - if (free < 8) { - memset(&ctx->buffer[used], 0, free); - md5_body(ctx, ctx->buffer, 64); - used = 0; - free = 64; - } - memset(&ctx->buffer[used], 0, free - 8); - ctx->lo <<= 3; - ctx->buffer[56] = ctx->lo; - ctx->buffer[57] = ctx->lo >> 8; - ctx->buffer[58] = ctx->lo >> 16; - ctx->buffer[59] = ctx->lo >> 24; - ctx->buffer[60] = ctx->hi; - ctx->buffer[61] = ctx->hi >> 8; - ctx->buffer[62] = ctx->hi >> 16; - ctx->buffer[63] = ctx->hi >> 24; - md5_body(ctx, ctx->buffer, 64); - result[0] = ctx->a; - result[1] = ctx->a >> 8; - result[2] = ctx->a >> 16; - result[3] = ctx->a >> 24; - result[4] = ctx->b; - result[5] = ctx->b >> 8; - result[6] = ctx->b >> 16; - result[7] = ctx->b >> 24; - result[8] = ctx->c; - result[9] = ctx->c >> 8; - result[10] = ctx->c >> 16; - result[11] = ctx->c >> 24; - result[12] = ctx->d; - result[13] = ctx->d >> 8; - result[14] = ctx->d >> 16; - result[15] = ctx->d >> 24; - memset(ctx, 0, sizeof(*ctx)); -} - -static unsigned int buz_noise[256] = -{ - 0x9be502a4U, 0xba7180eaU, 0x324e474fU, 0x0aab8451U, 0x0ced3810U, - 0x2158a968U, 0x6bbd3771U, 0x75a02529U, 0x41f05c14U, 0xc2264b87U, - 0x1f67b359U, 0xcd2d031dU, 0x49dc0c04U, 0xa04ae45cU, 0x6ade28a7U, - 0x2d0254ffU, 0xdec60c7cU, 0xdef5c084U, 0x0f77ffc8U, 0x112021f6U, - 0x5f6d581eU, 0xe35ea3dfU, 0x3216bfb4U, 0xd5a3083dU, 0x7e63e9cdU, - 0xaa9208f6U, 0xda3f3978U, 0xfe0e2547U, 0x09dfb020U, 0xd97472c5U, - 0xbbce2edeU, 0x121aebd2U, 0x0e9fdbebU, 0x7b6f5d9cU, 0x84938e43U, - 0x30694f2dU, 0x86b7a7f8U, 0xefaf5876U, 0x263812e6U, 0xb6e48ddfU, - 0xce8ed980U, 0x4df591e1U, 0x75257b35U, 0x2f88dcffU, 0xa461fe44U, - 0xca613b4dU, 0xd9803f73U, 0xea056205U, 0xccca7a89U, 0x0f2dbb07U, - 0xc53e359eU, 0xe80d0137U, 0x2b2d2a5dU, 0xcfc1391aU, 0x2bb3b6c5U, - 0xb66aea3cU, 0x00ea419eU, 0xce5ada84U, 0xae1d6712U, 0x12f576baU, - 0x117fcbc4U, 0xa9d4c775U, 0x25b3d616U, 0xefda65a8U, 0xaff3ef5bU, - 0x00627e68U, 0x668d1e99U, 0x088d0eefU, 0xf8fac24dU, 0xe77457c7U, - 0x68d3beb4U, 0x921d2acbU, 0x9410eac9U, 0xd7f24399U, 0xcbdec497U, - 0x98c99ae1U, 0x65802b2cU, 0x81e1c3c4U, 0xa130bb09U, 0x17a87badU, - 0xa70367d6U, 0x148658d4U, 0x02f33377U, 0x8620d8b6U, 0xbdac25bdU, - 0xb0a6de51U, 0xd64c4571U, 0xa4185ba0U, 0xa342d70fU, 0x3f1dc4c1U, - 0x042dc3ceU, 0x0de89f43U, 0xa69b1867U, 0x3c064e11U, 0xad1e2c3eU, - 0x9660e8cdU, 0xd36b09caU, 0x4888f228U, 0x61a9ac3cU, 0xd9561118U, - 0x3532797eU, 0x71a35c22U, 0xecc1376cU, 0xab31e656U, 0x88bd0d35U, - 0x423b20ddU, 0x38e4651cU, 0x3c6397a4U, 0x4a7b12d9U, 0x08b1cf33U, - 0xd0604137U, 0xb035fdb8U, 0x4916da23U, 0xa9349493U, 0xd83daa9bU, - 0x145f7d95U, 0x868531d6U, 0xacb18f17U, 0x9cd33b6fU, 0x193e42b9U, - 0x26dfdc42U, 0x5069d8faU, 0x5bee24eeU, 0x5475d4c6U, 0x315b2c0cU, - 0xf764ef45U, 0x01b6f4ebU, 0x60ba3225U, 0x8a16777cU, 0x4c05cd28U, - 0x53e8c1d2U, 0xc8a76ce5U, 0x8045c1e6U, 0x61328752U, 0x2ebad322U, - 0x3444f3e2U, 0x91b8af11U, 0xb0cee675U, 0x55dbff5aU, 0xf7061ee0U, - 0x27d7d639U, 0xa4aef8c9U, 0x42ff0e4fU, 0x62755468U, 0x1c6ca3f3U, - 0xe4f522d1U, 0x2765fcb3U, 0xe20c8a95U, 0x3a69aea7U, 0x56ab2c4fU, - 0x8551e688U, 0xe0bc14c2U, 0x278676bfU, 0x893b6102U, 0xb4f0ab3bU, - 0xb55ddda9U, 0xa04c521fU, 0xc980088eU, 0x912aeac1U, 0x08519badU, - 0x991302d3U, 0x5b91a25bU, 0x696d9854U, 0x9ad8b4bfU, 0x41cb7e21U, - 0xa65d1e03U, 0x85791d29U, 0x89478aa7U, 0x4581e337U, 0x59bae0b1U, - 0xe0fc9df3U, 0x45d9002cU, 0x7837464fU, 0xda22de3aU, 0x1dc544bdU, - 0x601d8badU, 0x668b0abcU, 0x7a5ebfb1U, 0x3ac0b624U, 0x5ee16d7dU, - 0x9bfac387U, 0xbe8ef20cU, 0x8d2ae384U, 0x819dc7d5U, 0x7c4951e7U, - 0xe60da716U, 0x0c5b0073U, 0xb43b3d97U, 0xce9974edU, 0x0f691da9U, - 0x4b616d60U, 0x8fa9e819U, 0x3f390333U, 0x6f62fad6U, 0x5a32b67cU, - 0x3be6f1c3U, 0x05851103U, 0xff28828dU, 0xaa43a56aU, 0x075d7dd5U, - 0x248c4b7eU, 0x52fde3ebU, 0xf72e2edaU, 0x5da6f75fU, 0x2f5148d9U, - 0xcae2aeaeU, 0xfda6f3e5U, 0xff60d8ffU, 0x2adc02d2U, 0x1dbdbd4cU, - 0xd410ad7cU, 0x8c284aaeU, 0x392ef8e0U, 0x37d48b3aU, 0x6792fe9dU, - 0xad32ddfaU, 0x1545f24eU, 0x3a260f73U, 0xb724ca36U, 0xc510d751U, - 0x4f8df992U, 0x000b8b37U, 0x292e9b3dU, 0xa32f250fU, 0x8263d144U, - 0xfcae0516U, 0x1eae2183U, 0xd4af2027U, 0xc64afae3U, 0xe7b34fe4U, - 0xdf864aeaU, 0x80cc71c5U, 0x0e814df3U, 0x66cc5f41U, 0x853a497aU, - 0xa2886213U, 0x5e34a2eaU, 0x0f53ba47U, 0x718c484aU, 0xfa0f0b12U, - 0x33cc59ffU, 0x72b48e07U, 0x8b6f57bcU, 0x29cf886dU, 0x1950955bU, - 0xcd52910cU, 0x4cecef65U, 0x05c2cbfeU, 0x49df4f6aU, 0x1f4c3f34U, - 0xfadc1a09U, 0xf2d65a24U, 0x117f5594U, 0xde3a84e6U, 0x48db3024U, - 0xd10ca9b5U -}; - - -/* - * our delta search blocksize - * - * smaller gives more hits, but increases the hash size - * - * must be a multiple of 256 - * must be in range [256,32767] - */ -#define DELTA_BSIZE 1024 - -/* min store block len, smaller blocks are encoded as direct data */ -#define MIN_BSIZE 32 - -/* min meta block len, must be >= 10 */ -#define MIN_BSIZE_META 32 - -/* max meta block len, must be <= DELTA_BSIZE */ -#define MAX_BSIZE_META DELTA_BSIZE - -/* number of slots per data area */ -#define SLOTS_PER_AREA 4095 - - -/* buzhash by Robert C. Uzgalis */ -/* General hash functions. Technical Report TR-92-01, The University - of Hong Kong, 1993 */ - -static unsigned int buzhash(unsigned char *buf) -{ - unsigned int x = 0x83d31df4U; - int i; - for (i = DELTA_BSIZE ; i != 0; i--) - x = (x << 1) ^ (x & (1 << 31) ? 1 : 0) ^ buz_noise[*buf++]; - return x; -} - -static void md5block(unsigned char *buf, int len, unsigned char *out) -{ - MD5_CTX ctx; - md5_init(&ctx); - md5_update(&ctx, buf, (unsigned long)len); - md5_final(&ctx, out); -} - -#define HASHCHAIN_START 7 -#define HASHCHAIN_NEXT(h, hh, mask) (((h) + (hh)++) & (mask)) - - -struct deltastore { - int fd; /* file descriptor */ - int rdonly; /* store is read only */ - - unsigned long long end; /* store file size */ - - unsigned long long *offsets; /* the data areas we know about */ - int noffsets; - - unsigned char *hash; /* our hash */ - unsigned int hm; /* size of hash */ - unsigned int hf; /* hash fill */ - unsigned int hd; /* entries not in hash */ - - int freecnt; /* free slots in last slot area */ - int usedcnt; /* used slots in last slot area */ - unsigned long long slotsoffset; /* offset of last slot area */ -}; - -struct deltaout { - FILE *fp; - struct deltastore *store; - - /* for block coalescence */ - unsigned long long oldoffset; - unsigned long long oldsize; - - /* for offset encoding */ - unsigned long long lastoffset; - - /* for meta block creation */ - int outbuf_do_meta; /* create meta blocks */ - unsigned char outbuf[MAX_BSIZE_META + 16]; /* 16 extra bytes for one encoded block */ - int outbuf_len; - /* offset patching */ - unsigned long long outbuf_startoffset; - int outbuf_startoffset_set; - int outbuf_set_len1; - int outbuf_set_len2; - unsigned long long outbuf_set_offset; /* offset we need to patch in, already encoded */ -}; - -static inline unsigned long long getu48(unsigned char *d) -{ - unsigned long long x = d[0] << 8 | d[1]; - return (x << 32) | (d[2] << 24 | d[3] << 16 | d[4] << 8 | d[5]); -} - -static inline void putu48(unsigned char *d, unsigned long long x) -{ - d[0] = x >> 40; - d[1] = x >> 32; - d[2] = x >> 24; - d[3] = x >> 16; - d[4] = x >> 8; - d[5] = x; -} - -static inline unsigned int getu32(unsigned char *d) -{ - return d[0] << 24 | d[1] << 16 | d[2] << 8 | d[3]; -} - -static inline void putu32(unsigned char *d, unsigned int x) -{ - d[0] = x >> 24; - d[1] = x >> 16; - d[2] = x >> 8; - d[3] = x; -} - -/** - ** store handling - **/ - -static int -finddataarea(struct deltastore *store, unsigned long long offset) -{ - int i; - for (i = 0; i < store->noffsets; i += 2) - if (offset >= store->offsets[i] && offset < store->offsets[i + 1]) - return i; - return -1; -} - -static void -adddataarea(struct deltastore *store, unsigned long long start, unsigned long long end) -{ - unsigned long long *newoffsets; - if (store->noffsets && store->offsets[store->noffsets - 1] == start) - { - store->offsets[store->noffsets - 1] = end; - return; - } - if (store->offsets) - newoffsets = realloc(store->offsets, (store->noffsets + 2) * sizeof(unsigned long long)); - else - newoffsets = malloc((store->noffsets + 2) * sizeof(unsigned long long)); - if (!newoffsets) - return; - newoffsets[store->noffsets++] = start; - newoffsets[store->noffsets++] = end; - store->offsets = newoffsets; -} - -static int -addslotarea(struct deltastore *store, int cnt) -{ - unsigned char *slots; - if (!cnt || cnt > 65535) - return 0; - if (store->rdonly) - return 0; - if ((store->end & 4095) != 0) /* pad to multiple of 4096 */ - { - char pad[4096]; - int l = 4096 - (store->end & 4095); - memset(pad, 0, l); - if (pwrite(store->fd, pad, l, store->end) != l) - { - perror("pwrite pad next slotsarea"); - return 0; - } - store->end += l; - } - if (store->end + (cnt + 1) * 16 >= (1LL << 48)) - return 0; /* store too big! */ - slots = calloc(cnt + 1, 16); - if (!slots) - return 0; - memcpy(slots, "OBSDELT", 8); - slots[8] = cnt >> 8; - slots[9] = cnt; - /* write pointer to next slot area */ - if (store->end) - { - putu48(slots + 10, store->end); - if (pwrite(store->fd, slots, 16, store->slotsoffset) != 16) - { - perror("pwrite update next slotsarea"); - free(slots); - return 0; - } - memset(slots + 10, 0, 6); - } - if (pwrite(store->fd, slots, (cnt + 1) * 16, store->end) != (cnt + 1) * 16) - { - perror("pwrite new slotarea"); - free(slots); - return 0; - } - free(slots); - store->slotsoffset = store->end; - store->end += (cnt + 1) * 16; - store->freecnt = cnt; - store->usedcnt = 0; - return 1; -} - -/* - * add a new block to the store. - * returns the store offset, 0 on error - */ -static unsigned long long -putinstore(struct deltastore *store, unsigned char *buf, int size, unsigned char *md5, unsigned int hx) -{ - unsigned char md5buf[16]; - unsigned char hp[16]; - unsigned long long offset; - - unsigned char *hash; - unsigned int h, hh, hm; - - if (!size || size > DELTA_BSIZE) - return 0; - - if (store->rdonly) - return 0; - if (store->freecnt == 0 && !addslotarea(store, SLOTS_PER_AREA)) - return 0; - - /* write data */ - offset = store->end; - if (offset + size >= (1LL << 48)) - return 0; /* store too big! */ - if (pwrite(store->fd, buf, size, store->end) != size) - { - perror("pwrite data"); - return 0; - } - adddataarea(store, store->end, store->end + size); - store->end += size; - - /* write slot */ - if (!md5) - { - md5block(buf, size, md5buf); - md5 = md5buf; - } - hp[0] = size >> 8; - hp[1] = size; - putu48(hp + 2, offset); - if (size == DELTA_BSIZE) - { - if (!hx) - hx = buzhash(buf); - putu32(hp + 8, hx); - memcpy(hp + 12, md5, 4); - } - else - { - hp[0] |= 0x80; /* small block marker */ - memcpy(hp + 8, md5, 8); - hx = getu32(hp + 8); /* needed later */ - } -#if 0 -{ - int j; - printf("NEW SLOT"); - for (j = 0; j < 16; j++) - printf(" %02x", hp[j]); - printf("\n"); -} -#endif - if (pwrite(store->fd, hp, 16, store->slotsoffset + (store->usedcnt + 1) * 16) != 16) - { - perror("pwrite slot"); - return 0; - } - store->freecnt--; - store->usedcnt++; - - /* update hash */ - hm = store->hm; - hash = store->hash; - h = hx & hm; - hh = HASHCHAIN_START; - while (hash[16 * h] != 0) - h = HASHCHAIN_NEXT(h, hh, hm); - memcpy(hash + 16 * h, hp, 16); - store->hf++; - return offset; -} - -/* make sure that we found the correct block */ -static int -checkstore(struct deltastore *store, unsigned long long offset, unsigned char *buf, int size) -{ - unsigned char buf2[4096]; - while (size) - { - int l = size > 4096 ? 4096 : size; - if (pread(store->fd, buf2, l, offset) != l) - return 0; - if (memcmp(buf2, buf, l) != 0) - return 0; - size -= l; - buf += l; - offset += l; - } - return 1; -} - -/* - * try to find a (non-rolling) block in the store. If not found, add it. - * returns the store offset, 0 on error - */ -static unsigned long long -reuse_or_add_block(struct deltastore *store, unsigned char *buf, int size) -{ - unsigned char md5[16]; - unsigned int h, hh, hm; - unsigned char *hash; - unsigned long long offset; - - if (!size || size >= DELTA_BSIZE) - return 0; /* only small non-rolling blocks for now */ - md5block(buf, size, md5); - hm = store->hm; - hash = store->hash; - h = (md5[0] << 24 | md5[1] << 16 | md5[2] << 8 | md5[3]) & hm; - hh = HASHCHAIN_START; - while (hash[16 * h] != 0) - { - unsigned char *hp = hash + 16 * h; - if (((hp[0] & 0x7f) << 8 | hp[1]) == size && !memcmp(hp + 8, md5, 8)) - { - offset = getu48(hp + 2); - if (checkstore(store, offset, buf, size)) - return offset; - } - h = HASHCHAIN_NEXT(h, hh, hm); - } - return putinstore(store, buf, size, md5, 0); -} - -/** - ** block encoding - **/ - -static int -encodelonglong(FILE *ofp, unsigned long long x) -{ - unsigned long long z = 1; - int c; - do - { - z = z << 7 | (x & 127); - x >>= 7; - } - while (x); - for (;;) - { - c = (z & 127) | 128; - z >>= 7; - if (z == 1) - break; - if (putc(c, ofp) == EOF) - return 0; - } - if (putc(c ^ 128, ofp) == EOF) - return 0; - return 1; -} - -static int -encodelonglong_mem(unsigned char *bp, unsigned long long x) -{ - unsigned long long z = 1; - int c; - int l = 0; - do - { - z = z << 7 | (x & 127); - x >>= 7; - } - while (x); - for (;;) - { - c = (z & 127) | 128; - z >>= 7; - if (z == 1) - break; - *bp++ = c; - l++; - } - *bp = c ^ 128;; - return l + 1; -} - - -#if 1 -/* fancy delta conversion, seems to work better than the simple xor */ -static inline unsigned long long -encodeoffset(unsigned long long oldoffset, unsigned long long offset) -{ - if (oldoffset & (1LL << 47)) - { - offset ^= ((1LL << 48) - 1); - oldoffset ^= ((1LL << 48) - 1); - } - if (offset < oldoffset * 2) - { - if (offset < oldoffset) - offset = (oldoffset - offset - 1) << 1 | 1; - else - offset = (offset - oldoffset) << 1; - } - return offset; -} - -static inline unsigned long long -decodeoffset(unsigned long long oldoffset, unsigned long long offset) -{ - int neg = oldoffset & (1LL << 47) ? ((1LL << 48) - 1) : 0; - oldoffset ^= neg; - if (offset < oldoffset * 2) - { - if (offset & 1) - offset = oldoffset - ((offset >> 1) + 1); - else - offset = oldoffset + (offset >> 1); - } - return offset ^ neg; -} - -#else -static inline unsigned long long -encodeoffset(unsigned long long oldoffset, unsigned long long offset) -{ - return oldoffset ^ offset; -} - -static inline unsigned long long -decodeoffset(unsigned long long oldoffset, unsigned long long offset) -{ - return oldoffset ^ offset; -} -#endif - -static int -flushoutbuf(struct deltaout *out) -{ - if (!out->outbuf_len) - return 1; - if (out->outbuf_len >= MAX_BSIZE_META) - return 0; - - if (out->outbuf_len >= MIN_BSIZE_META) - { - /* put as meta block into store! */ - int size = out->outbuf_len; - unsigned long long offset; -#if 0 - printf("META size %d\n", out->outbuf_len); -#endif - offset = reuse_or_add_block(out->store, out->outbuf, size); - if (!offset) - return 0; - /* encode meta block into outbuf */ - if (out->outbuf_startoffset_set) - out->lastoffset = out->outbuf_startoffset; - out->outbuf[0] = 15; /* meta */ - out->outbuf_len = 1; - out->outbuf_len += encodelonglong_mem(out->outbuf + out->outbuf_len, size); - out->outbuf_len += encodelonglong_mem(out->outbuf + out->outbuf_len, encodeoffset(out->lastoffset, offset)); - out->lastoffset = offset + size; - out->outbuf_startoffset_set = 0; - } - - if (out->outbuf_startoffset_set) - { - /* tricky: fix up first offset! */ - unsigned char buf[9]; - int l = encodelonglong_mem(buf, out->outbuf_set_offset); - if (fwrite(out->outbuf, out->outbuf_set_len1, 1, out->fp) != 1) - return 0; - if (fwrite(buf, l, 1, out->fp) != 1) - return 0; - if (out->outbuf_set_len2 < out->outbuf_len && fwrite(out->outbuf + out->outbuf_set_len2, out->outbuf_len - out->outbuf_set_len2, 1, out->fp) != 1) - return 0; - } - else if (fwrite(out->outbuf, out->outbuf_len, 1, out->fp) != 1) - return 0; - out->outbuf_len = 0; - out->outbuf_startoffset_set = 0; - return 1; -} - -static int -encodestoreblock_real(struct deltaout *out, unsigned long long offset, unsigned long long size) -{ -#if 0 - printf("BLOCK %#llx %llu\n", offset, size); -#endif - if (out->outbuf_do_meta) - { - int lastlen = out->outbuf_len; - /* the following code is needed as we want to use a lastoffset of - * zero if this ends up in a meta instruction. So we encode with - * lastoffset zero but also store the real lastoffset and byte offsets, - * in order to fix up the offset in flushbuf */ - int set = out->outbuf_startoffset_set; - if (!set) - { - out->outbuf_startoffset_set = 1; - out->outbuf_startoffset = out->lastoffset; - out->outbuf_set_offset = encodeoffset(out->lastoffset, offset); - out->lastoffset = 0; - } - out->outbuf_len += encodelonglong_mem(out->outbuf + out->outbuf_len, out->oldsize + 256); - if (!set) - out->outbuf_set_len1 = out->outbuf_len; - out->outbuf_len += encodelonglong_mem(out->outbuf + out->outbuf_len, encodeoffset(out->lastoffset, offset)); - if (!set) - out->outbuf_set_len2 = out->outbuf_len; - - if (out->outbuf_len >= DELTA_BSIZE) - { - /* buffer too full. revert changes. flush outbuf. retry */ - out->outbuf_len = lastlen; - if (!set) - { - out->outbuf_startoffset_set = 0; - out->lastoffset = out->outbuf_startoffset; - } - if (!flushoutbuf(out)) - return 0; - return encodestoreblock_real(out, offset, size); - } - } - else - { - if (!encodelonglong(out->fp, size + 256)) - return 0; - if (!encodelonglong(out->fp, encodeoffset(out->lastoffset, offset))) - return 0; - } - out->lastoffset = offset + size; - return 1; -} - -/* encode a store block instruction - * we delay the real encoding so that we can join adjacent blocks - */ -static int -encodestoreblock(struct deltaout *out, unsigned long long offset, unsigned long long size) -{ - if (out->oldoffset) - { - if (out->oldoffset + out->oldsize == offset) - { - out->oldsize += size; - return 1; - } - if (!encodestoreblock_real(out, out->oldoffset, out->oldsize)) - return 0; - } - out->oldoffset = offset; /* block not yet written */ - out->oldsize = size; - return 1; -} - -/* encode a direct data instruction - */ -static int -encodedirect(struct deltaout *out, unsigned char *buf, int size) -{ - if (!size) - return 1; - if (size >= 256 - 16) - return 0; - if (out->oldoffset) - { - if (!encodestoreblock(out, 0, 0)) /* flush */ - return 0; - } -#if 0 - printf("DIRECT %u\n", size); -#endif - if (out->outbuf_do_meta) - { - if (out->outbuf_len + 1 + size >= DELTA_BSIZE) - { - /* buffer too full. flush outbuf */ - if (!flushoutbuf(out)) - return 0; - } - out->outbuf[out->outbuf_len++] = 16 + size; - memcpy(out->outbuf + out->outbuf_len, buf, size); - out->outbuf_len += size; - } - else - { - if (putc(16 + size, out->fp) == EOF) - return 0; - if (fwrite(buf, size, 1, out->fp) != 1) - return 0; - } - return 1; -} - -/** - ** the delta algorithm - **/ - -static unsigned long long -extendblock(struct deltastore *store, FILE *fp, unsigned long long offset, unsigned long long areaend, unsigned long long maxextend) -{ - unsigned char buf[1024]; - int c, i, bufl; - unsigned long long extend = 0; - - if (offset >= areaend) - return 0; - if (areaend - offset < maxextend) - maxextend = areaend - offset; - if (!maxextend) - return 0; - i = bufl = 0; - for (;;) - { - if (i == bufl) - { - bufl = maxextend > 1024 ? 1024 : maxextend; - if (bufl == 0) - return extend; - if (pread(store->fd, buf, bufl, (off_t)offset) != bufl) - return extend; - offset += bufl; - maxextend -= bufl; - i = 0; - } - c = getc(fp); - if (c == EOF) - return extend; - if (buf[i++] != c) - { - ungetc(c, fp); - return extend; - } - extend++; - } -} - -static unsigned long long -extendblock_back(struct deltastore *store, unsigned char *data, unsigned long long offset, unsigned long long areastart, unsigned long long maxextend) -{ - unsigned char buf[1024]; - unsigned long long extend = 0; - int bufl; - - if (offset <= areastart) - return 0; - if (offset - areastart < maxextend) - maxextend = offset - areastart; - if (!maxextend) - return 0; - bufl = 0; - for (;;) - { - if (bufl == 0) - { - bufl = maxextend > 1024 ? 1024 : maxextend; - if (bufl == 0) - return extend; - offset -= bufl; - if (pread(store->fd, buf, bufl, (off_t)offset) != bufl) - return extend; - maxextend -= bufl; - } - if (*--data != buf[--bufl]) - return extend; - extend++; - } -} - -static int -dosimple(struct deltastore *store, struct deltaout *out, unsigned char *buf, int size) -{ - unsigned long long offset; - - while (size >= DELTA_BSIZE) - { - offset = putinstore(store, buf, DELTA_BSIZE, 0, 0); - if (!offset || !encodestoreblock(out, offset, DELTA_BSIZE)) - return 0; - size -= DELTA_BSIZE; - buf += DELTA_BSIZE; - } - if (size < MIN_BSIZE) - return encodedirect(out, buf, size); - offset = reuse_or_add_block(store, buf, size); - if (!offset) - return 0; - return encodestoreblock(out, offset, size); -} - -static int -dodelta(struct deltastore *store, FILE *fp, struct deltaout *out, unsigned long long size) -{ - unsigned char buf[DELTA_BSIZE * 16]; - unsigned char md5[16]; - unsigned long long offset, extendf, extendb; - unsigned int h, hh, hm, hx; - unsigned char *hash; - int c, foundit, bi; - -#if 0 - printf("DODELTA\n"); -#endif - hm = store->hm; - hash = store->hash; - while (size) - { - if (size < DELTA_BSIZE) - { - if (fread(buf, (int)size, 1, fp) != 1) - return 0; - if (!dosimple(store, out, buf, (int)size)) - return 0; - break; - } - /* read a block */ - bi = 0; - if (fread(buf, DELTA_BSIZE, 1, fp) != 1) - return 0; - size -= DELTA_BSIZE; - - hx = buzhash(buf); - foundit = 0; - - /* start rolling */ - for (;;) - { - int md5set = 0; - /* check if the block at (buf + bi) is in the hash */ -#if 0 - if (hx != buzhash(buf + bi)) - abort(); -#endif - hh = HASHCHAIN_START; - for (h = hx & hm; hash[16 * h] != 0; h = HASHCHAIN_NEXT(h, hh, hm)) - { - unsigned char *hp = hash + 16 * h; - /* first check block len */ - if (hp[0] != (DELTA_BSIZE >> 8) || hp[1] != (DELTA_BSIZE & 0xff)) - continue; - /* then check complete hash value */ - if (hp[8] != (hx >> 24)) - continue; - if ((hp[8] << 24 | hp[9] << 16 | hp[10] << 8 | hp[11]) != hx) - continue; - /* then check strong hash */ - if (!md5set) - { - md5block(buf + bi, DELTA_BSIZE, md5); - md5set = 1; - } - if (memcmp(hp + 12, md5, 4) != 0) - continue; - /* looks good. check data */ - offset = getu48(hp + 2); - if (!checkstore(store, offset, buf + bi, DELTA_BSIZE)) - continue; - /* yes! found block in store! */ - /* try to extend found block */ - c = finddataarea(store, offset); - extendf = extendb = 0; - if (c >= 0) - { - extendf = extendblock(store, fp, offset + DELTA_BSIZE, store->offsets[c + 1], size); - size -= extendf; /* extended bytes */ - extendb = extendblock_back(store, buf + bi, offset, store->offsets[c], bi); - offset -= extendb; - bi -= extendb; - } - /* encode data before block */ - if (bi) - { - if (!dosimple(store, out, buf, bi)) - return 0; - bi = 0; - } - /* encode */ - if (!encodestoreblock(out, offset, DELTA_BSIZE + extendf + extendb)) - return 0; - foundit = 1; - break; - } - if (foundit) - break; - - /* not found. move block one byte */ - if (!size) - { - if (!dosimple(store, out, buf, bi + DELTA_BSIZE)) - return 0; - break; - } - c = fgetc(fp); - if (c == EOF) - return 0; - size--; - buf[DELTA_BSIZE + bi] = c; - hx = (hx << 1) ^ (hx & (1 << 31) ? 1 : 0) ^ buz_noise[c]; - c = buf[bi++]; - hx ^= buz_noise[c] ^ (0x83d31df4U ^ 0x07a63be9U); - if (bi == sizeof(buf) - DELTA_BSIZE) - { - /* trim down, but leave one block for backward extension */ - if (!dosimple(store, out, buf, bi - DELTA_BSIZE)) - return 0; - /* no overlap as the buffer is >= 4 * DELTA_BSIZE */ - memcpy(buf, buf + bi - DELTA_BSIZE, 2 * DELTA_BSIZE); - bi = DELTA_BSIZE; - } - } - } - if (!encodestoreblock(out, 0, 0)) /* flush */ - return 0; - if (!flushoutbuf(out)) - return 0; - return 1; -} - -static int -readdeltastore(struct deltastore *store, int fd, int rdonly, unsigned long long xsize) -{ - unsigned char *slots; - unsigned char oneslot[16]; - unsigned long long offset, nextoffset, lastgoodoffset; - struct stat st; - unsigned long long fsize; - unsigned int nslots = 0, hslots; - unsigned char *hash; - unsigned int hm, h, hh, hf, hd; - int isbad = 0; - int i, lasti, cnt, maxcnt = 0; - unsigned int drop = 0; - - memset(store, 0, sizeof(*store)); - store->fd = fd; - store->rdonly = rdonly; - if (fstat(fd, &st)) - { - perror("fstat"); - return 0; - } - fsize = (unsigned long long)st.st_size; - store->end = fsize; - - /* first pass: find number of used entries */ - offset = 0; - lastgoodoffset = -1; - for (;;) - { - if (offset == fsize) - break; - if (offset + 16 > fsize) - { - fprintf(stderr, "WARNING: slot area exceeds file size!\n"); - isbad = 1; - break; - } - if (pread(fd, oneslot, 16, offset) != 16) - return 0; - if (memcmp(oneslot, "OBSDELT", 8) != 0) - { - fprintf(stderr, "WARNING: slot magic error!\n"); - isbad = 1; - break; - } - cnt = oneslot[8] << 8 | oneslot[9]; - nextoffset = getu48(oneslot + 10); - if (!nextoffset) - nextoffset = fsize; - offset += (cnt + 1) * 16; - if (offset > fsize) - { - fprintf(stderr, "WARNING: slot area exceeds file size!\n"); - isbad = 1; - break; - } - nslots += cnt; - lastgoodoffset = offset - (cnt + 1) * 16; - if (cnt > maxcnt) - maxcnt = cnt; - if (offset > nextoffset) - { - fprintf(stderr, "WARNING: end of slots bigger than nextoffset!\n"); - isbad = 1; - break; - } - offset = nextoffset; - } - - if (isbad && !store->rdonly) - { - fprintf(stderr, "WARNING: fixing up bad slots!\n"); - if (lastgoodoffset == -1) - { - /* worst case: first slots area is damaged */ - memset(oneslot, 0, 16); - memcpy(oneslot, "OBSDELT", 8); - putu48(oneslot + 10, fsize); - if (pwrite(store->fd, oneslot, 16, 0) != 16) - { - perror("pwrite repair first slots area"); - return 0; - } - } - else - { - putu48(oneslot + 10, fsize); - if (pwrite(store->fd, oneslot + 10, 6, lastgoodoffset + 10) != 6) - { - perror("pwrite repair bad slots area nextoffset"); - return 0; - } - } - isbad = 0; - } - - slots = calloc(maxcnt + 1, 16); - if (!slots) - return 0; - - /* find good hash size and allocate hash */ - hslots = nslots + xsize / 512; - while (hslots & (hslots - 1)) - hslots = hslots & (hslots - 1); - if (hslots < 16384) - hslots = 16384; /* 1 MByte min mem */ - while (hslots > 128 * 1024 * 1024) /* 8 GByte max mem */ - { - /* oh no. max size reached. drop half of slots */ - hslots >>= 1; - drop += (drop ? drop : nslots) / 2; - } - hslots *= 4; - store->hm = hm = hslots - 1; - store->hash = hash = calloc(hm + 1, 16); - if (!hash) - { - fprintf(stderr, "could not allocate hash (%u MB)\n", (hm + 1) / (1024 * 1024 / 16)); - free(slots); - return 0; - } - - /* second pass: fill the hash */ - offset = 0; - hf = hd = 0; - for (;;) - { - int toread = 16 * (maxcnt + 1); - if (isbad && lastgoodoffset == -1) - break; - if (offset >= fsize) - break; - if (offset + toread > fsize) - toread = fsize - offset; - if (pread(fd, slots, toread, offset) != toread) - { - free(slots); - return 0; - } - if (memcmp(slots, "OBSDELT", 8) != 0) - break; - cnt = oneslot[8] << 8 | oneslot[9]; - offset += 16 * (cnt + 1); - nextoffset = getu48(slots + 10); - if (!nextoffset) - nextoffset = fsize; - if (offset > nextoffset) - break; - if (offset != nextoffset) - adddataarea(store, offset, nextoffset); - lasti = 0; - for (i = 1; i < cnt + 1; i++) - if (slots[16 * i]) - { - unsigned char *hp = slots + 16 * i; - int len = (hp[0] & 127) << 8 | hp[1]; - unsigned long long o = getu48(hp + 2); - lasti = i; - if (drop) - { - drop--; - hd++; - } - else if (o >= offset && o + len <= nextoffset) - { - /* a good one. add to hash. */ - h = getu32(hp + 8) & hm; - hh = HASHCHAIN_START; - while (hash[16 * h] != 0) - h = HASHCHAIN_NEXT(h, hh, hm); - memcpy(hash + 16 * h, hp, 16); - hf++; - } - } - store->slotsoffset = offset - 16 * (cnt + 1); - store->freecnt = cnt - lasti; - store->usedcnt = lasti; - if (isbad && lastgoodoffset == store->slotsoffset) - break; - offset = nextoffset; - } - store->hf = hf; - store->hd = hd; -#if 0 - printf("readdeltastore: have %d entries, %d dropped, hash size %d\n", hf, hd, hm + 1); -#endif - free(slots); - return 1; -} - -static void -printdeltastorestats(struct deltastore *store) -{ - unsigned int buckets[2048]; - unsigned int hm, hf, hd; - unsigned char *hp; - int i, j, bc = 16; - - memset(buckets, 0, sizeof(buckets)); - hm = store->hm; - hf = store->hf; - hd = store->hd; - - printf("store size: %llu (%u MB)\n", store->end, (unsigned int)(store->end / (1024 * 1024))); - printf("hash mask: 0x%x (%u MB hash mem)\n", hm, (unsigned int)(hm / 65536) + 1); - printf("hash entries set: %u (%.2f %%)\n", hf, ((double)hf * 100) / ((double)hm + 1)); - printf("hash entries dropped: %u (%.2f %%)\n", hd, hd ? ((double)hd * 100) / ((double)hf + (double)hd) : 0.); - for (hp = store->hash;; hp += 16) - { - if (hp[0]) - buckets[((hp[0] & 0x7f) << 8 | hp[1]) / 16]++; - if (!hm--) - break; - } - for (i = 2047; i >= 1; i--) - if (buckets[i]) - break; - i++; - while (i > 16) - { - for (j = 0; j < i; j += 2) - buckets[j / 2] = buckets[j] + buckets[j + 1]; - i = (i + 1) / 2; - bc *= 2; - } - printf("block stats:\n"); - for (j = 0; j < i; j++) - printf(" size %#6x - %#6x: %10u\n", j * bc, j * bc + bc - 1, buckets[j]); - printf("data areas: %d\n", store->noffsets / 2); -} - -static void -freedeltastore(struct deltastore *store) -{ - if (store->hash) - free(store->hash); - if (store->offsets) - free(store->offsets); -} - -static void -settimes(int fd, struct stat *st) -{ - struct timeval tv[2]; - - tv[0].tv_sec = st->st_atime; - tv[0].tv_usec = 0; - tv[1].tv_sec = st->st_mtime; - tv[1].tv_usec = 0; - futimes(fd, tv); -} - -static int -checkhexcomp(unsigned char *buf) -{ - int i, hexcomp = 0; - for (i = 0; i < 110; i++) - { - int c = *buf++; - if (c >= '0' && c <= '9') - continue; - else if (c >= 'A' && c <= 'F') - { - if (!hexcomp) - hexcomp = 1; - if (hexcomp != 1) - break; - } - else if (c >= 'a' && c <= 'f') - { - if (!hexcomp) - hexcomp = 2; - if (hexcomp != 2) - break; - } - else - break; - } - if (i < 110) - return 0; - return hexcomp ? hexcomp : 1; -} - -static unsigned int fromhex(unsigned char *hex) -{ - int i; - unsigned int x = 0; - for (i = 0; i < 8; i++, hex++) - { - if (*hex >= '0' && *hex <= '9') - x = x << 4 | (*hex - '0'); - else if (*hex >= 'a' && *hex <= 'f') - x = x << 4 | (*hex - ('a' - 10)); - else if (*hex >= 'A' && *hex <= 'F') - x = x << 4 | (*hex - ('A' - 10)); - } - return x; -} - -static void -magic_inode_increment(unsigned char *cpio) -{ - unsigned int inode = getu32(cpio + 3); - if (inode) - putu32(cpio + 3, inode + 1); -} - -static int -makedelta(struct deltastore *store, FILE *fp, FILE *ofp, unsigned long long fpsize) -{ - unsigned char cpiohead[1024 + 16384]; - unsigned char oldcpio[1024]; - int trailerseen = 0; - int i, j; - struct deltaout out; - - if (fpsize >= (1LL << 40)) - return 0; - - /* init deltaout struct */ - memset(&out, 0, sizeof(out)); - out.fp = ofp; - out.store = store; - out.outbuf_do_meta = 1; /* create meta blocks */ - - /* write our header */ - memset(cpiohead, 0, 32); - memcpy(cpiohead, "OBScpio", 8); - putu48(cpiohead + 10, fpsize); - if (fwrite(cpiohead, 16, 1, ofp) != 1) - return 0; - - memset(oldcpio, 0, 1024); - while (!trailerseen) - { - unsigned long long fsize; - unsigned int hsize, nsize; - int run; - int hexcomp; - int noff = 110; - int zero; - - /* read the header */ - if (fread(cpiohead, 110, 1, fp) != 1) - { - fprintf(stderr, "cpio header read error\n"); - return 0; - } - if (memcmp(cpiohead, "070701", 6) != 0) - { - fprintf(stderr, "not a newc cpio archive\n"); - return 0; - } - fsize = fromhex(cpiohead + 54); - nsize = fromhex(cpiohead + 94); - if (nsize > 16384) - { - fprintf(stderr, "filename size too big\n"); - return 0; - } - hsize = noff + nsize; - if (hsize & 3) - hsize += 4 - (hsize & 3); - /* check if we can do hex compression */ - hexcomp = checkhexcomp(cpiohead); - if (hexcomp) - { - /* do fancy hex compression */ - cpiohead[0] = 0x07; - cpiohead[1] = 0x07; - cpiohead[2] = 0x01; - for (i = 3; i < 55; i += 4) - { - unsigned int x = fromhex(cpiohead + i * 2); - putu32(cpiohead + i, x); - } - noff -= 55; - hsize -= 55; - } - -#if 0 - printf("fsize = %d, nsize = %d, hsize = %d\n", fsize, nsize, hsize); -#endif - if (fread(cpiohead + noff, hsize - noff, 1, fp) != 1) - { - fprintf(stderr, "cpio header read error\n"); - return 0; - } - if (fsize == 0 && nsize == 11 && !memcmp(cpiohead + noff, "TRAILER!!!", 11)) - { - trailerseen = 1; - while (hsize < sizeof(cpiohead)) - { - int c = getc(fp); - if (c == EOF) - break; - cpiohead[hsize++] = c; - } - if (hsize == sizeof(cpiohead)) - { - fprintf(stderr, "excess trailer data\n"); - return 0; - } - } - /* check trailing zero */ - for (zero = 0; zero < 4; zero++) - if (cpiohead[hsize - 1 - zero] != 0) - break; - /* write the header */ - if (putc(2 + hexcomp, ofp) == EOF) - return 0; - for (i = 0; i < 1024 && i < hsize; i++) - { - cpiohead[i] ^= oldcpio[i]; - oldcpio[i] ^= cpiohead[i]; - } - if (hexcomp) - magic_inode_increment(oldcpio); - run = 0; - hsize -= zero; - for (i = 0; i < hsize; i++) - { - if (cpiohead[i] == 0) - { - run++; - if (i + 1 < hsize) - continue; - } - while (run) - { - int z = run > 127 ? 127 : run; - if (putc(z, ofp) == EOF) - return 0; - run -= z; - } - if (cpiohead[i] == 0) - break; /* ended in zero */ - for (j = i; j < hsize - 1; j++) - if (cpiohead[j] == 0 && cpiohead[j + 1] == 0) - break; - if (j == hsize - 1) - j = hsize; - j -= i; - if (j > 123) - j = 123; - if (putc(j + 128, ofp) == EOF) - return 0; - while (j-- > 0) - { - int z = cpiohead[i++]; - if (putc(z, ofp) == EOF) - return 0; - } - i--; - } - if (putc(zero ? zero + 251 : 0, ofp) == EOF) - return 0; - if (fsize) - { - if (!dodelta(store, fp, &out, fsize)) - return 0; - if ((fsize & 3) != 0) - { - i = 4 - (fsize & 3); - if (putc(4 + i, ofp) == EOF) - return 0; - while (i--) - { - if (getc(fp) != 0) - { - fprintf(stderr, "non-zero padding\n"); - return 0; - } - } - } - } - } - if (putc(1, ofp) == EOF) - return 0; - if (fflush(ofp) != 0) - return 0; - return 1; -} - -static unsigned long long -expandobscpio_next(FILE *fp) -{ - unsigned long long x = 0; - int i; - for (;;) - { - i = getc(fp); - if (i == EOF) - return (unsigned long long)(-1); - if ((i & 128) == 0) - return x << 7 | i; - x = x << 7 | (i ^ 128); - } -} - -static unsigned long long -expandobscpio_next_mem(unsigned char **bp, unsigned int *lp) -{ - unsigned long long x = 0; - unsigned char *b = *bp; - unsigned int l = *lp; - int i; - for (;;) - { - if (l == 0) - return (unsigned long long)(-1); - i = *b++; - l--; - if ((i & 128) == 0) - { - *bp = b; - *lp = l; - return x << 7 | i; - } - x = x << 7 | (i ^ 128); - } -} - -static int -expandobscpio_direct_mem(unsigned char **bp, unsigned int *lp, void *out, unsigned int outlen) -{ - if (*lp < outlen) - return 0; - if (outlen) - memcpy(out, *bp, outlen); - *bp += outlen; - *lp -= outlen; - return 1; -} - -static int -expandcpiohead(FILE *fp, FILE *ofp, unsigned char *cpio, int hexcomp) -{ - int l = 0; - int zero; - for (;;) - { - int c = getc(fp); - if (c == EOF) - return 0; - if (c == 0) - break; - if (c < 128) - zero = 1; - else if (c >= 252) - { - zero = -1; - c -= 251; - } - else - { - zero = 0; - c -= 128; - } - while (c-- > 0) - { - int x = zero ? 0 : getc(fp); - if (x == EOF) - return 0; - if (l < 1024) - { - if (zero >= 0) - x ^= cpio[l]; - cpio[l++] = x; - } - if (hexcomp && l <= 55) - { - int lettershift = (hexcomp == 1 ? 'A' : 'a') - ('0' + 10); - int x1 = (x >> 4) + '0'; - int x2 = (x & 15) + '0'; - if (x1 > '9') - x1 += lettershift; - if (x2 > '9') - x2 += lettershift; - if (putc(x1, ofp) == EOF || putc(x2, ofp) == EOF) - return 0; - } - else if (putc(x, ofp) == EOF) - return 0; - } - if (zero < 0) - break; - } - if (hexcomp) - magic_inode_increment(cpio); - return 1; -} - -static int -expandobscpio(FILE *fp, int fdstore, FILE *ofp) -{ - unsigned char magic[16]; - unsigned char metabuf[16384]; - unsigned char cpio[1024]; - unsigned long long o, l; - struct stat st; - unsigned long long oldoffset = 0; - unsigned char *meta = 0; - unsigned int metal = 0; - unsigned long long oldoffset_meta = 0; - - if (!fp || !ofp || fdstore == -1) - return 0; - if (fstat(fileno(fp), &st)) - return 0; - if (fread(magic, 16, 1, fp) != 1 || memcmp(magic, "OBScpio", 7) != 0) - return 0; - memset(cpio, 0, sizeof(cpio)); - for (;;) - { - if (meta && !metal) - { - meta = 0; - oldoffset = oldoffset_meta; - } - if (meta) - l = expandobscpio_next_mem(&meta, &metal); - else - l = expandobscpio_next(fp); - if (l == (unsigned long long)(-1)) - return 0; -#if 0 -printf("NEXT %d\n", l); -#endif - if (l < 16) - { - /* first 16 reserved as instructions */ - if (meta) - return 0; - if (l == 1) /* EOF */ - break; - if (l == 2 || l == 3 || l == 4) /* CPIO */ - { - if (!expandcpiohead(fp, ofp, cpio, l - 2)) - return 0; - } - else if (l == 5 || l == 6 || l == 7) /* ZERO */ - { - l -= 4; - while (l--) - if (putc(0, ofp) == EOF) - return 0; - } - else if (l == 15) /* META */ - { - l = expandobscpio_next(fp); - if (l == (unsigned long long)(-1)) - return 0; - if (l < 16 || l > sizeof(metabuf)) - return 0; - o = expandobscpio_next(fp); - if (o == (unsigned long long)(-1)) - return 0; - o = decodeoffset(oldoffset, o); - oldoffset_meta = o + l; - oldoffset = 0; - if (pread(fdstore, metabuf, (size_t)l, (off_t)o) != (size_t)l) - return 0; - metal = (unsigned int)l; - meta = metabuf; - } - else - return 0; - } - else if (l < 256) - { - /* direct bytes */ - l -= 16; - if (l) - { - char buf[256]; - if (meta) - { - if (expandobscpio_direct_mem(&meta, &metal, buf, l) != 1) - return 0; - } - else if (fread(buf, (int)l, 1, fp) != 1) - return 0; - if (fwrite(buf, (int)l, 1, ofp) != 1) - return 0; - } - } - else - { - /* bytes from the store */ - l -= 256; - if (meta) - o = expandobscpio_next_mem(&meta, &metal); - else - o = expandobscpio_next(fp); - if (o == (unsigned long long)(-1)) - return 0; - o = decodeoffset(oldoffset, o); - oldoffset = o + l; - while (l) - { - char buf[8192]; - size_t count = l > 8192 ? 8192 : l; - if (pread(fdstore, buf, count, (off_t)o) != count) - return 0; - if (fwrite(buf, count, 1, ofp) != 1) - return 0; - o += count; - l -= count; - } - } - } - if (fflush(ofp) != 0) - return 0; - settimes(fileno(ofp), &st); - return 1; -} - -static void -printobscpioinstr(FILE *fp, int fdstore, int withmeta) -{ - unsigned char magic[16]; - unsigned long long oldoffset = 0, o, l; - unsigned char metabuf[16384]; - unsigned char *meta = 0; - unsigned int metal = 0; - unsigned long long oldoffset_meta = 0; - - unsigned int stats_cpio = 0; - unsigned long long stats_cpio_len = 0; - unsigned int stats_direct = 0; - unsigned long long stats_direct_len = 0; - unsigned int stats_store = 0; - unsigned long long stats_store_len = 0; - unsigned int stats_zero = 0; - unsigned long long stats_zero_len = 0; - unsigned int stats_meta = 0; - unsigned long long stats_meta_len = 0; - unsigned int stats_meta_store = 0; - unsigned long long stats_meta_store_len = 0; - unsigned int stats_meta_direct = 0; - unsigned long long stats_meta_direct_len = 0; - - if (fread(magic, 16, 1, fp) != 1 || memcmp(magic, "OBScpio", 7) != 0) - return; - for (;;) - { - if (meta && !metal) - { - meta = 0; - oldoffset = oldoffset_meta; - } - if (meta) - l = expandobscpio_next_mem(&meta, &metal); - else - l = expandobscpio_next(fp); - if (l == (unsigned long long)(-1)) - return; - if (l < 16) - { - if (meta) - return; - if (l == 1) - { - printf("end\n"); - break; - } - if (l == 2 || l == 3 || l == 4) /* CPIO HEADER */ - { - printf("cpio%d", (int)l); - stats_cpio++; - for (;;) - { - int c = getc(fp); - if (c == EOF) - return; - stats_cpio_len++; - if (c == 0) - { - printf(" (0)"); - break; - } - if (c < 128) - printf(" [%d]", c); - else if (c >= 252) - { - printf(" (%d)", c - 251); - break; - } - else - { - c -= 128; - printf(" %d", c); - stats_cpio_len += c; - while (c--) - if (getc(fp) == EOF) - return; - } - } - printf("\n"); - } - else if (l == 5 || l == 6 || l == 7) /* ZERO */ - { - printf("zero %d\n", (int)l - 4); - stats_zero++; - stats_zero_len += (int)l - 4; - } - else if (l == 15) /* META */ - { - l = expandobscpio_next(fp); - if (l == (unsigned long long)(-1)) - return; - if (l < 16 || l > sizeof(metabuf)) - return; - o = expandobscpio_next(fp); - if (o == (unsigned long long)(-1)) - return; - o = decodeoffset(oldoffset, o); - oldoffset = o + l; - printf("meta %#llx %llu\n", o, l); - stats_meta++; - stats_meta_len += l; - if (withmeta) - { - oldoffset_meta = o + l; - oldoffset = 0; - if (pread(fdstore, metabuf, (size_t)l, (off_t)o) != (size_t)l) - return; - metal = (unsigned int)l; - meta = metabuf; - } - } - else - return; - continue; - } - if (meta) - printf(" "); - if (l < 256) - { - l -= 16; - printf("direct %d\n", (int)l); - if (meta) - { - stats_meta_direct++; - stats_meta_direct_len += l; - } - else - { - stats_direct++; - stats_direct_len += l; - } - if (meta) - { - if (l > metal) - return; - metal -= l; - meta += l; - } - else - { - while (l--) - if (getc(fp) == EOF) - return; - } - continue; - } - l -= 256; - if (meta) - o = expandobscpio_next_mem(&meta, &metal); - else - o = expandobscpio_next(fp); - if (o == (unsigned long long)(-1)) - return; - o = decodeoffset(oldoffset, o); - oldoffset = o + l; - printf("store %#llx %llu\n", o, l); - if (meta) - { - stats_meta_store++; - stats_meta_store_len += l; - } - else - { - stats_store++; - stats_store_len += l; - } - } - printf("stats cpio %u len %llu\n", stats_cpio, stats_cpio_len); - printf("stats direct %u len %llu\n", stats_direct, stats_direct_len); - if (withmeta) - printf("stats meta_direct %u len %llu\n", stats_meta_direct, stats_meta_direct_len); - printf("stats store %u len %llu\n", stats_store, stats_store_len); - if (withmeta) - printf("stats meta_store %u len %llu\n", stats_meta_store, stats_meta_store_len); - printf("stats zero %u len %llu\n", stats_zero, stats_zero_len); - printf("stats meta %u len %llu\n", stats_meta, stats_meta_len); - if (withmeta) - printf("stats instr %u\n", stats_cpio + stats_direct + stats_store + stats_zero + stats_meta + 1 + stats_meta_direct + stats_meta_store); - printf("stats file_instr %u\n", stats_cpio + stats_direct + stats_store + stats_zero + stats_meta + 1); - printf("stats file_data %lld\n", stats_cpio_len + stats_direct_len); - printf("stats file_size %lld\n", (unsigned long long)ftell(fp)); -} - -static int -unifymodules_cmp(const void *ap, const void *bp, void *dp) -{ - return *(Id *)ap - *(Id *)bp; -} - -static int -is_dod_package(Solvable *s) -{ - const char *str = solvable_lookup_str(s, buildservice_id); - return str && !strcmp(str, "dod") ? 1 : 0; -} - -static Solvable * -find_corresponding_dod(Solvable *s) -{ - Repo *repo = s->repo; - Id p2; - Solvable *s2; - - if (!repo) - return 0; - FOR_REPO_SOLVABLES(repo, p2, s2) - { - if (s->name == s2->name && s->evr == s2->evr && s->arch == s2->arch && s != s2 && is_dod_package(s2)) - return s2; - } - return 0; -} - -MODULE = BSSolv PACKAGE = BSSolv - -void -depsort(HV *deps, SV *mapp, SV *cycp, ...) - ALIAS: - depsort2 = 1 - PPCODE: - { - int i, j, k, cy, cycstart, nv; - int pkgstart = 3; - SV *sv, **svp; - SV *pkg2srcp = 0; - Id id, *e; - Id *mark; - char **names; - char **depnames; - Hashtable ht; - Hashval h, hh, hm; - HV *mhv = 0; - HV *pkg2srchv = 0; - - Queue edata; - Queue vedge; - Queue todo; - Queue cycles; - Map edgeunifymap; - - if (ix) - { - /* called as depsort2 */ - if (items < 4) - XSRETURN_EMPTY; /* nothing to sort */ - pkgstart = 4; - pkg2srcp = cycp; - cycp = ST(3); - } - if (items == pkgstart) - XSRETURN_EMPTY; /* nothing to sort */ - if (items == pkgstart + 1) - { - /* only one item */ - char *s = SvPV_nolen(ST(pkgstart)); - EXTEND(SP, 1); - sv = newSVpv(s, 0); - PUSHs(sv_2mortal(sv)); - XSRETURN(1); /* nothing to sort */ - } - - if (pkg2srcp && SvROK(pkg2srcp) && SvTYPE(SvRV(pkg2srcp)) == SVt_PVHV) - pkg2srchv = (HV *)SvRV(pkg2srcp); - - if (mapp && SvROK(mapp) && SvTYPE(SvRV(mapp)) == SVt_PVHV) - mhv = (HV *)SvRV(mapp); - - queue_init(&edata); - queue_init(&vedge); - queue_init(&todo); - queue_init(&cycles); - - hm = mkmask(items); - ht = solv_calloc(hm + 1, sizeof(*ht)); - names = depnames = solv_calloc(items, sizeof(char *)); - - /* create pkgname -> edge hash, store edge -> pkgname data */ - nv = 1; - for (i = pkgstart; i < items; i++) - { - char *s = SvPV_nolen(ST(i)); - h = strhash(s) & hm; - hh = HASHCHAIN_START; - while ((id = ht[h]) != 0) - { - if (!strcmp(names[id], s)) - break; - h = HASHCHAIN_NEXT(h, hh, hm); - } - if (id) - continue; /* had that one before, ignore */ - id = nv++; - ht[h] = id; - names[id] = s; - } - - if (pkg2srchv) - { - /* redo the hash with src names instead of pkg names */ - depnames = solv_calloc(nv, sizeof(char *)); - memset(ht, 0, (hm + 1) * sizeof(*ht)); - for (i = 1; i < nv; i++) - { - char *s = names[i]; - svp = hv_fetch(pkg2srchv, s, strlen(s), 0); - if (svp) - { - char *ns = SvPV_nolen(*svp); - if (ns) - s = ns; - } - depnames[i] = s; - h = strhash(s) & hm; - hh = HASHCHAIN_START; - while ((id = ht[h]) != 0) - h = HASHCHAIN_NEXT(h, hh, hm); - ht[h] = i; - } - } - - /* we now know all vertices, create edges */ - queue_push(&vedge, 0); - queue_push(&edata, 0); - map_init(&edgeunifymap, nv); - for (i = 1; i < nv; i++) - { - int edgestart = edata.count; - svp = hv_fetch(deps, names[i], strlen(names[i]), 0); - sv = svp ? *svp : 0; - queue_push(&vedge, edgestart); - if (sv && SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVAV) - { - AV *av = (AV *)SvRV(sv); - for (j = 0; j <= av_len(av); j++) - { - char *s; - STRLEN slen; - - svp = av_fetch(av, j, 0); - if (!svp) - continue; - sv = *svp; - s = SvPV(sv, slen); - if (!s) - continue; - if (mhv) - { - /* look up in dep map */ - svp = hv_fetch(mhv, s, slen, 0); - if (svp) - { - s = SvPV(*svp, slen); - if (!s) - continue; - } - } - /* look up in hash */ - h = strhash(s) & hm; - hh = HASHCHAIN_START; - while ((id = ht[h]) != 0) - { - if (!strcmp(depnames[id], s)) - { - if (id != i && !MAPTST(&edgeunifymap, id)) - { - MAPSET(&edgeunifymap, id); - queue_push(&edata, id); - } - if (names == depnames) - break; /* no other entry with same name */ - } - h = HASHCHAIN_NEXT(h, hh, hm); - } - } - } - for (j = edgestart; j < edata.count; j++) - { -#ifdef MAPCLR_AT - MAPCLR_AT(&edgeunifymap, edata.elements[j]); -#else - MAPCLR(&edgeunifymap, edata.elements[j]); -#endif - } - queue_push(&edata, 0); /* terminate edge array */ - } - /* free no longer needed stuff */ - map_free(&edgeunifymap); - solv_free(ht); - if (depnames != names) - depnames = solv_free(depnames); - - if (0) - { - printf("vertexes: %d\n", vedge.count - 1); - for (i = 1; i < vedge.count; i++) - { - printf("%d %s:", i, names[i]); - Id *e = edata.elements + vedge.elements[i]; - for (; *e; e++) - printf(" %d", *e); - printf("\n"); - } - } - - - /* now everything is set up, sort em! */ - mark = solv_calloc(vedge.count, sizeof(Id)); - for (i = vedge.count - 1; i; i--) - queue_push(&todo, i); - EXTEND(SP, vedge.count - 1); - while (todo.count) - { - i = queue_pop(&todo); - // printf("check %d\n", i); - if (i < 0) - { - i = -i; - mark[i] = 2; - sv = newSVpv(names[i], 0); - PUSHs(sv_2mortal(sv)); - continue; - } - if (mark[i] == 2) - continue; - if (mark[i] == 0) - { - int edgestovisit = 0; - Id *e = edata.elements + vedge.elements[i]; - for (; *e; e++) - { - if (*e == -1) - continue; /* broken */ - if (mark[*e] == 2) - continue; - if (!edgestovisit++) - queue_push(&todo, -i); - queue_push(&todo, *e); - } - if (!edgestovisit) - { - mark[i] = 2; - sv = newSVpv(names[i], 0); - PUSHs(sv_2mortal(sv)); - } - else - mark[i] = 1; - continue; - } - /* oh no, we found a cycle, record and break it */ - cy = cycles.count; - for (j = todo.count - 1; j >= 0; j--) - if (todo.elements[j] == -i) - break; - cycstart = j; - // printf("cycle:\n"); - for (j = cycstart; j < todo.count; j++) - if (todo.elements[j] < 0) - { - k = -todo.elements[j]; - mark[k] = 0; - queue_push(&cycles, k); - // printf(" %d\n", k); - } - queue_push(&cycles, 0); - todo.elements[cycstart] = i; - /* break it */ - for (k = cy; cycles.elements[k]; k++) - ; - if (!cycles.elements[k]) - k = cy; - j = cycles.elements[k + 1] ? cycles.elements[k + 1] : cycles.elements[cy]; - k = cycles.elements[k]; - /* breaking edge from k -> j */ - // printf("break %d -> %d\n", k, j); - e = edata.elements + vedge.elements[k]; - for (; *e; e++) - if (*e == j) - break; - if (!*e) - abort(); - *e = -1; - todo.count = cycstart + 1; - } - - /* recored cycles */ - if (cycles.count && cycp && SvROK(cycp) && SvTYPE(SvRV(cycp)) == SVt_PVAV) - { - AV *av = (AV *)SvRV(cycp); - for (i = 0; i < cycles.count;) - { - AV *av2 = newAV(); - for (; cycles.elements[i]; i++) - { - SV *sv = newSVpv(names[cycles.elements[i]], 0); - av_push(av2, sv); - } - av_push(av, newRV_noinc((SV*)av2)); - i++; - } - } - queue_free(&cycles); - - queue_free(&edata); - queue_free(&vedge); - queue_free(&todo); - solv_free(mark); - solv_free(names); - } - -int -setgenmetaalgo(int algo) - CODE: - if (algo < 0) - algo = 1; - if (algo > 1) - croak("BSSolv::setgenmetaalgo: unsupported algo %d\n", algo); - genmetaalgo = algo; - RETVAL = algo; - OUTPUT: - RETVAL - - -void -gen_meta(AV *subp, ...) - PPCODE: - { - Hashtable ht; - Hashval h, hh, hm; - char **subpacks; - struct metaline *lines, *lp; - int nlines; - int i, j, cycle, ns; - char *s, *s2, *lo; - Id id; - Queue cycles; - Id cycles_buf[64]; - - if (items == 1) - XSRETURN_EMPTY; /* nothing to generate */ - - queue_init_buffer(&cycles, cycles_buf, sizeof(cycles_buf)/sizeof(*cycles_buf)); - hm = mkmask(av_len(subp) + 2); - ht = solv_calloc(hm + 1, sizeof(*ht)); - subpacks = solv_calloc(av_len(subp) + 2, sizeof(char *)); - for (j = 0; j <= av_len(subp); j++) - { - SV **svp = av_fetch(subp, j, 0); - if (!svp) - continue; - s = SvPV_nolen(*svp); - h = strhash(s) & hm; - hh = HASHCHAIN_START; - while ((id = ht[h]) != 0) - h = HASHCHAIN_NEXT(h, hh, hm); - ht[h] = j + 1; - subpacks[j + 1] = s; - } - - lines = solv_calloc(items - 1, sizeof(*lines)); - nlines = items - 1; - /* lines are of the form "md5sum pkg/pkg..." */ - for (i = 0, lp = lines; i < nlines; i++, lp++) - { - s = SvPV_nolen(ST(i + 1)); - if (strlen(s) < 35 || s[32] != ' ' || s[33] != ' ') - croak("gen_meta: bad line %s\n", s); - /* count '/' */ - lp->l = s; - ns = 0; - cycle = 0; - lo = s + 34; - for (s2 = lo; *s2; s2++) - if (*s2 == '/') - { - if (!cycle) - { - *s2 = 0; - h = strhash(lo) & hm; - hh = HASHCHAIN_START; - while ((id = ht[h]) != 0) - { - if (!strcmp(lo, subpacks[id])) - break; - h = HASHCHAIN_NEXT(h, hh, hm); - } - *s2 = '/'; - if (id) - cycle = 1 + ns; - } - ns++; - lo = s2 + 1; - } - if (!cycle) - { - h = strhash(lo) & hm; - hh = HASHCHAIN_START; - while ((id = ht[h]) != 0) - { - if (!strcmp(lo, subpacks[id])) - break; - h = HASHCHAIN_NEXT(h, hh, hm); - } - if (id) - cycle = 1 + ns; - } - if (cycle) - { - lp->killed = 1; /* killed because line includes a subpackage */ - if (cycle > 1) /* ignore self cycles */ - queue_push(&cycles, i); - } - lp->nslash = ns; - lp->lastoff = lo - s; - } - solv_free(ht); - solv_free(subpacks); - - /* if we found cycles, prune em */ - if (cycles.count) - { - char *cycledata = 0; - int cycledatalen = 0; - - /* create hash of cycle packages */ - cycledata = solv_extend(cycledata, cycledatalen, 1, 1, 255); - cycledata[cycledatalen++] = 0; - hm = mkmask(cycles.count); - ht = solv_calloc(hm + 1, sizeof(*ht)); - for (i = 0; i < cycles.count; i++) - { - char *se; - s = lines[cycles.elements[i]].l + 34; - se = strchr(s, '/'); - if (se) - *se = 0; - h = strhash(s) & hm; - hh = HASHCHAIN_START; - while ((id = ht[h]) != 0) - { - if (!strcmp(s, cycledata + id)) - break; - h = HASHCHAIN_NEXT(h, hh, hm); - } - if (!id) - { - int l = strlen(s); - cycledata = solv_extend(cycledata, cycledatalen, l + 1, 1, 255); - ht[h] = cycledatalen; /* point to name */ - strcpy(cycledata + cycledatalen, s); - cycledatalen += l + 1; - } - if (se) - *se = '/'; - } - - for (i = 0, lp = lines; i < nlines; i++, lp++) - { - if (!lp->nslash) - continue; - if (lp->killed && genmetaalgo == 0) - continue; - lo = strchr(lp->l + 34, '/') + 1; - for (s2 = lo; *s2; s2++) - if (*s2 == '/') - { - *s2 = 0; - h = strhash(lo) & hm; - hh = HASHCHAIN_START; - while ((id = ht[h]) != 0) - { - if (!strcmp(lo, cycledata + id)) - break; - h = HASHCHAIN_NEXT(h, hh, hm); - } - *s2 = '/'; - if (id) - { - lp->killed = 2; /* killed because it containes a cycle package */ - break; - } - lo = s2 + 1; - } - if (lp->killed == 2) - continue; - h = strhash(lo) & hm; - hh = HASHCHAIN_START; - while ((id = ht[h]) != 0) - { - if (!strcmp(lo, cycledata + id)) - break; - h = HASHCHAIN_NEXT(h, hh, hm); - } - if (id) - lp->killed = 2; /* killed because it containes a cycle package */ - } - solv_free(ht); - cycledata = solv_free(cycledata); - } - queue_free(&cycles); - - /* cycles are pruned, now sort array */ - if (nlines > 1) - qsort(lines, nlines, sizeof(*lines), metacmp); - - hm = mkmask(nlines); - ht = solv_calloc(hm + 1, sizeof(*ht)); - for (i = 0, lp = lines; i < nlines; i++, lp++) - { - if (lp->killed) - { - if (genmetaalgo == 0 || lp->killed != 2) - continue; - } - s = lp->l; - h = strnhash(s, 10); - h = strhash_cont(s + lp->lastoff, h) & hm; - hh = HASHCHAIN_START; - while ((id = ht[h]) != 0) - { - struct metaline *lp2 = lines + (id - 1); - if (!strncmp(lp->l, lp2->l, 32) && !strcmp(lp->l + lp->lastoff, lp2->l + lp2->lastoff)) - break; - h = HASHCHAIN_NEXT(h, hh, hm); - } - if (id && genmetaalgo == 1 && lp->killed == 2) - { - /* also kill old line of same level */ - struct metaline *lp2 = lines + (id - 1); - if (!lp2->killed && lp2->nslash == lp->nslash) - lp2->killed = 1; - } - if (id) - lp->killed = 1; - else - ht[h] = i + 1; - } - solv_free(ht); - j = 0; - for (i = 0, lp = lines; i < nlines; i++, lp++) - if (!lp->killed) - j++; - EXTEND(SP, j); - for (i = 0, lp = lines; i < nlines; i++, lp++) - { - SV *sv; - if (lp->killed) - continue; - sv = newSVpv(lp->l, 0); - PUSHs(sv_2mortal(sv)); - } - solv_free(lines); - } - -void -add_meta(AV *new_meta, SV *sv, const char *bin, const char *packid = 0) - PPCODE: - { - const char *p, *np; - char *buf; - size_t l, bufl, binl, packidl; - int first = 1; - if (SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVAV) { - AV *av = (AV *)SvRV(sv); - SV **svp = av_fetch(av, 0, 0); - sv = svp ? *svp : 0; - } - if (!sv) - XSRETURN_EMPTY; - p = SvPV_nolen(sv); - binl = strlen(bin); - bufl = binl + 256; - buf = malloc(bufl); - if (!buf) { - croak("out of mem\n"); - XSRETURN_EMPTY; - } - packidl = packid ? strlen(packid) : 0; - for (;;) { - np = strchr(p, '\n'); - l = np ? np - p : strlen(p); - if (l > 34) { - if (l + binl + 1 + 1 > bufl) { - bufl = l + binl + 256; - buf = realloc(buf, bufl); - if (!buf) { - croak("out of mem\n"); - XSRETURN_EMPTY; - } - } - strncpy(buf, p, 34); - strcpy(buf + 34, bin); - buf[34 + binl] = '/'; - strncpy(buf + 34 + binl + 1, p + 34, l - 34); - l += binl + 1; - buf[l] = 0; - if (first) { - if (packidl && l > packidl + 1 && buf[l - packidl - 1] == '/' && !strcmp(buf + l - packidl, packid)) { - free(buf); - XSRETURN_EMPTY; - } - l = 34 + binl; - buf[l] = 0; - first = 0; - } - av_push(new_meta, newSVpvn(buf, l)); - } - if (!np) - break; - p = np + 1; - } - free(buf); - } - -SV * -thawcache(SV *sv) - CODE: - unsigned char *src; - STRLEN srcl; - if (!SvPOK(sv)) { - croak("thaw: argument is not a string\n"); - XSRETURN_UNDEF; - } - src = (unsigned char *)SvPV(sv, srcl); - if (srcl < 7 || src[0] != 'p' || src[1] != 's' || src[2] != 't' || src[3] != '0') { - croak("thaw: argument is not a perl storable\n"); - XSRETURN_UNDEF; - } - if ((src[4] & 1) != 1) { - croak("thaw: argument is not a perl storable in network order\n"); - XSRETURN_UNDEF; - } - if (src[4] < 5) { - croak("thaw: argument is a perl storable with a too old version\n"); - XSRETURN_UNDEF; - } - src += 6; - srcl -= 6; - sv = retrieve(&src, &srcl, 0); - if (sv == 0 || srcl) { - croak("thaw: corrupt storable\n"); - XSRETURN_UNDEF; - } - RETVAL = newRV_noinc(sv); - OUTPUT: - RETVAL - -int -isobscpio(const char *file) - CODE: - int fd; - RETVAL = 0; - if ((fd = open(file, O_RDONLY)) != -1) { - unsigned char magic[16]; - if (read(fd, magic, 16) == 16 && !memcmp(magic, "OBScpio", 7)) - RETVAL = 1; - close(fd); - } - OUTPUT: - RETVAL - - -void -obscpiostat(const char *file) - PPCODE: - { - int fd; - struct stat st; - if ((fd = open(file, O_RDONLY)) != -1) { - if (!fstat(fd, &st)) { - unsigned char magic[16]; - if (read(fd, magic, 16) == 16 && !memcmp(magic, "OBScpio", 7)) { - st.st_size = getu48(magic + 10); - } - EXTEND(SP, 10); - PUSHs(&PL_sv_undef); - PUSHs(&PL_sv_undef); - PUSHs(sv_2mortal(newSVuv((UV)st.st_mode))); - PUSHs(sv_2mortal(newSVuv((UV)st.st_nlink))); - PUSHs(&PL_sv_undef); - PUSHs(&PL_sv_undef); - PUSHs(&PL_sv_undef); -#if IVSIZE > 4 - PUSHs(sv_2mortal(newSVuv((UV)st.st_size))); -#else - PUSHs(sv_2mortal(newSVnv((double)st.st_size))); -#endif - PUSHs(sv_2mortal(newSVuv((UV)st.st_atime))); - PUSHs(sv_2mortal(newSVuv((UV)st.st_mtime))); - PUSHs(sv_2mortal(newSVuv((UV)st.st_ctime))); - } - close(fd); - } - } - -int -obscpioopen(const char *file, const char *store, SV *gvrv, const char *tmpdir = 0) - CODE: - int fd; - GV *gv; - if (!SvROK(gvrv) || SvTYPE(SvRV(gvrv)) != SVt_PVGV) { - croak("obscpioopen needs a GV reference\n"); - } - if (tmpdir && strlen(tmpdir) > 200) { - croak("tmpdir too long\n"); - } - gv = (GV *)SvRV(gvrv); - RETVAL = 0; - if ((fd = open(file, O_RDONLY)) != -1) { - unsigned char magic[16]; - if (read(fd, magic, 16) == 16 && !memcmp(magic, "OBScpio", 7)) { - char template[256]; - int nfd = -1; - int sfd; - if ((sfd = open(store, O_RDONLY)) != -1) { - if (tmpdir) { - strcpy(template, tmpdir); - strcat(template, "/obscpioopen-XXXXXX"); - } else { - strcpy(template, "/var/tmp/obscpioopen-XXXXXX"); - } - nfd = mkstemp(template); - if (nfd != -1) { - FILE *fp = 0, *nfp = 0; - unlink(template); - lseek(fd, 0, SEEK_SET); - if ((fp = fdopen(fd, "r")) == 0) - close(fd); - if ((nfp = fdopen(nfd, "w+")) == 0) - close(nfd); - if (fp && nfp && expandobscpio(fp, sfd, nfp)) { - nfd = dup(nfd); - if (fclose(nfp)) { - close(nfd); - nfd = -1; - } - nfp = 0; - } else { - nfd = -1; - } - if (fp) - fclose(fp); - if (nfp) - fclose(nfp); - fd = -1; - } - close(sfd); - } - if (fd != -1) - close(fd); - fd = nfd; - } - if (fd != -1) { - IO * io = GvIOn(gv); - PerlIO *fp; - - lseek(fd, 0, SEEK_SET); - fp = PerlIO_fdopen(fd, "rb"); - if (fp) { - IoIFP(io) = fp; - RETVAL = 1; - } - } - } - - OUTPUT: - RETVAL - -int -expandobscpio(const char *file, const char *store, const char *tmpfile) - CODE: - { - int fd, nfd, sfd; - RETVAL = 0; - - unlink(tmpfile); - if ((fd = open(file, O_RDONLY)) != -1) { - unsigned char magic[16]; - if (!(read(fd, magic, 16) == 16 && !memcmp(magic, "OBScpio", 7))) { - close(fd); - fd = -1; - if (link(file, tmpfile) == 0 && (fd = open(tmpfile, O_RDONLY)) != -1) { - if (read(fd, magic, 16) == 16 && !memcmp(magic, "OBScpio", 7)) { - unlink(tmpfile); - } else { - close(fd); - fd = -1; - RETVAL = 1; - } - } - } - if (fd != -1) { - if ((sfd = open(store, O_RDONLY)) != -1) { - FILE *fp; - lseek(fd, 0, SEEK_SET); - if ((fp = fdopen(fd, "r")) == 0) - close(fd); - if (fp && (nfd = open(tmpfile, O_WRONLY|O_CREAT|O_TRUNC|O_EXCL, 0666)) != -1) { - FILE *nfp; - if ((nfp = fdopen(nfd, "w")) == 0) - close(nfd); - if (nfp && expandobscpio(fp, sfd, nfp)) { - if (!fclose(nfp)) - RETVAL = 1; - else - unlink(tmpfile); - nfp = 0; - } else - unlink(tmpfile); - if (nfp) - fclose(nfp); - } - if (fp) - fclose(fp); - close(sfd); - } else { - close(fd); - } - } - } - } - OUTPUT: - RETVAL - - -int -makeobscpio(const char *in, const char *store, const char *out) - CODE: - { - FILE *fpin, *fpout; - struct stat st; - int fdstore; - RETVAL = 0; - if ((fpin = fopen(in, "r")) == 0) { - perror(in); - } else if (fstat(fileno(fpin), &st) != 0) { - perror(in); - fclose(fpin); - } else if ((fpout = fopen(out, "w")) == 0) { - perror(out); - fclose(fpin); - } else if ((fdstore = open(store, O_RDWR|O_CREAT, 0666)) == -1) { - perror(store); - fclose(fpin); - fclose(fpout); - } else { - int gotlock = 0; - while (!gotlock) { - if (flock(fdstore, LOCK_EX) == 0) - gotlock = 1; - else if (errno != EINTR) - break; - } - if (gotlock) { - struct deltastore store; - if (readdeltastore(&store, fdstore, 0, (unsigned long long)st.st_size)) { - int r = makedelta(&store, fpin, fpout, (unsigned long long)st.st_size); -#if 0 - printf("after makedelta: have %d entries, hash size %d\n", store.hf, store.hm + 1); -#endif - if (fsync(store.fd)) - r = 0; - freedeltastore(&store); - if (r) { - settimes(fileno(fpout), &st); - RETVAL = 1; - } - } - } - close(fdstore); - fclose(fpin); - fclose(fpout); - } - } - OUTPUT: - RETVAL - -void -obscpiostorestats(const char *store) - CODE: - { - int fdstore; - - if ((fdstore = open(store, O_RDONLY)) == -1) - perror(store); - else { - int gotlock = 0; - while (!gotlock) { - if (flock(fdstore, LOCK_EX) == 0) - gotlock = 1; - else if (errno != EINTR) - break; - } - if (gotlock) { - struct deltastore store; - if (readdeltastore(&store, fdstore, 1, (unsigned long long)0)) { - printdeltastorestats(&store); - fsync(store.fd); - freedeltastore(&store); - } - } - close(fdstore); - } - } - -void -obscpioinstr(const char *file, const char *store = 0) - CODE: - { - FILE *fp; - int fdstore = -1; - if ((fp = fopen(file, "r")) == 0) - perror(file); - else { - if (store) { - fdstore = open(store, O_RDONLY); - if (fdstore == -1) - perror(store); - } - printobscpioinstr(fp, fdstore, fdstore == -1 ? 0 : 1); - fclose(fp); - if (fdstore != -1) - close(fdstore); - } - } - - -MODULE = BSSolv PACKAGE = BSSolv::pool PREFIX = pool - -PROTOTYPES: ENABLE - -BSSolv::pool -new(char *packname = "BSSolv::pool") - CODE: - { - Pool *pool = pool_create(); - set_disttype(pool, DISTTYPE_RPM); - buildservice_id = pool_str2id(pool, "buildservice:id", 1); - buildservice_repocookie= pool_str2id(pool, "buildservice:repocookie", 1); - buildservice_external = pool_str2id(pool, "buildservice:external", 1); - buildservice_dodurl = pool_str2id(pool, "buildservice:dodurl", 1); - expander_directdepsend = pool_str2id(pool, "-directdepsend--", 1); - buildservice_dodcookie = pool_str2id(pool, "buildservice:dodcookie", 1); - buildservice_annotation = pool_str2id(pool, "buildservice:annotation", 1); - buildservice_modules = pool_str2id(pool, "buildservice:modules", 1); - pool_freeidhashes(pool); - RETVAL = pool; - } - OUTPUT: - RETVAL - -void -settype(BSSolv::pool pool, char *type) - CODE: - if (!strcmp(type, "rpm")) - set_disttype(pool, DISTTYPE_RPM); -#ifdef DISTTYPE_DEB - else if (!strcmp(type, "deb")) - set_disttype(pool, DISTTYPE_DEB); -#endif -#ifdef DISTTYPE_ARCH - else if (!strcmp(type, "arch")) - set_disttype(pool, DISTTYPE_ARCH); -#endif - else - croak("settype: unknown type '%s'\n", type); - - -BSSolv::repo -repofromfile(BSSolv::pool pool, char *name, char *filename) - CODE: - FILE *fp; - fp = fopen(filename, "r"); - if (!fp) { - croak("%s: %s\n", filename, Strerror(errno)); - XSRETURN_UNDEF; - } - RETVAL = repo_create(pool, name); - repo_add_solv(RETVAL, fp, 0); - fclose(fp); - OUTPUT: - RETVAL - -BSSolv::repo -repofromstr(BSSolv::pool pool, char *name, SV *sv) - CODE: - FILE *fp; - STRLEN len; - char *buf; - buf = SvPV(sv, len); - if (!buf) - croak("repofromstr: undef string\n"); - fp = fmemopen(buf, len, "r"); - if (!fp) { - croak("fmemopen failed\n"); - XSRETURN_UNDEF; - } - RETVAL = repo_create(pool, name); - repo_add_solv(RETVAL, fp, 0); - fclose(fp); - OUTPUT: - RETVAL - -BSSolv::repo -repofrombins(BSSolv::pool pool, char *name, char *dir, ...) - CODE: - { - int i; - Repo *repo; - Repodata *data; - repo = repo_create(pool, name); - data = repo_add_repodata(repo, 0); - for (i = 3; i + 1 < items; i += 2) - { - STRLEN sl; - char *s = SvPV(ST(i), sl); - char *sid = SvPV_nolen(ST(i + 1)); - if (sl < 4) - continue; - if (strcmp(s + sl - 4, ".rpm") - && strcmp(s + sl - 4, ".deb") - && (sl < 10 || strcmp(s + sl - 10, ".obsbinlnk")) -#ifdef ARCH_ADD_WITH_PKGID - && (sl < 11 || strcmp(s + sl - 11, ".pkg.tar.gz")) - && (sl < 11 || strcmp(s + sl - 11, ".pkg.tar.xz")) - && (sl < 12 || strcmp(s + sl - 12, ".pkg.tar.zst")) -#endif - ) - continue; - if (sl >= 10 && !strcmp(s + sl - 10, ".patch.rpm")) - continue; - if (sl >= 10 && !strcmp(s + sl - 10, ".nosrc.rpm")) - continue; - if (sl >= 8 && !strcmp(s + sl - 8, ".src.rpm")) - continue; - repodata_addbin(data, dir, s, (int)sl, sid); - } - repo_set_str(repo, SOLVID_META, buildservice_repocookie, REPOCOOKIE); - repo_internalize(repo); - RETVAL = repo; - } - OUTPUT: - RETVAL - -BSSolv::repo -repofromdata(BSSolv::pool pool, char *name, SV *rv) - CODE: - { - Repo *repo; - Repodata *data; - if (!SvROK(rv) || (SvTYPE(SvRV(rv)) != SVt_PVHV && SvTYPE(SvRV(rv)) != SVt_PVAV)) - croak("BSSolv::pool::repofromdata: rv is not a HASH or ARRAY reference"); - repo = repo_create(pool, name); - data = repo_add_repodata(repo, 0); - data2solvables(repo, data, SvRV(rv)); - if (name && !strcmp(name, "/external/")) - repodata_set_void(data, SOLVID_META, buildservice_external); - repo_internalize(repo); - RETVAL = repo; - } - OUTPUT: - RETVAL - -void -createwhatprovides(BSSolv::pool pool, int unorderedrepos = 0) - CODE: - if (pool->considered) - { - map_free(pool->considered); - solv_free(pool->considered); - } - pool->considered = solv_calloc(sizeof(Map), 1); - create_considered(pool, 0, pool->considered, unorderedrepos); - pool_createwhatprovides(pool); - -void -setdebuglevel(BSSolv::pool pool, int level) - CODE: - pool_setdebuglevel(pool, level); - -void -whatprovides(BSSolv::pool pool, char *str) - PPCODE: - { - Id p, pp, id; - id = testcase_str2dep(pool, str); - if (id) - FOR_PROVIDES(p, pp, id) - XPUSHs(sv_2mortal(newSViv((IV)p))); - } - -void -whatrequires(BSSolv::pool pool, char *str) - PPCODE: - { - Id p, id; - Id *pp; - Solvable *s; - id = testcase_str2dep(pool, str); - if (id) - { - for (p = 2; p < pool->nsolvables; p++) - { - if (!MAPTST(pool->considered, p)) - continue; - s = pool->solvables + p; - if (!s->requires) - continue; - for (pp = s->repo->idarraydata + s->requires; *pp; pp++) - if (pool_match_dep(pool, id, *pp)) - break; - if (*pp) - XPUSHs(sv_2mortal(newSViv((IV)p))); - } - } - } - -void -consideredpackages(BSSolv::pool pool) - PPCODE: - { - int p, nsolv = 0; - for (p = 2; p < pool->nsolvables; p++) - if (MAPTST(pool->considered, p)) - nsolv++; - EXTEND(SP, nsolv); - for (p = 2; p < pool->nsolvables; p++) - if (MAPTST(pool->considered, p)) - PUSHs(sv_2mortal(newSViv((IV)p))); - } - -void -allpackages(BSSolv::pool pool) - PPCODE: - { - int p, nsolv = 0; - for (p = 2; p < pool->nsolvables; p++) - if (pool->solvables[p].repo) - nsolv++; - EXTEND(SP, nsolv); - for (p = 2; p < pool->nsolvables; p++) - if (pool->solvables[p].repo) - PUSHs(sv_2mortal(newSViv((IV)p))); - } - -const char * -pkg2name(BSSolv::pool pool, int p) - CODE: - RETVAL = pool_id2str(pool, pool->solvables[p].name); - OUTPUT: - RETVAL - -const char * -pkg2evr(BSSolv::pool pool, int p) - CODE: - RETVAL = pool_id2str(pool, pool->solvables[p].evr); - OUTPUT: - RETVAL - -const char * -pkg2arch(BSSolv::pool pool, int p) - CODE: - RETVAL = pool_id2str(pool, pool->solvables[p].arch); - OUTPUT: - RETVAL - -const char * -pkg2srcname(BSSolv::pool pool, int p) - CODE: - if (solvable_lookup_void(pool->solvables + p, SOLVABLE_SOURCENAME)) - RETVAL = pool_id2str(pool, pool->solvables[p].name); - else - RETVAL = solvable_lookup_str(pool->solvables + p, SOLVABLE_SOURCENAME); - OUTPUT: - RETVAL - -const char * -pkg2pkgid(BSSolv::pool pool, int p) - CODE: - { - Id type; - const char *s = solvable_lookup_checksum(pool->solvables + p, SOLVABLE_PKGID, &type); - RETVAL = s; - } - OUTPUT: - RETVAL - -const char * -pkg2bsid(BSSolv::pool pool, int p) - CODE: - RETVAL = solvable_lookup_str(pool->solvables + p, buildservice_id); - OUTPUT: - RETVAL - -const char * -pkg2reponame(BSSolv::pool pool, int p) - CODE: - { - Repo *repo = pool->solvables[p].repo; - RETVAL = repo ? repo->name : 0; - } - OUTPUT: - RETVAL - -const char * -pkg2path(BSSolv::pool pool, int p) - CODE: - { - unsigned int medianr; - RETVAL = solvable_get_location(pool->solvables + p, &medianr); - } - OUTPUT: - RETVAL - -const char * -pkg2fullpath(BSSolv::pool pool, int p, char *myarch) - CODE: - { - unsigned int medianr; - const char *s = solvable_get_location(pool->solvables + p, &medianr); - Repo *repo = pool->solvables[p].repo; - s = pool_tmpjoin(pool, myarch, "/:full/", s); - RETVAL = pool_tmpjoin(pool, repo->name, "/", s); - } - OUTPUT: - RETVAL - -int -pkg2sizek(BSSolv::pool pool, int p) - CODE: -#ifdef SOLV_KV_NUM64 - RETVAL = solvable_lookup_sizek(pool->solvables + p, SOLVABLE_DOWNLOADSIZE, 0); -#else - RETVAL = solvable_lookup_num(pool->solvables + p, SOLVABLE_DOWNLOADSIZE, 0); -#endif - OUTPUT: - RETVAL - -const char * -pkg2checksum(BSSolv::pool pool, int p) - CODE: - { - Id type; - const char *s = solvable_lookup_checksum(pool->solvables + p, SOLVABLE_CHECKSUM, &type); - if (s) - s = pool_tmpjoin(pool, solv_chksum_type2str(type), ":", s); - RETVAL = s; - } - OUTPUT: - RETVAL - -int -pkg2inmodule(BSSolv::pool pool, int p) - CODE: - RETVAL = solvable_lookup_type(pool->solvables + p, buildservice_modules) != 0; - OUTPUT: - RETVAL - -void -pkg2modules(BSSolv::pool pool, int p) - PPCODE: - { - Solvable *s = pool->solvables + p; - Queue modules; - int i; - queue_init(&modules); - solvable_lookup_idarray(s, buildservice_modules, &modules); - if (!modules.count && !is_dod_package(s)) - { - Solvable *s2 = find_corresponding_dod(s); - if (s2) - solvable_lookup_idarray(s2, buildservice_modules, &modules); - } - for (i = 0; i < modules.count; i++) - XPUSHs(sv_2mortal(newSVpv(pool_id2str(pool, modules.elements[i]), 0))); - queue_free(&modules); - } - -int -verifypkgchecksum(BSSolv::pool pool, int p, char *path) - CODE: - { - Id type; - const unsigned char *cin, *cout; - FILE *fp; - void *cs; - int cslen; - char buf[4096]; - size_t len; - int res = 0; - - if ((cin = solvable_lookup_bin_checksum(pool->solvables + p, SOLVABLE_CHECKSUM, &type)) != 0) { - if ((fp = fopen(path, "r")) != 0) { - if ((cs = solv_chksum_create(type)) != 0) { - while ((len = fread(buf, 1, sizeof(buf), fp)) > 0) - solv_chksum_add(cs, buf, len); - if ((cout = solv_chksum_get(cs, &cslen)) != 0 && cslen && !memcmp(cin, cout, cslen)) - res = 1; - solv_chksum_free(cs, 0); - } - fclose(fp); - } - } - RETVAL = res; - } - OUTPUT: - RETVAL - -HV * -pkg2data(BSSolv::pool pool, int p) - CODE: - { - Solvable *s = pool->solvables + p; - Id id; - const char *ss, *se; - unsigned int medianr; - - if (!s->repo) - XSRETURN_EMPTY; - RETVAL = newHV(); - sv_2mortal((SV*)RETVAL); - (void)hv_store(RETVAL, "name", 4, newSVpv(pool_id2str(pool, s->name), 0), 0); - ss = pool_id2str(pool, s->evr); - se = ss; - while (*se >= '0' && *se <= '9') - se++; - if (se != ss && *se == ':' && se[1]) - { - (void)hv_store(RETVAL, "epoch", 5, newSVpvn(ss, se - ss), 0); - ss = se + 1; - } - se = strrchr(ss, '-'); - if (se) - { - (void)hv_store(RETVAL, "version", 7, newSVpvn(ss, se - ss), 0); - (void)hv_store(RETVAL, "release", 7, newSVpv(se + 1, 0), 0); - } - else - (void)hv_store(RETVAL, "version", 7, newSVpv(ss, 0), 0); - (void)hv_store(RETVAL, "arch", 4, newSVpv(pool_id2str(pool, s->arch), 0), 0); - exportdeps(RETVAL, "provides", 8, s->repo, s->provides, SOLVABLE_PROVIDES); - exportdeps(RETVAL, "obsoletes", 9, s->repo, s->obsoletes, SOLVABLE_OBSOLETES); - exportdeps(RETVAL, "conflicts", 9, s->repo, s->conflicts, SOLVABLE_CONFLICTS); - exportdeps(RETVAL, "requires", 8, s->repo, s->requires, SOLVABLE_REQUIRES); - exportdeps(RETVAL, "recommends", 10, s->repo, s->recommends, SOLVABLE_RECOMMENDS); - exportdeps(RETVAL, "suggests", 8, s->repo, s->suggests, SOLVABLE_SUGGESTS); - exportdeps(RETVAL, "supplements", 11, s->repo, s->supplements, SOLVABLE_SUPPLEMENTS); - exportdeps(RETVAL, "enhances", 8, s->repo, s->enhances, SOLVABLE_ENHANCES); - if (solvable_lookup_void(s, SOLVABLE_SOURCENAME)) - ss = pool_id2str(pool, s->name); - else - ss = solvable_lookup_str(s, SOLVABLE_SOURCENAME); - if (ss) - (void)hv_store(RETVAL, "source", 6, newSVpv(ss, 0), 0); - ss = solvable_get_location(s, &medianr); - if (ss) - (void)hv_store(RETVAL, "path", 4, newSVpv(ss, 0), 0); - ss = solvable_lookup_checksum(s, SOLVABLE_PKGID, &id); - if (ss && id == REPOKEY_TYPE_MD5) - (void)hv_store(RETVAL, "hdrmd5", 6, newSVpv(ss, 0), 0); - ss = solvable_lookup_str(s, buildservice_id); - if (ss) - (void)hv_store(RETVAL, "id", 2, newSVpv(ss, 0), 0); - ss = solvable_lookup_str(s, buildservice_annotation); - if (ss) - (void)hv_store(RETVAL, "annotation", 10, newSVpv(ss, 0), 0); - if (solvable_lookup_type(s, buildservice_modules)) - { - Queue modules; - int i; - queue_init(&modules); - solvable_lookup_idarray(s, buildservice_modules, &modules); - if (modules.count) - { - AV *av = newAV(); - for (i = 0; i < modules.count; i++) - av_push(av, newSVpv(pool_id2str(pool, modules.elements[i]), 0)); - (void)hv_store(RETVAL, "modules", 7, newRV_noinc((SV*)av), 0); - } - } - } - OUTPUT: - RETVAL - -const char * -pkg2annotation(BSSolv::pool pool, int p) - CODE: - RETVAL = solvable_lookup_str(pool->solvables + p, buildservice_annotation); - OUTPUT: - RETVAL - -void -repos(BSSolv::pool pool) - PPCODE: - { - int ridx; - Repo *repo; - - EXTEND(SP, pool->nrepos); - FOR_REPOS(ridx, repo) - { - SV *sv = sv_newmortal(); - sv_setref_pv(sv, "BSSolv::repo", (void *)repo); - PUSHs(sv); - } - } - -void -preparehashes(BSSolv::pool pool, char *prp, SV *gctxprpnotreadysv = 0) - PPCODE: - { - HV *gctxprpnotready = 0; - int ridx; - Repo *repo; - /* generated: */ - HV *depislocal = newHV(); - HV *dep2pkg = newHV(); - HV *dep2src = newHV(); - HV *notready = newHV(); - HV *subpacks = newHV(); - const char *srcstr; - const char *str; - Queue subq; - Id lastsrc, srcname, srctype; - int i, j; - Id p; - Solvable *s; - SV *sv, **svp; - - if (gctxprpnotreadysv && SvROK(gctxprpnotreadysv) && SvTYPE(SvRV(gctxprpnotreadysv)) == SVt_PVHV) - gctxprpnotready = (HV *)SvRV(gctxprpnotreadysv); - queue_init(&subq); - FOR_REPOS(ridx, repo) - { - HV *prpnotready = 0; - int islocal = repo->name && !strcmp(repo->name, prp); - svp = 0; - if (repo->name && !islocal && gctxprpnotready) - svp = hv_fetch(gctxprpnotready, repo->name, strlen(repo->name), 0); - if (svp && *svp && SvROK(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVHV) - prpnotready = (HV *)SvRV(*svp); - FOR_REPO_SOLVABLES(repo, p, s) - { - if (!MAPTST(pool->considered, p)) - continue; - srctype = solvable_lookup_type(pool->solvables + p, SOLVABLE_SOURCENAME); - if (srctype == REPOKEY_TYPE_VOID) - srcname = s->name; - else if (srctype == REPOKEY_TYPE_ID) - srcname = solvable_lookup_id(pool->solvables + p, SOLVABLE_SOURCENAME); - else - { - srcstr = solvable_lookup_str(pool->solvables + p, SOLVABLE_SOURCENAME); - srcname = srcstr ? pool_str2id(pool, srcstr, 1) : 0; - } - if (!srcname || srcname == 1) - srcname = s->name; - queue_push2(&subq, s->name, srcname); - - str = pool_id2str(pool, s->name); - (void)hv_store(dep2pkg, str, strlen(str), newSViv((IV)p), 0); - if (islocal) - (void)hv_store(depislocal, str, strlen(str), newSViv((IV)1), 0); - srcstr = pool_id2str(pool, srcname); - (void)hv_store(dep2src, str, strlen(str), newSVpv(srcstr, 0), 0); - if (!islocal && prpnotready) - { - svp = hv_fetch(prpnotready, srcstr, strlen(srcstr), 0); - if (svp && *svp && SvTRUE(*svp)) - (void)hv_store(notready, srcstr, strlen((char *)srcstr), newSViv((IV)2), 0); - } - } - } - solv_sort(subq.elements, subq.count / 2, sizeof(Id) * 2, subpack_sort_cmp, pool); - queue_push2(&subq, 0, 0); - lastsrc = 0; - for (i = j = 0; i < subq.count; i += 2) - { - if (subq.elements[i + 1] != lastsrc) - { - if (j < i) - { - AV *subs = newAV(); - for (; j < i; j += 2) - { - str = pool_id2str(pool, subq.elements[j]); - av_push(subs, newSVpv(str, 0)); - } - str = pool_id2str(pool, lastsrc); - (void)hv_store(subpacks, str, strlen(str), newRV_noinc((SV *)subs), 0); - } - lastsrc = subq.elements[i + 1]; - } - } - queue_free(&subq); - EXTEND(SP, 5); - sv = newRV_noinc((SV *)dep2pkg); - PUSHs(sv_2mortal(sv)); - sv = newRV_noinc((SV *)dep2src); - PUSHs(sv_2mortal(sv)); - sv = newRV_noinc((SV *)depislocal); - PUSHs(sv_2mortal(sv)); - sv = newRV_noinc((SV *)notready); - PUSHs(sv_2mortal(sv)); - sv = newRV_noinc((SV *)subpacks); - PUSHs(sv_2mortal(sv)); - } - -void -setmodules(BSSolv::pool pool, AV *modulesav) - CODE: - { - SSize_t i, n = av_len(modulesav); - pool->appdata = solv_free(pool->appdata); - if (n >= 0 && n < 1000000) - { - Id *modules = pool->appdata = solv_calloc(n + 2, sizeof(Id)); - for (i = 0; i <= n; i++) - modules[i] = pool_str2id(pool, avlookupstr(modulesav, i), 1); - modules[i] = 0; - } - } - -void -getmodules(BSSolv::pool pool) - PPCODE: - if (pool->appdata) - { - Id *modules = pool->appdata; - int i; - for (i = 0; modules[i]; i++) - XPUSHs(sv_2mortal(newSVpv(pool_id2str(pool, modules[i]), 0))); - } - -void -DESTROY(BSSolv::pool pool) - CODE: - if (pool->considered) - { - map_free(pool->considered); - pool->considered = solv_free(pool->considered); - } - pool->appdata = solv_free(pool->appdata); - pool_free(pool); - - - - -MODULE = BSSolv PACKAGE = BSSolv::repo PREFIX = repo - -void -allpackages(BSSolv::repo repo) - PPCODE: - { - Id p; - Solvable *s; - EXTEND(SP, repo->nsolvables); - FOR_REPO_SOLVABLES(repo, p, s) - PUSHs(sv_2mortal(newSViv(p))); - } - -void -pkgnames(BSSolv::repo repo) - PPCODE: - { - Pool *pool = repo->pool; - Id p; - Solvable *s; - Map c; - - create_considered(pool, repo, &c, 0); - EXTEND(SP, 2 * repo->nsolvables); - FOR_REPO_SOLVABLES(repo, p, s) - { - if (!MAPTST(&c, p)) - continue; - PUSHs(sv_2mortal(newSVpv(pool_id2str(pool, s->name), 0))); - PUSHs(sv_2mortal(newSViv(p))); - } - map_free(&c); - } - -void -pkgpaths(BSSolv::repo repo) - PPCODE: - { - Pool *pool = repo->pool; - Id p; - Solvable *s; - Map c; - const char *str; - unsigned int medianr; - - create_considered(pool, repo, &c, 0); - EXTEND(SP, 2 * repo->nsolvables); - FOR_REPO_SOLVABLES(repo, p, s) - { - if (!MAPTST(&c, p)) - continue; - /* ignore dod packages */ - str = solvable_lookup_str(s, buildservice_id); - if (str && !strcmp(str, "dod")) - continue; - str = solvable_get_location(pool->solvables + p, &medianr); - if (!str) - continue; - PUSHs(sv_2mortal(newSVpv(str, 0))); - PUSHs(sv_2mortal(newSViv(p))); - } - map_free(&c); - } - -void -tofile(BSSolv::repo repo, char *filename) - CODE: - { - FILE *fp; - fp = fopen(filename, "w"); - if (fp == 0) - croak("%s: %s\n", filename, Strerror(errno)); - repo_write_filtered(repo, fp, myrepowritefilter, 0, 0); - if (fclose(fp)) - croak("fclose: %s\n", Strerror(errno)); - } - -void -tofile_fd(BSSolv::repo repo, int fd) - CODE: - { - FILE *fp; - int fd2; - fd2 = dup(fd); - if (fd2 == -1) - croak("dup: %s\n", Strerror(errno)); - fp = fdopen(fd2, "w"); - if (fp == 0) - { - int e = errno; - close(fd2); - croak("fdopen: %s\n", Strerror(e)); - } - repo_write_filtered(repo, fp, myrepowritefilter, 0, 0); - if (fclose(fp)) - { - int e = errno; - close(fd2); - croak("fclose: %s\n", Strerror(e)); - } - } - -SV * -tostr(BSSolv::repo repo) - CODE: - { - FILE *fp; - char *buf; - size_t len; - fp = open_memstream(&buf, &len); - if (fp == 0) - croak("open_memstream: %s\n", Strerror(errno)); - repo_write_filtered(repo, fp, myrepowritefilter, 0, 0); - if (fclose(fp)) - croak("fclose: %s\n", Strerror(errno)); - RETVAL = newSVpvn(buf, len); - free(buf); - } - OUTPUT: - RETVAL - -int -updatefrombins(BSSolv::repo repo, char *dir, ...) - CODE: - { - Pool *pool = repo->pool; - int i; - Repodata *data = 0; - Hashtable ht; - Hashval h, hh, hm; - int dirty = 0; - Map reused; - int oldend = 0; - Id p, id; - Solvable *s; - STRLEN sl; - const char *oldcookie; - - map_init(&reused, repo->end - repo->start); - if (repo_lookup_str(repo, SOLVID_META, buildservice_dodurl)) - { - /* this is a dod repo. keep all dod packages. */ - FOR_REPO_SOLVABLES(repo, p, s) - { - const char *str = solvable_lookup_str(s, buildservice_id); - if (str && !strcmp(str, "dod")) - MAPSET(&reused, p - repo->start); - } - } - hm = mkmask(2 * repo->nsolvables + 1); - ht = solv_calloc(hm + 1, sizeof(*ht)); - oldcookie = repo_lookup_str(repo, SOLVID_META, buildservice_repocookie); - if (oldcookie && !strcmp(oldcookie, REPOCOOKIE)) - { - FOR_REPO_SOLVABLES(repo, p, s) - { - const char *str = solvable_lookup_str(s, buildservice_id); - if (!str || !strcmp(str, "dod")) - continue; - h = strhash(str) & hm; - hh = HASHCHAIN_START; - while (ht[h]) - h = HASHCHAIN_NEXT(h, hh, hm); - ht[h] = p; - } - } - if (repo->end != repo->start) - oldend = repo->end; - - for (i = 2; i + 1 < items; i += 2) - { - char *s = SvPV(ST(i), sl); - char *sid = SvPV_nolen(ST(i + 1)); - if (sl < 4) - continue; - if (strcmp(s + sl - 4, ".rpm") - && strcmp(s + sl - 4, ".deb") - && (sl < 10 || strcmp(s + sl - 10, ".obsbinlnk")) -#ifdef ARCH_ADD_WITH_PKGID - && (sl < 11 || strcmp(s + sl - 11, ".pkg.tar.gz")) - && (sl < 11 || strcmp(s + sl - 11, ".pkg.tar.xz")) - && (sl < 12 || strcmp(s + sl - 12, ".pkg.tar.zst")) -#endif - ) - continue; - if (sl > 10 && !strcmp(s + sl - 10, ".patch.rpm")) - continue; - if (sl > 10 && !strcmp(s + sl - 10, ".nosrc.rpm")) - continue; - if (sl > 8 && !strcmp(s + sl - 8, ".src.rpm")) - continue; - h = strhash(sid) & hm; - hh = HASHCHAIN_START; - while ((id = ht[h]) != 0) - { - const char *str = solvable_lookup_str(pool->solvables + id, buildservice_id); - if (!strcmp(str, sid)) - { - /* check location (unless it's a obsbinlnk where the location comes from the content) */ - unsigned int medianr; - str = solvable_get_location(pool->solvables + id, &medianr); - if (str[0] == '.' && str[1] == '/') - str += 2; - if (!strcmp(str, s) || (sl >= 10 && !strcmp(s + sl - 10, ".obsbinlnk"))) - break; - } - h = HASHCHAIN_NEXT(h, hh, hm); - } - if (id) - { - /* same id and location, reuse old entry */ - MAPSET(&reused, id - repo->start); - } - else - { - /* add new entry */ - dirty++; - if (!data) - data = repo_add_repodata(repo, 0); - repodata_addbin(data, dir, s, (int)sl, sid); - } - } - solv_free(ht); - if (oldcookie) - { - if (strcmp(oldcookie, REPOCOOKIE) != 0) - { - Repodata *firstrepodata = repo_id2repodata(repo, 1); - if (data && data != firstrepodata) - repodata_internalize(data); - data = firstrepodata; - repodata_set_str(data, SOLVID_META, buildservice_repocookie, REPOCOOKIE); - } - } - else - { - if (!data) - data = repo_add_repodata(repo, 0); - repodata_set_str(data, SOLVID_META, buildservice_repocookie, REPOCOOKIE); - } - if (data) - repodata_internalize(data); - if (oldend) - { - for (i = repo->start; i < oldend; i++) - { - if (pool->solvables[i].repo != repo) - continue; - if (MAPTST(&reused, i - repo->start)) - continue; - if (dirty <= 0) - dirty--; - repo_free_solvable_block(repo, i, 1, 0); - } - } - map_free(&reused); - RETVAL = dirty; - } - OUTPUT: - RETVAL - -void -modulesfrombins(BSSolv::repo repo, ...) - PPCODE: - { - Pool *pool = repo->pool; - Hashtable ht; - Hashval h, hh, hm; - Queue modules; - Queue collectedmodules; - Id p, lastid; - Solvable *s; - int i, j; - - queue_init(&collectedmodules); - queue_init(&modules); - hm = mkmask(2 * repo->nsolvables + 1); - ht = solv_calloc(hm + 1, sizeof(*ht)); - FOR_REPO_SOLVABLES(repo, p, s) - { - const char *bsid = solvable_lookup_str(s, buildservice_id); - if (!bsid) - continue; - if (!strcmp(bsid, "dod")) - h = s->name + s->evr * 37 + s->arch * 129; - else - h = strhash(bsid); - h &= hm; - hh = HASHCHAIN_START; - while (ht[h]) - h = HASHCHAIN_NEXT(h, hh, hm); - ht[h] = p; - } - - for (i = 1; i + 1 < items; i += 2) - { - const char *bsid = SvPV_nolen(ST(i + 1)); - h = strhash(bsid) & hm; - hh = HASHCHAIN_START; - while ((p = ht[h]) != 0) - { - const char *bsid2 = solvable_lookup_str(pool->solvables + p, buildservice_id); - if (!strcmp(bsid, bsid2)) - break; - h = HASHCHAIN_NEXT(h, hh, hm); - } - if (!p) - continue; - s = pool->solvables + p; - h = (s->name + s->evr * 37 + s->arch * 129) & hm; - hh = HASHCHAIN_START; - while ((p = ht[h]) != 0) - { - Solvable *s2 = pool->solvables + p; - if (s->name == s2->name && s->evr == s2->evr && s->arch == s2->arch) - { - lastid = collectedmodules.count ? collectedmodules.elements[collectedmodules.count - 1] : 0; - solvable_lookup_idarray(s2, buildservice_modules, &modules); - for (j = 0; j < modules.count; j++) - if (modules.elements[j] != lastid) - queue_push(&collectedmodules, modules.elements[j]); - } - h = HASHCHAIN_NEXT(h, hh, hm); - } - } - solv_free(ht); - queue_free(&modules); - /* sort and unify */ - solv_sort(collectedmodules.elements, collectedmodules.count, sizeof(Id), unifymodules_cmp, 0); - lastid = -1; - for (i = 0; i < collectedmodules.count; i++) - { - if (collectedmodules.elements[i] == lastid) - continue; - lastid = collectedmodules.elements[i]; - XPUSHs(sv_2mortal(newSVpv(pool_id2str(pool, lastid), 0))); - } - queue_free(&collectedmodules); - } - -void -getpathid(BSSolv::repo repo) - PPCODE: - { - Id p; - Solvable *s; - EXTEND(SP, repo->nsolvables * 2); - FOR_REPO_SOLVABLES(repo, p, s) - { - unsigned int medianr; - const char *str; - str = solvable_get_location(s, &medianr); - /* We need to special case .obsbinlink here where the location - * points back into the package. We currently assume that - * the name in the full tree is always .obsbinlnk */ - if (!strncmp(str, "../", 3)) - str = pool_tmpjoin(repo->pool, pool_id2str(repo->pool, s->name), ".obsbinlnk", 0); - PUSHs(sv_2mortal(newSVpv(str, 0))); - str = solvable_lookup_str(s, buildservice_id); - PUSHs(sv_2mortal(newSVpv(str, 0))); - } - } - -const char * -name(BSSolv::repo repo) - CODE: - RETVAL = repo->name; - OUTPUT: - RETVAL - -int -isexternal(BSSolv::repo repo) - CODE: - RETVAL = repo_lookup_void(repo, SOLVID_META, buildservice_external) ? 1 : 0; - OUTPUT: - RETVAL - -const char * -dodurl(BSSolv::repo repo) - CODE: - RETVAL = repo_lookup_str(repo, SOLVID_META, buildservice_dodurl); - OUTPUT: - RETVAL - -const char * -dodcookie(BSSolv::repo repo) - CODE: - RETVAL = repo_lookup_str(repo, SOLVID_META, buildservice_dodcookie); - OUTPUT: - RETVAL - -void -updatedoddata(BSSolv::repo repo, HV *rhv = 0) - CODE: - { - Id p; - Solvable *s; - Repodata *data; - /* delete old dod data */ - FOR_REPO_SOLVABLES(repo, p, s) - { - const char *str = solvable_lookup_str(s, buildservice_id); - if (!str || !strcmp(str, "dod")) - repo_free_solvable(repo, p, 1); - } - data = repo_add_repodata(repo, REPO_REUSE_REPODATA); - repodata_unset(data, SOLVID_META, buildservice_dodurl); - repodata_unset(data, SOLVID_META, buildservice_dodcookie); - /* add new data */ - if (rhv) - data2solvables(repo, data, (SV *)rhv); - repo_internalize(repo); - } - -void -setpriority(BSSolv::repo repo, int priority) - PPCODE: - repo->priority = priority; - -int -mayhavemodules(BSSolv::repo repo) - CODE: - RETVAL = has_keyname(repo, buildservice_modules); - OUTPUT: - RETVAL - -void -getmodules(BSSolv::repo repo) - PPCODE: - if (has_keyname(repo, buildservice_modules)) - { - Pool *pool = repo->pool; - Id p, lastid = -1; - Solvable *s; - Queue modules; - Queue collectedmodules; - int i; - - queue_init(&collectedmodules); - queue_init(&modules); - FOR_REPO_SOLVABLES(repo, p, s) - { - solvable_lookup_idarray(pool->solvables + p, buildservice_modules, &modules); - for (i = 0; i < modules.count; i++) - { - if (modules.elements[i] == lastid) - continue; - lastid = modules.elements[i]; - queue_push(&collectedmodules, modules.elements[i]); - } - } - queue_free(&modules); - /* sort and unify */ - solv_sort(collectedmodules.elements, collectedmodules.count, sizeof(Id), unifymodules_cmp, 0); - lastid = -1; - for (i = 0; i < collectedmodules.count; i++) - { - if (collectedmodules.elements[i] == lastid) - continue; - lastid = collectedmodules.elements[i]; - XPUSHs(sv_2mortal(newSVpv(pool_id2str(pool, lastid), 0))); - } - queue_free(&collectedmodules); - } - - -MODULE = BSSolv PACKAGE = BSSolv::expander PREFIX = expander - -BSSolv::expander -new(char *packname = "BSSolv::expander", BSSolv::pool pool, HV *config) - CODE: - { - SV *sv, **svp; - char *str, *p; - int i; - Id id; - Expander *xp; - Queue preferpos; - Queue preferneg; - Queue ignore; - Queue conflict; - Queue fileprovides; - int debug = 0; - int options = 0; - - queue_init(&preferpos); - queue_init(&preferneg); - queue_init(&ignore); - queue_init(&conflict); - queue_init(&fileprovides); - svp = hv_fetch(config, "prefer", 6, 0); - sv = svp ? *svp : 0; - if (sv && SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVAV) - { - AV *av = (AV *)SvRV(sv); - for (i = 0; i <= av_len(av); i++) - { - svp = av_fetch(av, i, 0); - if (!svp) - continue; - sv = *svp; - str = SvPV_nolen(sv); - if (!str) - continue; - if (*str == '-') - queue_push(&preferneg, pool_str2id(pool, str + 1, 1)); - else - queue_push(&preferpos, pool_str2id(pool, str, 1)); - } - } - svp = hv_fetch(config, "ignoreh", 7, 0); - sv = svp ? *svp : 0; - if (sv && SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVHV) - { - HV *hv = (HV *)SvRV(sv); - HE *he; - hv_iterinit(hv); - while ((he = hv_iternext(hv)) != 0) - { - I32 strl; - str = hv_iterkey(he, &strl); - if (!str) - continue; - queue_push(&ignore, pool_str2id(pool, str, 1)); - } - } - svp = hv_fetch(config, "conflict", 8, 0); - sv = svp ? *svp : 0; - if (sv && SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVAV) - { - AV *av = (AV *)SvRV(sv); - for (i = 0; i <= av_len(av); i++) - { - svp = av_fetch(av, i, 0); - if (!svp) - continue; - sv = *svp; - str = SvPV_nolen(sv); - if (!str) - continue; - p = strchr(str, ':'); - if (!p) - continue; - id = pool_strn2id(pool, str, p - str, 1); - str = p + 1; - while ((p = strchr(str, ',')) != 0) - { - queue_push2(&conflict, id, pool_strn2id(pool, str, p - str, 1)); - str = p + 1; - } - queue_push2(&conflict, id, pool_str2id(pool, str, 1)); - } - } - svp = hv_fetch(config, "fileprovides", 12, 0); - sv = svp ? *svp : 0; - if (sv && SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVHV) - { - HV *hv = (HV *)SvRV(sv); - I32 strl; - - hv_iterinit(hv); - while ((sv = hv_iternextsv(hv, &str, &strl)) != 0) - { - AV *av; - Id id2; - - if (!SvROK(sv) || SvTYPE(SvRV(sv)) != SVt_PVAV) - continue; - id = pool_str2id(pool, str, 1); - av = (AV *)SvRV(sv); - for (i = 0; i <= av_len(av); i++) - { - svp = av_fetch(av, i, 0); - if (!svp) - continue; - sv = *svp; - str = SvPV_nolen(sv); - if (!str) - continue; - id2 = pool_str2id(pool, str, 0); - if (!id2) - continue; - if (id) - { - queue_push(&fileprovides, id); /* start name block */ - id = 0; - } - queue_push(&fileprovides, id2); - } - if (id == 0) - queue_push(&fileprovides, 0); /* had at least one entry, finish name block */ - } - } - options |= EXPANDER_OPTION_USERECOMMENDSFORCHOICES; - svp = hv_fetch(config, "expandflags:ignoreconflicts", 27, 0); - sv = svp ? *svp : 0; - if (sv && SvTRUE(sv)) - options |= EXPANDER_OPTION_IGNORECONFLICTS; - svp = hv_fetch(config, "expandflags:dorecommends", 24, 0); - sv = svp ? *svp : 0; - if (sv && SvTRUE(sv)) - options |= EXPANDER_OPTION_DORECOMMENDS; - svp = hv_fetch(config, "expandflags:dosupplements", 25, 0); - sv = svp ? *svp : 0; - if (sv && SvTRUE(sv)) - options |= EXPANDER_OPTION_DOSUPPLEMENTS | EXPANDER_OPTION_USESUPPLEMENTSFORCHOICES; - svp = hv_fetch(config, "expand_dbg", 10, 0); - sv = svp ? *svp : 0; - if (sv && SvOK(sv)) - debug = SvIV(sv); - else - { - sv = get_sv("Build::expand_dbg", FALSE); - if (sv && SvOK(sv)) - debug = SvIV(sv); - } - xp = expander_create(pool, &preferpos, &preferneg, &ignore, &conflict, &fileprovides, debug, options); - queue_free(&preferpos); - queue_free(&preferneg); - queue_free(&ignore); - queue_free(&conflict); - queue_free(&fileprovides); - RETVAL = xp; - } - OUTPUT: - RETVAL - - -void -expand(BSSolv::expander xp, ...) - PPCODE: - { - Pool *pool; - int i, nerrors; - Id id, who, indepbuf[64]; - Queue ignoreq, in, out, indep; - int directdepsend = 0; - int options = 0; - - queue_init(&ignoreq); - queue_init(&in); - queue_init(&out); - queue_init_buffer(&indep, indepbuf, sizeof(indepbuf)/sizeof(*indepbuf)); - pool = xp->pool; - if (xp->debug) - expander_dbg(xp, "expand args:"); - for (i = 1; i < items; i++) - { - char *s = SvPV_nolen(ST(i)); - int deptype = DEPTYPE_REQUIRES; - - if (xp->debug) - expander_dbg(xp, " %s", s); - if (*s == '-' && s[1] == '-') - { - /* expand option */ - if (!strcmp(s, "--ignoreignore--")) - options |= EXPANDER_OPTION_IGNOREIGNORE; - else if (!strcmp(s, "--directdepsend--")) - directdepsend = 1; - else if (!strcmp(s, "--dorecommends--")) - options |= EXPANDER_OPTION_DORECOMMENDS; - else if (!strcmp(s, "--dosupplements--")) - options |= EXPANDER_OPTION_DOSUPPLEMENTS | EXPANDER_OPTION_USESUPPLEMENTSFORCHOICES; - else if (!strcmp(s, "--ignoreconflicts--")) - options |= EXPANDER_OPTION_IGNORECONFLICTS; - continue; - } - if (*s == '-') - { - /* ignore dependency */ - id = pool_str2id(pool, s + 1, 1); - queue_push(&ignoreq, id); - continue; - } - if (*s == '!') - { - deptype = DEPTYPE_CONFLICTS; - s++; - if (*s == '!') - { - deptype = DEPTYPE_OBSOLETES; - s++; - } - } - id = dep2id(pool, s); - if (deptype == DEPTYPE_REQUIRES && !directdepsend) - queue_push(&in, id); - else - queue_push2(&indep, deptype, id); - } - if (xp->debug) - expander_dbg(xp, "\n"); - - nerrors = expander_expand(xp, &in, &indep, &out, &ignoreq, options); - - queue_free(&in); - queue_free(&indep); - queue_free(&ignoreq); - - if (nerrors) - { - EXTEND(SP, nerrors + 1); - PUSHs(sv_2mortal(newSV(0))); - for (i = 0; i < out.count; ) - { - SV *sv; - Id type = out.elements[i]; - if (type == ERROR_NOPROVIDER) - { - id = out.elements[i + 1]; - who = out.elements[i + 2]; - if (who) - sv = newSVpvf("nothing provides %s needed by %s", pool_dep2str(pool, id), solvid2name(pool, who)); - else - sv = newSVpvf("nothing provides %s", pool_dep2str(pool, id)); - i += 3; - } - else if (type == ERROR_ALLCONFLICT) - { - id = out.elements[i + 1]; - who = out.elements[i + 2]; - if (who) - sv = newSVpvf("%s conflicts with always true %s", solvid2name(pool, who), pool_dep2str(pool, id)); - else - sv = newSVpvf("conflict with always true %s", pool_dep2str(pool, id)); - i += 3; - } - else if (type == ERROR_CONFLICT) - { - Id who2 = out.elements[i + 2]; - who = out.elements[i + 1]; - if (!who && who2 >= 0) - sv = newSVpvf("conflicts with %s", solvid2name(pool, who2)); - else if (who2 < 0) - sv = newSVpvf("%s obsoletes %s", solvid2name(pool, who), solvid2name(pool, -who2)); - else - sv = newSVpvf("%s conflicts with %s", solvid2name(pool, who), solvid2name(pool, who2)); - i += 3; - } - else if (type == ERROR_CONFLICT2) - { - Id who2 = out.elements[i + 2]; - who = out.elements[i + 1]; - if (who2 < 0) - sv = newSVpvf("%s is obsoleted by %s", solvid2name(pool, who), solvid2name(pool, -who2)); - else if (who2 > 0) - sv = newSVpvf("%s is in conflict with %s", solvid2name(pool, who), solvid2name(pool, who2)); - else - sv = newSVpvf("%s is in conflict", solvid2name(pool, who)); - i += 3; - } - else if (type == ERROR_CONFLICTINGPROVIDERS) - { - id = out.elements[i + 1]; - who = out.elements[i + 2]; - if (who) - sv = newSVpvf("conflict for providers of %s needed by %s", pool_dep2str(pool, id), solvid2name(pool, who)); - else - sv = newSVpvf("conflict for providers of %s", pool_dep2str(pool, id)); - i += 3; - } - else if (type == ERROR_PROVIDERINFO) - { - Id who2 = out.elements[i + 2]; - who = out.elements[i + 1]; - if (who2 < 0) - sv = newSVpvf("(provider %s obsoletes %s)", solvid2name(pool, who), solvid2name(pool, -who2)); - else - sv = newSVpvf("(provider %s conflicts with %s)", solvid2name(pool, who), solvid2name(pool, who2)); - i += 3; - } - else if (type == ERROR_PROVIDERINFO2) - { - Id who2 = out.elements[i + 2]; - who = out.elements[i + 1]; - if (who2 < 0) - sv = newSVpvf("(provider %s is obsoleted by %s)", solvid2name(pool, who), solvid2name(pool, -who2)); - else if (who2 > 0) - sv = newSVpvf("(provider %s is in conflict with %s)", solvid2name(pool, who), solvid2name(pool, who2)); - else - sv = newSVpvf("(provider %s is in conflict)", solvid2name(pool, who)); - i += 3; - } - else if (type == ERROR_CHOICE) - { - int j; - char *str = ""; - for (j = i + 3; out.elements[j]; j++) - ; - solv_sort(out.elements + i + 3, j - (i + 3), sizeof(Id), pkgname_sort_cmp, pool); - for (j = i + 3; out.elements[j]; j++) - { - Solvable *s = pool->solvables + out.elements[j]; - str = pool_tmpjoin(pool, str, " ", pool_id2str(pool, s->name)); - } - if (*str) - str++; /* skip starting ' ' */ - id = out.elements[i + 1]; - who = out.elements[i + 2]; - if (who) - sv = newSVpvf("have choice for %s needed by %s: %s", pool_dep2str(pool, id), solvid2name(pool, who), str); - else - sv = newSVpvf("have choice for %s: %s", pool_dep2str(pool, id), str); - i = j + 1; - } - else if (type == ERROR_BADDEPENDENCY) - { - id = out.elements[i + 1]; - who = out.elements[i + 2]; - if (who) - sv = newSVpvf("cannot parse dependency %s from %s", pool_dep2str(pool, id), solvid2name(pool, who)); - else - sv = newSVpvf("cannot parse dependency %s", pool_dep2str(pool, id)); - i += 3; - } - else if (type == ERROR_NOPROVIDERINFO) - { - id = out.elements[i + 1]; - who = out.elements[i + 2]; - if (who) - sv = newSVpvf("(got version %s provided by %s)", pool_id2str(pool, id), solvid2name(pool, who)); - else - sv = newSVpvf("(got version %s)", pool_id2str(pool, id)); - i += 3; - } - else - croak("expander: bad error type\n"); - PUSHs(sv_2mortal(sv)); - } - } - else - { - EXTEND(SP, out.count + 1); - PUSHs(sv_2mortal(newSViv((IV)1))); - for (i = 0; i < out.count; i++) - { - Solvable *s = pool->solvables + out.elements[i]; - PUSHs(sv_2mortal(newSVpv(pool_id2str(pool, s->name), 0))); - } - } - queue_free(&out); - } - -void -debug(BSSolv::expander xp, const char *str) - CODE: - expander_dbg(xp, "%s", str); - - -const char * -debugstr(BSSolv::expander xp) - CODE: - RETVAL = xp->debugstr ? xp->debugstr : ""; - OUTPUT: - RETVAL - -const char * -debugstrclr(BSSolv::expander xp) - - CODE: - RETVAL = xp->debugstr ? xp->debugstr : ""; - OUTPUT: - RETVAL - CLEANUP: - expander_clrdbg(xp); - -void -DESTROY(BSSolv::expander xp) - CODE: - expander_free(xp); - diff --git a/Makefile.PL b/Makefile.PL deleted file mode 100644 index f219477..0000000 --- a/Makefile.PL +++ /dev/null @@ -1,22 +0,0 @@ -use ExtUtils::MakeMaker; - -my $solvprefix = '/usr'; - -my $inc = "-I$solvprefix/include/solv"; -my $lib; - -if (grep {$_ eq '--bundled-libsolv'} @ARGV) { - my $builddir = 'libsolv'; - $inc = "-I$builddir/src -I$builddir/ext"; - $lib = "-L$builddir/src -L$builddir/ext -lsolvext -lsolv -lz -llzma -lzstd"; -} else { - $lib = '-lsolvext -lsolv'; -} - - -WriteMakefile( - NAME => 'BSSolv', - VERSION_FROM => 'BSSolv.pm', - INC => $inc, - LIBS => [ $lib ], -) diff --git a/libsolv-0.7.2.tar.gz b/libsolv-0.7.2.tar.gz deleted file mode 100644 index fc9db0eb21ec9edbc76a71b218ac6d13cbbdf872..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 655694 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 sE`pZcLtuUo+s?Cpn4dpkqh|YyoK_1CQmN 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

#Je=4tf;NSj*J;4k1&=UCL|vL}qP_&Ve`D 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

TF5OC3D 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

*B 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�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
  • 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≪#KdtdrC9jArDW*Z4god6 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�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%0AG6Qe3w}SD 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%0Dk<`1nvM)-T?KJ+RV+$g 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≧CuT`3~up?K??etN|4D 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 B=XcJCGsiR-A6Egj3=Fdty*hD8#@3;ErG* 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®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%0A4cl0j2~clVu*# zK_qaDhGk&Mj^lW$36ldrpy5w7P=rcRo@q`SN3>3gj#7;Oz|A)FVU#4iY&SR1-{HY4 zZZqZeePzm{jrOV#EdMD*%Be2yRc73kA{VDkx(!1`E&`DUIt^(r#o0`t_IQmeT>#9d08S>op0rP) za|(#c-F}Cvk0xlP1qHtZVUehB&G85QhhwKTAmu1QLbVX8RXIOKCFv4B_9B4|rTzb_ z)02N49-!qv`%rZFqOf_dL=TdqAq!+c3`thg1}CGgxzMbsjTvhY{y*`Vvd^kuf#jkR zIf+?Zuy_d&{zAbA#mc-8wkT}!ar^Cx0VYRYgMSZo!{n|{v1Q0x z?UAE{V1V%v-lzjgyi6bfYnfRZ8es%F01_M!fkr8me<>mo1^P_5Ek$|Fz~1KphbahB zurgShgCWWr>M(7PuvSHYYj)8+zuWeDt1uh`;s{A~9$2XhMJ=L*D{l<4Nk8}~?9v7y z>tG5<3uQ@o^qYVRc9n*pRCu}Soj9!njXWF+YhXtNz_y#-4TdDL#C+ET`{{;qIrvWN zi*XSw22}$WDrmq2mcGWEf|i+0Q<6#AGO^U*Xwqj|MQqX^AW!@R>_zk`M6M_aQ>`bH zK`;grTn)!xOrxrt3lbMfe7P;9Sj=(Twy4RR`2Fw3-miS`GLkrxC;+Wa3%7Z^_p(vs zqD0hWEX5S>@Wt`TDQ1P86Wn{2+I^T3m|6_KLJ?8dMS?EwZttNXBOn(e&;H;O-}M2t z(HDXOjC35Z@yH}Eok%0j5Mm1wrj1lfY$W!PQ#fm?GQ0MV>F0-I46Gh{AIXaX{^Zwe zhFXFgJ;v=zUDrc6u(IOF4lCcE42_m0x{@x2BB1AZ@SzEuf`Nc@1xBR(2@#2%i-#&~ zruIsQa{L;NNHq}YIui=xjUZ5-8_V-roFNX;<`~1qIKUvZv2i31jtc7us_8WV!tzBFU$ijyhbL1A2{BCGa`#$ zbc9EQE-Q|uSul2n><2;?(`a*SKk(S=QRx#9_X9jU4JM;DoX^JI2zDP$(4zO$Ercff z^?_ePh;po+y_~C+gU0NIDq0~H#|2hWq}V%>2LB+D5M#3NMR58W6@-Up=dWMAINdvF zY-0hX+prWqJpLIE+Pt7V-ykOxzTKP_srxj*Mp%I#Lkj!`_ywabj5{3!$3c5MAv=pq z2{9eL*RKxt&Kozv4wf9L?^=N~8RF*b-yE&~d-8lc>4P}!95kQ*-emW*$z@+3|9X7# z@8jmHz5QSJUNq7Qp1pqc>g4piagaT!r>|aaM@J$Yz#(5+gnSVTo%{c1_qTa`a{kNV z@e6sFYaTRS#ae-ZzC)S*rXkW&PBMk+g$0JXR^&79(fqGaxoVMa6T0Gz&p)cyt`H8kLqZrft*#ZVn zX+>{Z&9lPTSHhO5+NlfTw=hC)=L`DV-R^APX4u~@E1_WsZ9-#~q8(OL$KFy_#{XT? z1OG1BBK{`X#n0l~3bbu{wvx@=@k#UW_`Gp?ymxf?KaDJ3SFt{3@pPr@B0h+Ad;5ri zqbRK6fXjn3#sW8tb|v5xyE1(wnpi=zce7e0I)AeFrwxiI#FGn%x3Q5+Fp%za zHg9AgC+I8JFv`+-#!-R(s}Ce~0vZTLeXrO3Pap!9E?lzz>W@|a4@MWkEgk?e?Y`VIi|<|-2BUGlFdh+yZ}eG-`B6_mG-J2( zR(I-{6dxDjbBOLsD6@;PbKc;_^-lh0V`D?)%2;vu5Ia{Od3A>%nn^(%Z|6W3M_rjF zs&~ig?8JdYxqVV@7iYHQE+hx1YRjem;^;q7^pgFL~2;9pn%=PR3RssaU>@0oQISLs^5`#}#w)~L@`bdrJ^ zp>-*ZY+P23hdY`@ZZ@1sU!mRCUaabHNEv1Fh}$VKjCAA@MHV|kvN*%Us6j$#(4LIK z?nkcH6~%=&wfPo=ul_~Q8(gT@P!I+th}KZiu}JcJb+mVQd~kTWv{W`f5G^e&xt6z5 zDYaBFzv3{Q@4Yx%TBfO$Ncu(?CH&6(DQW6jh!eb%P8rxPMF^na?hoJgAI4k^nV27O7~?{E8-*(BRO94l zO0}wiSxWKJkdS)hJF21ajMYci(a2lJ_VVrcq44+Zt*seQ+Hl0z4R-mgd3Xi`1K(R4;kbDPOh$BEUr>S{8P`Nv zh~OUd7`CCw@G&8jxsa0)O2)^0FPJb(i)s}Fh@GOy)ExF;=LK9@2m^JjPT;1B-SQJL z%Wf==P*>j@ZxM3z)me$#eyQtR$TZ!(I>!S1XZwDr!B(qbcRUC1w%935_%( zmr66<2w#&hPbD+gC%$4#x2y+`@+U)=e?vbPL8f7?^W7T#B)>t+=d}$IQa4zfiTKwc zdOan674JRzH_9#eM~AlvL|TGBR~h9NRQwMXD+OTNBO(#r62>dgYt7T zw!$LBV8|&xyLTl*)$~0j`%-4bQx-E9rBzTJJ=LP%-5F-regB+DwSTqK}+vX=}3}HfVy1;cSAwsLGip?%q^ZTSjZRKcnlW zzO>txP!xJsX*(JUpRXpYV%q)G1`Lu!iAgsbLbBk}&f|y9KN%vfvkiY3EQO+j=wXcb zV8dTU+g41Tkx>~V}EL)7qQSdgfAmcM=I(&ySpgi{;6L4 z{Vc-K085ST~FM{6Jh<;tn9223{oY6iPAt`gJa3FDWmUn4z z&=|6rz3PTxw|_DC5WfaxSBAW*IY|USKhDQ*3`LQI9YMl1cWvEdies6ya}#|12y7^qIgng#LNu!d7w*jISaw(F)X~aWiChGwy@-qDl#YE&PRYYkac=q|6<}@ z1lCEjO?C9Fr760W9Xa|q2*%Rq=m@mr^0m+c8*Wjr6)&X_>3^+gUy*@hs7woeqr;!8O1ErRaV7e01 zdq<{G+c_CsU}zFS7K4t0g%s2#*B+u1pTSQMFg2Y&Ck1~xw$cxnYC_mgNq}b!tUtvr;es zykTWoxG_B(mck;cSmT`%1IQQnuEUT23<#Vk>s-6|dlI5~)=rE#FiWEoqAc<2s#!9Qw=N>8wKNl;UUNQo@HvfMaB%$7;>qYHfS1 zlI}ooh>n34mTwk_K|eo4O?*y)tpO_=5}j`EprzxT1#6IklCTyb_>jbP@n&iQ-#~%s z?rA*5uJN0bb96j=!G(trf|!vGA6T1gz;^^u@CFtQL%fDZb@@BFy3$1zd<;8>p>F6f zj9EJHh=(*%OhOxWv?${2l)zv-eEiS|o@N{}r0U$Pf;J3BC3zST5eMm3ApvM~LY7j8 z8~wthr3S+%rr(K;c*IO2g*JzA;!ITi$D}q91#UJXHmF#{qL6ev>0)%x4Z5OCL^t;OX9i0V=4oh1RKUB9Z_ZYDi}~!M=fp=;E+@V|rEF8uWE-l+gs1g& zR)XC!M!rVgNzpO$=AdM~H<imXm}#23vJmj5w2)2$_}J@PcHryX_v^9eCik_>oL19r8<{$7`w>eWVE=(xWj7< zJ_orjF(RwmeDm!tDs*ncP|J5a(HW}Bd9Eeo3K*trYSENR_vJD|#KO|IytJv#dktZm zOtuDbw?R%|>H>|oMRpBg;qnR0TXlRY7QP}{#j6K{lb@aMou1!_opU)M4@cMguIp^% z`=T~JR^3gxW}JJe;2TxPqQmKKeE7H_GR$W2_t<@qglxGJGC6~$g;$tiZYlj2yON1& z;2pD!&bRarRzj8q;^Zt>BOU1Tvo6H|GWL%MLztz>-;gpX8{r#YRanQ>cIjY)fmut`ls2lnTH&!IL*r zyNqB%H19^jIf!%AGDirtIZB@ny1x*)poU zPJB?!5sEOL$o(W6VWkI3WTSG^T8U^pllEz?ZXTs(a>FuxX0&AiO!|K1fks)uR;>C@ z3hT`kcHwx^>ExS*fj?=FLp^+fF%P+_Crx6W$t&krfl{r=yPO{`8ye*gnP*H?>2JN_ z4L{9$rMh9`CjCV744W)GGc5%nx*GzN8;yGoWtr~(dcTJK#(GK1!19k-ipbj-*!!)8 zoKaIajZ_v7MS+!P)DhlZtWRuT1p7RF2mksF|Fwtz8aPh}lQG5W+3MP)%!xCZTp8+@u zs$yf+KAqyHUN~^VfU;4Bla{b%=z>&&Co-6iP^Ult2x6knD_%J z)o9iBI1XannMD}s%@jS9Jot*t*j;$jF~@7uFbIZ(2FiHJZICPu*wOPsEaZ+NY{wpW z2j5Z5o#h;1N%wv`{ds?oCo-v^P!)GaQLTzos@~l=z7DInrz%ERtpFjt`ct5svM4~> z3`N{Q>7xn*U<(oSGlLNc4PYy|uS)9S0&GPGtf(TAcw|;FpfcW2bll64#PvdtVXp47}8g{aalX8EuZUZY@<6yh$Qr1)Q?XS$^z zU>WgWYo&568vmVyN@HRi$`ebK_Z%8U$3=l+oAKbRpI13%JS!;yv>;)gvrwUPuJ^v5I~)LDy(3=+-vhMQ=8)ht|7Lcz3Ot>`@Cv=i&B4Dac(% z?xT5=ETram)OXQco6zQ!uQ6Z%|69pLB$_fgZb^pGWuLAoG>?!8NY}t#Lo)=2w$nZ* zmuuaa@tPSkuBgNKHk+#LA5p!0&8^6N4Pgymf~4+b9&~-yRSmys&3tfDN&@H{E`1Si zKB}Zs$~5cYc9FUynswtzvaJe1thJ!Eby9zrgm;T!LouD-j zF=1!?_5KN_u{=Jf&ngd?9{Ar#N6oIGVfG5~qn`oz?EKUQQNPAct$+ObWh%lZ@Lq31 z;Bi=+zy1qrZ&q;{ptT69dXQV`=Erz&vq$PjZ7})Rt4?h5e(1HZBn^>KwWy*=LpkxC z1$od57M;~eKkQ!gVV~pX0cwy;)YSnv>E?erO%JB8mPQ>h?k7InTz{idrC1d>PDF!q zovFML8`jJ^9JAUrQ(1^!3x!3j*3xte3-Qy`TO?k&@@z3QDOp+sbEBR$OAO!S@Risb zb#BW(@8}!FB4x+o$^BT*e;9@K76U-1pa06`Qr(jO1Iyn=<5|z*{CD5-e<`E6iSHak$q!M_RX-&F4AHf)hoI%HV zDAT?^bY!Au?5y)|b}C}U^|XO`^O4+H>Od7i+PJ-V_4+wTXVJpLNee_AYm8*}og06o zW<5!csyt(u<|)HL-}r2e=T=2?aG>tvwP(wDiiC!=vWvfm&QmcQc(;kKM$S{@3cKp$ zz21kz@3FcO1SxVrHwm;9sF5N_BSB}v1$3wVJ%zZhmIy;T`8CX$H)OD7!GLpblnVNPuc#BGY?I6T((K}Y$@ zBm@MLeupsXGR%Wiwp%WBtqYtX%GPygz(_J2Nefe+GiA#%nxCNPDH659giWqsJVSc< zcsW-Zmc9K~m;Dc)e;aKNx1(3XmP{H#Ao4=O?wd@nH~MLN)^ZA;xc}R%+rajNHKw z>sVk%*qGT>FcQTTsV#NVBi#x`t$jE#nh#eV$*f?fCnx6^6KIMYq`JnMv$(?Y5`+Bb zGmO}J@SH%Lo;P2ep1e41oSo@)A|}j6O^WsU@5A$7n)|=(9lvNCoxISi>TVf+t4XvW zV$b5=N)eNk=Shln)8FfeA4?wAG$^Ku;Jn@j?{l|u!1oE^S6-aCJt8rtMW zeNPWw%1423S-1fB-{#zvUSpjPL=*1Pg{CA|VL;ZZgU9oJ&mr6c!+C z4v))J4l!fQ+V(Y1k>O#p0~-e`{q>6@M?0u!Pm#yXB7?F@XpAApRjPAFM3~< zWFfB^bn9XoZhe0g&S~6!nZ4Orj>_TFnCu|efL`pqK0g8GeDHez{H&l0?h9q{-}_0> z|6ciX)BmE{*P{QeFY^D*^X%mH>3-v$>sm#2y<1EDoRW*~7EOrc z0(ai5U&aiF9&*>qhs<0E?TD~~esa2rA<^^(Lb8B{KCSwe=loG7p&w5ZIhmiyAfI8o8QzX2?+KpTy;--Ya)sa zLdU|-QB2JekD9}iBcM5Ik>A$AxCP#o9;}EAYH zo6;R&GB1_wj9-HRUTy!J z!()`oLRaigP#fB~k0UQyGK-edJuz*4Fp66Ta7o=$Ek$mlVh#NoE#w;DxePb6hpTQ} z8&?;yB_PJa5+sjjTM#8Mm*9#Pgr5c8L*Y+KY&}3U8s}H5u0`ZCqV7o?lDzyee%8*8 zzV77|+M?J#;G8Nc&9S)K6MA2f2`&LpJ~;6(z?LY$OIiqEm3V-77hB|d{4#vSmw$59 zvL#ma4He^o%9v9s4+pF(wP9Kw@Hx}w(Gt>*FH+0hpVSx6h_9+`L0P*_g!dXg$%iv3 zL#*)d4QTblm$PK#Oi##}yX&gkUyapmi^g(CM}A@r zOnd|>QnH4&U=37Sur(U{b~H>izKy#+->C+{cK#Q>^|z%1$guyemfg7jZ^bPw&i`|G z?$!B!?)rb04C^-U1mbql>@{CfmQOsz(%kM5Ztohw;1kZ9b>ND;GrRBJtb>3kl0V_k zOZcbnJViULU7M@20Croq3w)$HEX(ND5?p{p>(-yZ~NQV+b_3s-CZpu8DmHF8*Ns?9MnYZjL%AI zW1Ltt!ACS!?j=|FXfu#l_J#@;b&F>85l&LsrCmGn1txADa~OzfBW+Hgb~5dV#1EpR zIG3t3h76u9&pZ5Ns>4rE*36XHG2v8U>^pd}kf#d+{oLUqZ!r&}O>eTStdS)Vla~!` zMMcVm$g>OL7N>R-6q1;cwq|&3CU}$za-K3+!=5yj8+oOG`5&#HHZK0NBGemJS8)cmi|1d$D3Mw_0}zkV zB}4X+2g6KTDqR6CmbKN8JzsDquD2nd%mBuBe zm!nE0RX}Owc*ZhL-3*8^g(?x*bSeF~P5e}*sL81=lM<^X^G)jV40+a!G;5ls-#&Gi zn{CMeMt6Pj~Ee^8fM zwC{E=`h!tGY`j1Cw1Hwrd))nq))t>GnLsiQU|0V%7=6IaICjS%&Ke1X(vQ;uB`J%p zZ`vg=t-_nlcRR+*wP9@XXJP{U?u{Nlg!i zv?PXa%J1+GzLySh4~2u2Q$yI1>l)hY+ruxbI2bU`RQCJidaMWE=Qlub%bPMaUDm$Ia4y_sK9Y!0S#O-dUE zy3Q8|^o&!hESGR*HO&en&^$*~>{z~R1veTC+qv;(_gs$V3W8&ry5tv{Ue#@YG)9_@=~uaC}~=cjwe zXM6jYxwq)>XJtI{`k_bIuQ*?e){3uAPo5t&UY^NXSaCQSw0gl+m{{xN^wlqW$BhG{ z)?hTe^!kCHSPRtvFJFRyrB#G!z>7iH2vRD(K0a`u!kCtF?DT^1=DxzZ$Z8 zD_)OwayUl>$=y4Bebg{Ugb>Ab)4BB}r7R0WRCJ3PMz{-4SUAV(#OAEIUqe!)qbl1hTS5yX$4NfyrI4o9f2D^#0Vg5_KO<8Bc&mJ zYo-%5zO>UNHXmB$xya(7yTsZCv9olV)I2Kwc&yHca7VPv!Ne#-{bxv^(^I zk3mm=OX8{tgQv*G4}y{mJA3pb0fZw>iU~HX@5LXmIxQEv%ATE-!rx7do7P0`A-)*q z_gZb1*Y+BRj0e`nfulLex~BbjHM%_7?rn$L=c!S7E%CF2r{PD#(@>4Ah(yjFYhd1y zQB|9O9CfdZy5_K#Gi%3gnlsAxSb08A+KsP$rcz-Y<%X5rkMN-kbgdhTGoUQ`yil7l z`WQ~aOP3J{5W#rRe)kh&QOi6ro?E>;-~#eJfXNXht#vA z{87vez%h){#m{IK?WF5=@eLz4DdHF5)a46VmXtBLw^4Rm(kp~Y6JtQS^1=@s5dM38 zSH4Bn7=}V`oSxGCu}}mky@nn~E01bJFR$qtO1hqbGm{4$ycc8+3x9B<3CVeY9ZIuY z$w}o;jTJAkEkxg>QAx%7iwYC73kVthEw-$mG=Q1~Jc5kbz(*Ah{JpTGRd_vf>U9vF z;9uKHfvVZU^KB>E023~Fo^$-ZqkkcBfY;P)wT&&zZ0Ld9SSawD8f`44Z8~Lj7b@OH z0@~xyIv{9}K1q}T%9aDhG7X#EfuoP^Q^Iy6IBto_J8K*@NK9%T@4amNseZzdsXfSP=_AU-kCM~RT*5$Wfo1saW=c^QBx8N8B+7ME({w2A*g&kreQ5fN%v zD~=-%wM~qv$J=2*u(hI`hKNEQN^C$?3Y^J8QL*_y9ynJXY~RvkKsCvA<4n-HW(sbc z=q~$HU(?rI|E;i-A&(6dWx=T8`+9>N7P#tLkegVa99hR%mpNN?x!p)maV`6aYIELR z;zY7u@}9jfI%q+KKXvJeskQkBesUpux?#xA^-HV`F@KWIi|W;B|6SKf7L$D}7TNf>yoWog62#u;XT0V;@Q)bu*~O-nrYNEBp|qa zUUAE&_}7BTR<%Qgx=bXM_pYeb)J`2yRmVer!*ZK3q$BCD@Bolq(>+Ch0oW1b&g?W10#lCIeb#4rQqL z7;i|5? zIlCa(YWreDjUe~RF8`bTTd)`oV?}TXl#f<^3|Djp&A0uihP?X@6COzkU@3vxEYxm03-UMsF;8GBJBwHO3l#!-`>^hCJ@8my-#slfr-B|ROKn!9WgKzQRz^{)R%AK zB=+Z=1?9w_RD0rbmpkm(aqKvD`arrK(($Ecq6B;s3qgi%`I&h7E~5^;@{9#aBUuJ* zvJA*9q+e(qw0Q|!{5qdOEAMvst+d;yKNN^vx}c4+4bs%IEQz6F{Q3A&L;%=io4E}a z-t8VHKR(f46SF9i>kRQ~7j%c6?^nvQ4liN}B403Ivjw6W%JCTn%WClEPhv=u=kM Z1G^m@92^`R931{H`~viVIl=%qF#vnzL`MJs diff --git a/perl-BSSolv.spec b/perl-BSSolv.spec index dc78d63..ed8767b 100644 --- a/perl-BSSolv.spec +++ b/perl-BSSolv.spec @@ -1,76 +1,69 @@ + +%global min_libsolv_version 0.6.30 + Name: perl-BSSolv -Version: 0.37 -Release: lp151.1.3 -Summary: A new approach to package dependency solving -License: BSD-3-Clause -Url: https://github.com/openSUSE/perl-BSSolv -Source: https://github.com/openSUSE/libsolv/archive/0.7.2.tar.gz#/libsolv-0.7.2.tar.gz -Source1: Makefile.PL -Source2: BSSolv.pm -Source3: BSSolv.xs -Source4: typemap - -BuildRequires: perl-devel cmake gcc-c++ perl xz-devel zlib-devel -BuildRequires: libzstd-devel perl(ExtUtils::MakeMaker) check-devel -Requires: perl - -%if 0%{!?perl_vendorarch} -%define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch) -%endif - +Version: 0.14 +Release: 1%{?dist} +Summary: OBS solver and repository management using libsolv +License: GPL or Artistic +URL: https://github.com/openSUSE/perl-BSSolv +Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz + +# Backports from upstream +Patch0001: 0001-Implement-genmetaalgo-1.patch + +# Patches proposed upstream +# Align Debian and Arch support to libsolv, bug #1342160 +# From: https://github.com/openSUSE/perl-BSSolv/pull/10 +Patch0501: 0501-Align-Debian-and-Arch-support-to-libsolv.patch + +BuildRequires: gcc +BuildRequires: libsolv-devel >= %{min_libsolv_version} +BuildRequires: perl-interpreter +BuildRequires: perl(strict) +BuildRequires: perl-interpreter +BuildRequires: perl-devel +BuildRequires: perl-generators +BuildRequires: perl(Test::More) +BuildRequires: perl(ExtUtils::MakeMaker) +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +Requires: libsolv%{?_isa} >= %{min_libsolv_version} + + %description -Using a Satisfyability Solver to compute package dependencies. - +This is a support perl module for the OBS backend. It contains functions +for repository management, dependency solving, package ordering, and meta +file creation. + + %prep -%setup -c -ln -s libsolv-* libsolv -cp %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} . -pushd libsolv -popd - +%autosetup -p1 + %build -export CFLAGS="$RPM_OPT_FLAGS" -export CXXFLAGS="$CFLAGS" - -CMAKE_FLAGS= -CFLAGS="$CFLAGS -DUSE_OWN_QSORT" - -pushd libsolv -cmake $CMAKE_FLAGS \ - -DDISABLE_SHARED=1 \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_SKIP_RPATH=1 \ - -DENABLE_RPMPKG=1 \ - -DENABLE_DEBIAN=1 \ - -DENABLE_ARCHREPO=1 \ - -DENABLE_LZMA_COMPRESSION=1 \ - -DENABLE_ZSTD_COMPRESSION=1 \ - -DENABLE_COMPLEX_DEPS=1 \ - -DMULTI_SEMANTICS=1 -pushd src ; make ; popd -pushd ext ; make ; popd -popd - -perl Makefile.PL --bundled-libsolv INSTALLDIRS=vendor NO_PERLLOCAL=1 NO_PACKLIST=1 -%make_build - -%check -make test - +# Ensure build flags are set +%{set_build_flags} +perl Makefile.PL +make %{?_smp_mflags} + %install make DESTDIR=%{buildroot} install_vendor -find %{buildroot} -type f -name perllocal.pod -exec rm -f {} \; -find %{buildroot} -type f -name .packlist -exec rm -f {} \; -find %{buildroot} -type f -name '*.bs' -a -size 0 -exec rm -f {} ';' -find %{buildroot} -depth -type d -exec rmdir {} 2>/dev/null \; +find %{buildroot} -type f -name perllocal.pod -exec rm -f {} \; +find %{buildroot} -type f -name .packlist -exec rm -f {} \; +find %{buildroot} -type f -name '*.bs' -a -size 0 -exec rm -f {} ';' %{_fixperms} %{buildroot}/* - + +%check +make test + %files -%defattr(-,root,root) %{perl_vendorarch}/BSSolv.pm %{perl_vendorarch}/auto/BSSolv +%doc README dist/perl-BSSolv.changes %changelog +* Wed Nov 25 2020 wuchaochao - 0.14-1 +- change spec + * Wed Sep 16 2020 Ge Wang - 0.37-lp151.1.3 - Modify Source0 Url diff --git a/typemap b/typemap deleted file mode 100644 index 5a437ed..0000000 --- a/typemap +++ /dev/null @@ -1,3 +0,0 @@ -BSSolv::pool T_PTROBJ -BSSolv::repo T_PTROBJ -BSSolv::expander T_PTROBJ