Hello community,
here is the log from the commit of package yast2-core
checked in at Sat Apr 14 01:07:16 CEST 2007.
--------
--- yast2-core/yast2-core.changes 2007-03-30 11:29:48.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-core/yast2-core.changes 2007-04-13 17:59:17.375900000 +0200
@@ -1,0 +2,8 @@
+Fri Apr 13 17:38:58 CEST 2007 - sh@suse.de
+
+- Merged mod-ui branch changes (r37142:37462) back to trunk:
+ - Added infrastructure for UI plugins
+
+- V 2.15.6
+
+-------------------------------------------------------------------
Old:
----
yast2-core-2.15.5.tar.bz2
New:
----
yast2-core-2.15.6.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-core.spec ++++++
--- /var/tmp/diff_new_pack.GW4842/_old 2007-04-14 01:05:52.000000000 +0200
+++ /var/tmp/diff_new_pack.GW4842/_new 2007-04-14 01:05:52.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-core (Version 2.15.5)
+# spec file for package yast2-core (Version 2.15.6)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,12 +11,12 @@
# norootforbuild
Name: yast2-core
-Version: 2.15.5
+Version: 2.15.6
Release: 1
License: GNU General Public License (GPL)
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-core-2.15.5.tar.bz2
+Source0: yast2-core-2.15.6.tar.bz2
prefix: /usr
# obviously
BuildRequires: gcc-c++
@@ -121,7 +121,7 @@
Stanislav Visnovsky
%prep
-%setup -n yast2-core-2.15.5
+%setup -n yast2-core-2.15.6
%build
%{prefix}/bin/y2tool y2autoconf
@@ -193,6 +193,10 @@
/usr/share/YaST2/data/devtools/bin/generateYCPWrappers
%changelog
+* Fri Apr 13 2007 - sh@suse.de
+- Merged mod-ui branch changes (r37142:37462) back to trunk:
+ - Added infrastructure for UI plugins
+- V 2.15.6
* Fri Mar 30 2007 - mvidner@suse.cz
- BuildRequire flex and bison explicitly.
- yast2-core-devel: Require flex because of FlexLexer.h
++++++ yast2-core-2.15.5.tar.bz2 -> yast2-core-2.15.6.tar.bz2 ++++++
++++ 14515 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.15.5/configure.in new/yast2-core-2.15.6/configure.in
--- old/yast2-core-2.15.5/configure.in 2007-03-30 12:57:24.000000000 +0200
+++ new/yast2-core-2.15.6/configure.in 2007-03-06 16:33:04.000000000 +0100
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.14.0 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-core, 2.15.5, http://bugs.opensuse.org/, yast2-core)
+AC_INIT(yast2-core, 2.15.4, http://bugs.opensuse.org/, yast2-core)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -17,7 +17,7 @@
AM_INIT_AUTOMAKE(tar-ustar) dnl searches for some needed programs
dnl Important YaST2 variables
-VERSION="2.15.5"
+VERSION="2.15.4"
RPMNAME="yast2-core"
MAINTAINER="Martin Vidner "
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.15.5/libyui/doc/examples/PackageSelector-10.2.ycp new/yast2-core-2.15.6/libyui/doc/examples/PackageSelector-10.2.ycp
--- old/yast2-core-2.15.5/libyui/doc/examples/PackageSelector-10.2.ycp 2007-03-30 10:56:59.000000000 +0200
+++ new/yast2-core-2.15.6/libyui/doc/examples/PackageSelector-10.2.ycp 2007-03-08 16:11:21.000000000 +0100
@@ -1,6 +1,6 @@
// Package Selector example
{
- boolean use_installed_system = true;
+ boolean use_installed_system = false;
Pkg::SourceCreate( "file:/mounts/dist/full/full-10.2-i386/", "" );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.15.5/libyui/doc/examples/PackageSelector.ycp new/yast2-core-2.15.6/libyui/doc/examples/PackageSelector.ycp
--- old/yast2-core-2.15.5/libyui/doc/examples/PackageSelector.ycp 2006-09-19 13:28:23.000000000 +0200
+++ new/yast2-core-2.15.6/libyui/doc/examples/PackageSelector.ycp 2007-02-15 15:23:05.000000000 +0100
@@ -1,10 +1,7 @@
// Package Selector example
{
- // Pkg::SourceCreate( "http://dist.suse.de/install/SLP/SUSE-10.1-Beta7/i386/CD1/", "" );
- // Pkg::SourceCreate( "http://dist.suse.de/install/SLP/SUSE-10.0-RC4/i386/CD1/", "" );
- // Pkg::SourceCreate( "file:/srv/10.1-i386/CD1/", "" );
- Pkg::SourceCreate( "file:/srv/10.1-i386/DVD1/", "" );
- // Pkg::SourceCreate( "file:/srv/sles-10-i386/CD1/", "" );
+ // Pkg::SourceCreate( "http://dist.suse.de/install/SLP/openSUSE-10.2-GM-DVD9/i386/DVD1/", "" );
+ Pkg::SourceCreate( "file:/dist/full/full-10.2-i386/", "" );
if ( true )
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.15.5/libyui/doc/examples/PatternSelector-wizard.ycp new/yast2-core-2.15.6/libyui/doc/examples/PatternSelector-wizard.ycp
--- old/yast2-core-2.15.5/libyui/doc/examples/PatternSelector-wizard.ycp 2006-09-19 13:28:25.000000000 +0200
+++ new/yast2-core-2.15.6/libyui/doc/examples/PatternSelector-wizard.ycp 2007-03-08 16:15:15.000000000 +0100
@@ -2,8 +2,7 @@
{
textdomain "bogus";
- // Pkg::SourceCreate( "http://dist.suse.de/install/SLP/SUSE-10.1-Beta3/i386/CD1/", "" );
- Pkg::SourceCreate( "file:/srv/sles-10-i386/CD1/", "" );
+ Pkg::SourceCreate( "file:/mounts/dist/full/full-10.2-i386/", "" );
void detailedSelection()
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.15.5/libyui/doc/examples/popper.ycp new/yast2-core-2.15.6/libyui/doc/examples/popper.ycp
--- old/yast2-core-2.15.5/libyui/doc/examples/popper.ycp 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-core-2.15.6/libyui/doc/examples/popper.ycp 2007-02-20 18:23:54.000000000 +0100
@@ -0,0 +1,34 @@
+// bug #246934
+{
+ integer pops=10;
+
+ UI::OpenDialog(
+ `MinSize( 50, 15,
+ `VBox(
+ `HCenter( `Heading("Main dialog") ),
+ `VStretch(),
+ `Right(`PushButton(`opt(`default), "&Close") )
+ )
+ )
+ );
+
+ while ( pops > 0 )
+ {
+ UI::OpenDialog(
+ `MinWidth( 20,
+ `VBox(
+ `HCenter(`Label("Iconify this window")),
+ `PushButton(`opt(`default), "&OK")
+ )
+ )
+ );
+ UI::TimeoutUserInput( 5000 );
+ UI::CloseDialog();
+
+ sleep( 3000 );
+
+ pops = pops - 1;
+ }
+
+ UI::CloseDialog();
+}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.15.5/libyui/src/include/Makefile.am new/yast2-core-2.15.6/libyui/src/include/Makefile.am
--- old/yast2-core-2.15.5/libyui/src/include/Makefile.am 2007-01-22 08:54:33.000000000 +0100
+++ new/yast2-core-2.15.6/libyui/src/include/Makefile.am 2007-04-13 17:38:24.000000000 +0200
@@ -10,6 +10,8 @@
YUI_util.h \
UI.h \
YUISymbols.h \
+ YUIPlugin.h \
+ YPackageSelectorPlugin.h \
\
YAlignment.h \
YBarGraph.h \
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.15.5/libyui/src/include/YPackageSelectorPlugin.h new/yast2-core-2.15.6/libyui/src/include/YPackageSelectorPlugin.h
--- old/yast2-core-2.15.5/libyui/src/include/YPackageSelectorPlugin.h 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-core-2.15.6/libyui/src/include/YPackageSelectorPlugin.h 2007-04-13 17:38:24.000000000 +0200
@@ -0,0 +1,61 @@
+/*---------------------------------------------------------------------\
+| |
+| __ __ ____ _____ ____ |
+| \ \ / /_ _/ ___|_ _|___ \ |
+| \ V / _` \___ \ | | __) | |
+| | | (_| |___) || | / __/ |
+| |_|\__,_|____/ |_| |_____| |
+| |
+| core system |
+| (C) SuSE GmbH |
+\----------------------------------------------------------------------/
+
+ File: YPackageSelectorPlugin.h
+
+ Author: Stefan Hundhammer
+
+/-*/
+
+
+#ifndef YPackageSelectorPlugin_h
+#define YPackageSelectorPlugin_h
+
+#include "YUIPlugin.h"
+#include "YWidgetOpt.h"
+
+class YWidget;
+
+
+/**
+ * Abstract base class for simplified access to UI plugins for package selection.
+ **/
+class YPackageSelectorPlugin: public YUIPlugin
+{
+protected:
+ /**
+ * Constructor: Load the specified plugin library
+ * from the standard UI plugin directory (/usr/lib/YaST2/plugin).
+ **/
+ YPackageSelectorPlugin( const char * pluginLibBaseName )
+ : YUIPlugin( pluginLibBaseName ) {}
+
+ /**
+ * Destructor. Calls dlclose() which will unload the plugin library if it
+ * is no longer used, i.e. if the reference count dlopen() uses reaches 0.
+ **/
+ virtual ~YPackageSelectorPlugin() {}
+
+public:
+ /**
+ * Create a package selector.
+ * Derived classes need to implement this.
+ *
+ * This might return 0 if the plugin lib could not be loaded or if the
+ * appropriate symbol could not be located in the plugin lib.
+ **/
+ virtual YWidget * createPackageSelector( YWidget * parent,
+ YWidgetOpt & opt ) = 0;
+};
+
+
+#endif // YPackageSelectorPlugin_h
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.15.5/libyui/src/include/YUIPlugin.h new/yast2-core-2.15.6/libyui/src/include/YUIPlugin.h
--- old/yast2-core-2.15.5/libyui/src/include/YUIPlugin.h 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-core-2.15.6/libyui/src/include/YUIPlugin.h 2007-04-13 17:38:24.000000000 +0200
@@ -0,0 +1,101 @@
+/*---------------------------------------------------------------------\
+| |
+| __ __ ____ _____ ____ |
+| \ \ / /_ _/ ___|_ _|___ \ |
+| \ V / _` \___ \ | | __) | |
+| | | (_| |___) || | / __/ |
+| |_|\__,_|____/ |_| |_____| |
+| |
+| core system |
+| (C) SuSE GmbH |
+\----------------------------------------------------------------------/
+
+ File: YUIPlugin.h
+
+ Author: Stefan Hundhammer
+
+/-*/
+
+
+#ifndef YUIPlugin_h
+#define YUIPlugin_h
+
+#include <string>
+using std::string;
+
+
+/**
+ * Wrapper class for dlopen() and related.
+ **/
+class YUIPlugin
+{
+public:
+
+ /**
+ * Constructor: Load the specified plugin library
+ * from the standard UI plugin directory (/usr/lib/YaST2/plugin).
+ **/
+ YUIPlugin( const char * pluginLibBaseName );
+
+ /**
+ * Destructor. Calls dlclose() which will unload the plugin library if it
+ * is no longer used, i.e. if the reference count dlopen() uses reaches 0.
+ **/
+ virtual ~YUIPlugin();
+
+ /**
+ * Try to locate the specified symbol (function or global variable) in the
+ * plugin library.
+ *
+ * Returns the in-memory address of that symbol or 0 if it could not be
+ * found or if loading the plugin library had failed in the constructor.
+ **/
+ void * locateSymbol( const char * symbol );
+
+ /**
+ * Returns 'true' if there was an error loading the plugin.
+ **/
+ bool error() const;
+
+ /**
+ * Returns 'true' if there was no error loading the plugin.
+ **/
+ bool success() const;
+
+ /**
+ * Returns a human readable (but in most cases untranslated) error message
+ * if there was an error.
+ **/
+ string errorMsg() const;
+
+protected:
+
+ /**
+ * Returns the dlopen() handle of the plugin library.
+ **/
+ void * pluginLibHandle() { return _pluginLibHandle; }
+
+ /**
+ * Returns the base name of the plugin library.
+ **/
+ string pluginLibBaseName() const { return _pluginLibBaseName; }
+
+ /**
+ * Returns the full path of the plugin library.
+ **/
+ string pluginLibFullPath() const;
+
+ /**
+ * Loads the plugin library.
+ **/
+ void loadPluginLib();
+
+private:
+
+ string _pluginLibBaseName;
+ void * _pluginLibHandle;
+ string _errorMsg;
+};
+
+
+#endif // YUIPlugin_h
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.15.5/libyui/src/Makefile.am new/yast2-core-2.15.6/libyui/src/Makefile.am
--- old/yast2-core-2.15.5/libyui/src/Makefile.am 2007-01-22 08:54:33.000000000 +0100
+++ new/yast2-core-2.15.6/libyui/src/Makefile.am 2007-04-13 17:38:24.000000000 +0200
@@ -6,6 +6,7 @@
AM_CXXFLAGS = -DY2LOG=\"libycp\" \
-DTHEMEDIR=\"${themedir}/current\" \
+ -DPLUGINDIR=\"${plugindir}\" \
-fmessage-length=0
lib_LTLIBRARIES = libyui.la
@@ -18,6 +19,7 @@
YUI_special_widgets.cc \
YUI_bindings.cc \
YUI_util.cc \
+ YUIPlugin.cc \
\
YAlignment.cc \
YBarGraph.cc \
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.15.5/libyui/src/YUIPlugin.cc new/yast2-core-2.15.6/libyui/src/YUIPlugin.cc
--- old/yast2-core-2.15.5/libyui/src/YUIPlugin.cc 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-core-2.15.6/libyui/src/YUIPlugin.cc 2007-04-13 17:38:24.000000000 +0200
@@ -0,0 +1,106 @@
+/*---------------------------------------------------------------------\
+| |
+| __ __ ____ _____ ____ |
+| \ \ / /_ _/ ___|_ _|___ \ |
+| \ V / _` \___ \ | | __) | |
+| | | (_| |___) || | / __/ |
+| |_|\__,_|____/ |_| |_____| |
+| |
+| core system |
+| (C) SuSE GmbH |
+\----------------------------------------------------------------------/
+
+ File: YUIPlugin.h
+
+ Author: Stefan Hundhammer
+
+/-*/
+
+
+#include
+
+#define y2log_component "ui"
+#include
+#include "YUIPlugin.h"
+
+
+#define PLUGIN_PREFIX "libpy2"
+#define PLUGIN_SUFFIX ".so.2"
+
+
+using std::string;
+
+
+YUIPlugin::YUIPlugin( const char * pluginLibBaseName )
+{
+ _pluginLibBaseName = string( pluginLibBaseName );
+
+ string pluginFilename = pluginLibFullPath();
+
+ _pluginLibHandle = dlopen( pluginFilename.c_str(),
+ RTLD_LAZY | RTLD_GLOBAL);
+
+ if ( ! _pluginLibHandle )
+ {
+ _errorMsg = dlerror();
+ y2error( "Could not load UI plugin \"%s\": %s",
+ pluginLibBaseName, _errorMsg.c_str() );
+ }
+}
+
+
+YUIPlugin::~YUIPlugin()
+{
+ if ( _pluginLibHandle )
+ dlclose( _pluginLibHandle );
+}
+
+
+string
+YUIPlugin::pluginLibFullPath() const
+{
+ string fullPath;
+
+ fullPath.append( PLUGINDIR "/" ); // from -DPLUGINDIR in Makefile.am
+ fullPath.append( PLUGIN_PREFIX );
+ fullPath.append( _pluginLibBaseName );
+ fullPath.append( PLUGIN_SUFFIX );
+
+ return fullPath;
+}
+
+
+void * YUIPlugin::locateSymbol( const char * symbol )
+{
+ if ( ! _pluginLibHandle )
+ return 0;
+
+ void * addr = dlsym( _pluginLibHandle, symbol );
+
+ if ( ! addr )
+ {
+ y2error( "Could not locate symbol \"%s\" in %s",
+ symbol, pluginLibFullPath().c_str() );
+ }
+
+ return addr;
+}
+
+
+bool YUIPlugin::error() const
+{
+ return _pluginLibHandle == 0;
+}
+
+
+bool YUIPlugin::success() const
+{
+ return _pluginLibHandle != 0;
+}
+
+
+string YUIPlugin::errorMsg() const
+{
+ return _errorMsg;
+}
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.15.5/VERSION new/yast2-core-2.15.6/VERSION
--- old/yast2-core-2.15.5/VERSION 2007-03-30 11:00:10.000000000 +0200
+++ new/yast2-core-2.15.6/VERSION 2007-04-13 17:38:45.000000000 +0200
@@ -1 +1 @@
-2.15.5
+2.15.6
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org