1 diff -uNr ruby-rpm-1.2.0/ext/rpm/db.c ruby-rpm-1.2.0.new/ext/rpm/db.c
2 --- ruby-rpm-1.2.0/ext/rpm/db.c 2005-10-17 00:51:48.539020052 +0900
3 +++ ruby-rpm-1.2.0.new/ext/rpm/db.c 2005-10-17 00:30:31.715793506 +0900
6 db_unref((rpm_db_t*)DATA_PTR(db));
22 rpm_db_transaction(int argc, VALUE* argv, VALUE db)
24 - VALUE trans, problist;
25 +// VALUE trans, problist;
28 const char* root = "/";
36 } else if ( rb_obj_is_kind_of(pkg, rpm_cDependency) ==Qfalse &&
37 rb_respond_to(pkg,rb_intern("name")) && rb_respond_to(pkg,rb_intern("version"))){
38 - VALUE name = rb_funcall(pkg,rb_intern("name"),0);
39 +// VALUE name = rb_funcall(pkg,rb_intern("name"),0);
40 mi = rpm_db_init_iterator(db, INT2NUM(RPMDBI_LABEL),rb_funcall(pkg,rb_intern("name"),0));
41 rpm_mi_set_iterator_version(mi,rb_funcall(pkg,rb_intern("version"),0));
44 if (tmp_evr==NULL) { return Qnil; }
47 - if ( end=strchr(e, ':') ) {
48 + if ( (end=strchr(e, ':')) != NULL ) {
53 sense_flags |= RPMSENSE_EQUAL;
54 } else if ( (*relation) == '>' ) {
55 sense_flags |= RPMSENSE_GREATER;
56 - } else if ( (*relation), '<' ) {
57 + } else if ( (*relation) == '<' ) {
58 sense_flags |= RPMSENSE_LESS;
64 mi = ALLOC_N(rpm_mi_t,1);
65 - if (mi->mi = rpmdbInitIterator(RPM_DB(db), NUM2INT(rb_Integer(key)),
66 + if ((mi->mi = rpmdbInitIterator(RPM_DB(db), NUM2INT(rb_Integer(key)),
67 NIL_P(val) ? NULL : RSTRING(val)->ptr,
68 - NIL_P(val) ? 0 : RSTRING(val)->len)){
69 + NIL_P(val) ? 0 : RSTRING(val)->len)) != NULL){
70 mi->db = (rpm_db_t*)DATA_PTR(db);
72 return Data_Wrap_Struct(rpm_cMatchIterator, NULL, mi_free, mi);
75 while(!NIL_P( p = rpm_mi_next_iterator(mi)))
82 diff -uNr ruby-rpm-1.2.0/ext/rpm/package.c ruby-rpm-1.2.0.new/ext/rpm/package.c
83 --- ruby-rpm-1.2.0/ext/rpm/package.c 2005-10-17 00:51:48.536090365 +0900
84 +++ ruby-rpm-1.2.0.new/ext/rpm/package.c 2005-10-17 00:18:27.924786747 +0900
86 for (i=0;i<length;i++)
87 copy_tags[i] = NUM2INT(rb_ary_entry(tags, i));
88 headerCopyTags(RPM_HEADER(from),RPM_HEADER(to),copy_tags);
94 headerAddOrAppendEntry(RPM_HEADER(pkg),nametag,RPM_STRING_ARRAY_TYPE,&name,1);
95 headerAddOrAppendEntry(RPM_HEADER(pkg),versiontag,RPM_STRING_ARRAY_TYPE,&evr,1);
96 headerAddOrAppendEntry(RPM_HEADER(pkg),flagstag,RPM_INT32_TYPE,&flag,1);
104 headerAddOrAppendEntry(RPM_HEADER(pkg),NUM2INT(tag),RPM_INT32_TYPE,&v,1);
110 rb_raise(rb_eTypeError, "illegal argument type");
112 headerAddOrAppendEntry(RPM_HEADER(pkg),NUM2INT(tag),RPM_STRING_ARRAY_TYPE,&RSTRING(val)->ptr,1);
118 rb_raise(rb_eTypeError, "illegal argument type");
120 headerAddEntry(RPM_HEADER(pkg),NUM2INT(tag),RPM_STRING_TYPE,RSTRING(val)->ptr,1);
126 rb_raise(rb_eTypeError, "illegal argument type");
128 headerAddEntry(RPM_HEADER(pkg),NUM2INT(tag),RPM_BIN_TYPE,RSTRING(val)->ptr,RSTRING(val)->len);
137 - register const char* p;
138 +// register const char* p;
142 @@ -337,6 +343,148 @@
143 case RPMTAG_DESCRIPTION:
146 + case RPMTAG_HEADERIMAGE:
147 + case RPMTAG_HEADERSIGNATURES:
148 + case RPMTAG_HEADERIMMUTABLE:
149 + case RPMTAG_HEADERREGIONS:
150 + case RPMTAG_HEADERI18NTABLE:
151 + case RPMTAG_SIG_BASE:
152 + case RPMTAG_SIGSIZE:
153 + case RPMTAG_SIGLEMD5_1:
154 + case RPMTAG_SIGPGP:
155 + case RPMTAG_SIGLEMD5_2:
156 + case RPMTAG_SIGMD5:
157 + case RPMTAG_SIGGPG:
158 + case RPMTAG_SIGPGP5:
159 + case RPMTAG_BADSHA1_1:
160 + case RPMTAG_BADSHA1_2:
161 + case RPMTAG_PUBKEYS:
162 + case RPMTAG_DSAHEADER:
163 + case RPMTAG_RSAHEADER:
164 + case RPMTAG_SHA1HEADER:
166 + case RPMTAG_VERSION:
167 + case RPMTAG_RELEASE:
169 + case RPMTAG_BUILDTIME:
170 + case RPMTAG_BUILDHOST:
171 + case RPMTAG_INSTALLTIME:
175 + case RPMTAG_CHANGELOG:
176 + case RPMTAG_SOURCE:
182 + case RPMTAG_POSTIN:
184 + case RPMTAG_POSTUN:
185 + case RPMTAG_OLDFILENAMES:
186 + case RPMTAG_FILEUIDS:
187 + case RPMTAG_FILEGIDS:
188 + case RPMTAG_FILELINKTOS:
190 + case RPMTAG_EXCLUDE:
191 + case RPMTAG_EXCLUSIVE:
193 + case RPMTAG_SOURCERPM:
194 + case RPMTAG_FILEVERIFYFLAGS:
195 + case RPMTAG_ARCHIVESIZE:
196 + case RPMTAG_PROVIDENAME:
197 + case RPMTAG_REQUIRENAME:
198 + case RPMTAG_REQUIREVERSION:
199 + case RPMTAG_NOSOURCE:
200 + case RPMTAG_NOPATCH:
201 + case RPMTAG_CONFLICTNAME:
202 + case RPMTAG_CONFLICTVERSION:
203 + case RPMTAG_DEFAULTPREFIX:
204 + case RPMTAG_BUILDROOT:
205 + case RPMTAG_INSTALLPREFIX:
206 + case RPMTAG_EXCLUDEARCH:
207 + case RPMTAG_EXCLUDEOS:
208 + case RPMTAG_EXCLUSIVEARCH:
209 + case RPMTAG_EXCLUSIVEOS:
210 + case RPMTAG_AUTOREQPROV:
211 + case RPMTAG_RPMVERSION:
212 + case RPMTAG_TRIGGERSCRIPTS:
213 + case RPMTAG_TRIGGERNAME:
214 + case RPMTAG_TRIGGERVERSION:
215 + case RPMTAG_TRIGGERFLAGS:
216 + case RPMTAG_TRIGGERINDEX:
217 + case RPMTAG_VERIFYSCRIPT:
218 + case RPMTAG_CHANGELOGTIME:
219 + case RPMTAG_CHANGELOGNAME:
220 + case RPMTAG_CHANGELOGTEXT:
221 + case RPMTAG_BROKENMD5:
222 + case RPMTAG_PREREQ:
223 + case RPMTAG_PREINPROG:
224 + case RPMTAG_POSTINPROG:
225 + case RPMTAG_PREUNPROG:
226 + case RPMTAG_POSTUNPROG:
227 + case RPMTAG_BUILDARCHS:
228 + case RPMTAG_OBSOLETENAME:
229 + case RPMTAG_VERIFYSCRIPTPROG:
230 + case RPMTAG_TRIGGERSCRIPTPROG:
231 + case RPMTAG_DOCDIR:
232 + case RPMTAG_COOKIE:
233 + case RPMTAG_FILEDEVICES:
234 + case RPMTAG_FILEINODES:
235 + case RPMTAG_FILELANGS:
236 + case RPMTAG_PREFIXES:
237 + case RPMTAG_INSTPREFIXES:
238 + case RPMTAG_TRIGGERIN:
239 + case RPMTAG_TRIGGERUN:
240 + case RPMTAG_TRIGGERPOSTUN:
241 + case RPMTAG_AUTOREQ:
242 + case RPMTAG_AUTOPROV:
243 + case RPMTAG_CAPABILITY:
244 + case RPMTAG_SOURCEPACKAGE:
245 + case RPMTAG_OLDORIGFILENAMES:
246 + case RPMTAG_BUILDPREREQ:
247 + case RPMTAG_BUILDREQUIRES:
248 + case RPMTAG_BUILDCONFLICTS:
249 + case RPMTAG_BUILDMACROS:
250 + case RPMTAG_PROVIDEVERSION:
251 + case RPMTAG_OBSOLETEVERSION:
252 + case RPMTAG_BASENAMES:
253 + case RPMTAG_DIRNAMES:
254 + case RPMTAG_ORIGDIRINDEXES:
255 + case RPMTAG_ORIGBASENAMES:
256 + case RPMTAG_ORIGDIRNAMES:
257 + case RPMTAG_OPTFLAGS:
258 + case RPMTAG_DISTURL:
259 + case RPMTAG_PAYLOADFORMAT:
260 + case RPMTAG_PAYLOADCOMPRESSOR:
261 + case RPMTAG_PAYLOADFLAGS:
262 + case RPMTAG_INSTALLCOLOR:
263 + case RPMTAG_INSTALLTID:
264 + case RPMTAG_REMOVETID:
265 + case RPMTAG_SHA1RHN:
266 + case RPMTAG_RHNPLATFORM:
267 + case RPMTAG_PLATFORM:
268 + case RPMTAG_PATCHESNAME:
269 + case RPMTAG_PATCHESFLAGS:
270 + case RPMTAG_PATCHESVERSION:
271 + case RPMTAG_CACHECTIME:
272 + case RPMTAG_CACHEPKGPATH:
273 + case RPMTAG_CACHEPKGSIZE:
274 + case RPMTAG_CACHEPKGMTIME:
275 + case RPMTAG_FILECOLORS:
276 + case RPMTAG_FILECLASS:
277 + case RPMTAG_CLASSDICT:
278 + case RPMTAG_FILEDEPENDSX:
279 + case RPMTAG_FILEDEPENDSN:
280 + case RPMTAG_DEPENDSDICT:
281 + case RPMTAG_SOURCEPKGID:
282 + case RPMTAG_FILECONTEXTS:
283 + case RPMTAG_FSCONTEXTS:
284 + case RPMTAG_RECONTEXTS:
285 + case RPMTAG_POLICIES:
286 + case RPMTAG_FIRSTFREE_TAG:
291 diff -uNr ruby-rpm-1.2.0/ext/rpm/private.h ruby-rpm-1.2.0.new/ext/rpm/private.h
292 --- ruby-rpm-1.2.0/ext/rpm/private.h 2004-05-29 19:14:20.000000000 +0900
293 +++ ruby-rpm-1.2.0.new/ext/rpm/private.h 2005-10-17 00:18:21.908185258 +0900
297 #define RPM_VERSION(maj,min,pl) (((maj) << 16) + ((min) << 8) + (pl))
304 #include <rpmbuild.h>
305 #include <rpmmessages.h>
308 #if RPM_VERSION(4,1,0) <= RPM_VERSION_CODE
311 diff -uNr ruby-rpm-1.2.0/ext/rpm/ruby-rpm.h ruby-rpm-1.2.0.new/ext/rpm/ruby-rpm.h
312 --- ruby-rpm-1.2.0/ext/rpm/ruby-rpm.h 2004-05-29 19:14:20.000000000 +0900
313 +++ ruby-rpm-1.2.0.new/ext/rpm/ruby-rpm.h 2005-10-17 00:04:27.605461104 +0900
315 #define ruby_rpm_h_Included 1
320 #define RUBY_RPM_VERSION "1.1.10"
322 diff -uNr ruby-rpm-1.2.0/ext/rpm/version.c ruby-rpm-1.2.0.new/ext/rpm/version.c
323 --- ruby-rpm-1.2.0/ext/rpm/version.c 2005-10-17 00:51:48.532184115 +0900
324 +++ ruby-rpm-1.2.0.new/ext/rpm/version.c 2005-10-17 00:38:18.985319032 +0900
326 r = rb_ivar_get(ver, id_r);
327 e = rb_ivar_get(ver, id_e);
329 - snprintf(buf,BUFSIZ,"%d:",NUM2INT(e));
330 + snprintf(buf,BUFSIZ,"%d:",(int)NUM2INT(e));
333 strcpy(p, RSTRING(v)->ptr);
334 @@ -304,16 +304,16 @@
335 rpm_version_inspect(VALUE ver)
341 v = rb_ivar_get(ver, id_v);
342 r = rb_ivar_get(ver, id_r);
343 e = rb_ivar_get(ver, id_e);
346 - snprintf(buf, BUFSIZ, "#<RPM::Version v=%s, r=%s, e=%d>", RSTRING(rb_inspect(v))->ptr, RSTRING(rb_inspect(r))->ptr, RSTRING(rb_inspect(e))->ptr);
347 + snprintf(buf, BUFSIZ, "#<RPM::Version v=%s, r=%s, e=%lx>", RSTRING(rb_inspect(v))->ptr, RSTRING(rb_inspect(r))->ptr, (unsigned long)(RSTRING(rb_inspect(e))->ptr));
349 - snprintf(buf, BUFSIZ, "#<RPM::Version v=%s, r=%s>", RSTRING(rb_inspect(v))->ptr, RSTRING(rb_inspect(r))->ptr);
350 + snprintf(buf, BUFSIZ, "#<RPM::Version v=%s, r=%lx>", RSTRING(rb_inspect(v))->ptr, (unsigned long)(RSTRING(rb_inspect(r))->ptr));
353 return rb_str_new2(buf);