Script 'mail_helper' called by ro
Hello packager,
This is just FYI. Your package was checked in in distribution "sle12"
by autobuild-member: ro.
Here comes the log...
---------------------------%<------------------------------
Hi,
here is the log from ci_new_pac /mounts/work_src_done/SLE12/yast2-ruby-bindings -> sle12
Changes:
--------
--- /work/SRC/SUSE:SLE-12:GA/yast2-ruby-bindings/yast2-ruby-bindings.changes 2014-02-27 16:16:33.000000000 +0100
+++ /mounts/work_src_done/SLE12/yast2-ruby-bindings/yast2-ruby-bindings.changes 2014-03-03 18:09:00.000000000 +0100
@@ -1,0 +2,6 @@
+Mon Mar 3 16:43:21 UTC 2014 - jreidinger@suse.com
+
+- do not crash if ruby cannot find yast ruby part
+- 3.1.14
+
+-------------------------------------------------------------------
calling whatdependson for sle12-i586
Packages directly triggered for rebuild:
- yast2-ruby-bindings
- at least 77 other packages
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/SUSE:SLE-12:GA/yast2-ruby-bindings (Old)
and /mounts/work_src_done/SLE12/yast2-ruby-bindings (BS:build ID:33767 MAIL:yast-commit@opensuse.org) (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-ruby-bindings", Maintainer is "yast-commit@opensuse.org"
Old:
----
yast2-ruby-bindings-3.1.13.tar.bz2
New:
----
yast2-ruby-bindings-3.1.14.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-ruby-bindings.spec ++++++
--- /var/tmp/diff_new_pack.3SyocJ/_old 2014-03-07 17:14:42.000000000 +0100
+++ /var/tmp/diff_new_pack.3SyocJ/_new 2014-03-07 17:14:42.000000000 +0100
@@ -17,7 +17,7 @@
Name: yast2-ruby-bindings
-Version: 3.1.13
+Version: 3.1.14
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: yast2-ruby-bindings-%{version}.tar.bz2
++++++ yast2-ruby-bindings-3.1.13.tar.bz2 -> yast2-ruby-bindings-3.1.14.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-3.1.13/package/yast2-ruby-bindings.changes new/yast2-ruby-bindings-3.1.14/package/yast2-ruby-bindings.changes
--- old/yast2-ruby-bindings-3.1.13/package/yast2-ruby-bindings.changes 2014-02-27 13:19:58.000000000 +0100
+++ new/yast2-ruby-bindings-3.1.14/package/yast2-ruby-bindings.changes 2014-03-03 18:04:48.000000000 +0100
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Mon Mar 3 16:43:21 UTC 2014 - jreidinger@suse.com
+
+- do not crash if ruby cannot find yast ruby part
+- 3.1.14
+
+-------------------------------------------------------------------
Thu Feb 27 12:10:11 UTC 2014 - jreidinger@suse.com
- fix precedence of loading files in lib
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-3.1.13/package/yast2-ruby-bindings.spec new/yast2-ruby-bindings-3.1.14/package/yast2-ruby-bindings.spec
--- old/yast2-ruby-bindings-3.1.13/package/yast2-ruby-bindings.spec 2014-02-27 13:19:58.000000000 +0100
+++ new/yast2-ruby-bindings-3.1.14/package/yast2-ruby-bindings.spec 2014-03-03 18:04:48.000000000 +0100
@@ -17,7 +17,7 @@
Name: yast2-ruby-bindings
-Version: 3.1.13
+Version: 3.1.14
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: yast2-ruby-bindings-%{version}.tar.bz2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-3.1.13/src/binary/Y2RubyUtils.cc new/yast2-ruby-bindings-3.1.14/src/binary/Y2RubyUtils.cc
--- old/yast2-ruby-bindings-3.1.13/src/binary/Y2RubyUtils.cc 2014-02-27 13:19:58.000000000 +0100
+++ new/yast2-ruby-bindings-3.1.14/src/binary/Y2RubyUtils.cc 2014-03-03 18:04:48.000000000 +0100
@@ -4,11 +4,31 @@
#include
#include
+#define y2log_component "Y2Ruby"
+#include
+
#include "y2util/stringutil.h"
#include "Y2RubyUtils.h"
using namespace std;
+bool y2_require(const char *str)
+{
+ int error;
+ rb_protect( (VALUE (*)(VALUE))rb_require, (VALUE) str, &error);
+ if (error)
+ {
+ VALUE exception = rb_gv_get("$!"); /* get last exception */
+ VALUE reason = rb_funcall(exception, rb_intern("message"), 0 );
+ VALUE trace = rb_gv_get("$@"); /* get last exception trace */
+ VALUE backtrace = RARRAY_LEN(trace)>0 ? rb_ary_entry(trace, 0) : rb_str_new2("Unknown");
+ y2error("cannot require yast:%s at %s", StringValuePtr(reason),StringValuePtr(backtrace));
+ return false;
+ }
+
+ return true;
+}
+
// cache the UTF-8 encoding object
static rb_encoding *utf8;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-3.1.13/src/binary/Y2RubyUtils.h new/yast2-ruby-bindings-3.1.14/src/binary/Y2RubyUtils.h
--- old/yast2-ruby-bindings-3.1.13/src/binary/Y2RubyUtils.h 2014-02-27 13:19:58.000000000 +0100
+++ new/yast2-ruby-bindings-3.1.14/src/binary/Y2RubyUtils.h 2014-03-03 18:04:48.000000000 +0100
@@ -32,6 +32,11 @@
VALUE y2ruby_nested_const_get(const std::string &name);
/**
+ * safe variant of rb_require: if an exception happens then log it
+ */
+bool y2_require(const char *str);
+
+/**
* Create Ruby String object from a C++ string
* The resulting string has UTF-8 encoding
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-3.1.13/src/binary/Y2YCPTypeConv.cc new/yast2-ruby-bindings-3.1.14/src/binary/Y2YCPTypeConv.cc
--- old/yast2-ruby-bindings-3.1.13/src/binary/Y2YCPTypeConv.cc 2014-02-27 13:19:58.000000000 +0100
+++ new/yast2-ruby-bindings-3.1.14/src/binary/Y2YCPTypeConv.cc 2014-03-03 18:04:48.000000000 +0100
@@ -51,10 +51,11 @@
extern "C" VALUE
ycp_path_to_rb_path( YCPPath ycppath )
{
- int error = 0;
- rb_protect( (VALUE (*)(VALUE))rb_require, (VALUE) "yast/path",&error);
- if (error)
- y2internal("Cannot found yast/path module.");
+ if (!y2_require("yast/path"))
+ {
+ y2internal("Cannot find yast/path module.");
+ return Qnil;
+ }
VALUE yast = rb_define_module("Yast");
VALUE cls = rb_const_get(yast, rb_intern("Path"));
@@ -65,12 +66,9 @@
extern "C" VALUE
ycp_term_to_rb_term( YCPTerm ycpterm )
{
- int error = 0;
-// rb_protect( (VALUE (*)(VALUE))rb_require, (VALUE) "ycp/term",&error);
- rb_require("yast/term");
- if (error)
+ if (!y2_require("yast/term"))
{
- y2internal("Cannot found yast/term module.");
+ y2internal("Cannot find yast/term module.");
return Qnil;
}
@@ -87,7 +85,11 @@
extern "C" VALUE
ycp_ref_to_rb_ref( YCPReference ycpref )
{
- rb_require("yastx");
+ if (!y2_require("yastx"))
+ {
+ y2internal("Cannot find yastx module.");
+ return Qnil;
+ }
VALUE yast = rb_define_module("Yast");
VALUE cls = rb_const_get(yast, rb_intern("YReference"));
@@ -104,7 +106,11 @@
extern "C" VALUE
ycp_bb_to_rb_bb( YCPByteblock ycpbb )
{
- rb_require("yastx");
+ if (!y2_require("yastx"))
+ {
+ y2internal("Cannot find yastx module.");
+ return Qnil;
+ }
VALUE yast = rb_define_module("Yast");
VALUE cls = rb_const_get(yast, rb_intern("Byteblock"));
@@ -121,7 +127,11 @@
extern "C" VALUE
ycp_code_to_rb_code( YCPCode ycode )
{
- rb_require("yastx");
+ if (!y2_require("yastx"))
+ {
+ y2internal("Cannot find yastx module.");
+ return Qnil;
+ }
VALUE yast = rb_define_module("Yast");
VALUE cls = rb_const_get(yast, rb_intern("YCode"));
@@ -142,11 +152,9 @@
ycp_ext_to_rb_ext( YCPExternal ext )
{
y2debug("Convert ext %s", ext->toString().c_str());
- int error = 0;
- rb_require("yast");
- if (error)
+ if (!y2_require("yast"))
{
- y2internal("Cannot found yast module.");
+ y2internal("Cannot find yast module.");
return Qnil;
}
@@ -156,7 +164,6 @@
VALUE argv[] = {rb_utf8_str_new(ext->magic())};
rb_obj_call_init(tdata, 1, argv);
return tdata;
-
}
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-3.1.13/src/binary/YRuby.cc new/yast2-ruby-bindings-3.1.14/src/binary/YRuby.cc
--- old/yast2-ruby-bindings-3.1.13/src/binary/YRuby.cc 2014-02-27 13:19:58.000000000 +0100
+++ new/yast2-ruby-bindings-3.1.14/src/binary/YRuby.cc 2014-03-03 18:04:48.000000000 +0100
@@ -72,7 +72,7 @@
// See http://subforge.org/blogs/show/1
// Note that the solution is different to not touch internal ruby
rb_define_module("Gem");
- rb_require("rubygems");
+ y2_require("rubygems");
rb_enc_find_index("encdb");
@@ -140,17 +140,10 @@
{
YRuby::yRuby();
string module_path = argList->value(1)->asString()->value();
- int error = 0;
- rb_protect( (VALUE (*)(VALUE))rb_require, (VALUE) module_path.c_str(), &error);
- if (error)
- {
- VALUE exception = rb_gv_get("$!"); /* get last exception */
- VALUE reason = rb_funcall(exception, rb_intern("message"), 0 );
- VALUE trace = rb_gv_get("$@"); /* get last exception trace */
- VALUE backtrace = RARRAY_LEN(trace)>0 ? rb_ary_entry(trace, 0) : rb_str_new2("Unknown");
- y2error("Module %s load failed:%s at %s", module_path.c_str(), StringValuePtr(reason),StringValuePtr(backtrace));
+
+ if (!y2_require(module_path.c_str()))
return YCPError( "Ruby::loadModule() / Can't load ruby module '" + module_path + "'" );
- }
+
return YCPVoid();
}
@@ -227,17 +220,8 @@
YCPValue YRuby::callClient(const string& path)
{
- int error;
- rb_protect( (VALUE (*)(VALUE))rb_require, (VALUE) "yast", &error);
- if (error)
- {
- VALUE exception = rb_gv_get("$!"); /* get last exception */
- VALUE reason = rb_funcall(exception, rb_intern("message"), 0 );
- VALUE trace = rb_gv_get("$@"); /* get last exception trace */
- VALUE backtrace = RARRAY_LEN(trace)>0 ? rb_ary_entry(trace, 0) : rb_str_new2("Unknown");
- y2error("cannot require yast:%s at %s", StringValuePtr(reason),StringValuePtr(backtrace));
+ if (!y2_require("yast"))
return YCPBoolean(false);
- }
VALUE wfm_module = y2ruby_nested_const_get("Yast::WFM");
VALUE result = rb_funcall(wfm_module, rb_intern("run_client"), 1, rb_str_new2(path.c_str()));
continue with "q"...
Checked in at Fri Mar 7 17:15:01 CET 2014 by ro
Remember to have fun...
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org