Author: deanraccoon Date: Wed Feb 22 11:55:23 2012 New Revision: 67509 URL: http://svn.opensuse.org/viewcvs/yast?rev=67509&view=rev Log: add iplb to svn repo Added: trunk/iplb/ trunk/iplb/.cvsignore trunk/iplb/MAINTAINER trunk/iplb/Makefile.cvs trunk/iplb/RPMNAME trunk/iplb/VERSION trunk/iplb/agents/ trunk/iplb/agents/.cvsignore trunk/iplb/agents/Makefile.am trunk/iplb/agents/iplb.scr trunk/iplb/configure.in.in trunk/iplb/doc/ trunk/iplb/doc/.cvsignore trunk/iplb/doc/Makefile trunk/iplb/doc/Makefile.am trunk/iplb/doc/Makefile.in trunk/iplb/doc/autodocs/ trunk/iplb/doc/autodocs/.cvsignore trunk/iplb/doc/autodocs/Makefile trunk/iplb/doc/autodocs/Makefile.am trunk/iplb/doc/autodocs/Makefile.in trunk/iplb/package/ trunk/iplb/package/.cvsignore trunk/iplb/package/yast2-iplb.changes trunk/iplb/series trunk/iplb/src/ trunk/iplb/src/.cvsignore trunk/iplb/src/Iplb.ycp trunk/iplb/src/Makefile.am trunk/iplb/src/common.ycp trunk/iplb/src/complex.ycp trunk/iplb/src/dialogs.ycp trunk/iplb/src/global_conf.ycp trunk/iplb/src/helps.ycp trunk/iplb/src/iplb.desktop trunk/iplb/src/iplb.ycp trunk/iplb/src/iplb_auto.ycp trunk/iplb/src/iplb_proposal.ycp trunk/iplb/src/vserver_conf.ycp trunk/iplb/src/wizards.ycp trunk/iplb/testsuite/ trunk/iplb/testsuite/.cvsignore trunk/iplb/testsuite/Makefile trunk/iplb/testsuite/Makefile.am trunk/iplb/testsuite/Makefile.in trunk/iplb/testsuite/tests/ trunk/iplb/testsuite/tests/.cvsignore trunk/iplb/testsuite/tests/Iplb.err trunk/iplb/testsuite/tests/Iplb.out trunk/iplb/testsuite/tests/Iplb.ycp trunk/iplb/vserver_conf.ycp trunk/iplb/yast2-iplb.spec.in Added: trunk/iplb/.cvsignore URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/.cvsignore?rev=67509&view=auto ============================================================================== --- trunk/iplb/.cvsignore (added) +++ trunk/iplb/.cvsignore Wed Feb 22 11:55:23 2012 @@ -0,0 +1,20 @@ +Makefile +Makefile.am +Makefile.am.common +Makefile.in +aclocal.m4 +config.cache +config.guess +config.h.in +config.log +config.status +config.sub +configure +configure.in +depcomp +install-sh +missing +mkinstalldirs +stamp-h +iplb.pot +autom4te.cache Added: trunk/iplb/MAINTAINER URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/MAINTAINER?rev=67509&view=auto ============================================================================== --- trunk/iplb/MAINTAINER (added) +++ trunk/iplb/MAINTAINER Wed Feb 22 11:55:23 2012 @@ -0,0 +1 @@ +dmzhang@suse.com Added: trunk/iplb/Makefile.cvs URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/Makefile.cvs?rev=67509&view=auto ============================================================================== --- trunk/iplb/Makefile.cvs (added) +++ trunk/iplb/Makefile.cvs Wed Feb 22 11:55:23 2012 @@ -0,0 +1,22 @@ +# +# Makefile.cvs +# +PREFIX = /usr + +LIB = $(shell y2tool get-lib) + +configure: all + ./configure --prefix=$(PREFIX) --libdir=$(PREFIX)/$(LIB) + +all: + y2tool y2autoconf + y2tool y2automake + autoreconf --force --install + +install: configure + make + make install + +reconf: all + ./config.status --recheck + ./config.status Added: trunk/iplb/RPMNAME URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/RPMNAME?rev=67509&view=auto ============================================================================== --- trunk/iplb/RPMNAME (added) +++ trunk/iplb/RPMNAME Wed Feb 22 11:55:23 2012 @@ -0,0 +1 @@ +yast2-iplb Added: trunk/iplb/VERSION URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/VERSION?rev=67509&view=auto ============================================================================== --- trunk/iplb/VERSION (added) +++ trunk/iplb/VERSION Wed Feb 22 11:55:23 2012 @@ -0,0 +1 @@ +2.15.0 Added: trunk/iplb/agents/.cvsignore URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/agents/.cvsignore?rev=67509&view=auto ============================================================================== --- trunk/iplb/agents/.cvsignore (added) +++ trunk/iplb/agents/.cvsignore Wed Feb 22 11:55:23 2012 @@ -0,0 +1,2 @@ +Makefile +Makefile.in Added: trunk/iplb/agents/Makefile.am URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/agents/Makefile.am?rev=67509&view=auto ============================================================================== --- trunk/iplb/agents/Makefile.am (added) +++ trunk/iplb/agents/Makefile.am Wed Feb 22 11:55:23 2012 @@ -0,0 +1,8 @@ +# Makefile.am for iplb/agents + +agent_SCRIPTS = + +scrconf_DATA = \ + iplb.scr + +EXTRA_DIST = $(agent_SCRIPTS) $(scrconf_DATA) Added: trunk/iplb/agents/iplb.scr URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/agents/iplb.scr?rev=67509&view=auto ============================================================================== --- trunk/iplb/agents/iplb.scr (added) +++ trunk/iplb/agents/iplb.scr Wed Feb 22 11:55:23 2012 @@ -0,0 +1,36 @@ +/** + * File: + * iplb.scr + * Summary: + * SCR Agent for reading/writing /etc/ha.d/ldirectord.cf using the ini-agent + * For the config file format, see "ldirectord --help". + */ + + +// FIXME: global params localted after section are recognized as section +// params, evne it's writen at the exact beginning of the line. + +.iplb + +`ag_ini( + `IniAgent( + "/etc/ha.d/ldirectord.cf", + $[ + "options" : ["global_values", "no_nested_sections", "repeat_names"], + "comments": ["^[ \t]*#.*", "#.*", "^[ \t]*$"], + "sections": [ + /*agent interface can not use different section form + * like "virtual=" and "virtual6=" are all sections. + * But when using SCR::Write, SCR::Write can not be specified + * to use which section form "virutal=" or "virtual6=",So use + * "virtual%s" to differ "virutal6=ipv6 address" and "virtual=ipv4 adress" + */ + $[ + "begin" : ["^[ \t]*virtual6{0,1}[ \t]*=[ \t]*(.+)[ \t]*$", "virtual%s"], + ], + ], + "params" : [$["match" : ["^[ \t]*([a-zA-Z0-9_]+)[ \t]*=[ \t]*(.+)[ \t]*$", "%s = %s"]]], + "subindent" : "\t" + ] + ) +) Added: trunk/iplb/configure.in.in URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/configure.in.in?rev=67509&view=auto ============================================================================== --- trunk/iplb/configure.in.in (added) +++ trunk/iplb/configure.in.in Wed Feb 22 11:55:23 2012 @@ -0,0 +1,12 @@ +## YCP module configure.in.in + +## Initialize +@YAST2-INIT-COMMON@ +@YAST2-INIT-YCP@ + +## some common checks +@YAST2-CHECKS-COMMON@ +@YAST2-CHECKS-YCP@ + +## and generate the output... +@YAST2-OUTPUT@ Added: trunk/iplb/doc/.cvsignore URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/doc/.cvsignore?rev=67509&view=auto ============================================================================== --- trunk/iplb/doc/.cvsignore (added) +++ trunk/iplb/doc/.cvsignore Wed Feb 22 11:55:23 2012 @@ -0,0 +1,2 @@ +Makefile +Makefile.in Added: trunk/iplb/doc/Makefile URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/doc/Makefile?rev=67509&view=auto ============================================================================== --- trunk/iplb/doc/Makefile (added) +++ trunk/iplb/doc/Makefile Wed Feb 22 11:55:23 2012 @@ -0,0 +1,536 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# doc/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +# Makefile.am for iplb/doc + + +pkgdatadir = $(datadir)/yast2-iplb +pkglibdir = $(libdir)/yast2-iplb +pkgincludedir = $(includedir)/yast2-iplb +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-suse-linux-gnu +host_triplet = i686-suse-linux-gnu +target_triplet = i686-suse-linux-gnu +subdir = doc +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(docdir)" "$(DESTDIR)$(htmldir)" +docDATA_INSTALL = $(INSTALL_DATA) +htmlDATA_INSTALL = $(INSTALL_DATA) +DATA = $(doc_DATA) $(html_DATA) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/missing --run aclocal-1.10 +AMTAR = ${SHELL} /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/missing --run tar +AUTOCONF = ${SHELL} /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/missing --run autoconf +AUTOHEADER = ${SHELL} /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/missing --run autoheader +AUTOMAKE = ${SHELL} /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/missing --run automake-1.10 +AWK = gawk +CYGPATH_W = echo +DEFS = -DPACKAGE_NAME=\"yast2-iplb\" -DPACKAGE_TARNAME=\"yast2-iplb\" -DPACKAGE_VERSION=\"2.15.0\" -DPACKAGE_STRING=\"yast2-iplb\ 2.15.0\" -DPACKAGE_BUGREPORT=\"http://bugs.opensuse.org/\" -DPACKAGE=\"yast2-iplb\" -DVERSION=\"2.15.0\" +ECHO_C = +ECHO_N = -n +ECHO_T = +INSTALL = /usr/bin/install -c -p +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LIBOBJS = +LIBS = +LN_S = ln -s +LTLIBOBJS = +MAINTAINER = Cong Meng <cmeng@novell.com> +MAKEINFO = ${SHELL} /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +PACKAGE = yast2-iplb +PACKAGE_BUGREPORT = http://bugs.opensuse.org/ +PACKAGE_NAME = yast2-iplb +PACKAGE_STRING = yast2-iplb 2.15.0 +PACKAGE_TARNAME = yast2-iplb +PACKAGE_VERSION = 2.15.0 +PATH_SEPARATOR = : +PKG_CONFIG_PATH = +RPMNAME = yast2-iplb +SET_MAKE = +SHELL = /bin/sh +STRIP = +STYLESHEET_CSS = /usr/share/YaST2/data/docbook/css/yast2docs.css +STYLESHEET_HTML = /usr/share/YaST2/data/docbook/stylesheets/customize-html.xsl +STYLESHEET_PDF = /usr/share/YaST2/data/docbook/stylesheets/customize-fo.xsl +STYLESHEET_YCPDOC = /usr/share/YaST2/data/docbook/stylesheets/ycpdoc.xsl +STYLESHEET_YDOC = /usr/share/YaST2/data/docbook/stylesheets/ydoc.xsl +VERSION = 2.15.0 +XGETTEXT = /usr/bin/xgettext +Y2DEVTOOLS_PREFIX = /usr +YCPC = /usr/bin/ycpc +YCPDOC = /usr/lib/YaST2/bin/ycpdoc +YCPMAKEDEP = /usr/lib/YaST2/bin/ycpmakedep +abs_builddir = /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/doc +abs_srcdir = /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/doc +abs_top_builddir = /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0 +abs_top_srcdir = /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0 +agentdir = ${prefix}/lib/YaST2/servers_non_y2 +am__leading_dot = . +am__tar = tar --format=ustar -chf - "$$tardir" +am__untar = tar -xf - +bindir = ${exec_prefix}/bin +build = i686-suse-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = suse +builddir = . +clientdir = ${prefix}/share/YaST2/clients +datadir = ${datarootdir} +datarootdir = ${prefix}/share +desktopdir = ${prefix}/share/applications/YaST2 +docdir = ${prefix}/share/doc/packages/yast2-iplb +dvidir = ${docdir} +exec_prefix = ${prefix} +execcompdir = ${prefix}/lib/YaST2 +fillupdir = /var/adm/fillup-templates +host = i686-suse-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = suse +htmldir = $(docdir) +imagedir = ${prefix}/share/YaST2/images +includedir = ${prefix}/include/YaST2 +infodir = ${datarootdir}/info +install_sh = $(SHELL) /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/install-sh +libdir = /usr/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${prefix}/share/YaST2/locale +localstatedir = ${prefix}/var +mandir = ${prefix}/share/man +mkdir_p = /bin/mkdir -p +moduledir = ${prefix}/share/YaST2/modules +oldincludedir = /usr/include +pdfdir = ${docdir} +pkgconfigdatadir = ${datadir}/pkgconfig +pkgconfigdir = ${libdir}/pkgconfig +plugindir = ${libdir}/YaST2/plugin +potdir = ${docdir}/pot +prefix = /usr +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +schemadir = ${prefix}/share/YaST2/schema +scrconfdir = ${prefix}/share/YaST2/scrconf +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target = i686-suse-linux-gnu +target_alias = +target_cpu = i686 +target_os = linux-gnu +target_vendor = suse +themedir = ${prefix}/share/YaST2/theme +top_build_prefix = ../ +top_builddir = .. +top_srcdir = .. +yast2dir = ${prefix}/share/YaST2 +ybindir = ${prefix}/lib/YaST2/bin +ydatadir = ${prefix}/share/YaST2/data +yncludedir = ${prefix}/share/YaST2/include +ystartupdir = ${prefix}/lib/YaST2 +SUBDIRS = autodocs +doc_DATA = +html_DATA = +EXTRA_DIST = $(doc_DATA) $(html_DATA) +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-docDATA: $(doc_DATA) + @$(NORMAL_INSTALL) + test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)" + @list='$(doc_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(docDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(docdir)/$$f'"; \ + $(docDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(docdir)/$$f"; \ + done + +uninstall-docDATA: + @$(NORMAL_UNINSTALL) + @list='$(doc_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(docdir)/$$f'"; \ + rm -f "$(DESTDIR)$(docdir)/$$f"; \ + done +install-htmlDATA: $(html_DATA) + @$(NORMAL_INSTALL) + test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)" + @list='$(html_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(htmlDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \ + $(htmlDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \ + done + +uninstall-htmlDATA: + @$(NORMAL_UNINSTALL) + @list='$(html_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(htmldir)/$$f'"; \ + rm -f "$(DESTDIR)$(htmldir)/$$f"; \ + done + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(DATA) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(docdir)" "$(DESTDIR)$(htmldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: install-docDATA install-htmlDATA + +install-dvi: install-dvi-recursive + +install-exec-am: + +install-html: install-html-recursive + +install-info: install-info-recursive + +install-man: + +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-docDATA uninstall-htmlDATA + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic ctags \ + ctags-recursive distclean distclean-generic distclean-tags \ + distdir dvi dvi-am html html-am info info-am install \ + install-am install-data install-data-am install-docDATA \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-htmlDATA install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ + uninstall-docDATA uninstall-htmlDATA + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: Added: trunk/iplb/doc/Makefile.am URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/doc/Makefile.am?rev=67509&view=auto ============================================================================== --- trunk/iplb/doc/Makefile.am (added) +++ trunk/iplb/doc/Makefile.am Wed Feb 22 11:55:23 2012 @@ -0,0 +1,10 @@ +# Makefile.am for iplb/doc + +SUBDIRS = autodocs + +htmldir = $(docdir) + +doc_DATA = +html_DATA = + +EXTRA_DIST = $(doc_DATA) $(html_DATA) Added: trunk/iplb/doc/Makefile.in URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/doc/Makefile.in?rev=67509&view=auto ============================================================================== --- trunk/iplb/doc/Makefile.in (added) +++ trunk/iplb/doc/Makefile.in Wed Feb 22 11:55:23 2012 @@ -0,0 +1,536 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# Makefile.am for iplb/doc + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +target_triplet = @target@ +subdir = doc +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(docdir)" "$(DESTDIR)$(htmldir)" +docDATA_INSTALL = $(INSTALL_DATA) +htmlDATA_INSTALL = $(INSTALL_DATA) +DATA = $(doc_DATA) $(html_DATA) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINTAINER = @MAINTAINER@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +RPMNAME = @RPMNAME@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +STYLESHEET_CSS = @STYLESHEET_CSS@ +STYLESHEET_HTML = @STYLESHEET_HTML@ +STYLESHEET_PDF = @STYLESHEET_PDF@ +STYLESHEET_YCPDOC = @STYLESHEET_YCPDOC@ +STYLESHEET_YDOC = @STYLESHEET_YDOC@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +Y2DEVTOOLS_PREFIX = @Y2DEVTOOLS_PREFIX@ +YCPC = @YCPC@ +YCPDOC = @YCPDOC@ +YCPMAKEDEP = @YCPMAKEDEP@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +agentdir = @agentdir@ +am__leading_dot = @am__leading_dot@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +clientdir = @clientdir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +desktopdir = @desktopdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +execcompdir = @execcompdir@ +fillupdir = @fillupdir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = $(docdir) +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +pkgconfigdatadir = @pkgconfigdatadir@ +pkgconfigdir = @pkgconfigdir@ +plugindir = @plugindir@ +potdir = @potdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +schemadir = @schemadir@ +scrconfdir = @scrconfdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ +themedir = @themedir@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +yast2dir = @yast2dir@ +ybindir = @ybindir@ +ydatadir = @ydatadir@ +yncludedir = @yncludedir@ +ystartupdir = @ystartupdir@ +SUBDIRS = autodocs +doc_DATA = +html_DATA = +EXTRA_DIST = $(doc_DATA) $(html_DATA) +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-docDATA: $(doc_DATA) + @$(NORMAL_INSTALL) + test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)" + @list='$(doc_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(docDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(docdir)/$$f'"; \ + $(docDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(docdir)/$$f"; \ + done + +uninstall-docDATA: + @$(NORMAL_UNINSTALL) + @list='$(doc_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(docdir)/$$f'"; \ + rm -f "$(DESTDIR)$(docdir)/$$f"; \ + done +install-htmlDATA: $(html_DATA) + @$(NORMAL_INSTALL) + test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)" + @list='$(html_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(htmlDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \ + $(htmlDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \ + done + +uninstall-htmlDATA: + @$(NORMAL_UNINSTALL) + @list='$(html_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(htmldir)/$$f'"; \ + rm -f "$(DESTDIR)$(htmldir)/$$f"; \ + done + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(DATA) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(docdir)" "$(DESTDIR)$(htmldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: install-docDATA install-htmlDATA + +install-dvi: install-dvi-recursive + +install-exec-am: + +install-html: install-html-recursive + +install-info: install-info-recursive + +install-man: + +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-docDATA uninstall-htmlDATA + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic ctags \ + ctags-recursive distclean distclean-generic distclean-tags \ + distdir dvi dvi-am html html-am info info-am install \ + install-am install-data install-data-am install-docDATA \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-htmlDATA install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ + uninstall-docDATA uninstall-htmlDATA + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: Added: trunk/iplb/doc/autodocs/.cvsignore URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/doc/autodocs/.cvsignore?rev=67509&view=auto ============================================================================== --- trunk/iplb/doc/autodocs/.cvsignore (added) +++ trunk/iplb/doc/autodocs/.cvsignore Wed Feb 22 11:55:23 2012 @@ -0,0 +1,3 @@ +Makefile +Makefile.in +*.html Added: trunk/iplb/doc/autodocs/Makefile URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/doc/autodocs/Makefile?rev=67509&view=auto ============================================================================== --- trunk/iplb/doc/autodocs/Makefile (added) +++ trunk/iplb/doc/autodocs/Makefile Wed Feb 22 11:55:23 2012 @@ -0,0 +1,383 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# doc/autodocs/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +# Makefile.am for iplb/doc/autodocs + +# -*- makefile -*- Automake include file +# $Id: autodocs-ycp.ami 33394 2006-10-13 11:51:40Z mvidner $ + +# Builds source documentation for YCP sources +# Uses ycpdoc +# PARAMETERS: +# AUTODOCS_YCP: Files that the ycp autodocs is built from +# Optional - the default is $(srcdir)/../../src/*.ycp +# AUTODOCS_PM: Files that the perl autodocs is built from +# Optional - the default is $(srcdir)/../../src/*.pm + + +pkgdatadir = $(datadir)/yast2-iplb +pkglibdir = $(libdir)/yast2-iplb +pkgincludedir = $(includedir)/yast2-iplb +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-suse-linux-gnu +host_triplet = i686-suse-linux-gnu +target_triplet = i686-suse-linux-gnu +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/autodocs-ycp.ami +subdir = doc/autodocs +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(htmldir)" +htmlDATA_INSTALL = $(INSTALL_DATA) +DATA = $(html_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/missing --run aclocal-1.10 +AMTAR = ${SHELL} /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/missing --run tar +AUTOCONF = ${SHELL} /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/missing --run autoconf +AUTOHEADER = ${SHELL} /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/missing --run autoheader +AUTOMAKE = ${SHELL} /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/missing --run automake-1.10 +AWK = gawk +CYGPATH_W = echo +DEFS = -DPACKAGE_NAME=\"yast2-iplb\" -DPACKAGE_TARNAME=\"yast2-iplb\" -DPACKAGE_VERSION=\"2.15.0\" -DPACKAGE_STRING=\"yast2-iplb\ 2.15.0\" -DPACKAGE_BUGREPORT=\"http://bugs.opensuse.org/\" -DPACKAGE=\"yast2-iplb\" -DVERSION=\"2.15.0\" +ECHO_C = +ECHO_N = -n +ECHO_T = +INSTALL = /usr/bin/install -c -p +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LIBOBJS = +LIBS = +LN_S = ln -s +LTLIBOBJS = +MAINTAINER = Cong Meng <cmeng@novell.com> +MAKEINFO = ${SHELL} /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +PACKAGE = yast2-iplb +PACKAGE_BUGREPORT = http://bugs.opensuse.org/ +PACKAGE_NAME = yast2-iplb +PACKAGE_STRING = yast2-iplb 2.15.0 +PACKAGE_TARNAME = yast2-iplb +PACKAGE_VERSION = 2.15.0 +PATH_SEPARATOR = : +PKG_CONFIG_PATH = +RPMNAME = yast2-iplb +SET_MAKE = +SHELL = /bin/sh +STRIP = +STYLESHEET_CSS = /usr/share/YaST2/data/docbook/css/yast2docs.css +STYLESHEET_HTML = /usr/share/YaST2/data/docbook/stylesheets/customize-html.xsl +STYLESHEET_PDF = /usr/share/YaST2/data/docbook/stylesheets/customize-fo.xsl +STYLESHEET_YCPDOC = /usr/share/YaST2/data/docbook/stylesheets/ycpdoc.xsl +STYLESHEET_YDOC = /usr/share/YaST2/data/docbook/stylesheets/ydoc.xsl +VERSION = 2.15.0 +XGETTEXT = /usr/bin/xgettext +Y2DEVTOOLS_PREFIX = /usr +YCPC = /usr/bin/ycpc +YCPDOC = /usr/lib/YaST2/bin/ycpdoc +YCPMAKEDEP = /usr/lib/YaST2/bin/ycpmakedep +abs_builddir = /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/doc/autodocs +abs_srcdir = /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/doc/autodocs +abs_top_builddir = /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0 +abs_top_srcdir = /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0 +agentdir = ${prefix}/lib/YaST2/servers_non_y2 +am__leading_dot = . +am__tar = tar --format=ustar -chf - "$$tardir" +am__untar = tar -xf - +bindir = ${exec_prefix}/bin +build = i686-suse-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = suse +builddir = . +clientdir = ${prefix}/share/YaST2/clients +datadir = ${datarootdir} +datarootdir = ${prefix}/share +desktopdir = ${prefix}/share/applications/YaST2 +docdir = ${prefix}/share/doc/packages/yast2-iplb +dvidir = ${docdir} +exec_prefix = ${prefix} +execcompdir = ${prefix}/lib/YaST2 +fillupdir = /var/adm/fillup-templates +host = i686-suse-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = suse +htmldir = $(docdir)/autodocs +imagedir = ${prefix}/share/YaST2/images +includedir = ${prefix}/include/YaST2 +infodir = ${datarootdir}/info +install_sh = $(SHELL) /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/install-sh +libdir = /usr/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${prefix}/share/YaST2/locale +localstatedir = ${prefix}/var +mandir = ${prefix}/share/man +mkdir_p = /bin/mkdir -p +moduledir = ${prefix}/share/YaST2/modules +oldincludedir = /usr/include +pdfdir = ${docdir} +pkgconfigdatadir = ${datadir}/pkgconfig +pkgconfigdir = ${libdir}/pkgconfig +plugindir = ${libdir}/YaST2/plugin +potdir = ${docdir}/pot +prefix = /usr +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +schemadir = ${prefix}/share/YaST2/schema +scrconfdir = ${prefix}/share/YaST2/scrconf +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target = i686-suse-linux-gnu +target_alias = +target_cpu = i686 +target_os = linux-gnu +target_vendor = suse +themedir = ${prefix}/share/YaST2/theme +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +yast2dir = ${prefix}/share/YaST2 +ybindir = ${prefix}/lib/YaST2/bin +ydatadir = ${prefix}/share/YaST2/data +yncludedir = ${prefix}/share/YaST2/include +ystartupdir = ${prefix}/lib/YaST2 +html_DATA = index.html $(wildcard *.html) +CLEANFILES = $(html_DATA) pod2htm*.tmp +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/autodocs-ycp.ami $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/autodocs/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/autodocs/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-htmlDATA: $(html_DATA) + @$(NORMAL_INSTALL) + test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)" + @list='$(html_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(htmlDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \ + $(htmlDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \ + done + +uninstall-htmlDATA: + @$(NORMAL_UNINSTALL) + @list='$(html_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(htmldir)/$$f'"; \ + rm -f "$(DESTDIR)$(htmldir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(htmldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-htmlDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-htmlDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic distclean \ + distclean-generic distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-htmlDATA install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ + uninstall-am uninstall-htmlDATA + + +AUTODOCS_YCP ?= $(wildcard $(srcdir)/../../src/*.ycp) +AUTODOCS_PM ?= $(wildcard $(srcdir)/../../src/*.pm) + +index.html: $(AUTODOCS_YCP) $(AUTODOCS_PM) +#including *.pm, for the index + ${YCPDOC} -d. $^ + for i in $(AUTODOCS_PM); do \ + b=`basename $$i`; b=$${b%.pm}; \ + pod2html --title=$$b --infile=$$i --outfile=$$b.html; \ + echo "<a href='$$b.html'>$$b</a>" > $$b.mod.html; \ + done +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: Added: trunk/iplb/doc/autodocs/Makefile.am URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/doc/autodocs/Makefile.am?rev=67509&view=auto ============================================================================== --- trunk/iplb/doc/autodocs/Makefile.am (added) +++ trunk/iplb/doc/autodocs/Makefile.am Wed Feb 22 11:55:23 2012 @@ -0,0 +1,3 @@ +# Makefile.am for iplb/doc/autodocs + +include $(top_srcdir)/autodocs-ycp.ami Added: trunk/iplb/doc/autodocs/Makefile.in URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/doc/autodocs/Makefile.in?rev=67509&view=auto ============================================================================== --- trunk/iplb/doc/autodocs/Makefile.in (added) +++ trunk/iplb/doc/autodocs/Makefile.in Wed Feb 22 11:55:23 2012 @@ -0,0 +1,383 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# Makefile.am for iplb/doc/autodocs + +# -*- makefile -*- Automake include file +# $Id: autodocs-ycp.ami 33394 2006-10-13 11:51:40Z mvidner $ + +# Builds source documentation for YCP sources +# Uses ycpdoc +# PARAMETERS: +# AUTODOCS_YCP: Files that the ycp autodocs is built from +# Optional - the default is $(srcdir)/../../src/*.ycp +# AUTODOCS_PM: Files that the perl autodocs is built from +# Optional - the default is $(srcdir)/../../src/*.pm + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +target_triplet = @target@ +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/autodocs-ycp.ami +subdir = doc/autodocs +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(htmldir)" +htmlDATA_INSTALL = $(INSTALL_DATA) +DATA = $(html_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINTAINER = @MAINTAINER@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +RPMNAME = @RPMNAME@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +STYLESHEET_CSS = @STYLESHEET_CSS@ +STYLESHEET_HTML = @STYLESHEET_HTML@ +STYLESHEET_PDF = @STYLESHEET_PDF@ +STYLESHEET_YCPDOC = @STYLESHEET_YCPDOC@ +STYLESHEET_YDOC = @STYLESHEET_YDOC@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +Y2DEVTOOLS_PREFIX = @Y2DEVTOOLS_PREFIX@ +YCPC = @YCPC@ +YCPDOC = @YCPDOC@ +YCPMAKEDEP = @YCPMAKEDEP@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +agentdir = @agentdir@ +am__leading_dot = @am__leading_dot@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +clientdir = @clientdir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +desktopdir = @desktopdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +execcompdir = @execcompdir@ +fillupdir = @fillupdir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = $(docdir)/autodocs +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +pkgconfigdatadir = @pkgconfigdatadir@ +pkgconfigdir = @pkgconfigdir@ +plugindir = @plugindir@ +potdir = @potdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +schemadir = @schemadir@ +scrconfdir = @scrconfdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ +themedir = @themedir@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +yast2dir = @yast2dir@ +ybindir = @ybindir@ +ydatadir = @ydatadir@ +yncludedir = @yncludedir@ +ystartupdir = @ystartupdir@ +html_DATA = index.html $(wildcard *.html) +CLEANFILES = $(html_DATA) pod2htm*.tmp +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/autodocs-ycp.ami $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/autodocs/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu doc/autodocs/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-htmlDATA: $(html_DATA) + @$(NORMAL_INSTALL) + test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)" + @list='$(html_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(htmlDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \ + $(htmlDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \ + done + +uninstall-htmlDATA: + @$(NORMAL_UNINSTALL) + @list='$(html_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(htmldir)/$$f'"; \ + rm -f "$(DESTDIR)$(htmldir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(htmldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-htmlDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-htmlDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic distclean \ + distclean-generic distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-htmlDATA install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ + uninstall-am uninstall-htmlDATA + + +AUTODOCS_YCP ?= $(wildcard $(srcdir)/../../src/*.ycp) +AUTODOCS_PM ?= $(wildcard $(srcdir)/../../src/*.pm) + +index.html: $(AUTODOCS_YCP) $(AUTODOCS_PM) +#including *.pm, for the index + ${YCPDOC} -d. $^ + for i in $(AUTODOCS_PM); do \ + b=`basename $$i`; b=$${b%.pm}; \ + pod2html --title=$$b --infile=$$i --outfile=$$b.html; \ + echo "<a href='$$b.html'>$$b</a>" > $$b.mod.html; \ + done +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: Added: trunk/iplb/package/.cvsignore URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/package/.cvsignore?rev=67509&view=auto ============================================================================== --- trunk/iplb/package/.cvsignore (added) +++ trunk/iplb/package/.cvsignore Wed Feb 22 11:55:23 2012 @@ -0,0 +1,2 @@ +*.spec +*.bz2 Added: trunk/iplb/package/yast2-iplb.changes URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/package/yast2-iplb.changes?rev=67509&view=auto ============================================================================== --- trunk/iplb/package/yast2-iplb.changes (added) +++ trunk/iplb/package/yast2-iplb.changes Wed Feb 22 11:55:23 2012 @@ -0,0 +1,4 @@ +------------------------------------------------------------------- +Fri Dec 4 15:24:49 2009 - cmeng@novell.com + +- initial version Added: trunk/iplb/series URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/series?rev=67509&view=auto ============================================================================== --- trunk/iplb/series (added) +++ trunk/iplb/series Wed Feb 22 11:55:23 2012 @@ -0,0 +1,11 @@ +# Patch series file for quilt, created by quilt setup +# Source: yast2-iplb-2.15.0.tar.bz2 +# Patchdir: yast2-iplb-2.15.0 +# +move-to-ha-group.diff +rename-tabs.diff +add-quotes.diff +update-help.diff +598848-help-fix.diff +fix-ipv6-address.diff +checkIPfirst.patch Added: trunk/iplb/src/.cvsignore URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/src/.cvsignore?rev=67509&view=auto ============================================================================== --- trunk/iplb/src/.cvsignore (added) +++ trunk/iplb/src/.cvsignore Wed Feb 22 11:55:23 2012 @@ -0,0 +1,4 @@ +Makefile +Makefile.in +*.ybc +.dep Added: trunk/iplb/src/Iplb.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/src/Iplb.ycp?rev=67509&view=auto ============================================================================== --- trunk/iplb/src/Iplb.ycp (added) +++ trunk/iplb/src/Iplb.ycp Wed Feb 22 11:55:23 2012 @@ -0,0 +1,446 @@ +/* ------------------------------------------------------------------------------ + * Copyright (c) 2006 Novell, Inc. All Rights Reserved. + * + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of version 2 of the GNU General Public License as published by the + * Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, contact Novell, Inc. + * + * To contact Novell about this file by physical or electronic mail, you may find + * current contact information at www.novell.com. + * ------------------------------------------------------------------------------ + */ + +/** + * File: modules/Iplb.ycp + * Package: Configuration of iplb + * Summary: Iplb settings, input and output functions + * Authors: Cong Meng <cmeng@novell.com> + * + * $Id: Iplb.ycp 41350 2007-10-10 16:59:00Z dfiser $ + * + * Representation of the configuration of iplb. + * Input and output routines. + */ + +{ + +module "Iplb"; +textdomain "iplb"; + +import "Progress"; +import "Report"; +import "Summary"; +import "Message"; +import "IP"; + +// the global configure +global map<string, string> global_conf = $[]; +// the virtual servers configure +global map<string, map> vserver_conf = $[]; + + +/** + * Prototypes + */ +global boolean Modified(); + +/** + * Data was modified? + */ +boolean modified = false; + +/** + */ +boolean proposal_valid = false; + +/** + * Write only, used during autoinstallation. + * Don't run services and SuSEconfig, it's all done at one place. + */ +boolean write_only = false; + +/** + * Abort function + * return boolean return true if abort + */ +boolean() AbortFunction = Modified; + +/** + * Abort function + * @return boolean return true if abort + */ +global define boolean Abort() ``{ + if(AbortFunction != nil) + { + return AbortFunction () == true; + } + return false; +} + +/** + * Data was modified? + * @return true if modified + */ +global boolean Modified() { + y2debug("modified=%1",modified); + return modified; +} + +/** + * Mark as modified, for Autoyast. + */ +global void SetModified() { + modified = true; +} + +global boolean ProposalValid() { + return proposal_valid; +} + +global void SetProposalValid(boolean value) { + proposal_valid = value; +} + +/** + * @return true if module is marked as "write only" (don't start services etc...) + */ +global boolean WriteOnly() { + return write_only; +} + +/** + * Set write_only flag (for autoinstalation). + */ +global void SetWriteOnly(boolean value) { + write_only = value; +} + + +global void SetAbortFunction(boolean() function) { + AbortFunction = function; +} + + + +list<string> quote_list = [ + "callback", + "logfile", + "emailalert", + "execute", + "checkcommand", + "request", + "receive", + "virtualhost", + "login", + "passwd", + "database", + "secret" +]; + + +string remove_quote(string str) +{ + str = regexpsub(str, "^\"?(.*)", "\\1"); + if (regexpmatch(str, ".*\"$")) + str = regexpsub(str, "^(.*)\"$", "\\1"); + return str; +} + + +void remove_global_conf_quote() +{ + foreach (string key, string val, global_conf, { + if (contains(quote_list, key)) + global_conf[key] = remove_quote(global_conf[key]:""); + }); +} + + +void add_global_conf_quote() +{ + remove_global_conf_quote(); + foreach (string key, string val, global_conf, { + if (contains(quote_list, key)) + global_conf[key] = "\"" + global_conf[key]:"" + "\""; + }); +} + + +void remove_vserver_conf_quote() +{ + foreach (string key1, map val1, vserver_conf, { + foreach (string key2, list val2, (map<string, list>)val1, { + if (contains(quote_list, key2)) { + val2[0] = remove_quote(val2[0]:""); + vserver_conf[key1, key2] = val2; + }; + }); + }); +} + + +void add_vserver_conf_quote() +{ + remove_vserver_conf_quote(); + foreach (string key1, map val1, vserver_conf, { + foreach (string key2, list val2, (map<string, list>)val1, { + if (contains(quote_list, key2)) { + val2[0] = "\"" + val2[0]:"" + "\""; + vserver_conf[key1, key2] = val2; + }; + }); + }); +} + + +/** + * Read all iplb settings + * @return true on success + */ +global boolean Read() +{ + list<string> pair_names = []; + string caption = _("Initializing IPLB Configuration"); + + // Names of real stages + Progress::New(caption, " ", 3, + [ + _("Read the global settings"), + _("Read the virtual host settings") + ], + [ + _("Reading the global settings..."), + _("Reading the virtual host settings..."), + _("Finished") + ], + "" + ); + + ///////////////////////////////// + // read global configure + ///////////////////////////////// + // dir all global configure names + pair_names = SCR::Dir(.iplb.value); + + // read global configure values + global_conf = $[]; + foreach (string key, pair_names, { + list<string> vals = (list<string>) SCR::Read(.iplb.value + topath(key)); + global_conf[key] = vals[0]:""; + }); + + remove_global_conf_quote(); + + y2debug("___iplbdebug___ read global_conf = %1", global_conf); + Progress::NextStage(); + + + ///////////////////////////////// + // read vservers configure + ///////////////////////////////// + // dir all vserver names + list<string> vserver_names = SCR::Dir(.iplb.section); + + // iterate all vserver names + foreach (string vs_name, vserver_names, { + vserver_conf[vs_name] = $[]; + // vserver name contains ".", so quote it + path vs_name_path = topath("\"" + vs_name + "\""); + + // dir all pair name of given vserver name + pair_names = (list<string>) SCR::Dir(.iplb.value + vs_name_path); + // iterate pair names to read the pair value + foreach (string key, pair_names, { + vserver_conf[vs_name, key] = SCR::Read(.iplb.value + vs_name_path + topath(key)); + }); + //check for IPv6 address + boolean is_ipv6=false; + path sect_path=topath(""); + string ipv6_address=regexpsub(vs_name,"\\[(.+)\\]","\\1"); + if(ipv6_address!=nil) + is_ipv6=IP::Check6(ipv6_address); + if(is_ipv6){ + if(vserver_conf[vs_name,"real6"]:[] != []){ + vserver_conf[vs_name,"real"]=vserver_conf[vs_name,"real6"]:[]; + vserver_conf[vs_name,"real6"]=[]; + } + if(vserver_conf[vs_name,"fallback6"]:[] != []){ + vserver_conf[vs_name,"fallback"]=vserver_conf[vs_name,"fallback6"]:[]; + vserver_conf[vs_name,"fallback6"]=[]; + } + } + + }); + + remove_vserver_conf_quote(); + + y2debug("___iplbdebug___ read vserver_conf = %1", vserver_conf); + Progress::NextStage(); + + /* Progress finished */ + Progress::NextStage(); + + modified = false; + return true; +} + +/** + * Write all iplb settings + * @return true on success + */ +global boolean Write() +{ + boolean ret = false; + string caption = _("Saving IPLB Configuration"); + + Progress::New(caption, " ", 2, [ + _("Write the settings"), + _("Run SuSEconfig") + ], [ + _("Writing the settings..."), + _("Running SuSEconfig..."), + _("Finished") + ], + "" + ); + + // remove all sections, as ini agent will write new global conf + // entry at the end of the conf file. (global conf after sections + // will be read as vserver conf, not as global conf. it's a bug) + foreach(string key, map val, vserver_conf, { + path sect_path = topath("\"" + key + "\""); + ret = SCR::Write(.iplb.section + sect_path, nil); + }); + + map<string, string> saved_global_conf = global_conf; + add_global_conf_quote(); + + // write global conf + y2debug("___iplbdebug___ write global_conf=%1", global_conf); + foreach (string key, string val, global_conf, { + list write_val = nil; + if (val != nil) write_val = [val]; + ret = SCR::Write(.iplb.value + topath(key), write_val); + if (!ret) Report::Error (_("Cannot write settings.")); + }); + Progress::NextStage(); + + global_conf = saved_global_conf; + + + map<string, map> saved_vserver_conf = vserver_conf; + add_vserver_conf_quote(); + + // write vserver conf + y2debug("___iplbdebug___ write vserver_conf=%1", vserver_conf); + foreach(string key, map val, vserver_conf, { + /*check for ipv6 address to decide whether to add "6=" or "="*/ + /* string key's format + * 192.168.6.241:89 or [2001:db8::5]:119 + * only extract the 2001:db8::5 part from the key string + * to check whether it is an ipv6 address; + */ + boolean is_ipv6=false; + path sect_path=topath(""); + string ipv6_address=regexpsub(key,"\\[(.+)\\]","\\1"); + if(ipv6_address!=nil) + { + is_ipv6=IP::Check6(ipv6_address); + } + + if(is_ipv6){ + sect_path = topath("\"6 = " + key + "\""); + if(val["fallback"]:[] != []){ + val["fallback6"]=val["fallback"]:[]; + val["fallback"]=[]; + } + if(val["real"]:[] != []){ + val["real6"]=val["real"]:[]; + val["real"]=[]; + } + } + else + sect_path = topath("\" = " + key + "\""); + + if (val == nil) { + ret = SCR::Write(.iplb.section + sect_path, nil); + if (!ret) Report::Error(_("Cannot write settings.")); + continue; + } + + foreach(string key1, list val1, (map<string, list>)val, { + ret = SCR::Write(.iplb.value + sect_path + topath(key1), val1); + if (!ret) Report::Error(_("Cannot write settings.")); + }); + }); + Progress::NextStage(); + + vserver_conf = saved_vserver_conf; + + /* Progress finished */ + Progress::NextStage(); + + return true; +} + +/** + * Get all iplb settings from the first parameter + * (For use by autoinstallation.) + * @param settings The YCP structure to be imported. + * @return boolean True on success + */ +global boolean Import (map settings) { + // TODO FIXME: your code here (fill the above mentioned variables)... + return true; +} + +/** + * Dump the iplb settings to a single map + * (For use by autoinstallation.) + * @return map Dumped settings (later acceptable by Import ()) + */ +global map Export () { + // TODO FIXME: your code here (return the above mentioned variables)... + return $[]; +} + +/** + * Create a textual summary and a list of unconfigured cards + * @return summary of the current configuration + */ +global list Summary() { + // TODO FIXME: your code here... + /* Configuration summary text for autoyast */ + return [ _("Configuration summary..."), [] ]; +} + +/** + * Create an overview table with all configured cards + * @return table items + */ +global list Overview() { + // TODO FIXME: your code here... + return []; +} + +/** + * Return packages needed to be installed and removed during + * Autoinstallation to insure module has all needed software + * installed. + * @return map with 2 lists. + */ +global map AutoPackages() { + // TODO FIXME: your code here... + return $[ "install":[], "remove":[] ]; +} + +/* EOF */ +} Added: trunk/iplb/src/Makefile.am URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/src/Makefile.am?rev=67509&view=auto ============================================================================== --- trunk/iplb/src/Makefile.am (added) +++ trunk/iplb/src/Makefile.am Wed Feb 22 11:55:23 2012 @@ -0,0 +1,32 @@ +# Makefile.am for iplb/src + +yncludedir = @yncludedir@/iplb + +client_DATA = \ + iplb.ycp \ + iplb_auto.ycp \ + iplb_proposal.ycp + +ynclude_DATA = \ + helps.ycp \ + wizards.ycp \ + dialogs.ycp \ + common.ycp \ + global_conf.ycp \ + vserver_conf.ycp \ + complex.ycp + +desktop_DATA = \ + iplb.desktop + +module_DATA = \ + Iplb.ycp + +# create a symlink for local build, #145327 +iplb: + ln -sf . $@ +ycpchook = iplb + +EXTRA_DIST = $(client_DATA) $(ynclude_DATA) $(module_DATA) $(desktop_DATA) + +include $(top_srcdir)/Makefile.am.common Added: trunk/iplb/src/common.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/src/common.ycp?rev=67509&view=auto ============================================================================== --- trunk/iplb/src/common.ycp (added) +++ trunk/iplb/src/common.ycp Wed Feb 22 11:55:23 2012 @@ -0,0 +1,51 @@ +{ + +textdomain "iplb"; + +import "Label"; +import "Wizard"; +import "Iplb"; +import "Popup"; +import "CWM"; + +list<string> DIALOG = [ + "global_conf", + "vserver_conf" +]; + +map NAME = $[ + "global_conf": _("Global Configuration"), + "vserver_conf": _("Virtual Servers Configuration") +]; + +any my_SetContents(string conf, term contents) +{ + Wizard::SetContents("IPLB - " + NAME[conf]:"", + contents, HELPS[conf]:"", true, true); + + if (UI::WidgetExists(`id(`wizardTree))) + UI::SetFocus(`id(`wizardTree)); + + return true; +} + +void myHelp(string help) +{ + UI::OpenDialog( `opt(`decorated ), + `HBox( `VSpacing(16), + `VBox( + `HSpacing(60), + `VSpacing(0.5), + `RichText(HELPS[help]:""), + `VSpacing(1.5), + `PushButton(`id(`ok), `opt(`default, `key_F10), Label::OKButton()) + ) + ) + ); + + UI::SetFocus(`id(`ok)); + UI::UserInput(); + UI::CloseDialog(); +} + +} Added: trunk/iplb/src/complex.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/src/complex.ycp?rev=67509&view=auto ============================================================================== --- trunk/iplb/src/complex.ycp (added) +++ trunk/iplb/src/complex.ycp Wed Feb 22 11:55:23 2012 @@ -0,0 +1,209 @@ +/* ------------------------------------------------------------------------------ + * Copyright (c) 2006 Novell, Inc. All Rights Reserved. + * + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of version 2 of the GNU General Public License as published by the + * Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, contact Novell, Inc. + * + * To contact Novell about this file by physical or electronic mail, you may find + * current contact information at www.novell.com. + * ------------------------------------------------------------------------------ + */ + +/** + * File: include/iplb/complex.ycp + * Package: Configuration of iplb + * Summary: Dialogs definitions + * Authors: Cong Meng <cmeng@novell.com> + * + * $Id: complex.ycp 41350 2007-10-10 16:59:00Z dfiser $ + */ + +{ + +textdomain "iplb"; + +import "Label"; +import "Popup"; +import "Wizard"; +import "Wizard_hw"; +import "Confirm"; +import "Iplb"; + + +include "iplb/helps.ycp"; + +/** + * Return a modification status + * @return true if data was modified + */ +boolean Modified() { + return Iplb::Modified(); +} + +boolean ReallyAbort() { + return !Iplb::Modified() || Popup::ReallyAbort(true); +} + +boolean PollAbort() { + return UI::PollInput() == `abort; +} + +/** + * Read settings dialog + * @return `abort if aborted and `next otherwise + */ +symbol ReadDialog() { + Wizard::RestoreHelp(HELPS["read"]:""); + // Iplb::SetAbortFunction(PollAbort); + if (!Confirm::MustBeRoot()) return `abort; + boolean ret = Iplb::Read(); + return ret ? `next : `abort; +} + +/** + * Write settings dialog + * @return `abort if aborted and `next otherwise + */ +symbol WriteDialog() { + Wizard::RestoreHelp(HELPS["write"]:""); + // Iplb::SetAbortFunction(PollAbort); + boolean ret = Iplb::Write(); + return ret ? `next : `abort; +} + +/** + * Summary dialog + * @return dialog result + */ +any SummaryDialog() { + + /* Iplb summary dialog caption */ + string caption = _("IPLB Configuration"); + + /* FIXME */ + list summary = Iplb::Summary(); + list unconfigured = summary[1]:[]; + string configured = summary[0]:""; + + /* Frame label */ + term contents = Wizard_hw::DetectedContent(_("IPLB to Configure"), + unconfigured, false, configured); + + Wizard::SetContentsButtons(caption, contents, HELPS["summary"]:"", + Label::BackButton(), Label::FinishButton()); + + any ret = nil; + while(true) { + + ret = UI::UserInput(); + + /* abort? */ + if(ret == `abort || ret == `cancel || ret == `back) { + if(ReallyAbort()) break; + else continue; + } + /* overview dialog */ + else if(ret == `edit_button) { + ret = `overview; + break; + } + /* configure the selected device */ + else if(ret == `configure_button) { + // TODO FIXME: check for change of the configuration + any selected = UI::QueryWidget(`id(`detected_selbox), `CurrentItem); + if(selected == `other) { + ret = `other; + } + else { + ret = `configure; + } + break; + } + else if(ret == `next) { + break; + } + else { + y2error("unexpected retcode: %1", ret); + continue; + } + } + + return ret; +} + +/** + * Overview dialog + * @return dialog result + */ +any OverviewDialog() { + + /* Iplb overview dialog caption */ + string caption = _("IPLB Overview"); + + list overview = Iplb::Overview(); + + /* FIXME table header */ + term contents = Wizard_hw::ConfiguredContent( + /* Table header */ + `header(_("Number"), _("IPLB")), + overview, nil, nil, nil, nil ); + + contents = Wizard_hw::SpacingAround(contents, 1.5, 1.5, 1.0, 1.0); + +// Wizard::SetContents("Cluster, contents", "help", true, true); + + Wizard::SetContentsButtons(caption, contents, HELPS["overview"]:"", + Label::BackButton(), Label::FinishButton()); + + Wizard::HideBackButton(); + + any ret = nil; + while(true) { + + ret = UI::UserInput(); + + /* abort? */ + if(ret == `abort || ret == `cancel) { + if(ReallyAbort()) break; + else continue; + } + /* add */ + else if(ret == `add_button) { + /* FIXME */ + ret = `add; + break; + } + /* edit */ + else if(ret == `edit_button) { + /* FIXME */ + ret = `edit; + break; + } + /* delete */ + else if(ret == `delete_button) { + /* FIXME */ + continue; + } + else if(ret == `next || ret == `back) { + break; + } + else { + y2error("unexpected retcode: %1", ret); + continue; + } + } + + return ret; +} + +/* EOF */ +} Added: trunk/iplb/src/dialogs.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/src/dialogs.ycp?rev=67509&view=auto ============================================================================== --- trunk/iplb/src/dialogs.ycp (added) +++ trunk/iplb/src/dialogs.ycp Wed Feb 22 11:55:23 2012 @@ -0,0 +1,115 @@ +/* ------------------------------------------------------------------------------ + * Copyright (c) 2006 Novell, Inc. All Rights Reserved. + * + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of version 2 of the GNU General Public License as published by the + * Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, contact Novell, Inc. + * + * To contact Novell about this file by physical or electronic mail, you may find + * current contact information at www.novell.com. + * ------------------------------------------------------------------------------ + */ + +/** + * File: include/iplb/dialogs.ycp + * Package: Configuration of iplb + * Summary: Dialogs definitions + * Authors: Cong Meng <cmeng@novell.com> + * + * $Id: dialogs.ycp 27914 2006-02-13 14:32:08Z locilka $ + */ + +{ + +textdomain "iplb"; + +import "Label"; +import "Wizard"; +import "Iplb"; + +include "iplb/helps.ycp"; + +/** + * Configure1 dialog + * @return dialog result + */ +any Configure1Dialog () { + + /* Iplb configure1 dialog caption */ + string caption = _("IPLB Configuration"); + + /* Iplb configure1 dialog contents */ + term contents = `Label (_("First part of configuration of IPLB")); + + Wizard::SetContentsButtons(caption, contents, HELPS["c1"]:"", + Label::BackButton(), Label::NextButton()); + + any ret = nil; + while(true) { + + ret = UI::UserInput(); + + /* abort? */ + if(ret == `abort || ret == `cancel) { + if(ReallyAbort()) break; + else continue; + } + else if(ret == `next || ret == `back) { + break; + } + else { + y2error("unexpected retcode: %1", ret); + continue; + } + } + + return ret; +} + +/** + * Configure2 dialog + * @return dialog result + */ +any Configure2Dialog () { + + /* Iplb configure2 dialog caption */ + string caption = _("IPLB Configuration"); + + /* Iplb configure2 dialog contents */ + term contents = `Label (_("Second part of configuration of IPLB")); + + Wizard::SetContentsButtons(caption, contents, HELPS["c2"]:"", + Label::BackButton(), Label::NextButton()); + + any ret = nil; + while(true) { + + ret = UI::UserInput(); + + /* abort? */ + if(ret == `abort || ret == `cancel) { + if(ReallyAbort()) break; + else continue; + } + else if(ret == `next || ret == `back) { + break; + } + else { + y2error("unexpected retcode: %1", ret); + continue; + } + } + + return ret; +} + +/* EOF */ +} Added: trunk/iplb/src/global_conf.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/src/global_conf.ycp?rev=67509&view=auto ============================================================================== --- trunk/iplb/src/global_conf.ycp (added) +++ trunk/iplb/src/global_conf.ycp Wed Feb 22 11:55:23 2012 @@ -0,0 +1,141 @@ +{ +textdomain "iplb"; +import "Label"; +import "Wizard"; +import "Iplb"; + +include "iplb/helps.ycp"; +include "iplb/common.ycp"; + + +// ids of widget of global dialog +list<symbol> global_entries = [ + `checkinterval, + `checktimeout, + `failurecount, + `negotiatetimeout, + `fallback, + `logfile, + `emailalert, + `emailalertfreq, + `emailalertstatus, + `callback, + `execute, + `autoreload, + `quiescent, + `fork, + `supervised +]; + +list yesno = [ + "", + "yes", + "no" +]; + +term global_layout() +{ + return + `VBox( + `DumbTab( + [ + `item(`id(`global_tab), "&Global Configuration", true), + `item(`id(`vserver_tab), "&Virtual Server Configuration") + ], + `VBox( + `VSpacing(1), + `HBox( + `TextEntry(`id(`checkinterval), _("Check Interval"), ""), + `TextEntry(`id(`checktimeout), _("Check Timeout"), ""), + `TextEntry(`id(`failurecount), _("Failure Count"), ""), + `TextEntry(`id(`negotiatetimeout), _("Negotiate Timeout"), "") + ), + `VSpacing(0.3), + `TextEntry(`id(`fallback), _("Fallback"), ""), + `TextEntry(`id(`logfile), _("Log File"), ""), + `VSpacing(), + `HBox( + `TextEntry(`id(`emailalert), _("Email Alert"), ""), + `TextEntry(`id(`emailalertfreq), _("Email Alert Freq"), ""), + `TextEntry(`id(`emailalertstatus), _("Email Alert Status"), "") + ), + `VSpacing(), + `HBox( + `TextEntry(`id(`callback), _("Callback"), ""), + `TextEntry(`id(`execute), _("Execute"), "") + ), + `VSpacing(), + `HBox( + `HSpacing(0.7), + `ComboBox(`id(`autoreload), _("Auto Reload"), yesno), + `ComboBox(`id(`quiescent), _("Quiescent"), yesno), + `ComboBox(`id(`fork), _("Fork"), yesno), + `ComboBox(`id(`supervised), _("Supervised"), yesno), + `HStretch() + ), + `VStretch() + ) + ) + ); +} + + +// fill the widgets accord to the Iplb::global_conf +void fill_global_entries() +{ + map l_global_conf = Iplb::global_conf; + + foreach(symbol key, global_entries, { + string name = substring(tostring(key), 1); // remove '`' char + string val = l_global_conf[name]:""; + if (size(val) > 0) + UI::ChangeWidget(key, `Value, val); + }); +} + + +// retrieve the value from widgets, save to Iplb::global_conf +void retrieve_global_entries() +{ + map l_global_conf = Iplb::global_conf; + + foreach(symbol key, global_entries, { + string name = substring(tostring(key), 1); // remove '`' char + string val_old = l_global_conf[name]:""; + string val_new = (string)UI::QueryWidget(key, `Value); + if (size(val_new) > 0) + l_global_conf[name] = val_new; + else if (size(val_old) > 0) + // assigning nil to remove it from conf file + l_global_conf[name] = nil; + }); + + Iplb::global_conf = (map<string, string>)l_global_conf; +} + + +// the entry to golbal configure stuff +// return `ok, `cancel or `vserver_tab +any global_dialog() +{ + any ret = nil; + + my_SetContents("global_conf", global_layout()); + fill_global_entries(); + + while(true) { + ret = UI::UserInput(); + + if (ret == `help) myHelp("global_conf"); + + if (ret == `cancel && ReallyAbort()) break; + + if (ret == `ok || ret == `vserver_tab) break; + } + + retrieve_global_entries(); + return ret; +} + +// EOF +} Added: trunk/iplb/src/helps.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/src/helps.ycp?rev=67509&view=auto ============================================================================== --- trunk/iplb/src/helps.ycp (added) +++ trunk/iplb/src/helps.ycp Wed Feb 22 11:55:23 2012 @@ -0,0 +1,355 @@ +/* ------------------------------------------------------------------------------ + * Copyright (c) 2006 Novell, Inc. All Rights Reserved. + * + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of version 2 of the GNU General Public License as published by the + * Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, contact Novell, Inc. + * + * To contact Novell about this file by physical or electronic mail, you may find + * current contact information at www.novell.com. + * ------------------------------------------------------------------------------ + */ + +/** + * File: include/iplb/helps.ycp + * Package: Configuration of iplb + * Summary: Help texts of all the dialogs + * Authors: Cong Meng <cmeng@novell.com> + * + * $Id: helps.ycp 27914 2006-02-13 14:32:08Z locilka $ + */ + +{ + +textdomain "iplb"; + +/** + * All helps are here + */ +map HELPS = $[ + "global_conf" : _(" +<p><b><big>check interval</big> =</b> <i>n</i> +</p><p>Defines the number of second between server checks. +</p><p>Default: 10 seconds + +</p><p><b><big>check timeout</big> =</b> <i>n</i> +</p><p>Timeout in seconds for connect, external and ping checks. If the timeout is exceeded then the real server is declared dead. +</p><p>If defined in a virtual server section then the global value is overridden. +</p><p>If undefined then the value of negotiatetimeout is used. negotiatetimeout is also a global value that may be overriden by a per-virtual setting. +</p><p>If both checktimeout and negotiatetimeout are unset, the default is used. +</p><p>Default: 5 seconds + +</p><p><b><big>failure count</big> =</b> <i>n</i> +</p><p>The number of consecutive times a failure will have to be reported by a check before the realserver is considered to have failed. A value of 1 will have the realserver considered failed on the first failure. A successful check will reset the failure counter to 0. +</p><p>If defined in a virtual server section then the global value is overridden. +</p><p>Default: 1 + +</p><p><b><big>negotiate timeout</big> =</b> <i>n</i> +</p><p>Timeout in seconds for negotiate checks. +</p><p>If defined in a virtual server section then the global value is overridden. +</p><p>If undefined then the value of connecttimeout is used. connecttimeout is also a global value that may be overriden by a per-virtual setting. +</p><p>If both negotiatetimeout and connecttimeout are unset, the default is used. +</p><p>Default: 30 seconds + +</p><p><b><big>fallback</big> =</b> <i>ip_address|hostname[:portnumber|sercvicename]</i> [<b>gate</b>|<b>masq</b>|<b>ipip</b>] +</p><p>the server onto which a webservice is redirected if all real servers are down. Typically this would be 127.0.0.1 with an emergency page. +</p><p>If defined in a virtual server section then the global value is overridden. + +</p><p><b><big>log file</big> = \"</b><i>/path/to/logfile</i><b>\"</b>|syslog_facility +</p><p>An alternative logfile might be specified with this directive. If the logfile does not have a leading '/', it is assumed to be a <b><a href=\"/man/3/syslog\">syslog</a></b>(3) facility name. +</p><p>Default: log directly to the file <i>/var/log/ldirectord.log</i>. + +</p><p><b><big>email alert</big> = \"</b><i>emailaddress</i><b>\"</b> +</p><p>A valid email address for sending alerts about the changed connection status to any real server defined in the virtual service. This option requires perl +module MailTools to be installed. Automatically tries to send email using any of the built-in methods. See perldoc Mail::Mailer for more info on methods. +</p><p>If defined in a virtual server section then the global value is overridden. + +</p><p><b><big>email alert freq</big> =</b> <i>n</i> +</p><p>Delay in seconds between repeating email alerts while any given real server in the virtual service remains inaccessible. A setting of zero seconds will +inhibit the repeating alerts. The email timing accuracy of this setting is dependent on the number of seconds defined in the checkinterval configuration +option. +</p><p>If defined in a virtual server section then the global value is overridden. +</p><p>Default: 0 + +</p><p><b><big>email alert status</big> = all</b>|<b>none</b>|<b>starting</b>|<b>running</b>|<b>stopping</b>|<b>reloading</b>,... +</p><p>Comma delimited list of server states in which email alerts should be sent. <b>all</b> is a short-hand for +\"<b>starting</b>,<b>running</b>,<b>stopping</b>,<b>reloading</b>\". If <b>none</b> is specified, no other option may be specified, otherwise options are ored +with each other. +</p><p>If defined in a virtual server section then the global value is overridden. +</p><p>Default: all + +</p><p><b><big>callback</big> = \"</b><i>/path/to/callback</i><b>\"</b> +</p><p>If this directive is defined, <b>ldirectord</b> automatically calls the executable <i>/path/to/callback</i> after the configuration file has changed on +disk. This is useful to update the configuration file through <b>scp</b> on the other heartbeated host. The first argument to the callback is the name of the +configuration. +</p><p>This directive might also be used to restart <b>ldirectord</b> automatically after the configuration file changed on disk. However, if <b>autoreload</b> is +set to yes, the configuration is reloaded anyway. + +</p><p><b><big>execute</big> = \"</b><i>configuration</i><b>\"</b> +</p><p>Use this directive to start an instance of ldirectord for the named <i>configuration</i>. + +</p><p><b><big>auto reload</big> = yes</b>|<b>no</b> +</p><p>Defines if <ldirectord> should continuously check the configuration file for modification. If this is set to 'yes' and the configuration file changed +on disk and its modification time (mtime) is newer than the previous version, the configuration is automatically reloaded. +</p><p>Default: no + +</p><p><b><big>quiescent</big> = yes</b>|<b>no</b> +</p><p>If <i>yes</i>, then when real or failback servers are determined to be down, they are not actually removed from the kernel's <small>LVS</small> table. +Rather, their weight is set to zero which means that no new connections will be accepted. +</p><p>This has the side effect, that if the real server has persistent connections, new connections from any existing clients will continue to be routed to the +real server, until the persistant timeout can expire. See ipvsadm for more information on persistant connections. +</p><p>This side-effect can be avoided by running the following: +</p><p>echo 1 > /proc/sys/net/ipv4/vs/expire_quiescent_template +</p><p>If the proc file isn't present this probably means that the kernel doesn't have lvs support, <small>LVS</small> support isn't loaded, or the kernel is too +old to have the proc file. Running ipvsadm as root should load <small>LVS</small> into the kernel if it is possible. +</p><p>If <i>no</i>, then the real or failback servers will be removed from the kernel's <small>LVS</small> table. The default is <i>yes</i>. +</p><p>If defined in a virtual server section then the global value is overridden. +</p><p>Default: <i>yes</i> + +</p><p><b><big>fork</big> = yes</b>|<b>no</b> +</p><p>If <i>yes</i>, then ldirectord will spawn a child proccess for every virtual server, and run checks against the real servers from them. This will increase +response times to changes in real server status in configurations with many virtual servers. This may also use less memory then running many seperate instances +of ldirectord. Child processes will be automaticly restarted if they die. +</p><p>Default: <i>no</i> + +</p><p><b><big>supervised</big> = yes</b>|<b>no</b> +</p><p>If <i>yes</i>, then ldirectord does not go into background mode. All log-messages are redirected to stdout instead of a logfile. This is useful to run +<b>ldirectord</b> supervised from daemontools. See <a href=\"http://untroubled.org/rpms/daemontools/\">http://untroubled.org/rpms/daemontools/</a> or <a href=\"http://cr.yp.to/daemontools.html\">http://cr.yp.to/daemontools.html</a> for details. +</p><p>Default: <i>no</i> +</p> +"), + + + + + + "vserver_conf" : _(" +<p><b><big>virtual server</big> =</b> <i>(ip_address|hostname:portnumber|servicename)|firewall-mark</i> +</p><p>Defines a virtual service by IP-address (or hostname) and port (or servicename) or firewall-mark. A firewall-mark is an integer greater than zero. The +configuration of marking packets is controled using the <tt>\"-m\"</tt> option to <b>ipchains</b>(8). All real services and flags for a virtual service +must follow this line immediately and be indented. + + +</p><p><b><big>real servers</big> =</b> <i>ip_address|hostname[->ip_address|hostname][:portnumber|servicename</i>] +<b>gate</b>|<b>masq</b>|<b>ipip</b> [<i>weight</i>] [<b>\"</b><i>request</i><b>\", \"</b><i>receive</i><b>\"</b>] +</p><p>Defines a real service by IP-address (or hostname) and port (or servicename). If the port is omitted then a 0 will be used, this is intended primarily for +fwmark services where the port for real servers is ignored. Optionally a range of <small>IP</small> addresses (or two hostnames) may be given, in which case +each <small>IP</small> address in the range will be treated as a real server using the given port. The second argument defines the forwarding method, must be +<b>gate</b>, <b>ipip</b> or <b>masq</b>. The thrid argument is optional and defines the weight for that real server. If omitted then a weight of 1 will be +used. The last two arguments are also optional. They define a request-receive pair to be used to check if a server is alive. They override the request-receive +pair in the virtual server section. These two strings must be quoted. If the request string starts with http://... the IP-address and port of the real +server is overridden, otherwise the IP-address and port of the real server is used. +</p><p>For <small>TCP</small> and <small>UDP</small> (non fwmark) virtual services, unless the forwarding method is masq and the <small>IP</small> address of a +real server is non-local (not present on a interface on the host running ldirectord) then the port of the real server will be set to that of its virtual +service. That is, port-mapping is only available to if the real server is another machine and the forwarding method is masq. This is due to the way that the +underlying <small>LVS</small> code in the kernel functions. +</p><p>More than one of these entries may be inside a virtual section. The checktimeout, negotiatetimeout, failurecount, fallback, emailalert, emailalertfreq and +quiescent options listed above may also appear inside a virtual section, in which case the global setting is overridden. + + +</p><p><b><big>check type</big> = connect</b>|<b>external</b>|<b>negotiate</b>|<b>off</b>|<b>on</b>|<b>ping</b>|<b>checktimeout</b><i>N</i> +</p><p>Type of check to perform. Negotiate sends a request and matches a receive string. Connect only attemts to make a <small>TCP/IP</small> connection, thus the +request and receive strings may be omitted. If checktype is a number then negotiate and connect is combined so that after each N connect attempts one negotiate +attempt is performed. This is useful to check often if a service answers and in much longer intervalls a negotiating check is done. Ping means that +<small>ICMP</small> ping will be used to test the availability of real servers. Ping is also used as the connect check for <small>UDP</small> services. Off +means no checking will take place and no real or fallback servers will be activated. On means no checking will take place and real servers will always be +activated. Default is <i>negotiate</i>. + + +</p><p><b><big>service</big> = dns</b>|<b>ftp</b>|<b>http</b>|<b>https</b>|<b>imap</b>|<b>imaps</b>|<b>ldap</b>|<b>mysql</b>|<b>nntp</b>|<b>none</b>|<b>oracle</b>|<b>pgsql</b>|<b>pop</b>|<b>pops</b>|<b>radius</b>|<b>simpletcp</b>|<b>sip</b>|<b>smtp</b> +</p><p>The type of service to monitor when using checktype=negotiate. None denotes a service that will not be monitored. +</p><p>simpletcp sends the <b>request</b> string to the server and tests it against the <b>receive</b> regexp. The other types of checks connect to the server +using the specified protocol. Please see the <b>request</b> and <b>receive</b> sections for protocol specific information. +</p><p>Default: +</p><dl compact=\"compact\"> +<dt>* Virtual server port is 21: ftp +</dt><dt>* Virtual server port is 25: smtp +</dt><dt>* Virtual server port is 53: dns +</dt><dt>* Virtual server port is 80: http +</dt><dt>* Virtual server port is 110: pop +</dt><dt>* Virtual server port is 119: nntp +</dt><dt>* Virtual server port is 143: imap +</dt><dt>* Virtual server port is 389: ldap +</dt><dt>* Virtual server port is 443: https +</dt><dt>* Virtual server port is 993: imaps +</dt><dt>* Virtual server port is 995: pops +</dt><dt>* Virtual server port is 1521: oracle +</dt><dt>* Virtual server port is 1812: radius +</dt><dt>* Virtual server port is 3306: mysql +</dt><dt>* Virtual server port is 5432: pgsql +</dt><dt>* Virtual server port is 5060: sip +</dt><dt>* Otherwise: none + + +</dt><dt><b><big>check command</big> = \"</b><i>path to script</i><b>\"</b> +<p>This setting is used if checktype is external and is the command to be run to check the status of a real server. It should exit with status 0 if everything +is ok, or non-zero otherwise. +</p><p>Four parameters are passed to the script: +</p></dt><dt>* virtual server ip/firewall mark +</dt><dt>* virtual server port +</dt><dt>* real server ip +</dt><dt>* real server port +</dt><dt>Default: /bin/true + + +<p><b><big>check port</big> =</b> <i>n</i> +</p><p>Number of port to monitor. Sometimes check port differs from service port. +</p><p>Default: port specified for each real server + + +</p><p><b><big>request</big> = \"</b><i>uri to requested object</i><b>\"</b> +</p><p>This object will be requested each checkinterval seconds on each real server. The string must be inside quotes. Note that this string may be overridden by +an optional per real-server based request-string. +</p><p>For a <small>DNS</small> check this should the name of an A record, or the address of a <small>PTR</small> record to look up. +</p><p>For a MySQL, Oracle or PostgeSQL check, this should be an <small>SQL</small> query. The data returned is not checked, only that the answer is one or more +rows. This is a required setting. +</p><p>For a simpletcp check, this string is sent verbatim except any occurances of \n are replaced with a new line character. + + +</p><p><b><big>receive</big> = \"</b><i>regexp to compare</i><b>\"</b> +</p><p>If the requested result contains this <i>regexp to compare</i>, the real server is declared alive. The regexp must be inside quotes. Keep in mind that +regexps are not plain strings and that you need to escape the special characters if they should as literals. Note that this regexp may be overridden by an +optional per real-server based receive regexp. +</p><p>For a <small>DNS</small> check this should be any one the A record's addresses or any one of the <small>PTR</small> record's names. +</p><p>For a MySQL check, the receive setting is not used. + + +</p><p><b><big>http method</big> = <small>GET</small></b> | <b><small>HEAD</small></b> +</p><p>Sets the <small>HTTP</small> method which should be used to fetch the <small>URI</small> specified in the request-string. <small>GET</small> is the +method used by default if the parameter is not set. If <small>HEAD</small> is used, the receive-string should be unset. +</p><p>Default: <small>GET</small> + + +</p><p><b><big>virtual host</big> = \"</b><i>hostname</i><b>\"</b> +</p><p>Used when using a negotiate check with <small>HTTP</small> or <small>HTTPS</small> . Sets the host header used in the <small>HTTP</small> request. In the +case of <small>HTTPS</small> this generally needs to match the common name of the <small>SSL</small> certificate. If not set then the host header will be +derived from the request url for the real server if present. As a last resort the <small>IP</small> address of the real server will be used. + + +</p><p><b><big>login</big> = \"</b><i>username</i><b>\"</b> +</p><p>For <small>FTP</small> , <small>IMAP</small> , <small>LDAP</small> , MySQL, Oracle, <small>POP</small> and PostgreSQL, the username used to log in. +</p><p>For Radius the passwd is used for the attribute User-Name. +</p><p>For <small>SIP</small> , the username is used as both the to and from address for an <small>OPTIONS</small> query. +</p><p>Default: +</p></dt><dt>* <small>FTP:</small> Anonymous +</dt><dt>* MySQL Oracle, and PostgreSQL: Must be specified in the configuration +</dt><dt>* <small>SIP:</small> ldirectord\@<hostname>, hostname is derived as per the passwd option below. +</dt><dt>* Otherwise: empty string, which denotes that case authentication will not be attempted. + + +</dt><dt><b><big>password</big> = \"</b><i>password</i><b>\"</b> +<p>Password to use to login to <small>FTP</small> , <small>IMAP</small> , <small>LDAP</small> , MySQL, Oracle, <small>POP</small> , PostgreSQL and +<small>SIP</small> servers. +</p><p>For Radius the passwd is used for the attribute User-Password. +</p><p>Default: +</p></dt><dt>* <small>FTP:</small> ldirectord\@<hostname>, where hostname is the environment variable <small>HOSTNAME</small> evaluated at run time, or sourced +from uname if unset. +</dt><dt>* Otherwise: empty string. In the case of <small>LDAP</small> , MySQL, Oracle, and PostgreSQL this means that authentication will not be performed. + + +</dt><dt><b><big>database name</big> = \"</b><i>databasename</i><b>\"</b> +<p>Database to use for MySQL, Oracle and PostgreSQL servers, this is the database that the query (set by <b>receive</b> above) will be performed against. This +is a required setting. + + +</p><p><b><big>radius secret</big> = \"</b><i>radiussecret</i><b>\"</b> +</p><p>Secret to use for Radius servers, this is the secret used to perform an Access-Request with the username (set by <b>login</b> above) and passwd (set by +<b>passwd</b> above). +</p><p>Default: empty string + + +</p><p><b><big>persistent</big> =</b> <i>n</i> +</p><p>Number of seconds for persistent client connections. + + +</p><p><b><big>netmask</big> =</b> <i>w.x.y.z</i> +</p><p>Netmask to be used for granularity of persistent client connections. + + +</p><p><b><big>scheduler</big> =</b> <i>scheduler_name</i> +</p><p>Scheduler to be used by <small>LVS</small> for loadbalancing. For an information on the available sehedulers please see the <b><a href=\"ipvsadm\">ipvsadm</a></b>(8) man page. +</p><p>Default: \"wrr\" + + +</p><p><b><big>protocol</big> = tcp</b>|<b>udp</b>|<b>fwm</b> +</p><p>Protocol to be used. If the virtual is specified as an <small>IP</small> address and port then it must be one of tcp or udp. If a firewall mark then the +protocol must be fwm. +</p><p>Default: +</p></dt><dt>* Virtual is an <small>IP</small> address and port, and the port is not 53: tcp +</dt><dt>* Virtual is an <small>IP</small> address and port, and the port is 53: udp +</dt><dt>* Virtual is a firewall mark: fwm +</dt></dl> + + +</p><p><b><big>check timeout</big> =</b> <i>n</i> +</p><p>Timeout in seconds for connect, external and ping checks. If the timeout is exceeded then the real server is declared dead. +</p><p>If defined in a virtual server section then the global value is overridden. +</p><p>If undefined then the value of negotiatetimeout is used. negotiatetimeout is also a global value that may be overriden by a per-virtual setting. +</p><p>If both checktimeout and negotiatetimeout are unset, the default is used. +</p><p>Default: 5 seconds + +</p><p><b><big>negotiate timeout</big> =</b> <i>n</i> +</p><p>Timeout in seconds for negotiate checks. +</p><p>If defined in a virtual server section then the global value is overridden. +</p><p>If undefined then the value of connecttimeout is used. connecttimeout is also a global value that may be overriden by a per-virtual setting. +</p><p>If both negotiatetimeout and connecttimeout are unset, the default is used. +</p><p>Default: 30 seconds + +</p><p><b><big>failure count</big> =</b> <i>n</i> +</p><p>The number of consecutive times a failure will have to be reported by a check before the realserver is considered to have failed. A value of 1 will have the realserver considered failed on the first failure. A successful check will reset the failure counter to 0. +</p><p>If defined in a virtual server section then the global value is overridden. +</p><p>Default: 1 + +</p><p><b><big>email alert</big> = \"</b><i>emailaddress</i><b>\"</b> +</p><p>A valid email address for sending alerts about the changed connection status to any real server defined in the virtual service. This option requires perl +module MailTools to be installed. Automatically tries to send email using any of the built-in methods. See perldoc Mail::Mailer for more info on methods. +</p><p>If defined in a virtual server section then the global value is overridden. + +</p><p><b><big>email alert freq</big> =</b> <i>n</i> +</p><p>Delay in seconds between repeating email alerts while any given real server in the virtual service remains inaccessible. A setting of zero seconds will +inhibit the repeating alerts. The email timing accuracy of this setting is dependent on the number of seconds defined in the checkinterval configuration +option. +</p><p>If defined in a virtual server section then the global value is overridden. +</p><p>Default: 0 + +</p><p><b><big>email alert status</big> = all</b>|<b>none</b>|<b>starting</b>|<b>running</b>|<b>stopping</b>|<b>reloading</b>,... +</p><p>Comma delimited list of server states in which email alerts should be sent. <b>all</b> is a short-hand for +\"<b>starting</b>,<b>running</b>,<b>stopping</b>,<b>reloading</b>\". If <b>none</b> is specified, no other option may be specified, otherwise options are ored +with each other. +</p><p>If defined in a virtual server section then the global value is overridden. +</p><p>Default: all + +</p><p><b><big>fallback</big> =</b> <i>ip_address|hostname[:portnumber|sercvicename]</i> [<b>gate</b>|<b>masq</b>|<b>ipip</b>] +</p><p>the server onto which a webservice is redirected if all real servers are down. Typically this would be 127.0.0.1 with an emergency page. +</p><p>If defined in a virtual server section then the global value is overridden. + +</p><p><b><big>quiescent</big> = yes</b>|<b>no</b> +</p><p>If <i>yes</i>, then when real or failback servers are determined to be down, they are not actually removed from the kernel's <small>LVS</small> table. +Rather, their weight is set to zero which means that no new connections will be accepted. +</p><p>This has the side effect, that if the real server has persistent connections, new connections from any existing clients will continue to be routed to the +real server, until the persistant timeout can expire. See ipvsadm for more information on persistant connections. +</p><p>This side-effect can be avoided by running the following: +</p><p>echo 1 > /proc/sys/net/ipv4/vs/expire_quiescent_template +</p><p>If the proc file isn't present this probably means that the kernel doesn't have lvs support, <small>LVS</small> support isn't loaded, or the kernel is too +old to have the proc file. Running ipvsadm as root should load <small>LVS</small> into the kernel if it is possible. +</p><p>If <i>no</i>, then the real or failback servers will be removed from the kernel's <small>LVS</small> table. The default is <i>yes</i>. +</p><p>If defined in a virtual server section then the global value is overridden. +</p><p>Default: <i>yes</i> + + + +"), + + +]; + +/* EOF */ +} Added: trunk/iplb/src/iplb.desktop URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/src/iplb.desktop?rev=67509&view=auto ============================================================================== --- trunk/iplb/src/iplb.desktop (added) +++ trunk/iplb/src/iplb.desktop Wed Feb 22 11:55:23 2012 @@ -0,0 +1,25 @@ +[Desktop Entry] +Type=Application +Categories=Settings;System;Qt;X-SuSE-YaST;X-SuSE-YaST-High_Availability; + +X-KDE-ModuleType=Library +X-KDE-RootOnly=true +X-KDE-HasReadOnlyMode=true +X-KDE-Library=yast2 +X-SuSE-YaST-Call=iplb + +X-SuSE-YaST-Group=High_Availability +X-SuSE-YaST-Argument= +X-SuSE-YaST-RootOnly=true +X-SuSE-YaST-AutoInst= +X-SuSE-YaST-Geometry= +X-SuSE-YaST-SortKey= +X-SuSE-YaST-AutoInstResource=iplb + +Icon=yast-iplb +Exec=/sbin/yast2 iplb + +Name=IPLB +GenericName=Configure IPLB(IP Load Balancing) +X-KDE-SubstituteUID=true +StartupNotify=true Added: trunk/iplb/src/iplb.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/src/iplb.ycp?rev=67509&view=auto ============================================================================== --- trunk/iplb/src/iplb.ycp (added) +++ trunk/iplb/src/iplb.ycp Wed Feb 22 11:55:23 2012 @@ -0,0 +1,93 @@ +/* ------------------------------------------------------------------------------ + * Copyright (c) 2006 Novell, Inc. All Rights Reserved. + * + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of version 2 of the GNU General Public License as published by the + * Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, contact Novell, Inc. + * + * To contact Novell about this file by physical or electronic mail, you may find + * current contact information at www.novell.com. + * ------------------------------------------------------------------------------ + */ + +/** + * File: clients/iplb.ycp + * Package: Configuration of iplb + * Summary: Main file + * Authors: Cong Meng <cmeng@novell.com> + * + * $Id: iplb.ycp 27914 2006-02-13 14:32:08Z locilka $ + * + * Main file for iplb configuration. Uses all other files. + */ + +{ + +/*** + * <h3>Configuration of iplb</h3> + */ + +textdomain "iplb"; + +/* The main () */ +y2milestone ("----------------------------------------"); +y2milestone ("IPLB module started"); + +import "Progress"; +import "Report"; +import "Summary"; + +import "CommandLine"; +include "iplb/wizards.ycp"; + +map cmdline_description = $[ + "id" : "iplb", + /* Command line help text for the Xiplb module */ + "help" : _("Configuration of IPLB"), + "guihandler" : IplbSequence, + "initialize" : Iplb::Read, + "finish" : Iplb::Write, + "actions" : $[ + // FIXME TODO: fill the functionality description here + ], + "options" : $[ + // FIXME TODO: fill the option descriptions here + ], + "mappings" : $[ + // FIXME TODO: fill the mappings of actions and options here + ] +]; + +/* is this proposal or not? */ +boolean propose = false; +list args = WFM::Args(); +if(size(args) > 0) { + if(is(WFM::Args(0), path) && WFM::Args(0) == .propose) { + y2milestone("Using PROPOSE mode"); + propose = true; + } +} + +/* main ui function */ +any ret = nil; + +if(propose) ret = IplbAutoSequence(); +else ret = CommandLine::Run(cmdline_description); +y2debug("ret=%1", ret); + +/* Finish */ +y2milestone("IPLB module finished"); +y2milestone("----------------------------------------"); + +return ret; + +/* EOF */ +} Added: trunk/iplb/src/iplb_auto.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/src/iplb_auto.ycp?rev=67509&view=auto ============================================================================== --- trunk/iplb/src/iplb_auto.ycp (added) +++ trunk/iplb/src/iplb_auto.ycp Wed Feb 22 11:55:23 2012 @@ -0,0 +1,134 @@ +/* ------------------------------------------------------------------------------ + * Copyright (c) 2006 Novell, Inc. All Rights Reserved. + * + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of version 2 of the GNU General Public License as published by the + * Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, contact Novell, Inc. + * + * To contact Novell about this file by physical or electronic mail, you may find + * current contact information at www.novell.com. + * ------------------------------------------------------------------------------ + */ + +/** + * File: clients/iplb_auto.ycp + * Package: Configuration of iplb + * Summary: Client for autoinstallation + * Authors: Cong Meng <cmeng@novell.com> + * + * $Id: iplb_auto.ycp 41350 2007-10-10 16:59:00Z dfiser $ + * + * This is a client for autoinstallation. It takes its arguments, + * goes through the configuration and return the setting. + * Does not do any changes to the configuration. + */ + +/** + * @param function to execute + * @param map/list of iplb settings + * @return map edited settings, Summary or boolean on success depending on called function + * @example map mm = $[ "FAIL_DELAY" : "77" ]; + * @example map ret = WFM::CallFunction ("iplb_auto", [ "Summary", mm ]); + */ + +{ + +textdomain "iplb"; + +y2milestone("----------------------------------------"); +y2milestone("IPLB auto started"); + +import "Iplb"; +include "iplb/wizards.ycp"; + +any ret = nil; +string func = ""; +map param = $[]; + +/* Check arguments */ +if(size(WFM::Args()) > 0 && is(WFM::Args(0), string)) { + func = (string)WFM::Args(0); + if(size(WFM::Args()) > 1 && is(WFM::Args(1), map)) + param = (map) WFM::Args(1); +} +y2debug("func=%1", func); +y2debug("param=%1", param); + +/* Create a summary*/ +if(func == "Summary") { + ret = select(Iplb::Summary(), 0, ""); +} +/* Reset configuration */ +else if (func == "Reset") { + Iplb::Import($[]); + ret = $[]; +} +/* Change configuration (run AutoSequence) */ +else if (func == "Change") { + ret = IplbAutoSequence(); +} +/* Import configuration */ +else if (func == "Import") { + ret = Iplb::Import(param); +} +/* Return actual state */ +else if (func == "Export") { + ret = Iplb::Export(); +} +/* Return needed packages */ +else if (func == "Packages") { + ret = Iplb::AutoPackages(); +} +/* Read current state */ +else if (func == "Read") { + import "Progress"; + boolean progress_orig = Progress::set (false); + ret = Iplb::Read(); + Progress::set (progress_orig); +} +/* Write givven settings */ +else if (func == "Write") { + import "Progress"; + boolean progress_orig = Progress::set (false); + Iplb::SetWriteOnly (true); + ret = Iplb::Write(); + Progress::set (progress_orig); +} +/** + * did configuration changed + * return boolean + */ +else if (func == "GetModified") { + ret = Iplb::Modified (); +} +/** + * set configuration as changed + * return boolean + */ +else if (func == "SetModified") { + Iplb::SetModified (true); + ret = true; +} + +/* Unknown function */ +else { + y2error("Unknown function: %1", func); + ret = false; +} + +y2debug("ret=%1", ret); +y2milestone("IPLB auto finished"); +y2milestone("----------------------------------------"); + +return ret; + +/* EOF */ +} Added: trunk/iplb/src/iplb_proposal.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/src/iplb_proposal.ycp?rev=67509&view=auto ============================================================================== --- trunk/iplb/src/iplb_proposal.ycp (added) +++ trunk/iplb/src/iplb_proposal.ycp Wed Feb 22 11:55:23 2012 @@ -0,0 +1,107 @@ +/* ------------------------------------------------------------------------------ + * Copyright (c) 2006 Novell, Inc. All Rights Reserved. + * + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of version 2 of the GNU General Public License as published by the + * Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, contact Novell, Inc. + * + * To contact Novell about this file by physical or electronic mail, you may find + * current contact information at www.novell.com. + * ------------------------------------------------------------------------------ + */ + +/** + * File: clients/iplb_proposal.ycp + * Package: Configuration of iplb + * Summary: Proposal function dispatcher. + * Authors: Cong Meng <cmeng@novell.com> + * + * $Id: iplb_proposal.ycp 41350 2007-10-10 16:59:00Z dfiser $ + * + * Proposal function dispatcher for iplb configuration. + * See source/installation/proposal/proposal-API.txt + */ + +{ + +textdomain "iplb"; + +import "Iplb"; +import "Progress"; + +/* The main () */ +y2milestone("----------------------------------------"); +y2milestone("IPLB proposal started"); + +string func = (string) WFM::Args(0); +map param = (map) WFM::Args(1); +map ret = $[]; + +/* create a textual proposal */ +if(func == "MakeProposal") { + string proposal = ""; + string warning = nil; + symbol warning_level = nil; + boolean force_reset = param["force_reset"]:false; + + if(force_reset || !Iplb::ProposalValid()) { + Iplb::SetProposalValid (true); + boolean progress_orig = Progress::set (false); + Iplb::Read(); + Progress::set (progress_orig); + } + list sum = Iplb::Summary(); + proposal = sum[0]:""; + + ret = $[ + "preformatted_proposal" : proposal, + "warning_level" : warning_level, + "warning" : warning, + ]; +} +/* run the module */ +else if(func == "AskUser") { + map stored = Iplb::Export(); + symbol seq = (symbol) WFM::CallFunction("iplb", [.propose]); + if(seq != `next) Iplb::Import(stored); + y2debug("stored=%1",stored); + y2debug("seq=%1",seq); + ret = $[ + "workflow_sequence" : seq + ]; +} +/* create titles */ +else if(func == "Description") { + ret = $[ + /* Rich text title for Iplb in proposals */ + "rich_text_title" : _("Iplb"), + /* Menu title for Iplb in proposals */ + "menu_title" : _("&Iplb"), + "id" : "iplb", + ]; +} +/* write the proposal */ +else if(func == "Write") { + Iplb::Write(); +} +/* unknown function */ +else { + y2error("unknown function: %1", func); +} + +/* Finish */ +y2debug("ret=%1",ret); +y2milestone("IPLB proposal finished"); +y2milestone("----------------------------------------"); +return ret; + +/* EOF */ +} Added: trunk/iplb/src/vserver_conf.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/src/vserver_conf.ycp?rev=67509&view=auto ============================================================================== --- trunk/iplb/src/vserver_conf.ycp (added) +++ trunk/iplb/src/vserver_conf.ycp Wed Feb 22 11:55:23 2012 @@ -0,0 +1,461 @@ +/** + */ + +{ + +textdomain "iplb"; + +import "Popup"; +import "Sequencer"; +import "Report"; +import "Label"; +import "Wizard"; +import "Service"; +import "Iplb"; +import "IP"; + +include "iplb/helps.ycp"; +include "iplb/common.ycp"; + +// ids of widgets of vserver dialog +// virtual servers & real servers are not inlucded here +list<symbol> vserver_entries = [ + `checktype, + `service, + `checkcommand, + `checkport, + `request, + `receive, + `httpmethod, + `virtualhost, + `login, + `passwd, + `database, + `secret, + `scheduler, + `persistent, + `netmask, + `protocol, + // overwrite global value part + `checktimeout, + `negotiatetimeout, + `failurecount, + `emailalert, + `emailalertfreq, + `emailalertstatus, + `fallback, + `quiescent +]; + +list checktypes = [ + "", + "negotiate", + "connect", + "external", + "off", + "on", + "ping" +]; + +list services = [ + "", + "dns", + "ftp", + "http", + "https", + "imap", + "imaps", + "ldap", + "mysql", + "nntp", + "none", + "oracle", + "pgsql", + "pop", + "pops", + "radius", + "sim" +]; + +list httpmethods = [ + "", + "GET", + "HEAD" +]; + +list schedulers = [ + "", + "wrr", + "rr", + "lc", + "wlc", + "lblc", + "lblcr", + "dh", + "sh", + "sed", + "nq" +]; + +list protocols = [ + "", + "tcp", + "udp", + "fwm" +]; + +list emailalertstatus = [ + "", + "all", + "none", + "starting", + "running", + "stopping", + "reloading" +]; + + +term vserver_list_layout() +{ + return + `VBox(`opt(`hvstretch), + `DumbTab( + [ + `item(`id(`global_tab), "&Global Configuration"), + `item(`id(`vserver_tab), "&Virtual Server Configuration", true) + ], + `VBox(`opt(`hvstretch), + `SelectionBox( `id(`vserver_box), _("Virtual Servers")), + `Left(`HBox( + `PushButton(`id(`vserver_add), _("Add")), + `PushButton(`id(`vserver_edit), _("Edit")), + `PushButton(`id(`vserver_del), _("Delete")) + )) + ) + ) + ); +} + + +any vserver_list_dialog() +{ + symbol ret = nil; + my_SetContents("vserver_conf", vserver_list_layout()); + + while(true) { + // fill the vserver list box + // FIXME: set the cursor position + list<term> items = []; + foreach(string key, any val, (map<string, any>)Iplb::vserver_conf, { + if (Iplb::vserver_conf[key]:nil == nil) continue; + items = add(items, `item(key)); + }); + UI::ChangeWidget(`vserver_box, `Items, items); + + // disable the delete & edit button if vserver box is empty + integer n = size(items); + UI::ChangeWidget(`vserver_del, `Enabled, (n!=0)); + UI::ChangeWidget(`vserver_edit, `Enabled, (n!=0)); + + ret = (symbol)UI::UserInput(); + y2debug("___iplbdebug___ input=%1", ret); + + if (ret == `help) { + myHelp("vserver_conf"); + continue; + } + + if (ret == `vserver_del) { + string vserver_name = (string)UI::QueryWidget(`vserver_box, `CurrentItem); + Iplb::vserver_conf[vserver_name] = nil; + continue; + } + + if (contains([`ok, `cancel, `global_tab, `vserver_add, `vserver_edit], ret)) + break; + + y2error("unknown input %1", ret); + } + return ret; +} + +term vserver_layout(map l_vserver_conf) +{ + return + `VBox( + `TextEntry(`id(`vserver), "Virtual Server", ""), + `HBox( + `SelectionBox(`id(`rserver_box), "Real Servers"), + `Bottom(`VBox( + `PushButton(`id(`rserver_add), "Add"), + `PushButton(`id(`rserver_del), "Delete"), + `PushButton(`id(`rserver_edit), "Edit") + ) + )), + `HBox( + `ComboBox(`id(`checktype), `opt(`editable), "Check Type", checktypes), + `ComboBox(`id(`service), "Service", services), + `TextEntry(`id(`checkcommand), "Check Command", ""), + `TextEntry(`id(`checkport), "Check Port", "") + ), + `HBox( + `TextEntry(`id(`request), "Request", ""), + `TextEntry(`id(`receive), "Receive", ""), + `ComboBox(`id(`httpmethod), "Http Method", httpmethods), + `TextEntry(`id(`virtualhost), "Virtual Host", "") + ), + `HBox( + `TextEntry(`id(`login), "Login", ""), + `TextEntry(`id(`passwd), "Password", ""), + `TextEntry(`id(`database), "Database Name", ""), + `TextEntry(`id(`secret), "Radius Secret", "") + ), + `HBox( + `TextEntry(`id(`persistent), "Persistent", ""), + `TextEntry(`id(`netmask), "Netmask", ""), + `ComboBox(`id(`scheduler), "Scheduler", schedulers), + `ComboBox(`id(`protocol), "Protocol", protocols) + ), + `HBox( + `TextEntry(`id(`checktimeout), "Check Timeout", ""), + `TextEntry(`id(`negotiatetimeout), "Negotiate Timeout", ""), + `TextEntry(`id(`failurecount), "Failure Count", ""), + `TextEntry(`id(`emailalert), "Email Alert", "") + ), + `HBox( + `TextEntry(`id(`emailalertfreq), "Email Alert Freq", ""), + `ComboBox(`id(`emailalertstatus), "Email Alert Status", emailalertstatus), + `TextEntry(`id(`fallback), "Fallback", ""), + `ComboBox(`id(`quiescent), "Quiescent", yesno) + ), + `VStretch() + ); +} + + +// return `cacel or a string +any text_input_dialog(string title, string value) +{ + any ret = nil; + + UI::OpenDialog( + `MarginBox(1, 1, `VBox( + `MinWidth(100, `TextEntry(`id(`text), title, value)), + `VSpacing(1), + `Right(`HBox( + `PushButton(`id(`ok), _("OK")), + `PushButton(`id(`cancel), _("Cancel")) + )) + )) + ); + + ret = UI::UserInput(); + if (ret == `ok) ret = UI::QueryWidget(`text, `Value); + UI::CloseDialog(); + return ret; +} + +// fill the widgets accord to the @l_vserver_conf +void fill_vserver_entries(map l_vserver_conf) +{ + foreach(symbol key, vserver_entries, { + string name = substring(tostring(key), 1); // remove '`' char + list val = l_vserver_conf[name]:[]; + if (size(val) > 0) + UI::ChangeWidget(key, `Value, val[0]:""); + }); +} + + +// retrieve the value from widgets, save to @l_vserver_conf +map retrieve_vserver_entries(map l_vserver_conf) +{ + foreach(symbol key, vserver_entries, { + string name = substring(tostring(key), 1); // remove '`' char + list val_old = l_vserver_conf[name]:[]; + string val_new = (string)UI::QueryWidget(key, `Value); + if (size(val_new) > 0) + l_vserver_conf[name] = [val_new]; + else if (size(val_old) > 0) + // assigning nil to remove it from conf file + l_vserver_conf[name] = nil; + }); + return l_vserver_conf; +} + +any real_ip_input_dialog(string title,string value) + { + any ret=nil; + //split the real server ip value; + y2milestone("%1",value); + string ip=""; + string fwd_method=""; + integer weight=1; + integer pos=0; + list<string> real_ip=splitstring(value," \t"); + ip=real_ip[0]:""; + fwd_method=real_ip[1]:""; + if(real_ip[2]:""!="") + weight=tointeger(real_ip[2]:"1"); + + term layout=`VBox( + `VBox( + `Label("If using IPv6,the format should like this\n[fe80::5054:ff:fe00:2]"), + `InputField(`id(`ip),`opt(`hstretch),_("Real Server's IP Address"),"") + ), + `VSpacing(1), + `HBox( + `ComboBox(`id(`fwd_method),_("Forward Method"),["gate","ipip","masq"]), + `IntField(`id(`weight),_("weight"),0,65535,1) + ), + `VSpacing(1), + `Right(`HBox( + `PushButton(`id(`ok),_("OK")), + `PushButton(`id(`cancel),_("Cancel")) + )) + ); + UI::OpenDialog(layout); + UI::ChangeWidget(`ip,`Value,ip); + UI::ChangeWidget(`fwd_method,`Value,fwd_method); + UI::ChangeWidget(`weight,`Value,weight); + while(true){ + ret = UI::UserInput(); + if(ret == `ok ){ + string ip=(string)UI::QueryWidget(`id(`ip),`Value); + integer pos=0; + //get ipv6 and ipv4 address + //check IP Address for real server; + if(find(ip,"[")==0){//means ip has [ + //find next ] + pos=find(ip,"]"); + if(pos!=nil) + ip=substring(ip,1,pos-1); + }else + { + pos=find(ip,":"); + if(pos!=nil) + ip=substring(ip,0,pos); + } + + y2milestone("ip is %1",ip); + if(IP::Check(ip)==false){ + Popup::Message("IP address is not Valid"); + continue; + } + // if(IP::Check6((string)UI::QueryWidget(`id(`ip),`Value))==true) + // ret="["+(string)UI::QueryWidget(`id(`ip),`Value)+"]"; + // else + // ret=(string)UI::QueryWidget(`id(`ip),`Value); + ret=(string)UI::QueryWidget(`id(`ip),`Value); + // if((integer)UI::QueryWidget(`port,`Value)!=0) + // ret=":"+(integer)UI::QueryWidget(`port,`Value); + if(UI::QueryWidget(`fwd_method,`Value)!=nil) + ret=(string)ret+" "+(string)UI::QueryWidget(`fwd_method,`Value); + if(UI::QueryWidget(`weight,`Value)!=1) + ret=(string)ret+" "+(integer)UI::QueryWidget(`weight,`Value); + break; + } + if(ret == `cancel) + break; + } + UI::CloseDialog(); + return ret; + } + + +// return `ok or `cancel +any vserver_dialog(string vserver_name) +{ + any ret = nil; + map l_vserver_conf = Iplb::vserver_conf[vserver_name]:$[]; + y2milestone("___iplbdebug___ v=%2, l_v_c=%1", l_vserver_conf, vserver_name); + + my_SetContents("vserver_conf", vserver_layout(l_vserver_conf)); + fill_vserver_entries(l_vserver_conf); + UI::ChangeWidget(`vserver, `Value, vserver_name); + + while(true) { + // calculate the cursor position + integer n = size(l_vserver_conf["real"]:[]); + integer cursor = (integer)UI::QueryWidget(`rserver_box, `CurrentItem); + if (cursor == nil) cursor = 0; + if (cursor >= n) cursor = n - 1; + + // fill the rserver box, set the cursor position + // make the index of real list as the id of element of the rserver selectbox + integer i = 0; + list<term> rs_box = []; + foreach (string value, l_vserver_conf["real"]:[], { + rs_box = add(rs_box, `item(`id(i), value)); + i = i + 1; + }); + UI::ChangeWidget(`rserver_box, `Items, rs_box); + UI::ChangeWidget(`rserver_box, `CurrentItem, cursor); + + // disable the delete & edit button if rservers box is empty + UI::ChangeWidget(`rserver_del, `Enabled, (n!=0)); + UI::ChangeWidget(`rserver_edit, `Enabled, (n!=0)); + + ret = UI::UserInput(); + y2debug("___iplbdebug___ input=%1", ret); + + if (ret == `rserver_add) { + ret = real_ip_input_dialog("Add a new real server:",""); + if (ret != `cancel){ + y2milestone("%1",(string)ret); + l_vserver_conf["real"] = add(l_vserver_conf["real"]:[], ret); + } + continue; + } + + if (ret == `rserver_edit) { + integer current = (integer)UI::QueryWidget(`rserver_box, `CurrentItem); + ret = real_ip_input_dialog("Edit the real server:", + l_vserver_conf["real", current]:""); + if (ret != `cancel) l_vserver_conf["real", current] = ret; + continue; + } + + if (ret == `rserver_del) { + integer current = (integer)UI::QueryWidget(`rserver_box, `CurrentItem); + l_vserver_conf["real"] = remove(l_vserver_conf["real"]:[], current); + continue; + } + + if (ret == `ok) { + l_vserver_conf = retrieve_vserver_entries(l_vserver_conf); + Iplb::vserver_conf[vserver_name] = nil; + vserver_name = (string)UI::QueryWidget(`vserver, `Value); + Iplb::vserver_conf[vserver_name] = l_vserver_conf; + break; + } + + if (ret == `cancel) break; + + y2debug("___iplbdebug___ unknown input %1", ret); + } + + return ret; +} + + +any vserver_add_dialog() +{ + any ret = nil; + ret = vserver_dialog(""); + return ret; +} + + +any vserver_edit_dialog() +{ + any ret = nil; + string vserver_name = (string) UI::QueryWidget(`id(`vserver_box), `CurrentItem); + ret = vserver_dialog(vserver_name); + + return ret; +} + + +/* EOF */ +} Added: trunk/iplb/src/wizards.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/src/wizards.ycp?rev=67509&view=auto ============================================================================== --- trunk/iplb/src/wizards.ycp (added) +++ trunk/iplb/src/wizards.ycp Wed Feb 22 11:55:23 2012 @@ -0,0 +1,180 @@ +/* ------------------------------------------------------------------------------ + * Copyright (c) 2006 Novell, Inc. All Rights Reserved. + * + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of version 2 of the GNU General Public License as published by the + * Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, contact Novell, Inc. + * + * To contact Novell about this file by physical or electronic mail, you may find + * current contact information at www.novell.com. + * ------------------------------------------------------------------------------ + */ + +/** + * File: include/iplb/wizards.ycp + * Package: Configuration of iplb + * Summary: Wizards definitions + * Authors: Cong Meng <cmeng@novell.com> + * + * $Id: wizards.ycp 27914 2006-02-13 14:32:08Z locilka $ + */ + +{ + +textdomain "iplb"; + +import "Sequencer"; +import "Wizard"; + +include "iplb/complex.ycp"; +include "iplb/dialogs.ycp"; +include "iplb/global_conf.ycp"; +include "iplb/vserver_conf.ycp"; + +/** + * Add a configuration of iplb + * @return sequence result + */ +any AddSequence() { + + /* FIXME: adapt to your needs */ + map aliases = $[ + "config1" : ``(Configure1Dialog()), + "config2" : ``(Configure2Dialog()), + ]; + + /* FIXME: adapt to your needs */ + map sequence = $[ + "ws_start" : "config1", + "config1" : $[ + `abort : `abort, + `next : "config2" + ], + "config2" : $[ + `abort : `abort, + `next : `next + ] + ]; + + return Sequencer::Run(aliases, sequence); +} + +/** + * Main workflow of the iplb configuration + * @return sequence result + */ +any MainSequence() { + /* + +- global_conf + +- vserver_list_conf + +- vserver_add_conf + +- vserver_edit_conf + */ + map Aliases = $[ + "global_conf" : ``(global_dialog()), + "vserver_list_conf" : ``(vserver_list_dialog()), + "vserver_add_conf" : ``(vserver_add_dialog()), + "vserver_edit_conf" : ``(vserver_edit_dialog()) + ]; + + map sequence = $[ + "ws_start": "global_conf", + "global_conf" : $[ + `ok : `next, + `cancel : `abort, + `global_tab : "global_conf", + `vserver_tab : "vserver_list_conf" + ], + "vserver_list_conf" : $[ + `ok : `next, + `cancel : `abort, + `global_tab : "global_conf", + `vserver_add : "vserver_add_conf", + `vserver_edit : "vserver_edit_conf" + ], + "vserver_add_conf" : $[ + `ok : "vserver_list_conf", + `cancel : "vserver_list_conf" + ], + "vserver_edit_conf" : $[ + `ok : "vserver_list_conf", + `cancel : "vserver_list_conf" + ] + ]; + + // Buttons redefinition + Wizard::SetNextButton(`ok, "OK"); + Wizard::SetAbortButton(`cancel, "Cancel"); + Wizard::HideBackButton(); + + any ret = Sequencer::Run(Aliases, sequence); + return ret; +} + +/** + * Whole configuration of iplb + * @return sequence result + */ +any IplbSequence() { + map aliases = $[ + "read" : [ ``( ReadDialog() ), true ], + "main" : ``( MainSequence() ), + "write" : [ ``( WriteDialog() ), true ] + ]; + + map sequence = $[ + "ws_start" : "read", + "read" : $[ + `abort : `abort, + `next : "main" + ], + "main" : $[ + `abort : `abort, + `next : "write" + ], + "write" : $[ + `abort : `abort, + `next : `next + ] + ]; + + Wizard::CreateDialog(); + + any ret = Sequencer::Run(aliases, sequence); + + UI::CloseDialog(); + return ret; +} + +/** + * Whole configuration of iplb but without reading and writing. + * For use with autoinstallation. + * @return sequence result + */ +any IplbAutoSequence() { + + /* Initialization dialog caption */ + string caption = _("IPLB Configuration"); + /* Initialization dialog contents */ + term contents = `Label(_("Initializing...")); + + Wizard::CreateDialog(); + Wizard::SetContentsButtons(caption, contents, "", + Label::BackButton(), Label::NextButton()); + + any ret = MainSequence(); + + UI::CloseDialog(); + return ret; +} + +/* EOF */ +} Added: trunk/iplb/testsuite/.cvsignore URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/testsuite/.cvsignore?rev=67509&view=auto ============================================================================== --- trunk/iplb/testsuite/.cvsignore (added) +++ trunk/iplb/testsuite/.cvsignore Wed Feb 22 11:55:23 2012 @@ -0,0 +1,11 @@ +Makefile +Makefile.in +site.exp +*.sum +*.log +tmp.out* +tmp.err* +tmp.log* +config +run +*.test Added: trunk/iplb/testsuite/Makefile URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/testsuite/Makefile?rev=67509&view=auto ============================================================================== --- trunk/iplb/testsuite/Makefile (added) +++ trunk/iplb/testsuite/Makefile Wed Feb 22 11:55:23 2012 @@ -0,0 +1,387 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# testsuite/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +# +# Makefile.am for .../testsuite +# +# Do not edit this file (Makefile.am) as it will be overwritten! +# + +pkgdatadir = $(datadir)/yast2-iplb +pkglibdir = $(libdir)/yast2-iplb +pkgincludedir = $(includedir)/yast2-iplb +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-suse-linux-gnu +host_triplet = i686-suse-linux-gnu +target_triplet = i686-suse-linux-gnu +subdir = testsuite +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +DEJATOOL = $(PACKAGE) +RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir +EXPECT = expect +RUNTEST = runtest +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/missing --run aclocal-1.10 +AMTAR = ${SHELL} /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/missing --run tar +AUTOCONF = ${SHELL} /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/missing --run autoconf +AUTOHEADER = ${SHELL} /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/missing --run autoheader +AUTOMAKE = ${SHELL} /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/missing --run automake-1.10 +AWK = gawk +CYGPATH_W = echo +DEFS = -DPACKAGE_NAME=\"yast2-iplb\" -DPACKAGE_TARNAME=\"yast2-iplb\" -DPACKAGE_VERSION=\"2.15.0\" -DPACKAGE_STRING=\"yast2-iplb\ 2.15.0\" -DPACKAGE_BUGREPORT=\"http://bugs.opensuse.org/\" -DPACKAGE=\"yast2-iplb\" -DVERSION=\"2.15.0\" +ECHO_C = +ECHO_N = -n +ECHO_T = +INSTALL = /usr/bin/install -c -p +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LIBOBJS = +LIBS = +LN_S = ln -s +LTLIBOBJS = +MAINTAINER = Cong Meng <cmeng@novell.com> +MAKEINFO = ${SHELL} /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +PACKAGE = yast2-iplb +PACKAGE_BUGREPORT = http://bugs.opensuse.org/ +PACKAGE_NAME = yast2-iplb +PACKAGE_STRING = yast2-iplb 2.15.0 +PACKAGE_TARNAME = yast2-iplb +PACKAGE_VERSION = 2.15.0 +PATH_SEPARATOR = : +PKG_CONFIG_PATH = +RPMNAME = yast2-iplb +SET_MAKE = +SHELL = /bin/sh +STRIP = +STYLESHEET_CSS = /usr/share/YaST2/data/docbook/css/yast2docs.css +STYLESHEET_HTML = /usr/share/YaST2/data/docbook/stylesheets/customize-html.xsl +STYLESHEET_PDF = /usr/share/YaST2/data/docbook/stylesheets/customize-fo.xsl +STYLESHEET_YCPDOC = /usr/share/YaST2/data/docbook/stylesheets/ycpdoc.xsl +STYLESHEET_YDOC = /usr/share/YaST2/data/docbook/stylesheets/ydoc.xsl +VERSION = 2.15.0 +XGETTEXT = /usr/bin/xgettext +Y2DEVTOOLS_PREFIX = /usr +YCPC = /usr/bin/ycpc +YCPDOC = /usr/lib/YaST2/bin/ycpdoc +YCPMAKEDEP = /usr/lib/YaST2/bin/ycpmakedep +abs_builddir = /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/testsuite +abs_srcdir = /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/testsuite +abs_top_builddir = /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0 +abs_top_srcdir = /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0 +agentdir = ${prefix}/lib/YaST2/servers_non_y2 +am__leading_dot = . +am__tar = tar --format=ustar -chf - "$$tardir" +am__untar = tar -xf - +bindir = ${exec_prefix}/bin +build = i686-suse-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = suse +builddir = . +clientdir = ${prefix}/share/YaST2/clients +datadir = ${datarootdir} +datarootdir = ${prefix}/share +desktopdir = ${prefix}/share/applications/YaST2 +docdir = ${prefix}/share/doc/packages/yast2-iplb +dvidir = ${docdir} +exec_prefix = ${prefix} +execcompdir = ${prefix}/lib/YaST2 +fillupdir = /var/adm/fillup-templates +host = i686-suse-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = suse +htmldir = ${docdir} +imagedir = ${prefix}/share/YaST2/images +includedir = ${prefix}/include/YaST2 +infodir = ${datarootdir}/info +install_sh = $(SHELL) /home/cmeng/work/yast2-iplb/home:cmeng:Factory/yast2-iplb/yast2-iplb-2.15.0/install-sh +libdir = /usr/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${prefix}/share/YaST2/locale +localstatedir = ${prefix}/var +mandir = ${prefix}/share/man +mkdir_p = /bin/mkdir -p +moduledir = ${prefix}/share/YaST2/modules +oldincludedir = /usr/include +pdfdir = ${docdir} +pkgconfigdatadir = ${datadir}/pkgconfig +pkgconfigdir = ${libdir}/pkgconfig +plugindir = ${libdir}/YaST2/plugin +potdir = ${docdir}/pot +prefix = /usr +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +schemadir = ${prefix}/share/YaST2/schema +scrconfdir = ${prefix}/share/YaST2/scrconf +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target = i686-suse-linux-gnu +target_alias = +target_cpu = i686 +target_os = linux-gnu +target_vendor = suse +themedir = ${prefix}/share/YaST2/theme +top_build_prefix = ../ +top_builddir = .. +top_srcdir = .. +yast2dir = ${prefix}/share/YaST2 +ybindir = ${prefix}/lib/YaST2/bin +ydatadir = ${prefix}/share/YaST2/data +yncludedir = ${prefix}/share/YaST2/include +ystartupdir = ${prefix}/lib/YaST2 +AUTOMAKE_OPTIONS = dejagnu +EXTRA_DIST = $(wildcard tests/*.out) $(wildcard tests/*.err) $(wildcard tests/*.ycp) $(wildcard tests/*.yh) +testsuite_prepare = ${prefix}/share/YaST2/data/testsuite/Makefile.testsuite +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu testsuite/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu testsuite/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +check-DEJAGNU: site.exp + srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \ + EXPECT=$(EXPECT); export EXPECT; \ + runtest=$(RUNTEST); \ + if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \ + exit_status=0; l='$(DEJATOOL)'; for tool in $$l; do \ + if $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \ + then :; else exit_status=1; fi; \ + done; \ + else echo "WARNING: could not find \`runtest'" 1>&2; :;\ + fi; \ + exit $$exit_status +site.exp: Makefile + @echo 'Making a new site.exp file...' + @echo '## these variables are automatically generated by make ##' >site.tmp + @echo '# Do not edit here. If you wish to override these values' >>site.tmp + @echo '# edit the last section' >>site.tmp + @echo 'set srcdir $(srcdir)' >>site.tmp + @echo "set objdir `pwd`" >>site.tmp + @echo 'set build_alias "$(build_alias)"' >>site.tmp + @echo 'set build_triplet $(build_triplet)' >>site.tmp + @echo 'set host_alias "$(host_alias)"' >>site.tmp + @echo 'set host_triplet $(host_triplet)' >>site.tmp + @echo 'set target_alias "$(target_alias)"' >>site.tmp + @echo 'set target_triplet $(target_triplet)' >>site.tmp + @echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp + @test ! -f site.exp || \ + sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp + @-rm -f site.bak + @test ! -f site.exp || mv site.exp site.bak + @mv site.tmp site.exp + +distclean-DEJAGNU: + -rm -f site.exp site.bak + -l='$(DEJATOOL)'; for tool in $$l; do \ + rm -f $$tool.sum $$tool.log; \ + done + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU check-local +check: check-am +all-am: Makefile all-local +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-local mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-DEJAGNU distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: all all-am all-local check check-DEJAGNU check-am check-local \ + clean clean-generic clean-local distclean distclean-DEJAGNU \ + distclean-generic distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am + + +all-local: $(testsuite_prepare) + make -f $(testsuite_prepare) RPMNAME=$(RPMNAME) srcdir=$(srcdir) + +clean-local: $(testsuite_prepare) + make -f $(testsuite_prepare) RPMNAME=$(RPMNAME) srcdir=$(srcdir) clean + +check-local: $(testsuite_prepare) + make -f $(testsuite_prepare) RPMNAME=$(RPMNAME) srcdir=$(srcdir) check + +# EOF +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: Added: trunk/iplb/testsuite/Makefile.am URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/testsuite/Makefile.am?rev=67509&view=auto ============================================================================== --- trunk/iplb/testsuite/Makefile.am (added) +++ trunk/iplb/testsuite/Makefile.am Wed Feb 22 11:55:23 2012 @@ -0,0 +1,21 @@ +# +# Makefile.am for .../testsuite +# +# Do not edit this file (Makefile.am) as it will be overwritten! +# + +AUTOMAKE_OPTIONS = dejagnu +EXTRA_DIST = $(wildcard tests/*.out) $(wildcard tests/*.err) $(wildcard tests/*.ycp) $(wildcard tests/*.yh) + +testsuite_prepare = @ydatadir@/testsuite/Makefile.testsuite + +all-local: $(testsuite_prepare) + make -f $(testsuite_prepare) RPMNAME=$(RPMNAME) srcdir=$(srcdir) + +clean-local: $(testsuite_prepare) + make -f $(testsuite_prepare) RPMNAME=$(RPMNAME) srcdir=$(srcdir) clean + +check-local: $(testsuite_prepare) + make -f $(testsuite_prepare) RPMNAME=$(RPMNAME) srcdir=$(srcdir) check + +# EOF Added: trunk/iplb/testsuite/Makefile.in URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/testsuite/Makefile.in?rev=67509&view=auto ============================================================================== --- trunk/iplb/testsuite/Makefile.in (added) +++ trunk/iplb/testsuite/Makefile.in Wed Feb 22 11:55:23 2012 @@ -0,0 +1,387 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# +# Makefile.am for .../testsuite +# +# Do not edit this file (Makefile.am) as it will be overwritten! +# +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +target_triplet = @target@ +subdir = testsuite +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +DEJATOOL = $(PACKAGE) +RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir +EXPECT = expect +RUNTEST = runtest +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINTAINER = @MAINTAINER@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +RPMNAME = @RPMNAME@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +STYLESHEET_CSS = @STYLESHEET_CSS@ +STYLESHEET_HTML = @STYLESHEET_HTML@ +STYLESHEET_PDF = @STYLESHEET_PDF@ +STYLESHEET_YCPDOC = @STYLESHEET_YCPDOC@ +STYLESHEET_YDOC = @STYLESHEET_YDOC@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +Y2DEVTOOLS_PREFIX = @Y2DEVTOOLS_PREFIX@ +YCPC = @YCPC@ +YCPDOC = @YCPDOC@ +YCPMAKEDEP = @YCPMAKEDEP@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +agentdir = @agentdir@ +am__leading_dot = @am__leading_dot@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +clientdir = @clientdir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +desktopdir = @desktopdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +execcompdir = @execcompdir@ +fillupdir = @fillupdir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +pkgconfigdatadir = @pkgconfigdatadir@ +pkgconfigdir = @pkgconfigdir@ +plugindir = @plugindir@ +potdir = @potdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +schemadir = @schemadir@ +scrconfdir = @scrconfdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ +themedir = @themedir@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +yast2dir = @yast2dir@ +ybindir = @ybindir@ +ydatadir = @ydatadir@ +yncludedir = @yncludedir@ +ystartupdir = @ystartupdir@ +AUTOMAKE_OPTIONS = dejagnu +EXTRA_DIST = $(wildcard tests/*.out) $(wildcard tests/*.err) $(wildcard tests/*.ycp) $(wildcard tests/*.yh) +testsuite_prepare = @ydatadir@/testsuite/Makefile.testsuite +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu testsuite/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu testsuite/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +check-DEJAGNU: site.exp + srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \ + EXPECT=$(EXPECT); export EXPECT; \ + runtest=$(RUNTEST); \ + if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \ + exit_status=0; l='$(DEJATOOL)'; for tool in $$l; do \ + if $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \ + then :; else exit_status=1; fi; \ + done; \ + else echo "WARNING: could not find \`runtest'" 1>&2; :;\ + fi; \ + exit $$exit_status +site.exp: Makefile + @echo 'Making a new site.exp file...' + @echo '## these variables are automatically generated by make ##' >site.tmp + @echo '# Do not edit here. If you wish to override these values' >>site.tmp + @echo '# edit the last section' >>site.tmp + @echo 'set srcdir $(srcdir)' >>site.tmp + @echo "set objdir `pwd`" >>site.tmp + @echo 'set build_alias "$(build_alias)"' >>site.tmp + @echo 'set build_triplet $(build_triplet)' >>site.tmp + @echo 'set host_alias "$(host_alias)"' >>site.tmp + @echo 'set host_triplet $(host_triplet)' >>site.tmp + @echo 'set target_alias "$(target_alias)"' >>site.tmp + @echo 'set target_triplet $(target_triplet)' >>site.tmp + @echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp + @test ! -f site.exp || \ + sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp + @-rm -f site.bak + @test ! -f site.exp || mv site.exp site.bak + @mv site.tmp site.exp + +distclean-DEJAGNU: + -rm -f site.exp site.bak + -l='$(DEJATOOL)'; for tool in $$l; do \ + rm -f $$tool.sum $$tool.log; \ + done + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU check-local +check: check-am +all-am: Makefile all-local +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-local mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-DEJAGNU distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: all all-am all-local check check-DEJAGNU check-am check-local \ + clean clean-generic clean-local distclean distclean-DEJAGNU \ + distclean-generic distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am + + +all-local: $(testsuite_prepare) + make -f $(testsuite_prepare) RPMNAME=$(RPMNAME) srcdir=$(srcdir) + +clean-local: $(testsuite_prepare) + make -f $(testsuite_prepare) RPMNAME=$(RPMNAME) srcdir=$(srcdir) clean + +check-local: $(testsuite_prepare) + make -f $(testsuite_prepare) RPMNAME=$(RPMNAME) srcdir=$(srcdir) check + +# EOF +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: Added: trunk/iplb/testsuite/tests/.cvsignore URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/testsuite/tests/.cvsignore?rev=67509&view=auto ============================================================================== (empty) Added: trunk/iplb/testsuite/tests/Iplb.err URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/testsuite/tests/Iplb.err?rev=67509&view=auto ============================================================================== (empty) Added: trunk/iplb/testsuite/tests/Iplb.out URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/testsuite/tests/Iplb.out?rev=67509&view=auto ============================================================================== --- trunk/iplb/testsuite/tests/Iplb.out (added) +++ trunk/iplb/testsuite/tests/Iplb.out Wed Feb 22 11:55:23 2012 @@ -0,0 +1,2 @@ +Dump Iplb::Modified +Return false Added: trunk/iplb/testsuite/tests/Iplb.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/testsuite/tests/Iplb.ycp?rev=67509&view=auto ============================================================================== --- trunk/iplb/testsuite/tests/Iplb.ycp (added) +++ trunk/iplb/testsuite/tests/Iplb.ycp Wed Feb 22 11:55:23 2012 @@ -0,0 +1,13 @@ +{ + +// testedfiles: Iplb.ycp + +include "testsuite.ycp"; +TESTSUITE_INIT([], nil); + +import "Iplb"; + +DUMP("Iplb::Modified"); +TEST(``(Iplb::Modified()), [], nil); + +} Added: trunk/iplb/vserver_conf.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/vserver_conf.ycp?rev=67509&view=auto ============================================================================== --- trunk/iplb/vserver_conf.ycp (added) +++ trunk/iplb/vserver_conf.ycp Wed Feb 22 11:55:23 2012 @@ -0,0 +1,465 @@ +/** + */ + +{ + +textdomain "iplb"; + +import "Popup"; +import "Sequencer"; +import "Report"; +import "Label"; +import "Wizard"; +import "Service"; +import "Iplb"; +import "IP"; + +include "iplb/helps.ycp"; +include "iplb/common.ycp"; + +// ids of widgets of vserver dialog +// virtual servers & real servers are not inlucded here +list<symbol> vserver_entries = [ + `checktype, + `service, + `checkcommand, + `checkport, + `request, + `receive, + `httpmethod, + `virtualhost, + `login, + `passwd, + `database, + `secret, + `scheduler, + `persistent, + `netmask, + `protocol, + // overwrite global value part + `checktimeout, + `negotiatetimeout, + `failurecount, + `emailalert, + `emailalertfreq, + `emailalertstatus, + `fallback, + `quiescent +]; + +list checktypes = [ + "", + "negotiate", + "connect", + "external", + "off", + "on", + "ping" +]; + +list services = [ + "", + "dns", + "ftp", + "http", + "https", + "imap", + "imaps", + "ldap", + "mysql", + "nntp", + "none", + "oracle", + "pgsql", + "pop", + "pops", + "radius", + "sim" +]; + +list httpmethods = [ + "", + "GET", + "HEAD" +]; + +list schedulers = [ + "", + "wrr", + "rr", + "lc", + "wlc", + "lblc", + "lblcr", + "dh", + "sh", + "sed", + "nq" +]; + +list protocols = [ + "", + "tcp", + "udp", + "fwm" +]; + +list emailalertstatus = [ + "", + "all", + "none", + "starting", + "running", + "stopping", + "reloading" +]; + + +term vserver_list_layout() +{ + return + `VBox(`opt(`hvstretch), + `DumbTab( + [ + `item(`id(`global_tab), "&Global Configuration"), + `item(`id(`vserver_tab), "&Virtual Server Configuration", true) + ], + `VBox(`opt(`hvstretch), + `SelectionBox( `id(`vserver_box), _("Virtual Servers")), + `Left(`HBox( + `PushButton(`id(`vserver_add), _("Add")), + `PushButton(`id(`vserver_edit), _("Edit")), + `PushButton(`id(`vserver_del), _("Delete")) + )) + ) + ) + ); +} + + +any vserver_list_dialog() +{ + symbol ret = nil; + my_SetContents("vserver_conf", vserver_list_layout()); + + while(true) { + // fill the vserver list box + // FIXME: set the cursor position + list<term> items = []; + foreach(string key, any val, (map<string, any>)Iplb::vserver_conf, { + if (Iplb::vserver_conf[key]:nil == nil) continue; + items = add(items, `item(key)); + }); + UI::ChangeWidget(`vserver_box, `Items, items); + + // disable the delete & edit button if vserver box is empty + integer n = size(items); + UI::ChangeWidget(`vserver_del, `Enabled, (n!=0)); + UI::ChangeWidget(`vserver_edit, `Enabled, (n!=0)); + + ret = (symbol)UI::UserInput(); + y2debug("___iplbdebug___ input=%1", ret); + + if (ret == `help) { + myHelp("vserver_conf"); + continue; + } + + if (ret == `vserver_del) { + string vserver_name = (string)UI::QueryWidget(`vserver_box, `CurrentItem); + Iplb::vserver_conf[vserver_name] = nil; + continue; + } + + if (contains([`ok, `cancel, `global_tab, `vserver_add, `vserver_edit], ret)) + break; + + y2error("unknown input %1", ret); + } + return ret; +} + +term vserver_layout(map l_vserver_conf) +{ + return + `VBox( + `TextEntry(`id(`vserver), "Virtual Server", ""), + `HBox( + `SelectionBox(`id(`rserver_box), "Real Servers"), + `Bottom(`VBox( + `PushButton(`id(`rserver_add), "Add"), + `PushButton(`id(`rserver_del), "Delete"), + `PushButton(`id(`rserver_edit), "Edit") + ) + )), + `HBox( + `ComboBox(`id(`checktype), `opt(`editable), "Check Type", checktypes), + `ComboBox(`id(`service), "Service", services), + `TextEntry(`id(`checkcommand), "Check Command", ""), + `TextEntry(`id(`checkport), "Check Port", "") + ), + `HBox( + `TextEntry(`id(`request), "Request", ""), + `TextEntry(`id(`receive), "Receive", ""), + `ComboBox(`id(`httpmethod), "Http Method", httpmethods), + `TextEntry(`id(`virtualhost), "Virtual Host", "") + ), + `HBox( + `TextEntry(`id(`login), "Login", ""), + `TextEntry(`id(`passwd), "Password", ""), + `TextEntry(`id(`database), "Database Name", ""), + `TextEntry(`id(`secret), "Radius Secret", "") + ), + `HBox( + `TextEntry(`id(`persistent), "Persistent", ""), + `TextEntry(`id(`netmask), "Netmask", ""), + `ComboBox(`id(`scheduler), "Scheduler", schedulers), + `ComboBox(`id(`protocol), "Protocol", protocols) + ), + `HBox( + `TextEntry(`id(`checktimeout), "Check Timeout", ""), + `TextEntry(`id(`negotiatetimeout), "Negotiate Timeout", ""), + `TextEntry(`id(`failurecount), "Failure Count", ""), + `TextEntry(`id(`emailalert), "Email Alert", "") + ), + `HBox( + `TextEntry(`id(`emailalertfreq), "Email Alert Freq", ""), + `ComboBox(`id(`emailalertstatus), "Email Alert Status", emailalertstatus), + `TextEntry(`id(`fallback), "Fallback", ""), + `ComboBox(`id(`quiescent), "Quiescent", yesno) + ), + `VStretch() + ); +} + + +// return `cacel or a string +any text_input_dialog(string title, string value) +{ + any ret = nil; + + UI::OpenDialog( + `MarginBox(1, 1, `VBox( + `MinWidth(100, `TextEntry(`id(`text), title, value)), + `VSpacing(1), + `Right(`HBox( + `PushButton(`id(`ok), _("OK")), + `PushButton(`id(`cancel), _("Cancel")) + )) + )) + ); + + ret = UI::UserInput(); + if (ret == `ok) ret = UI::QueryWidget(`text, `Value); + UI::CloseDialog(); + return ret; +} + +// fill the widgets accord to the @l_vserver_conf +void fill_vserver_entries(map l_vserver_conf) +{ + foreach(symbol key, vserver_entries, { + string name = substring(tostring(key), 1); // remove '`' char + list val = l_vserver_conf[name]:[]; + if (size(val) > 0) + UI::ChangeWidget(key, `Value, val[0]:""); + }); +} + + +// retrieve the value from widgets, save to @l_vserver_conf +map retrieve_vserver_entries(map l_vserver_conf) +{ + foreach(symbol key, vserver_entries, { + string name = substring(tostring(key), 1); // remove '`' char + list val_old = l_vserver_conf[name]:[]; + string val_new = (string)UI::QueryWidget(key, `Value); + if (size(val_new) > 0) + l_vserver_conf[name] = [val_new]; + else if (size(val_old) > 0) + // assigning nil to remove it from conf file + l_vserver_conf[name] = nil; + }); + return l_vserver_conf; +} + +any real_ip_input_dialog(string title,string value) + { + any ret=nil; + //split the real server ip value; + y2milestone("%1",value); + string ip=""; + string fwd_method=""; + integer weight=1; + integer pos=0; + + list<string> real_ip=splitstring(value," \t"); + ip=real_ip[0]:""; + fwd_method=real_ip[1]:""; + if(real_ip[2]:""!="") + weight=tointeger(real_ip[2]:"1"); + + term layout=`VBox( + `HBox( + `InputField(`id(`ip),`opt(`hstretch),_("Real Server's IP Address"),"") + ), + `HBox( + `ComboBox(`id(`fwd_method),_("Forward Method"),["gate","ipip","masq"]), + `IntField(`id(`weight),_("weight"),0,65535,1) + ), + `VSpacing(1), + `Right(`HBox( + `PushButton(`id(`ok),_("OK")), + `PushButton(`id(`cancel),_("Cancel")) + )) + + ); + + UI::OpenDialog(layout); + + UI::ChangeWidget(`ip,`Value,ip); + UI::ChangeWidget(`fwd_method,`Value,fwd_method); + UI::ChangeWidget(`weight,`Value,weight); + while(true){ + ret = UI::UserInput(); + if(ret == `ok ){ + string ip=(string)UI::QueryWidget(`id(`ip),`Value); + integer pos=0; + + //get ipv6 and ipv4 address + //check IP Address for real server; + if(find(ip,"[")==0){//means ip has [ + //find next ] + pos=find(ip,"]"); + if(pos!=nil) + ip=substring(ip,1,pos-1); + }else + { + pos=find(ip,":"); + if(pos!=nil) + ip=substring(ip,0,pos-1); + } + + y2milestone("ip is %1",ip); + if(IP::Check(ip)==false){ + Popup::Message("IP address is not Valid"); + continue; + } + // if(IP::Check6((string)UI::QueryWidget(`id(`ip),`Value))==true) + // ret="["+(string)UI::QueryWidget(`id(`ip),`Value)+"]"; + // else + // ret=(string)UI::QueryWidget(`id(`ip),`Value); + + ret=(string)UI::QueryWidget(`id(`ip),`Value); + // if((integer)UI::QueryWidget(`port,`Value)!=0) + // ret=":"+(integer)UI::QueryWidget(`port,`Value); + if(UI::QueryWidget(`fwd_method,`Value)!=nil) + ret=(string)ret+" "+(string)UI::QueryWidget(`fwd_method,`Value); + if(UI::QueryWidget(`weight,`Value)!=1) + ret=(string)ret+" "+(integer)UI::QueryWidget(`weight,`Value); + break; + } + if(ret == `cancel) + break; + } + UI::CloseDialog(); + return ret; + } + + +// return `ok or `cancel +any vserver_dialog(string vserver_name) +{ + any ret = nil; + map l_vserver_conf = Iplb::vserver_conf[vserver_name]:$[]; + y2milestone("___iplbdebug___ v=%2, l_v_c=%1", l_vserver_conf, vserver_name); + + my_SetContents("vserver_conf", vserver_layout(l_vserver_conf)); + fill_vserver_entries(l_vserver_conf); + UI::ChangeWidget(`vserver, `Value, vserver_name); + + while(true) { + // calculate the cursor position + integer n = size(l_vserver_conf["real"]:[]); + integer cursor = (integer)UI::QueryWidget(`rserver_box, `CurrentItem); + if (cursor == nil) cursor = 0; + if (cursor >= n) cursor = n - 1; + + // fill the rserver box, set the cursor position + // make the index of real list as the id of element of the rserver selectbox + integer i = 0; + list<term> rs_box = []; + foreach (string value, l_vserver_conf["real"]:[], { + rs_box = add(rs_box, `item(`id(i), value)); + i = i + 1; + }); + UI::ChangeWidget(`rserver_box, `Items, rs_box); + UI::ChangeWidget(`rserver_box, `CurrentItem, cursor); + + // disable the delete & edit button if rservers box is empty + UI::ChangeWidget(`rserver_del, `Enabled, (n!=0)); + UI::ChangeWidget(`rserver_edit, `Enabled, (n!=0)); + + ret = UI::UserInput(); + y2debug("___iplbdebug___ input=%1", ret); + + if (ret == `rserver_add) { + ret = real_ip_input_dialog("Add a new real server:",""); + if (ret != `cancel){ + y2milestone("%1",(string)ret); + l_vserver_conf["real"] = add(l_vserver_conf["real"]:[], ret); + } + continue; + } + + if (ret == `rserver_edit) { + integer current = (integer)UI::QueryWidget(`rserver_box, `CurrentItem); + ret = real_ip_input_dialog("Edit the real server:", + l_vserver_conf["real", current]:""); + if (ret != `cancel) l_vserver_conf["real", current] = ret; + continue; + } + + if (ret == `rserver_del) { + integer current = (integer)UI::QueryWidget(`rserver_box, `CurrentItem); + l_vserver_conf["real"] = remove(l_vserver_conf["real"]:[], current); + continue; + } + + if (ret == `ok) { + l_vserver_conf = retrieve_vserver_entries(l_vserver_conf); + Iplb::vserver_conf[vserver_name] = nil; + vserver_name = (string)UI::QueryWidget(`vserver, `Value); + Iplb::vserver_conf[vserver_name] = l_vserver_conf; + break; + } + + if (ret == `cancel) break; + + y2debug("___iplbdebug___ unknown input %1", ret); + } + + return ret; +} + + +any vserver_add_dialog() +{ + any ret = nil; + ret = vserver_dialog(""); + return ret; +} + + +any vserver_edit_dialog() +{ + any ret = nil; + string vserver_name = (string) UI::QueryWidget(`id(`vserver_box), `CurrentItem); + ret = vserver_dialog(vserver_name); + + return ret; +} + + +/* EOF */ +} Added: trunk/iplb/yast2-iplb.spec.in URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/yast2-iplb.spec.in?rev=67509&view=auto ============================================================================== --- trunk/iplb/yast2-iplb.spec.in (added) +++ trunk/iplb/yast2-iplb.spec.in Wed Feb 22 11:55:23 2012 @@ -0,0 +1,31 @@ +@HEADER-COMMENT@ + +@HEADER@ +Requires: yast2 +BuildRequires: perl-XML-Writer update-desktop-files yast2 yast2-devtools yast2-testsuite + +BuildArchitectures: noarch + +Summary: Configuration of iplb + +%description +- + +@PREP@ + +@BUILD@ + +@INSTALL@ + +@CLEAN@ + +%files +%defattr(-,root,root) +%dir @yncludedir@/iplb +@yncludedir@/iplb/* +@clientdir@/iplb.ycp +@clientdir@/iplb_*.ycp +@moduledir@/Iplb.* +@moduledir@/Iplb2.* +@desktopdir@/iplb.desktop +%doc @docdir@ -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org