1.1 --- a/rpm.c Tue Mar 04 10:55:01 2008 -0500
1.2 +++ b/rpm.c Wed Mar 05 23:49:05 2008 -0500
1.3 @@ -524,15 +524,22 @@
1.4 int
1.5 razor_importer_add_rpm(struct razor_importer *importer, struct razor_rpm *rpm)
1.6 {
1.7 - const char *name, *epoch, *version, *release;
1.8 - char evr[128];
1.9 + const char *name, *version, *release;
1.10 + const uint_32 *epoch;
1.11 + struct rpm_header_index *epoch_header;
1.12 + char evr[128], buf[16];
1.13
1.14 name = razor_rpm_get_indirect(rpm, RPMTAG_NAME, NULL);
1.15 epoch = razor_rpm_get_indirect(rpm, RPMTAG_EPOCH, NULL);
1.16 version = razor_rpm_get_indirect(rpm, RPMTAG_VERSION, NULL);
1.17 release = razor_rpm_get_indirect(rpm, RPMTAG_RELEASE, NULL);
1.18
1.19 - razor_build_evr(evr, sizeof evr, epoch, version, release);
1.20 + if (epoch_header) {
1.21 + snprintf(buf, sizeof buf, "%u", ntohl(*epoch));
1.22 + razor_build_evr(evr, sizeof evr, buf, version, release);
1.23 + } else {
1.24 + razor_build_evr(evr, sizeof evr, NULL, version, release);
1.25 + }
1.26 razor_importer_begin_package(importer, name, evr);
1.27
1.28 import_properties(importer, RAZOR_PROPERTY_REQUIRES, rpm,
1.29 @@ -567,6 +574,7 @@
1.30 char *string;
1.31 char **list;
1.32 uint_32 *flags;
1.33 + uint_32 integer;
1.34 };
1.35
1.36 static void
1.37 @@ -598,7 +606,7 @@
1.38 int_32 type, count, i;
1.39 union rpm_entry name, epoch, version, release;
1.40 union rpm_entry basenames, dirnames, dirindexes;
1.41 - char filename[PATH_MAX], evr[128];
1.42 + char filename[PATH_MAX], evr[128], buf[16];
1.43 rpmdb db;
1.44
1.45 rpmReadConfigFiles(NULL, NULL);
1.46 @@ -616,8 +624,16 @@
1.47 headerGetEntry(h, RPMTAG_EPOCH, &type, &epoch.p, &count);
1.48 headerGetEntry(h, RPMTAG_VERSION, &type, &version.p, &count);
1.49 headerGetEntry(h, RPMTAG_RELEASE, &type, &release.p, &count);
1.50 - razor_build_evr(evr, sizeof evr, epoch.string, version.string,
1.51 - release.string);
1.52 +
1.53 + if (epoch.flags != NULL) {
1.54 + snprintf(buf, sizeof buf, "%u", *epoch.flags);
1.55 + razor_build_evr(evr, sizeof evr,
1.56 + buf, version.string, release.string);
1.57 + } else {
1.58 + razor_build_evr(evr, sizeof evr,
1.59 + NULL, version.string, release.string);
1.60 + }
1.61 +
1.62 razor_importer_begin_package(importer, name.string, evr);
1.63
1.64 add_properties(importer, RAZOR_PROPERTY_REQUIRES, h,