1.1 --- a/librazor/merger.c Fri Apr 23 19:14:17 2010 +0100
1.2 +++ b/librazor/merger.c Fri Apr 23 21:07:15 2010 +0100
1.3 @@ -36,6 +36,7 @@
1.4 struct razor_set *set;
1.5 struct hashtable table;
1.6 struct hashtable file_table;
1.7 + struct hashtable details_table;
1.8 struct source source1;
1.9 struct source source2;
1.10 };
1.11 @@ -51,6 +52,8 @@
1.12 merger->set = razor_set_create();
1.13 hashtable_init(&merger->table, &merger->set->string_pool);
1.14 hashtable_init(&merger->file_table, &merger->set->file_string_pool);
1.15 + hashtable_init(&merger->details_table,
1.16 + &merger->set->details_string_pool);
1.17
1.18 merger->source1.set = set1;
1.19 count = set1->properties.size / sizeof (struct razor_property);
1.20 @@ -75,7 +78,7 @@
1.21 razor_merger_add_package(struct razor_merger *merger,
1.22 struct razor_package *package)
1.23 {
1.24 - char *pool, *s;
1.25 + char *pool, *details_pool, *s;
1.26 struct list *r;
1.27 struct razor_package *p;
1.28 struct razor_set *set1;
1.29 @@ -96,6 +99,7 @@
1.30 }
1.31
1.32 pool = source->set->string_pool.data;
1.33 + details_pool = source->set->details_string_pool.data;
1.34 p = array_add(&merger->set->packages, sizeof *p);
1.35 p->name = hashtable_tokenize(&merger->table, &pool[package->name]);
1.36 p->flags = flags;
1.37 @@ -103,6 +107,14 @@
1.38 &pool[package->version]);
1.39 p->arch = hashtable_tokenize(&merger->table,
1.40 &pool[package->arch]);
1.41 + p->summary = hashtable_tokenize(&merger->details_table,
1.42 + &details_pool[package->summary]);
1.43 + p->description = hashtable_tokenize(&merger->details_table,
1.44 + &details_pool[package->description]);
1.45 + p->url = hashtable_tokenize(&merger->details_table,
1.46 + &details_pool[package->url]);
1.47 + p->license = hashtable_tokenize(&merger->details_table,
1.48 + &details_pool[package->license]);
1.49
1.50 p->properties = package->properties;
1.51 r = list_first(&package->properties, &source->set->property_pool);
1.52 @@ -593,5 +605,6 @@
1.53 {
1.54 hashtable_release(&merger->table);
1.55 hashtable_release(&merger->file_table);
1.56 + hashtable_release(&merger->details_table);
1.57 free(merger);
1.58 }
2.1 --- a/src/import-yum.c Fri Apr 23 19:14:17 2010 +0100
2.2 +++ b/src/import-yum.c Fri Apr 23 21:07:15 2010 +0100
2.3 @@ -288,7 +288,7 @@
2.4 struct razor_set *
2.5 razor_set_create_from_yum(void)
2.6 {
2.7 - struct yum_context ctx;
2.8 + struct yum_context ctx={0};
2.9 void *buf;
2.10 int len, ret;
2.11 gzFile primary, filelists;
3.1 --- a/test/Makefile.am Fri Apr 23 19:14:17 2010 +0100
3.2 +++ b/test/Makefile.am Fri Apr 23 21:07:15 2010 +0100
3.3 @@ -1,6 +1,6 @@
3.4 ## Process this file with automake to produce Makefile.in
3.5
3.6 -check_SCRIPTS = relocate named-root remove update
3.7 +check_SCRIPTS = relocate named-root remove update details
3.8 if HAVE_LUA
3.9 check_SCRIPTS += lua mult-install
3.10 endif
3.11 @@ -18,6 +18,9 @@
3.12 update: update.sh base/repodata/primary.xml.gz updates/repodata/primary.xml.gz
3.13 cp $(srcdir)/update.sh update
3.14
3.15 +details: details.sh primary.xml.gz
3.16 + cp $(srcdir)/details.sh details
3.17 +
3.18 order: order.sh primary.xml.gz
3.19 cp $(srcdir)/order.sh order
3.20
3.21 @@ -70,6 +73,8 @@
3.22 lua.sh \
3.23 remove.sh \
3.24 update.sh \
3.25 + details.sh \
3.26 + details.ref \
3.27 named-root.sh \
3.28 relocate.sh
3.29
3.30 @@ -77,6 +82,7 @@
3.31 primary.xml.gz \
3.32 filelists.xml.gz \
3.33 $(check_SCRIPTS) \
3.34 + details.out \
3.35 rawhide.rzdb
3.36
3.37 clean-local :
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/test/details.ref Fri Apr 23 21:07:15 2010 +0100
4.3 @@ -0,0 +1,9 @@
4.4 +Name: zsh2
4.5 +Arch: noarch
4.6 +Version: 1-1
4.7 +URL:
4.8 +License: GPL
4.9 +Summary: Test package
4.10 +Description:
4.11 +New and improved test package
4.12 +
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
5.2 +++ b/test/details.sh Fri Apr 23 21:07:15 2010 +0100
5.3 @@ -0,0 +1,9 @@
5.4 +#!/bin/sh
5.5 +export RAZOR_ROOT=`mktemp -dt` || exit 1
5.6 +../src/razor init || exit 1
5.7 +export YUM_URL="file://localhost/`pwd`"
5.8 +../src/razor import-yum || exit 1
5.9 +../src/razor install zsh2 || exit 1
5.10 +../src/razor info zsh2 > details.out || exit 1
5.11 +diff -u $srcdir/details.ref details.out || exit 1
5.12 +rm -rf "$RAZOR_ROOT"