module RPM
Constants
- BUILD__ALL_PACKAGE
- BUILD__BINARY_PACKAGE
- BUILD__CHECK_FILELIST
- BUILD__SOURCE_PACKAGE
- BUILD__UNTIL_BUILD
- BUILD__UNTIL_INSTALL
- BUILD__UNTIL_PREP
- PKG_NAME
- PROB_FILER_FORCE
- PROB_FILER_IGNORESIZE
- PROB_FILER_REPLACEFILES
- VERSION
Public Class Methods
[](p1)
click to toggle source
@param [String] name Name of the macro @return [String] value of macro
name
static VALUE
m_aref(VALUE m, VALUE name)
{
char buf[BUFSIZ];
char* tmp;
VALUE val;
if (TYPE(name) != T_STRING) {
rb_raise(rb_eTypeError, "illegal argument type");
}
sprintf(buf, "%%{%s}", RSTRING_PTR(name));
tmp = strdup(buf);
expandMacros(NULL, NULL, buf, BUFSIZ);
if (strcmp(tmp, buf) == 0) {
val = Qnil;
} else {
val = rb_str_new2(buf);
}
free(tmp);
return val;
}
[]=(p1, p2)
click to toggle source
Setup a macro @param [String] name Name of the macro @param [String] value
Value of the macro or nil to delete it
static VALUE
m_aset(VALUE m, VALUE name, VALUE val)
{
if (TYPE(name) != T_STRING
|| (val != Qnil && TYPE(val) != T_STRING)) {
rb_raise(rb_eTypeError, "illegal argument type(s)");
}
if (val == Qnil) {
delMacro(NULL, RSTRING_PTR(name));
} else {
addMacro(NULL, RSTRING_PTR(name), NULL, RSTRING_PTR(val), RMIL_DEFAULT);
}
return Qnil;
}
expand(p1)
click to toggle source
static VALUE
m_expand(VALUE m, VALUE name)
{
return rb_str_new2(rpmExpand(StringValueCStr(name), NULL));
}
init_macros(*args)
click to toggle source
static VALUE
m_init_macros(int argc, VALUE* argv, VALUE m)
{
register int i;
char buf[BUFSIZ];
if (argc == 0) {
rb_raise(rb_eArgError, "too few argument(>= 1)");
}
buf[0] = '\0';
for (i = 0; i < argc; i++) {
if (TYPE(argv[i]) != T_STRING) {
rb_raise(rb_eTypeError, "illegal argument type(s)");
}
strcat(buf, RSTRING_PTR(argv[i]));
strcat(buf, ":");
}
rpmInitMacros(NULL, buf);
return Qnil;
}
readrc(*args)
click to toggle source
Read configuration files
static VALUE
m_readrc(int argc, VALUE* argv, VALUE m)
{
register int i;
char buf[BUFSIZ];
if (argc == 0) {
rb_raise(rb_eArgError, "too few argument(>= 1)");
}
buf[0] = '\0';
for (i = 0; i < argc; i++) {
if (TYPE(argv[i]) != T_STRING) {
rb_raise(rb_eTypeError, "illegal argument type(s)");
}
strcat(buf, RSTRING_PTR(argv[i]));
strcat(buf, ":");
}
rpmFreeMacros(NULL);
if (rpmReadConfigFiles(buf, NULL)) {
rb_raise(rb_eRuntimeError, "can not read rc file %s", buf);
}
return Qnil;
}
verbosity()
click to toggle source
@return [Number] Verbosity level
static VALUE
m_get_verbosity(VALUE m)
{
return INT2NUM(rpm_verbosity);
}
verbosity=(p1)
click to toggle source
Sets the verbosity level @param [Number] verbosity Verbosity level
static VALUE
m_set_verbosity(VALUE m, VALUE verbosity)
{
int v = NUM2INT(rb_Integer(verbosity));
switch (v) {
case RPMLOG_EMERG: case RPMLOG_ALERT:
case RPMLOG_CRIT: case RPMLOG_ERR:
case RPMLOG_WARNING: case RPMLOG_NOTICE:
case RPMLOG_INFO: case RPMLOG_DEBUG:
break;
default:
rb_raise(rb_eArgError, "invalid verbosity");
}
rpmSetVerbosity(v);
rpm_verbosity = v;
return Qnil;
}
vercmp(ver1, ver2)
click to toggle source
# File lib/rpm.rb, line 35 def vercmp(ver1, ver2) unless String === ver1 and String === ver2 then raise TypeError, 'illegal argument type' end RPM::Version.new(ver1) <=> RPM::Version.new(ver2) end
Private Instance Methods
vercmp(ver1, ver2)
click to toggle source
# File lib/rpm.rb, line 35 def vercmp(ver1, ver2) unless String === ver1 and String === ver2 then raise TypeError, 'illegal argument type' end RPM::Version.new(ver1) <=> RPM::Version.new(ver2) end