SOURCES: rpm-specdump.c Ported to rpm 5.1.4.
arekm
arekm at pld-linux.org
Tue Jul 29 17:22:48 CEST 2008
Author: arekm Date: Tue Jul 29 15:22:48 2008 GMT
Module: SOURCES Tag: HEAD
---- Log message:
Ported to rpm 5.1.4.
---- Files affected:
SOURCES:
rpm-specdump.c (1.11 -> 1.12)
---- Diffs:
================================================================
Index: SOURCES/rpm-specdump.c
diff -u SOURCES/rpm-specdump.c:1.11 SOURCES/rpm-specdump.c:1.12
--- SOURCES/rpm-specdump.c:1.11 Mon Feb 11 19:21:09 2008
+++ SOURCES/rpm-specdump.c Tue Jul 29 17:22:42 2008
@@ -64,6 +64,10 @@
#define _GNU_SOURCE
+// macros from kernel
+#define RPM_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
+#define RPM_VERSION_CODE RPM_VERSION(RPM_FORMAT_VERSION, RPM_MAJOR_VERSION, RPM_MINOR_VERSION)
+
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@@ -79,7 +83,9 @@
#include <rpmbuild.h>
#include <rpmlib.h>
+#if RPM_VERSION_CODE < RPM_VERSION(5,0,0)
#include <header.h>
+#endif
#include <rpmts.h>
#define ARG_WITH 1024
@@ -91,10 +97,6 @@
#define ARG_UID 1030
#define ARG_GID 1031
-// macros from kernel
-#define RPM_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
-#define RPM_VERSION_CODE RPM_VERSION(RPM_FORMAT_VERSION, RPM_MAJOR_VERSION, RPM_MINOR_VERSION)
-
// RPM 4.4.2
#if RPM_VERSION_CODE < RPM_VERSION(4,4,9)
# define RPMFILE_SOURCE RPMBUILD_ISSOURCE
@@ -292,6 +294,7 @@
#endif
Header h = s->sourceHeader;
+#if RPM_VERSION_CODE < RPM_VERSION(5,0,0)
if (
headerGetEntryMinMemory(h, RPMTAG_NAME, NULL, (void *)&name, NULL) == 0 ||
headerGetEntryMinMemory(h, RPMTAG_VERSION, NULL, (void *)&version, NULL) == 0 ||
@@ -300,6 +303,40 @@
fprintf(stderr, "NVR query failed\n");
return EXIT_FAILURE;
}
+
+#else
+ {
+ HE_t he;
+ int rc;
+
+ he = (HE_s*)memset(alloca(sizeof(*he)), 0, sizeof(*he));
+ he->tag = (rpmTag) RPMTAG_NAME;
+ rc = headerGet(h, he, 0);
+ if (!rc) {
+ fprintf(stderr, "Name (NVR) query failed\n");
+ return EXIT_FAILURE;
+ }
+ name = (char *)he->p.ptr;
+
+ he = (HE_s*)memset(alloca(sizeof(*he)), 0, sizeof(*he));
+ he->tag = (rpmTag) RPMTAG_VERSION;
+ rc = headerGet(h, he, 0);
+ if (!rc) {
+ fprintf(stderr, "Version (NVR) query failed\n");
+ return EXIT_FAILURE;
+ }
+ version = (char *)he->p.ptr;
+
+ he = (HE_s*)memset(alloca(sizeof(*he)), 0, sizeof(*he));
+ he->tag = (rpmTag) RPMTAG_RELEASE;
+ rc = headerGet(h, he, 0);
+ if (!rc) {
+ fprintf(stderr, "Release (NVR) query failed\n");
+ return EXIT_FAILURE;
+ }
+ release = (char *)he->p.ptr;
+ }
+#endif
printf("h PACKAGE_NAME %s\n", name);
printf("h PACKAGE_VERSION %s\n", version);
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/rpm-specdump.c?r1=1.11&r2=1.12&f=u
More information about the pld-cvs-commit
mailing list