Hello community,
here is the log from the commit of package yast2-network
checked in at Mon Jul 28 15:33:44 CEST 2008.
--------
--- yast2-network/yast2-network.changes 2008-07-23 15:23:09.000000000 +0200
+++ yast2-network/yast2-network.changes 2008-07-28 11:07:11.754523000 +0200
@@ -1,0 +2,12 @@
+Mon Jul 28 11:06:05 CEST 2008 - mzugec@suse.cz
+
+- use all devices for InternetTest, not only eth (bnc#400632)
+- 2.17.13
+
+-------------------------------------------------------------------
+Fri Jul 25 16:19:08 CEST 2008 - mzugec@suse.cz
+
+- initial support for TUN/TAP (FaTE#302184)
+- 2.17.12
+
+-------------------------------------------------------------------
Old:
----
yast2-network-2.17.11.tar.bz2
New:
----
yast2-network-2.17.13.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-network.spec ++++++
--- /var/tmp/diff_new_pack.j22890/_old 2008-07-28 15:33:00.000000000 +0200
+++ /var/tmp/diff_new_pack.j22890/_new 2008-07-28 15:33:00.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-network (Version 2.17.11)
+# spec file for package yast2-network (Version 2.17.13)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -12,12 +12,12 @@
Name: yast2-network
-Version: 2.17.11
+Version: 2.17.13
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-network-2.17.11.tar.bz2
+Source0: yast2-network-2.17.13.tar.bz2
Prefix: /usr
# should be required by devtools
BuildRequires: perl-XML-Writer pkgconfig rpm
@@ -71,7 +71,7 @@
Michal Svec
%prep
-%setup -n yast2-network-2.17.11
+%setup -n yast2-network-2.17.13
%build
%{prefix}/bin/y2tool y2autoconf
@@ -135,6 +135,12 @@
%exclude %{prefix}/share/doc/packages/yast2-network/COPYING
%exclude %{prefix}/share/doc/packages/yast2-network/README
%changelog
+* Mon Jul 28 2008 mzugec@suse.cz
+- use all devices for InternetTest, not only eth (bnc#400632)
+- 2.17.13
+* Fri Jul 25 2008 mzugec@suse.cz
+- initial support for TUN/TAP (FaTE#302184)
+- 2.17.12
* Wed Jul 23 2008 mzugec@suse.cz
- convert eth-id-xx.. device names in AY profile into ethx and udev
rule
++++++ yast2-network-2.17.11.tar.bz2 -> yast2-network-2.17.13.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-network-2.17.11/configure new/yast2-network-2.17.13/configure
--- old/yast2-network-2.17.11/configure 2008-07-23 15:13:55.000000000 +0200
+++ new/yast2-network-2.17.13/configure 2008-07-28 10:51:17.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for yast2-network 2.17.10.
+# Generated by GNU Autoconf 2.61 for yast2-network 2.17.12.
#
# Report bugs to http://bugs.opensuse.org/.
#
@@ -574,8 +574,8 @@
# Identity of this package.
PACKAGE_NAME='yast2-network'
PACKAGE_TARNAME='yast2-network'
-PACKAGE_VERSION='2.17.10'
-PACKAGE_STRING='yast2-network 2.17.10'
+PACKAGE_VERSION='2.17.12'
+PACKAGE_STRING='yast2-network 2.17.12'
PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
ac_unique_file="RPMNAME"
@@ -1197,7 +1197,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures yast2-network 2.17.10 to adapt to many kinds of systems.
+\`configure' configures yast2-network 2.17.12 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1268,7 +1268,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of yast2-network 2.17.10:";;
+ short | recursive ) echo "Configuration of yast2-network 2.17.12:";;
esac
cat <<\_ACEOF
@@ -1346,7 +1346,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-yast2-network configure 2.17.10
+yast2-network configure 2.17.12
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1360,7 +1360,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by yast2-network $as_me 2.17.10, which was
+It was created by yast2-network $as_me 2.17.12, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2181,7 +2181,7 @@
# Define the identity of the package.
PACKAGE='yast2-network'
- VERSION='2.17.10'
+ VERSION='2.17.12'
cat >>confdefs.h <<_ACEOF
@@ -2409,7 +2409,7 @@
-VERSION="2.17.10"
+VERSION="2.17.12"
RPMNAME="yast2-network"
MAINTAINER="Michal Zugec "
@@ -3304,7 +3304,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by yast2-network $as_me 2.17.10, which was
+This file was extended by yast2-network $as_me 2.17.12, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -3347,7 +3347,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-yast2-network config.status 2.17.10
+yast2-network config.status 2.17.12
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-network-2.17.11/configure.in new/yast2-network-2.17.13/configure.in
--- old/yast2-network-2.17.11/configure.in 2008-07-23 15:13:44.000000000 +0200
+++ new/yast2-network-2.17.13/configure.in 2008-07-28 10:51:12.000000000 +0200
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.17.0 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-network, 2.17.10, http://bugs.opensuse.org/, yast2-network)
+AC_INIT(yast2-network, 2.17.12, http://bugs.opensuse.org/, yast2-network)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -18,7 +18,7 @@
AM_INIT_AUTOMAKE(tar-ustar -Wno-portability)
dnl Important YaST2 variables
-VERSION="2.17.10"
+VERSION="2.17.12"
RPMNAME="yast2-network"
MAINTAINER="Michal Zugec "
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-network-2.17.11/src/installation/dialogs.ycp new/yast2-network-2.17.13/src/installation/dialogs.ycp
--- old/yast2-network-2.17.11/src/installation/dialogs.ycp 2008-06-13 16:15:56.000000000 +0200
+++ new/yast2-network-2.17.13/src/installation/dialogs.ycp 2008-07-28 10:59:26.000000000 +0200
@@ -5,7 +5,7 @@
* Authors: Michal Svec
* Arvin Schnell
*
- * $Id: dialogs.ycp 48300 2008-06-13 14:15:57Z mzugec $
+ * $Id: dialogs.ycp 49446 2008-07-28 08:59:26Z mzugec $
*/
{
@@ -123,7 +123,7 @@
if(haskey(labels, Internet::type)) label = labels[Internet::type]:"";
-list<string> items = getEthernetItems();
+list<string> items = getInternetItems();
boolean already_up = false;
if(!Mode::test ()) already_up = Internet::Status();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-network-2.17.11/src/lan/address.ycp new/yast2-network-2.17.13/src/lan/address.ycp
--- old/yast2-network-2.17.11/src/lan/address.ycp 2008-07-08 10:13:46.000000000 +0200
+++ new/yast2-network-2.17.13/src/lan/address.ycp 2008-07-25 16:20:15.000000000 +0200
@@ -4,7 +4,7 @@
* Summary: Network card adresss configuration dialogs
* Authors: Michal Svec
*
- * $Id: address.ycp 48737 2008-07-01 15:53:37Z mzugec $
+ * $Id: address.ycp 49420 2008-07-25 14:20:14Z mzugec $
*/
{
@@ -111,7 +111,7 @@
*/
void StoreBridge(string key, map event)
{
- settings["BRIDGE_PORTS"] = mergestring((list<string>)UI::QueryWidget (`id("BRIDGE_PORTS"), `SelectedItems), " ");
+ settings["BRIDGE_PORTS"] = String::CutBlanks( mergestring((list<string>)UI::QueryWidget (`id("BRIDGE_PORTS"), `SelectedItems), " ") );
y2milestone("store bridge %1 : %2", key, settings["BRIDGE_PORTS"]:"");
}
@@ -177,6 +177,20 @@
settings["SLAVES"] = (list<string>)UI::QueryWidget (`id(key), `SelectedItems);
}
+
+void initTunnel(string key){
+y2internal("initTunnel %1", settings);
+ UI::ChangeWidget(`persistent, `Value, settings["TUNNEL_SET_PERSISTENT"]:""=="yes");
+ UI::ChangeWidget(`owner, `Value, settings["TUNNEL_SET_OWNER"]:"");
+ UI::ChangeWidget(`group, `Value, settings["TUNNEL_SET_GROUP"]:"");
+}
+
+void storeTunnel(string key, map event){
+ settings["TUNNEL_SET_PERSISTENT"]=((boolean)UI::QueryWidget(`persistent, `Value)) ? "yes" : "no";
+ settings["TUNNEL_SET_OWNER"] = (string)UI::QueryWidget(`owner, `Value);
+ settings["TUNNEL_SET_GROUP"] = (string)UI::QueryWidget(`group, `Value);
+}
+
void enableDisableBootProto(symbol current){
UI::ChangeWidget(`dyn, `Enabled, current==`dynamic);
UI::ChangeWidget(`ipaddr, `Enabled, current==`static);
@@ -531,7 +545,20 @@
// "valid_chars": NetworkInterfaces::ValidCharsIfcfg (),
// "handle": HandleIfcfg,
],
-
+ "TUNNEL" : $[
+ "widget" : `custom,
+ "custom_widget":
+ `VBox(
+ `Left(`CheckBox(`id(`persistent), _("Persistent Tunnel"))),
+ `HBox(
+ `InputField(`id(`owner), _("Tunnel owner")),
+ `InputField(`id(`group), _("Tunnel group"))
+ )
+ ),
+ "help" : help["tunnel"]:"",
+ "init" : initTunnel,
+ "store" : storeTunnel,
+ ],
"BRIDGE_PORTS": $[
"widget": `multi_selection_box,
"label": _("Bridged Devices"),
@@ -589,11 +616,11 @@
// TODO : Stat ... Assigned
`Left(`RadioButton(`id(`static), `opt(`notify), _("Statically assigned IP Address"))),
`HBox(
- `TextEntry(`id(`ipaddr), _("&IP Address")),
+ `InputField(`id(`ipaddr), _("&IP Address")),
`HSpacing(1),
- `TextEntry(`id(`netmask), _("&Subnet Mask")),
+ `InputField(`id(`netmask), _("&Subnet Mask")),
`HSpacing(1),
- `TextEntry(`id(`hostname), _("&Hostname")),
+ `InputField(`id(`hostname), _("&Hostname")),
`HStretch()
)
)
@@ -701,6 +728,16 @@
"IFCFGTYPE": LanItems::type,
"IFCFGID": LanItems::device,
];
+ if (contains(["tun", "tap"], LanItems::type))
+ {
+ settings = $[
+ "BOOTPROTO": "static",
+ "TUNNEL" : LanItems::type,
+ "TUNNEL_SET_PERSISTENT" : LanItems::tunnel_set_persistent ? "yes" : "no",
+ "TUNNEL_SET_OWNER" : LanItems::tunnel_set_owner,
+ "TUNNEL_SET_GROUP" : LanItems::tunnel_set_group
+ ];
+ }
string drvtype = DriverType (settings["IFCFGTYPE"]:"");
@@ -717,10 +754,10 @@
}
// FIXME duplicated in hardware.ycp
- list<string> device_types = [ "arc", "bnep", "dummy", "eth", "fddi", "myri", "tr", "usb", "wlan", "bond", "vlan", "br" ];
+ list<string> device_types = [ "arc", "bnep", "dummy", "eth", "fddi", "myri", "tr", "usb", "wlan", "bond", "vlan", "br", "tun", "tap" ];
if(Arch::s390 ())
- device_types = [ "eth", "tr", "hsi", "ctc", "escon", "ficon", "iucv", "qeth", "lcs", "vlan", "br" ];
+ device_types = [ "eth", "tr", "hsi", "ctc", "escon", "ficon", "iucv", "qeth", "lcs", "vlan", "br", "tun", "tap" ];
if(Arch::ia64 ())
device_types = add(device_types, "xp");
@@ -863,10 +900,17 @@
`Left(label),
just_address_contents,
`Frame("", `VBox("BRIDGE_PORTS")),
-// "AD_ADDRESSES",
frame2
);
}
+ else if (contains(["tun", "tap"], LanItems::type))
+ {
+ address_contents = `VBox(
+ `Left(label),
+ "TUNNEL",
+ frame2
+ );
+ }
map functions = $[
@@ -875,6 +919,8 @@
`abort : LanItems::Rollback,
];
+ if (contains(["tun", "tap"], LanItems::type)) functions=$[ `abort:LanItems::Rollback ];
+
map wd_content = $[
@@ -929,6 +975,7 @@
"fallback_functions" : functions,
];
if (contains(["vlan", "br"], LanItems::type)) wd_content["tab_order"]= ["t_general", "t_addr"];
+ if (contains(["tun", "tap"], LanItems::type)) wd_content["tab_order"]= ["t_addr"];
hw_standalone=false;
@@ -960,7 +1007,6 @@
if (ret != `back && ret != `abort)
{
string ifcfgname = LanItems::Items[LanItems::current, "ifcfg"]:"";//settings["IFCFGID"]:"";
-
// general tab
LanItems::startmode = settings["STARTMODE"]:"";
LanItems::usercontrol = settings["USERCONTROL"]:false;
@@ -1023,7 +1069,11 @@
LanItems::vlan_etherdevice = settings["ETHERDEVICE"]:"";
} else if (LanItems::type == "br"){
LanItems::bridge_ports = settings["BRIDGE_PORTS"]:"";
- }
+ } else if (contains(["tun", "tap"], LanItems::type)){
+ LanItems::tunnel_set_persistent = (settings["TUNNEL_SET_PERSISTENT"]:"" == "yes");
+ LanItems::tunnel_set_owner = settings["TUNNEL_SET_OWNER"]:"";
+ LanItems::tunnel_set_group = settings["TUNNEL_SET_GROUP"]:"";
+ }
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-network-2.17.11/src/lan/bridge.ycp new/yast2-network-2.17.13/src/lan/bridge.ycp
--- old/yast2-network-2.17.11/src/lan/bridge.ycp 2008-07-08 10:13:46.000000000 +0200
+++ new/yast2-network-2.17.13/src/lan/bridge.ycp 2008-07-25 11:31:41.000000000 +0200
@@ -18,28 +18,31 @@
{
string old_name=NetworkInterfaces::Name;
// old values (preselected values)
- list<string> br_ports = splitstring(NetworkInterfaces::Current["BRIDGE_PORTS"]:"", " ");
+ list<string> br_ports = splitstring( NetworkInterfaces::Current["BRIDGE_PORTS"]:"" , " ");
list items = createUnconfigured(br_ports);
// from all configured netcards filter 0.0.0.0 configurations
map configurations = NetworkInterfaces::FilterDevices("netcard");
foreach(string devtype, splitstring(NetworkInterfaces::CardRegex["netcard"]:"", "|"), {
if (contains(["br", "vlan"], devtype)) continue;
+ if (contains(["tun", "tap"], devtype)) {
foreach(string devname, (list<string>) Map::Keys(configurations[devtype]:$[]), {
-
- //filter the eth devices (IPADDR=0.0.0.0 - promiscuited mode)
-// if ((string)configurations[devtype, devname, "IPADDR"]:"" == "0.0.0.0") comment="";
-// {
-string description = sformat("%1%2", NetworkInterfaces::GetValue(devname, "NAME"), ((string)configurations[devtype, devname, "IPADDR"]:"" != "0.0.0.0") ? sformat(" (%1)", "configuration") : "");
+ string description = NetworkInterfaces::GetDevTypeDescription(devtype, true);
+ items = add (items, `item(`id(devname), sformat("%1 - %2",devname, description), contains(br_ports, devname)) );
+ });
+ continue;
+ }
+ foreach(string devname, (list<string>) Map::Keys(configurations[devtype]:$[]), {
+ string description = sformat("%1%2", NetworkInterfaces::GetValue(devname, "NAME"),
+ ((string)configurations[devtype, devname, "IPADDR"]:"" != "0.0.0.0") ? sformat(" (%1)", "configuration") : "");
items = add (items, `item(`id(devname), sformat("%1 - %2",devname, description), contains(br_ports, devname)) );
-// }
});
});
-
NetworkInterfaces::Select(old_name);
UI::ChangeWidget(`id(key), `Items, items);
}
boolean ValidateBridge (string key, map event) {
+ string old_name=NetworkInterfaces::Name;
boolean valid=true;
boolean confirmed=false;
list<term> items = (list<term>)UI::QueryWidget(`id(key), `Items);
@@ -53,6 +56,7 @@
string device = t[0, 0]:"";
if (contains(sel, device) && hasAnyValue(device)) {
if (contains(confs, device)){
+ if (contains(["tun", "tap"], NetworkInterfaces::GetType(device))) continue;
if ((string)configurations[NetworkInterfaces::GetType(device), device, "IPADDR"]:"" != "0.0.0.0") {
if(!confirmed) {
valid = Popup::ContinueCancel(_("At least one selected device is already configured.
@@ -73,6 +77,7 @@
}
}
});
+ NetworkInterfaces::Select(old_name);
return valid;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-network-2.17.11/src/lan/hardware.ycp new/yast2-network-2.17.13/src/lan/hardware.ycp
--- old/yast2-network-2.17.11/src/lan/hardware.ycp 2008-05-19 09:39:59.000000000 +0200
+++ new/yast2-network-2.17.13/src/lan/hardware.ycp 2008-07-25 16:20:15.000000000 +0200
@@ -4,7 +4,7 @@
* Summary: Hardware dialogs
* Authors: Michal Svec
*
- * $Id: hardware.ycp 47650 2008-05-18 19:45:17Z mzugec $
+ * $Id: hardware.ycp 49420 2008-07-25 14:20:14Z mzugec $
*/
{
@@ -407,7 +407,7 @@
UI::ChangeWidget(`id(`modul), `Value, hardware["modul"]:"");
UI::ChangeWidget(`id(`options), `Value, hardware["options"]:"");
}
- else if (contains(["bond", "vlan", "br"], hardware["type"]:""))
+ else if (contains(["bond", "vlan", "br", "tun", "tap"], hardware["type"]:""))
{
UI::ChangeWidget(`id(`hwcfg), `Enabled, false);
UI::ChangeWidget(`id(`modul), `Enabled, false);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-network-2.17.11/src/modules/LanItems.ycp new/yast2-network-2.17.13/src/modules/LanItems.ycp
--- old/yast2-network-2.17.11/src/modules/LanItems.ycp 2008-07-18 10:36:07.000000000 +0200
+++ new/yast2-network-2.17.13/src/modules/LanItems.ycp 2008-07-25 16:06:48.000000000 +0200
@@ -133,6 +133,13 @@
/* aliases */
global map aliases = $[];
+
+/* for TUN / TAP devices */
+global boolean tunnel_set_persistent=true;
+global string tunnel_set_owner="";
+global string tunnel_set_group="";
+
+
/* propose options */
global boolean proposal_valid = false;
global boolean nm_proposal_valid = false;
@@ -1006,6 +1013,7 @@
* @return true if success
*/
global define boolean Commit() {
+y2internal("name %1, current %2", NetworkInterfaces::Name, NetworkInterfaces::Current);
if(operation == `add || operation == `edit) {
map newdev = $[];
@@ -1192,6 +1200,15 @@
newdev["_aliases"] = aliases;
y2milestone("aliases %1", aliases);
}
+ if (contains(["tun", "tap"], type)){
+ newdev=$[
+ "BOOTPROTO" : "static",
+ "TUNNEL" : type,
+ "TUNNEL_SET_PERSISTENT" : tunnel_set_persistent ? "yes" : "no",
+ "TUNNEL_SET_OWNER" : tunnel_set_owner,
+ "TUNNEL_SET_GROUP" : tunnel_set_group
+ ];
+ }
NetworkInterfaces::Name = Items[current, "ifcfg"]:"";
NetworkInterfaces::Current = newdev;
if (!NetworkInterfaces::Commit()) Items[current, "ifcfg"]="";
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-network-2.17.11/src/routines/widgets.ycp new/yast2-network-2.17.13/src/routines/widgets.ycp
--- old/yast2-network-2.17.11/src/routines/widgets.ycp 2008-07-08 10:13:46.000000000 +0200
+++ new/yast2-network-2.17.13/src/routines/widgets.ycp 2008-07-28 10:59:26.000000000 +0200
@@ -4,7 +4,7 @@
* Summary: Widgets for CWM
* Authors: Martin Vidner
*
- * $Id: widgets.ycp 48531 2008-06-25 12:55:38Z kmachalkova $
+ * $Id: widgets.ycp 49446 2008-07-28 08:59:26Z mzugec $
*/
{
@@ -214,9 +214,9 @@
-list<string> getEthernetItems(){
+list<string> getInternetItems(){
NetworkInterfaces::Read();
- list<string> items = NetworkInterfaces::List("eth");
+ list<string> items = NetworkInterfaces::List("");
items = filter (string i, items, ``( i != "lo" ));
return items;
}
@@ -275,6 +275,7 @@
define list createUnconfigured(list<string> match){
list items=[];
+ integer current = LanItems::current;
foreach(integer row, any value, LanItems::Items,{
LanItems::current = row;
if (!LanItems::IsItemConfigured()){
@@ -283,6 +284,7 @@
if (hasAnyValue(dev_name)) items = add(items, `item(`id(dev_name), sformat("%1 - %2", dev_name, description), contains(match, dev_name)?true:false));
}
});
+ LanItems::current = current;
return items;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-network-2.17.11/VERSION new/yast2-network-2.17.13/VERSION
--- old/yast2-network-2.17.11/VERSION 2008-07-23 15:17:40.000000000 +0200
+++ new/yast2-network-2.17.13/VERSION 2008-07-28 10:52:48.000000000 +0200
@@ -1 +1 @@
-2.17.11
+2.17.13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org