Hello community,
here is the log from the commit of package yast2-core
checked in at Tue Oct 7 16:19:01 CEST 2008.
--------
--- yast2-core/yast2-core.changes 2008-09-26 16:13:44.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-core/yast2-core.changes 2008-10-07 14:56:46.624229000 +0200
@@ -1,0 +2,12 @@
+Tue Oct 7 14:27:00 CEST 2008 - visnov@suse.cz
+
+- change remove builtin behavior to saner one (bnc #396697)
+- more documentation updates
+- 2.17.16
+
+-------------------------------------------------------------------
+Mon Sep 29 23:03:10 CEST 2008 - visnov@suse.cz
+
+- YCP values overview page added to docs
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
yast2-core-2.17.15.tar.bz2
New:
----
yast2-core-2.17.16.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-core.spec ++++++
--- /var/tmp/diff_new_pack.W28743/_old 2008-10-07 16:16:31.000000000 +0200
+++ /var/tmp/diff_new_pack.W28743/_new 2008-10-07 16:16:31.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-core (Version 2.17.15)
+# spec file for package yast2-core (Version 2.17.16)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -19,12 +19,12 @@
Name: yast2-core
-Version: 2.17.15
+Version: 2.17.16
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-core-2.17.15.tar.bz2
+Source0: yast2-core-2.17.16.tar.bz2
Prefix: /usr
# obviously
BuildRequires: gcc-c++
@@ -95,7 +95,7 @@
Stanislav Visnovsky
%prep
-%setup -n yast2-core-2.17.15
+%setup -n yast2-core-2.17.16
%build
%{prefix}/bin/y2tool y2autoconf
@@ -178,6 +178,12 @@
%doc %{_datadir}/doc/yastdoc
/usr/share/YaST2/data/devtools/bin/generateYCPWrappers
%changelog
+* Tue Oct 07 2008 visnov@suse.cz
+- change remove builtin behavior to saner one (bnc #396697)
+- more documentation updates
+- 2.17.16
+* Tue Sep 30 2008 visnov@suse.cz
+- YCP values overview page added to docs
* Fri Sep 26 2008 visnov@suse.cz
- new builtins: list::difference, list::symmetric_difference,
list::intersection, list::union (aschnell, bnc #58844)
++++++ yast2-core-2.17.15.tar.bz2 -> yast2-core-2.17.16.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-core-2.17.15/configure new/yast2-core-2.17.16/configure
--- old/yast2-core-2.17.15/configure 2008-09-26 09:17:21.000000000 +0200
+++ new/yast2-core-2.17.16/configure 2008-09-29 23:02:07.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-core 2.17.13.
+# Generated by GNU Autoconf 2.61 for yast2-core 2.17.15.
#
# Report bugs to http://bugs.opensuse.org/.
#
@@ -728,8 +728,8 @@
# Identity of this package.
PACKAGE_NAME='yast2-core'
PACKAGE_TARNAME='yast2-core'
-PACKAGE_VERSION='2.17.13'
-PACKAGE_STRING='yast2-core 2.17.13'
+PACKAGE_VERSION='2.17.15'
+PACKAGE_STRING='yast2-core 2.17.15'
PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
ac_unique_file="RPMNAME"
@@ -1472,7 +1472,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-core 2.17.13 to adapt to many kinds of systems.
+\`configure' configures yast2-core 2.17.15 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1543,7 +1543,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of yast2-core 2.17.13:";;
+ short | recursive ) echo "Configuration of yast2-core 2.17.15:";;
esac
cat <<\_ACEOF
@@ -1660,7 +1660,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-yast2-core configure 2.17.13
+yast2-core configure 2.17.15
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1674,7 +1674,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-core $as_me 2.17.13, which was
+It was created by yast2-core $as_me 2.17.15, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2495,7 +2495,7 @@
# Define the identity of the package.
PACKAGE='yast2-core'
- VERSION='2.17.13'
+ VERSION='2.17.15'
cat >>confdefs.h <<_ACEOF
@@ -2723,7 +2723,7 @@
-VERSION="2.17.13"
+VERSION="2.17.15"
RPMNAME="yast2-core"
MAINTAINER="Martin Vidner "
@@ -23920,9 +23920,9 @@
fi
-ac_config_files="$ac_config_files liby2/doc/Y2-access.html liby2/doc/Y2-components.html scr/doc/SCR.html scr/doc/intro_to_scr.html"
+ac_config_files="$ac_config_files scr/doc/SCR.html scr/doc/intro_to_scr.html"
-ac_config_files="$ac_config_files Makefile liby2util-r/src/include/y2util/Makefile liby2util-r/src/include/Makefile liby2util-r/src/Makefile liby2util-r/testsuite/lib/Makefile liby2util-r/testsuite/config/Makefile liby2util-r/testsuite/liby2util.test/Makefile liby2util-r/testsuite/tests/Makefile liby2util-r/testsuite/Makefile liby2util-r/Makefile liby2/src/include/y2/Makefile liby2/src/include/Makefile liby2/src/Makefile liby2/doc/Makefile liby2/Makefile libycp/src/include/ycp/Makefile libycp/src/include/Makefile libycp/src/Makefile libycp/doc/ycp/Makefile libycp/doc/Makefile libycp/testsuite/config/Makefile libycp/testsuite/lib/Makefile libycp/testsuite/libycp.test/Makefile libycp/testsuite/tests/bytecode/Makefile libycp/testsuite/tests/bytecode-compatibility/9.1/Makefile libycp/testsuite/tests/bytecode-compatibility/Makefile libycp/testsuite/tests/Makefile libycp/testsuite/Makefile libycp/Makefile liby2dbus/src/Makefile liby2dbus/Makefile libscr/src/include/scr/Makefile libscr/src/include/Makefile libscr/src/Makefile libscr/doc/Makefile libscr/testsuite/Makefile libscr/Makefile agent-dummy/conf/Makefile agent-dummy/doc/Makefile agent-dummy/src/Makefile agent-dummy/testsuite/Makefile agent-dummy/Makefile scr/src/Makefile scr/doc/Makefile scr/testsuite/config/Makefile scr/testsuite/lib/Makefile scr/testsuite/scr.test/Makefile scr/testsuite/tests/Makefile scr/testsuite/Makefile scr/Makefile agent-system/conf/Makefile agent-system/doc/Makefile agent-system/src/Makefile agent-system/testsuite/config/Makefile agent-system/testsuite/lib/Makefile agent-system/testsuite/ag_system.test/Makefile agent-system/testsuite/tests/Makefile agent-system/testsuite/Makefile agent-system/Makefile agent-any/src/Makefile agent-any/doc/Makefile agent-any/testsuite/config/Makefile agent-any/testsuite/lib/Makefile agent-any/testsuite/ag_anyagent.test/Makefile agent-any/testsuite/tests/Makefile agent-any/testsuite/Makefile agent-any/Makefile agent-ini/conf/Makefile agent-ini/src/Makefile agent-ini/doc/Makefile agent-ini/testsuite/config/Makefile agent-ini/testsuite/lib/Makefile agent-ini/testsuite/ag_ini.test/Makefile agent-ini/testsuite/tests/Makefile agent-ini/testsuite/ag_ini.debug/Makefile agent-ini/testsuite/debug/Makefile agent-ini/testsuite/ag_ini.multi/Makefile agent-ini/testsuite/multi/Makefile agent-ini/testsuite/Makefile agent-ini/Makefile agent-modules/conf/Makefile agent-modules/doc/Makefile agent-modules/src/Makefile agent-modules/testsuite/config/Makefile agent-modules/testsuite/lib/Makefile agent-modules/testsuite/ag_modules.test/Makefile agent-modules/testsuite/tests/Makefile agent-modules/testsuite/Makefile agent-modules/Makefile agent-resolver/conf/Makefile agent-resolver/doc/Makefile agent-resolver/src/Makefile agent-resolver/testsuite/config/Makefile agent-resolver/testsuite/lib/Makefile agent-resolver/testsuite/ag_resolver.test/Makefile agent-resolver/testsuite/tests/Makefile agent-resolver/testsuite/Makefile agent-resolver/Makefile agents-non-y2/conf/Makefile agents-non-y2/Makefile agents-perl/conf/Makefile agents-perl/lib/Makefile agents-perl/doc/Makefile agents-perl/testsuite/Makefile agents-perl/Makefile wfm/src/Makefile wfm/doc/Makefile wfm/testsuite/config/Makefile wfm/testsuite/lib/Makefile wfm/testsuite/wfm.test/Makefile wfm/testsuite/tests/Makefile wfm/testsuite/Makefile wfm/Makefile base/src/Makefile base/tools/startshell/Makefile base/tools/autorun/Makefile base/tools/elf-arch/Makefile base/tools/ycpc/doc/Makefile base/tools/ycpc/Makefile base/tools/devtools/Makefile base/tools/Makefile base/Makefile autodocs/Makefile agent-process/conf/Makefile agent-process/doc/autodocs/Makefile agent-process/doc/Makefile agent-process/src/Makefile agent-process/testsuite/config/Makefile agent-process/testsuite/lib/Makefile agent-process/testsuite/ag_process.test/Makefile agent-process/testsuite/tests/Makefile agent-process/testsuite/Makefile agent-process/Makefile dbus/SCR_service/Makefile dbus/Makefile"
+ac_config_files="$ac_config_files Makefile liby2util-r/src/include/y2util/Makefile liby2util-r/src/include/Makefile liby2util-r/src/Makefile liby2util-r/testsuite/lib/Makefile liby2util-r/testsuite/config/Makefile liby2util-r/testsuite/liby2util.test/Makefile liby2util-r/testsuite/tests/Makefile liby2util-r/testsuite/Makefile liby2util-r/Makefile liby2/src/include/y2/Makefile liby2/src/include/Makefile liby2/src/Makefile liby2/Makefile libycp/src/include/ycp/Makefile libycp/src/include/Makefile libycp/src/Makefile libycp/doc/ycp/Makefile libycp/doc/Makefile libycp/testsuite/config/Makefile libycp/testsuite/lib/Makefile libycp/testsuite/libycp.test/Makefile libycp/testsuite/tests/bytecode/Makefile libycp/testsuite/tests/bytecode-compatibility/9.1/Makefile libycp/testsuite/tests/bytecode-compatibility/Makefile libycp/testsuite/tests/Makefile libycp/testsuite/Makefile libycp/Makefile liby2dbus/src/Makefile liby2dbus/Makefile libscr/src/include/scr/Makefile libscr/src/include/Makefile libscr/src/Makefile libscr/doc/Makefile libscr/testsuite/Makefile libscr/Makefile agent-dummy/conf/Makefile agent-dummy/doc/Makefile agent-dummy/src/Makefile agent-dummy/testsuite/Makefile agent-dummy/Makefile scr/src/Makefile scr/doc/Makefile scr/testsuite/config/Makefile scr/testsuite/lib/Makefile scr/testsuite/scr.test/Makefile scr/testsuite/tests/Makefile scr/testsuite/Makefile scr/Makefile agent-system/conf/Makefile agent-system/doc/Makefile agent-system/src/Makefile agent-system/testsuite/config/Makefile agent-system/testsuite/lib/Makefile agent-system/testsuite/ag_system.test/Makefile agent-system/testsuite/tests/Makefile agent-system/testsuite/Makefile agent-system/Makefile agent-any/src/Makefile agent-any/doc/Makefile agent-any/testsuite/config/Makefile agent-any/testsuite/lib/Makefile agent-any/testsuite/ag_anyagent.test/Makefile agent-any/testsuite/tests/Makefile agent-any/testsuite/Makefile agent-any/Makefile agent-ini/conf/Makefile agent-ini/src/Makefile agent-ini/doc/Makefile agent-ini/testsuite/config/Makefile agent-ini/testsuite/lib/Makefile agent-ini/testsuite/ag_ini.test/Makefile agent-ini/testsuite/tests/Makefile agent-ini/testsuite/ag_ini.debug/Makefile agent-ini/testsuite/debug/Makefile agent-ini/testsuite/ag_ini.multi/Makefile agent-ini/testsuite/multi/Makefile agent-ini/testsuite/Makefile agent-ini/Makefile agent-modules/conf/Makefile agent-modules/doc/Makefile agent-modules/src/Makefile agent-modules/testsuite/config/Makefile agent-modules/testsuite/lib/Makefile agent-modules/testsuite/ag_modules.test/Makefile agent-modules/testsuite/tests/Makefile agent-modules/testsuite/Makefile agent-modules/Makefile agent-resolver/conf/Makefile agent-resolver/doc/Makefile agent-resolver/src/Makefile agent-resolver/testsuite/config/Makefile agent-resolver/testsuite/lib/Makefile agent-resolver/testsuite/ag_resolver.test/Makefile agent-resolver/testsuite/tests/Makefile agent-resolver/testsuite/Makefile agent-resolver/Makefile agents-non-y2/conf/Makefile agents-non-y2/Makefile agents-perl/conf/Makefile agents-perl/lib/Makefile agents-perl/doc/Makefile agents-perl/testsuite/Makefile agents-perl/Makefile wfm/src/Makefile wfm/doc/Makefile wfm/testsuite/config/Makefile wfm/testsuite/lib/Makefile wfm/testsuite/wfm.test/Makefile wfm/testsuite/tests/Makefile wfm/testsuite/Makefile wfm/Makefile base/src/Makefile base/tools/startshell/Makefile base/tools/autorun/Makefile base/tools/elf-arch/Makefile base/tools/ycpc/doc/Makefile base/tools/ycpc/Makefile base/tools/devtools/Makefile base/tools/Makefile base/Makefile autodocs/Makefile agent-process/conf/Makefile agent-process/doc/autodocs/Makefile agent-process/doc/Makefile agent-process/src/Makefile agent-process/testsuite/config/Makefile agent-process/testsuite/lib/Makefile agent-process/testsuite/ag_process.test/Makefile agent-process/testsuite/tests/Makefile agent-process/testsuite/Makefile agent-process/Makefile dbus/SCR_service/Makefile dbus/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -24383,7 +24383,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by yast2-core $as_me 2.17.13, which was
+This file was extended by yast2-core $as_me 2.17.15, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -24436,7 +24436,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-yast2-core config.status 2.17.13
+yast2-core config.status 2.17.15
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
@@ -24552,8 +24552,6 @@
case $ac_config_target in
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- "liby2/doc/Y2-access.html") CONFIG_FILES="$CONFIG_FILES liby2/doc/Y2-access.html" ;;
- "liby2/doc/Y2-components.html") CONFIG_FILES="$CONFIG_FILES liby2/doc/Y2-components.html" ;;
"scr/doc/SCR.html") CONFIG_FILES="$CONFIG_FILES scr/doc/SCR.html" ;;
"scr/doc/intro_to_scr.html") CONFIG_FILES="$CONFIG_FILES scr/doc/intro_to_scr.html" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
@@ -24569,7 +24567,6 @@
"liby2/src/include/y2/Makefile") CONFIG_FILES="$CONFIG_FILES liby2/src/include/y2/Makefile" ;;
"liby2/src/include/Makefile") CONFIG_FILES="$CONFIG_FILES liby2/src/include/Makefile" ;;
"liby2/src/Makefile") CONFIG_FILES="$CONFIG_FILES liby2/src/Makefile" ;;
- "liby2/doc/Makefile") CONFIG_FILES="$CONFIG_FILES liby2/doc/Makefile" ;;
"liby2/Makefile") CONFIG_FILES="$CONFIG_FILES liby2/Makefile" ;;
"libycp/src/include/ycp/Makefile") CONFIG_FILES="$CONFIG_FILES libycp/src/include/ycp/Makefile" ;;
"libycp/src/include/Makefile") CONFIG_FILES="$CONFIG_FILES libycp/src/include/Makefile" ;;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-core-2.17.15/configure.in new/yast2-core-2.17.16/configure.in
--- old/yast2-core-2.17.15/configure.in 2008-09-26 09:17:05.000000000 +0200
+++ new/yast2-core-2.17.16/configure.in 2008-09-29 23:01:50.000000000 +0200
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.17.6 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-core, 2.17.13, http://bugs.opensuse.org/, yast2-core)
+AC_INIT(yast2-core, 2.17.15, http://bugs.opensuse.org/, yast2-core)
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.13"
+VERSION="2.17.15"
RPMNAME="yast2-core"
MAINTAINER="Martin Vidner "
@@ -290,8 +290,6 @@
AM_CONDITIONAL([HAVE_POLKIT], [test "x$HAVE_POLKIT" = x1])
AC_CONFIG_FILES([
- liby2/doc/Y2-access.html
- liby2/doc/Y2-components.html
scr/doc/SCR.html
scr/doc/intro_to_scr.html
])
@@ -307,7 +305,6 @@
liby2/src/include/y2/Makefile
liby2/src/include/Makefile
liby2/src/Makefile
-liby2/doc/Makefile
liby2/Makefile
libycp/src/include/ycp/Makefile
libycp/src/include/Makefile
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-core-2.17.15/liby2/src/genericfrontend.cc new/yast2-core-2.17.16/liby2/src/genericfrontend.cc
--- old/yast2-core-2.17.15/liby2/src/genericfrontend.cc 2008-09-26 11:00:11.000000000 +0200
+++ new/yast2-core-2.17.16/liby2/src/genericfrontend.cc 2008-09-30 21:24:04.000000000 +0200
@@ -37,7 +37,17 @@
* - \ref components
* - \ref componentbroker
* - \ref componentsearch
+ *
* - Handling of error codes: \ref exitcodes
+ *
+ * - Libraries
+ * - \ref liby2
+ * - \ref libycp
+ * - \ref libscr
+ *
+ * - Generic components
+ * - \ref SCR
+ * - \ref WFM
*/
/**
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-core-2.17.15/liby2/src/include/y2/Y2Component.h new/yast2-core-2.17.16/liby2/src/include/y2/Y2Component.h
--- old/yast2-core-2.17.15/liby2/src/include/y2/Y2Component.h 2008-09-26 10:54:37.000000000 +0200
+++ new/yast2-core-2.17.16/liby2/src/include/y2/Y2Component.h 2008-09-30 21:40:52.000000000 +0200
@@ -88,8 +88,7 @@
* defined protocol. Both the language and the protocol are
* called <i>YCP (YaST2 communication protocol)</i>. One protocol
* step consists of one of the partners sending exactly one
- * <a href="../libycp/YCP-datatypes.html">YCP value</a>
- * to the other and the other receiving that value. In the
+ * of \ref ycpvalues to the other and the other receiving that value. In the
* next step, the component that just was receiving, is now sending and
* vice versa. The only exception is, that one of that partners
* may terminate the session and send a last <i>result</i> message
@@ -136,8 +135,7 @@
* <ul>
*
* <li>An executable program (ELF, /bin/sh, or whatsoever)</li>
- * <li>A C++ class using <tt><a href="../libycp/autodocs/intro.html">libycp</a></tt>
- * and <tt><a href="../liby2/autodocs/intro.html">liby2</a></tt></li>
+ * <li>A C++ class using \ref libycp and \ref liby2</li>
* <li>A YCP script executed by the <i>Workflowmanager</i></li>
* <li>Youself typing some YCP code at a terminal</li>
*
@@ -159,8 +157,7 @@
* <p>The data flowing through these pipes is YCP Ascii
* representation. Each communication side needs a parser to analyse the
* data and a YCP syntax generater to write data to the pipe. Both can be
- * found in the <tt><a href="../libycp/autodocs/intro.html">libycp</a></tt>,
- * which can only used from C++ programs.
+ * found in the \ref libycp, which can only used from C++ programs.
*
* <p>But the production of YCP code
* can in many cases very easily be done be printing to stdout, for
@@ -178,8 +175,7 @@
* component implementation.
*
* <p>What you have to do is to subclass at least two classes:
- * <tt><a href="../liby2/autodocs/Y2ComponentCreator.html">Y2ComponentCreator</a></tt> and
- * <tt><a href="../liby2/autodocs/Y2Component.html">Y2Component</a></tt> and
+ * \ref Y2ComponentCreator and \ref Y2Component and
*
* <p>Depending on whether you want to implement a server or a client component
* you have to override different methods. Many examples can be found within the liby2
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-core-2.17.15/liby2/src/include/Y2.h new/yast2-core-2.17.16/liby2/src/include/Y2.h
--- old/yast2-core-2.17.15/liby2/src/include/Y2.h 2007-06-25 11:19:13.000000000 +0200
+++ new/yast2-core-2.17.16/liby2/src/include/Y2.h 2008-09-30 21:17:58.000000000 +0200
@@ -26,7 +26,9 @@
#include
#include
-/***
+/**
+ * \page liby2 liby2 Library
+ *
* <h2>The YaST2 component architecture</h2>
*
* <p>The YaST2 system consists of different components. These are
@@ -53,9 +55,9 @@
* time and provide single isolated binaries as well as clusters of components, that need
* not be disjunct.
*
- * <h2>The generic frontend (GF)</h2>
+ * <h2>The generic frontend (y2base)</h2>
*
- * <p>The liby2 provides a main function. A component linked to liby2
+ * <p>The liby2 provides a \ref main function. A component linked to liby2
* therefore need not and cannot have its own main function. This
* generic main function does:
*
@@ -64,36 +66,29 @@
* <li>find the server and the client component regardless, whether they are realized
* as external programs,
* shared library plugins, YCP scripts or objects that are linked to the main binary</li>
- * <li>parameter checking (not yet implemented)
+ * <li>parameter checking
* <li>launches the server and the client component with the correct paramters</li>
* <li>start the communication between client and server</li>
* </ul>
*
* <p>A YaST2 binary does always consist of the generic frontend and zero or more
- * components that are linked in. The binary <tt>y2gf</tt> just contains the frontend
+ * components that are linked in. The binary <tt>y2base</tt> just contains the frontend
* and the builtin components <tt>cat</tt> and <tt>stdio</tt>. <tt>cat</tt> is
* a server component that can be used instead of a user interface. It simply prints
* all commands it gets to stdout and waits for the answer at stdin. <tt>stdio</tt>
* works similary, but is a client.
*
* <p>The general synopsis of a call of a YaST2 binary is:
- * <pre>y2gf [server] client [client-options] [server-options]</pre>
+ * <pre>y2base client server [client-options] [server-options]</pre>
*
* <p><font size="-1">( Please don't ask yet, why the server-options are stated <i>after</i>
* the client options. We will see later. )</font> </p>
*
* <p>An example would be:
- * <pre>y2gf qt mainmenu</pre>
+ * <pre>y2base menu qt</pre>
*
* <p>This call would use the component <tt>qt</tt>, which is the Qt-lib base graphical
- * user interface, as display server and start the module <tt>mainmenu</tt>.
- *
- * <p>If the name of the YaST2 binary is not equal to <tt>y2gf</tt>, then the name
- * without the <tt>y2</tt> is used as the name of the first component:
- * <pre>y2qt mainmenu</pre>
- * <p>This call does the same as the upper one. The generic frontend contained in <tt>y2qt</tt>
- * first looks for a builtin (linked against) component named <tt>qt</tt>. If it finds one
- * <i>in itself</i>, it does not have to launch an external program component.
+ * user interface, as display server and start the module <tt>menu</tt>.
*
* <h3>Server options</h3>
* <p>Every command line argument
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-core-2.17.15/libycp/src/include/ycp/Parser.h new/yast2-core-2.17.16/libycp/src/include/ycp/Parser.h
--- old/yast2-core-2.17.15/libycp/src/include/ycp/Parser.h 2007-06-25 11:19:15.000000000 +0200
+++ new/yast2-core-2.17.16/libycp/src/include/ycp/Parser.h 2008-09-30 21:58:15.000000000 +0200
@@ -36,7 +36,8 @@
class YBlock;
/**
- * @short YCP parser
+ * @short YCP language parser
+ *
* A YCP parser read a characters stream and outputs a sequence
* of YCP values. Three properties of the YCP grammar are important:
*
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-core-2.17.15/libycp/src/include/ycp/YCode.h new/yast2-core-2.17.16/libycp/src/include/ycp/YCode.h
--- old/yast2-core-2.17.15/libycp/src/include/ycp/YCode.h 2008-05-05 20:43:38.000000000 +0200
+++ new/yast2-core-2.17.16/libycp/src/include/ycp/YCode.h 2008-09-30 22:44:04.000000000 +0200
@@ -21,6 +21,21 @@
#ifndef YCode_h
#define YCode_h
+/**
+ * \page ycplanguage YCP Scripting Language
+ * \todo Enhance
+ *
+ * YCP is a very simple imperative scripting language with builtin support for
+ * \ref ycpvalues, easy access to \ref components, common control structures and more.
+ * It is designed to be well suited for system configuration manipulation.
+ *
+ * YCP interpreter consists of the following parts:
+ * - YCP \ref Parser which parses ASCII representation into in-memory representation (C++ classes
+ * inheriting from the \ref YCode class.
+ * - YCP interpreter - the \ref YCode based classes
+ * - \ref YCP bytecode implementation
+ */
+
#include <string>
using std::string;
@@ -48,7 +63,14 @@
typedef struct ycodelist ycodelist_t;
/**
- * @short YCode for precompiled ycp code
+ * \brief YCode for precompiled ycp code
+ *
+ * A class representing parsed YCP code. This is an abstract base class for implementing
+ * any YCP language feature. \ref kind uniquely identifies the type of the class.
+ * The class provides infrastructure for dumping a bytecode representation (\ref toStream),
+ * XML representation (\ref toXML) and ASCII representation (\ref toString).
+ *
+ * The represented YCP code is executed via invoking \ref evaluate.
*/
class YCode : public Rep
#ifdef D_MEMUSAGE
@@ -132,73 +154,107 @@
YCode ();
/**
- * Cleans up
+ * Destructor
*/
virtual ~YCode();
/**
- * Returns the YCode kind
+ * Kind of this \ref YCode. This method must be reimplemented in the inherited classes.
+ *
+ * \return the YCode kind
*/
virtual ykind kind() const = 0;
/**
- * Returns an ASCII representation of the YCode.
+ * Return ASCII represtation of this YCP code.
+ *
+ * \return ASCII string representation
*/
virtual string toString() const;
+
+ /**
+ * String representation of the YCode kind value. For debugging purposes.
+ *
+ * \param kind which kind representation should be returned
+ * \return string representation
+ */
static string toString(ykind kind);
/**
- * writes YCode to a stream
- * see Bytecode for read
+ * Write YCP code to a byte stream (bytecode implementation). Every
+ * class inheriting from \ref YCode must reimplement this method.
+ * \param str byte stream to store into
+ * \return byte stream for chaining writing bytecode (str)
*/
virtual std::ostream & toStream (std::ostream & str) const = 0;
+
+ /**
+ * Write YCP code as XML representation. Every class inheriting from
+ * \ref YCode must reimplement this method.
+ * \param str string stream to store into
+ * \param indend indentation level for pretty print
+ * \return string stream for chaining writing XML (str)
+ */
virtual std::ostream & toXml (std::ostream & str, int indent ) const = 0;
/**
- * returns true if the YCode represents a constant
+ * Is this code constant?
+ *
+ * \return true if the \ref YCode represents a constant
*/
virtual bool isConstant () const;
/**
- * returns true if the YCode represents an error
+ * Is this code a representation of an error?
+ *
+ * \returns true if the \ref YCode represents an error
*/
bool isError () const;
/**
- * returns true if the YCode represents a statement
+ * Is this a YCP statement (e.g. if, while, ...)
+ *
+ * \return true if the \ref YCode represents a statement
*/
virtual bool isStatement () const;
/**
- * returns true if the YCode represents a block
+ * Is this a YCP block?
+ *
+ * \return true if the \ref YCode represents a block
*/
virtual bool isBlock () const;
/**
- * returns true if the YCode represents something we can reference to
+ * Can this code be stored in a variable of a type reference?
+ *
+ * \return true if the \ref YCode represents something we can reference to
*/
virtual bool isReferenceable () const;
/**
- * evaluate YCode to YCPValue
- * if debugger == 0
- * called for parse time evaluation (i.e. constant subexpression elimination)
- * else
- * called for runtime evaluation
+ * Execute YCP code to get the resulting \ref YCPValue. Every inherited class of YCode should reimplement
+ * this method.
+ *
+ * \return \ref YCPValue after executing the code
+ * \param cse should the evaluation be done for parse time evaluation (i.e. constant subexpression elimination)
*/
virtual YCPValue evaluate (bool cse = false);
/**
- * return type (interesting mostly for function calls)
+ * Return type of this YCP code (interesting mostly for function calls).
+ *
+ * \return type of the value to be returned after calling \ref evaluate
*/
virtual constTypePtr type() const;
};
/**
- * constant (-> YCPValue)
+ * \brief YCP Constant
+ *
+ * The base class for YCP constants (\ref YCPValue).
*/
-
class YConst : public YCode
{
REP_BODY(YConst);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-core-2.17.15/libycp/src/include/YCP.h new/yast2-core-2.17.16/libycp/src/include/YCP.h
--- old/yast2-core-2.17.15/libycp/src/include/YCP.h 2007-06-25 11:19:15.000000000 +0200
+++ new/yast2-core-2.17.16/libycp/src/include/YCP.h 2008-09-30 21:37:43.000000000 +0200
@@ -28,6 +28,37 @@
// include all basic types
+/**
+ * \page libycp libycp Library
+ *
+ * This is a library implementing basic \ref ycpvalues and \ref ycplanguage.
+ */
+
+/**
+ * \page ycpvalues YCP Values
+ *
+ * YCP values are the primary way of communicating of YaST components. The following values are implemented:
+ *
+ * <em>Simple values:</em>
+ *
+ * - \ref YCPNull no value - typically error during internal communication
+ * - \ref YCPVoid nil value
+ * - \ref YCPBoolean boolean value
+ * - \ref YCPInteger signed 64-bit integer
+ * - \ref YCPFloat double floating point
+ * - \ref YCPString UTF-8 encoded string
+ *
+ * <em>Special values:</em>
+ * - \ref YCPByteblock array of bytes (e.g. image)
+ * - \ref YCPCode executable code written in YCP language
+ * - \ref YCPExternal pointer
+ *
+ * <em>Complex values:</em>
+ * - \ref YCPList list/array of YCP values
+ * - \ref YCPMap map/hash of YCP values, key/value pairs
+ * - \ref YCPPath special ordered list of YCP values
+ * - \ref YCPTerm constant structure of YCP values
+ */
#include
#include
#include
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-core-2.17.15/libycp/src/YCPBuiltinList.cc new/yast2-core-2.17.16/libycp/src/YCPBuiltinList.cc
--- old/yast2-core-2.17.15/libycp/src/YCPBuiltinList.cc 2008-09-26 13:24:45.000000000 +0200
+++ new/yast2-core-2.17.16/libycp/src/YCPBuiltinList.cc 2008-10-07 13:52:14.000000000 +0200
@@ -949,11 +949,14 @@
* @short Removes element from a list
* @param list LIST
* @param integer e element index
- * @return list Returns nil if the index is invalid.
+ * @return list Returns unchanged list if the index is invalid.
* @description
* Removes the <tt>i</tt>'th value from a list. The first value has the
* index 0. The call remove ([1,2,3], 1) thus returns [1,3].
*
+ * The yast2-core version < 2.17.16 returns nil if the key is invalid. This behavior
+ * has changed in version 2.17.16 to return unchanged list.
+ *
* @usage remove ([1, 2], 0) -> [2]
*/
@@ -975,7 +978,7 @@
if (idx < 0 || idx >= ret->size ())
{
ycp2error ("Index %s for remove () out of range", toString (idx).c_str ());
- return YCPNull ();
+ return ret;
}
ret->remove (idx);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-core-2.17.15/libycp/src/YCPBuiltinMap.cc new/yast2-core-2.17.16/libycp/src/YCPBuiltinMap.cc
--- old/yast2-core-2.17.15/libycp/src/YCPBuiltinMap.cc 2008-08-19 13:20:22.000000000 +0200
+++ new/yast2-core-2.17.16/libycp/src/YCPBuiltinMap.cc 2008-10-07 13:52:45.000000000 +0200
@@ -478,13 +478,16 @@
*
* @description
* Remove the value with the key <tt>KEY</tt> from a map. Returns
- * nil if the key is invalid.
+ * unchanged map if the key is invalid.
+ *
+ * The yast2-core version < 2.17.16 returns nil if the key is invalid. This behavior
+ * has changed in version 2.17.16 to return unchanged map.
*
* @param map MAP
* @param any KEY
* @return map
*
- * @usage remove($[1:2], 0) -> nil
+ * @usage remove($[1:2], 0) -> $[1:2]
* @usage remove($[1:2], 1) -> $[]
* @usage remove ($[1:2, 3:4], 1) -> $[3:4]
*/
@@ -503,7 +506,7 @@
if(map->value (key).isNull ())
{
ycp2error ( "Key %s for remove () does not exist", key->toString ().c_str ());
- return YCPNull ();
+ return ret;
}
ret->remove (key);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-core-2.17.15/libycp/src/YCPBuiltinTerm.cc new/yast2-core-2.17.16/libycp/src/YCPBuiltinTerm.cc
--- old/yast2-core-2.17.15/libycp/src/YCPBuiltinTerm.cc 2008-08-19 13:20:22.000000000 +0200
+++ new/yast2-core-2.17.16/libycp/src/YCPBuiltinTerm.cc 2008-10-07 14:24:50.000000000 +0200
@@ -232,6 +232,9 @@
* remove which allowed 'remove(`term(1,2,3), 0) = [1,2,3]'
* Use 'argsof (term) -> list' for this kind of transformation.)
*
+ * The yast2-core version < 2.17.16 returns nil if the index is invalid. This behavior
+ * has changed in version 2.17.16 to return unchanged term.
+ *
* @param term TERM
* @param integer i
* @return term
@@ -250,7 +253,7 @@
if (idx <= 0 || idx > args->size ())
{
ycp2error ("Index %s for remove () out of range", toString (idx).c_str ());
- return YCPNull ();
+ return term;
}
args->remove (idx-1);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-core-2.17.15/libycp/testsuite/tests/builtin/Builtin-List2.out new/yast2-core-2.17.16/libycp/testsuite/tests/builtin/Builtin-List2.out
--- old/yast2-core-2.17.15/libycp/testsuite/tests/builtin/Builtin-List2.out 2007-06-25 11:19:24.000000000 +0200
+++ new/yast2-core-2.17.16/libycp/testsuite/tests/builtin/Builtin-List2.out 2008-10-07 13:59:10.000000000 +0200
@@ -41,7 +41,7 @@
([1, 4, 8])
("** remove **")
([2])
-(nil)
+([])
("** select **")
(42)
(1)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-core-2.17.15/libycp/testsuite/tests/builtin/Builtin-Map3.out new/yast2-core-2.17.16/libycp/testsuite/tests/builtin/Builtin-Map3.out
--- old/yast2-core-2.17.15/libycp/testsuite/tests/builtin/Builtin-Map3.out 2007-06-25 11:19:24.000000000 +0200
+++ new/yast2-core-2.17.16/libycp/testsuite/tests/builtin/Builtin-Map3.out 2008-10-07 14:05:52.000000000 +0200
@@ -3,7 +3,7 @@
(0)
(2)
("** remove **")
-(nil)
+($[1:2])
($[])
($[3:4])
("** change **")
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-core-2.17.15/libycp/testsuite/tests/builtin/Builtin-remove.out new/yast2-core-2.17.16/libycp/testsuite/tests/builtin/Builtin-remove.out
--- old/yast2-core-2.17.15/libycp/testsuite/tests/builtin/Builtin-remove.out 2007-06-25 11:19:24.000000000 +0200
+++ new/yast2-core-2.17.16/libycp/testsuite/tests/builtin/Builtin-remove.out 2008-10-07 14:06:37.000000000 +0200
@@ -1 +1 @@
-(nil)
+($[])
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-core-2.17.15/libycp/testsuite/tests/builtin/Builtin_X.err new/yast2-core-2.17.16/libycp/testsuite/tests/builtin/Builtin_X.err
--- old/yast2-core-2.17.15/libycp/testsuite/tests/builtin/Builtin_X.err 2007-06-25 11:19:24.000000000 +0200
+++ new/yast2-core-2.17.16/libycp/testsuite/tests/builtin/Builtin_X.err 2008-10-07 14:22:18.000000000 +0200
@@ -12,7 +12,7 @@
----------------------------------------------------------------------
Parsed:
----------------------------------------------------------------------
-remove ([1, 2, 3], 3)
+(remove ([1, 2, 3], 3) == [1, 2, 3])
----------------------------------------------------------------------
[Interpreter] tests/builtin/Builtin_X.ycp:4 Index 3 for remove () out of range
Parsed:
@@ -33,6 +33,6 @@
----------------------------------------------------------------------
Parsed:
----------------------------------------------------------------------
-remove (`HBox (1, 2, 3), 4)
+(remove (`HBox (1, 2, 3), 4) == `HBox (1, 2, 3))
----------------------------------------------------------------------
[Interpreter] tests/builtin/Builtin_X.ycp:10 Index 4 for remove () out of range
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-core-2.17.15/libycp/testsuite/tests/builtin/Builtin_X.out new/yast2-core-2.17.16/libycp/testsuite/tests/builtin/Builtin_X.out
--- old/yast2-core-2.17.15/libycp/testsuite/tests/builtin/Builtin_X.out 2007-06-25 11:19:24.000000000 +0200
+++ new/yast2-core-2.17.16/libycp/testsuite/tests/builtin/Builtin_X.out 2008-10-07 14:20:16.000000000 +0200
@@ -1,9 +1,9 @@
(true)
(true)
(true)
-(nil)
(true)
(true)
(true)
(true)
-(nil)
+(true)
+(true)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-core-2.17.15/libycp/testsuite/tests/builtin/Builtin_X.ycp new/yast2-core-2.17.16/libycp/testsuite/tests/builtin/Builtin_X.ycp
--- old/yast2-core-2.17.15/libycp/testsuite/tests/builtin/Builtin_X.ycp 2007-06-25 11:19:24.000000000 +0200
+++ new/yast2-core-2.17.16/libycp/testsuite/tests/builtin/Builtin_X.ycp 2008-10-07 14:20:33.000000000 +0200
@@ -1,10 +1,10 @@
( remove([1,2,3],0) == [2,3] )
( remove([1,2,3],1) == [1,3] )
( remove([1,2,3],2) == [1,2] )
-remove([1,2,3],3) // error
+( remove([1,2,3],3) == [1,2,3] ) // error
// OLD: ( remove(`HBox(1,2,3),0) == [1,2,3] )
( argsof(`HBox(1,2,3)) == [1,2,3] )
( remove(`HBox(1,2,3),1) == `HBox(2,3) )
( remove(`HBox(1,2,3),2) == `HBox(1,3) )
( remove(`HBox(1,2,3),3) == `HBox(1,2) )
-remove(`HBox(1,2,3),4) // error
+( remove(`HBox(1,2,3),4) == `HBox(1,2,3) ) // error
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-core-2.17.15/VERSION new/yast2-core-2.17.16/VERSION
--- old/yast2-core-2.17.15/VERSION 2008-09-26 16:11:25.000000000 +0200
+++ new/yast2-core-2.17.16/VERSION 2008-10-07 14:55:51.000000000 +0200
@@ -1 +1 @@
-2.17.15
+2.17.16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org