YaST Commits
Threads by month
- ----- 2024 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
February 2012
- 15 participants
- 214 discussions
Author: mfilka
Date: Wed Feb 22 15:08:00 2012
New Revision: 67517
URL: http://svn.opensuse.org/viewcvs/yast?rev=67517&view=rev
Log:
Removed tag stable-2_22_4 for yast2
Removed:
tags/stable-2_22_4/yast2/
--
To unsubscribe, e-mail: yast-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org
1
0
22 Feb '12
Author: mfilka
Date: Wed Feb 22 15:05:40 2012
New Revision: 67516
URL: http://svn.opensuse.org/viewcvs/yast?rev=67516&view=rev
Log:
- updated changelog
Modified:
trunk/yast2/package/yast2.changes
Modified: trunk/yast2/package/yast2.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/package/yast2.changes?rev=…
==============================================================================
--- trunk/yast2/package/yast2.changes (original)
+++ trunk/yast2/package/yast2.changes Wed Feb 22 15:05:40 2012
@@ -2,6 +2,7 @@
Wed Feb 22 12:57:01 UTC 2012 - mfilka(a)suse.com
- bnc#694582 - addedd @ as it is allowed in authority part of URI.
+- fixed testsuite for WorkFlow.ycp - corrupted due to previous commit
- 2.22.4
-------------------------------------------------------------------
--
To unsubscribe, e-mail: yast-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org
1
0
[yast-commit] r67515 - /trunk/yast2/library/control/testsuite/tests/WorkflowManager.ycp
by mfilka@svn2.opensuse.org 22 Feb '12
by mfilka@svn2.opensuse.org 22 Feb '12
22 Feb '12
Author: mfilka
Date: Wed Feb 22 14:58:21 2012
New Revision: 67515
URL: http://svn.opensuse.org/viewcvs/yast?rev=67515&view=rev
Log:
fixed testcase for WorkFlow.ycp (corrupted due to fix in FileUtils::Exists)
Modified:
trunk/yast2/library/control/testsuite/tests/WorkflowManager.ycp
Modified: trunk/yast2/library/control/testsuite/tests/WorkflowManager.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/control/testsuite/…
==============================================================================
--- trunk/yast2/library/control/testsuite/tests/WorkflowManager.ycp (original)
+++ trunk/yast2/library/control/testsuite/tests/WorkflowManager.ycp Wed Feb 22 14:58:21 2012
@@ -7,6 +7,7 @@
map READ = $[
"target" : $[
"size" : 0,
+ "stat" : $[ "dummy": true ]
],
];
@@ -14,7 +15,9 @@
map EXEC = $[];
-TESTSUITE_INIT([READ, WRITE, EXEC], nil);
+list MOCK = [READ, WRITE, EXEC];
+
+TESTSUITE_INIT( MOCK, nil);
import "WorkflowManager";
import "ProductControl";
@@ -28,29 +31,29 @@
// init <--
-TEST (``(WorkflowManager::SetBaseWorkflow (false)), [], nil);
+TEST (``(WorkflowManager::SetBaseWorkflow (false)), MOCK, nil);
DUMP ("");
DUMP ("Adding new Add-On product");
-TEST (``(WorkflowManager::AddWorkflow (`addon, 3, "")), [], nil);
-TEST (``(WorkflowManager::GetAllUsedControlFiles ()), [], nil);
+TEST (``(WorkflowManager::AddWorkflow (`addon, 3, "")), MOCK, nil);
+TEST (``(WorkflowManager::GetAllUsedControlFiles ()), MOCK, nil);
DUMP ("");
DUMP ("Adding another Add-On product");
-TEST (``(WorkflowManager::AddWorkflow (`addon, 12, "")), [], nil);
-TEST (``(WorkflowManager::GetAllUsedControlFiles ()), [], nil);
+TEST (``(WorkflowManager::AddWorkflow (`addon, 12, "")), MOCK, nil);
+TEST (``(WorkflowManager::GetAllUsedControlFiles ()), MOCK, nil);
DUMP ("");
DUMP ("Removing the first Add-On product");
-TEST (``(WorkflowManager::RemoveWorkflow (`addon, 3, "")), [], nil);
-TEST (``(WorkflowManager::GetAllUsedControlFiles ()), [], nil);
+TEST (``(WorkflowManager::RemoveWorkflow (`addon, 3, "")), MOCK, nil);
+TEST (``(WorkflowManager::GetAllUsedControlFiles ()), MOCK, nil);
DUMP ("");
DUMP ("Removing the first Add-On product");
-TEST (``(WorkflowManager::MergeWorkflows ()), [READ, WRITE, EXEC], nil);
+TEST (``(WorkflowManager::MergeWorkflows ()), MOCK, nil);
DUMP ("");
DUMP ("Current Settings");
-TEST (``(WorkflowManager::DumpCurrentSettings ()), [], nil);
+TEST (``(WorkflowManager::DumpCurrentSettings ()), MOCK, nil);
}
--
To unsubscribe, e-mail: yast-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org
1
0
Author: mfilka
Date: Wed Feb 22 14:01:11 2012
New Revision: 67514
URL: http://svn.opensuse.org/viewcvs/yast?rev=67514&view=rev
Log:
Created tag stable-2_22_4 for yast2
Added:
tags/stable-2_22_4/yast2/ (props changed)
- copied from r67513, trunk/yast2/
--
To unsubscribe, e-mail: yast-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org
1
0
[yast-commit] r67513 - in /trunk/yast2: VERSION library/types/src/URL.ycp package/yast2.changes
by mfilka@svn2.opensuse.org 22 Feb '12
by mfilka@svn2.opensuse.org 22 Feb '12
22 Feb '12
Author: mfilka
Date: Wed Feb 22 13:59:55 2012
New Revision: 67513
URL: http://svn.opensuse.org/viewcvs/yast?rev=67513&view=rev
Log:
- Can configure proxy with username/password in url - bnc#694582
Modified:
trunk/yast2/VERSION
trunk/yast2/library/types/src/URL.ycp
trunk/yast2/package/yast2.changes
Modified: trunk/yast2/VERSION
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/VERSION?rev=67513&r1=67512…
==============================================================================
--- trunk/yast2/VERSION (original)
+++ trunk/yast2/VERSION Wed Feb 22 13:59:55 2012
@@ -1 +1 @@
-2.22.3
+2.22.4
Modified: trunk/yast2/library/types/src/URL.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/library/types/src/URL.ycp?…
==============================================================================
--- trunk/yast2/library/types/src/URL.ycp (original)
+++ trunk/yast2/library/types/src/URL.ycp Wed Feb 22 13:59:55 2012
@@ -29,8 +29,12 @@
/**
* Valid characters in URL
+ *
+ * bnc#694582 - addedd @ as it is allowed in authority part of URI.
+ * for details see RFC2616 and RFC2396
+ *
*/
-global string ValidChars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.:_-/%";
+global string ValidChars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.:_-/%@";
/**
Modified: trunk/yast2/package/yast2.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/yast2/package/yast2.changes?rev=…
==============================================================================
--- trunk/yast2/package/yast2.changes (original)
+++ trunk/yast2/package/yast2.changes Wed Feb 22 13:59:55 2012
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Wed Feb 22 12:57:01 UTC 2012 - mfilka(a)suse.com
+
+- bnc#694582 - addedd @ as it is allowed in authority part of URI.
+- 2.22.4
+
+-------------------------------------------------------------------
Tue Jan 31 14:44:38 CET 2012 - tgoettlicher(a)suse.de
- Fixed typo
--
To unsubscribe, e-mail: yast-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org
1
0
[yast-commit] r67512 - /tags/stable-2_22_2/product-creator/
by jsuchome@svn2.opensuse.org 22 Feb '12
by jsuchome@svn2.opensuse.org 22 Feb '12
22 Feb '12
Author: jsuchome
Date: Wed Feb 22 13:26:20 2012
New Revision: 67512
URL: http://svn.opensuse.org/viewcvs/yast?rev=67512&view=rev
Log:
Created tag stable-2_22_2 for product-creator
Added:
tags/stable-2_22_2/product-creator/
- copied from r67511, trunk/product-creator/
--
To unsubscribe, e-mail: yast-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org
1
0
[yast-commit] r67511 - in /trunk/product-creator: VERSION package/yast2-product-creator.changes src/Kiwi.ycp src/kiwi_dialogs.ycp
by jsuchome@svn2.opensuse.org 22 Feb '12
by jsuchome@svn2.opensuse.org 22 Feb '12
22 Feb '12
Author: jsuchome
Date: Wed Feb 22 13:25:45 2012
New Revision: 67511
URL: http://svn.opensuse.org/viewcvs/yast?rev=67511&view=rev
Log:
- do not show duplicates in locale entry (bnc#748122)
- 2.22.2
Modified:
trunk/product-creator/VERSION
trunk/product-creator/package/yast2-product-creator.changes
trunk/product-creator/src/Kiwi.ycp
trunk/product-creator/src/kiwi_dialogs.ycp
Modified: trunk/product-creator/VERSION
URL: http://svn.opensuse.org/viewcvs/yast/trunk/product-creator/VERSION?rev=6751…
==============================================================================
--- trunk/product-creator/VERSION (original)
+++ trunk/product-creator/VERSION Wed Feb 22 13:25:45 2012
@@ -1 +1 @@
-2.22.1
+2.22.2
Modified: trunk/product-creator/package/yast2-product-creator.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/product-creator/package/yast2-pr…
==============================================================================
--- trunk/product-creator/package/yast2-product-creator.changes (original)
+++ trunk/product-creator/package/yast2-product-creator.changes Wed Feb 22 13:25:45 2012
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Wed Feb 22 13:19:58 CET 2012 - jsuchome(a)suse.cz
+
+- do not show duplicates in locale entry (bnc#748122)
+- 2.22.2
+
+-------------------------------------------------------------------
Wed Jan 25 10:16:54 CET 2012 - jsuchome(a)suse.cz
- confirmed license
Modified: trunk/product-creator/src/Kiwi.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/product-creator/src/Kiwi.ycp?rev…
==============================================================================
--- trunk/product-creator/src/Kiwi.ycp (original)
+++ trunk/product-creator/src/Kiwi.ycp Wed Feb 22 13:25:45 2012
@@ -100,7 +100,7 @@
string logs_directory = "/tmp";
// all available locales
- global list<string> all_locales = [];
+ global map<string,integer> all_locales = $[];
// all available time zones
global list<string> all_timezones = [];
Modified: trunk/product-creator/src/kiwi_dialogs.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/product-creator/src/kiwi_dialogs…
==============================================================================
--- trunk/product-creator/src/kiwi_dialogs.ycp (original)
+++ trunk/product-creator/src/kiwi_dialogs.ycp Wed Feb 22 13:25:45 2012
@@ -652,15 +652,16 @@
string lang = KiwiConfig["preferences",0,id,0,content_key]:"";
list items = [];
- if (Kiwi::all_locales == [])
+ if (Kiwi::all_locales == $[])
{
map out = (map) SCR::Execute (.target.bash_output, "/usr/bin/locale -a");
- Kiwi::all_locales = filter (string s, splitstring (out["stdout"]:"", "\n"), {
- return s != "";
+ foreach (string line, splitstring (out["stdout"]:"", "\n"), {
+ string code = splitstring (line, ".@")[0]:line;
+ if (code != "")
+ Kiwi::all_locales[code] = 1;
});
}
- foreach (string line, Kiwi::all_locales, {
- string code = splitstring (line, ".@")[0]:line;
+ foreach (string code, integer i, Kiwi::all_locales, {
items = add (items, `item (`id (code), code, lang == code));
});
--
To unsubscribe, e-mail: yast-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org
1
0
[yast-commit] r67510 - in /trunk/s390: package/yast2-s390.changes src/dasd/dialogs.ycp src/modules/ZFCPController.ycp src/zfcp/dialogs.ycp
by aschnell@svn2.opensuse.org 22 Feb '12
by aschnell@svn2.opensuse.org 22 Feb '12
22 Feb '12
Author: aschnell
Date: Wed Feb 22 12:43:25 2012
New Revision: 67510
URL: http://svn.opensuse.org/viewcvs/yast?rev=67510&view=rev
Log:
- more input checks
- some fixes
Modified:
trunk/s390/package/yast2-s390.changes
trunk/s390/src/dasd/dialogs.ycp
trunk/s390/src/modules/ZFCPController.ycp
trunk/s390/src/zfcp/dialogs.ycp
Modified: trunk/s390/package/yast2-s390.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/s390/package/yast2-s390.changes?…
==============================================================================
--- trunk/s390/package/yast2-s390.changes (original)
+++ trunk/s390/package/yast2-s390.changes Wed Feb 22 12:43:25 2012
@@ -1,4 +1,9 @@
-------------------------------------------------------------------
+Wed Feb 22 12:21:42 CET 2012 - aschnell(a)suse.de
+
+- make ZFCP module work with AutoYaST editor
+
+-------------------------------------------------------------------
Wed Feb 15 11:25:49 CET 2012 - aschnell(a)suse.de
- make DASD module work with AutoYaST editor
Modified: trunk/s390/src/dasd/dialogs.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/s390/src/dasd/dialogs.ycp?rev=67…
==============================================================================
--- trunk/s390/src/dasd/dialogs.ycp (original)
+++ trunk/s390/src/dasd/dialogs.ycp Wed Feb 22 12:43:25 2012
@@ -529,8 +529,7 @@
if (DASDController::GetDeviceIndex(channel) != nil)
{
// error popup
- Popup::Error(_("Channel already exists."));
- UI::SetFocus(`channel);
+ Popup::Error(_("Device already exists."));
ret = nil;
continue;
}
Modified: trunk/s390/src/modules/ZFCPController.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/s390/src/modules/ZFCPController.…
==============================================================================
--- trunk/s390/src/modules/ZFCPController.ycp (original)
+++ trunk/s390/src/modules/ZFCPController.ycp Wed Feb 22 12:43:25 2012
@@ -182,9 +182,9 @@
if (!Mode::normal())
{
foreach (integer index, map<string, any> device, devices, {
- string channel = device["controller_id"]:"";
- string wwpn = device["wwpn"]:"";
- string lun = device["fcp_lun"]:"";
+ string channel = device["detail", "controller_id"]:"";
+ string wwpn = device["detail", "wwpn"]:"";
+ string lun = device["detail", "fcp_lun"]:"";
ActivateDisk(channel, wwpn, lun);
});
}
@@ -313,11 +313,13 @@
global integer
- GetDeviceIndex(string channel)
+ GetDeviceIndex(string channel, string wwpn, string lun)
{
integer ret = nil;
foreach(integer index , map<string, any> d, devices, {
- if (d["channel"]:"" == channel)
+ if (d["detail", "controller_id"]:"" == channel &&
+ d["detail", "wwpn"]:"" == wwpn &&
+ d["detail", "fcp_lun"]:"" == lun)
ret = index;
});
return ret;
@@ -367,6 +369,10 @@
return c["device"]:"" == "zFCP controller";
});
+ controllers = maplist (map<string, any> c, controllers, {
+ return filter(string k, any v, c, { return contains([ "sysfs_bus_id" ], k); });
+ });
+
y2milestone ("probed ZFCP controllers %1", controllers);
}
return controllers;
@@ -399,6 +405,10 @@
list<map<string, any> > disks_tapes = (list<map<string, any> >) merge(disks, tapes);
+ disks_tapes = maplist (map<string, any> d, disks_tapes, {
+ return filter(string k, any v, d, { return contains([ "dev_name", "detail" ], k); });
+ });
+
integer index = -1;
devices = listmap (map<string, any> d, disks_tapes, {
index = index + 1;
Modified: trunk/s390/src/zfcp/dialogs.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/s390/src/zfcp/dialogs.ycp?rev=67…
==============================================================================
--- trunk/s390/src/zfcp/dialogs.ycp (original)
+++ trunk/s390/src/zfcp/dialogs.ycp Wed Feb 22 12:43:25 2012
@@ -243,7 +243,8 @@
string caption = _("Add New ZFCP Device");
string fcp_lun = ZFCPController::previous_settings["fcp_lun"]:"";
- fcp_lun = ZFCPController::GetNextLUN(fcp_lun);
+ if (!isempty(fcp_lun))
+ fcp_lun = ZFCPController::GetNextLUN(fcp_lun);
list<string> items = [];
if (Mode::config ())
@@ -252,13 +253,11 @@
return d["detail", "controller_id"]:"";
});
items = toset (items);
- items = filter (string i, items, { return i != "" && i != nil; });
}
else
{
items = maplist (map<string, any> c, ZFCPController::GetControllers(), {
- string channel = c["sysfs_bus_id"]:"";
- return channel;
+ return c["sysfs_bus_id"]:"";
});
}
@@ -391,6 +390,18 @@
ret = nil;
continue;
}
+
+ channel = ZFCPController::FormatChannel(channel);
+ wwpn = ZFCPController::FormatWWPN(wwpn);
+ fcp_lun = ZFCPController::FormatFCPLUN(fcp_lun);
+
+ if (ZFCPController::GetDeviceIndex(channel, wwpn, fcp_lun) != nil)
+ {
+ // error popup
+ Popup::Error(_("Device already exists."));
+ ret = nil;
+ continue;
+ }
}
}
@@ -423,6 +434,8 @@
else
{
ZFCPController::ActivateDisk (channel, wwpn, lun);
+
+ ZFCPController::ProbeDisks();
}
}
--
To unsubscribe, e-mail: yast-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org
1
0
[yast-commit] r67509 - in /trunk/iplb: ./ agents/ doc/ doc/autodocs/ package/ src/ testsuite/ testsuite/tests/
by deanraccoon@svn2.opensuse.org 22 Feb '12
by deanraccoon@svn2.opensuse.org 22 Feb '12
22 Feb '12
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=a…
==============================================================================
--- 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=a…
==============================================================================
--- trunk/iplb/MAINTAINER (added)
+++ trunk/iplb/MAINTAINER Wed Feb 22 11:55:23 2012
@@ -0,0 +1 @@
+dmzhang(a)suse.com
Added: trunk/iplb/Makefile.cvs
URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/Makefile.cvs?rev=67509&view…
==============================================================================
--- 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…
==============================================================================
--- 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=6750…
==============================================================================
--- 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&v…
==============================================================================
--- 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&v…
==============================================================================
--- 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&vi…
==============================================================================
--- 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…
==============================================================================
--- 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(a)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&v…
==============================================================================
--- 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&v…
==============================================================================
--- 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…
==============================================================================
--- 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=6…
==============================================================================
--- 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(a)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?re…
==============================================================================
--- 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?re…
==============================================================================
--- 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=6750…
==============================================================================
--- 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?…
==============================================================================
--- 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(a)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&vi…
==============================================================================
--- 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…
==============================================================================
--- 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(a)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&v…
==============================================================================
--- 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&vi…
==============================================================================
--- 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&v…
==============================================================================
--- 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(a)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&v…
==============================================================================
--- 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(a)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=675…
==============================================================================
--- 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&vie…
==============================================================================
--- 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(a)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&…
==============================================================================
--- 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…
==============================================================================
--- 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(a)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…
==============================================================================
--- 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(a)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=6…
==============================================================================
--- 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(a)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=67…
==============================================================================
--- 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&v…
==============================================================================
--- 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(a)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=67…
==============================================================================
--- 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=6750…
==============================================================================
--- 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(a)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=6…
==============================================================================
--- 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=6…
==============================================================================
--- 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?…
==============================================================================
(empty)
Added: trunk/iplb/testsuite/tests/Iplb.err
URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/testsuite/tests/Iplb.err?re…
==============================================================================
(empty)
Added: trunk/iplb/testsuite/tests/Iplb.out
URL: http://svn.opensuse.org/viewcvs/yast/trunk/iplb/testsuite/tests/Iplb.out?re…
==============================================================================
--- 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?re…
==============================================================================
--- 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&…
==============================================================================
--- 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=6750…
==============================================================================
--- 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(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org
1
0
22 Feb '12
Author: deanraccoon
Date: Wed Feb 22 11:44:56 2012
New Revision: 67508
URL: http://svn.opensuse.org/viewcvs/yast?rev=67508&view=rev
Log:
edit maintainer
Modified:
trunk/cluster/MAINTAINER
Modified: trunk/cluster/MAINTAINER
URL: http://svn.opensuse.org/viewcvs/yast/trunk/cluster/MAINTAINER?rev=67508&r1=…
==============================================================================
--- trunk/cluster/MAINTAINER (original)
+++ trunk/cluster/MAINTAINER Wed Feb 22 11:44:56 2012
@@ -1 +1 @@
-XWHu(a)suse.com
+dmzhang(a)suse.com
--
To unsubscribe, e-mail: yast-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: yast-commit+help(a)opensuse.org
1
0