ruby-rpm 1.2.4 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/{ChangeLog → CHANGELOG.rdoc} +7 -0
- data/README.rdoc +40 -0
- data/ext/rpm/db.c +27 -27
- data/ext/rpm/dependency.c +5 -5
- data/ext/rpm/extconf.rb +1 -1
- data/ext/rpm/file.c +1 -1
- data/ext/rpm/package.c +40 -40
- data/ext/rpm/private.h +3 -4
- data/ext/rpm/rpm.c +15 -26
- data/ext/rpm/ruby-rpm.h +0 -2
- data/ext/rpm/source.c +2 -2
- data/ext/rpm/spec.c +5 -5
- data/ext/rpm/version.c +12 -12
- data/lib/rpm.rb +3 -1
- data/lib/rpm/version.rb +4 -0
- metadata +66 -41
- data/COPYING +0 -340
- data/NEWS +0 -20
- data/README +0 -38
- data/Rakefile +0 -111
- data/doc/refm.rd.ja +0 -913
- data/ext/rpm/MANIFEST +0 -13
- data/ext/rpm/extconf.h +0 -10
- data/install.rb +0 -1015
- data/spec/fedora/ruby-rpm.spec +0 -244
- data/tests/runner.rb +0 -15
- data/tests/test_db.rb +0 -58
- data/tests/test_dependency.rb +0 -29
- data/tests/test_file.rb +0 -13
- data/tests/test_rpm.rb +0 -13
- data/tests/test_source.rb +0 -31
- data/tests/test_ts.rb +0 -169
- data/tests/test_version.rb +0 -60
@@ -1,3 +1,10 @@
|
|
1
|
+
2010-08-19 Duncan Mac-Vicar P. <dmacvicar@suse.de>
|
2
|
+
|
3
|
+
* build system cleanup
|
4
|
+
* use rake-compiler to build extension
|
5
|
+
* bundler (>= 1.0pre) & Gemfile support
|
6
|
+
* ruby 1.9 support
|
7
|
+
|
1
8
|
2009-10-20 Duncan Mac-Vicar P. <dmacvicar@suse.de>
|
2
9
|
|
3
10
|
* port to rpm 4.7. Still should work with older versions
|
data/README.rdoc
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
= RPM bindings for ruby
|
2
|
+
|
3
|
+
* http://www.gitorious.org/ruby-rpm
|
4
|
+
|
5
|
+
== Introduction
|
6
|
+
|
7
|
+
Ruby/RPM is an interface to access RPM database for Ruby.
|
8
|
+
|
9
|
+
== Requirements
|
10
|
+
|
11
|
+
* ruby 1.8+
|
12
|
+
* gcc
|
13
|
+
* rpm 4.0.0 or newer (tested on 4.0.4 and 4.2.1)
|
14
|
+
|
15
|
+
== Installation
|
16
|
+
|
17
|
+
* gem install rpm
|
18
|
+
|
19
|
+
== Building
|
20
|
+
|
21
|
+
If you want to automatically install required gems, make sure to
|
22
|
+
have bundler 1.x installed
|
23
|
+
|
24
|
+
* gem instal bundler
|
25
|
+
* gem build rpm.gemspec
|
26
|
+
|
27
|
+
== Usage
|
28
|
+
|
29
|
+
require 'rpm'
|
30
|
+
|
31
|
+
== License
|
32
|
+
|
33
|
+
GPLv2. See COPYING file.
|
34
|
+
|
35
|
+
== Credits
|
36
|
+
|
37
|
+
* Kenta MURATA <muraken@kondara.org>
|
38
|
+
* David Lutterkort <dlutter@redhat.com>
|
39
|
+
* Duncan Mac-Vicar P. <dmacvicar@suse.de>
|
40
|
+
|
data/ext/rpm/db.c
CHANGED
@@ -71,7 +71,7 @@ db_s_open(int argc, VALUE* argv, VALUE obj)
|
|
71
71
|
if (TYPE(argv[1]) != T_STRING) {
|
72
72
|
rb_raise(rb_eTypeError, "illegal argument type");
|
73
73
|
}
|
74
|
-
root =
|
74
|
+
root = RSTRING_PTR(argv[1]);
|
75
75
|
}
|
76
76
|
writable = RTEST(argv[0]);
|
77
77
|
break;
|
@@ -85,8 +85,8 @@ db_s_open(int argc, VALUE* argv, VALUE obj)
|
|
85
85
|
if (rpmdbOpen(root, &(rdb->db), writable ? O_RDWR | O_CREAT : O_RDONLY, 0644)) {
|
86
86
|
free(rdb);
|
87
87
|
rb_raise(rb_eRuntimeError, "can not open database in %s",
|
88
|
-
|
89
|
-
rb_str_new2("/var/lib/rpm")))
|
88
|
+
RSTRING_PTR(rb_str_concat(rb_str_new2(root),
|
89
|
+
rb_str_new2("/var/lib/rpm"))));
|
90
90
|
}
|
91
91
|
|
92
92
|
rdb->ref_count = 0;
|
@@ -121,7 +121,7 @@ db_s_init(int argc, VALUE* argv, VALUE obj)
|
|
121
121
|
if (TYPE(argv[0]) != T_STRING) {
|
122
122
|
rb_raise(rb_eTypeError, "illegal argument type");
|
123
123
|
}
|
124
|
-
root =
|
124
|
+
root = RSTRING_PTR(argv[0]);
|
125
125
|
if (argc == 2) {
|
126
126
|
writable = RTEST(argv[1]);
|
127
127
|
}
|
@@ -133,8 +133,8 @@ db_s_init(int argc, VALUE* argv, VALUE obj)
|
|
133
133
|
|
134
134
|
if (rpmdbInit(root, writable ? O_RDWR | O_CREAT : O_RDONLY)) {
|
135
135
|
rb_raise(rb_eRuntimeError, "can not initialize database in %s",
|
136
|
-
|
137
|
-
rb_str_new2("/var/lib/rpm")))
|
136
|
+
RSTRING_PTR(rb_str_concat(rb_str_new2(root),
|
137
|
+
rb_str_new2("/var/lib/rpm"))));
|
138
138
|
}
|
139
139
|
|
140
140
|
return Qnil;
|
@@ -164,7 +164,7 @@ db_s_rebuild(int argc, VALUE* argv, VALUE obj)
|
|
164
164
|
if (TYPE(argv[0]) != T_STRING) {
|
165
165
|
rb_raise(rb_eTypeError, "illegal argument type");
|
166
166
|
}
|
167
|
-
root =
|
167
|
+
root = RSTRING_PTR(argv[0]);
|
168
168
|
}
|
169
169
|
break;
|
170
170
|
|
@@ -180,8 +180,8 @@ db_s_rebuild(int argc, VALUE* argv, VALUE obj)
|
|
180
180
|
#endif
|
181
181
|
if (ret) {
|
182
182
|
rb_raise(rb_eRuntimeError, "can not rebuild database in %s",
|
183
|
-
|
184
|
-
rb_str_new2("/var/lib/rpm")))
|
183
|
+
RSTRING_PTR(rb_str_concat(rb_str_new2(root),
|
184
|
+
rb_str_new2("/var/lib/rpm"))));
|
185
185
|
}
|
186
186
|
|
187
187
|
return Qnil;
|
@@ -311,7 +311,7 @@ rpm_db_transaction(int argc, VALUE* argv, VALUE db)
|
|
311
311
|
if (TYPE(argv[0]) != T_STRING) {
|
312
312
|
rb_raise(rb_eTypeError, "illegal argument type");
|
313
313
|
}
|
314
|
-
root =
|
314
|
+
root = RSTRING_PTR(argv[0]);
|
315
315
|
break;
|
316
316
|
|
317
317
|
default:
|
@@ -393,10 +393,10 @@ rpm_transaction_install(VALUE trans, VALUE pkg, VALUE key)
|
|
393
393
|
|
394
394
|
#if RPM_VERSION_CODE < RPM_VERSION(4,1,0)
|
395
395
|
rpmtransAddPackage(RPM_TRANSACTION(trans), RPM_HEADER(pkg), NULL,
|
396
|
-
|
396
|
+
RSTRING_PTR(key), 0, NULL);
|
397
397
|
#else
|
398
398
|
rpmtsAddInstallElement(RPM_TRANSACTION(trans), RPM_HEADER(pkg),
|
399
|
-
|
399
|
+
RSTRING_PTR(key), 0, NULL);
|
400
400
|
#endif
|
401
401
|
|
402
402
|
return Qnil;
|
@@ -423,10 +423,10 @@ rpm_transaction_upgrade(VALUE trans, VALUE pkg, VALUE key)
|
|
423
423
|
rb_ary_push(keys, key);
|
424
424
|
#if RPM_VERSION_CODE < RPM_VERSION(4,1,0)
|
425
425
|
rpmtransAddPackage(RPM_TRANSACTION(trans), RPM_HEADER(pkg), NULL,
|
426
|
-
|
426
|
+
RSTRING_PTR(key), 1, NULL);
|
427
427
|
#else
|
428
428
|
rpmtsAddInstallElement(RPM_TRANSACTION(trans), RPM_HEADER(pkg),
|
429
|
-
|
429
|
+
RSTRING_PTR(key), 1, NULL);
|
430
430
|
#endif
|
431
431
|
|
432
432
|
return Qnil;
|
@@ -455,7 +455,7 @@ rpm_transaction_available(VALUE trans, VALUE pkg, VALUE key)
|
|
455
455
|
|
456
456
|
#if RPM_VERSION_CODE < RPM_VERSION(4,1,0)
|
457
457
|
rpmtransAvailablePackage(RPM_TRANSACTION(trans), RPM_HEADER(pkg),
|
458
|
-
|
458
|
+
RSTRING_PTR(key));
|
459
459
|
#else
|
460
460
|
rb_raise(rb_eNotImpError, "need rpmtsAvailablePackage");
|
461
461
|
// FIXME: What is the analog for rpmtsAvailablePackage
|
@@ -571,7 +571,7 @@ package_new_from_NEVR(const char* nevr)
|
|
571
571
|
{
|
572
572
|
char *name = NULL;
|
573
573
|
char *evr = NULL;
|
574
|
-
|
574
|
+
char *end = NULL;
|
575
575
|
char *tmp_nevr = NULL;
|
576
576
|
VALUE package = Qnil;
|
577
577
|
int i=0;
|
@@ -591,11 +591,11 @@ package_new_from_NEVR(const char* nevr)
|
|
591
591
|
if ( i==2 ) {
|
592
592
|
*end = '\0'; evr = end + 1;
|
593
593
|
} else {
|
594
|
-
evr =
|
594
|
+
evr = NULL;
|
595
595
|
}
|
596
596
|
|
597
597
|
package = rpm_package_new_from_N_EVR(rb_str_new2(name),
|
598
|
-
|
598
|
+
version_new_from_EVR(evr ? evr : ""));
|
599
599
|
free(tmp_nevr);
|
600
600
|
return package;
|
601
601
|
}
|
@@ -667,7 +667,7 @@ rpm_transaction_check(VALUE trans)
|
|
667
667
|
|
668
668
|
char *name = buf+2;
|
669
669
|
char *relation = NULL;
|
670
|
-
char *evr =
|
670
|
+
char *evr = NULL;
|
671
671
|
rpmsenseFlags sense_flags = 0;
|
672
672
|
|
673
673
|
end = strchr ( name, ' ');
|
@@ -691,7 +691,7 @@ rpm_transaction_check(VALUE trans)
|
|
691
691
|
}
|
692
692
|
|
693
693
|
dep = rpm_require_new(name,
|
694
|
-
|
694
|
+
rpm_version_new(evr ? evr : ""),
|
695
695
|
sense_flags,
|
696
696
|
package_new_from_NEVR(
|
697
697
|
rpmProblemGetPkgNEVR(p)
|
@@ -1049,8 +1049,8 @@ rpm_db_init_iterator(VALUE db, VALUE key, VALUE val)
|
|
1049
1049
|
|
1050
1050
|
mi = ALLOC_N(rpm_mi_t,1);
|
1051
1051
|
if ((mi->mi = rpmdbInitIterator(RPM_DB(db), NUM2INT(rb_Integer(key)),
|
1052
|
-
NIL_P(val) ? NULL :
|
1053
|
-
NIL_P(val) ? 0 :
|
1052
|
+
NIL_P(val) ? NULL : RSTRING_PTR(val),
|
1053
|
+
NIL_P(val) ? 0 : RSTRING_LEN(val)))){
|
1054
1054
|
mi->db = (rpm_db_t*)DATA_PTR(db);
|
1055
1055
|
db_ref(mi->db);
|
1056
1056
|
return Data_Wrap_Struct(rpm_cMatchIterator, NULL, mi_free, mi);
|
@@ -1092,7 +1092,7 @@ rpm_mi_set_iterator_re(VALUE mi,VALUE tag, VALUE mode, VALUE re)
|
|
1092
1092
|
if (TYPE(re) != T_STRING)
|
1093
1093
|
rb_raise(rb_eTypeError, "illegal argument type");
|
1094
1094
|
|
1095
|
-
rpmdbSetIteratorRE(RPM_MI(mi),NUM2INT(tag),NUM2INT(mode),
|
1095
|
+
rpmdbSetIteratorRE(RPM_MI(mi),NUM2INT(tag),NUM2INT(mode),RSTRING_PTR(re));
|
1096
1096
|
return mi;
|
1097
1097
|
}
|
1098
1098
|
|
@@ -1104,16 +1104,16 @@ rpm_mi_set_iterator_version(VALUE mi, VALUE version)
|
|
1104
1104
|
if (rb_obj_is_kind_of(version, rpm_cVersion) == Qfalse)
|
1105
1105
|
rb_raise(rb_eTypeError, "illegal argument type");
|
1106
1106
|
#if RPM_VERSION_CODE < RPM_VERSION(4,1,0)
|
1107
|
-
rpmdbSetIteratorVersion(RPM_MI(mi),
|
1107
|
+
rpmdbSetIteratorVersion(RPM_MI(mi),RSTRING_PTR(rpm_version_get_v(version)));
|
1108
1108
|
#else
|
1109
|
-
rpmdbSetIteratorRE(RPM_MI(mi),RPMTAG_VERSION,RPMMIRE_DEFAULT,
|
1109
|
+
rpmdbSetIteratorRE(RPM_MI(mi),RPMTAG_VERSION,RPMMIRE_DEFAULT,RSTRING_PTR(rpm_version_get_v(version)));
|
1110
1110
|
#endif
|
1111
1111
|
r = rpm_version_get_r(version);
|
1112
1112
|
if(!NIL_P(r)){
|
1113
1113
|
#if RPM_VERSION_CODE < RPM_VERSION(4,1,0)
|
1114
|
-
rpmdbSetIteratorRelease(RPM_MI(mi),
|
1114
|
+
rpmdbSetIteratorRelease(RPM_MI(mi),RSTRING_PTR(r));
|
1115
1115
|
#else
|
1116
|
-
rpmdbSetIteratorRE(RPM_MI(mi),RPMTAG_RELEASE,RPMMIRE_DEFAULT,
|
1116
|
+
rpmdbSetIteratorRE(RPM_MI(mi),RPMTAG_RELEASE,RPMMIRE_DEFAULT,RSTRING_PTR(r));
|
1117
1117
|
#endif
|
1118
1118
|
}
|
1119
1119
|
return mi;
|
data/ext/rpm/dependency.c
CHANGED
@@ -179,17 +179,17 @@ rpm_dependency_is_satisfy(VALUE dep,VALUE other)
|
|
179
179
|
return Qfalse;
|
180
180
|
}
|
181
181
|
|
182
|
-
name =
|
183
|
-
svre =
|
182
|
+
name = RSTRING_PTR(rb_ivar_get(dep,id_name));
|
183
|
+
svre = RSTRING_PTR(rpm_version_to_vre(rb_ivar_get(dep,id_ver)));
|
184
184
|
sflag = NUM2INT(rb_ivar_get(dep, id_flags));
|
185
185
|
|
186
186
|
if (rb_obj_is_kind_of(other,rpm_cDependency) == Qtrue){
|
187
187
|
oflag = NUM2INT(rb_ivar_get(other, id_flags));
|
188
|
-
oname =
|
189
|
-
ovre =
|
188
|
+
oname = RSTRING_PTR(rb_ivar_get(other, id_name));
|
189
|
+
ovre = RSTRING_PTR(rpm_version_to_vre(rb_ivar_get(other,id_ver)));
|
190
190
|
other = rb_ivar_get(other,id_ver);
|
191
191
|
} else if (rb_obj_is_kind_of(other,rpm_cVersion) == Qtrue){
|
192
|
-
ovre =
|
192
|
+
ovre = RSTRING_PTR(rpm_version_to_vre(other));
|
193
193
|
oname = name;
|
194
194
|
if (!*ovre)
|
195
195
|
oflag = 0;
|
data/ext/rpm/extconf.rb
CHANGED
data/ext/rpm/file.c
CHANGED
@@ -36,7 +36,7 @@ file_initialize(VALUE file, VALUE path, VALUE md5sum, VALUE link_to,
|
|
36
36
|
}
|
37
37
|
rb_ivar_set(file, id_path, path);
|
38
38
|
rb_ivar_set(file, id_md5sum, md5sum);
|
39
|
-
rb_ivar_set(file, id_link_to, (!NIL_P(link_to) &&
|
39
|
+
rb_ivar_set(file, id_link_to, (!NIL_P(link_to) && RSTRING_LEN(link_to)) ? link_to : Qnil);
|
40
40
|
rb_ivar_set(file, id_size, rb_Integer(size));
|
41
41
|
if (rb_obj_is_kind_of(mtime, rb_cTime) == Qfalse) {
|
42
42
|
mtime = rb_time_new(NUM2INT(rb_Integer(mtime)), (time_t)0);
|
data/ext/rpm/package.c
CHANGED
@@ -50,7 +50,7 @@ package_free(Header hdr)
|
|
50
50
|
headerFree(hdr);
|
51
51
|
}
|
52
52
|
|
53
|
-
static VALUE
|
53
|
+
inline static VALUE
|
54
54
|
package_new_from_header(VALUE klass, Header hdr)
|
55
55
|
{
|
56
56
|
VALUE p;
|
@@ -93,9 +93,9 @@ package_s_create(VALUE klass, VALUE name, VALUE version)
|
|
93
93
|
}
|
94
94
|
|
95
95
|
hdr = headerNew();
|
96
|
-
headerAddEntry(hdr,RPMTAG_NAME,RPM_STRING_TYPE,
|
97
|
-
headerAddEntry(hdr,RPMTAG_VERSION,RPM_STRING_TYPE,
|
98
|
-
headerAddEntry(hdr,RPMTAG_RELEASE,RPM_STRING_TYPE,
|
96
|
+
headerAddEntry(hdr,RPMTAG_NAME,RPM_STRING_TYPE,RSTRING_PTR(name),1);
|
97
|
+
headerAddEntry(hdr,RPMTAG_VERSION,RPM_STRING_TYPE,RSTRING_PTR(rpm_version_get_v(version)),1);
|
98
|
+
headerAddEntry(hdr,RPMTAG_RELEASE,RPM_STRING_TYPE,RSTRING_PTR(rpm_version_get_r(version)),1);
|
99
99
|
if(!NIL_P(rpm_version_get_e(version))){
|
100
100
|
int e = NUM2INT(rpm_version_get_e(version));
|
101
101
|
headerAddEntry(hdr,RPMTAG_EPOCH,RPM_INT32_TYPE,&e,1);
|
@@ -133,13 +133,13 @@ package_s_open(VALUE klass, VALUE filename)
|
|
133
133
|
rb_raise(rb_eTypeError, "illegal argument type");
|
134
134
|
}
|
135
135
|
|
136
|
-
fd = Fopen(
|
136
|
+
fd = Fopen(RSTRING_PTR((filename)), "r");
|
137
137
|
if (!fd) {
|
138
138
|
rb_raise(rb_eRuntimeError, "can not open file %s",
|
139
|
-
|
139
|
+
RSTRING_PTR((filename)));
|
140
140
|
}
|
141
141
|
|
142
|
-
rc = read_header_from_file(fd,
|
142
|
+
rc = read_header_from_file(fd, RSTRING_PTR((filename)), &hdr);
|
143
143
|
Fclose(fd);
|
144
144
|
|
145
145
|
switch (rc) {
|
@@ -188,12 +188,12 @@ package_s_load(VALUE klass, VALUE str)
|
|
188
188
|
Check_Type(str, T_STRING);
|
189
189
|
|
190
190
|
temp = ruby_rpm_make_temp_name();
|
191
|
-
fd = Fopen(
|
192
|
-
Fwrite(
|
191
|
+
fd = Fopen(RSTRING_PTR((temp)), "wb+");
|
192
|
+
Fwrite(RSTRING_PTR((str)), RSTRING_LEN(str), 1, fd);
|
193
193
|
Fseek(fd, 0, SEEK_SET);
|
194
194
|
hdr = headerRead(fd, HEADER_MAGIC_YES);
|
195
195
|
Fclose(fd);
|
196
|
-
unlink(
|
196
|
+
unlink(RSTRING_PTR((temp)));
|
197
197
|
|
198
198
|
if (!hdr) {
|
199
199
|
rb_raise(rb_eArgError, "unable load RPM::Package");
|
@@ -254,8 +254,8 @@ rpm_package_add_dependency(VALUE pkg,VALUE dep)
|
|
254
254
|
versiontag = NUM2INT(rpm_dependency_get_versiontag(dep));
|
255
255
|
flagstag = NUM2INT(rpm_dependency_get_flagstag(dep));
|
256
256
|
|
257
|
-
name =
|
258
|
-
evr =
|
257
|
+
name = RSTRING_PTR((rpm_dependency_get_name(dep)));
|
258
|
+
evr = RSTRING_PTR((rpm_version_to_vre(rpm_dependency_get_version(dep))));
|
259
259
|
flag = NUM2INT(rpm_dependency_get_flags(dep));
|
260
260
|
|
261
261
|
headerAddOrAppendEntry(RPM_HEADER(pkg),nametag,RPM_STRING_ARRAY_TYPE,&name,1);
|
@@ -288,7 +288,7 @@ rpm_package_add_string_array(VALUE pkg,VALUE tag,VALUE val)
|
|
288
288
|
if ((TYPE(val) != T_STRING)) {
|
289
289
|
rb_raise(rb_eTypeError, "illegal argument type");
|
290
290
|
}
|
291
|
-
headerAddOrAppendEntry(RPM_HEADER(pkg),NUM2INT(tag),RPM_STRING_ARRAY_TYPE
|
291
|
+
headerAddOrAppendEntry(RPM_HEADER(pkg),NUM2INT(tag),RPM_STRING_ARRAY_TYPE,RARRAY_PTR(val),1);
|
292
292
|
return Qnil;
|
293
293
|
}
|
294
294
|
|
@@ -298,7 +298,7 @@ rpm_package_add_string(VALUE pkg,VALUE tag,VALUE val)
|
|
298
298
|
if ((TYPE(val) != T_STRING)) {
|
299
299
|
rb_raise(rb_eTypeError, "illegal argument type");
|
300
300
|
}
|
301
|
-
headerAddEntry(RPM_HEADER(pkg),NUM2INT(tag),RPM_STRING_TYPE,
|
301
|
+
headerAddEntry(RPM_HEADER(pkg),NUM2INT(tag),RPM_STRING_TYPE,RSTRING_PTR((val)),1);
|
302
302
|
return Qnil;
|
303
303
|
}
|
304
304
|
|
@@ -308,7 +308,7 @@ rpm_package_add_binary(VALUE pkg,VALUE tag,VALUE val)
|
|
308
308
|
if ((TYPE(val) != T_STRING)) {
|
309
309
|
rb_raise(rb_eTypeError, "illegal argument type");
|
310
310
|
}
|
311
|
-
headerAddEntry(RPM_HEADER(pkg),NUM2INT(tag),RPM_BIN_TYPE,
|
311
|
+
headerAddEntry(RPM_HEADER(pkg),NUM2INT(tag),RPM_BIN_TYPE,RSTRING_PTR((val)),RSTRING_LEN(val));
|
312
312
|
return Qnil;
|
313
313
|
}
|
314
314
|
|
@@ -700,35 +700,35 @@ rpm_package_get_files(VALUE pkg)
|
|
700
700
|
|
701
701
|
files = rb_ary_new();
|
702
702
|
if (!NIL_P(basenames)) {
|
703
|
-
for (i = 0; i <
|
703
|
+
for (i = 0; i < RARRAY_LEN(basenames); i++) {
|
704
704
|
static char buf[BUFSIZ];
|
705
705
|
VALUE file;
|
706
706
|
buf[0] = '\0';
|
707
|
-
stpcpy(stpcpy(buf,
|
708
|
-
NUM2INT(
|
709
|
-
|
707
|
+
stpcpy(stpcpy(buf, RSTRING_PTR((RARRAY_PTR(dirnames))[
|
708
|
+
NUM2INT(RARRAY_PTR(diridxs)[i])])),
|
709
|
+
RSTRING_PTR((RARRAY_PTR(basenames)[i])));
|
710
710
|
file = rpm_file_new(
|
711
711
|
buf,
|
712
|
-
|
712
|
+
RSTRING_PTR((RARRAY_PTR(md5list)[i])),
|
713
713
|
(NIL_P(linklist)
|
714
714
|
? NULL
|
715
|
-
:
|
716
|
-
NUM2UINT(
|
717
|
-
NUM2INT(
|
715
|
+
: RSTRING_PTR((RARRAY_PTR(linklist)[i]))),
|
716
|
+
NUM2UINT(RARRAY_PTR(sizelist)[i]),
|
717
|
+
NUM2INT(RARRAY_PTR(mtimelist)[i]),
|
718
718
|
(NIL_P(ownerlist)
|
719
719
|
? NULL
|
720
|
-
:
|
720
|
+
: RSTRING_PTR((RARRAY_PTR(ownerlist)[i]))),
|
721
721
|
(NIL_P(grouplist)
|
722
722
|
? NULL
|
723
|
-
:
|
724
|
-
NUM2UINT(
|
725
|
-
NUM2UINT(
|
723
|
+
: RSTRING_PTR((RARRAY_PTR(grouplist)[i]))),
|
724
|
+
NUM2UINT(RARRAY_PTR(rdevlist)[i]),
|
725
|
+
NUM2UINT(RARRAY_PTR(modelist)[i]),
|
726
726
|
(NIL_P(flaglist)
|
727
727
|
? RPMFILE_NONE
|
728
|
-
: NUM2INT(
|
728
|
+
: NUM2INT(RARRAY_PTR(flaglist)[i])),
|
729
729
|
(NIL_P(statelist)
|
730
730
|
? RPMFILE_STATE_NORMAL
|
731
|
-
: NUM2INT(
|
731
|
+
: NUM2INT(RARRAY_PTR(statelist)[i])));
|
732
732
|
rb_ary_push(files, file);
|
733
733
|
}
|
734
734
|
}
|
@@ -925,7 +925,7 @@ rpm_package_dump(VALUE pkg)
|
|
925
925
|
char* buf;
|
926
926
|
|
927
927
|
temp = ruby_rpm_make_temp_name();
|
928
|
-
fd = Fopen(
|
928
|
+
fd = Fopen(RSTRING_PTR((temp)), "wb+");
|
929
929
|
headerWrite(fd, RPM_HEADER(pkg), HEADER_MAGIC_YES);
|
930
930
|
size = fdSize(fd);
|
931
931
|
|
@@ -934,7 +934,7 @@ rpm_package_dump(VALUE pkg)
|
|
934
934
|
munmap(buf, size);
|
935
935
|
|
936
936
|
Fclose(fd);
|
937
|
-
unlink(
|
937
|
+
unlink(RSTRING_PTR((temp)));
|
938
938
|
|
939
939
|
return dump;
|
940
940
|
}
|
@@ -956,16 +956,16 @@ rpm_package_to_s(VALUE pkg)
|
|
956
956
|
if (NIL_P(name)) {
|
957
957
|
buf[0] = '\0';
|
958
958
|
} else if (NIL_P(ver)) {
|
959
|
-
snprintf(buf, BUFSIZ, "%s",
|
959
|
+
snprintf(buf, BUFSIZ, "%s", RSTRING_PTR((name)));
|
960
960
|
} else if (NIL_P(arch)) {
|
961
961
|
snprintf(buf, BUFSIZ, "%s-%s",
|
962
|
-
|
963
|
-
|
962
|
+
RSTRING_PTR((name)),
|
963
|
+
RSTRING_PTR((rpm_version_to_s(ver))));
|
964
964
|
} else {
|
965
965
|
snprintf(buf, BUFSIZ, "%s-%s-%s",
|
966
|
-
|
967
|
-
|
968
|
-
|
966
|
+
RSTRING_PTR((name)),
|
967
|
+
RSTRING_PTR((rpm_version_to_s(ver))),
|
968
|
+
RSTRING_PTR((arch)));
|
969
969
|
}
|
970
970
|
|
971
971
|
return rb_str_new2(buf);
|
@@ -982,11 +982,11 @@ rpm_package_inspect(VALUE pkg)
|
|
982
982
|
buf[0] = '\0';
|
983
983
|
} else if (NIL_P(ver)) {
|
984
984
|
snprintf(buf, BUFSIZ, "#<RPM::Package name=%s>",
|
985
|
-
|
985
|
+
RSTRING_PTR((rb_inspect(name))));
|
986
986
|
} else {
|
987
987
|
snprintf(buf, BUFSIZ, "#<RPM::Package name=%s, version=%s>",
|
988
|
-
|
989
|
-
|
988
|
+
RSTRING_PTR((rb_inspect(name))),
|
989
|
+
RSTRING_PTR((rb_inspect(ver))));
|
990
990
|
}
|
991
991
|
|
992
992
|
return rb_str_new2(buf);
|