Hello community,
here is the log from the commit of package yast2-ruby-bindings for openSUSE:Factory checked in at 2012-04-12 09:59:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-ruby-bindings (Old)
and /work/SRC/openSUSE:Factory/.yast2-ruby-bindings.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-ruby-bindings", Maintainer is "DMacVicar@suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-ruby-bindings/yast2-ruby-bindings.changes 2012-01-26 14:09:25.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.yast2-ruby-bindings.new/yast2-ruby-bindings.changes 2012-04-12 10:00:10.000000000 +0200
@@ -1,0 +2,5 @@
+Thu Apr 5 10:32:47 CEST 2012 - jsuchome@suse.cz
+
+- removed libxcrypt-devel from buildrequires
+
+-------------------------------------------------------------------
Old:
----
yast2-ruby-bindings-0.3.9.tar.bz2
New:
----
yast2-ruby-bindings-0.3.10.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-ruby-bindings.spec ++++++
--- /var/tmp/diff_new_pack.Go19RZ/_old 2012-04-12 10:00:11.000000000 +0200
+++ /var/tmp/diff_new_pack.Go19RZ/_new 2012-04-12 10:00:11.000000000 +0200
@@ -16,8 +16,12 @@
#
+#
+# spec file for package yast2-ruby-bindings (Version 0.1)
+#
+
Name: yast2-ruby-bindings
-Version: 0.3.9
+Version: 0.3.10
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: yast2-ruby-bindings-%{version}.tar.bz2
@@ -25,7 +29,6 @@
BuildRequires: cmake
BuildRequires: gcc-c++
-BuildRequires: libxcrypt-devel
BuildRequires: swig
BuildRequires: yast2-core-devel
BuildRequires: yast2-devtools >= 2.16.3
@@ -37,7 +40,7 @@
BuildRequires: yast2-ycp-ui-bindings-devel >= 2.16.37
Requires: ruby
Summary: Ruby bindings for the YaST platform
-License: GPL-2.0+
+License: GPL-2.0
Group: System/YaST
%description
@@ -46,7 +49,6 @@
%prep
%setup -n yast2-ruby-bindings-%{version}
-
%build
mkdir build
cd build
@@ -69,6 +71,9 @@
make test ARGS=-V
cd ..
+%clean
+rm -rf "$RPM_BUILD_ROOT"
+
%files
%defattr (-, root, root)
%{_libdir}/YaST2/plugin/libpy2lang_ruby.so
++++++ yast2-ruby-bindings-0.3.9.tar.bz2 -> yast2-ruby-bindings-0.3.10.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-0.3.9/MAINTAINER new/yast2-ruby-bindings-0.3.10/MAINTAINER
--- old/yast2-ruby-bindings-0.3.9/MAINTAINER 2012-01-25 16:57:33.000000000 +0100
+++ new/yast2-ruby-bindings-0.3.10/MAINTAINER 2012-04-05 15:31:55.000000000 +0200
@@ -1,2 +1,2 @@
-Duncan Mac-Vicar
+Josef Reidinger
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-0.3.9/VERSION.cmake new/yast2-ruby-bindings-0.3.10/VERSION.cmake
--- old/yast2-ruby-bindings-0.3.9/VERSION.cmake 2012-01-25 16:57:33.000000000 +0100
+++ new/yast2-ruby-bindings-0.3.10/VERSION.cmake 2012-04-05 15:31:55.000000000 +0200
@@ -1,3 +1,3 @@
SET(VERSION_MAJOR "0")
SET(VERSION_MINOR "3")
-SET(VERSION_PATCH "9")
+SET(VERSION_PATCH "10")
Files old/yast2-ruby-bindings-0.3.9/package/yast2-ruby-bindings-0.3.9.tar.bz2 and new/yast2-ruby-bindings-0.3.10/package/yast2-ruby-bindings-0.3.9.tar.bz2 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-0.3.9/package/yast2-ruby-bindings.changes new/yast2-ruby-bindings-0.3.10/package/yast2-ruby-bindings.changes
--- old/yast2-ruby-bindings-0.3.9/package/yast2-ruby-bindings.changes 2012-01-25 16:57:33.000000000 +0100
+++ new/yast2-ruby-bindings-0.3.10/package/yast2-ruby-bindings.changes 2012-04-05 15:31:55.000000000 +0200
@@ -1,4 +1,9 @@
-------------------------------------------------------------------
+Thu Apr 5 10:32:47 CEST 2012 - jsuchome@suse.cz
+
+- removed libxcrypt-devel from buildrequires
+
+-------------------------------------------------------------------
Thu Jan 19 12:11:56 UTC 2012 - jreidinger@suse.com
- improve previous fix to allow loading also file in namespace (
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-0.3.9/package/yast2-ruby-bindings.spec new/yast2-ruby-bindings-0.3.10/package/yast2-ruby-bindings.spec
--- old/yast2-ruby-bindings-0.3.9/package/yast2-ruby-bindings.spec 2012-01-25 16:57:33.000000000 +0100
+++ new/yast2-ruby-bindings-0.3.10/package/yast2-ruby-bindings.spec 1970-01-01 01:00:00.000000000 +0100
@@ -1,60 +0,0 @@
-
-
-#
-# spec file for package yast2-ruby-bindings (Version 0.1)
-#
-# norootforbuild
-
-Name: yast2-ruby-bindings
-Version: 0.3.9
-Release: 0
-License: GPL-2.0+
-Group: System/YaST
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-ruby-bindings-%{version}.tar.bz2
-Prefix: /usr
-
-BuildRequires: swig cmake gcc-c++ libxcrypt-devel yast2-core-devel
-BuildRequires: yast2-devtools >= 2.16.3
-# libzypp-devel is missing .la requires
-BuildRequires: ruby-devel
-Requires: yast2-core >= 2.18.1
-BuildRequires: yast2-core-devel >= 2.18.1
-Requires: yast2-ycp-ui-bindings >= 2.16.37
-BuildRequires: yast2-ycp-ui-bindings-devel >= 2.16.37
-Requires: ruby
-Summary: Ruby bindings for the YaST platform
-
-%description
-The bindings allow YaST modules to be written using the Ruby language
-and also Ruby scripts can use YaST agents, APIs and modules.
-
-%prep
-%setup -n yast2-ruby-bindings-%{version}
-%build
-mkdir build
-cd build
-cmake -DCMAKE_INSTALL_PREFIX=%{prefix} \
- -DLIB=%{_lib} \
- -DCMAKE_C_FLAGS="%{optflags}" \
- -DCMAKE_CXX_FLAGS="%{optflags}" \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=1 \
- ..
-make %{?jobs:-j %jobs} VERBOSE=1
-
-%install
-cd build
-make install DESTDIR=$RPM_BUILD_ROOT
-cd ..
-
-%check
-cd build
-make test ARGS=-V
-cd ..
-
-%files
-%defattr (-, root, root)
-%{_libdir}/YaST2/plugin/libpy2lang_ruby.so
-%{_libdir}/ruby/vendor_ruby/%{rb_ver}/ycp.rb
-%{_libdir}/ruby/vendor_ruby/%{rb_ver}/%{rb_arch}/ycpx.so
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-0.3.9/src/ruby/YRuby.cc new/yast2-ruby-bindings-0.3.10/src/ruby/YRuby.cc
--- old/yast2-ruby-bindings-0.3.9/src/ruby/YRuby.cc 2012-01-25 16:57:33.000000000 +0100
+++ new/yast2-ruby-bindings-0.3.10/src/ruby/YRuby.cc 2012-04-05 15:31:55.000000000 +0200
@@ -56,6 +56,17 @@
#include "Y2RubyTypeConv.h"
+void inject_last_exception_method(VALUE& module,const string& message, const string& module_name)
+{
+ //doing injection from C++ is quite complex, but we have eval, so we can do it in ruby :)
+ string code("module ");
+ code += module_name;
+ code += "\ndef self.last_exception\n'";
+ code += message;
+ code += "'\nend\nend";
+ rb_funcall(module, rb_intern("eval"), 1, rb_str_new2(code.c_str()));
+}
+
static void prependModulePath()
{
YCPPathSearch::initialize ();
@@ -236,12 +247,20 @@
if (error)
{
VALUE exception = rb_gv_get("$!"); /* get last exception */
- VALUE reason = rb_funcall(exception, rb_intern("to_s"), 0 );
+ VALUE reason = rb_funcall(exception, rb_intern("message"), 0 );
VALUE trace = rb_gv_get("$@"); /* get last exception trace */
VALUE backtrace = rb_funcall(trace, rb_intern("join"), 1, rb_str_new("\n\t", 2));
char* tmp = fmtstr("%s\n\t%s", StringValuePtr(reason), StringValuePtr(backtrace));
y2error("%s.%s failed\n%s", module_name.c_str(), function.c_str(), tmp);
+ free(tmp);
+ //workaround if last_exception failed, then return always string with message
+ if(function == "last_exception") //TODO constantify last_exception
+ {
+ return YCPString(StringValuePtr(reason));
+ }
+ inject_last_exception_method(module,StringValuePtr(reason),module_name);
+ return YCPVoid();
}
else
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-0.3.9/src/ruby/YRubyNamespace.cc new/yast2-ruby-bindings-0.3.10/src/ruby/YRubyNamespace.cc
--- old/yast2-ruby-bindings-0.3.9/src/ruby/YRubyNamespace.cc 2012-01-25 16:57:33.000000000 +0100
+++ new/yast2-ruby-bindings-0.3.10/src/ruby/YRubyNamespace.cc 2012-04-05 15:31:55.000000000 +0200
@@ -253,6 +253,18 @@
enterSymbol (fun_se, 0);
y2milestone("method: '%s' added", RSTRING(current)->ptr);
}
+ //add to all modules method last_exception to get last exception raised inside module
+ constTypePtr sym_tp = Type::fromSignature("any()");
+ // symbol entry for the function
+ SymbolEntry *fun_se = new SymbolEntry ( this,
+ i,// position. arbitrary numbering.
+ "last_exception", // passed to Ustring, no need to strdup
+ SymbolEntry::c_function,
+ sym_tp);
+ fun_se->setGlobal (true);
+ // enter it to the symbol table
+ enterSymbol (fun_se, 0);
+ y2milestone("method: 'last_exception' added");
y2milestone("%s", symbolsToString().c_str());
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-0.3.9/tests/ycp/InRuby.rb new/yast2-ruby-bindings-0.3.10/tests/ycp/InRuby.rb
--- old/yast2-ruby-bindings-0.3.9/tests/ycp/InRuby.rb 2012-01-25 16:57:33.000000000 +0100
+++ new/yast2-ruby-bindings-0.3.10/tests/ycp/InRuby.rb 2012-04-05 15:31:55.000000000 +0200
@@ -2,4 +2,8 @@
def self.multiply_by_eight(n)
n * 8
end
+
+ def self.raising_code
+ raise "Wow exception!"
+ end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-0.3.9/tests/ycp/ruby_from_ycp.ycp new/yast2-ruby-bindings-0.3.10/tests/ycp/ruby_from_ycp.ycp
--- old/yast2-ruby-bindings-0.3.9/tests/ycp/ruby_from_ycp.ycp 2012-01-25 16:57:33.000000000 +0100
+++ new/yast2-ruby-bindings-0.3.10/tests/ycp/ruby_from_ycp.ycp 2012-04-05 15:31:55.000000000 +0200
@@ -3,6 +3,19 @@
import "InRuby";
string result = tostring(InRuby::multiply_by_eight(10));
y2milestone("result: %1", result);
+ result = tostring(InRuby::raising_code());
+ if (result==nil)
+ {
+ result = tostring(InRuby::last_exception());
+ y2milestone("result: %1", result);
+ if(result != "Wow exception!")
+ return false;
+ }
+ else
+ {
+ y2error("exception completely ignored result: %1",result);
+ return false;
+ }
import "CamelCase";
result = tostring(CamelCase::inc(10));
y2milestone("result: %1", result);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-0.3.9/tests/ycp/y2signal.log new/yast2-ruby-bindings-0.3.10/tests/ycp/y2signal.log
--- old/yast2-ruby-bindings-0.3.9/tests/ycp/y2signal.log 2012-01-25 16:57:33.000000000 +0100
+++ new/yast2-ruby-bindings-0.3.10/tests/ycp/y2signal.log 1970-01-01 01:00:00.000000000 +0100
@@ -1,55 +0,0 @@
-=== 2012-01-16 14:42:45 +0000 ===
-YaST got signal 11 at YCP file :0
-Liberating suppressed debugging messages:
-End of suppressed debugging messages
-Backtrace: (use c++filt to demangle)
-/usr/lib64/liby2.so.2(_Z20signal_log_backtracev+0x15)[0x7f2617f77475]
-/usr/lib64/liby2.so.2(_Z14signal_handleri+0x147)[0x7f2617f77657]
-/lib64/libc.so.6(+0x34e10)[0x7f2616040e10]
-/usr/lib64/liby2.so.2(main+0x70a)[0x7f2617f721da]
-/lib64/libc.so.6(__libc_start_main+0xed)[0x7f261602d23d]
-/usr/lib/YaST2/bin/y2base[0x400669]
-=== 2012-01-16 14:43:28 +0000 ===
-YaST got signal 11 at YCP file :0
-Liberating suppressed debugging messages:
-End of suppressed debugging messages
-Backtrace: (use c++filt to demangle)
-/usr/lib64/liby2.so.2(_Z20signal_log_backtracev+0x15)[0x7faeab397475]
-/usr/lib64/liby2.so.2(_Z14signal_handleri+0x147)[0x7faeab397657]
-/lib64/libc.so.6(+0x34e10)[0x7faea9460e10]
-/usr/lib64/liby2.so.2(main+0x70a)[0x7faeab3921da]
-/lib64/libc.so.6(__libc_start_main+0xed)[0x7faea944d23d]
-/usr/lib/YaST2/bin/y2base[0x400669]
-=== 2012-01-16 14:43:59 +0000 ===
-YaST got signal 11 at YCP file :0
-Liberating suppressed debugging messages:
-End of suppressed debugging messages
-Backtrace: (use c++filt to demangle)
-/usr/lib64/liby2.so.2(_Z20signal_log_backtracev+0x15)[0x7ffa312af475]
-/usr/lib64/liby2.so.2(_Z14signal_handleri+0x147)[0x7ffa312af657]
-/lib64/libc.so.6(+0x34e10)[0x7ffa2f378e10]
-/usr/lib64/liby2.so.2(main+0x70a)[0x7ffa312aa1da]
-/lib64/libc.so.6(__libc_start_main+0xed)[0x7ffa2f36523d]
-/usr/lib/YaST2/bin/y2base[0x400669]
-=== 2012-01-25 15:49:34 +0000 ===
-YaST got signal 11 at YCP file :0
-Liberating suppressed debugging messages:
-End of suppressed debugging messages
-Backtrace: (use c++filt to demangle)
-/usr/lib64/liby2.so.2(_Z20signal_log_backtracev+0x15)[0x7fa5b8dd7475]
-/usr/lib64/liby2.so.2(_Z14signal_handleri+0x147)[0x7fa5b8dd7657]
-/lib64/libc.so.6(+0x34e10)[0x7fa5b6ea0e10]
-/usr/lib64/liby2.so.2(main+0x70a)[0x7fa5b8dd21da]
-/lib64/libc.so.6(__libc_start_main+0xed)[0x7fa5b6e8d23d]
-/usr/lib/YaST2/bin/y2base[0x400669]
-=== 2012-01-25 15:50:03 +0000 ===
-YaST got signal 11 at YCP file :0
-Liberating suppressed debugging messages:
-End of suppressed debugging messages
-Backtrace: (use c++filt to demangle)
-/usr/lib64/liby2.so.2(_Z20signal_log_backtracev+0x15)[0x7f4629010475]
-/usr/lib64/liby2.so.2(_Z14signal_handleri+0x147)[0x7f4629010657]
-/lib64/libc.so.6(+0x34e10)[0x7f46270d9e10]
-/usr/lib64/liby2.so.2(main+0x70a)[0x7f462900b1da]
-/lib64/libc.so.6(__libc_start_main+0xed)[0x7f46270c623d]
-/usr/lib/YaST2/bin/y2base[0x400669]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ruby-bindings-0.3.9/yast2-ruby-bindings.spec.in new/yast2-ruby-bindings-0.3.10/yast2-ruby-bindings.spec.in
--- old/yast2-ruby-bindings-0.3.9/yast2-ruby-bindings.spec.in 2012-01-25 16:57:33.000000000 +0100
+++ new/yast2-ruby-bindings-0.3.10/yast2-ruby-bindings.spec.in 2012-04-05 15:31:55.000000000 +0200
@@ -8,13 +8,13 @@
Name: yast2-ruby-bindings
Version: @VERSION@
Release: 0
-License: GPL-2.0+
+License: GPL-2.0
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: yast2-ruby-bindings-%{version}.tar.bz2
Prefix: /usr
-BuildRequires: swig cmake gcc-c++ libxcrypt-devel yast2-core-devel
+BuildRequires: swig cmake gcc-c++ yast2-core-devel
BuildRequires: yast2-devtools >= 2.16.3
# libzypp-devel is missing .la requires
BuildRequires: ruby-devel
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org