Hello community, here is the log from the commit of package libsolv for openSUSE:Factory checked in at 2013-12-10 09:07:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libsolv (Old) and /work/SRC/openSUSE:Factory/.libsolv.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libsolv" Changes: -------- --- /work/SRC/openSUSE:Factory/libsolv/libsolv.changes 2013-12-03 16:11:34.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.libsolv.new/libsolv.changes 2013-12-10 09:07:51.000000000 +0100 @@ -1,0 +2,6 @@ +Mon Dec 9 11:53:06 CET 2013 - [email protected] + +- make repo2solv.sh work when appdata support is off +- enable appdata support for SUSE + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libsolv.spec ++++++ --- /var/tmp/diff_new_pack.kQ3lNA/_old 2013-12-10 09:07:52.000000000 +0100 +++ /var/tmp/diff_new_pack.kQ3lNA/_new 2013-12-10 09:07:52.000000000 +0100 @@ -171,7 +171,7 @@ CMAKE_FLAGS="-DFEDORA=1" %endif %if 0%{?suse_version} -CMAKE_FLAGS="-DSUSE=1" +CMAKE_FLAGS="-DSUSE=1 -DENABLE_APPDATA=1" %endif cmake $CMAKE_FLAGS \ ++++++ libsolv-0.4.1.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsolv-0.4.1/examples/solv.c new/libsolv-0.4.1/examples/solv.c --- old/libsolv-0.4.1/examples/solv.c 2013-11-14 16:36:43.000000000 +0100 +++ new/libsolv-0.4.1/examples/solv.c 2013-12-06 15:36:44.000000000 +0100 @@ -84,6 +84,9 @@ #include "repo_susetags.h" #include "repo_content.h" #endif +#ifdef SUSE +#include "repo_autopattern.h" +#endif #include "solv_xfopen.h" #ifdef FEDORA @@ -2385,6 +2388,17 @@ #endif +#ifdef SUSE +static void +add_autopackages(Pool *pool) +{ + int i; + Repo *repo; + FOR_REPOS(i, repo) + repo_add_autopattern(repo, 0); +} +#endif + #if defined(SUSE) || defined(FEDORA) static void add_patchjobs(Pool *pool, Queue *job) @@ -2928,6 +2942,9 @@ if (pool->disttype == DISTTYPE_RPM) addfileprovides(pool); #endif +#ifdef SUSE + add_autopackages(pool); +#endif pool_createwhatprovides(pool); if (keyname) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsolv-0.4.1/package/libsolv.changes new/libsolv-0.4.1/package/libsolv.changes --- old/libsolv-0.4.1/package/libsolv.changes 2013-12-03 14:36:45.000000000 +0100 +++ new/libsolv-0.4.1/package/libsolv.changes 2013-12-09 13:51:27.000000000 +0100 @@ -1,4 +1,10 @@ ------------------------------------------------------------------- +Mon Dec 9 11:53:06 CET 2013 - [email protected] + +- make repo2solv.sh work when appdata support is off +- enable appdata support for SUSE + +------------------------------------------------------------------- Tue Dec 3 14:30:17 CET 2013 - [email protected] - support appdata parsing and auto-pattern generation in tools diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsolv-0.4.1/package/libsolv.spec.in new/libsolv-0.4.1/package/libsolv.spec.in --- old/libsolv-0.4.1/package/libsolv.spec.in 2013-10-04 11:23:38.000000000 +0200 +++ new/libsolv-0.4.1/package/libsolv.spec.in 2013-12-09 13:51:27.000000000 +0100 @@ -167,7 +167,7 @@ CMAKE_FLAGS="-DFEDORA=1" %endif %if 0%{?suse_version} -CMAKE_FLAGS="-DSUSE=1" +CMAKE_FLAGS="-DSUSE=1 -DENABLE_APPDATA=1" %endif cmake $CMAKE_FLAGS \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsolv-0.4.1/src/rules.c new/libsolv-0.4.1/src/rules.c --- old/libsolv-0.4.1/src/rules.c 2013-10-17 17:21:43.000000000 +0200 +++ new/libsolv-0.4.1/src/rules.c 2013-12-04 18:41:47.000000000 +0100 @@ -1181,9 +1181,11 @@ Id p, pp, a, aa, bestarch; Solvable *s, *ps, *bests; Queue badq, allowedarchs; + Queue lsq; queue_init(&badq); queue_init(&allowedarchs); + queue_init(&lsq); solv->infarchrules = solv->nrules; for (i = 1; i < pool->nsolvables; i++) { @@ -1253,9 +1255,26 @@ for (j = 0; j < badq.count; j++) { p = badq.elements[j]; - solver_addrule(solv, -p, 0); + /* lock-step */ + if (pool->implicitobsoleteusescolors) + { + Id p2; + queue_empty(&lsq); + FOR_PROVIDES(p2, pp, s->name) + { + Solvable *s2 = pool->solvables + p2; + if (p2 == p || s2->name != s->name || s2->evr != pool->solvables[p].evr || s2->arch == pool->solvables[p].arch) + continue; + a = s2->arch; + a = (a <= pool->lastarch) ? pool->id2arch[a] : 0; + if (a && (a == 1 || a == bestarch)) + queue_push(&lsq, p2); + } + } + solver_addrule(solv, -p, lsq.count ? pool_queuetowhatprovides(pool, &lsq) : 0); } } + queue_free(&lsq); queue_free(&badq); queue_free(&allowedarchs); solv->infarchrules_end = solv->nrules; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsolv-0.4.1/src/solver.c new/libsolv-0.4.1/src/solver.c --- old/libsolv-0.4.1/src/solver.c 2013-10-29 16:06:42.000000000 +0100 +++ new/libsolv-0.4.1/src/solver.c 2013-12-04 18:41:47.000000000 +0100 @@ -3622,6 +3622,7 @@ if (!solv->noinfarchcheck) { solver_addinfarchrules(solv, &addedmap); +#if 0 if (pool->implicitobsoleteusescolors) { /* currently doesn't work well with infarch rules, so make @@ -3629,6 +3630,7 @@ for (i = solv->infarchrules; i < solv->infarchrules_end; i++) queue_push(&solv->weakruleq, i); } +#endif } else solv->infarchrules = solv->infarchrules_end = solv->nrules; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsolv-0.4.1/tools/appdata2solv.c new/libsolv-0.4.1/tools/appdata2solv.c --- old/libsolv-0.4.1/tools/appdata2solv.c 1970-01-01 01:00:00.000000000 +0100 +++ new/libsolv-0.4.1/tools/appdata2solv.c 2013-12-09 14:31:42.000000000 +0100 @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2013, Novell Inc. + * + * This program is licensed under the BSD license, read LICENSE.BSD + * for further information + */ + +/* + * appdata2solv.c + * + * parse AppStream appdata type xml and write out .solv file + * + * reads from stdin + * writes to stdout + */ + +#include <sys/types.h> +#include <limits.h> +#include <fcntl.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "pool.h" +#include "repo.h" +#include "repo_appdata.h" +#include "common_write.h" + +int +main(int argc, char **argv) +{ + Pool *pool = pool_create(); + Repo *repo = repo_create(pool, "<stdin>"); + if (repo_add_appdata(repo, stdin, 0)) + { + fprintf(stderr, "appdata2solv: %s\n", pool_errstr(pool)); + exit(1); + } + tool_write(repo, 0, 0); + pool_free(pool); + exit(0); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsolv-0.4.1/tools/repo2solv.sh new/libsolv-0.4.1/tools/repo2solv.sh --- old/libsolv-0.4.1/tools/repo2solv.sh 2013-12-03 13:21:43.000000000 +0100 +++ new/libsolv-0.4.1/tools/repo2solv.sh 2013-12-09 13:51:27.000000000 +0100 @@ -204,8 +204,11 @@ fi # This contains appdata + appdataxml= appdatafile= - appdataxml=`repomd_findfile appdata appdata.xml` + if test -x /usr/bin/appdata2solv ; then + appdataxml=`repomd_findfile appdata appdata.xml` + fi if test -n "$appdataxml" -a -s "$appdataxml" ; then appdatafile=`mktemp` || exit 3 repomd_decompress "$appdataxml" | appdata2solv $parser_options > $appdatafile || exit 4 @@ -219,8 +222,11 @@ olddir=`pwd` DESCR=$(get_DESCRDIR) cd ${DESCR} || exit 2 + appdataxml= appdatafile= - appdataxml=`susetags_findfile appdata.xml` + if test -x /usr/bin/appdata2solv ; then + appdataxml=`susetags_findfile appdata.xml` + fi if test -n "$appdataxml" ; then appdatafile=`mktemp` || exit 3 repomd_decompress "$appdataxml" | appdata2solv $parser_options > $appdatafile || exit 4 -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
