Sophie

Sophie

distrib > Mandriva > current > i586 > media > contrib-release-src > by-pkgid > e12eeaafadb4db1d53b7eff28f0f2039 > files > 3

ruby-rpm-1.2.3-11mdv2010.0.src.rpm

--- ruby-rpm-1.2.3/ext/rpm/db.c.orig	2008-03-05 01:05:10.260452471 +0100
+++ ruby-rpm-1.2.3/ext/rpm/db.c	2008-03-05 15:36:58.616081358 +0100
@@ -175,6 +175,8 @@ db_s_rebuild(int argc, VALUE* argv, VALU
 
 #if RPM_VERSION_CODE < RPM_VERSION(4,1,0)
 	ret = rpmdbRebuild(root);
+#elif RPM_VERSION(5,0,0) <= RPM_VERSION_CODE
+	ret = rpmdbRebuild(root, NULL);
 #else
 	ret = rpmdbRebuild(root, NULL, NULL);
 #endif
@@ -749,16 +751,17 @@ rpm_transaction_keys(VALUE trans)
 }
 
 #if RPM_VERSION_CODE < RPM_VERSION(4,4,5)
-static void*
-transaction_callback(const void* hd, const rpmCallbackType type,
-					 const unsigned long amount, const unsigned long total,
-					 fnpyKey key, rpmCallbackData data)
+typedef unsigned long rpmCallbackSize_t;
+#elif RPM_VERSION(5,0,0) <= RPM_VERSION_CODE
+typedef uint64_t rpmCallbackSize_t;
 #else
+typedef unsigned long long rpmCallbackSize_t;
+#endif
+
 static void*
 transaction_callback(const void* hd, const rpmCallbackType type,
-					 const unsigned long long amount, const unsigned long long total,
+					 const rpmCallbackSize_t amount, const rpmCallbackSize_t total,
 					 fnpyKey key, rpmCallbackData data)
-#endif
 {
 	VALUE trans = (VALUE)data;
 	FD_t fdt;
--- ruby-rpm-1.2.3/ext/rpm/package.c.orig	2008-03-05 15:37:18.315221049 +0100
+++ ruby-rpm-1.2.3/ext/rpm/package.c	2008-03-05 15:38:05.452715276 +0100
@@ -354,8 +354,9 @@ rpm_package_aref(VALUE pkg, VALUE tag)
 	case RPM_BIN_TYPE:
 		val = rb_str_new(data, count);
 		break;
-
+#if RPM_VERSION_CODE < RPM_VERSION(5,0,0)
 	case RPM_CHAR_TYPE:
+#endif
 	case RPM_INT8_TYPE:
 		if (count == 1 && !ary_p) {
 			val = INT2NUM(*(int_8*)data);
--- ruby-rpm-1.2.3/ext/rpm/private.h.orig	2008-03-05 01:05:28.577117813 +0100
+++ ruby-rpm-1.2.3/ext/rpm/private.h	2008-03-05 01:46:27.085229707 +0100
@@ -22,6 +22,10 @@
 #include <unistd.h>
 #include <st.h>
 
+#if RPM_VERSION(5,0,0) <= RPM_VERSION_CODE
+#include <rpm4compat.h>
+#endif
+
 /* To get structure definitions */ 
 #define _RPMDB_INTERNAL 
 #define _RPMPS_INTERNAL
@@ -30,7 +34,9 @@
 #include <rpmlib.h>
 #include <rpmdb.h>
 #include <rpmbuild.h>
+#if RPM_VERSION(5,0,0) > RPM_VERSION_CODE
 #include <rpmmessages.h>
+#endif
 #if RPM_VERSION(4,1,0) <= RPM_VERSION_CODE
 #include <rpmts.h>
 #include <rpmps.h>
--- ruby-rpm-1.2.3/ext/rpm/spec.c.orig	2008-03-05 16:19:28.738319598 +0100
+++ ruby-rpm-1.2.3/ext/rpm/spec.c	2008-03-05 16:24:58.374952126 +0100
@@ -60,7 +60,11 @@ spec_s_open(VALUE klass, VALUE filename)
 	return Data_Wrap_Struct(klass, NULL, spec_free, rspec);
 #else
 	ts = rpmtsCreate();
+#if RPM_VERSION_CODE >= RPM_VERSION(4,4,8)
+	switch (parseSpec(ts, RSTRING(filename)->ptr, "/", 0, "", NULL, 1, 1, 0)) {
+#else
 	switch (parseSpec(ts, RSTRING(filename)->ptr, "/", NULL, 0, "", NULL, 1, 1)) {
+#endif
 	case 0:
 		if (ts != NULL) {
 			break;