Mailinglist Archive: yast-commit (2114 mails)

< Previous Next >
[yast-commit] r58763 - in /branches/SuSE-Code-11-SP1-Branch: ./ add-on/ add-on/package/ add-on/src/ apparmor/ apparmor/package/ apparmor/src/include/subdomain/ autoinstallation/package/ autoinstallation/src/clie...
  • From: jsrain@xxxxxxxxxxxxxxxx
  • Date: Fri, 25 Sep 2009 06:21:50 -0000
  • Message-id: <E1Mr4Bk-0000oQ-Cg@xxxxxxxxxxxxxxxx>
Author: jsrain
Date: Fri Sep 25 08:21:48 2009
New Revision: 58763

URL: http://svn.opensuse.org/viewcvs/yast?rev=58763&view=rev
Log:
merged the tmp/SLE-11-SP1-Stash branch

Added:
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/schema/pxe.rnc
- copied unchanged from r58762,
branches/tmp/SLE-11-SP1-Stash/autoinstallation/src/schema/pxe.rnc
branches/SuSE-Code-11-SP1-Branch/printer/agents/
- copied from r58762, branches/tmp/SLE-11-SP1-Stash/printer/agents/
branches/SuSE-Code-11-SP1-Branch/printer/agents/Makefile.am
- copied unchanged from r58762,
branches/tmp/SLE-11-SP1-Stash/printer/agents/Makefile.am
branches/SuSE-Code-11-SP1-Branch/printer/agents/ag_cups
- copied unchanged from r58762,
branches/tmp/SLE-11-SP1-Stash/printer/agents/ag_cups
branches/SuSE-Code-11-SP1-Branch/printer/agents/cfg_cups.scr
- copied unchanged from r58762,
branches/tmp/SLE-11-SP1-Stash/printer/agents/cfg_cups.scr
Modified:
branches/SuSE-Code-11-SP1-Branch/ (props changed)
branches/SuSE-Code-11-SP1-Branch/add-on/package/yast2-add-on.changes
branches/SuSE-Code-11-SP1-Branch/add-on/src/add-on-workflow.ycp
branches/SuSE-Code-11-SP1-Branch/add-on/src/add-on_proposal.ycp
branches/SuSE-Code-11-SP1-Branch/add-on/yast2-add-on.spec.in
branches/SuSE-Code-11-SP1-Branch/apparmor/ (props changed)
branches/SuSE-Code-11-SP1-Branch/apparmor/package/yast2-apparmor.changes

branches/SuSE-Code-11-SP1-Branch/apparmor/src/include/subdomain/reporting_dialogues.ycp
branches/SuSE-Code-11-SP1-Branch/autoinstallation/package/autoyast2.changes

branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/clients/inst_autoconfigure.ycp

branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/dialogs/partition_dialogs.ycp
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/include/autopart.ycp
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/include/conftree.ycp
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/include/io.ycp
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/include/xml.ycp

branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/AutoinstLVM.ycp

branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/AutoinstPartPlan.ycp

branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/AutoinstPartition.ycp
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/Profile.ycp

branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/Y2ModuleConfig.ycp
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/schema/classes-use.rnc
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/schema/rules.rnc
branches/SuSE-Code-11-SP1-Branch/backup/package/yast2-backup.changes
branches/SuSE-Code-11-SP1-Branch/backup/src/Backup.ycp
branches/SuSE-Code-11-SP1-Branch/backup/src/functions.ycp
branches/SuSE-Code-11-SP1-Branch/backup/src/help_texts.ycp
branches/SuSE-Code-11-SP1-Branch/backup/src/ui.ycp
branches/SuSE-Code-11-SP1-Branch/bootloader/package/yast2-bootloader.changes
branches/SuSE-Code-11-SP1-Branch/bootloader/src/clients/bootloader.ycp
branches/SuSE-Code-11-SP1-Branch/core/ (props changed)
branches/SuSE-Code-11-SP1-Branch/core/libycp/src/YCPBuiltinList.cc
branches/SuSE-Code-11-SP1-Branch/core/package/yast2-core.changes
branches/SuSE-Code-11-SP1-Branch/country/language/data/language_sr_RS.ycp
(props changed)
branches/SuSE-Code-11-SP1-Branch/dns-server/package/yast2-dns-server.changes
branches/SuSE-Code-11-SP1-Branch/dns-server/src/dialog-main.ycp
branches/SuSE-Code-11-SP1-Branch/firstboot/package/yast2-firstboot.changes

branches/SuSE-Code-11-SP1-Branch/firstboot/scripts/Firstboot-Stage/S08-start
(props changed)

branches/SuSE-Code-11-SP1-Branch/firstboot/scripts/Firstboot-Stage/S09-cleanup
(props changed)
branches/SuSE-Code-11-SP1-Branch/gtk/src/YGText.cc (props changed)
branches/SuSE-Code-11-SP1-Branch/http-server/VERSION
branches/SuSE-Code-11-SP1-Branch/http-server/agents/ag_http_server

branches/SuSE-Code-11-SP1-Branch/http-server/package/yast2-http-server.changes
branches/SuSE-Code-11-SP1-Branch/http-server/src/HttpServerWidgets.ycp
branches/SuSE-Code-11-SP1-Branch/http-server/src/YaPI/HTTPD.pm
branches/SuSE-Code-11-SP1-Branch/http-server/src/YaPI/HTTPDModules.pm
branches/SuSE-Code-11-SP1-Branch/http-server/src/http-server.desktop
branches/SuSE-Code-11-SP1-Branch/installation/control/control.SLED.xml
(contents, props changed)
branches/SuSE-Code-11-SP1-Branch/installation/control/control.SLES.xml
branches/SuSE-Code-11-SP1-Branch/installation/control/control.openSUSE.xml

branches/SuSE-Code-11-SP1-Branch/installation/doc/inst_images/details.xml.example
(props changed)

branches/SuSE-Code-11-SP1-Branch/installation/doc/inst_images/images.xml.example
(props changed)

branches/SuSE-Code-11-SP1-Branch/installation/package/yast2-installation.changes

branches/SuSE-Code-11-SP1-Branch/installation/src/clients/inst_complex_welcome.ycp
branches/SuSE-Code-11-SP1-Branch/installation/src/clients/inst_mode.ycp

branches/SuSE-Code-11-SP1-Branch/installation/src/clients/inst_system_analysis.ycp

branches/SuSE-Code-11-SP1-Branch/installation/src/clients/installation_settings_finish.ycp
(props changed)
branches/SuSE-Code-11-SP1-Branch/installation/src/modules/Vendor.ycp
branches/SuSE-Code-11-SP1-Branch/iscsi-client/VERSION

branches/SuSE-Code-11-SP1-Branch/iscsi-client/package/yast2-iscsi-client.changes
branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/IscsiClient.ycp
branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/IscsiClientLib.ycp
branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/dialogs.ycp
branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/helps.ycp
branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/iscsi-client.desktop
branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/iscsi-client_auto.ycp
branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/widgets.ycp
branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/wizards.ycp
branches/SuSE-Code-11-SP1-Branch/iscsi-server/VERSION

branches/SuSE-Code-11-SP1-Branch/iscsi-server/package/yast2-iscsi-server.changes
branches/SuSE-Code-11-SP1-Branch/iscsi-server/src/IscsiServer.ycp
branches/SuSE-Code-11-SP1-Branch/iscsi-server/src/IscsiServerFunctions.pm
branches/SuSE-Code-11-SP1-Branch/iscsi-server/src/dialogs.ycp
branches/SuSE-Code-11-SP1-Branch/ldap-server/ (props changed)

branches/SuSE-Code-11-SP1-Branch/ncurses-pkg/package/yast2-ncurses-pkg.changes
(props changed)
branches/SuSE-Code-11-SP1-Branch/ncurses-pkg/src/NCPkgFilterPattern.cc
(props changed)
branches/SuSE-Code-11-SP1-Branch/ncurses-pkg/src/NCPkgFilterPattern.h
(props changed)
branches/SuSE-Code-11-SP1-Branch/ncurses-pkg/src/NCPkgFilterRPMGroups.cc
(props changed)
branches/SuSE-Code-11-SP1-Branch/ncurses-pkg/src/NCPkgFilterRPMGroups.h
(props changed)
branches/SuSE-Code-11-SP1-Branch/ncurses-pkg/src/NCPkgFilterRepo.cc
(props changed)
branches/SuSE-Code-11-SP1-Branch/ncurses-pkg/src/NCPkgFilterRepo.h (props
changed)
branches/SuSE-Code-11-SP1-Branch/ncurses-pkg/src/NCPkgFilterSearch.cc
(props changed)
branches/SuSE-Code-11-SP1-Branch/ncurses-pkg/src/NCPkgFilterSearch.h
(props changed)
branches/SuSE-Code-11-SP1-Branch/ncurses-pkg/src/NCPkgStrings.cc (props
changed)
branches/SuSE-Code-11-SP1-Branch/ncurses-pkg/src/NCPkgStrings.h (props
changed)
branches/SuSE-Code-11-SP1-Branch/network/VERSION
branches/SuSE-Code-11-SP1-Branch/network/package/yast2-network.changes
branches/SuSE-Code-11-SP1-Branch/network/src/clients/dns.ycp
branches/SuSE-Code-11-SP1-Branch/network/src/clients/lan_auto.ycp
branches/SuSE-Code-11-SP1-Branch/network/src/clients/save_network.ycp
branches/SuSE-Code-11-SP1-Branch/network/src/config/networking.rnc
branches/SuSE-Code-11-SP1-Branch/network/src/lan/Makefile.am
branches/SuSE-Code-11-SP1-Branch/network/src/lan/YaPI/ (props changed)
branches/SuSE-Code-11-SP1-Branch/network/src/lan/YaPI/NETWORK.pm
branches/SuSE-Code-11-SP1-Branch/network/src/lan/address.ycp
branches/SuSE-Code-11-SP1-Branch/network/src/lan/bridge.ycp
branches/SuSE-Code-11-SP1-Branch/network/src/lan/complex.ycp
branches/SuSE-Code-11-SP1-Branch/network/src/lan/hardware.ycp
branches/SuSE-Code-11-SP1-Branch/network/src/lan/help.ycp
branches/SuSE-Code-11-SP1-Branch/network/src/lan/virtual.ycp
branches/SuSE-Code-11-SP1-Branch/network/src/modules/Lan.ycp
branches/SuSE-Code-11-SP1-Branch/network/src/modules/LanItems.ycp
branches/SuSE-Code-11-SP1-Branch/network/src/modules/Provider.ycp
branches/SuSE-Code-11-SP1-Branch/network/src/modules/Routing.ycp
branches/SuSE-Code-11-SP1-Branch/network/src/routines/routines.ycp
branches/SuSE-Code-11-SP1-Branch/network/src/services/proxy.ycp
branches/SuSE-Code-11-SP1-Branch/network/testsuite/tests/Routing.out
branches/SuSE-Code-11-SP1-Branch/network/yast2-network.spec.in
branches/SuSE-Code-11-SP1-Branch/nfs-client/VERSION
branches/SuSE-Code-11-SP1-Branch/nfs-client/package/yast2-nfs-client.changes
branches/SuSE-Code-11-SP1-Branch/nfs-client/src/Nfs.ycp
branches/SuSE-Code-11-SP1-Branch/nfs-client/src/ui.ycp
branches/SuSE-Code-11-SP1-Branch/nfs-server/ (props changed)
branches/SuSE-Code-11-SP1-Branch/ntp-client/ (props changed)
branches/SuSE-Code-11-SP1-Branch/packager/package/yast2-packager.changes
branches/SuSE-Code-11-SP1-Branch/packager/src/modules/AddOnProduct.ycp

branches/SuSE-Code-11-SP1-Branch/packager/src/modules/PackageInstallation.ycp
branches/SuSE-Code-11-SP1-Branch/packager/src/modules/PackageSlideShow.ycp
branches/SuSE-Code-11-SP1-Branch/packager/src/modules/Packages.ycp
branches/SuSE-Code-11-SP1-Branch/packager/src/modules/SlideShowCallbacks.ycp

branches/SuSE-Code-11-SP1-Branch/pkg-bindings/package/yast2-pkg-bindings.changes
branches/SuSE-Code-11-SP1-Branch/pkg-bindings/src/Source_Load.cc
branches/SuSE-Code-11-SP1-Branch/power-management/ (props changed)
branches/SuSE-Code-11-SP1-Branch/printer/VERSION
branches/SuSE-Code-11-SP1-Branch/printer/package/yast2-printer.changes
branches/SuSE-Code-11-SP1-Branch/printer/src/Printer.ycp
branches/SuSE-Code-11-SP1-Branch/printer/src/Printerlib.ycp
branches/SuSE-Code-11-SP1-Branch/printer/src/basicadd.ycp
branches/SuSE-Code-11-SP1-Branch/printer/src/basicmodify.ycp
branches/SuSE-Code-11-SP1-Branch/printer/src/connectionwizard.ycp
branches/SuSE-Code-11-SP1-Branch/printer/src/helps.ycp
branches/SuSE-Code-11-SP1-Branch/printer/src/printer.desktop
branches/SuSE-Code-11-SP1-Branch/printer/src/printer_auto.ycp
branches/SuSE-Code-11-SP1-Branch/printer/src/printer_proposal.ycp
branches/SuSE-Code-11-SP1-Branch/printer/src/printingvianetwork.ycp
branches/SuSE-Code-11-SP1-Branch/printer/src/sharing.ycp
branches/SuSE-Code-11-SP1-Branch/printer/yast2-printer.spec.in
branches/SuSE-Code-11-SP1-Branch/qt/ (props changed)
branches/SuSE-Code-11-SP1-Branch/qt-pkg/CMakeLists.txt (props changed)
branches/SuSE-Code-11-SP1-Branch/qt-pkg/MAINTAINER (props changed)
branches/SuSE-Code-11-SP1-Branch/qt-pkg/Makefile.cvs (props changed)
branches/SuSE-Code-11-SP1-Branch/qt-pkg/VERSION.cmake (props changed)
branches/SuSE-Code-11-SP1-Branch/qt-pkg/cmake/ (props changed)
branches/SuSE-Code-11-SP1-Branch/qt-pkg/src/ (props changed)
branches/SuSE-Code-11-SP1-Branch/qt-pkg/src/YQPackageSelectorPluginImpl.cc
(props changed)
branches/SuSE-Code-11-SP1-Branch/qt-pkg/src/YQPackageSelectorPluginImpl.h
(props changed)
branches/SuSE-Code-11-SP1-Branch/qt-pkg/yast2-qt-pkg.spec.in (props
changed)
branches/SuSE-Code-11-SP1-Branch/qt/package/yast2-qt.changes (contents,
props changed)
branches/SuSE-Code-11-SP1-Branch/qt/src/YQMainWinDock.cc
branches/SuSE-Code-11-SP1-Branch/qt/src/YQUI.cc (props changed)
branches/SuSE-Code-11-SP1-Branch/qt/src/YQWizard.cc
branches/SuSE-Code-11-SP1-Branch/qt/src/YQWizard.h
branches/SuSE-Code-11-SP1-Branch/qt/yast2-qt.spec.in (props changed)
branches/SuSE-Code-11-SP1-Branch/reipl/package/yast2-reipl.changes
branches/SuSE-Code-11-SP1-Branch/reipl/src/Reipl.ycp
branches/SuSE-Code-11-SP1-Branch/restore/package/yast2-restore.changes
branches/SuSE-Code-11-SP1-Branch/restore/src/ui.ycp
branches/SuSE-Code-11-SP1-Branch/runlevel/package/yast2-runlevel.changes
branches/SuSE-Code-11-SP1-Branch/runlevel/src/runlevel_proposal.ycp
branches/SuSE-Code-11-SP1-Branch/s390/VERSION
branches/SuSE-Code-11-SP1-Branch/s390/package/yast2-s390.changes
branches/SuSE-Code-11-SP1-Branch/s390/src/zfcp/dialogs.ycp
branches/SuSE-Code-11-SP1-Branch/slp-server/VERSION
branches/SuSE-Code-11-SP1-Branch/slp-server/package/yast2-slp-server.changes
branches/SuSE-Code-11-SP1-Branch/slp-server/src/dialogs.ycp

branches/SuSE-Code-11-SP1-Branch/storage/multipath-simple/src/multipath-simple.ycp
(props changed)
branches/SuSE-Code-11-SP1-Branch/storage/package/yast2-storage.changes

branches/SuSE-Code-11-SP1-Branch/storage/storage/src/include/do_proposal_flexible.ycp
branches/SuSE-Code-11-SP1-Branch/support/ (props changed)
branches/SuSE-Code-11-SP1-Branch/support/package/yast2-support.changes
(props changed)
branches/SuSE-Code-11-SP1-Branch/support/src/Support.ycp (props changed)
branches/SuSE-Code-11-SP1-Branch/support/src/support (props changed)
branches/SuSE-Code-11-SP1-Branch/support/src/support.desktop (props
changed)
branches/SuSE-Code-11-SP1-Branch/support/src/support.ycp (props changed)
branches/SuSE-Code-11-SP1-Branch/support/src/support_auto.ycp (props
changed)
branches/SuSE-Code-11-SP1-Branch/support/src/support_proposal.ycp (props
changed)
branches/SuSE-Code-11-SP1-Branch/support/testsuite/tests/Support.err
(props changed)
branches/SuSE-Code-11-SP1-Branch/support/testsuite/tests/Support.out
(props changed)
branches/SuSE-Code-11-SP1-Branch/support/testsuite/tests/Support.ycp
(props changed)
branches/SuSE-Code-11-SP1-Branch/support/testsuite/yast2-support.test/
(props changed)
branches/SuSE-Code-11-SP1-Branch/theme/openSUSE-Oxygen/Makefile.am (props
changed)

branches/SuSE-Code-11-SP1-Branch/theme/openSUSE-Oxygen/icons/22x22/Makefile.am
(props changed)

branches/SuSE-Code-11-SP1-Branch/theme/openSUSE-Oxygen/icons/22x22/apps/Makefile.am
(props changed)

branches/SuSE-Code-11-SP1-Branch/theme/openSUSE-Oxygen/icons/32x32/Makefile.am
(props changed)

branches/SuSE-Code-11-SP1-Branch/theme/openSUSE-Oxygen/icons/32x32/apps/Makefile.am
(props changed)

branches/SuSE-Code-11-SP1-Branch/theme/openSUSE-Oxygen/icons/48x48/Makefile.am
(props changed)

branches/SuSE-Code-11-SP1-Branch/theme/openSUSE-Oxygen/icons/48x48/apps/Makefile.am
(props changed)
branches/SuSE-Code-11-SP1-Branch/theme/openSUSE-Oxygen/icons/Makefile.am
(props changed)
branches/SuSE-Code-11-SP1-Branch/theme/openSUSE/wizard/installation.qss
(props changed)
branches/SuSE-Code-11-SP1-Branch/transfer/VERSION
branches/SuSE-Code-11-SP1-Branch/transfer/agent-tftp/src/TftpAgent.cc
branches/SuSE-Code-11-SP1-Branch/transfer/package/yast2-transfer.changes
branches/SuSE-Code-11-SP1-Branch/tv/ (props changed)
branches/SuSE-Code-11-SP1-Branch/tv/package/yast2-tv.changes
branches/SuSE-Code-11-SP1-Branch/tv/src/Tv.ycp
branches/SuSE-Code-11-SP1-Branch/tv/src/irc_ui.ycp
branches/SuSE-Code-11-SP1-Branch/tv/src/misc.ycp
branches/SuSE-Code-11-SP1-Branch/update/package/yast2-update.changes
branches/SuSE-Code-11-SP1-Branch/update/src/modules/RootPart.ycp
branches/SuSE-Code-11-SP1-Branch/update/src/scripts/update_users_groups
branches/SuSE-Code-11-SP1-Branch/wagon/src/config/cd_update.desktop
(props changed)
branches/SuSE-Code-11-SP1-Branch/wagon/src/modules/Wagon.ycp (props
changed)
branches/SuSE-Code-11-SP1-Branch/yast2/ (props changed)

branches/SuSE-Code-11-SP1-Branch/yast2/library/agents/etc_ssh_sshd_config.scr
(props changed)

branches/SuSE-Code-11-SP1-Branch/yast2/library/control/src/InstExtensionImage.ycp
(props changed)
branches/SuSE-Code-11-SP1-Branch/yast2/library/desktop/src/Desktop.ycp
branches/SuSE-Code-11-SP1-Branch/yast2/library/modules/ConfigHistory.ycp
(props changed)

branches/SuSE-Code-11-SP1-Branch/yast2/library/network/agents/network.scr.in
(props changed)

branches/SuSE-Code-11-SP1-Branch/yast2/library/network/agents/sysconfig_SuSEfirewall2.scr
(props changed)

branches/SuSE-Code-11-SP1-Branch/yast2/library/network/src/NetworkInterfaces.ycp

branches/SuSE-Code-11-SP1-Branch/yast2/library/network/testsuite/tests/NetworkInterfaces.err
(props changed)

branches/SuSE-Code-11-SP1-Branch/yast2/library/network/testsuite/tests/NetworkInterfaces.out
(props changed)

branches/SuSE-Code-11-SP1-Branch/yast2/library/network/testsuite/tests/NetworkInterfaces.ycp
(props changed)

branches/SuSE-Code-11-SP1-Branch/yast2/library/network/testsuite/tests/NetworkInterfaces2.err
(props changed)

branches/SuSE-Code-11-SP1-Branch/yast2/library/network/testsuite/tests/NetworkInterfaces2.out
(props changed)

branches/SuSE-Code-11-SP1-Branch/yast2/library/network/testsuite/tests/NetworkInterfaces2.ycp
(props changed)

branches/SuSE-Code-11-SP1-Branch/yast2/library/network/testsuite/tests/NetworkInterfaces3.err
(props changed)

branches/SuSE-Code-11-SP1-Branch/yast2/library/network/testsuite/tests/NetworkInterfaces3.out
(props changed)

branches/SuSE-Code-11-SP1-Branch/yast2/library/network/testsuite/tests/NetworkInterfaces3.ycp
(props changed)

branches/SuSE-Code-11-SP1-Branch/yast2/library/network/testsuite/tests/NetworkInterfaces4.err
(props changed)

branches/SuSE-Code-11-SP1-Branch/yast2/library/network/testsuite/tests/NetworkInterfaces4.out
(props changed)

branches/SuSE-Code-11-SP1-Branch/yast2/library/network/testsuite/tests/NetworkInterfaces4.ycp
(props changed)

branches/SuSE-Code-11-SP1-Branch/yast2/library/packages/src/PackageCallbacks.ycp

branches/SuSE-Code-11-SP1-Branch/yast2/library/packages/src/PackageSystem.ycp

branches/SuSE-Code-11-SP1-Branch/yast2/library/packages/src/PackagesProposal.ycp
(props changed)
branches/SuSE-Code-11-SP1-Branch/yast2/library/packages/src/PackagesUI.ycp
(props changed)
branches/SuSE-Code-11-SP1-Branch/yast2/library/packages/src/SlideShow.ycp
(props changed)
branches/SuSE-Code-11-SP1-Branch/yast2/library/packages/src/Slides.ycp
(props changed)
branches/SuSE-Code-11-SP1-Branch/yast2/library/system/src/Kernel.ycp
branches/SuSE-Code-11-SP1-Branch/yast2/library/wizard/src/Wizard.ycp
branches/SuSE-Code-11-SP1-Branch/yast2/package/yast2.changes

Modified: branches/SuSE-Code-11-SP1-Branch/add-on/package/yast2-add-on.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/add-on/package/yast2-add-on.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/add-on/package/yast2-add-on.changes
(original)
+++ branches/SuSE-Code-11-SP1-Branch/add-on/package/yast2-add-on.changes Fri
Sep 25 08:21:48 2009
@@ -1,4 +1,28 @@
-------------------------------------------------------------------
+Mon Jul 13 11:06:02 CEST 2009 - locilka@xxxxxxx
+
+- Recalculating layout after redrawing the list of currently used
+ Add-Ons (bnc #517919).
+
+-------------------------------------------------------------------
+Fri Apr 3 14:34:11 CEST 2009 - locilka@xxxxxxx
+
+- Adjusting initial repository name according to LABEL in content
+ file (bnc #481828).
+
+-------------------------------------------------------------------
+Wed Mar 18 17:59:31 CET 2009 - locilka@xxxxxxx
+
+- Removing a work around that broke the possibility to use several
+ add-ons with the same URL (especially physical media-based ones)
+ SLE11 can still hit this issue (bnc #475352).
+
+-------------------------------------------------------------------
+Fri Mar 13 12:30:23 CET 2009 - locilka@xxxxxxx
+
+- Solving MenuButton shortcut conflicts (bnc #50003 c#39).
+
+-------------------------------------------------------------------
Wed Feb 18 13:26:03 CET 2009 - locilka@xxxxxxx

- Reloading libzypp state if user declines the Add-On

Modified: branches/SuSE-Code-11-SP1-Branch/add-on/src/add-on-workflow.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/add-on/src/add-on-workflow.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/add-on/src/add-on-workflow.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/add-on/src/add-on-workflow.ycp Fri Sep 25
08:21:48 2009
@@ -10,6 +10,7 @@
*
* Authors:
* Jiri Srain <jsrain@xxxxxxx>
+ * Lukas Ocilka <locilka@xxxxxxx>
*
*
*/
@@ -34,6 +35,7 @@
import "Installation";
import "PackageCallbacks";
import "PackagesUI";
+import "Packages";

include "packager/inst_source_dialogs.ycp";
include "packager/repositories_include.ycp";
@@ -195,6 +197,8 @@
});

if (src_id_found) {
+ // BNC #481828: Using LABEL from content file as a repository name
+ Packages::AdjustSourcePropertiesAccordingToProduct
(AddOnProduct::src_id);
// used add-ons are stored in a special list
AddAddOnToStore (AddOnProduct::src_id);
} else {
@@ -286,14 +290,9 @@
// busy message
UI::OpenDialog(`Label(`id (`add_on_popup_id), _("Initializing new
source...")));
integer src_id = SourceManager::newSources[0]:0;
- map data = Pkg::SourceGeneralData (src_id);
- y2milestone("Adding product: %1", data);
- string url = data["url"]:"";
- string product_dir = data["product_dir"]:"";
- y2milestone ("Deleting source %1", src_id);
- Pkg::SourceDelete (src_id);
- src_id = Pkg::SourceCreate (url, product_dir);
- SourceManager::newSources = [src_id];
+
+ // BNC #481828: Using LABEL from content file as a repository name
+ Packages::AdjustSourcePropertiesAccordingToProduct (src_id);

// a little hack because of packager leaving
// windows open...
@@ -309,16 +308,6 @@
}
}

- if (src_id == -1)
- {
- // error report
- Report::Error (_("Failed to initialize the software repository."));
- AddOnProduct::ClearRegistrationRequest (src_id);
-
- y2milestone ("CatalogSelect Dialog ret: %1",
AddOnProduct::last_ret);
- return `finish;
- }
-
AddOnProduct::src_id = src_id;
SourceManager::newSources = [src_id];
y2milestone ("Only one source available - skipping dialog");
@@ -326,6 +315,7 @@
y2milestone ("CatalogSelect Dialog ret: %1", AddOnProduct::last_ret);
return AddOnProduct::last_ret;
}
+
y2milestone ("Running catalog select dialog");
list catalogs = maplist (integer src, sources, {
map data = Pkg::SourceGeneralData (src);
@@ -360,17 +350,8 @@
if (ret == `abort || ret == `cancel)
{
ret = `abort;
-// if (Stage::initial())
-// {
-// if (Popup::ConfirmAbort (`painless))
-// break;
-// }
-// else
-// {
- // yes-no popup
- if (Popup::YesNo (_("Really abort add-on product
installation?")))
- break;
-// }
+ if (Popup::YesNo (_("Really abort add-on product installation?")))
+ break;
continue;
}
else if (ret == `back)
@@ -401,26 +382,13 @@
foreach (integer src, SourceManager::newSources, {
if (src != selected)
{
- y2milestone ("Deleting source %1", src);
+ y2milestone ("Deleting unused source %1", src);
Pkg::SourceDelete (src);
}
});
- map data = Pkg::SourceGeneralData (selected);
- string url = data["url"]:"";
- string product_dir = data["product_dir"]:"";
- y2milestone ("Deleting source %1", selected);
- Pkg::SourceDelete (selected);
- selected = Pkg::SourceCreate (url, product_dir);
- SourceManager::newSources = [selected];
- if (selected == -1)
- {
- // error report
- Report::Error (_("Failed to initialize the software repository."));
- AddOnProduct::ClearRegistrationRequest (selected);

- y2milestone ("CatalogSelect Dialog ret: %1", `finish);
- return `finish;
- }
+ // BNC #481828: Using LABEL from content file as a repository name
+ Packages::AdjustSourcePropertiesAccordingToProduct (selected);

AddOnProduct::src_id = selected;
SourceManager::newSources = [selected];
@@ -553,38 +521,6 @@
return `next;
}

-// disabling functionality (partly bugzilla #227605)
-// we know whether this product is already installed
-// but we can't know whether the source hasn't been already removed
-//
-// products = filter (map<string,any> prod, products, {
-// boolean installed = false;
-// find (map<string,any> p, installed_products, {
-// if (p["name"]:"" == prod["name"]:"" && p["version"]:"" ==
prod["version"]:"")
-// {
-// installed = true;
-// y2milestone ("Product %1 installed", p);
-// return true;
-// }
-// return false;
-// });
-// if (installed)
-// {
-// y2milestone ("Removing %1 from the list of available products",
prod);
-// return false;
-// }
-// return true;
-// });
-// if (size (products) == 0)
-// {
-// // message popup
-// Popup::Message (_("The product on the media is already installed
-//or selected for installation."));
-// y2milestone ("Deleting installatino source %1", AddOnProduct::src_id);
-// Pkg::SourceDelete (AddOnProduct::src_id);
-// AddOnProduct::ClearRegistrationRequest (AddOnProduct::src_id);
-// return `finish;
-// }
// Display /media.1/info.txt if such file exists
// Display license and wait for agreement
// FIXME the same code is above
@@ -604,21 +540,6 @@
// this product with this url has been already installed or selected
for installation
map <string, any> src_general_data = Pkg::SourceGeneralData
(AddOnProduct::src_id);
string current_url = src_general_data["url"]:"";
- if (current_url != "" && current_url != nil) {
- y2milestone ("%1", already_used_urls);
- if (already_used_urls[current_url]:"" ==
src_general_data["product_dir"]:"") {
- // error pop-up
- Popup::Message (_("The product on the media is already installed
-or selected for installation."));
- y2milestone ("Deleting installation source %1 %2 (%3)",
- AddOnProduct::src_id, current_url,
src_general_data["product_dir"]:"");
- Pkg::SourceDelete (AddOnProduct::src_id);
- AddOnProduct::ClearRegistrationRequest (AddOnProduct::src_id);
-
- y2milestone ("ProductSelect Dialog ret: %1", `finish);
- return `finish;
- }
- }

y2milestone ("Only one product available - skipping dialog");
map<string,any> prod = products[0]:$[];
@@ -760,23 +681,6 @@
string url = data["url"]:"";
string product_dir = data["product_dir"]:"";

- // bugzilla #227605
- // this product with this url has been already installed or
selected for installation
- if (url != "" && url != nil) {
- if (already_used_urls[url]:"" == product_dir) {
- // error pop-up
- Popup::Message (_("The product on the media is already
installed
-or selected for installation."));
- y2milestone ("Deleting installation source %1 %2 (%3)",
- AddOnProduct::src_id, url, product_dir);
- Pkg::SourceDelete (AddOnProduct::src_id);
- AddOnProduct::ClearRegistrationRequest
(AddOnProduct::src_id);
-
- y2milestone ("ProductSelect Dialog ret: %1", `finish);
- return `finish;
- }
- }
-
foreach (string product, selected, {
integer src_id = (AddOnProduct::src_id == -1 ?
prod2src[product]:-1 : AddOnProduct::src_id);

@@ -1194,6 +1098,10 @@
Wizard::HideBackButton();
Wizard::SetAbortButton (`abort, Label::CancelButton());
Wizard::SetNextButton (`next, Label::OKButton());
+
+ // BNC #517919: Broken layout in some obscure cases
+ // Fixing it...
+ UI::RecalcLayout();
}

map product_infos = $[];

Modified: branches/SuSE-Code-11-SP1-Branch/add-on/src/add-on_proposal.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/add-on/src/add-on_proposal.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/add-on/src/add-on_proposal.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/add-on/src/add-on_proposal.ycp Fri Sep 25
08:21:48 2009
@@ -72,7 +72,7 @@
// this is a heading
"rich_text_title" : _( "Add-On Products" ),
// this is a menu entry
- "menu_title" : _( "Add-On &Products" ),
+ "menu_title" : _( "Add-&On Products" ),
"id" : "add_on"
];
}

Modified: branches/SuSE-Code-11-SP1-Branch/add-on/yast2-add-on.spec.in
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/add-on/yast2-add-on.spec.in?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/add-on/yast2-add-on.spec.in (original)
+++ branches/SuSE-Code-11-SP1-Branch/add-on/yast2-add-on.spec.in Fri Sep 25
08:21:48 2009
@@ -7,8 +7,8 @@
Requires: yast2-installation
Requires: yast2-country

-# repositories_include.ycp
-Requires: yast2-packager >= 2.16.47
+# Packages::AdjustSourcePropertiesAccordingToProduct
+Requires: yast2-packager >= 2.17.60
# bugzilla #335582, new API for StorageDevices
Requires: yast2-storage >= 2.16.1


Modified:
branches/SuSE-Code-11-SP1-Branch/apparmor/package/yast2-apparmor.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/apparmor/package/yast2-apparmor.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/apparmor/package/yast2-apparmor.changes
(original)
+++ branches/SuSE-Code-11-SP1-Branch/apparmor/package/yast2-apparmor.changes
Fri Sep 25 08:21:48 2009
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Wed Mar 18 15:20:01 CET 2009 - kmachalkova@xxxxxxx
+
+- Convert report names and modes to/from human readable strings
+ (bnc#369119, bnc#371072)
+
+-------------------------------------------------------------------
Fri Mar 6 17:34:06 CET 2009 - kmachalkova@xxxxxxx

- AA profiles editor adjusted to the new format of parsed profile

Modified:
branches/SuSE-Code-11-SP1-Branch/apparmor/src/include/subdomain/reporting_dialogues.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/apparmor/src/include/subdomain/reporting_dialogues.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/apparmor/src/include/subdomain/reporting_dialogues.ycp
(original)
+++
branches/SuSE-Code-11-SP1-Branch/apparmor/src/include/subdomain/reporting_dialogues.ycp
Fri Sep 25 08:21:48 2009
@@ -39,6 +39,51 @@
`md_28: "28", `md_29: "29", `md_30: "30",
`md_31: "31" ];

+string modeToHumanString( string mode) {
+ return ( mode == "All") ? _("All") : mode;
+}
+
+string humanStringToMode( string hs) {
+ return ( hs == _("All")) ? "All" : hs ;
+}
+
+string typeToHumanString( string type ) {
+ string ret = "";
+
+ switch ( type )
+ {
+ case "Security.Incident.Report":
+ ret = _("Security Incident Report");
+ break;
+ case "Applications.Audit":
+ ret = _("Applications Audit Report");
+ break;
+ case "Executive.Security.Summary":
+ ret = _("Executive Security Summary");
+ break;
+ default:
+ ret = type;
+ break;
+ }
+
+ return ret;
+}
+
+string humanStringToType( string hs ) {
+ string ret = "";
+
+ if( hs == _("Security Incident Report"))
+ ret = "Security.Incident.Report";
+ else if ( hs == _("Applications Audit Report"))
+ ret = "Applications.Audit";
+ else if ( hs == _("Executive Security Summary"))
+ ret = "Executive.Security.Summary";
+ else
+ ret = hs;
+
+ return ret;
+}
+
// Grey out inappropriate paging buttons
define void setPageButtons(integer curPage, integer lastPage) {

@@ -205,12 +250,12 @@
`VBox(
`Label( _("Access Type: ") ),
`Bottom( `HWeight( 4,
- `ReplacePoint(`id(`replace_sdmode),
`PushButton(`id(`sdmode), sdmode ))))
+ `ReplacePoint(`id(`replace_sdmode),
`PushButton(`id(`sdmode), modeToHumanString( sdmode )))))
),
`VBox(
`Label( _("Mode: ") ),
`Bottom( `HWeight( 4,
- `ReplacePoint(`id(`replace_mode),
`PushButton(`id(`mode), mode ))))
+ `ReplacePoint(`id(`replace_mode),
`PushButton(`id(`mode), modeToHumanString( mode )))))
),
`HSpacing( `opt(`hstretch), 1)
),
@@ -252,7 +297,7 @@
),
`VBox(
`Label( _("Mode: ") ),
- `ReplacePoint(`id(`replace_mode), `PushButton(`id(`mode),
"All" ))
+ `ReplacePoint(`id(`replace_mode), `PushButton(`id(`mode),
_("All") ))
),

//`HWeight( 4, `ReplacePoint(`id(`replace_sdmode),
`PushButton(`id(`sdmode), _("Access Type: R") ))),
@@ -312,7 +357,7 @@
),
`VBox(
`Label( _("Mode: ") ),
- `ReplacePoint(`id(`replace_mode), `PushButton(`id(`mode),
"All" ))
+ `ReplacePoint(`id(`replace_mode), `PushButton(`id(`mode),
_("All") ))
),


@@ -402,11 +447,11 @@
`TextEntry(`id(`res), _("Detail"), res),
`VBox(
`Label( _("Access Type: ") ),
- `ReplacePoint(`id(`replace_sdmode),
`PushButton(`id(`sdmode), sdmode ))
+ `ReplacePoint(`id(`replace_sdmode),
`PushButton(`id(`sdmode), modeToHumanString( sdmode )))
),
`VBox(
`Label( _("Mode: ") ),
- `ReplacePoint(`id(`replace_mode), `PushButton(`id(`mode),
mode ))
+ `ReplacePoint(`id(`replace_mode), `PushButton(`id(`mode),
modeToHumanString( mode )))
)
),
`VSpacing( 0.5 ),
@@ -892,7 +937,7 @@

if ( sdmode != "" ) {
Settings["sdmode"] = sdmode;
- UI::ReplaceWidget(`id(`replace_sdmode),
`PushButton(`id(`sdmode), sdmode) );
+ UI::ReplaceWidget(`id(`replace_sdmode),
`PushButton(`id(`sdmode), modeToHumanString( sdmode) ) );
}

} else if ( id == `mode ) {
@@ -901,7 +946,7 @@

if ( mode != "" ) {
Settings["mode"] = mode;
- UI::ReplaceWidget(`id(`replace_mode),
`PushButton(`id(`mode), mode) );
+ UI::ReplaceWidget(`id(`replace_mode),
`PushButton(`id(`mode), modeToHumanString( mode )));
}

} else if ( id == `browse ) {
@@ -946,8 +991,6 @@
// de-i18n
if ( sev == _("All") ) { sev = "All"; }
if ( sev == _("U") ) { sev = "U"; }
- if ( sdmode == _("All") ) { sdmode = "All"; }
- if ( mode == _("All") ) { mode = "All"; }

if (exppath != "" ) { Settings["exportPath"] = expPath;
}
if ( program_name != "" ) { Settings["prog"] = program_name; }
@@ -955,8 +998,8 @@
if ( pid != "" ) { Settings["pid"] = pid; }
if ( sev != "" && sev != "All" ) { Settings["severity"] = sev; }
if ( res != "" ) { Settings["resource"] = res; }
- if ( sdmode != "" ) { Settings["sdmode"] = sdmode; }
- if ( mode != "" ) { Settings["mode"] = mode; }
+ if ( sdmode != "" ) { Settings["sdmode"] = humanStringToMode(
sdmode); }
+ if ( mode != "" ) { Settings["mode"] = humanStringToMode( mode
); }

if ( bydate == true ) {

@@ -1412,7 +1455,7 @@
define symbol displayRunForm() {

integer itemselected = ((integer) UI::QueryWidget(`id(`table),
`CurrentItem) );
- string name = (string) select((term) UI::QueryWidget(`id(`table),
`Item(itemselected)), 1, "");
+ string name = humanStringToType( (string) select((term)
UI::QueryWidget(`id(`table), `Item(itemselected)), 1, ""));

string type = "";

@@ -1793,7 +1836,7 @@

if (sdmode != "") {
Settings["sdmode"] = sdmode;
- UI::ReplaceWidget(`id(`replace_sdmode),
`PushButton(`id(`sdmode), sdmode) );
+ UI::ReplaceWidget(`id(`replace_sdmode),
`PushButton(`id(`sdmode), modeToHumanString( sdmode) ));
}

} else if ( addInput == `mode ) {
@@ -1802,7 +1845,7 @@

if (mode != "") {
Settings["mode"] = mode;
- UI::ReplaceWidget(`id(`replace_mode),
`PushButton(`id(`mode), mode) );
+ UI::ReplaceWidget(`id(`replace_mode),
`PushButton(`id(`mode), modeToHumanString( mode )) );
}

} else if (addInput == `save ) {
@@ -1833,8 +1876,8 @@
Settings["pid"] = pid;
Settings["sev"] = sev;
Settings["res"] = res;
- Settings["sdmode"] = sdmode;
- Settings["mode"] = mode;
+ Settings["sdmode"] = humanStringToMode( sdmode );
+ Settings["mode"] = humanStringToMode( mode );

any error = (any) SCR::Write(.reports_sched, Settings);

@@ -1889,7 +1932,7 @@
define void editSchedForm() {

integer itemselected = ((integer) UI::QueryWidget(`id(`table),
`CurrentItem) );
- string name = (string) select((term) UI::QueryWidget(`id(`table),
`Item(itemselected)), 1, "");
+ string name = humanStringToType( (string) select((term)
UI::QueryWidget(`id(`table), `Item(itemselected)), 1, ""));

map<string,string> Settings = $[ ];
string readSched = "1";
@@ -2018,7 +2061,7 @@

}

- string edLabel = _("Edit Report Schedule for ") + sname;
+ string edLabel = _("Edit Report Schedule for ") +
typeToHumanString(sname);

UI::OpenDialog(

@@ -2139,7 +2182,7 @@

if ( sdmode != "" ) {
Settings["sdmode"] = sdmode;
- UI::ReplaceWidget(`id(`replace_sdmode),
`PushButton(`id(`sdmode), sdmode) );
+ UI::ReplaceWidget(`id(`replace_sdmode),
`PushButton(`id(`sdmode), modeToHumanString( sdmode) ));
}

} else if ( editInput == `mode ) {
@@ -2147,7 +2190,7 @@
mode = popUpMode();
if ( mode != "" ) {
Settings["mode"] = mode;
- UI::ReplaceWidget(`id(`replace_mode),
`PushButton(`id(`mode), mode) );
+ UI::ReplaceWidget(`id(`replace_mode),
`PushButton(`id(`mode), modeToHumanString( mode )));
}

} else if ( editInput == `browse ) {
@@ -2203,8 +2246,8 @@
Settings["pid"] = pid;
Settings["sev"] = sev;
Settings["res"] = res;
- Settings["sdmode"] = sdmode;
- Settings["mode"] = mode;
+ Settings["sdmode"] = humanStringToMode( sdmode );
+ Settings["mode"] = humanStringToMode( mode );

} else {

@@ -2251,7 +2294,7 @@
define void delSchedForm() {

integer itemselected = ((integer) UI::QueryWidget(`id(`table),
`CurrentItem) );
- string name = (string) select((term) UI::QueryWidget(`id(`table),
`Item(itemselected)), 1, "");
+ string name = humanStringToType( (string) select((term)
UI::QueryWidget(`id(`table), `Item(itemselected)), 1, ""));

map<string,string> Settings = $[ ];
Settings["del"] = "1";
@@ -2310,7 +2353,7 @@
list <map> db = (list <map>) SCR::Read (.reports_sched, Settings);

foreach ( map record, db, {
- itemList = add( itemList, `item( `id(key), record["name"]:nil,
record["mday"]:nil, record["wday"]:nil,
+ itemList = add( itemList, `item( `id(key), typeToHumanString(
record["name"]:"" ), record["mday"]:nil, record["wday"]:nil,
record["hour"]:nil, record["mins"]:nil ));
key = key + 1;
});
@@ -2359,7 +2402,7 @@
list <map> db = (list <map>) SCR::Read (.reports_sched, Settings);

foreach ( map record, db, {
- itemList = add( itemList, `item( `id(key), record["name"]:nil,
record["mday"]:nil, record["wday"]:nil,
+ itemList = add( itemList, `item( `id(key), typeToHumanString(
record["name"]:""), record["mday"]:nil, record["wday"]:nil,
record["hour"]:nil, record["mins"]:nil ));
key = key + 1;
});
@@ -2429,7 +2472,7 @@
} else if ( id == `delete ) {

integer itemselected = ((integer)
UI::QueryWidget(`id(`table), `CurrentItem) );
- string repName = (string) select((term)
UI::QueryWidget(`id(`table), `Item(itemselected)), 1, "");
+ string repName = humanStringToType( (string)
select((term) UI::QueryWidget(`id(`table), `Item(itemselected)), 1, ""));

if ( repName == "Executive.Security.Summary" || repName
== "Applications.Audit" || repName == "Security.Incident.Report" ) {
Popup::Error( _("Cannot delete a stock
report.") );

Modified:
branches/SuSE-Code-11-SP1-Branch/autoinstallation/package/autoyast2.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/autoinstallation/package/autoyast2.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/autoinstallation/package/autoyast2.changes
(original)
+++ branches/SuSE-Code-11-SP1-Branch/autoinstallation/package/autoyast2.changes
Fri Sep 25 08:21:48 2009
@@ -1,4 +1,66 @@
-------------------------------------------------------------------
+Mon Jun 29 13:35:38 CEST 2009 - ug@xxxxxxx
+
+- <pxe> schema file added (bnc#516813)
+
+-------------------------------------------------------------------
+Tue Jun 16 15:28:58 CEST 2009 - ug@xxxxxxx
+
+- autoyast=usb://... could fail to find profile on logical
+ partitions (bnc#513536)
+
+-------------------------------------------------------------------
+Tue Jun 16 13:44:19 CEST 2009 - ug@xxxxxxx
+
+- cloning striped LVM fixed (bnc#513509)
+
+-------------------------------------------------------------------
+Tue Jun 16 13:40:02 CEST 2009 - ug@xxxxxxx
+
+- striping added to schema file (bnc#513449)
+
+-------------------------------------------------------------------
+Mon Jun 15 12:54:34 CEST 2009 - ug@xxxxxxx
+
+- fix for autoyast profile on by-id devices
+ (bnc#513127)
+
+-------------------------------------------------------------------
+Mon May 4 11:57:02 CEST 2009 - ug@xxxxxxx
+
+- don't log passwords from "ask" fixed (bnc#492746)
+
+-------------------------------------------------------------------
+Wed Apr 8 15:17:20 CEST 2009 - ug@xxxxxxx
+
+- don't log <ask> via milestone anymore (bnc#492746)
+
+-------------------------------------------------------------------
+Wed Apr 8 12:19:03 CEST 2009 - ug@xxxxxxx
+
+- classes and rules RNC files fixed (bnc#493172)
+
+-------------------------------------------------------------------
+Tue Mar 31 14:54:59 CEST 2009 - ug@xxxxxxx
+
+- default filesystem changed to ext3 (bnc#490389)
+
+-------------------------------------------------------------------
+Wed Mar 18 13:07:16 CET 2009 - ug@xxxxxxx
+
+- fixed the translation of module/groups in the UI (bnc#448238)
+
+-------------------------------------------------------------------
+Wed Mar 18 12:53:43 CET 2009 - ug@xxxxxxx
+
+- software RAID cloning fixed (bnc#480690)
+
+-------------------------------------------------------------------
+Wed Mar 18 12:17:24 CET 2009 - ug@xxxxxxx
+
+- autoyast fails to add add-on product with iso image (bnc#484735)
+
+-------------------------------------------------------------------
Tue Jun 16 10:19:55 CEST 2009 - ug@xxxxxxx

- striping added to schema file (bnc#513449)

Modified:
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/clients/inst_autoconfigure.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/clients/inst_autoconfigure.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/clients/inst_autoconfigure.ycp
(original)
+++
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/clients/inst_autoconfigure.ycp
Fri Sep 25 08:21:48 2009
@@ -161,7 +161,12 @@
result[res] = Profile::current[res]:[];
i = i + 1;
});
- y2milestone("Calling auto client with: %1", result);
+ if( d["X-SuSE-YaST-AutoLogResource"]:"true" == "true" ) {
+ y2milestone("Calling auto client with: %1", result);
+ } else {
+ y2milestone("logging for resource %1 turned
off",resource);
+ y2debug("Calling auto client with: %1", result);
+ }
if (size(result) > 0 )
logStep( sformat (_("Configuring %1"), p));
else
@@ -174,7 +179,12 @@
}
else if (d["X-SuSE-YaST-AutoInstDataType"]:"map" == "map")
{
- y2milestone("Calling auto client with: %1",
eval(Profile::current[resource]:$[]));
+ if( d["X-SuSE-YaST-AutoLogResource"]:"true" == "true" ) {
+ y2milestone("Calling auto client with: %1",
eval(Profile::current[resource]:$[]));
+ } else {
+ y2milestone("logging for resource %1 turned
off",resource);
+ y2debug("Calling auto client with: %1",
eval(Profile::current[resource]:$[]));
+ }
if (size(Profile::current[resource]:$[]) > 0 )
logStep( sformat (_("Configuring %1"), p));
else
@@ -190,8 +200,12 @@
logStep( sformat (_("Configuring %1"), p));
else
logStep( sformat (_("Not Configuring %1"), p));
-
- y2milestone("Calling auto client with: %1",
eval(Profile::current[resource]:[]));
+ if( d["X-SuSE-YaST-AutoLogResource"]:"true" == "true" ) {
+ y2milestone("Calling auto client with: %1",
eval(Profile::current[resource]:$[]));
+ } else {
+ y2milestone("logging for resource %1 turned
off",resource);
+ y2debug("Calling auto client with: %1",
eval(Profile::current[resource]:$[]));
+ }
//Call::Function(module_auto, ["Import",
eval(Profile::current[resource]:[]) ]);
processWait( resource, "pre-modules" );
Call::Function(module_auto, ["Write"]);

Modified:
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/dialogs/partition_dialogs.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/dialogs/partition_dialogs.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/dialogs/partition_dialogs.ycp
(original)
+++
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/dialogs/partition_dialogs.ycp
Fri Sep 25 08:21:48 2009
@@ -102,13 +102,13 @@
this_drive = select (filter (map d, partitioning,``(d["device"]:""
== item)),0,$[]);
new_val = $[
"partition_id" : 131,
- "filesystem" : `reiser
+ "filesystem" : `ext3
];
drive = item;
}

new_val["fsid"] = new_val["partition_id"]:Partitions::fsid_native;
- new_val["used_fs"] = new_val["filesystem"]:`reiser;
+ new_val["used_fs"] = new_val["filesystem"]:`ext3;

list<string> vgs = [];
foreach( map d, partitioning, ``{

Modified:
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/include/autopart.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/include/autopart.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/include/autopart.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/include/autopart.ycp
Fri Sep 25 08:21:48 2009
@@ -424,9 +424,9 @@
}
p["mount"] = mount;
if (e["reuse"]:false)
- p["used_fs"] =
solution["partitions",pindex,"filesystem"]:p["detected_fs"]:`reiser;
+ p["used_fs"] =
solution["partitions",pindex,"filesystem"]:p["detected_fs"]:`ext3;
else
- p["used_fs"] =
solution["partitions",pindex,"filesystem"]:`reiser;
+ p["used_fs"] =
solution["partitions",pindex,"filesystem"]:`ext3;

value = solution["partitions",pindex,"fstopt"]:"";
if( size(value)>0 )
@@ -557,7 +557,7 @@
part["mountby"] = mb;
}
part["used_fs"] =
- solution["partitions",pindex,"filesystem"]:((mount ==
"swap")?(`swap):(`reiser));
+ solution["partitions",pindex,"filesystem"]:((mount ==
"swap")?(`swap):(`ext3));
value = solution["partitions",pindex,"fstopt"]:"";
if( size(value)>0 )
{

Modified:
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/include/conftree.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/include/conftree.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/include/conftree.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/include/conftree.ycp
Fri Sep 25 08:21:48 2009
@@ -57,7 +57,11 @@
term groups( string selectedGroup ){
list<term> itemList = [];
foreach(string k, map v, Y2ModuleConfig::GroupMap, {
- term item = `item( `id(k),`icon(v["Icon"]:""), v["Name"]:"", k ==
selectedGroup );
+ string desktop_file = substring( v["X-SuSE-DocTeamID"]:"", 4 );
+ string translation = dpgettext("desktop_translations",
"/usr/share/locale/", "Name("+desktop_file+".desktop): "+v["Name"]:"" );
+ if( translation == "Name("+desktop_file+".desktop): "+v["Name"]:"" )
+ translation = v["Name"]:"";
+ term item = `item( `id(k),`icon(v["Icon"]:""), translation, k ==
selectedGroup );
itemList = add(itemList, item );
});
return `SelectionBox( `id(`groups), `opt(`notify), _("Groups"), itemList
);
@@ -76,15 +80,18 @@
foreach(string k , map v, Y2ModuleConfig::ModuleMap, ``{
if (v["X-SuSE-YaST-Group"]:"" == group_name)
{
- term item = `item( `id(k),`icon(v["Icon"]:""), v["Name"]:"", k ==
selectedModule );
+ string desktop_file = substring( v["X-SuSE-DocTeamID"]:"", 4 );
+ string translation = dpgettext("desktop_translations",
"/usr/share/locale/", "Name("+desktop_file+".desktop): "+v["Name"]:"" );
+ if( translation == "Name("+desktop_file+".desktop): "+v["Name"]:""
)
+ translation = v["Name"]:"";
+ term item = `item( `id(k),`icon(v["Icon"]:""), translation, k ==
selectedModule );
itemList = add(itemList, item );
}
});
if( 0 == size(itemList) ){
- itemList = add( itemList, `item(`id("none"), "No modules available" )
);
+ itemList = add( itemList, `item(`id("none"), _("No modules
available") ) );
}
- map resourceMap = Y2ModuleConfig::GroupMap[group_name]:$[];
- return `SelectionBox(`id(`modules), `opt(`notify),
resourceMap["Name"]:"" + " - " + _("Modules"), itemList );
+ return `SelectionBox(`id(`modules), `opt(`notify), _("Modules"),
itemList );
}

/* Creates an `HBox containing the buttons to be displayed below the
summary column
@@ -122,7 +129,7 @@
string summary = (string) WFM::CallFunction( module_auto,["Summary"]);
if( nil == summary )
summary = "";
- return `VBox( `Left(`Label( resourceMap["Name"]:"" + " - " +
_("Details") )),
+ return `VBox( `Left(`Label( _("Details") )),
`RichText( summary ),
buttons()
);

Modified: branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/include/io.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/include/io.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/include/io.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/include/io.ycp Fri
Sep 25 08:21:48 2009
@@ -216,8 +216,12 @@
if( d["bus"]:"USB" == "SCSI" && haskey(d, "dev_name") ) {
integer i = 0;
string dev = d["dev_name"]:"";
- while( SCR::Read(.target.lstat, dev) != $[] ) {
- WFM::Execute(.local.mount, [ dev, mount_point ]);
+ while( SCR::Read(.target.lstat, dev) != $[] || i < 5 )
{
+ if( !(boolean)WFM::Execute(.local.mount, [ dev,
mount_point ]) ) {
+ y2milestone("mount failed for %1", dev);
+ i = i + 1;
+ continue;
+ }
if (WFM::Execute (.local.bash, "/bin/cp " +
mount_point + "/" + Path + " " + Localfile) != 0) {
y2milestone("not found on %1",dev);
} else {
@@ -273,7 +277,7 @@
WFM::Execute(.local.mount, [sformat("/dev/%1", Host) ,
mount_point]);

- if (WFM::Execute (.local.bash, "/bin/cp " + mount_point + Path
+ " " + Localfile) != 0 )
+ if (WFM::Execute (.local.bash, "/bin/cp " + mount_point + "/"
+ Path + " " + Localfile) != 0 )
{
// autoyast tried to copy a file but that file can't be
found
GET_error = sformat(_("File %1 cannot be
found"),mount_point + Path);

Modified: branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/include/xml.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/include/xml.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/include/xml.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/include/xml.ycp Fri
Sep 25 08:21:48 2009
@@ -99,7 +99,7 @@
"net-udev":"rule"
];

- doc["cdataSections"] = ["source", "info_file", "file_contents",
"pxelinux-config"];
+ doc["cdataSections"] = ["source", "info_file", "file_contents",
"pxelinux-config", "media_url"];
// doc["systemID"] = "/usr/share/autoinstall/dtd/profile.dtd";
doc["rootElement"] = "profile";
doc["nameSpace"] = "http://www.suse.com/1.0/yast2ns";;

Modified:
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/AutoinstLVM.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/AutoinstLVM.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/AutoinstLVM.ycp
(original)
+++
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/AutoinstLVM.ycp
Fri Sep 25 08:21:48 2009
@@ -299,7 +299,7 @@
y2milestone("lv = %1",lv);

lv["device"] = "/dev/"+vgname+"/"+lv["lv_name"]:"";
- lv["used_fs"] = this_lv["used_fs"]:`reiser;
+ lv["used_fs"] = this_lv["used_fs"]:`ext3;

map lvret = $[];
if (lv["resize"]:false ) {
@@ -311,7 +311,7 @@
"fstype" : "LV",
"nr" : lv["nr"]:"",
"mount" : lv["mount"]:"" ,
- "used_fs" :
this_lv["used_fs"]:`reiser,
+ "used_fs" :
this_lv["used_fs"]:`ext3,
"format" : lv["format"]:false ,
"device" : lv["device"]:""
];
@@ -324,7 +324,7 @@
}
targetMap = lvret["targets"]:targetMap;
} else if ( lv["create"]:true ) {
- lv["used_fs"] = lv["filesystem"]:`reiser;
+ lv["used_fs"] = lv["filesystem"]:`ext3;
lv["create"] = true;
lv["format"] = lv["format"]:true;
lv["device"] = "/dev/" + current_vg + "/" + lv["name"]:"";

Modified:
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/AutoinstPartPlan.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/AutoinstPartPlan.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/AutoinstPartPlan.ycp
(original)
+++
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/AutoinstPartPlan.ycp
Fri Sep 25 08:21:48 2009
@@ -438,6 +438,10 @@
{
new_pe["lv_name"] = pe["name"]:"";
new_pe["size"] = sformat("%1", pe["size_k"]:0*1024);
+ if( haskey( pe, "stripes" ) ) {
+ new_pe["stripes"] = pe["stripes"]:0;
+ new_pe["stripesize"] = pe["stripesize"]:4;
+ }
}
if (haskey(pe,"used_by_type") && pe["used_by_type"]:`nothing
== `UB_MD)
{
@@ -449,7 +453,7 @@
// detected_fs!
if (haskey(pe,"used_fs") && pe["fsid"]:0 != 253)
{
- new_pe["filesystem"] = pe["used_fs"]:`reiser;
+ new_pe["filesystem"] = pe["used_fs"]:`ext3;
new_pe["format"] = new_pe["format"]:pe["format"]:true;
}


Modified:
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/AutoinstPartition.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/AutoinstPartition.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/AutoinstPartition.ycp
(original)
+++
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/AutoinstPartition.ycp
Fri Sep 25 08:21:48 2009
@@ -42,7 +42,12 @@
"mountby" : `device,
"resize" : false,
"lv_name" : "",
+ "stripes" : 1,
+ "stripesize" : 4,
"lvm_group" : "",
+ "raid_name" : "",
+ "raid_type" : "",
+ "raid_options" : $[]
];

define map<symbol,map> allfs = $[];
@@ -206,6 +211,12 @@
newPart = set( newPart, "size", part["size"]:"" );
newPart = set( newPart, "lv_name", part["lv_name"]:"" );
newPart = set( newPart, "lvm_group", part["lvm_group"]:"" );
+ newPart = set( newPart, "stripes", part["stripes"]:1 );
+ newPart = set( newPart, "stripesize", part["stripesize"]:4 );
+ if( part["stripes"]:1 == 1 ) {
+ newPart = remove( newPart, "stripes" );
+ newPart = remove( newPart, "stripesize" );
+ }
/* partition_id enforcement */
if( haskey( part, "lvm_group" ) ){
newPart = set( newPart, "partition_id", 142 );
@@ -213,6 +224,13 @@
else if( "swap" == newPart["mount"]:"" ){
newPart = set( newPart, "partition_id", 130 );
}
+ if( haskey( part, "raid_name" ) ) {
+ newPart = set( newPart, "raid_name", part["raid_name"]:"" );
+ newPart = set( newPart, "raid_type", part["raid_type"]:"raid0" );
+ }
+ if( haskey( part, "raid_options" ) ) {
+ newPart = set( newPart, "raid_options", part["raid_options"]:$[] );
+ }
return newPart;
}


Modified:
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/Profile.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/Profile.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/Profile.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/Profile.ycp
Fri Sep 25 08:21:48 2009
@@ -732,7 +732,7 @@
m[i] = setLValue( tmp, v, m[i]:[] );
}
} else {
- y2milestone("setting %1 to %2",i,v);
+ y2debug("setting %1 to %2",i,v);
m[i] = v;
}
return m;
@@ -748,7 +748,7 @@
m[i] = setLValue( tmp, v, m[i]:[] );
}
} else {
- y2milestone("setting %1 to %2",i,v);
+ y2debug("setting %1 to %2",i,v);
m[i] = v;
}
return m;

Modified:
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/Y2ModuleConfig.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/Y2ModuleConfig.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/Y2ModuleConfig.ycp
(original)
+++
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/modules/Y2ModuleConfig.ycp
Fri Sep 25 08:21:48 2009
@@ -51,7 +51,9 @@
"X-SuSE-YaST-AutoInstMergeTypes",
"X-SuSE-YaST-AutoInstDataType",
"X-SuSE-YaST-AutoInstClonable",
- "X-SuSE-YaST-AutoInstRequires"
+ "X-SuSE-YaST-AutoInstRequires",
+ "X-SuSE-DocTeamID",
+ "X-SuSE-YaST-AutoLogResource"
];
Desktop::Read(Values);
map<string,map> configurations = Desktop::Modules;

Modified:
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/schema/classes-use.rnc
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/schema/classes-use.rnc?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/schema/classes-use.rnc
(original)
+++
branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/schema/classes-use.rnc
Fri Sep 25 08:21:48 2009
@@ -15,7 +15,11 @@
class =
element class {
class_name &
- configuration
+ configuration &
+ element dont_merge {
+ LIST,
+ element element { text }*
+ }?
}

class_name =

Modified: branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/schema/rules.rnc
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/schema/rules.rnc?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/schema/rules.rnc
(original)
+++ branches/SuSE-Code-11-SP1-Branch/autoinstallation/src/schema/rules.rnc Fri
Sep 25 08:21:48 2009
@@ -89,6 +89,10 @@
result =
element result {
profile &
+ element dont_merge {
+ LIST,
+ element element { text }*
+ }? &
continue?
}


Modified: branches/SuSE-Code-11-SP1-Branch/backup/package/yast2-backup.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/backup/package/yast2-backup.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/backup/package/yast2-backup.changes
(original)
+++ branches/SuSE-Code-11-SP1-Branch/backup/package/yast2-backup.changes Fri
Sep 25 08:21:48 2009
@@ -1,4 +1,15 @@
-------------------------------------------------------------------
+Wed Jun 24 13:35:51 CEST 2009 - locilka@xxxxxxx
+
+- Fixed 'bytes' units in help text (bnc #513438).
+
+-------------------------------------------------------------------
+Wed Apr 8 16:58:11 CEST 2009 - kmachalkova@xxxxxxx
+
+- Adjusted to new Nfs::Mount API (5th param specifying nfs type -
+ nfs[23] vs. nfs4 is required). Assuming default 'nfs' here
+
+-------------------------------------------------------------------
Wed Jul 8 15:26:23 CEST 2009 - locilka@xxxxxxx

- Fixed storing some additional backup information during

Modified: branches/SuSE-Code-11-SP1-Branch/backup/src/Backup.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/backup/src/Backup.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/backup/src/Backup.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/backup/src/Backup.ycp Fri Sep 25 08:21:48
2009
@@ -465,7 +465,7 @@
global define boolean PrepareBackup() ``{
if (target_type == `nfs && nfsmount == nil)
{
- nfsmount = Nfs::Mount(nfsserver, nfsexport, nil, "");
+ nfsmount = Nfs::Mount(nfsserver, nfsexport, nil, "", "");
return nfsmount != nil;
}


Modified: branches/SuSE-Code-11-SP1-Branch/backup/src/functions.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/backup/src/functions.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/backup/src/functions.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/backup/src/functions.ycp Fri Sep 25
08:21:48 2009
@@ -911,7 +911,7 @@
return nil;
}

- string mpoint = Nfs::Mount(server, share, nil, "");
+ string mpoint = Nfs::Mount(server, share, nil, "", "");

if (mpoint == nil)
{

Modified: branches/SuSE-Code-11-SP1-Branch/backup/src/help_texts.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/backup/src/help_texts.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/backup/src/help_texts.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/backup/src/help_texts.ycp Fri Sep 25
08:21:48 2009
@@ -62,7 +62,8 @@
select <B>Custom</B>. Then enter the volume size in <b>Custom Size</b>.</P>")

// For translators: help text in tar options dialog - part 3/3
- + _("<P><B>Note:</B> 1 kB=1000 Bytes, 1 kiB=1024 Bytes, etc.
+ // http://en.wikipedia.org/wiki/Byte
+ + _("<P><B>Note:</B> 1 kB=1000 bytes, 1 KiB=1024 bytes, etc.
The entered volume size will be rounded down to a
multiple of 2048 bytes.</P>");
}

Modified: branches/SuSE-Code-11-SP1-Branch/backup/src/ui.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/backup/src/ui.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/backup/src/ui.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/backup/src/ui.ycp Fri Sep 25 08:21:48 2009
@@ -649,7 +649,7 @@

if (Backup::target_type == `nfs)
{
- nfsdir = Nfs::Mount(Backup::nfsserver, Backup::nfsexport, nil,
"");
+ nfsdir = Nfs::Mount(Backup::nfsserver, Backup::nfsexport, nil,
"", "");

if (nfsdir == nil)
{

Modified:
branches/SuSE-Code-11-SP1-Branch/bootloader/package/yast2-bootloader.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/bootloader/package/yast2-bootloader.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/bootloader/package/yast2-bootloader.changes
(original)
+++
branches/SuSE-Code-11-SP1-Branch/bootloader/package/yast2-bootloader.changes
Fri Sep 25 08:21:48 2009
@@ -1,4 +1,18 @@
-------------------------------------------------------------------
+Mon May 18 17:26:50 CEST 2009 - juhliarik@xxxxxxx
+
+- added fix for checking soft-raid devices in device.map
+ (bnc#494630)
+- added fix for changing device map in y2-bootloader (bnc#497944)
+- added warning message if there is not valid configuration for
+ soft-raid (bnc#501043)
+
+-------------------------------------------------------------------
+Thu Apr 16 15:19:37 CEST 2009 - juhliarik@xxxxxxx
+
+- added fix for commandline interface (bnc#479069)
+
+-------------------------------------------------------------------
Mon May 4 15:31:16 CEST 2009 - juhliarik@xxxxxxx

- added fix for checking soft-raid devices in device.map

Modified: branches/SuSE-Code-11-SP1-Branch/bootloader/src/clients/bootloader.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/bootloader/src/clients/bootloader.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/bootloader/src/clients/bootloader.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/bootloader/src/clients/bootloader.ycp Fri
Sep 25 08:21:48 2009
@@ -73,6 +73,7 @@
while (i < size(BootCommon::sections)) {
if (BootCommon::sections[i, "name"]:"" == section) {
BootCommon::sections[i, key] = value;
+ BootCommon::sections[i, "__changed"] = true;
return true;
}
i = i + 1;
@@ -138,6 +139,8 @@
* @return boolean true on success
*/
define boolean BootloaderAddHandler (map options) ``{
+ if (! CommandLine::Interactive())
+ CommandLine::Error(_("Add option is available only in commandline
interactive mode"));
string section = (string)(options["section"]:nil);
if (section == nil)
{
@@ -217,7 +220,7 @@
"add" : $[
"handler" : BootloaderAddHandler,
// command line help text for add action
- "help" : _("Add a new section"),
+ "help" : _("Add a new section - please use interactive
mode"),
],
"print" : $[
"handler" : BootloaderPrintHandler,
@@ -259,7 +262,6 @@
if (.noio == WFM::Args (i) || ".noio" == WFM::Args (i))
{
skip_io = true;
- BootCommon::save_on_finish = false;
}
i = i + 1;
}

Modified: branches/SuSE-Code-11-SP1-Branch/core/libycp/src/YCPBuiltinList.cc
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/core/libycp/src/YCPBuiltinList.cc?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/core/libycp/src/YCPBuiltinList.cc
(original)
+++ branches/SuSE-Code-11-SP1-Branch/core/libycp/src/YCPBuiltinList.cc Fri Sep
25 08:21:48 2009
@@ -1349,7 +1349,7 @@
{ "lsort", "list <flex> (const list <flex>)",
(void *)l_lsortlist, DECL_FLEX },
{ "splitstring","list <string> (string, string)",
(void *)l_splitstring },
{ "change", "list <flex> (const list <flex>, const flex)",
(void *)l_changelist,
DECL_FLEX|DECL_DEPRECATED },
- { "add", "list <flex> (const list <flex>, const flex)",
(void *)l_add, DECL_FLEX },
+ { "add", "list <flex> (const list <flex>, const flex)",
(void *)l_add, DECL_FLEX|DECL_NIL },
{ "+", "list <flex> (const list <flex>, const flex)",
(void *)l_add, DECL_FLEX },
{ "+", "list <any> (const list <any>, any)",
(void *)l_add },
{ "size", "integer (const list <any>)",
(void *)l_size, DECL_NIL },

Modified: branches/SuSE-Code-11-SP1-Branch/core/package/yast2-core.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/core/package/yast2-core.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/core/package/yast2-core.changes (original)
+++ branches/SuSE-Code-11-SP1-Branch/core/package/yast2-core.changes Fri Sep 25
08:21:48 2009
@@ -1,4 +1,9 @@
-------------------------------------------------------------------
+Fri Apr 17 13:45:47 CEST 2009 - juhliarik@xxxxxxx
+
+- added fix for problem with adding nil to list (bnc#216177)
+
+-------------------------------------------------------------------
Thu Aug 13 09:06:06 CEST 2009 - mvidner@xxxxxxx

- Applied the following fixes from Factory (bnc#530260):

Modified:
branches/SuSE-Code-11-SP1-Branch/dns-server/package/yast2-dns-server.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/dns-server/package/yast2-dns-server.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/dns-server/package/yast2-dns-server.changes
(original)
+++
branches/SuSE-Code-11-SP1-Branch/dns-server/package/yast2-dns-server.changes
Fri Sep 25 08:21:48 2009
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Fri Mar 13 14:02:35 CET 2009 - locilka@xxxxxxx
+
+- Allowing IPv6 address to be used as DNS Server forwarder
+ (bnc #463539)
+
+-------------------------------------------------------------------
Fri Mar 20 10:14:16 CET 2009 - locilka@xxxxxxx

- Always including forwarders.conf in 'options' section.

Modified: branches/SuSE-Code-11-SP1-Branch/dns-server/src/dialog-main.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/dns-server/src/dialog-main.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/dns-server/src/dialog-main.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/dns-server/src/dialog-main.ycp Fri Sep 25
08:21:48 2009
@@ -238,7 +238,7 @@
`HBox (
`HWeight ( 9,
// Textentry for DNS-Forwarders adding IP
- `InputField ( `id ( "forwarders_new_ip_address"
), `opt ( `hstretch ), _("IP A&ddress"), "" )
+ `InputField ( `id ( "forwarders_new_ip_address"
), `opt ( `hstretch ), _("IPv4 or IPv6 A&ddress"), "" )
),
`HWeight ( 2,
`Bottom ( `PushButton ( `id (
"forwarders_add_ip_address" ), `opt ( `hstretch ), Label::AddButton() ) )
@@ -313,7 +313,7 @@
*/
void ValidCharsForwardersPage () {
// setting `ValidChars
- UI::ChangeWidget( `id("forwarders_new_ip_address"), `ValidChars,
IP::ValidChars4);
+ UI::ChangeWidget( `id("forwarders_new_ip_address"), `ValidChars,
IP::ValidChars4 + IP::ValidChars6);
}

void handlePolicy( symbol policy ){
@@ -437,9 +437,16 @@
{
string new_addr = (string)
UI::QueryWidget (`id ("forwarders_new_ip_address"), `Value);
- if (! IP::Check4 (new_addr))
+ // both IPv4 and IPv6
+ if (! IP::Check (new_addr))
{
- Report::Error (IP::Valid4 ());
+ Report::Error (
+ _("Invalid IPv4 or IPv6 address.") +
+ "\n" +
+ IP::Valid4 () +
+ _("A valid IPv6 address consists of letters a-f, numbers,
+and colons.")
+ );
return nil;
}
if (contains (forwarders, new_addr))

Modified:
branches/SuSE-Code-11-SP1-Branch/firstboot/package/yast2-firstboot.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/firstboot/package/yast2-firstboot.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/firstboot/package/yast2-firstboot.changes
(original)
+++ branches/SuSE-Code-11-SP1-Branch/firstboot/package/yast2-firstboot.changes
Fri Sep 25 08:21:48 2009
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Mon Jun 1 13:02:52 CEST 2009 - jsuchome@xxxxxxx
+
+- grab texts from firstboot.xml when creating pot file (bnc#479571)
+- call the X11 config to save kbd layout (bnc#497819)
+
+-------------------------------------------------------------------
Tue Jul 7 09:50:06 CEST 2009 - jsuchome@xxxxxxx

- start the services before YaST (bnc#475169)

Modified: branches/SuSE-Code-11-SP1-Branch/http-server/VERSION
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/http-server/VERSION?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/http-server/VERSION (original)
+++ branches/SuSE-Code-11-SP1-Branch/http-server/VERSION Fri Sep 25 08:21:48
2009
@@ -1 +1 @@
-2.17.5
+2.17.11

Modified: branches/SuSE-Code-11-SP1-Branch/http-server/agents/ag_http_server
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/http-server/agents/ag_http_server?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/http-server/agents/ag_http_server
(original)
+++ branches/SuSE-Code-11-SP1-Branch/http-server/agents/ag_http_server Fri Sep
25 08:21:48 2009
@@ -121,13 +121,16 @@
foreach my $vhost ( @$conf ) {
if ($file eq 'default-server.conf'){
$hash_table{'main'} = $vhost;
-# foreach my $data ( @{$vhost->{'DATA'}} )
-# { if ($data->{'KEY'} eq 'NameVirtualHost'){ $hash_table{
$data->{'VALUE'} } = []; }
-# }
} else {
+ my $key='ip-based';
+ if (defined($vhost->{'VirtualByName'}) && $vhost->{'VirtualByName'}
eq '1'){
+ foreach my $row ( @{$vhost->{'DATA'}} ){
+ $key=$row->{'VALUE'} if($row->{'KEY'} eq 'ServerName');
+ }
+ }
if (exists $vhost->{'HostIP'}){
- if ( exists $hash_table{ $vhost->{'HostIP'}} ){
push(@{$hash_table{ $vhost->{'HostIP'}}}, $vhost); }
- else { push(@{$hash_table{'ip-based'}}, $vhost); }
+ if ( defined $hash_table{ $key} ){ push(@{$hash_table{ $key }},
$vhost); }
+ else { push(@{$hash_table{$key}}, $vhost); }
}
}
}
@@ -154,41 +157,6 @@
}
}

-#sub parse_module_selection() {
-# my $class = shift;
-# my $dir = Directory::vardir();
-# my $dir = "/var/lib/YaST2/"; # FIXME: calling Directory::vardir later
-# my @ret = ();
-
-# if( open(FILE, "< $dir/httpd_active_module_selections.conf") ) {
-# @ret = <FILE>;
-# chomp(@ret);
-# close(FILE);
-# } ELse {
-# return $class->SetError( summary => sprintf(_("unable to open file
%s/httpd_active_module_selections.conf for reading: %s"),$dir,$!),
-# code => "OPEN_FAILED"
-# );
-# }
-
-# return \@ret;
-#}
-
-sub write_module_selection {
- my $class = shift;
- my $newSelection = shift;
- my $dir = "/var/lib/YaST2/"; # FIXME: calling Directory::vardir later
-
- if( open(FILE, "> $dir/httpd_active_module_selections.conf") ) {
- print FILE join("\n",@$newSelection);
- close(FILE);
- } else {
- return $class->SetError( summary => sprintf(_("unable to open file
%s/httpd_active_module_selections.conf for writing: %s"),$dir,$!),
- code => "OPEN_FAILED"
- );
- }
- return 1;
-}
-
# generic apache2 configfile format parser
sub sectionParser {
my $keys = [];
@@ -246,6 +214,11 @@
my $class = shift;
my $data = shift;

+ # remove old files first
+ for my $remove ( </etc/apache2/vhosts.d/*.conf> ) {
+ unlink $remove;
+ }
+
foreach my $file ( keys(%{$data}) ) {
next if( $file eq 'default-server.conf' ); # skip the default server
here
open( FILE, "> /etc/apache2/vhosts.d/$file" ) or do {
@@ -411,10 +384,6 @@
}
return $class->write_listen_conf();
}
- } elsif( $path eq '.moduleselection' ) {
- if( ref($args[0]) eq 'ARRAY' ) {
- return $class->write_module_selection( $args[0] );
- }
} else {
# not implemented
}

Modified:
branches/SuSE-Code-11-SP1-Branch/http-server/package/yast2-http-server.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/http-server/package/yast2-http-server.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/http-server/package/yast2-http-server.changes
(original)
+++
branches/SuSE-Code-11-SP1-Branch/http-server/package/yast2-http-server.changes
Fri Sep 25 08:21:48 2009
@@ -1,4 +1,41 @@
-------------------------------------------------------------------
+Wed Mar 25 14:06:28 CET 2009 - mzugec@xxxxxxx
+
+- for name-based vhosts split configuration files (bnc#427427)
+- 2.17.11
+
+-------------------------------------------------------------------
+Mon Mar 23 16:54:23 CET 2009 - mzugec@xxxxxxx
+
+- improved IP addr. validation for ip-based vhosts (bnc#486476)
+- 2.17.10
+
+-------------------------------------------------------------------
+Mon Mar 23 16:51:13 CET 2009 - mzugec@xxxxxxx
+
+- correctly recognize virtual host type (IP/name) (bnc#486475)
+- 2.17.9
+
+-------------------------------------------------------------------
+Mon Mar 23 16:43:46 CET 2009 - mzugec@xxxxxxx
+
+- handling of custom modules (see bnc#482424)
+- 2.17.8
+
+-------------------------------------------------------------------
+Mon Mar 23 16:41:22 CET 2009 - mzugec@xxxxxxx
+
+- modules ordering problem (bnc#350590)
+- validation of modules dependency
+- 2.17.7
+
+-------------------------------------------------------------------
+Mon Mar 23 16:28:53 CET 2009 - mzugec@xxxxxxx
+
+- added X-SuSE-YaST-AutoInstSchema into desktop file (bnc#480466)
+- 2.17.6
+
+-------------------------------------------------------------------
Wed Nov 19 16:39:26 CET 2008 - mzugec@xxxxxxx

- fixed Listen entry problem (bnc#445460)

Modified: branches/SuSE-Code-11-SP1-Branch/http-server/src/HttpServerWidgets.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/http-server/src/HttpServerWidgets.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/http-server/src/HttpServerWidgets.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/http-server/src/HttpServerWidgets.ycp Fri
Sep 25 08:21:48 2009
@@ -222,15 +222,14 @@
}

map<string, any> vhost = YaST::HTTPDData::GetVhostType(host);
-
if (! FileUtils::CheckAndCreatePath( documentroot )){
res = false;
break;
}
if (vhost["id"]:"" == ip)
{
- // this is valid only if both of them are name-based, not ip-based
- if ( YaST::HTTPDData::GetVhostType(host)["type"]:""=="name-based"
&& namebased )
+ // this is valid only if both of them are name-based, not ip-based
(bnc#486476)
+ if ( !(YaST::HTTPDData::GetVhostType(host)["type"]:""=="name-based"
&& namebased) )
{
// error message - the entered ip address is already
// configured for another virtual host
@@ -629,6 +628,7 @@

global void initModules (string key);
global symbol handleModules (string key, map event);
+global boolean validateModules (string key, map event);
global void initListenSettings (string key);
global symbol handleListenSettings (string key, map event);
global void initServiceStatus (string key);
@@ -1469,6 +1469,8 @@
),
"init" : initModules,
"handle" : handleModules,
+ "validate_type" : `function,
+ "validate_function" : validateModules,
"help" : HELPS["modules"]:"",

],
@@ -2467,7 +2469,7 @@
integer index = -1;
// create temporary list of maps from modules
list< map<string, any > > listmodules = maplist(string name , modules,{
- return( mapmap(string k,any v, $["default":"1",
"name":name, "summary":_("unknown"), "required":"0", "suggested":"0"],
+ return( mapmap(string k,any v, $["default":"1",
"name":name, "summary":_("unknown"), "requires":""],
{return ($[k:v]); }));
});
// add to known modules list modules from temporary list
@@ -2494,6 +2496,30 @@
UI::SetFocus (`id (`modules));
}

+ global boolean validateModules(string id, map key){
+ boolean valid=true;
+ list<string> selected = [];
+ foreach(term i, (list<term>)UI::QueryWidget(`modules, `Items), {
+ if (i[2]:""==_("Enabled")) selected=add(selected, i[1]:"");
+ });
+ map<string, any> all_modules =$[];
+ foreach(map row, YaST::HTTPDData::GetKnownModules(), {
+ all_modules[row["name"]:""] = remove(row, "name");
+ });
+ foreach(string mod, selected, {
+ string require = all_modules[mod, "requires"]:"";
+ if (size(require)>0){
+ if (!contains(selected, require)){
+ string message = sformat("%1:\n %2 %3 %4\n%5", _("Modules
dependency problem"), mod, _("requires"), require, _("Enable required module or
disable first one."));
+ Popup::Error(message);
+ y2warning("Error message: %1", message);
+ valid=false;
+ }
+ }
+ });
+ return valid;
+ }
+
/**
* Handle function of a widget
* @param key any widget key of widget that is processed
@@ -2536,10 +2562,10 @@
else if (event["ID"]:nil == `add_user)
{

- string modules_dir=sformat("/usr/%1/apache2-%2/",
(Arch::ia64()||Arch::mips64()||Arch::ppc64()||Arch::s390_64()||Arch::sparc64()||Arch::x86_64())?"lib64":"lib",
(PackageSystem::Installed("apache2-prefork"))?"prefork":"worker");
+ string module_dirs=sformat("/usr/lib*/apache2/ /usr/lib*/apache2-%1/",
(PackageSystem::Installed("apache2-prefork"))?"prefork":"worker");
// list of all installed modules
list <string> all_modules = splitstring(((map<string, any>)
SCR::Execute(.target.bash_output,
- sformat("ls %1|grep so|cut -d. -f1|cut -d_ -f2-",
modules_dir)))["stdout"]:"", "\n");
+ sformat("ls %1|grep \".so$\"|cut -d. -f1|cut -d_ -f2-",
module_dirs)))["stdout"]:"", "\n");
list<string> existing = maplist (map<string,any> mod,
YaST::HTTPDData::GetKnownModules(), ``(
mod["name"]:_("unknown")));
// extract unknown modules from all installed

Modified: branches/SuSE-Code-11-SP1-Branch/http-server/src/YaPI/HTTPD.pm
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/http-server/src/YaPI/HTTPD.pm?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/http-server/src/YaPI/HTTPD.pm (original)
+++ branches/SuSE-Code-11-SP1-Branch/http-server/src/YaPI/HTTPD.pm Fri Sep 25
08:21:48 2009
@@ -526,7 +526,7 @@
if ($byname eq 0){
push(@{$vhost_files->{'ip-based'}}, {HOSTID => "$ip/$servername",
HostIP => $ip, DATA => \@newdata});
} else {
- $vhost_files->{$ip} = [{HOSTID => "$ip/$servername", HostIP
=> $ip, DATA => \@newdata}];
+ $vhost_files->{$servername} = [{HOSTID => "$ip/$servername",
HostIP => $ip, DATA => \@newdata}];
}


@@ -556,12 +556,11 @@
}
}
case "main" { delete $vhost_files->{'main'} if ($hostid eq 'main'); }
- else {
- foreach my $hostList ( $vhost_files->{$key} ) {
- foreach my $hostentryHash ( @$hostList ) { delete
($vhost_files->{$key}) if ($hostentryHash->{HOSTID} eq $hostid); }
- }
- }
- }
+ else {
+ my $vhost = $vhost_files->{$key}->[0]->{'HOSTID'};
+ delete $vhost_files->{$key} if ($vhost eq $hostid);
+ }
+ }
}
}

@@ -898,28 +897,21 @@

sub writeHosts (){
my $self = shift;
- my @vhosts = ();

- @vhosts = @{$vhost_files->{'ip-based'}} if (defined
$vhost_files->{'ip-based'});
+ # default server
+ my %data = ( 'default-server.conf' =>$vhost_files->{'main'});

- foreach my $key ( keys(%{$vhost_files}) ) {
- switch($key)
- {
- case "ip-based" {
- }
- case "main" {}
- else {
- foreach my $hostList ( $vhost_files->{$key} ) {
- foreach my $hostentryHash ( @$hostList ) {
- push( @vhosts, $hostentryHash ) ;
- }
- }
- }
- }
- }
-
- my %data = ( 'default-server.conf' =>$vhost_files->{'main'});
- $data{'yast2_vhosts.conf'} = \@vhosts ;
+ #ip based vhost
+ my @ip_vhosts = @{$vhost_files->{'ip-based'}} if (defined
$vhost_files->{'ip-based'});
+ my $size = @ip_vhosts;
+ $data{'ip-based_vhosts.conf'} = \@ip_vhosts if ($size>0);
+
+ #name based vhost
+ foreach my $vhost ( keys(%{$vhost_files}) ) {
+ next if ($vhost eq 'main' || $vhost eq 'ip-based');
+ my @name_vhost = @{$vhost_files->{$vhost}};
+ $data{"$vhost.conf"} = \@name_vhost;
+ }

SCR->Write(".http_server.vhosts", \%data);
}
@@ -955,7 +947,9 @@
BEGIN { $TYPEINFO{GetModuleList} = ["function", [ "list", "string" ] ]; }
sub GetModuleList {
my $self = shift;
- my $data = SCR->Read('.sysconfig.apache2.APACHE_MODULES'); # FIXME: Error
handling
+# my $data = SCR->Read('.sysconfig.apache2.APACHE_MODULES'); # FIXME: Error
handling
+ my $data = SCR->Execute('.target.bash_output', 'a2enmod -l')->{'stdout'};
# FIXME: Error handling
+
$data =~ s/mod_//g;

return [ split(/\s+/, $data) ];
@@ -1070,8 +1064,12 @@
}
@newList = (@known, @unknown);

- SCR->Write('.sysconfig.apache2.APACHE_MODULES', join(' ',@newList));
- SCR->Write('.sysconfig.apache2', undef);
+ SCR->Execute('.target.bash', 'for module in $(a2enmod -l);do a2enmod -d
$module; done');
+ foreach my $module (@newList){
+ SCR->Execute('.target.bash', "a2enmod $module");
+ }
+# SCR->Write('.sysconfig.apache2.APACHE_MODULES', join(' ',@newList));
+# SCR->Write('.sysconfig.apache2', undef);
return 1;
}


Modified: branches/SuSE-Code-11-SP1-Branch/http-server/src/YaPI/HTTPDModules.pm
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/http-server/src/YaPI/HTTPDModules.pm?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/http-server/src/YaPI/HTTPDModules.pm
(original)
+++ branches/SuSE-Code-11-SP1-Branch/http-server/src/YaPI/HTTPDModules.pm Fri
Sep 25 08:21:48 2009
@@ -1,14 +1,18 @@
package YaPI::HTTPDModules;
use YaPI;
textdomain "http-server";
-
%modules = (
+# (without_leading mod_) module name = {
+# summary => __("Translatable text with module description - will be
shown in YaST table"),
+# packages => [ list of rpm packages needed for particular module ],
+# default => 0 or 1 if this module should be enabled by default
+# postition => order in /etc/sysconfig/apache2 (lowest numbew, ... ,
higher number)
+# requires => required modulename (this is used in YaST dialog
validation)
+# }
'authz_host' => {
summary => __("Provides access control based on client
host name, IP address, etc."),
packages => [],
default => 1,
- required => 0,
- suggested => 0,
position => 10,
directives=> [ { option => "Allow", "context" => [
"Directory" ] },
{ option => "Deny", "context" => [
"Directory" ] },
@@ -19,8 +23,6 @@
summary => __("Executing CGI scripts based on media type
or request method"),
packages => [],
default => 1,
- required => 0,
- suggested => 0,
position => 20,
directives=> [ { option => "Action", "context" => [
"Directory", "Server", "Virtual" ] },
{ option => "Script", "context" => [
"Directory", "Server", "Virtual" ] }
@@ -30,8 +32,6 @@
summary => __("Mapping different parts of the host file
system in the document tree and for URL redirection"),
packages => [],
default => 1,
- required => 0,
- suggested => 0,
position => 30,
directives=> [ { option => "Alias",
"context" => [ "Server", "Virtual" ] },
{ option => "AliasMatch",
"context" => [ "Server", "Virtual" ] },
@@ -47,8 +47,6 @@
summary => __("Basic authentication"),
packages => [],
default => 1,
- required => 0,
- suggested => 0,
position => 40,
directives=> [ { option => "AuthBasicAuthoritative",
"context" => [ "Directory" ] , "values" => [ "On", "Off" ] },
{ option => "AuthBasicProvider",
"context" => [ "Directory" ] }
@@ -58,8 +56,6 @@
summary => __("User authentication using text files"),
packages => [],
default => 1,
- required => 0,
- suggested => 0,
position => 40,
directives=> [ { option => "AuthUserFile", "context" => [
"Directory" ] }
]
@@ -68,8 +64,6 @@
summary => __("User Authorization"),
packages => [],
default => 1,
- required => 0,
- suggested => 0,
position => 40,
directives=> [ { option => "AuthzUserAuthoritative",
"context" => [ "Directory" ], "values" => [ "On", "Off" ] }
]
@@ -78,8 +72,6 @@
summary => __("Group authorization using plaintext
files"),
packages => [],
default => 1,
- required => 0,
- suggested => 0,
position => 40,
directives=> [ { option => "AuthGroupFile", "context" => [
"Directory" ] },
{ option => "AuthzGroupFileAuthoritative",
"context" => [ "Directory" ], "values" => [ "On", "Off" ] }
@@ -89,18 +81,12 @@
summary => __("User authentication using DBM files"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 50,
module => {
-# AuthDBMAuthoritative => 'mod_auth_dbm',
-# AuthDBMGroupFile => 'mod_auth_dbm',
AuthDBMType => 'mod_auth_dbm',
AuthDBMUserFile => 'mod_auth_dbm'
},
directives=> [
-#{ option => "AuthDBMAuthoritative", "context" => [ "Directory" ] , "values"
=> [ "On", "Off" ] },
-# { option => "AuthDBMGroupFile",
"context" => [ "Directory" ] },
{ option => "AuthDBMType",
"context" => [ "Directory" ] ,

"values" => [ "default", "SDBM", "GDBM", "NDBM", "DB" ] },
{ option => "AuthDBMUserFile",
"context" => [ "Directory" ] }
@@ -110,8 +96,6 @@
summary => __("Generates directory indices,
automatically, similar to the Unix ls command"),
packages => [],
default => 1,
- required => 0,
- suggested => 0,
position => 60,
directives=> [ { option => "AddAlt",
"context" => [ "Directory", "Server", "Virtual" ] },
{ option => "AddAltByEncoding",
"context" => [ "Directory", "Server", "Virtual" ] },
@@ -133,8 +117,6 @@
summary => __("Execution of CGI scripts"),
packages => [],
default => 1,
- required => 0,
- suggested => 0,
position => 70,
directives=> [ { option => "ScriptLog",
"context" => [ "Server", "Virtual" ] },
{ option => "ScriptLogBuffer",
"context" => [ "Server", "Virtual" ] },
@@ -145,8 +127,6 @@
summary => __("Provides for trailing slash redirects and
serving directory index files"),
packages => [],
default => 1,
- required => 0,
- suggested => 0,
position => 80,
directives=> [ { option => "DirectoryIndex", "context" =>
[ "Directory", "Server", "Virtual" ] },
{ option => "DirectorySlash", "context" => [
"Directory", "Server", "Virtual" ] , "values" => [ "On", "Off" ] }
@@ -156,8 +136,6 @@
summary => __("Modifies the environment passed to CGI
scripts and SSI pages"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 90,
directives=> [ { option => "PassEnv", "context" => [
"Directory", "Server", "Virtual" ] },
{ option => "SetEnv", "context" => [
"Directory", "Server", "Virtual" ] },
@@ -168,8 +146,6 @@
summary => __("Generation of Expires HTTP headers
according to user-specified criteria"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 100,
module => {
ExpiresActive => 'mod_expires',
@@ -185,8 +161,6 @@
summary => __("Server-parsed HTML documents (Server Side
Includes)"),
packages => [],
default => 1,
- required => 0,
- suggested => 0,
position => 110,
directives=> [ { option => "SSIEndTag",
"context" => [ "Server", "Virtual" ] },
{ option => "SSIErrorMsg",
"context" => [ "Directory", "Server", "Virtual" ] },
@@ -201,8 +175,6 @@
summary => __("Logging of the requests made to the
server"),
packages => [],
default => 1,
- required => 0,
- suggested => 0,
position => 120,
directives=> [ { option => "BufferedLogs", "context" => [
"Server" ] , "values" => [ "On", "Off" ] },
{ option => "CookieLog", "context" => [
"Server", "Virtual" ] },
@@ -215,8 +187,6 @@
summary => __("Associates the requested file name\'s
extensions with the file\'s behavior and content"),
packages => [],
default => 1,
- required => 0,
- suggested => 0,
position => 130,
directives=> [ { option => "AddCharset",
"context" => [ "Directory", "Server", "Virtual" ] },
{ option => "AddEncoding",
"context" => [ "Directory", "Server", "Virtual" ] },
@@ -242,8 +212,6 @@
summary => __("Provides for content negotiation"),
packages => [],
default => 1,
- required => 0,
- suggested => 0,
position => 140,
directives=> [ { option => "CacheNegotiatedDocs",
"context" => [ "Server", "Virtual" ], "values" => [ "On", "Off" ] },
{ option => "ForceLanguagePriority",
"context" => [ "Directory", "Server", "Virtual" ] },
@@ -254,8 +222,6 @@
summary => __("Allows the setting of environment
variables based on characteristics of the request"),
packages => [],
default => 1,
- required => 0,
- suggested => 0,
position => 150,
directives=> [ { option => "BrowserMatch",
"context" => [ "Directory", "Server", "Virtual" ] },
{ option => "BrowserMatchNoCase",
"context" => [ "Directory", "Server", "Virtual" ] },
@@ -267,8 +233,6 @@
summary => __("Provides information about server
activity and performance"),
packages => [],
default => 1,
- required => 0,
- suggested => 0,
position => 160,
directives=> [ { option => "ExtendedStatus", "context" =>
[ "Server" ], "values" => [ "On", "Off" ] }
]
@@ -277,8 +241,6 @@
summary => __("Allows CGI scripts to run as a specified
user and group"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 0,
module => {
SuexecUserGroup => 'mod_suexec',
@@ -290,8 +252,6 @@
summary => __("User-specific directories"),
packages => [],
default => 1,
- required => 0,
- suggested => 0,
position => 180,
directives=> [ { option =>"UserDir", "context" => [
"Server", "Virtual" ] }
]
@@ -300,16 +260,12 @@
summary => __("Sends files that contain their own HTTP
headers"),
packages => [],
default => 1,
- required => 0,
- suggested => 0,
position => 190
},
'authn_anon' => {
summary => __("Allows \"anonymous\" user access to
authenticated areas"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 200,
module => {
Anonymous => 'mod_auth_anon',
@@ -331,8 +287,6 @@
summary => __("User authentication using MD5 Digest
Authentication"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 210,
directives=> [ { option =>"AuthDigestAlgorithm",
"context" => [ "Directory" ], "values" => [ "MD5", "MD5-sess" ] },
{ option =>"AuthDigestDomain",
"context" => [ "Directory" ] },
@@ -348,8 +302,6 @@
summary => __("Allows an LDAP directory to be used to
store the database for HTTP Basic authentication"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 355,
directives=> [ { option =>"AuthLDAPBindDN",
"context" => [ "Directory" ] },
{ option =>"AuthLDAPBindPassword",
"context" => [ "Directory" ] },
@@ -368,8 +320,6 @@
summary => __("Content cache keyed to URIs"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 230,
directives=> [ { option =>"CacheDefaultExpire",
"context" => [ "Server", "Virtual" ] },
{ option =>"CacheDisable",
"context" => [ "Server", "Virtual" ] },
@@ -387,8 +337,6 @@
summary => __("Specify character set translation or
recoding"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 240,
directives=> [ { option =>"CharsetDefault",
"context" => [ "Directory", "Server", "Virtual" ] },
{ option =>"CharsetOptions",
"context" => [ "Directory", "Server", "Virtual" ] },
@@ -399,8 +347,6 @@
summary => __("Distributed Authoring and Versioning
(WebDAV) functionality"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 250,
module => {
Dav => 'mod_dav',
@@ -416,8 +362,6 @@
summary => __("File system provider for mod_dav"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 260,
module => {
DavLockDB => 'mod_dav_fs'
@@ -429,8 +373,6 @@
summary => __("Compress content before it is delivered
to the client"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 270,
module => {
DeflateBufferSize => 'mod_deflate',
@@ -445,14 +387,11 @@
{ option =>"DeflateMemLevel",
"context" => [ "Server", "Virtual" ] },
{ option =>"DeflateWindowSize",
"context" => [ "Server", "Virtual" ] }
]
-
},
'disk_cache' => {
summary => __("Content cache storage manager keyed to
URIs"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 280,
directives=> [ { option =>"CacheDirLength",
"context" => [ "Server", "Virtual" ] },
{ option =>"CacheDirLevels",
"context" => [ "Server", "Virtual" ] },
@@ -465,8 +404,6 @@
summary => __("A simple echo server to illustrate
protocol modules"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 290,
directives=> [ { option =>"ProtocolEcho", "context" => [
"Server", "Virtual" ], "values" => [ "On", "Off" ] }
]
@@ -475,8 +412,6 @@
summary => __("Pass the response body through an
external program before delivery to the client"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 300,
module => {
ExtFilterDefine => 'mod_ext_filter',
@@ -485,26 +420,20 @@
directives=> [ { option =>"ExtFilterDefine",
"context" => [ "Server" ] },
{ option =>"ExtFilterOptions",
"context" => [ "Directory" ] }
]
-
},
'file_cache' => {
summary => __("Caches a static list of files in memory"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 310,
directives=> [ { option =>"CacheFile", "context" => [
"Server" ] },
{ option =>"MMapFile", "context" => [
"Server" ] }
]
-
},
'headers' => {
summary => __("Customization of HTTP request and
response headers"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 320,
module => {
Header => 'mod_headers',
@@ -513,28 +442,22 @@
directives=> [ { option =>"Header", "context" => [
"Server", "Virtual", "Directory" ] },
{ option =>"RequestHeader", "context" => [
"Server", "Virtual", "Directory" ] }
]
-
},
'imagemap' => {
summary => __("Server-side image map processing"),
packages => [],
default => 1,
- required => 0,
- suggested => 0,
position => 330,
directives=> [ { option =>"ImapBase", "context" => [
"Server", "Virtual", "Directory" ] },
{ option =>"ImapDefault", "context" => [
"Server", "Virtual", "Directory" ] },
{ option =>"ImapMenu", "context" => [
"Server", "Virtual", "Directory" ],

"values" => [ "none", "formatted", "semiformatted", "unformatted" ] }
]
-
},
'info' => {
summary => __("Provides a comprehensive overview of the
server configuration"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 340,
module => { AddModuleInfo => 'mod_info' },
directives=> [ { option =>"AddModuleInfo",
"context" => [ "Server", "Virtual" ] },
@@ -544,8 +467,6 @@
summary => __("LDAP connection pooling and result
caching services for use by other LDAP modules"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 350,
directives=> [ { option =>"LDAPCacheEntries",
"context" => [ "Server" ] },
{ option =>"LDAPCacheTTL",
"context" => [ "Server" ] },
@@ -566,16 +487,12 @@
summary => __("Logging of input and output bytes per
request"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 360
},
'mem_cache' => {
summary => __("Content cache keyed to URIs"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 370,
directives=> [ { option =>"MCacheMaxObjectCount",
"context" => [ "Server" ] },
{ option =>"MCacheMaxObjectSize",
"context" => [ "Server" ] },
@@ -589,20 +506,15 @@
summary => __("Determines the MIME type of a file by
looking at a few bytes of its contents"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 380,
module => { MimeMagicFile => 'mod_mime_magic' },
directives=> [ { option =>"MimeMagicFile",
"context" => [ "Server", "Virtual" ] },
]
-
},
'proxy' => {
summary => __("HTTP/1.1 proxy/gateway server"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 390,
module => {
NoProxy => 'mod_proxy',
@@ -646,14 +558,11 @@
{ option =>"ProxyVia",
"context" => [ "Server", "Virtual" ],

"values" => [ "On", "Off", "Full", "Block" ] }
]
-
},
'proxy_connect' => {
summary => __("mod_proxy extension for CONNECT request
handling"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 400,
module => { AllowCONNECT => 'mod_proxy_connect' }
},
@@ -661,24 +570,18 @@
summary => __("FTP support module for mod_proxy"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 410
},
'proxy_http' => {
summary => __("HTTP support module for mod_proxy"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 420
},
'rewrite' => {
summary => __("Provides a rule-based rewriting engine to
rewrite requested URLs on the fly"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 430,
module => {
RewriteBase => 'mod_rewrite',
@@ -701,26 +604,20 @@
{ option =>"RewriteOptions", "context"
=> [ "Server", "Virtual", "Directory" ] },
{ option =>"RewriteRule", "context"
=> [ "Server", "Virtual", "Directory" ] }
]
-
},
'speling' => {
summary => __("Attempts to correct mistaken URLs that
users might have entered"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 440,
module => { CheckSpelling => 'mod_speling' },
directives=> [ { option =>"CheckSpelling",
"context" => [ "Server", "Virtual", "Directory" ], "values" => [ "On", "Off" ]
},
]
-
},
'ssl' => {
summary => __("Strong cryptography using the Secure
Sockets Layer (SSL) and Transport Layer Security (TLS) protocols"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 450,
directives=> [ { option =>"SSLCACertificateFile",
"context" => [ "SSL", "Server", "Virtual" ] },
{ option =>"SSLCACertificatePath",
"context" => [ "SSL", "Server", "Virtual" ] },
@@ -761,16 +658,12 @@
summary => __("Provides an environment variable with a
unique identifier for each request"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 460
},
'usertrack' => {
summary => __("Clickstream logging of user activity on a
site"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 470,
module => {
CookieDomain => 'mod_usertrack',
@@ -791,8 +684,6 @@
summary => __("Provides support for dynamically
configured mass virtual hosting"),
packages => [],
default => 0,
- required => 0,
- suggested => 0,
position => 480,
module => {
VirtualDocumentRoot => 'mod_vhost_alias',
@@ -806,54 +697,45 @@
{ option =>"VirtualScriptAliasIP",
"context" => [ "Server", "Virtual", "Directory" ] }
]
},
-
-# 'php4' => {
-# summary => 'Provides support for PHP4 dynamically
generated pages',
-# packages => ["apache2-mod_php4"],
-# default => 0,
-# required => 0,
-# suggested => 0,
-# position => 490,
-# exclude => [ "php5" ]
-# },
-
'php5' => {
summary => __("Provides support for PHP5 dynamically
generated pages"),
packages => ["apache2-mod_php5"],
default => 0,
- required => 0,
- suggested => 0,
- position => 490,
- exclude => [ "php4" ]
+ position => 490
},
'perl' => {
summary => __("Provides support for Perl dynamically
generated pages"),
packages => ["apache2-mod_perl"],
default => 0,
- required => 0,
- suggested => 0,
position => 500
},
'python' => {
summary => __("Provides support for Python dynamically
generated pages"),
packages => ["apache2-mod_python"],
default => 0,
- required => 0,
- suggested => 0,
position => 510
},
'apparmor' => {
summary => __("Provides support for AppArmor subprocess
confinement within apache"),
packages => ["mod-apparmor"],
default => 0,
- required => 0,
- suggested => 0,
position => 530
+ },
+ 'dav_svn' => {
+ summary => __("Provides support for subversion"),
+ packages => ["subversion-server"],
+ requires => "dav",
+ default => 0,
+ position => 540
+ },
+ 'authz_svn' => {
+ summary => __("Provides support for subversion"),
+ packages => ["subversion-server"],
+ requires => "dav_svn",
+ default => 0,
+ position => 550
}
-
);
-
-
%selection = (
TestSel => {
summary => 'A test selection',
@@ -861,4 +743,3 @@
default => 0
}
);
-

Modified: branches/SuSE-Code-11-SP1-Branch/http-server/src/http-server.desktop
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/http-server/src/http-server.desktop?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/http-server/src/http-server.desktop
(original)
+++ branches/SuSE-Code-11-SP1-Branch/http-server/src/http-server.desktop Fri
Sep 25 08:21:48 2009
@@ -16,6 +16,7 @@
X-SuSE-YaST-SortKey=
X-SuSE-YaST-AutoInstResource=http-server
X-SuSE-YaST-AutoInstClonable=true
+X-SuSE-YaST-AutoInstSchema = http-server.rnc

Icon=yast-http-server
Exec=/sbin/yast2 http-server

Modified: branches/SuSE-Code-11-SP1-Branch/installation/control/control.SLED.xml
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/installation/control/control.SLED.xml?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/installation/control/control.SLED.xml
(original)
+++ branches/SuSE-Code-11-SP1-Branch/installation/control/control.SLED.xml Fri
Sep 25 08:21:48 2009
@@ -91,17 +91,6 @@
<!-- #449128, Run online-update during AC -->
<module>you</module>
<module>restore_settings</module>
- <!-- #469273, Second stage of Upgrade: Some steps are disabled due
to AC enabled -->
- <module>upgrade_ask_net_test</module>
- <module>upgrade_do_net_test</module>
- <module>upgrade_addon_update_sources</module>
- <module>upgrade_suse_register</module>
- <module>upgrade_ask_online_update</module>
- <module>upgrade_you</module>
- <module>upgrade_restore_settings</module>
- <module>upgrade_suseconfig</module>
- <module>upgrade_release_notes</module>
- <module>upgrade_congratulate</module>
</autoconfiguration_enabled_modules>

<!-- Configuration for inst_automatic_configuration script -->
@@ -701,6 +690,15 @@
<proposal>initial</proposal>
</module>
<!--
+ BNC #414490, #477778: Updating SLES 10 (hdX) to SLES 11
(sdX)
+ produces multiple identical grub boot menu entries
+ -->
+ <module>
+ <label>Perform Update</label>
+ <name>bl_preupdate</name>
+ <execute>bootloader_preupdate</execute>
+ </module>
+ <!--
FATE #303860: Provide consistent progress during
installation
BNC #438848: Also during upgrade
-->

Modified: branches/SuSE-Code-11-SP1-Branch/installation/control/control.SLES.xml
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/installation/control/control.SLES.xml?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/installation/control/control.SLES.xml
(original)
+++ branches/SuSE-Code-11-SP1-Branch/installation/control/control.SLES.xml Fri
Sep 25 08:21:48 2009
@@ -830,6 +830,15 @@
<execute>inst_proposal</execute>
<proposal>initial</proposal>
</module>
+ <!--
+ BNC #414490, #477778: Updating SLES 10 (hdX) to SLES 11
(sdX)
+ produces multiple identical grub boot menu entries
+ -->
+ <module>
+ <label>Perform Update</label>
+ <name>bl_preupdate</name>
+ <execute>bootloader_preupdate</execute>
+ </module>
<!--
FATE #303860: Provide consistent progress during
installation
BNC #438848: Also during upgrade

Modified:
branches/SuSE-Code-11-SP1-Branch/installation/control/control.openSUSE.xml
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/installation/control/control.openSUSE.xml?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/installation/control/control.openSUSE.xml
(original)
+++ branches/SuSE-Code-11-SP1-Branch/installation/control/control.openSUSE.xml
Fri Sep 25 08:21:48 2009
@@ -869,11 +869,20 @@
<proposal>initial</proposal>
</module>
<!--
+ BNC #414490, #477778: Updating SLES 10 (hdX) to SLES 11
(sdX)
+ produces multiple identical grub boot menu entries
+ -->
+ <module>
+ <label>Perform Update</label>
+ <name>bl_preupdate</name>
+ <execute>bootloader_preupdate</execute>
+ </module>
+ <!--
FATE #303860: Provide consistent progress during
installation
BNC #438848: Also during upgrade
-->
<module>
- <label>Perform Installation</label>
+ <label>Perform Update</label>
<name>prepareprogress</name>
</module>
<module>

Modified:
branches/SuSE-Code-11-SP1-Branch/installation/package/yast2-installation.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/installation/package/yast2-installation.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/installation/package/yast2-installation.changes
(original)
+++
branches/SuSE-Code-11-SP1-Branch/installation/package/yast2-installation.changes
Fri Sep 25 08:21:48 2009
@@ -1,10 +1,48 @@
-------------------------------------------------------------------
-Wed Jul 8 16:04:00 CEST 2009 - mzugec@xxxxxxx
+Mon Aug 10 14:18:11 CEST 2009 - locilka@xxxxxxx
+
+- added calling bootloader client bootloader_preupdate to control
+ file to fix multiple grub entries (bnc #414490, bnc #477778).
+
+-------------------------------------------------------------------
+Tue Jul 14 13:46:11 CEST 2009 - mzugec@xxxxxxx

- correctly write supporturl (bnc#520169)
- 2.17.55

-------------------------------------------------------------------
+Wed Jun 24 10:02:20 CEST 2009 - locilka@xxxxxxx
+
+- Fixed Welcome dialog layout to have more license content visible
+ and to align language and keyboard widgets with it.
+
+-------------------------------------------------------------------
+Mon Apr 20 13:59:31 CEST 2009 - locilka@xxxxxxx
+
+- Fixed Vendor module to use zypp history file instead of using
+ y2logRPM (bnc #456446).
+- Installation/Upgrade newly require some packages essential for
+ them to succeed (bnc #469730).
+
+-------------------------------------------------------------------
+Tue Apr 7 13:04:20 CEST 2009 - ug@xxxxxxx
+
+- changed the error message of missing hard disks during
+ autoinstallation. Might confuse s390/iSCSI users. (bnc#476147)
+
+-------------------------------------------------------------------
+Tue Mar 17 14:24:21 CET 2009 - locilka@xxxxxxx
+
+- Adjusting workflow steps according to selected installation mode
+ if AC has been left selected while switching to update (SP1 fix
+ for bnc #469273).
+
+-------------------------------------------------------------------
+Mon Mar 16 14:47:46 CET 2009 - locilka@xxxxxxx
+
+- Fixed help for "License Translations..." button (bnc #481113).
+
+-------------------------------------------------------------------
Mon Mar 9 19:59:12 CET 2009 - locilka@xxxxxxx

- Adjusting second stage of update steps to be enabled even if AC

Modified:
branches/SuSE-Code-11-SP1-Branch/installation/src/clients/inst_complex_welcome.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/installation/src/clients/inst_complex_welcome.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/installation/src/clients/inst_complex_welcome.ycp
(original)
+++
branches/SuSE-Code-11-SP1-Branch/installation/src/clients/inst_complex_welcome.ycp
Fri Sep 25 08:21:48 2009
@@ -84,41 +84,42 @@

// this type of contents will be shown only for initial installation dialog
term contents = `VBox (
- `VWeight (3, `VStretch()),
- `HSquash (`VBox (
+ `VWeight (1, `VStretch()),
+ `Left(`HSquash (`VBox (
`HBox (
`HSquash (Icon::Simple ("yast-language")),
- `HSpacing (2),
+ (text_mode == true ? `Empty() : `HSpacing (2)),
`Left (languagesel)
),
`VSpacing (1),
`HBox (
`HSquash (Icon::Simple ("yast-keyboard")),
- `HSpacing (2),
+ (text_mode == true ? `Empty() : `HSpacing (2)),
`Left (keyboardsel)
- )
- )),
+ ),
+ `VSpacing (1)
+ ))),
`VWeight (1, `VStretch()),
- `HSquash (
+ `VWeight (20, `Left (`HSquash (
`VBox (
`Left (`Label (`opt(`boldFont), _("License Agreement"))),
// bnc #438100
- `HSquash(`MinSize (
+ `HSquash(`MinWidth (
85,
- (text_mode ? 9:13),
`Left (`ReplacePoint (`id (`base_license_rp), `Empty()))
)),
`VSpacing (text_mode ? 0.1 : 0.5),
`MinHeight (1, `HBox (
// Will be replaced with license checkbox if required
`ReplacePoint (`id (`license_checkbox_rp), `Empty()),
- `VStretch (),
+ `VSpacing (1),
// TRANSLATORS: button label
+ // ID: #ICW_B1 button
`Right (`PushButton (`id (`show_fulscreen_license),
_("License &Translations...")))
))
)
- ),
- `VWeight (3, `VStretch())
+ ))),
+ `VWeight (1, `VStretch())
);

term AllLicensesDialog () {
@@ -153,9 +154,10 @@
") +

// help text, continued
+ // Describes the #ICW_B1 button
_("<p>
License has to be accepted before continuing the installation.
-Use <b>Show License</b> to show the license in all available translations.
+Use <b>License Translations...</b> to show the license in all available
translations.
</p>") +

// help text, continued
@@ -193,7 +195,7 @@
UI::ChangeWidget (`id (`keyboard), `Value, kbd);
}

- Wizard::SetTitleIcon ("yast-language");
+ Wizard::SetTitleIcon ("suse");

// Get the user input.
//

Modified:
branches/SuSE-Code-11-SP1-Branch/installation/src/clients/inst_mode.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/installation/src/clients/inst_mode.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/installation/src/clients/inst_mode.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/installation/src/clients/inst_mode.ycp Fri
Sep 25 08:21:48 2009
@@ -386,6 +386,8 @@
ProductControl::SetUseAutomaticConfiguration (false);
}

+ AdjustStepsAccordingToInstallationSettings();
+
if (new_mode == `repair)
{
Mode::SetMode ("repair");
@@ -448,6 +450,17 @@
);
Wizard::SetTitleIcon ("yast-software");

+// BNC #469730: Installation requires some packages
+void SetRequiredPackages () {
+ if (new_mode == `install) {
+ y2milestone ("Adding packages required for installation to succeed...");
+ PackagesProposal::AddResolvables ("YaST-Installation", `package,
["yast2-installation"]);
+ } else if (new_mode == `update) {
+ y2milestone ("Adding packages required for update to succeed...");
+ PackagesProposal::AddResolvables ("YaST-Update", `package,
["yast2-update"]);
+ }
+}
+
if (Mode::mode () != InstData::start_mode) {
y2milestone ("Switching Steps from %1 to %2 ", InstData::start_mode,
Mode::mode ());
UpdateWizardSteps ();
@@ -458,8 +471,11 @@
Kernel::ProbeKernel();
Pkg::TargetFinish ();
Pkg::PkgReset ();
+ // Resets all resolvables required by installation/update parts
+ // Particular modules will add them again when needed
PackagesProposal::ResetAll();
Packages::Init( true );
+ SetRequiredPackages ();

ret = ProductControl::RunFrom (ProductControl::CurrentStep () + 1, false);

@@ -467,6 +483,7 @@
ret = `finish;
} else {
UpdateWizardSteps ();
+ SetRequiredPackages ();
ret = ProductControl::RunFrom (ProductControl::CurrentStep () + 1, false);

if (ret == `next)

Modified:
branches/SuSE-Code-11-SP1-Branch/installation/src/clients/inst_system_analysis.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/installation/src/clients/inst_system_analysis.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/installation/src/clients/inst_system_analysis.ycp
(original)
+++
branches/SuSE-Code-11-SP1-Branch/installation/src/clients/inst_system_analysis.ycp
Fri Sep 25 08:21:48 2009
@@ -111,10 +111,17 @@

if (size (targetMap) == 0) {
if (found_controllers) {
- // pop-up error report
- Report::Error(_("No hard disks were found for the installation.
+ if( !Mode::autoinst() ) {
+ // pop-up error report
+ Report::Error(_("No hard disks were found for the
installation.
Please check your hardware!
"));
+ } else {
+ Report::Warning(_("No hard disks were found for the
installation.
+During an automatic installation, they might be detected later.
+(especially on s390 or iSCSI systems)
+"));
+ }
} else {
// pop-up error report
Report::Error(_("No hard disks and no hard disk controllers were

Modified: branches/SuSE-Code-11-SP1-Branch/installation/src/modules/Vendor.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/installation/src/modules/Vendor.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/installation/src/modules/Vendor.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/installation/src/modules/Vendor.ycp Fri
Sep 25 08:21:48 2009
@@ -33,8 +33,12 @@
global define void DriverUpdate1 ()
{
list<string> updatefiles = (list<string>)WFM::Read (.local.dir,
["/update", []]);
- if (size (updatefiles) <= 0)
+ if (size (updatefiles) <= 0) {
+ y2milestone ("No files in /update, skipping driver update...");
return;
+ }
+
+ y2milestone ("Extracting driver update...");

// clean up, just in case
SCR::Execute(.target.bash, "/bin/rm -rf /tmp/update");
@@ -43,19 +47,40 @@
WFM::Execute(.local.bash, "l=/var/log/driverupdate.log ; [ -f $l ] &&
/bin/cat $l " +
">> '" + String::Quote (Installation::destdir) + "$l'");

- // copy all update files
+ // copy all update files from inst-sys to installed system
WFM::Execute(.local.bash, "/bin/cp -a /update " +
"'" + String::Quote (Installation::destdir) + "/tmp/update'");

+ string logfile = "/var/log/zypp/history";
+
+ string runcmd =
+ "cd /; \n" +
+ "for i in /tmp/update/[0-9]*/install ; do \n" +
+ // Logging extracting the driver update
+ " echo # Installing Driver Update from $i >>" + logfile + "; \n"
+
+ " TMPFILE=${i}rpm_install_tmpfile; \n" +
+ " [ -x \"/bin/mktemp\" ] && TMPFILE=`/bin/mktemp`; \n" +
+ // Extracting the driver update archives
+ " cd $i; \n" +
+ " [ -f \"update.tar.gz\" ] && /bin/tar -zxf \"update.tar.gz\";
\n" +
+ " [ -f \"update.tgz\" ] && /bin/tar -zxf \"update.tgz\"; \n" +
+ // Installing all extracted RPMs
+ " rpm -Uv --force *.rpm 1>>$TMPFILE 2>>$TMPFILE; \n" +
+ // Logging errors
+ " [ -s \"$TMPFILE\" ] && echo \"# Additional rpm output:\">>" +
logfile + " && sed 's/^\\(.*\\)/# \\1/' $TMPFILE>>" + logfile + "; \n" +
+ " rm -rf $TMPFILE; \n" +
+ // Running update.post script
+ " [ -f \"update.post\" ] && /bin/chmod +x \"update.post\" &&
\"update.post\" \"$i\"; \n" +
+ "done;";
+
+ y2milestone ("Calling:
+---------------------------------------------------------
+%1
+---------------------------------------------------------", runcmd);
+
// unpack update files and run update.post scripts
- SCR::Execute(.target.bash,
- "cd / ; " +
- "echo \"Installing driver update\" >> " +
Directory::logdir + "/y2logRPM ; " +
- "for i in /tmp/update/[0-9]*/install ; do " +
- " [ -f \"$i/update.tar.gz\" ] && /bin/tar -zxf
\"$i/update.tar.gz\" ; " +
- " rpm -Uv $i/*.rpm 2 >> " + Directory::logdir +
"/y2logRPM ; " +
- " [ -f \"$i/update.post\" ] && /bin/chmod +x
\"$i/update.post\" && \"$i/update.post\" \"$i\" ; " +
- "done");
+ // via SCR chrooted into the installed system
+ integer cmd = (integer) SCR::Execute (.target.bash, runcmd);
}

global define void DriverUpdate2 ()

Modified: branches/SuSE-Code-11-SP1-Branch/iscsi-client/VERSION
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/iscsi-client/VERSION?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/iscsi-client/VERSION (original)
+++ branches/SuSE-Code-11-SP1-Branch/iscsi-client/VERSION Fri Sep 25 08:21:48
2009
@@ -1 +1 @@
-2.17.8
+2.17.14

Modified:
branches/SuSE-Code-11-SP1-Branch/iscsi-client/package/yast2-iscsi-client.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/iscsi-client/package/yast2-iscsi-client.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/iscsi-client/package/yast2-iscsi-client.changes
(original)
+++
branches/SuSE-Code-11-SP1-Branch/iscsi-client/package/yast2-iscsi-client.changes
Fri Sep 25 08:21:48 2009
@@ -1,4 +1,42 @@
-------------------------------------------------------------------
+Fri May 29 13:54:42 CEST 2009 - mzugec@xxxxxxx
+
+- startup options documented in helptext (bnc#507004)
+- 2.17.14
+
+-------------------------------------------------------------------
+Tue Apr 21 09:31:11 CEST 2009 - mzugec@xxxxxxx
+
+- changed dialogs workflow to allow to edit authentication for
+ connection (fate#305306)
+- 2.17.13
+
+-------------------------------------------------------------------
+Mon Mar 23 17:43:09 CET 2009 - mzugec@xxxxxxx
+
+- reload service when initiatorname is changed to re-read new value
+ (bnc#482429)
+- 2.17.12
+
+-------------------------------------------------------------------
+Mon Mar 23 17:41:41 CET 2009 - mzugec@xxxxxxx
+
+- hide iBFT passwords (bnc#426945)
+- 2.17.11
+
+-------------------------------------------------------------------
+Mon Mar 23 17:40:16 CET 2009 - mzugec@xxxxxxx
+
+- start iscsid during autoyast installation (bnc#482429)
+- 2.17.10
+
+-------------------------------------------------------------------
+Mon Mar 23 17:39:04 CET 2009 - mzugec@xxxxxxx
+
+- added X-SuSE-YaST-AutoInstSchema into desktop file (bnc#480466)
+- 2.17.9
+
+-------------------------------------------------------------------
Tue Feb 24 12:08:35 CET 2009 - mzugec@xxxxxxx

- toggle between "manual", "automatic", "onboot" (bnc#457252)

Modified: branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/IscsiClient.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/IscsiClient.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/IscsiClient.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/IscsiClient.ycp Fri Sep
25 08:21:48 2009
@@ -108,11 +108,12 @@
foreach(string sess, IscsiClientLib::sessions, {
string target = splitstring(sess, " ")[1]:"";
string portal = splitstring(sess, " ")[0]:"";
- map<string, any> auth = IscsiClientLib::getNode([portal, target]);
+ IscsiClientLib::currentRecord = [portal, target];
+ map<string, any> auth = IscsiClientLib::getNode();
map new_target =
$["target": target,
"portal" : portal,
- "startup" : IscsiClientLib::getStartupStatus([portal, target]),
+ "startup" : IscsiClientLib::getStartupStatus(),
];
if (auth["authmethod"]:"None"=="None") new_target["authmethod"]="None";
else new_target = union(new_target, auth);

Modified: branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/IscsiClientLib.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/IscsiClientLib.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/IscsiClientLib.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/IscsiClientLib.ycp Fri
Sep 25 08:21:48 2009
@@ -12,6 +12,7 @@
global list <string> sessions = [];
global list <string> discovered = [];
global list <string> targets = [];
+global list<string> currentRecord = [];

// status of rcopen-iscsi service
boolean serviceStatus = false;
@@ -24,6 +25,18 @@
// map used for autoYaST
global map ay_settings=nil;

+
+
+global map<string, any> hidePassword(map<string, any> orig){
+ map<string, any> hidden=$[];
+ foreach(string key, any value, orig, {
+ if (issubstring(key, "PASS")) value="*****";
+ hidden[key]=value;
+ });
+ return hidden;
+}
+
+
/**
* get iBFT (available only on some special hardware)
*/
@@ -37,7 +50,7 @@
if (size(key_val[0]:"")>0) ibft[key_val[0]:""] = key_val[1]:"";
});
}
- y2milestone("iBFT %1", ibft);
+ y2milestone("iBFT %1", hidePassword(ibft));
y2milestone("Autologin into iBFT : %1", SCR::Execute(.target.bash_output,
"iscsiadm -m fw -l"));
return ibft;
}
@@ -68,7 +81,7 @@
// use cache if available
if (size(config)==0){
config = (map<string, any>) SCR::Read(.etc.iscsid.all);
- y2milestone("read config %1", config);
+ y2debug("read config %1", config);
}
return config["value"]:[];
}
@@ -97,8 +110,8 @@
}


-global map<string, any> getNode(list<string> rec){
- map<string, any> cmd = (map<string, any>)SCR::Execute(.target.bash_output,
"iscsiadm -S -m node -T $TARGET -p $IP", $["TARGET":rec[1]:"", "IP":rec[0]:""]);
+global map<string, any> getNode(){
+ map<string, any> cmd = (map<string, any>)SCR::Execute(.target.bash_output,
"iscsiadm -S -m node -T $TARGET -p $IP", $["TARGET":currentRecord[1]:"",
"IP":currentRecord[0]:""]);
if (cmd["exit"]:0!=0) return $[];
map<string, any> auth = $[];
foreach(string row, splitstring(cmd["stdout"]:"", "\n"), {
@@ -250,6 +263,8 @@
initiatorname = new_value;
y2milestone("Initiatorname %1 written", initiatorname);
}
+ // reload service when initiatorname is changed to re-read new value
(bnc#482429)
+ Service::Reload("open-iscsi");
return ret;
}

@@ -307,11 +322,11 @@


// delete deiscovered target from database
-global boolean deleteRecord(list<string> record){
+global boolean deleteRecord(){
boolean ret = true;
- y2milestone("Delete record %1", record);
+ y2milestone("Delete record %1", currentRecord);

- map<string, any> retcode = (map<string,
any>)SCR::Execute(.target.bash_output, sformat("iscsiadm -m node -T %1 -p %2
--logout", record[1]:"", record[0]:""));
+ map<string, any> retcode = (map<string,
any>)SCR::Execute(.target.bash_output, sformat("iscsiadm -m node -T %1 -p %2
--logout", currentRecord[1]:"", currentRecord[0]:""));
if (size(retcode["stderr"]:"")>0) return false;

readSessions();
@@ -319,10 +334,10 @@
}

// get (manual/onboot) status of target connecting
-global string getStartupStatus(list<string> record){
+global string getStartupStatus(){
string status = "";
- y2milestone("Getting status of record %1", record);
- map<string, any> retcode = (map<string,
any>)SCR::Execute(.target.bash_output, sformat("iscsiadm -m node -T %1 -p %2",
record[1]:"", record[0]:""));
+ y2milestone("Getting status of record %1", currentRecord);
+ map<string, any> retcode = (map<string,
any>)SCR::Execute(.target.bash_output, sformat("iscsiadm -m node -T %1 -p %2",
currentRecord[1]:"", currentRecord[0]:""));
if (size(retcode["stderr"]:"")>0) return "";
foreach(string row, splitstring(retcode["stdout"]:"", "\n"), {
if (issubstring(row, "node.conn[0].startup")){
@@ -330,14 +345,14 @@
break;
}
});
- y2milestone("Startup status for %1 is %2", record, status);
+ y2milestone("Startup status for %1 is %2", currentRecord, status);
return status;
}

// update authentication value
-global boolean setValue(list<string> record, string name, string value){
- y2milestone("set %1 for record %2", name, record);
- string command = sformat("iscsiadm -m node -T %1 -p %2 --op=update --name=%3
--value=%4", record[1]:"", record[0]:"", name, value);
+global boolean setValue(string name, string value){
+ y2milestone("set %1 for record %2", name, currentRecord);
+ string command = sformat("iscsiadm -m node -T %1 -p %2 --op=update --name=%3
--value=%4", currentRecord[1]:"", currentRecord[0]:"", name, value);
y2milestone("execute command - %1", command );
boolean ret = true;
map<string, any> retcode = (map<string, any>)
SCR::Execute(.target.bash_output, command);
@@ -351,12 +366,12 @@


// check if given target is connected
-global boolean connected(list<string> rec, boolean check_ip){
-y2internal("check connected status for %1 with IP check:%2", rec, check_ip);
+global boolean connected(boolean check_ip){
+y2internal("check connected status for %1 with IP check:%2", currentRecord,
check_ip);
boolean ret = false;
foreach(string row, sessions, {
list<string> list_row = splitstring(row, " ");
- if (list_row[1]:"" == rec[1]:"" && (check_ip ? splitstring(list_row[0]:"",
",")[0]:"" == splitstring(rec[0]:"", ",")[0]:"" : true)){
+ if (list_row[1]:"" == currentRecord[1]:"" && (check_ip ?
splitstring(list_row[0]:"", ",")[0]:"" == splitstring(currentRecord[0]:"",
",")[0]:"" : true)){
ret = true;
break;
}
@@ -365,15 +380,16 @@
}

// change startup status (manual/onboot) for target
-global boolean setStartupStatus(list<string> record, string status){
- y2milestone("Set startup status for %1 to %2", record, status);
+global boolean setStartupStatus(string status){
+ y2milestone("Set startup status for %1 to %2", currentRecord, status);
boolean ret = true;
map<string, any> retcode = (map<string, any>)
SCR::Execute(.target.bash_output,
- sformat("iscsiadm -m node -T %1 -p %2 --op=update
--name=node.conn[0].startup --value=%3", record[1]:"", record[0]:"", status));
+ sformat("iscsiadm -m node -T %1 -p %2 --op=update
--name=node.conn[0].startup --value=%3", currentRecord[1]:"",
currentRecord[0]:"", status));
if (size(retcode["stderr"]:"")>0) return false;
else retcode = (map<string, any>) SCR::Execute(.target.bash_output,
- sformat("iscsiadm -m node -T %1 -p %2 --op=update --name=node.startup
--value=%3", record[1]:"", record[0]:"", status));
+ sformat("iscsiadm -m node -T %1 -p %2 --op=update --name=node.startup
--value=%3", currentRecord[1]:"", currentRecord[0]:"", status));

+y2internal("retcode %1", retcode);
return ret;
}

@@ -412,37 +428,38 @@
return true;
}
*/
+
global boolean loginIntoTarget(map target){
- list<string> curr_rec = [target["portal"]:"", target["target"]:""];
+ currentRecord = [target["portal"]:"", target["target"]:""];
if (target["authmethod"]:"None"!="None"){
string user_in = target["username_in"]:"";
string pass_in = target["password_in"]:"";
if (size(user_in)>0 && size(pass_in)>0){
- setValue(curr_rec, "node.session.auth.username_in", user_in);
- setValue(curr_rec, "node.session.auth.password_in", pass_in);
+ setValue("node.session.auth.username_in", user_in);
+ setValue("node.session.auth.password_in", pass_in);
} else{
- setValue(curr_rec, "node.session.auth.username_in", "");
- setValue(curr_rec, "node.session.auth.password_in", "");
+ setValue("node.session.auth.username_in", "");
+ setValue("node.session.auth.password_in", "");
}
string user_out = target["username"]:"";
string pass_out = target["password"]:"";
if (size(user_out)>0 && size(pass_out)>0){
- setValue(curr_rec, "node.session.auth.username", user_out);
- setValue(curr_rec, "node.session.auth.password", pass_out);
- setValue(curr_rec, "node.session.auth.authmethod", "CHAP");
+ setValue("node.session.auth.username", user_out);
+ setValue("node.session.auth.password", pass_out);
+ setValue("node.session.auth.authmethod", "CHAP");
} else {
- setValue(curr_rec, "node.session.auth.username", "");
- setValue(curr_rec, "node.session.auth.password", "");
- setValue(curr_rec, "node.session.auth.authmethod", "");
+ setValue("node.session.auth.username", "");
+ setValue("node.session.auth.password", "");
+ setValue("node.session.auth.authmethod", "");
}
- } else setValue(curr_rec, "node.session.auth.authmethod", "None");
+ } else setValue("node.session.auth.authmethod", "None");

map<string, any> output = (map<string, any>)SCR::Execute(.target.bash_output,
sformat("iscsiadm -m node -T %1 -p %2 --login",
target["target"]:"", target["portal"]:""));
y2internal("output %1", output);
// if (output["exit"]:-1==0){
// set startup status to auto by default (bnc#400610)
- if (!Mode::autoinst()) setStartupStatus(curr_rec, "onboot");
+ if (!Mode::autoinst()) setStartupStatus("onboot");
return true;
/*
} else {
@@ -510,7 +527,8 @@
foreach(map target, ay_settings["targets"]:[], {
y2internal("login into target %1", target);
loginIntoTarget(target);
- setStartupStatus([target["portal"]:"", target["target"]:""],
target["startup"]:"manual");
+ currentRecord = [target["portal"]:"", target["target"]:""];
+ setStartupStatus(target["startup"]:"manual");
});
return true;
}

Modified: branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/dialogs.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/dialogs.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/dialogs.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/dialogs.ycp Fri Sep 25
08:21:48 2009
@@ -80,8 +80,9 @@
),
`Left(`HBox(
`PushButton(`id(`add), _("Add")),
- `PushButton(`id(`del), _("Log Out")),
- `PushButton(`id(`toggle), _("Toggle Start-Up"))
+ `PushButton(`id(`edit), _("Edit")),
+ `PushButton(`id(`del), _("Log Out"))
+// `PushButton(`id(`toggle), _("Toggle Start-Up"))
))
),
"init" : initConnectedTable,
@@ -133,22 +134,24 @@
"widget" : `custom,
"custom_widget" :
`VBox(
- `Left( `CheckBox(`id(`auth_none),`opt(`notify), _("No
Authentication"), true) ),
- `VSpacing(2),
- `Left( `CheckBox(`id(`auth_in),`opt(`notify),
_("Incoming Authentication"), false) ),
- `HBox(
- `TextEntry(`id(`user_in), _("Username")),
`Password(`id(`pass_in), _("Password"))
- ),
- `VSpacing(2),
- `Left( `CheckBox(`id(`auth_out),`opt(`notify),
_("Outgoing Authentication"), false) ),
- `HBox(
- `TextEntry(`id(`user_out), _("Username")),
`Password(`id(`pass_out), _("Password"))
- )
+ `CheckBoxFrame(`id(`auth_none),
`opt(`invertAutoEnable), _("No Authentication"), true ,
+ `VBox(
+ `Left(`Label(_("Incoming Authentication"))),
+ `HBox(
+ `TextEntry(`id(`user_in),
_("Username")), `Password(`id(`pass_in), _("Password"))
+ ),
+ `VSpacing(2),
+ `Left( `Label(_("Outgoing Authentication"))),
+ `HBox(
+ `TextEntry(`id(`user_out),
_("Username")), `Password(`id(`pass_out), _("Password"))
+ )
+ )
+ )
),
"init" : initDiscAuth,
- "handle" : handleDiscAuth,
- "validate_type" : `function,
- "validate_function" : validateDiscAuth,
+// "handle" : handleDiscAuth,
+// "validate_type" : `function,
+// "validate_function" : validateDiscAuth,
"help" : HELPS["conn_auth"]:""
],

@@ -157,25 +160,37 @@
"widget" : `custom,
"custom_widget" :
`VBox(
- `Left( `CheckBox(`id(`auth_none),`opt(`notify), _("No
Authentication"), true) ),
- `VSpacing(2),
- `Left( `CheckBox(`id(`auth_in),`opt(`notify),
_("Incoming Authentication"), false) ),
- `HBox(
- `TextEntry(`id(`user_in), _("Username")),
`Password(`id(`pass_in), _("Password"))
- ),
- `VSpacing(2),
- `Left( `CheckBox(`id(`auth_out),`opt(`notify),
_("Outgoing Authentication"), false) ),
- `HBox(
- `TextEntry(`id(`user_out), _("Username")),
`Password(`id(`pass_out), _("Password"))
- )
+ `CheckBoxFrame(`id(`auth_none),`opt(`invertAutoEnable),
_("No Authentication"), true,
+ `VBox(
+ `Left( `Label(_("Incoming Authentication")) ),
+ `HBox(
+ `TextEntry(`id(`user_in),
_("Username")), `Password(`id(`pass_in), _("Password"))
+ ),
+ `VSpacing(2),
+ `Left( `Label(_("Outgoing Authentication")) ),
+ `HBox(
+ `TextEntry(`id(`user_out),
_("Username")), `Password(`id(`pass_out), _("Password"))
+ )
+ )
+ )
),
"init" : initConnAuth,
- "handle" : handleDiscAuth,
+// "handle" : handleDiscAuth,
"validate_type" : `function,
"validate_function" : validateConnAuth,
"help" : HELPS["conn_auth"]:""
],

+ "startup" : $[
+ "widget" : `combobox,
+ "opt" : [`hstretch, `notify],
+ "label" : _("Startup"),
+ "items" : [
+ ["manual", "manual"],
+ ["onboot", "onboot"],
+ ["automatic", "automatic"]
+ ]
+ ],
// widget for portal address
"server_location" : $[
"widget" : `custom,
@@ -361,7 +376,7 @@
any ConnAuthDialog(string return_to){
current_tab = return_to;
string caption = _("iSCSI Initiator Discovery");
- list<map <string, any> > w = CWM::CreateWidgets (["conn_auth"], (map
<string, map <string, any> >)widgets);
+ list<map <string, any> > w = CWM::CreateWidgets (["startup", "conn_auth"],
(map <string, map <string, any> >)widgets);
term contents =
`VBox(
`VStretch(),
@@ -370,6 +385,7 @@
`HSpacing (1),
`VBox(
w[0, "widget"]:`VSpacing (1),
+ w[1, "widget"]:`VSpacing (1),
`VSpacing (2)
),
`HSpacing (1),

Modified: branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/helps.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/helps.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/helps.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/helps.ycp Fri Sep 25
08:21:48 2009
@@ -102,12 +102,17 @@
+ _("List of nodes offered by the iSCSI target. Select
one item and click <b>Connect</b>. "),

// authentification dialog for add/discovery target
- "conn_auth" : _("<h1>iSCSI Initiator</h1>") +_("Select the type of
authentication and enter the <b>Username</b> and <b>Password</b>."),
+ "conn_auth" : _("<h1>iSCSI Initiator</h1>") +_("Select the type of
authentication and enter the <b>Username</b> and <b>Password</b>.") +
+ _("<h1>Startup</h1>") + _("<p><b>manual</b> is for iSCSI targets to not be
connected by default, user needs to do it manually</p>
+<p><b>onboot</b> is for iSCSI targets to be connected during boot, ie when
root is on
+iSCSI. As such it will be evaluated from the initrd.</p>
+<p><b>automatic</b> is for iSCSI targets to be connected when the iSCSI
service itself
+starts up.</p>"),

// list of discovered targets
"discovered" : _("List of discovered targets. Start a new <b>Discovery</b>
or <b>Connect</b> to any target."),

- "ibft_table" : _("<h1>iBTF</h1>") + ("The <p>iSCSI Boot Firmware Table</p>
is a table created by the iSCSI boot firmware in order to
+ "ibft_table" : _("<h1>iBTF</h1>") + ("The <p>iSCSI Boot Firmware Table</p>
is a table created by the iSCSI boot firmware in order to
pass parameters about the iSCSI boot device to the loaded OS.")
];


Modified: branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/iscsi-client.desktop
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/iscsi-client.desktop?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/iscsi-client.desktop
(original)
+++ branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/iscsi-client.desktop Fri
Sep 25 08:21:48 2009
@@ -16,6 +16,7 @@
X-SuSE-YaST-SortKey=
X-SuSE-YaST-AutoInstResource=iscsi-client
X-SuSE-YaST-AutoInstClonable=true
+X-SuSE-YaST-AutoInstSchema=iscsi-client.rnc

Icon=yast-iscsi-client
Exec=/sbin/yast2 iscsi-client

Modified:
branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/iscsi-client_auto.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/iscsi-client_auto.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/iscsi-client_auto.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/iscsi-client_auto.ycp Fri
Sep 25 08:21:48 2009
@@ -82,12 +82,13 @@
ret = IscsiClient::Read();
Progress::set (progress_orig);
}
-/* Write givven settings */
+/* Write given settings */
else if (func == "Write") {
import "Progress";
boolean progress_orig = Progress::set (false);
IscsiClient::write_only = true;
ModuleLoading::Load("iscsi_tcp", "", "", "", false, true);
+ SCR::Execute(.background.run_output_err, "iscsid");
ret = IscsiClient::Write();
Progress::set (progress_orig);
}

Modified: branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/widgets.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/widgets.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/widgets.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/widgets.ycp Fri Sep 25
08:21:48 2009
@@ -96,8 +96,8 @@
list <term> items = [];
integer row = 0;
foreach(string s, IscsiClientLib::sessions, {
- list<string> row_in_string = splitstring(s, " ");
- items = add(items, `item(`id(row), row_in_string[0]:"",
row_in_string[1]:"", IscsiClientLib::getStartupStatus(row_in_string)));
+ IscsiClientLib::currentRecord = splitstring(s, " ");
+ items = add(items, `item(`id(row), IscsiClientLib::currentRecord[0]:"",
IscsiClientLib::currentRecord[1]:"", IscsiClientLib::getStartupStatus()));
row = row + 1;
});
UI::ChangeWidget (`id (`connected), `Items, items);
@@ -106,17 +106,17 @@
}

// get record identificator from selected row
-list<string> getRecord(){
- list<string> record = [];
+list<string> setRecord(){
+ IscsiClientLib::currentRecord = [];
any sel_item = UI::QueryWidget(`id(`connected), `CurrentItem);
if (sel_item != nil){
integer current = tointeger(sel_item);
- record = splitstring(IscsiClientLib::sessions[current]:"", " " );
+ IscsiClientLib::currentRecord =
splitstring(IscsiClientLib::sessions[current]:"", " " );
// record = deletechars(record, "[]");
} else
if (size(IscsiClientLib::sessions)>0)
- record = splitstring(IscsiClientLib::sessions[0]:"", "
" );
- return record;
+ IscsiClientLib::currentRecord =
splitstring(IscsiClientLib::sessions[0]:"", " " );
+ return IscsiClientLib::currentRecord;
}

// handle for table of connected sessions
@@ -131,23 +131,27 @@
return `add;
case(`del):
// delete (logout from) connected target
- record = getRecord();
+ record = setRecord();
if (size( record )>0){
if (Popup::ContinueCancel(_("Really log out from the selected
target?")))
- if ( !(IscsiClientLib::deleteRecord( record )) )
Popup::Error(_("Error occurred while logging out from the selected target."));
+ if ( !(IscsiClientLib::deleteRecord()) )
Popup::Error(_("Error occurred while logging out from the selected target."));
else {
y2milestone("Delete record %1", record);
initConnectedTable("");
}
} else Popup::Error(_("No record found."));
break;
+ case(`edit):
+ record = setRecord();
+ return `edit;
+ break;
case(`toggle):
// change manual/onboot status of connected target
// don't use automatic anymore (replaced by onboot) (bnc#449108)
- record = getRecord();
+ record = setRecord();
if (size( record )>0){
y2milestone("toggle record %1", record);
- string startup = IscsiClientLib::getStartupStatus(record);
+ string startup = IscsiClientLib::getStartupStatus();
if (size(startup)>0){
// toggle all 3 possible values (bnc#457252)
list <string> options = ["manual", "onboot", "automatic"];
@@ -156,7 +160,7 @@
if (startup==option){
startup=options[(size(options)>pos+1) ? pos+1 : 0]:"";
y2milestone("Changing state from %1 to %2", option,
startup );
- IscsiClientLib::setStartupStatus(record, startup);
+ IscsiClientLib::setStartupStatus(startup);
break;
}
pos=pos+1;
@@ -168,13 +172,13 @@
}
}
// if nothing selected - disable some buttons, otherwise enable them
- if( getRecord() == []){
+ if( setRecord() == []){
UI::ChangeWidget (`id (`del), `Enabled, false);
- UI::ChangeWidget (`id (`toggle), `Enabled, false);
+ UI::ChangeWidget (`id (`edit), `Enabled, false);

} else {
UI::ChangeWidget (`id (`del), `Enabled, true);
- UI::ChangeWidget (`id (`toggle), `Enabled, true);
+ UI::ChangeWidget (`id (`edit), `Enabled, true);

}
return nil;
@@ -296,7 +300,7 @@
// ***************** iBFT table **************************
void initiBFT(string key){
list<term> items = [];
- foreach(string key, any value, IscsiClientLib::getiBFT(), {
+ foreach(string key, any value,
IscsiClientLib::hidePassword(IscsiClientLib::getiBFT()), {
items = add(items, `item(`id(size(items)), key, value));
});
UI::ChangeWidget(`bios, `Items, items);
@@ -305,39 +309,43 @@
// ***************** add table ***************************

// set incoming widget status
+/*
void setAuthIn(boolean status){
UI::ChangeWidget(`id(`user_in),`Enabled, status );
UI::ChangeWidget(`id(`pass_in),`Enabled, status );
UI::ChangeWidget(`id(`auth_in),`Value, status );
if(status) UI::ChangeWidget(`id(`auth_none),`Value, !status );
}
+*/

// set outgoing widget status
+/*
void setAuthOut(boolean status){
UI::ChangeWidget(`id(`user_out),`Enabled, status );
UI::ChangeWidget(`id(`pass_out),`Enabled, status );
UI::ChangeWidget(`id(`auth_out),`Value, status );
if(status) UI::ChangeWidget(`id(`auth_none),`Value, !status );
}
+*/

// disable both incoming and outgoing
void initDiscAuth(string key){
- setAuthIn(false);
- setAuthOut(false);
+// setAuthIn(false);
+// setAuthOut(false);
}

void initConnAuth(string key){
- setAuthIn(false);
- setAuthOut(false);
- map<string, any> auth = IscsiClientLib::getNode(curr_rec);
+// setAuthIn(false);
+// setAuthOut(false);
+ map<string, any> auth = IscsiClientLib::getNode();
if (size(auth)>0)
{
UI::ChangeWidget(`id(`user_in),`Value, auth["username_in"]:"" );
UI::ChangeWidget(`id(`pass_in),`Value, auth["password_in"]:"" );
- if ((size(auth["username_in"]:"")>0)&&(size(auth["password_in"]:"")>0))
setAuthOut(true);
+// if ((size(auth["username_in"]:"")>0)&&(size(auth["password_in"]:"")>0))
setAuthOut(true);
UI::ChangeWidget(`id(`user_out),`Value, auth["username"]:"" );
UI::ChangeWidget(`id(`pass_out),`Value, auth["password"]:"" );
- if ((size(auth["username"]:"")>0)&&(size(auth["password"]:"")>0))
setAuthOut(true);
+// if ((size(auth["username"]:"")>0)&&(size(auth["password"]:"")>0))
setAuthOut(true);
}
}
// handle for enable/disable widgets in authentication dialog
@@ -347,16 +355,16 @@
switch((symbol)event["ID"]:nil){
case(`auth_none):
status = (boolean)UI::QueryWidget(`id(`auth_none), `Value);
- setAuthIn(!status);
- setAuthOut(!status);
+// setAuthIn(!status);
+// setAuthOut(!status);
break;
case(`auth_in):
status = (boolean)UI::QueryWidget(`id(`auth_in), `Value);
- setAuthIn(status);
+// setAuthIn(status);
break;
case(`auth_out):
status = (boolean)UI::QueryWidget(`id(`auth_out), `Value);
- setAuthOut(status);
+// setAuthOut(status);
break;
}
}
@@ -382,21 +390,26 @@
string ip = tostring(UI::QueryWidget(`hostname, `Value));
string port = tostring(UI::QueryWidget(`port, `Value));
// validate IP address
-if (!IscsiClientLib::useISNS())
+if (!IscsiClientLib::useISNS())
{
- if (!IP::Check4(ip)) {
+ if (size(ip)>0){
+ if (!IP::Check4(ip)) {
map<string, any> output = (map<string,
any>)SCR::Execute(.target.bash_output, sformat("host -4 %1|tr -d '\n'", ip));
list<string> out=splitstring(output["stdout"]:"", " ");
ip=out[size(out)-1]:"";
y2internal("%1", out);
if (output["exit"]:-1==0){
-
} else {
Popup::Error(output["stdout"]:"");
UI::SetFocus(`hostname);
return false;
}
}
+ } else{
+ Popup::Error(_("Insert the IP address."));
+ UI::SetFocus(`ip);
+ return false;
+ }
// validate port number
if (size(port)==0) {
Popup::Error(_("Insert the port."));
@@ -408,12 +421,12 @@
IscsiClientLib::getConfig();

boolean auth_none = (boolean) UI::QueryWidget(`id(`auth_none), `Value);
- boolean auth_in = (boolean) UI::QueryWidget(`id(`auth_in), `Value);
- boolean auth_out = (boolean) UI::QueryWidget(`id(`auth_out), `Value);
string user_in = tostring( UI::QueryWidget(`id(`user_in), `Value) );
string pass_in = tostring( UI::QueryWidget(`id(`pass_in), `Value) );
string user_out = tostring( UI::QueryWidget(`id(`user_out), `Value) );
string pass_out = tostring( UI::QueryWidget(`id(`pass_out), `Value) );
+ boolean auth_in = (!auth_none && size(user_in)>0 && size(pass_in)>0);
+ boolean auth_out = (!auth_none && size(user_out)>0 && size(pass_out)>0);

if (auth_none){
user_in = "";
@@ -432,7 +445,7 @@

// write authentication data
IscsiClientLib::saveConfig(user_in, pass_in, user_out, pass_out);
-
+//y2internal("auth: %1/%2, %3/%4", user_in, pass_in, user_out, pass_out);
bg_finish=false;
// ` with authentication
string command = IscsiClientLib::useISNS()? "iscsiadm -m discovery -t isns" :
sformat("iscsiadm -m discovery -t st -p %1:%2", ip, port);
@@ -458,7 +471,8 @@
any selected = UI::QueryWidget(`discovered, `CurrentItem);
if (selected != nil) { params = splitstring(
IscsiClientLib::discovered[tointeger(selected)]:"", " " ); }
else { params = []; }
- if ((params==[])||(IscsiClientLib::connected( [ splitstring(params[0]:"",
",")[0]:"", params[1]:""], true ))){
+ IscsiClientLib::currentRecord = [ splitstring(params[0]:"", ",")[0]:"",
params[1]:""];
+ if ((params==[])||(IscsiClientLib::connected( true ))){
UI::ChangeWidget (`id (`connect), `Enabled, false);
UI::ChangeWidget (`id (`delete), `Enabled, false);
} else{
@@ -472,10 +486,10 @@
list <term> items = [];
integer row = 0;
foreach(string s, IscsiClientLib::getDiscovered(), {
- list<string> row_in_string = splitstring(s, " ");
+ IscsiClientLib::currentRecord = splitstring(s, " ");
// string record = deletechars(row_in_string[0]:"", "[]");
- items = add(items, `item(`id(row), row_in_string[0]:"",
row_in_string[1]:"",
- (IscsiClientLib::connected( row_in_string, true
))?_("True"):_("False") ));
+ items = add(items, `item(`id(row),
IscsiClientLib::currentRecord[0]:"", IscsiClientLib::currentRecord[1]:"",
+ (IscsiClientLib::connected( true ))?_("True"):_("False") ));
row = row + 1;
});

@@ -490,13 +504,13 @@
any selected = UI::QueryWidget(`discovered, `CurrentItem);
if (selected != nil) { params = splitstring(
IscsiClientLib::discovered[tointeger(selected)]:"", " " ); }
else { params = []; }
- curr_rec = [ splitstring(params[0]:"", ",")[0]:"", params[1]:"" ] ;
+ IscsiClientLib::currentRecord = [ splitstring(params[0]:"", ",")[0]:"",
params[1]:"" ] ;
params = curr_rec;
if ( event["EventReason"]:"" == "Activated" ){
// connect new target
if ( event["ID"]:nil == `connect) {
// check if not already connected
- if ( IscsiClientLib::connected( curr_rec , false) == true){
+ if ( IscsiClientLib::connected( false) == true){
if (!Popup::AnyQuestion(Label::WarningMsg(), _("The target with this
TargetName is already connected. Make sure that multipathing is enabled to
prevent data corruption."), _("Continue"), _("Cancel"), `focus_yes)) return nil;
}

@@ -509,7 +523,7 @@
}
// delete connected item
if ( event["ID"]:nil == `delete) {
- if ((params == [])||(!IscsiClientLib::connected( curr_rec, true ))){
+ if ((params == [])||(!IscsiClientLib::connected( true ))){
SCR::Execute (.target.bash_output,sformat("iscsiadm -m node -T %1 -p
%2 --op=delete", params[1]:"", params[0]:""), $[] );
IscsiClientLib::readSessions();
initDiscoveredTable("");
@@ -529,9 +543,9 @@
list <term> items = [];
integer row = 0;
foreach(string s, IscsiClientLib::targets, {
- list<string> row_in_string = splitstring(s, " ");
- items = add(items, `item(`id(row), row_in_string[0]:"",
row_in_string[1]:"",
- (IscsiClientLib::connected( row_in_string, true
))?_("True"):_("False") ));
+ IscsiClientLib::currentRecord = splitstring(s, " ");
+ items = add(items, `item(`id(row),
IscsiClientLib::currentRecord[0]:"", IscsiClientLib::currentRecord[1]:"",
+ (IscsiClientLib::connected( true ))?_("True"):_("False") ));
row = row + 1;
});
UI::ChangeWidget (`id (`targets), `Items, items);
@@ -549,13 +563,12 @@
if ( event["EventReason"]:"" == "Activated" ){
if ( event["ID"]:nil == `connect) {
// check if is not already connected
- list <string> params = splitstring(
IscsiClientLib::targets[(integer)UI::QueryWidget(`targets, `CurrentItem)]:"", "
" );
- if ( IscsiClientLib::connected( params, true ) == true){
+ IscsiClientLib::currentRecord = splitstring(
IscsiClientLib::targets[(integer)UI::QueryWidget(`targets, `CurrentItem)]:"", "
" );
+ if ( IscsiClientLib::connected( true ) == true){
Popup::Error(_("The target is already connected."));
} else {
- curr_rec = [ splitstring(params[0]:"", ",")[0]:"", params[1]:"" ];
// check if not already connected
- if ( IscsiClientLib::connected( curr_rec , false) == true){
+ if ( IscsiClientLib::connected(false) == true){
if (!Popup::AnyQuestion(Label::WarningMsg(), _("The target with this
TargetName is already connected. Make sure that multipathing is enabled to
prevent data corruption."), _("Continue"), _("Cancel"), `focus_yes)) return nil;
}

@@ -572,36 +585,27 @@
// login to target with authentication
boolean validateConnAuth(string key, map event){
boolean auth_none = (boolean) UI::QueryWidget(`id(`auth_none), `Value);
- boolean auth_in = (boolean) UI::QueryWidget(`id(`auth_in), `Value);
- boolean auth_out = (boolean) UI::QueryWidget(`id(`auth_out), `Value);
- string user_in = "";
- string pass_in = "";
- string user_out = "";
- string pass_out = "";
- if (auth_in){
- user_in = tostring( UI::QueryWidget(`id(`user_in), `Value) );
- pass_in = tostring( UI::QueryWidget(`id(`pass_in), `Value) );
- }
- if (auth_out){
- user_out = tostring( UI::QueryWidget(`id(`user_out), `Value) );
- pass_out = tostring( UI::QueryWidget(`id(`pass_out), `Value) );
- }
+ string user_in = tostring( UI::QueryWidget(`id(`user_in), `Value) );
+ string pass_in = tostring( UI::QueryWidget(`id(`pass_in), `Value) );
+ string user_out = tostring( UI::QueryWidget(`id(`user_out), `Value) );
+ string pass_out = tostring( UI::QueryWidget(`id(`pass_out), `Value) );

map<string, any> target=$[
- "target" : curr_rec[1]:"",
- "portal" : curr_rec[0]:"",
+ "target" : IscsiClientLib::currentRecord[1]:"",
+ "portal" : IscsiClientLib::currentRecord[0]:"",
"authmethod" : (auth_none)?"None":"CHAP",
"username" : user_out,
"password" : pass_out,
"username_in" : user_in,
"password_in" : pass_in
];
- if (checkAuthEntry() && IscsiClientLib::loginIntoTarget(target)) {
+ if (IscsiClientLib::connected(false) ||
IscsiClientLib::loginIntoTarget(target)) {
+// IscsiClientLib::currentRecord = [target["portal"]:"",
target["target"]:""];
+
IscsiClientLib::setStartupStatus((string)UI::QueryWidget(`id("startup"),
`Value));
IscsiClientLib::readSessions();
return true;
}
else return false;
}

-
}

Modified: branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/wizards.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/wizards.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/wizards.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/iscsi-client/src/wizards.ycp Fri Sep 25
08:21:48 2009
@@ -31,6 +31,7 @@
"targets" : ``( TargetsDialog() ),
"conn_auth" : ``( ConnAuthDialog("client") ),
"conn_disc" : ``( ConnAuthDialog("discovered") ),
+ "edit_conn" : ``( ConnAuthDialog("client") ),
"disc" : ``( DiscAuthDialog("discovered") ),
];

@@ -41,6 +42,7 @@
`abort : `abort,
`next : `next,
`add : "disc_auth",
+ `edit : "edit_conn",
`conn : "conn_disc",
`disc : "disc"
],
@@ -64,6 +66,10 @@
`abort : `abort,
`next : "targets"
],
+ "edit_conn" : $[
+ `abort : `abort,
+ `next : "global"
+ ],
"disc" : $[
`abort : `abort,
`back : `back,

Modified: branches/SuSE-Code-11-SP1-Branch/iscsi-server/VERSION
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/iscsi-server/VERSION?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/iscsi-server/VERSION (original)
+++ branches/SuSE-Code-11-SP1-Branch/iscsi-server/VERSION Fri Sep 25 08:21:48
2009
@@ -1 +1 @@
-2.17.4
+2.17.7

Modified:
branches/SuSE-Code-11-SP1-Branch/iscsi-server/package/yast2-iscsi-server.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/iscsi-server/package/yast2-iscsi-server.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/iscsi-server/package/yast2-iscsi-server.changes
(original)
+++
branches/SuSE-Code-11-SP1-Branch/iscsi-server/package/yast2-iscsi-server.changes
Fri Sep 25 08:21:48 2009
@@ -1,4 +1,22 @@
-------------------------------------------------------------------
+Thu May 21 09:19:02 CEST 2009 - mzugec@xxxxxxx
+
+- handle correctly when tgt is already installed (bnc#501375)
+- 2.17.7
+
+-------------------------------------------------------------------
+Mon Mar 23 17:51:33 CET 2009 - mzugec@xxxxxxx
+
+- correctly work with firewall (bnc#462006)
+- 2.17.6
+
+-------------------------------------------------------------------
+Mon Mar 23 17:49:21 CET 2009 - mzugec@xxxxxxx
+
+- handle exceptions - thanks to ajohansson@xxxxxxxxxx (bnc#481379)
+- 2.17.5
+
+-------------------------------------------------------------------
Fri Dec 5 10:51:24 CET 2008 - mzugec@xxxxxxx

- align button (bnc#447558)

Modified: branches/SuSE-Code-11-SP1-Branch/iscsi-server/src/IscsiServer.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/iscsi-server/src/IscsiServer.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/iscsi-server/src/IscsiServer.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/iscsi-server/src/IscsiServer.ycp Fri Sep
25 08:21:48 2009
@@ -27,6 +27,8 @@
import "IscsiServerFunctions";
import "Mode";
import "NetworkService";
+import "PackageSystem";
+import "Label";

boolean serviceStatus = false;
boolean statusOnStart = false;
@@ -125,15 +127,21 @@

// test if required package ("iscsitarget") is installed
boolean installed_packages(){
- boolean ret = false;
- y2milestone("Check if iscsitarget is installed");
- if( !Package::InstallMsg( "iscsitarget",
- _("<p>To configure the iSCSI target, the <b>%1</b> package must be
installed.</p>") +
- _("<p>Install it now?</p>")) )
- {
- Popup::Error( Message::CannotContinueWithoutPackagesInstalled() );
- } else ret = true;
- return ret;
+ if (!PackageSystem::PackageInstalled("iscsitarget")){
+ y2milestone("Not installed, will install");
+ boolean confirm = Popup::AnyQuestionRichText(
+ "", _("Can't continue without installing iscsitarget package"), 40, 10,
+ Label::InstallButton(), Label::CancelButton (), `focus_yes
+ );
+
+ if (confirm){
+ if (PackageSystem::PackageInstalled("tgt"))
PackageSystem::DoRemove(["tgt"]);
+ PackageSystem::DoInstall(["iscsitarget"]);
+ if (PackageSystem::PackageInstalled("iscsitarget")) return true;
+ else return false;
+ }
+ return false;
+ } else return true;
}

// check status of iscsitarget service

Modified:
branches/SuSE-Code-11-SP1-Branch/iscsi-server/src/IscsiServerFunctions.pm
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/iscsi-server/src/IscsiServerFunctions.pm?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/iscsi-server/src/IscsiServerFunctions.pm
(original)
+++ branches/SuSE-Code-11-SP1-Branch/iscsi-server/src/IscsiServerFunctions.pm
Fri Sep 25 08:21:48 2009
@@ -307,10 +307,14 @@
}
}
# write 'iSNS' and 'auth' into %new_config
- $config_file{'value'} = $new_config{'iSNS'};
+ if (defined $new_config{'iSNS'}){
+ $config_file{'value'} = $new_config{'iSNS'};
delete ($new_config{'iSNS'});
- if (exists $new_config{'auth'}) { @{$config_file{'value'}} =
(@{$config_file{'value'}}, @{$new_config{'auth'}}) }
+ }
+ if (defined $new_config{'auth'}){
+ @{$config_file{'value'}} = (@{$config_file{'value'}},
@{$new_config{'auth'}}) ;
delete ($new_config{'auth'});
+ }
#write all targets into %new_config
foreach my $key (reverse(keys %new_config )){
if (not ref($new_config{$key})){

Modified: branches/SuSE-Code-11-SP1-Branch/iscsi-server/src/dialogs.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/iscsi-server/src/dialogs.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/iscsi-server/src/dialogs.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/iscsi-server/src/dialogs.ycp Fri Sep 25
08:21:48 2009
@@ -171,7 +171,7 @@

// firewall
"firewall" : CWMFirewallInterfaces::CreateOpenFirewallWidget ($[
- "services" : [ "iscsi-server" ],
+ "services" : [ "service:iscsitarget" ],
"display_details" : true,
]),
"isns" : $[

Modified: branches/SuSE-Code-11-SP1-Branch/network/VERSION
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/VERSION?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/VERSION (original)
+++ branches/SuSE-Code-11-SP1-Branch/network/VERSION Fri Sep 25 08:21:48 2009
@@ -1 +1 @@
-2.17.78
+2.17.99

Modified: branches/SuSE-Code-11-SP1-Branch/network/package/yast2-network.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/package/yast2-network.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/package/yast2-network.changes
(original)
+++ branches/SuSE-Code-11-SP1-Branch/network/package/yast2-network.changes Fri
Sep 25 08:21:48 2009
@@ -1,4 +1,163 @@
-------------------------------------------------------------------
+Thu Sep 24 09:42:13 CEST 2009 - mzugec@xxxxxxx
+
+- YaPI: backported NETWORK.pm for webYaST
+- 2.17.99
+
+-------------------------------------------------------------------
+Wed Aug 19 10:40:36 CEST 2009 - kmachalkova@xxxxxxx
+
+- Do a proper reload of network service on writing (standalone) DNS
+ configuration (removed *-all-dhcp-clients workaround - bnc#528937)
+
+-------------------------------------------------------------------
+Mon Aug 17 13:30:40 CEST 2009 - mzugec@xxxxxxx
+
+- L3: manually created bridge over bonding (bnc#528074)
+- 2.17.98
+
+-------------------------------------------------------------------
+Mon Aug 17 11:36:33 CEST 2009 - mzugec@xxxxxxx
+
+- L3: proposed bridge over bonding (bnc#528076)
+- 2.17.97
+
+-------------------------------------------------------------------
+Mon Jun 29 11:50:28 CEST 2009 - mzugec@xxxxxxx
+
+- linuxrc DHCPTimeout -> sysconfig/network.WAIT_FOR_INTERFACES
+(bnc#396824)
+- 2.17.96
+
+-------------------------------------------------------------------
+Thu Jun 25 16:09:51 CEST 2009 - mzugec@xxxxxxx
+
+- for lcs and ctc offer only 2 CHAN_IDS (bnc#515492)
+- 2.17.95
+
+-------------------------------------------------------------------
+Wed Jun 24 12:51:30 CEST 2009 - mzugec@xxxxxxx
+
+- default option miimon=100 for bonding (bnc#404449)
+- 2.17.94
+
+-------------------------------------------------------------------
+Mon Jun 1 09:12:11 CEST 2009 - mzugec@xxxxxxx
+
+- fixed buildtest
+
+-------------------------------------------------------------------
+Mon May 18 10:20:05 CEST 2009 - mzugec@xxxxxxx
+
+- fixed: modem configuration syntax error (bnc#497459)
+- 2.17.93
+
+-------------------------------------------------------------------
+Thu May 14 12:38:54 CEST 2009 - mzugec@xxxxxxx
+
+- support for lcs::s390 devices (bnc#363978)
+- 2.17.92
+
+-------------------------------------------------------------------
+Mon May 4 15:15:00 CEST 2009 - mzugec@xxxxxxx
+
+- fixed: After network autoinstall, dns and routes info are lost
+ (bnc#498993)
+- 2.17.91
+
+-------------------------------------------------------------------
+Mon Apr 27 10:27:22 CEST 2009 - mzugec@xxxxxxx
+
+- improved "device renaming" functionality (bnc#447480) and
+ (bnc#461179)
+- 2.17.90
+
+-------------------------------------------------------------------
+Thu Apr 9 14:28:04 CEST 2009 - mzugec@xxxxxxx
+
+- fixed netmask/prefixlen validation and correct write (bnc#493222)
+- 2.17.89
+
+-------------------------------------------------------------------
+Fri Apr 3 12:36:53 CEST 2009 - kmachalkova@xxxxxxx
+
+- Allow '/' character in NO_PROXY (subnet definition - bnc#490661)
+
+-------------------------------------------------------------------
+Thu Apr 2 23:07:49 CEST 2009 - mzugec@xxxxxxx
+
+- fixed additional addresses with bonding (bnc#420074)
+- 2.17.88
+
+-------------------------------------------------------------------
+Thu Mar 26 12:37:55 CET 2009 - mzugec@xxxxxxx
+
+- tun/tap device - don't remove default gw (bnc#483233)
+- 2.17.87
+
+-------------------------------------------------------------------
+Thu Mar 26 10:53:19 CET 2009 - mzugec@xxxxxxx
+
+- don't allow to use networkmanager with bridged proposal (bnc#487419)
+- 2.17.86
+
+-------------------------------------------------------------------
+Mon Mar 23 21:20:12 CET 2009 - mzugec@xxxxxxx
+
+- fixed firewall checkbox status for dsl and modem (bnc#404359)
+- 2.17.85
+
+-------------------------------------------------------------------
+Mon Mar 23 21:18:27 CET 2009 - mzugec@xxxxxxx
+
+- for s390 propose CHAN_IDS values (bnc#445339)
+- 2.17.84
+
+-------------------------------------------------------------------
+Mon Mar 23 21:17:04 CET 2009 - mzugec@xxxxxxx
+
+- 1st stage - correctly write ifcfg for ipv6 only (bnc#477917)
+- 2.17.83
+
+-------------------------------------------------------------------
+Mon Mar 23 21:15:42 CET 2009 - mzugec@xxxxxxx
+
+- improve address dialog for vlan (bnc#376063)
+- allow all netcard devices except vlan, bridge and bond to be
+etherdevice for vlan
+- 2.17.82
+
+-------------------------------------------------------------------
+Mon Mar 23 21:13:49 CET 2009 - mzugec@xxxxxxx
+
+- apply forwarding on both IPv4 and IPv6 (bnc#479370)
+- 2.17.81
+
+-------------------------------------------------------------------
+Mon Mar 23 21:10:16 CET 2009 - mzugec@xxxxxxx
+
+- fixed networking.rnc (bnc#480466)
+- 2.17.80
+
+-------------------------------------------------------------------
+Mon Mar 23 21:07:22 CET 2009 - mzugec@xxxxxxx
+
+- possible to not use LABEL for aliases (bnc#471253)
+- 2.17.79
+
+-------------------------------------------------------------------
+Mon Mar 23 21:01:15 CET 2009 - mzugec@xxxxxxx
+
+- AutoYaST - show Imported settings in UI (bnc#461650)
+- 2.17.78
+
+-------------------------------------------------------------------
+Mon Mar 23 20:57:52 CET 2009 - mzugec@xxxxxxx
+
+- don't propose wlan during installation (bnc#462631)
+- 2.17.77
+
+-------------------------------------------------------------------
Tue Jul 7 16:01:52 CEST 2009 - kmachalkova@xxxxxxx

- Editing /etc/hosts via host module adjusted to cope with hosts

Modified: branches/SuSE-Code-11-SP1-Branch/network/src/clients/dns.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/src/clients/dns.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/src/clients/dns.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/network/src/clients/dns.ycp Fri Sep 25
08:21:48 2009
@@ -21,7 +21,7 @@
import "DNS";
import "Label";
import "Lan";
-import "Service";
+import "NetworkService";
import "Wizard";

import "CommandLine";
@@ -54,11 +54,10 @@
y2debug("ret == %1", ret);

if(ret == `next && DNS::modified) {
- // #38834
- Service::RunInitScript("network", "stop-all-dhcp-clients");
DNS::Write();
- // #41303
- Service::RunInitScript("network", "start");
+ // no more workarounds with dhcp-clients
+ // do a full network restart (bnc#528937)
+ NetworkService::StartStop();
}

UI::CloseDialog();

Modified: branches/SuSE-Code-11-SP1-Branch/network/src/clients/lan_auto.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/src/clients/lan_auto.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/src/clients/lan_auto.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/network/src/clients/lan_auto.ycp Fri Sep
25 08:21:48 2009
@@ -284,6 +284,29 @@
ret = LanAutoSequence("");
}
else if(func == "Import") {
+ // see bnc#498993
+ // in case keep_install_network is set to true (in AY)
+ // and there is no dns and routing definition,
+ // we'll keep values from installation
+ if(param["keep_install_network"]:false==true) {
+ y2milestone("keep_install_network is enabled");
+ if(param["dns"]:$[]==$[] && param["routing"]:$[]==$[]){
+ y2milestone("DNS and routing are not defined in AY, will keep settings from
installation");
+ // read settings from installation
+ Lan::Read(`cache);
+ // export settings into AY map
+ map from_system=Lan::Export();
+ map dns=from_system["dns"]:$[];
+ map routing=from_system["routing"]:$[];
+ // merge with param
+ param["dns"]=dns;
+ param["routing"]=routing;
+ y2milestone("dns %1", dns);
+ y2milestone("routing %1", routing);
+ } else{
+ y2milestone("DNS and routing defined in AY profile, will use it");
+ }
+ }
map new = FromAY(param);
Lan::Import(new);
ret = true;

Modified: branches/SuSE-Code-11-SP1-Branch/network/src/clients/save_network.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/src/clients/save_network.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/src/clients/save_network.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/network/src/clients/save_network.ycp Fri
Sep 25 08:21:48 2009
@@ -104,6 +104,7 @@

ReadInstallInfItem(install_inf, "QETH_LAYER2_SUPPORT", "Layer2");
// ReadInstallInfItem(install_inf, "LLADDR", "OSAHWAddr");
+ ReadInstallInfItem(install_inf, "dhcptimeout", "DHCPTimeout");

ReadInstallInfItem(install_inf, "WESSID", "WlanESSID");
ReadInstallInfItem(install_inf, "WAuth", "WlanAuth");
@@ -216,7 +217,7 @@
InstallInf["ipaddr"]:"", Netmask::ToBits(InstallInf["netmask"]:""),
InstallInf["bcast"]:"");
if(size(InstallInf["ipaddr6"]:"")>0){
network_configuration=sformat("%1\n%2", network_configuration,
- sformat("LABEL_ipv6='ipv6'\nIPADDR_ipv6='%1'", InstallInf["ipaddr6"]:"")
+ sformat("LABEL_ipv6='ipv6'\nIPADDR_ipv6='%1'\n",
InstallInf["ipaddr6"]:"")
);
}
}
@@ -341,6 +342,13 @@
else
y2warning("No routing information in install.inf");

+ // write DHCPTimeout linuxrc parameter as
/etc/sysconfig/network/config.WAIT_FOR_INTERFACES (bnc#396824)
+ if(size(InstallInf["dhcptimeout"]:"")>0){
+ SCR::Write(.sysconfig.network.config.WAIT_FOR_INTERFACES, "20");
+ y2milestone("Writing WAIT_FOR_INTERFACES=%1",
InstallInf["dhcptimeout"]:"");
+ }
+
+
// create resolv.conf only for static configuration
if (size(InstallInf["nameserver"]:"")>0)
{

Modified: branches/SuSE-Code-11-SP1-Branch/network/src/config/networking.rnc
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/src/config/networking.rnc?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/src/config/networking.rnc
(original)
+++ branches/SuSE-Code-11-SP1-Branch/network/src/config/networking.rnc Fri Sep
25 08:21:48 2009
@@ -44,6 +44,7 @@

# address
ipaddr? &
+ prefixlen? &
remote_ipaddr? &
element netmask { text }? & #overloaded
element bonding_master { text }? &
@@ -106,6 +107,7 @@
broadcast = element broadcast { text }
dhclient_set_down_link = element dhclient_set_down_link { text }
ipaddr = element ipaddr { text }
+prefixlen = element prefixlen { text }
usercontrol = element usercontrol { text }
mtu = element mtu { text }
ethtool_options = element ethtool_options { text }

Modified: branches/SuSE-Code-11-SP1-Branch/network/src/lan/Makefile.am
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/src/lan/Makefile.am?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/src/lan/Makefile.am (original)
+++ branches/SuSE-Code-11-SP1-Branch/network/src/lan/Makefile.am Fri Sep 25
08:21:48 2009
@@ -7,4 +7,10 @@
yncludedir = @yncludedir@/network/lan
ynclude_DATA = $(wildcard *.ycp)

-EXTRA_DIST = $(ynclude_DATA)
+YaPI_perldir = @moduledir@/YaPI
+
+YaPI_perl_DATA = \
+ YaPI/NETWORK.pm
+
+
+EXTRA_DIST = $(ynclude_DATA) $(YaPI_perl_DATA)

Modified: branches/SuSE-Code-11-SP1-Branch/network/src/lan/YaPI/NETWORK.pm
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/src/lan/YaPI/NETWORK.pm?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/src/lan/YaPI/NETWORK.pm (original)
+++ branches/SuSE-Code-11-SP1-Branch/network/src/lan/YaPI/NETWORK.pm Fri Sep 25
08:21:48 2009
@@ -0,0 +1,137 @@
+package YaPI::NETWORK;
+
+use strict;
+use YaST::YCP qw(:LOGGING);
+use YaPI;
+use Data::Dumper;
+use Switch;
+
+# ------------------- imported modules
+YaST::YCP::Import ("LanItems");
+YaST::YCP::Import ("Hostname");
+YaST::YCP::Import ("DNS");
+YaST::YCP::Import ("Routing");
+# -------------------------------------
+
+our $VERSION = '1.0.0';
+our @CAPABILITIES = ('SLES11');
+our %TYPEINFO;
+
+# TODO: parameter map<string, boolean> what_I_Need
+BEGIN{$TYPEINFO{Read} = ["function",
+ [ "map", "string", "any"]];
+}
+sub Read {
+ my $self = shift;
+
+# Hostname->Read();
+ DNS->Read();
+ Routing->Read();
+ LanItems->Read();
+
+ my %interfaces = ();
+ foreach my $devnum (keys %{LanItems->Items}){
+ LanItems->current($devnum);
+ if (LanItems->IsItemConfigured()){
+ my %configuration = ();
+ LanItems->SetItem();
+ if (LanItems->isCurrentDHCP()){
+ %configuration = ( 'bootproto' => LanItems->bootproto );
+ } elsif (LanItems->bootproto eq "static"){
+ %configuration = ( 'bootproto' => 'static' );
+ %configuration->{'ipaddr'} = LanItems->ipaddr . "/" .
LanItems->prefix;
+ }
+ $interfaces{LanItems->interfacename}=\%configuration;
+ } elsif (LanItems->getCurrentItem()->{'hwinfo'}->{'type'} eq "eth") {
+ $interfaces{%{LanItems->getCurrentItem()}->{"hwinfo"}->{"dev_name"}}=
{};
+ }
+ }
+
+ #FIXME: validate for nil values (dns espacially)
+ my %ret = ('interfaces'=>\%interfaces,
+ 'routes'=>{'default'=>{'via'=>Routing->GetGateway()}},
+ 'dns'=>{'nameservers'=>\@{DNS->nameservers},
'searches'=>\@{DNS->searchlist}},
+ 'hostname'=>{'name'=>Hostname->CurrentHostname,
'domain'=>Hostname->CurrentDomain}
+ );
+ return \%ret;
+}
+
+BEGIN{$TYPEINFO{Write} = ["function",
+ "boolean",["map","string","any"]];
+}
+sub Write {
+ my $self = shift;
+ my $args = shift;
+ y2milestone("YaPI->Write with settings:", Dumper(\$args));
+ # SAVE DEFAULT ROUTE
+ if (exists($args->{'route'})){
+ my $gw="";
+ my $dest="";
+ my @route = ();
+ if (defined ($args->{'route'}->{'default'}->{'via'})){
+ $gw = $args->{'route'}->{'default'}->{'via'};
+ if ($gw ne ""){
+ $dest = "default";
+ @route = ( {"destination" => $dest,
+ "gateway" => $gw,
+ "netmask" => "-",
+ "device" => "-"
+ });
+ }
+ }
+ Routing->Read();
+ y2milestone("YaPI->Write before change Routes:", Dumper(Routing->Routes));
+ Routing->Routes( \@route );
+ y2milestone("YaPI->Write after change Routes:", Dumper(Routing->Routes));
+ Routing->Write();
+ }
+ # SAVE HOSTNAME
+ if (exists($args->{'hostname'})){
+ y2milestone("hostname", Dumper(\$args->{'hostname'}));
+ DNS->Read();
+ DNS->hostname($args->{'hostname'}->{'name'});
+ DNS->domain($args->{'hostname'}->{'domain'});
+ DNS->modified(1);
+ DNS->Write();
+ }
+ # SAVE DNS Settings
+ if (exists($args->{'dns'})){
+ y2milestone("dns", Dumper(\$args->{'dns'}));
+ DNS->Read();
+ DNS->nameservers($args->{'dns'}->{'nameservers'});
+ DNS->searchlist($args->{'dns'}->{'searches'});
+ DNS->modified(1);
+ DNS->Write();
+ }
+ # SAVE DNS Settings
+ if (exists($args->{'interface'})){
+ y2milestone("interface", Dumper(\$args->{'interface'}));
+ foreach my $dev (keys %{$args->{'interface'}}){
+# YaST::YCP::Import ("LanItems");
+# LanItems->Read();
+# foreach my $iface (keys %{LanItems->Items}){
+# LanItems->current($iface);
+# LanItems->DeleteItem();
+# }
+# LanItems->Write();
+ YaST::YCP::Import ("NetworkInterfaces");
+ NetworkInterfaces->Read();
+ NetworkInterfaces->Add() unless NetworkInterfaces->Edit($dev);
+ NetworkInterfaces->Name($dev);
+ my %config=("STARTMODE" => "auto",
+ "BOOTPROTO" =>
$args->{'interface'}->{$dev}->{'bootproto'},
+ "IPADDR" => $args->{'interface'}->{$dev}->{'ipaddr'}
+ );
+ NetworkInterfaces->Current(\%config);
+ NetworkInterfaces->Commit();
+ NetworkInterfaces->Write("");
+ YaST::YCP::Import ("Service");
+ Service->Restart("network");
+ }
+
+ }
+
+ return 1;
+}
+
+1;

Modified: branches/SuSE-Code-11-SP1-Branch/network/src/lan/address.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/src/lan/address.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/src/lan/address.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/network/src/lan/address.ycp Fri Sep 25
08:21:48 2009
@@ -122,14 +122,16 @@
*/
void InitVLANSlave(string key)
{
- settings["ETHERDEVICE"] = NetworkInterfaces::Current["ETHERDEVICE"]:"";
+ settings["ETHERDEVICE"] = NetworkInterfaces::Current["ETHERDEVICE"]:"";

- list items = createUnconfigured([settings["ETHERDEVICE"]:""]);
-
- foreach (string dev_name, NetworkInterfaces::List("br|bond"), {
- items = add(items, `item(`id(dev_name), dev_name,
-
(dev_name==settings["ETHERDEVICE"]:"")?true:false));
- });
+ list items = [];
+ map <string, any> configurations =
NetworkInterfaces::FilterDevices("netcard");
+ foreach(string devtype,
splitstring(NetworkInterfaces::CardRegex["netcard"]:"", "|"), {
+ foreach(string devname, (list<string>)
Map::Keys(configurations[devtype]:$[]), {
+ if (contains(["vlan", "bond", "br"],
NetworkInterfaces::GetType(devname))) continue;
+ items = add (items, `item(`id(devname), sformat("%1 - %2", devname,
configurations[devtype, devname, "NAME"]:""),
settings["ETHERDEVICE"]:""==devname) );
+ });
+ });
UI::ChangeWidget(`id(key), `Items, items);
}

@@ -151,7 +153,11 @@
*/
void InitSlave(string key)
{
-// UI::ChangeWidget(`id(key), `SelectedItems, settings["SLAVES"]:[]);
+ settings["SLAVES"] = LanItems::bond_slaves;
+ UI::ChangeWidget(`id("BONDSLAVE"), `SelectedItems, settings["SLAVES"]:[]);
+
+ settings["BONDOPTION"] = LanItems::bond_option;
+
list items = createUnconfigured(settings["SLAVES"]:[]);
map <string, any> configurations =
NetworkInterfaces::FilterDevices("netcard");
foreach(string devtype,
splitstring(NetworkInterfaces::CardRegex["netcard"]:"", "|"), {
@@ -175,6 +181,9 @@
void StoreSlave(string key, map event)
{
settings["SLAVES"] = (list<string>)UI::QueryWidget (`id(key),
`SelectedItems);
+ settings["BONDOPTION"] = UI::QueryWidget (`id("BONDOPTION"), `Value);
+ LanItems::bond_slaves = settings["SLAVES"]:[];
+ LanItems::bond_option = settings["BONDOPTION"]:"";
}


@@ -205,7 +214,7 @@
* @param key id of the widget
*/
void initBootProto (string key) {
- if (contains(["vlan", "br"], LanItems::type)) UI::ReplaceWidget(`rp,
`Empty());
+ if (LanItems::type=="br") UI::ReplaceWidget(`rp, `Empty());
switch(settings["BOOTPROTO"]:""){
case "static": UI::ChangeWidget(`id(`bootproto), `CurrentButton, `static);
UI::ChangeWidget(`id(`ipaddr), `Value, settings["IPADDR"]:"");
@@ -265,7 +274,10 @@
settings["IPADDR"]=(string)UI::QueryWidget(`ipaddr, `Value);
string mask = (string)UI::QueryWidget(`netmask, `Value);
if(substring(mask, 0,1)=="/")
settings["PREFIXLEN"]=substring(mask, 1);
- else settings["NETMASK"]=mask;
+ else {
+ if (Netmask::Check6(mask))
settings["PREFIXLEN"]=mask;
+ else settings["NETMASK"]=mask;
+ }
settings["HOSTNAME"]=(string)UI::QueryWidget(`hostname, `Value);
break;
default : switch ((symbol)UI::QueryWidget(`dyn, `Value)){
@@ -431,7 +443,7 @@
}

string mask=(string) UI::QueryWidget (`netmask, `Value);
- if(!validPrefixOrNetmask(mask)){
+ if(!validPrefixOrNetmask(ipa, mask)){
Popup::Error(_("No valid netmask or prefix lenght."));
UI::SetFocus(`netmask);
return false;
@@ -599,6 +611,17 @@
"store": StoreVLANSlave,
"help": help["etherdevice"]:"",
],
+/*
+ "BONDSLAVES": $[
+ "widget": `multi_selection_box,
+ "label": _("Bond &Slaves"),
+ "opt": [`shrinkable],
+ "items" : [ ],
+ "init": InitSlave,
+ "store": StoreSlave,
+ "help": help["bondslave"]:"",
+ ],
+*/
"BONDSLAVE": $[
"widget": `multi_selection_box,
"label": _("Bond &Slaves"),
@@ -615,8 +638,8 @@
"label": _("&Bond Driver Options"),
"opt": [`hstretch, `editable],
"help": _("<p>Select the bond driver options, and edit it if
necessary. </p>"),
- "items": [["mode=balance-rr"], ["mode=active-backup"],
["mode=balance-xor"],
- ["mode=broadcast"], ["mode=802.3ad"], ["mode=balance-tlb"],
["mode=balance-alb"]],
+ "items" : [["mode=balance-rr miimon=100"], ["mode=active-backup
miimon=100"], ["mode=balance-xor miimon=100"],
+ ["mode=broadcast miimon=100"], ["mode=802.3ad miimon=100"],
["mode=balance-tlb miimon=100"], ["mode=balance-alb miimon=100"]]
],

"BOOTPROTO": $[
@@ -819,29 +842,19 @@
"IFCFGTYPE",
`HSpacing(1.5),
`MinWidth(30, "IFCFGID"),
- `HSpacing(0.5)
+ `HSpacing(0.5),
+ LanItems::type=="vlan" ? `VBox("ETHERDEVICE") : `Empty()
);
if(LanItems::operation != `add) {
if(LanItems::alias == "") {
settings["IFCFG"] = LanItems::device;
}
else {
-// settings["IFCFG"] =
NetworkInterfaces::alias_name(NetworkInterfaces::RealType(LanItems::type,
LanItems::hotplug), LanItems::device, LanItems::alias);
settings["IFCFG"] = LanItems::device;
}
}

list<string> mb_items = [];
-// if (!NetworkService::IsManaged()) mb_items = add(mb_items,
"ADDITIONAL_ADDRESSES");
-
- // Allow changing s390 options, except for iucv, where the option
- // is in the name of the hwcfg file. Haven't figured it out yet.
-/*
- if (Arch::s390 () && drvtype != "iucv")
- {
- mb_items = add(mb_items, "S390");
- }
-*/
wd["ADVANCED_MB", "items"] = maplist (string btn, mb_items, {
// TODO helps
return [btn, wd[btn, "label"]:btn];
@@ -892,40 +905,7 @@
"AD_ADDRESSES",
frame2
);
-
- if (LanItems::type == "bond")
- {
- settings["SLAVES"] = LanItems::bond_slaves;
- settings["BONDOPTION"] = LanItems::bond_option;
-
- //fill up the drop list and make the default value first
-
- wd["BONDOPTION", "items"] = filter(list<string> v, wd["BONDOPTION",
"items"]:[],
- {
- return v[0]:"" != LanItems::bond_option;
- });
- wd["BONDOPTION", "items"] = prepend(wd["BONDOPTION", "items"]:[],
[LanItems::bond_option]);
-
-
- address_contents = `VBox(
- `Left(label),
- just_address_contents,
- `MarginBox(1, 0, `Frame( "", `VBox("BONDSLAVE", "BONDOPTION"))),
- frame2
- );
- }
- else if (LanItems::type == "vlan")
- {
- settings["STARTMODE"] = "onboot";
- address_contents = `VBox(
- `Left(label),
- `Left( `VBox("ETHERDEVICE")),
- just_address_contents,
- "AD_ADDRESSES",
- frame2
- );
- }
- else if (LanItems::type == "br")
+ if (LanItems::type == "br")
{
address_contents = `VBox(
`Left(label),
@@ -994,6 +974,10 @@
"header" : _("&Hardware"),
"contents" : `VBox( "HWDIALOG" )
],
+ "bond_slaves" : $[
+ "header" : _("&Bond Slaves"),
+ "contents" : `VBox( "BONDSLAVE", "BONDOPTION" )
+ ],
"t3" : $[
"header" : _("&Wireless"),
"contents" : `Empty (),
@@ -1007,7 +991,7 @@
];
if (contains(["vlan", "br"], LanItems::type)) wd_content["tab_order"]=
["t_general", "t_addr"];
if (contains(["tun", "tap"], LanItems::type)) wd_content["tab_order"]=
["t_addr"];
-
+ if (LanItems::type == "bond")
wd_content["tab_order"]=add(wd_content["tab_order"]:[], "bond_slaves");

hw_standalone=false;
wd = (map<string, map<string,any> >) union (wd, $[
@@ -1096,11 +1080,7 @@
}
}

- if (LanItems::type == "bond")
- {
- LanItems::bond_option = settings["BONDOPTION"]:"";
- LanItems::bond_slaves = (list<string>)settings["SLAVES"]:[];
- } else if (LanItems::type == "vlan"){
+ if (LanItems::type == "vlan"){
LanItems::vlan_etherdevice = settings["ETHERDEVICE"]:"";
} else if (LanItems::type == "br"){
LanItems::bridge_ports = settings["BRIDGE_PORTS"]:"";

Modified: branches/SuSE-Code-11-SP1-Branch/network/src/lan/bridge.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/src/lan/bridge.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/src/lan/bridge.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/network/src/lan/bridge.ycp Fri Sep 25
08:21:48 2009
@@ -57,7 +57,19 @@
if (contains(sel, device) && hasAnyValue(device)) {
if (contains(confs, device)){
// allow to add bonding device into bridge and also device with mask
/32(bnc#405343)
- if (contains(["tun", "tap", "bond"], NetworkInterfaces::GetType(device)))
continue;
+ if (contains(["tun", "tap"], NetworkInterfaces::GetType(device)))
continue;
+ if (contains(["bond"], NetworkInterfaces::GetType(device))) {
+ if (LanItems::operation==`add){
+ string old_name = NetworkInterfaces::Name;
+ NetworkInterfaces::Edit(device);
+ NetworkInterfaces::Current["IPADDR"]="0.0.0.0";
+ NetworkInterfaces::Current["NETMASK"]="255.255.255.255";
+ NetworkInterfaces::Current["BOOTPROTO"]="static";
+ NetworkInterfaces::Commit();
+ NetworkInterfaces::Add();
+ }
+ continue;
+ }
if (((string)configurations[NetworkInterfaces::GetType(device), device,
"PREFIXLEN"]:"" != "32")
|| ((string)configurations[NetworkInterfaces::GetType(device), device,
"NETMASK"]:"" != "255.255.255.255"))
if ((string)configurations[NetworkInterfaces::GetType(device), device,
"IPADDR"]:"" != "0.0.0.0") {

Modified: branches/SuSE-Code-11-SP1-Branch/network/src/lan/complex.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/src/lan/complex.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/src/lan/complex.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/network/src/lan/complex.ycp Fri Sep 25
08:21:48 2009
@@ -112,6 +112,7 @@

define boolean AddInterface () {
Lan::Add ();
+ LanItems::operation = `add;
LanItems::SelectHWMap(LanItems::getCurrentItem()["hwinfo"]:$[]);
LanItems::Items[LanItems::current, "ifcfg"] =
LanItems::getCurrentItem()["hwinfo", "dev_name"]:"";
LanItems::Items[LanItems::current, "commited"] = false;

Modified: branches/SuSE-Code-11-SP1-Branch/network/src/lan/hardware.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/src/lan/hardware.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/src/lan/hardware.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/network/src/lan/hardware.ycp Fri Sep 25
08:21:48 2009
@@ -536,7 +536,7 @@
term contents = `Empty ();


- if(LanItems::type == "qeth" || LanItems::type == "hsi") {
+ if( contains(["qeth", "hsi"], LanItems::type) ) {
// CHANIDS
list<string> tmp_list=splitstring(LanItems::qeth_chanids, " ");
map<string, any> chanids_map = $[
@@ -608,6 +608,11 @@
*/

if(drvtype == "lcs") {
+ list<string> tmp_list=splitstring(LanItems::qeth_chanids, " ");
+ map<string, any> chanids_map = $[
+ "read" : tmp_list[0]:"",
+ "write" : tmp_list[1]:""
+ ];
contents = `HBox(
`HSpacing(6),
/* Frame label */
@@ -617,7 +622,12 @@
`InputField(`id(`chan_mode), `opt(`hstretch), _("&Port
Number"), LanItems::chan_mode),
`VSpacing(1),
/* TextEntry label */
- `InputField(`id(`lcs_timeout), `opt(`hstretch), _("&LANCMD
Time-Out"), LanItems::lcs_timeout)
+ `InputField(`id(`lcs_timeout), `opt(`hstretch), _("&LANCMD
Time-Out"), LanItems::lcs_timeout),
+ `VSpacing(1),
+ `HBox(
+ `InputField(`id(`qeth_chan_read), `opt(`hstretch),
_("Read Channel"), chanids_map["read"]:""),
+ `InputField(`id(`qeth_chan_write), `opt(`hstretch),
_("Write Channel"), chanids_map["write"]:"")
+ )
), `HSpacing(2))),
`HSpacing(6)
);

Modified: branches/SuSE-Code-11-SP1-Branch/network/src/lan/help.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/src/lan/help.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/src/lan/help.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/network/src/lan/help.ycp Fri Sep 25
08:21:48 2009
@@ -78,7 +78,7 @@
the device through which the traffic to the defined network will be routed, as
well.\"-\" is an alias for any interface.</p>
") +
/* Routing dialog help 2/2 */
-_("<p>Enable <b>IP Forwarding</b> if the system is a router.</p>"),
+_("<p>Enable <b>IP Forwarding</b> if the system is a router. This will apply
on both IPv4 and IPv6.</p>"),

"dhcp_hostname":
_("<p>If you are using DHCP to get an IP address, check whether you get

Modified: branches/SuSE-Code-11-SP1-Branch/network/src/lan/virtual.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/src/lan/virtual.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/src/lan/virtual.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/network/src/lan/virtual.ycp Fri Sep 25
08:21:48 2009
@@ -60,17 +60,17 @@


void initAdditional (string key) {
-
//#165059
if (NetworkService::IsManaged()) UI::ChangeWidget(`f_additional, `Enabled,
false);

list<term> table_items = [];
/* make ui items from the aliases list */
maplist(string alias, map data, (map<string,map>) LanItems::aliases, {
+ string label = data["LABEL"]:"";
string ip = data["IPADDR"]:"";
string mask = data["NETMASK"]:"";
if (size(data["PREFIXLEN"]:"")>0) mask=sformat("/%1",
data["PREFIXLEN"]:"");
- table_items = add(table_items, `item(`id(size(table_items)), alias, ip,
mask));
+ table_items = add(table_items, `item(`id(size(table_items)), label, ip,
mask));
});

UI::ChangeWidget(`id(`table), `Items, table_items);
@@ -137,10 +137,14 @@
maplist(term e, table_items, {
map alias = $[];
alias["IPADDR"] = e[2]:"";
+ if (size(e[1]:"")>0) alias["LABEL"]=e[1]:"";
if(substring(e[3]:"", 0,1)=="/")
alias["PREFIXLEN"]=substring(e[3]:"", 1);
- else alias["NETMASK"]=e[3]:"";
- LanItems::aliases[e[1]:""] = alias;
- aliases_to_delete[e[1]:""] = nil;
+ else {
+ if (Netmask::Check6(e[3]:""))
alias["PREFIXLEN"]=e[3]:"";
+ else alias["NETMASK"]=e[3]:"";
+ }
+ LanItems::aliases[tostring(size(LanItems::aliases))] = alias;
+// aliases_to_delete[tostring(size(LanItems::aliases))] = nil;
});
foreach (string a, any v, (map <string, any>)aliases_to_delete, {
if (v != nil) { NetworkInterfaces::DeleteAlias
(NetworkInterfaces::Name, a); }
@@ -205,25 +209,26 @@
UI::SetFocus(`id(`name));
continue;
}
+/*
if(contains(forbidden, val)) {
- /* Popup::Error text */
Popup::Error(sformat(_("IP address %1 is already present."), val));
UI::SetFocus(`id(`host));
continue;
}
+*/
host = add(host, val);

- val = (string) UI::QueryWidget(`id(`ipaddr), `Value);
- if(!IP::Check(val)) {
+ string ip = (string) UI::QueryWidget(`id(`ipaddr), `Value);
+ if(!IP::Check(ip)) {
/* Popup::Error text */
Popup::Error(_("The IP address is invalid."));
UI::SetFocus(`id(`ipaddr));
continue;
}
- host = add(host, val);
+ host = add(host, ip);

val = (string) UI::QueryWidget(`id(`netmask), `Value);
- if(!validPrefixOrNetmask(val)) {
+ if(!validPrefixOrNetmask(ip, val)) {
/* Popup::Error text */
Popup::Error(_("The subnet mask is invalid."));
UI::SetFocus(`id(`netmask));

Modified: branches/SuSE-Code-11-SP1-Branch/network/src/modules/Lan.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/src/modules/Lan.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/src/modules/Lan.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/network/src/modules/Lan.ycp Fri Sep 25
08:21:48 2009
@@ -547,17 +547,11 @@
*/
global define boolean Import(map settings) {

- if (!Mode::autoinst()) {
- // FIXME: MOD Modules = (map) eval(settings["modules"]:$[]);
- NetworkInterfaces::Import("netcard", (map<string, map>)
settings["devices"]:$[]);
-
- } else {
NetworkInterfaces::Import("netcard", (map<string, map>)
settings["devices"]:$[]);
foreach(string device, NetworkInterfaces::List(""), {
LanItems::AddNew();
LanItems::Items[LanItems::current]=$["ifcfg":device];
});
- }

LanItems::autoinstall_settings["start_immediately"] =
settings["start_immediately"]:false;
LanItems::autoinstall_settings["strict_IP_check_timeout"] =
settings["strict_IP_check_timeout"]:-1;
@@ -644,7 +638,8 @@
// network mode
status_nm = _("Traditional network setup with NetControl - ifup");
// enable NetworkManager applet
- link_nm = Hyperlink (href_nm, _("Enable NetworkManager"));
+ // for virtual network proposal (bridged) don't show hyperlink to
enable networkmanager
+ link_nm = (virt_net_proposal) ? "..." : Hyperlink (href_nm, _("Enable
NetworkManager"));
}

if (ipv6)
@@ -803,7 +798,7 @@
foreach (integer number, any lanitem, LanItems::Items, {
if (hasAnyValue(((map)lanitem)["hwinfo", "dev_name"]:"")) {
LanItems::current = number;
- boolean link = LanItems::getCurrentItem()["hwinfo", "link"]:false;
+ boolean link = LanItems::getCurrentItem()["hwinfo", "link"]:false ==
true;
if (!link) y2warning("item number %1 has link:false detected", number);
if (!LanItems::IsItemConfigured() && link){
y2milestone("Nothing already configured - start proposing");
@@ -812,12 +807,39 @@
}
});

+ // collect all interfaces that will be skipped from bridged proposal
+ list<string> skipped = [];
+ foreach(integer current, any config, LanItems::Items, {
+ string ifcfg = LanItems::Items[current, "ifcfg"]:"";
+ if (NetworkInterfaces::GetType(ifcfg)=="br"){
+ NetworkInterfaces::Edit(ifcfg);
+ y2milestone("Bridge %1 with ports (%2) found", ifcfg,
NetworkInterfaces::Current["BRIDGE_PORTS"]:"");
+ skipped=add(skipped, ifcfg);
+ foreach(string port, (list<string>)
splitstring(NetworkInterfaces::Current["BRIDGE_PORTS"]:"", " "), {
+ skipped=add(skipped, port);
+ });
+ }
+ if (NetworkInterfaces::GetType(ifcfg)=="bond"){
+ NetworkInterfaces::Edit(ifcfg);
+ foreach(string i, (list<string>)splitstring("0,1,2,3,4,5,6,7,8,9", ","),
{
+ string slave = NetworkInterfaces::Current[sformat("BONDING_SLAVE%1",
i)]:"";
+ y2milestone("For interface %1 found slave %2", ifcfg, slave);
+ if(size(slave)>0) skipped=add(skipped, slave);
+ });
+ }
+ });
+ y2milestone("Skipped interfaces : %1", skipped);
+
// then each configuration (except bridges) move to the bridge
// and add old device name into bridge_ports
foreach(integer current, any config, LanItems::Items, {
string ifcfg = LanItems::Items[current, "ifcfg"]:"";
+ if (contains(skipped, ifcfg)){
+ y2milestone("Skipping interface %1", ifcfg);
+ continue;
+ }
if (size(ifcfg)>0){
- if (! (NetworkInterfaces::GetType(ifcfg)=="br")){
+ if (! (NetworkInterfaces::GetType(ifcfg)=="bond")){
NetworkInterfaces::Edit(ifcfg);
string new_ifcfg = sformat("br%1",
NetworkInterfaces::GetFreeDevice("br"));
y2milestone("old configuration %1, bridge %2", ifcfg, new_ifcfg);
@@ -837,11 +859,48 @@
LanItems::Items[current, "ifcfg"] = new_ifcfg;
LanItems::modified=true;
LanItems::force_restart=true;
- y2internal("List %1", NetworkInterfaces::List(""));
+ y2debug("List %1", NetworkInterfaces::List(""));
// re-read configuration to see new items in UI
LanItems::Read();
} else y2error("error while proposing bridge device for %1", ifcfg);
- } else y2internal("skipping bridge ...");
+ } else {
+ NetworkInterfaces::Edit(ifcfg);
+ map<string, any> old_config = NetworkInterfaces::Current;
+ y2debug("Old Config %1\n%2", ifcfg, old_config);
+ string new_ifcfg = sformat("br%1",
NetworkInterfaces::GetFreeDevice("br"));
+ y2milestone("old configuration %1, bridge %2", ifcfg, new_ifcfg);
+ NetworkInterfaces::Name = new_ifcfg;
+ // from bridge interface remove all bonding-related stuff
+ foreach(string key, any value, NetworkInterfaces::Current, {
+ if (issubstring(key, "BONDING")){
+ NetworkInterfaces::Current[key]=nil;
+ }
+ });
+ NetworkInterfaces::Current["BRIDGE"]="yes";
+ NetworkInterfaces::Current["BRIDGE_PORTS"]=ifcfg;
+ NetworkInterfaces::Current["BRIDGE_STP"]="off";
+ NetworkInterfaces::Current["BRIDGE_FORWARDDELAY"]="0";
+ // hardcode startmode (bnc#450670), it can't be ifplugd!
+ NetworkInterfaces::Current["STARTMODE"]="onboot";
+ // remove description - will be replaced by new (real) one
+ NetworkInterfaces::Current=remove(NetworkInterfaces::Current, "NAME");
+ if( NetworkInterfaces::Commit() ){
+ NetworkInterfaces::Edit(ifcfg);
+ old_config["BOOTPROTO"]="static";
+ old_config["IPADDR"]="0.0.0.0/32";
+ y2debug("Old Config with apllied changes %1\n%2", ifcfg, old_config);
+ NetworkInterfaces::Current = old_config;
+ NetworkInterfaces::Commit();
+
+ LanItems::Items[current, "ifcfg"] = new_ifcfg;
+ LanItems::modified=true;
+ LanItems::force_restart=true;
+ y2internal("List %1", NetworkInterfaces::List(""));
+ // re-read configuration to see new items in UI
+ LanItems::Read();
+ } else y2error("error while porting bonding configuration for %1",
ifcfg);
+
+ }
} else y2warning("empty ifcfg");
});
} else {
@@ -880,12 +939,16 @@
if (hasAnyValue(((map)lanitem)["hwinfo", "dev_name"]:"")) {
LanItems::current = number;
boolean link = LanItems::getCurrentItem()["hwinfo", "link"]:false;
- if (!link) y2warning("item number %1 has link:false detected", number);
- if (!LanItems::IsItemConfigured() && link){
- y2milestone("Nothing already configured - start proposing");
- LanItems::ProposeItem();
- break;
- }
+ if (LanItems::getCurrentItem()["hwinfo", "type"]:"" == "wlan")
+ y2warning("Will not propose wlan interfaces");
+ else{
+ if (!link) y2warning("item number %1 has link:false detected",
number);
+ else if (!LanItems::IsItemConfigured() && link){
+ y2milestone("Nothing already configured - start
proposing");
+ LanItems::ProposeItem();
+ break;
+ }
+ }
}
});


Modified: branches/SuSE-Code-11-SP1-Branch/network/src/modules/LanItems.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/src/modules/LanItems.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/src/modules/LanItems.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/network/src/modules/LanItems.ycp Fri Sep
25 08:21:48 2009
@@ -46,6 +46,7 @@

global string type = "";
global string device = "";
+//FIXME: always empty string - remove all occuriences
global string alias = "";
global integer current = -1;
global string hotplug = "";
@@ -245,9 +246,8 @@
});
SCR::Write(.udev_persistent.rules, net_rules);
SCR::Write(.udev_persistent.nil, []);
- foreach(string dev, changed_devices, {
- y2milestone("renaming devices : %1", SCR::Execute(.target.bash_output,
sformat("hwdown %1 && hwup %1", dev)));
- });
+ y2milestone("Changed devices %1", changed_devices);
+ if (size(changed_devices)>0) y2milestone("Renaming interfaces %1",
SCR::Execute(.target.bash_output, "rcnetwork stop && udevadm trigger
--subsystem-match=net && rcnetwork start"));

// write rules from driver
foreach(string key, string value, (map<string, string>)driver_options, {
@@ -495,8 +495,8 @@
// build aliases overview
if (size(NetworkInterfaces::Current["_aliases"]:$[])>0 &&
!NetworkService::IsManaged()){
foreach(string key, map<string, any> desc, (map<string ,map<string,
any> >) NetworkInterfaces::Current["_aliases"]:$[], {
- string parameters = sformat(_("IP address: %1, subnet mask %2"),
desc["IPADDR"]:"", desc["NETMASK"]:"");
- bullets = add(bullets, sformat("%1 (%2)", key, parameters) );
+ string parameters = sformat("%1/%2", desc["IPADDR"]:"",
desc["PREFIXLEN"]:"");
+ bullets = add(bullets, sformat("%1 (%2)", desc["LABEL"]:"",
parameters) );
});
}
}
@@ -686,6 +686,28 @@
y2milestone("hw=%1", hardware);
y2milestone("device=%1", device);
hw=hardware;
+ if(Arch::s390() && operation==`add){
+ y2internal("Propose chan_ids values for %1", hw);
+ integer devid = 0;
+ string devstr = "";
+ string s390chanid = "[0-9]+\\.[0-9]+\\.";
+ if(regexpmatch(hw["busid"]:"", s390chanid)) {
+ devid = tointeger("0x" + regexpsub(hw["busid"]:"", s390chanid
+ "(.*)", "\\1"));
+ devstr = regexpsub(hw["busid"]:"", "(" + s390chanid + ").*",
"\\1");
+ }
+
+ y2milestone("devid=%1(%2)", devid, devstr);
+ if(devid == nil) devid = 0;
+ string devid0 = String::PadZeros(regexpsub(tohexstring(devid),
"0x(.*)", "\\1"), 4);
+ string devid1 = String::PadZeros(regexpsub(tohexstring(devid+1),
"0x(.*)", "\\1"), 4);
+ string devid2 = String::PadZeros(regexpsub(tohexstring(devid+2),
"0x(.*)", "\\1"), 4);
+ if (DriverType(type)=="ctc" || DriverType(type)=="lcs")
qeth_chanids = sformat("%1%2 %1%3", devstr, devid0, devid1);
+ else qeth_chanids = sformat("%1%2 %1%3 %1%4", devstr,
devid0, devid1, devid2);
+
+// qeth_chanids = sformat("%1%2 %1%3 %1%4", devstr, devid0, devid1,
devid2);
+
+ }
+
}

/**
@@ -1607,6 +1629,7 @@
command2=sformat("ls /sys/devices/qeth/%1/net/|head -n1|tr -d '\n'",
(splitstring(qeth_chanids, " "))[0]:"");
break;
case "ctc":
+ case "lcs":
// chan_ids (read, write), protocol
command1=sformat("ctc_configure %1 1 %2", qeth_chanids, chan_mode);
command2=sformat("ls /sys/devices/cu3088/%1/net/|head -n1|tr -d '\n'",
(splitstring(qeth_chanids, " "))[0]:"");

Modified: branches/SuSE-Code-11-SP1-Branch/network/src/modules/Provider.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/src/modules/Provider.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/src/modules/Provider.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/network/src/modules/Provider.ycp Fri Sep
25 08:21:48 2009
@@ -802,6 +802,7 @@
y2debug("type=%1", type);
y2debug("provs=%1", provs);
/* Filter only desired providers */
+ if (provs==nil) provs=[];
provs = FilterProviders(provs, type);

y2debug("provs=%1",provs);

Modified: branches/SuSE-Code-11-SP1-Branch/network/src/modules/Routing.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/src/modules/Routing.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/src/modules/Routing.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/network/src/modules/Routing.ycp Fri Sep 25
08:21:48 2009
@@ -156,11 +156,15 @@

if(Forward) {
SCR::Write(.sysconfig.sysctl.IP_FORWARD, "yes");
+ SCR::Write(.sysconfig.sysctl.IPV6_FORWARD, "yes");
SCR::Execute(.target.bash, "echo 1 > /proc/sys/net/ipv4/ip_forward");
+ SCR::Execute(.target.bash, "echo 1 >
/proc/sys/net/ipv6/conf/all/forwarding");
}
else {
SCR::Write(.sysconfig.sysctl.IP_FORWARD, "no");
+ SCR::Write(.sysconfig.sysctl.IPV6_FORWARD, "no");
SCR::Execute(.target.bash, "echo 0 > /proc/sys/net/ipv4/ip_forward");
+ SCR::Execute(.target.bash, "echo 0 >
/proc/sys/net/ipv6/conf/all/forwarding");
}
sleep(sl);


Modified: branches/SuSE-Code-11-SP1-Branch/network/src/routines/routines.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/src/routines/routines.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/src/routines/routines.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/network/src/routines/routines.ycp Fri Sep
25 08:21:48 2009
@@ -23,7 +23,8 @@
import "Map";
import "Netmask";
import "Mode";
-
+import "IP";
+import "Netmask";

/**
* Abort function
@@ -593,7 +594,7 @@
/* read the corresponding hardware */
if(haskey(hwtypes, hwtype))
allcards = (list) SCR::Read(hwtypes[hwtype]:nil);
-// allcards = [$["bus":"PCI", "bus_hwcfg":"pci", "class_id":258,
"dev_name":"/dev/ttySL0", "dev_names":["/dev/ttySL0"], "dev_num":$["major":212,
"minor":0, "range":1, "type":"c"], "device":"82801DB/DBL/DBM
(ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller", "device_id":74950,
"driver":"Intel ICH Modem", "driver_module":"snd_intel8x0m",
"drivers":[$["active":true, "modprobe":true, "modules":[["snd_intel8x0m",
""]]]], "func_id":6,
"modalias":"pci:v00008086d000024C6sv0000103Csd000008BCbc07sc03i00",
"model":"Hewlett-Packard Company 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97
Modem Controller", "old_unique_key":"i5Ju.KmxxluQyLyF",
"resource":$["io":[$["active":true, "length":256, "mode":"rw", "start":9216],
$["active":true, "length":128, "mode":"rw", "start":10240]],
"irq":[$["count":595, "enabled":true, "irq":17]]], "rev":"1", "slot_id":31,
"sub_class_id":4, "sub_device_id":67772, "sub_vendor":"Hewlett-Packard
Company", "sub_vendor_id":69692, "sysfs_bus_id":"0000:00:1f.6",
"sysfs_id":"/devices/pci0000:00/0000:00:1f.6",
"udi":"/org/freedesktop/Hal/devices/pci_8086_24c6",
"unique_key":"ORVU.KmxxluQyLyF", "vendor":"Intel Corporation",
"vendor_id":98438]];
+//allcards=[$["bus":"PCI", "bus_hwcfg":"pci", "bus_id":2, "class_id":2,
"dev_name":"wlan0", "dev_names":["wlan0"], "device":"AR242x 802.11abg Wireless
PCI Express Adapter", "device_id":65564, "driver":"ath5k_pci",
"driver_module":"ath5k", "drivers":[$["active":true, "modprobe":true,
"modules":[["ath5k", ""]]]],
"modalias":"pci:v0000168Cd0000001Csv00001A3Bsd00001026bc02sc00i00",
"model":"Atheros AR242x 802.11abg Wireless PCI Express Adapter",
"old_unique_key":"eHlF.oTCoeEt5Tw6", "parent_unique_key":"qTvu.bQ30eTbcr+3",
"resource":$["hwaddr":[$["addr":"00:22:43:37:55:c3"]], "irq":[$["count":0,
"enabled":true, "irq":17]], "link":[$["state":true]], "mem":[$["active":true,
"length":65536, "start":4227792896]], "wlan":[$["auth_modes":["open",
"sharedkey", "wpa-psk", "wpa-eap"], "channels":["1", "2", "3", "4", "5", "6",
"7", "8", "9", "10", "11"], "enc_modes":["WEP40", "WEP104", "TKIP", "CCMP"],
"frequencies":["2.412", "2.417", "2.422", "2.427", "2.432", "2.437", "2.442",
"2.447", "2.452", "2.457", "2.462"]]]], "rev":"1", "sub_class_id":130,
"sub_device":"AR5007EG 802.11bg Wi-Fi mini PCI express card",
"sub_device_id":69670, "sub_vendor_id":72251, "sysfs_bus_id":"0000:02:00.0",
"sysfs_id":"/devices/pci0000:00/0000:00:1c.1/0000:02:00.0",
"udi":"/org/freedesktop/Hal/devices/pci_168c_1c",
"unique_key":"y9sn.oTCoeEt5Tw6", "vendor":"Atheros Communications Inc.",
"vendor_id":71308, "wlan":true], $["bus":"PCI", "bus_hwcfg":"pci", "bus_id":1,
"class_id":2, "dev_name":"eth0", "dev_names":["eth0"], "device":"L1 Gigabit
EthernetAdapter", "device_id":69670, "driver":"ATL1E", "driver_module":"atl1e",
"drivers":[$["active":true, "modprobe":true, "modules":[["atl1e", ""]]]],
"modalias":"pci:v00001969d00001026sv00001043sd00008324bc02sc00i00",
"model":"Attansic L1 Gigabit Ethernet Adapter",
"old_unique_key":"BiAc.emcIbgAqn59", "parent_unique_key":"Z7uZ.f4r+Yl3RyX5",
"resource":$["hwaddr":[$["addr":"00:23:54:3f:7c:c3"]], "io":[$["active":true,
"length":128, "mode":"rw", "start":56320]], "irq":[$["count":74680,
"enabled":true, "irq":220]], "link":[$["state":true]], "mem":[$["active":true,
"length":262144, "start":4093378560]]], "rev":"176",
"sub_class_id":0,"sub_device_id":99108, "sub_vendor":"ASUSTeK Computer Inc.",
"sub_vendor_id":69699,
"sysfs_bus_id":"0000:01:00.0","sysfs_id":"/devices/pci0000:00/0000:00:1c.3/0000:01:00.0",
"udi":"/org/freedesktop/Hal/devices/pci_1969_1026",
"unique_key":"rBUF.emcIbgAqn59", "vendor":"Attansic Technology Corp.",
"vendor_id":72041]];

else if(hwtype == "all" || hwtype == "" || hwtype == nil)
maplist(path v, (list<path>) Map::Values(hwtypes), {
@@ -780,16 +781,14 @@
return Hardware;
}

-boolean validPrefixOrNetmask(string val){
+boolean validPrefixOrNetmask(string ip, string mask){

boolean valid_mask=false;
- if (Netmask::Check4(val)) valid_mask=true;
- else
- if (regexpmatch(val, "^/[[:digit:]]{1,2}$") && tointeger(substring(val,
1))<=32) valid_mask=true;
- else
- if (Netmask::Check6(val)) valid_mask=true;
- else
- if (regexpmatch(val, "^/[[:digit:]]{1,3}$") && tointeger(substring(val,
1))<=128) valid_mask=true;
+ if (substring(mask, 0,1)=="/") mask=substring(mask,1);
+
+ if (IP::Check4(ip) && Netmask::Check4(mask)) valid_mask=true;
+ else if (IP::Check6(ip) && Netmask::Check6(mask)) valid_mask=true;
+ else y2warning("IP address %1 is not valid", ip);
return valid_mask;
}


Modified: branches/SuSE-Code-11-SP1-Branch/network/src/services/proxy.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/src/services/proxy.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/src/services/proxy.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/network/src/services/proxy.ycp Fri Sep 25
08:21:48 2009
@@ -401,7 +401,8 @@
UI::ChangeWidget(`id(`http), `ValidChars, URL::ValidChars);
UI::ChangeWidget(`id(`https), `ValidChars, URL::ValidChars);
UI::ChangeWidget(`id(`ftp), `ValidChars, URL::ValidChars);
- UI::ChangeWidget(`id(`no), `ValidChars, Hostname::ValidCharsDomain + " ,");
+ // '/' character for subnets definition - #490661
+ UI::ChangeWidget(`id(`no), `ValidChars, Hostname::ValidCharsDomain + "
,/");
UI::ChangeWidget(`id(`user), `ValidChars, ValidCharsUsername);
UI::ChangeWidget(`id(`frame1), `Enabled, enabled);
UI::ChangeWidget(`id(`frame2), `Enabled, enabled);

Modified: branches/SuSE-Code-11-SP1-Branch/network/testsuite/tests/Routing.out
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/testsuite/tests/Routing.out?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/testsuite/tests/Routing.out
(original)
+++ branches/SuSE-Code-11-SP1-Branch/network/testsuite/tests/Routing.out Fri
Sep 25 08:21:48 2009
@@ -7,7 +7,9 @@
Dump Write
Return true
Write .sysconfig.sysctl.IP_FORWARD "yes" true
+Write .sysconfig.sysctl.IPV6_FORWARD "yes" true
Execute .target.bash "echo 1 > /proc/sys/net/ipv4/ip_forward" 0
+Execute .target.bash "echo 1 > /proc/sys/net/ipv6/conf/all/forwarding" 0
Read .target.size "/etc/sysconfig/network/routes" 1
Execute .target.bash "/bin/cp /etc/sysconfig/network/routes
/etc/sysconfig/network/routes.YaST2save" 0
Write .routes [$["1":"r1"], $["3":"r3"]] true

Modified: branches/SuSE-Code-11-SP1-Branch/network/yast2-network.spec.in
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/network/yast2-network.spec.in?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/network/yast2-network.spec.in (original)
+++ branches/SuSE-Code-11-SP1-Branch/network/yast2-network.spec.in Fri Sep 25
08:21:48 2009
@@ -77,6 +77,7 @@
@clientdir@/*.ycp
@moduledir@/*.ycp
@moduledir@/*.ybc
+@moduledir@/YaPI/NETWORK.pm
@desktopdir@/*.desktop
@scrconfdir@/*.scr
@agentdir@/ag_udev_persistent

Modified: branches/SuSE-Code-11-SP1-Branch/nfs-client/VERSION
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/nfs-client/VERSION?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/nfs-client/VERSION (original)
+++ branches/SuSE-Code-11-SP1-Branch/nfs-client/VERSION Fri Sep 25 08:21:48 2009
@@ -1 +1 @@
-2.17.11
+2.17.12

Modified:
branches/SuSE-Code-11-SP1-Branch/nfs-client/package/yast2-nfs-client.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/nfs-client/package/yast2-nfs-client.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/nfs-client/package/yast2-nfs-client.changes
(original)
+++
branches/SuSE-Code-11-SP1-Branch/nfs-client/package/yast2-nfs-client.changes
Fri Sep 25 08:21:48 2009
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Wed Apr 8 16:37:35 CEST 2009 - kmachalkova@xxxxxxx
+
+- Do not use ag_showexports to show nfsv4-shared dirs on a server,
+ use Nfs::Mount and show directory listing instead (bnc#466454)
+- 2.17.12
+
+-------------------------------------------------------------------
Tue Dec 16 13:37:37 CET 2008 - kmachalkova@xxxxxxx

- Consistent setting of widget focus esp. when embedded in partitioner

Modified: branches/SuSE-Code-11-SP1-Branch/nfs-client/src/Nfs.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/nfs-client/src/Nfs.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/nfs-client/src/Nfs.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/nfs-client/src/Nfs.ycp Fri Sep 25 08:21:48
2009
@@ -450,10 +450,11 @@
* @param share name of the exported directory
* @param mpoint mount point (can be empty or nil, in this case it will be
mounted in temporary directory)
* @param options mount options - e.g. "ro,hard,intr", see man nfs
+ * @param type nfs type (nfs vs. nfsv4) - if empty, 'nfs' is used
* @return string directory where volume was mounted or nil if mount failed
*/

- global define string Mount(string server, string share, string mpoint,
string options) ``{
+ global define string Mount(string server, string share, string mpoint,
string options, string type) ``{

if (size(server) == 0 || size(share) == 0)
{
@@ -525,7 +526,9 @@
}

// build mount command
- string command = sformat("/bin/mount %1 %2:%3 %4", (size(options) > 0)
? "-o " + options : "", server, share, mpoint);
+ string command = sformat("/bin/mount %1 %2 %3:%4 %5", (size(options) >
0) ? "-o " + options : "",
+ "-t " + (size(type) > 0 ? type : "nfs"),
+ server, share, mpoint);

// execute mount command
return (SCR::Execute(.target.bash, command) == 0) ? mpoint : nil;
@@ -551,7 +554,7 @@
string type = (string) (m["vfstype"]:nil);
string file = (string) (m["file"]:nil);

- if (type == "nfs" && file == mpoint)
+ if ( (type == "nfs" || type == "nfs4") && file == mpoint)
{
found = true;
}

Modified: branches/SuSE-Code-11-SP1-Branch/nfs-client/src/ui.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/nfs-client/src/ui.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/nfs-client/src/ui.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/nfs-client/src/ui.ycp Fri Sep 25 08:21:48
2009
@@ -242,6 +242,7 @@
`PushButton (`id (`pathent_list), _("&Select"))
)
),
+ `Left( `CheckBox(`id(`nfs4), _("NFS&v4 Share"), nfs4)),
`Left(
TextAndButton (
`TextEntry(`id(`mountent),
@@ -255,7 +256,6 @@
),
// textentry label
`VSpacing(0.2),
- `Left( `CheckBox(`id(`nfs4), _("NFS&v4 Share"), nfs4)),
`TextEntry(`id(`optionsent), _("O&ptions"), options),
`VSpacing(0.2),
`HBox(
@@ -323,13 +323,41 @@
else if (ret == `pathent_list)
{
string server = (string) UI::QueryWidget(`id(`serverent),
`Value);
+ boolean v4 = (boolean) UI::QueryWidget(`id(`nfs4), `Value);
+
+ if (!CheckHostName (server))
+ {
+ UI::SetFocus (`id (`serverent));
+ continue;
+ }
+
UI::OpenDialog (
`Label (
// Popup dialog, %1 is a host name
sformat (_("Getting directory list for \"%1\"..."),
server)
));
- list<string> dirs = (list<string>) SCR::Read (.net.showexports,
server);
+ list<string> dirs = [];
+
+ // showmounts does not work for nfsv4 (#466454)
+ if (v4)
+ {
+ string tmpdir = Nfs::Mount(server, "/", nil, "ro", "nfs4");
+
+ // This is completely stupid way how to explore what can be
mounted
+ // and I even don't know if it is correct. Maybe 'find
tmpdir -xdev -type d'
+ // should be used instead. No clue :(
+ dirs = maplist( string dirent, (list <string> )
SCR::Read(.target.dir, tmpdir), {
+ return "/" + dirent;
+ });
+ dirs = prepend(dirs, "/");
+ Nfs::Unmount( tmpdir );
+ }
+ else
+ {
+ dirs = (list<string>) SCR::Read (.net.showexports, server);
+ }
+
if (dirs == nil)
{
dirs = ["internal error"];

Modified:
branches/SuSE-Code-11-SP1-Branch/packager/package/yast2-packager.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/packager/package/yast2-packager.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/packager/package/yast2-packager.changes
(original)
+++ branches/SuSE-Code-11-SP1-Branch/packager/package/yast2-packager.changes
Fri Sep 25 08:21:48 2009
@@ -1,4 +1,39 @@
-------------------------------------------------------------------
+Tue Apr 21 15:34:48 CEST 2009 - lslezak@xxxxxxx
+
+- Append additional RPM output to the installation log only if it
+ is not empty (bnc#495047)
+
+-------------------------------------------------------------------
+Tue Apr 21 14:05:09 CEST 2009 - locilka@xxxxxxx
+
+- Using new function GetCachedFileFromSource from AddOnProduct
+ to avoid from a 'jukebox' issues when more different physical
+ media used during installation (bnc #486785).
+
+-------------------------------------------------------------------
+Mon Apr 20 12:19:34 CEST 2009 - locilka@xxxxxxx
+
+- Not checking signatures for add_on_products(.xml) file(s), the
+ file is cerated by the customer and contains links to signed
+ repositories (bnc #496404).
+
+-------------------------------------------------------------------
+Wed Apr 8 10:38:15 CEST 2009 - lslezak@xxxxxxx
+
+- Slideshow fixes - display additional rpm output in the
+ installation log, do not use non-existing y2logRPM file
+ (bnc#456446)
+- Avoid division by zero when total size to install is less than
+ 1024B (converted to 0kB)
+
+-------------------------------------------------------------------
+Fri Apr 3 14:31:20 CEST 2009 - locilka@xxxxxxx
+
+- Adjusting initial repository name according to LABEL in content
+ file. Exporting the same function for Add-Ons (bnc #481828).
+
+-------------------------------------------------------------------
Wed Sep 23 17:20:23 CEST 2009 - kmachalkova@xxxxxxx

- Use getenv to query current language for displaying the license

Modified: branches/SuSE-Code-11-SP1-Branch/packager/src/modules/AddOnProduct.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/packager/src/modules/AddOnProduct.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/packager/src/modules/AddOnProduct.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/packager/src/modules/AddOnProduct.ycp Fri
Sep 25 08:21:48 2009
@@ -100,6 +100,91 @@
// if true, both are skipped at once without asking
global boolean skip_add_ons = false;

+/**
+ * @struct $["src_id|media|filename" : "/path/to/the/file"]
+ */
+map <string, string> source_file_cache = $[];
+
+string filecachedir = sformat ("%1/AddOns_CacheDir/", Directory::tmpdir);
+
+integer filecachecounter = -1;
+
+/**
+ * Downloads a requested file, caches it and returns path to that cached file.
+ * If a file is alerady cached, just returns the path to a cached file.
+ * Parameter 'sod' defines whether a file is 'signed' (file + file.asc) or
'digested'
+ * (file digest mentioned in signed content file).
+ *
+ * @param integer src_id
+ * @param integer media
+ * @param string filename
+ * @param string sod ("signed" or "digested")
+ * @param boolean optional (false if mandatory)
+ * @return string path to a cached file
+ *
+ * @example:
+ * // content file is usually signed with content.asc
+ * AddOnProduct::GetCachedFileFromSource (8, 1, "/content", "signed", false);
+ * // the other files are usually digested in content file
+ * AddOnProduct::GetCachedFileFromSource (8, 1, "/images/images.xml",
"digested", true);
+ */
+global string GetCachedFileFromSource (integer src_id, integer media, string
filename, string sod, boolean optional) {
+ // BNC #486785: Jukebox when using more physical media-based Add-Ons at
once
+ string file_ID = sformat ("%1|%2|%3", src_id, media, filename);
+
+ string provided_file = source_file_cache[file_ID]:"";
+
+ if (provided_file != nil && provided_file != "") {
+ // Checking whether the cached file exists
+ if (FileUtils::Exists (provided_file)) {
+ y2milestone ("File %1 found in cache: %2", file_ID, provided_file);
+
+ return provided_file;
+ } else {
+ y2warning ("Cached file %1 not accessible!", provided_file);
+ source_file_cache = remove (source_file_cache, file_ID);
+ }
+ }
+
+ if (optional == nil) optional = true;
+
+ if (sod == "signed") {
+ provided_file = Pkg::SourceProvideSignedFile (src_id, media, filename,
optional);
+ } else if (sod == "digested") {
+ provided_file = Pkg::SourceProvideDigestedFile (src_id, media,
filename, optional);
+ } else {
+ y2error ("Unknown SoD: %1. It can be only 'signed' or 'digested'", sod);
+ provided_file = nil;
+ }
+
+ // A file has been found, caching...
+ if (provided_file != nil) {
+ filecachecounter = filecachecounter + 1;
+
+ // Where the file is finally cached
+ string cached_file = sformat ("%1%2", filecachedir, filecachecounter);
+
+ string cmd = sformat (
+ "/bin/mkdir -p '%1'; /bin/cp '%2' '%3'",
+ String::Quote (filecachedir), String::Quote (provided_file),
String::Quote (cached_file)
+ );
+ map cmd_run = (map) SCR::Execute (.target.bash_output, cmd);
+
+ // Unable to cache a file, the original file will be returned
+ if (cmd_run["exit"]:-1 != 0) {
+ y2warning ("Error caching file: %1: %2", cmd, cmd_run);
+ } else {
+ y2milestone ("File %1 cached as %2", file_ID, cached_file);
+ // Writes entry into cache database
+ source_file_cache[file_ID] = cached_file;
+ // Path to a cached file will be returned
+ provided_file = cached_file;
+ }
+ }
+
+ return provided_file;
+}
+
// Which part installation.xml will be used
string _inst_mode = "installation";

@@ -420,7 +505,7 @@
}

boolean IntegrateY2Update (integer src_id) {
- string binaries = Pkg::SourceProvideDigestedFile (src_id, 1,
"/y2update.tgz", true /* optional */);
+ string binaries = GetCachedFileFromSource (src_id, 1, "/y2update.tgz",
"digested", true /* optional */);
// File /y2update.tgz exists
if (binaries != nil)
{
@@ -603,7 +688,7 @@
y2milestone ("Using cached contentfile %1", contentfile);
} else {
y2milestone ("Checking contentfile from repository");
- string sourcefile = Pkg::SourceProvideSignedFile (src_id, 1,
"/content", true);
+ string sourcefile = GetCachedFileFromSource (src_id, 1, "/content",
"signed", true);
if (sourcefile == nil) {
y2warning ("Cannot obtain content file!");
return nil;
@@ -692,7 +777,7 @@

symbol ret = nil;

- string control = Pkg::SourceProvideDigestedFile (src_id, 1,
"/installation.xml", true /* optional */);
+ string control = GetCachedFileFromSource (src_id, 1, "/installation.xml",
"digested", true /* optional */);
if (control != nil) {
y2milestone ("Add-On has own control file");
ret = DoInstall_WithControlFile (control);
@@ -841,7 +926,7 @@
*/
void HandleProductPATTERNS (integer srcid) {
// FATE #302398: PATTERNS keyword in content file
- string content_file = Pkg::SourceProvideSignedFile (srcid, 1, "/content",
true);
+ string content_file = GetCachedFileFromSource (srcid, 1, "/content",
"signed", true);

if (content_file == nil) {
y2warning ("Add-On %1 doesn't have a content file", srcid);
@@ -860,7 +945,7 @@
y2milestone ("Integrating repository %1", srcid);

// Updating inst-sys
- string y2update = Pkg::SourceProvideDigestedFile (srcid, 1,
"/y2update.tgz", true /* optional */);
+ string y2update = GetCachedFileFromSource (srcid, 1, "/y2update.tgz",
"digested", true /* optional */);

if (y2update == nil) {
y2milestone ("No YaST update found on the media");

Modified:
branches/SuSE-Code-11-SP1-Branch/packager/src/modules/PackageInstallation.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/packager/src/modules/PackageInstallation.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/packager/src/modules/PackageInstallation.ycp
(original)
+++
branches/SuSE-Code-11-SP1-Branch/packager/src/modules/PackageInstallation.ycp
Fri Sep 25 08:21:48 2009
@@ -156,9 +156,9 @@
list<string> errpacks = (list<string>) (commit_result[1]:[]);
if (size (errpacks) > 0)
{
- string full_log = (string) SCR::Read (.target.string,
Installation::destdir +
- Directory::logdir +
"/y2logRPM");
- ShowFailedPackages (mergestring (errpacks, "\n"), full_log);
+ // unfortunately the full log is not available :-(
+ ShowFailedPackages (mergestring (errpacks, "\n"), "");
+
list<string> old_failed_packs = [];
if ((integer)SCR::Read (.target.size,
"/var/lib/YaST2/failed_packages") > 0)

Modified:
branches/SuSE-Code-11-SP1-Branch/packager/src/modules/PackageSlideShow.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/packager/src/modules/PackageSlideShow.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/packager/src/modules/PackageSlideShow.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/packager/src/modules/PackageSlideShow.ycp
Fri Sep 25 08:21:48 2009
@@ -764,7 +764,15 @@
**/
void UpdateTotalProgress(boolean silent_check)
{
- SlideShow::StageProgress( ( TotalInstalledSize() >> 10 ) * 100 / (
total_size_to_install >> 10 ), nil /*, SlideShow::GetProgressLabel()*/ );
+ integer total_size_to_install_kB = total_size_to_install >> 10;
+
+ // avoid division by zero
+ if (total_size_to_install_kB <= 0)
+ {
+ total_size_to_install_kB = 1;
+ }
+
+ SlideShow::StageProgress( ( TotalInstalledSize() >> 10 ) * 100 /
total_size_to_install_kB, nil /*, SlideShow::GetProgressLabel()*/ );

UpdateCurrentCdProgress(silent_check);


Modified: branches/SuSE-Code-11-SP1-Branch/packager/src/modules/Packages.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/packager/src/modules/Packages.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/packager/src/modules/Packages.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/packager/src/modules/Packages.ycp Fri Sep
25 08:21:48 2009
@@ -1345,6 +1345,81 @@
return true;
}

+/**
+ * Adjusts repository name according to LABEL in content file
+ * or a first product found on the media (as a fallback).
+ *
+ * @param integer repository ID
+ * @return boolean if successful
+ *
+ * @see BNC #481828
+ */
+global boolean AdjustSourcePropertiesAccordingToProduct (integer src_id) {
+ // This function is used from several places (also YaST Add-On)
+
+ if (src_id == nil || src_id < 0) {
+ y2error ("Wrong source ID: %1", src_id);
+ return nil;
+ }
+
+ y2milestone ("Trying to adjust repository name for: %1", src_id);
+ string new_name = nil;
+
+ // At first, try LABEL from content file
+ string contentfile = Pkg::SourceProvideSignedFile (src_id, 1, "/content",
true /* optional */);
+ if (contentfile != nil) {
+ map contentmap = (map) SCR::Read (.content_file, contentfile);
+ if (haskey (contentmap, "LABEL") && contentmap["LABEL"]:nil != nil &&
contentmap["LABEL"]:"" != "") {
+ new_name = contentmap["LABEL"]:"";
+
+ if (regexpmatch (new_name, "^\[ \t\]\+"))
+ new_name = regexpsub (new_name, "^\[ \t\]\+(.*)", "\\1");
+ if (regexpmatch (new_name, "\[ \t\]\+$"))
+ new_name = regexpsub (new_name, "(.*)\[ \t\]\+$", "\\1");
+
+ y2milestone ("Using LABEL from content file: %1", new_name);
+ } else {
+ y2warning ("No (useful) LABEL in product content file");
+ }
+ }
+
+ // As a fallback,
+ if (new_name == nil || new_name == "") {
+ y2milestone ("Trying to get repository name from products");
+ list <map <string, any> > all_products = Pkg::ResolvableProperties ("",
`product, "");
+ foreach (map <string, any> one_product, all_products, {
+ // source ID matches
+ if (one_product["source"]:-1 == src_id) {
+ if (haskey (one_product, "name") && one_product["name"]:nil !=
nil && one_product["name"]:"" != "") {
+ new_name = one_product["name"]:"";
+ y2milestone ("Product name found: %1", new_name);
+ break;
+ }
+ }
+ });
+ }
+
+ // Finally, some (new) name has been adjusted
+ if (new_name != nil && new_name != "") {
+ y2milestone ("Adjusting repository name");
+ list <map <string, any> > sources_got = Pkg::SourceEditGet();
+ list <map <string, any> > sources_set = [];
+ foreach (map <string, any> one_source, sources_got, {
+ if (one_source["SrcId"]:-1 == src_id) {
+ one_source["name"] = new_name;
+ }
+ sources_set = add (sources_set, one_source);
+ });
+
+ return Pkg::SourceEditSet (sources_set);
+ // Bad luck, nothing useful found
+ } else {
+ y2warning ("No name found");
+
+ return false;
+ }
+}
+
global void Initialize_StageInitial (boolean show_popup, string base_url,
string log_url) {
integer initial_source = nil;
ImportGPGKeys ();
@@ -1383,6 +1458,9 @@
}
}

+ // BNC #481828: Using LABEL from content file as a repository name
+ AdjustSourcePropertiesAccordingToProduct (base_source_id);
+
base_source_id = initial_source;
y2milestone ("Base source ID: %1", base_source_id);

@@ -1412,7 +1490,8 @@
string file = one_aop[0]:"";
string type = one_aop[1]:"";

- tmp_add_on_products = Pkg::SourceProvideDigestedFile
(initial_source, 1, file, true);
+ // BNC #496404: These files should not be checked for signatures
+ tmp_add_on_products = Pkg::SourceProvideOptionalFile
(initial_source, 1, file);

if (tmp_add_on_products != nil) {
add_on_products_list = sformat ("%1/add_on_products",
SCR::Read (.target.tmpdir));

Modified:
branches/SuSE-Code-11-SP1-Branch/packager/src/modules/SlideShowCallbacks.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/packager/src/modules/SlideShowCallbacks.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/packager/src/modules/SlideShowCallbacks.ycp
(original)
+++
branches/SuSE-Code-11-SP1-Branch/packager/src/modules/SlideShowCallbacks.ycp
Fri Sep 25 08:21:48 2009
@@ -422,6 +422,16 @@
{
ret = PackageCallbacks::DonePackage( error, reason );
}
+ else
+ {
+ // put additional rpm output to the installation log
+ if (reason != nil && size(reason) > 0)
+ {
+ y2milestone("Additional RPM output: %1", reason);
+ SlideShow::AppendMessageToInstLog(reason);
+ }
+ }
+
if (size (ret) == 0 || tolower (substring (ret, 0, 1)) != "r")
{
PackageSlideShow::SlideDisplayDone(

Modified:
branches/SuSE-Code-11-SP1-Branch/pkg-bindings/package/yast2-pkg-bindings.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/pkg-bindings/package/yast2-pkg-bindings.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/pkg-bindings/package/yast2-pkg-bindings.changes
(original)
+++
branches/SuSE-Code-11-SP1-Branch/pkg-bindings/package/yast2-pkg-bindings.changes
Fri Sep 25 08:21:48 2009
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Tue Jun 16 15:50:59 CEST 2009 - lslezak@xxxxxxx
+
+- Do not call RefreshStarted callback when refresh is not needed,
+ do not change "Abort" button label when not necessary
+ (bnc#504131)
+
+-------------------------------------------------------------------
Fri Jul 10 11:18:04 CEST 2009 - lslezak@xxxxxxx

- clean existing cache for added repositories, do not reuse

Modified: branches/SuSE-Code-11-SP1-Branch/pkg-bindings/src/Source_Load.cc
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/pkg-bindings/src/Source_Load.cc?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/pkg-bindings/src/Source_Load.cc (original)
+++ branches/SuSE-Code-11-SP1-Branch/pkg-bindings/src/Source_Load.cc Fri Sep 25
08:21:48 2009
@@ -285,6 +285,15 @@
}
}

+
+ zypp::RepoManager::RefreshCheckStatus ref_stat =
repomanager.checkIfToRefreshMetadata((*it)->repoInfo(),
*((*it)->repoInfo().baseUrlsBegin()));
+
+ if (ref_stat != zypp::RepoManager::REFRESH_NEEDED)
+ {
+ y2internal("Skipping repository '%s' - refresh is
not needed", (*it)->repoInfo().alias().c_str());
+ continue;
+ }
+
try
{
y2milestone("Autorefreshing source: %s",
(*it)->repoInfo().alias().c_str());

Modified: branches/SuSE-Code-11-SP1-Branch/printer/VERSION
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/printer/VERSION?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/printer/VERSION (original)
+++ branches/SuSE-Code-11-SP1-Branch/printer/VERSION Fri Sep 25 08:21:48 2009
@@ -1 +1 @@
-2.17.53
+2.17.61

Modified: branches/SuSE-Code-11-SP1-Branch/printer/package/yast2-printer.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/printer/package/yast2-printer.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/printer/package/yast2-printer.changes
(original)
+++ branches/SuSE-Code-11-SP1-Branch/printer/package/yast2-printer.changes Fri
Sep 25 08:21:48 2009
@@ -1,4 +1,79 @@
-------------------------------------------------------------------
+Tue May 19 15:41:17 CEST 2009 - mzugec@xxxxxxx
+
+- fixed: creating AY profile (bnc#504762)
+- 2.17.61
+
+-------------------------------------------------------------------
+Mon Mar 23 19:51:54 CET 2009 - mzugec@xxxxxxx
+
+- Fixed a few bugs in the "More Drivers" functionality.
+ In particular it works now always based on the current visible
+ search string and no longer on whatever obsure other stuff.
+- The DriverItems function in Printer.ycp searches the model name
+ now also in the 1284DeviceID entry in the PPDs because this entry
+ should contain the exact model name how it is autodetected
+ while the NickName entry (which is still searched) may contain
+ a different model name (e.g. what is labeled on the device).
+- 2.17.60
+
+-------------------------------------------------------------------
+Mon Mar 23 19:46:08 CET 2009 - mzugec@xxxxxxx
+
+- Added the functionality to basicadd.ycp and basicmodify.ycp to
+ set the default paper size directly when a driver is assigned
+ or when the currently used driver is replaced by another one.
+- 2.17.59
+
+-------------------------------------------------------------------
+Mon Mar 23 18:35:14 CET 2009 - mzugec@xxxxxxx
+
+- Fixed the "More Drivers" functionality in basicmodify.ycp
+ to show the current driver topmost in any case.
+- Enhanced help texts for basicadd.ycp and basicmodify.ycp
+ to describe driver related issues in much more detail.
+- Call Wizard::SetContents with empty content in basicadd.ycp
+ and basicmodify.ycp to avoid that initially the previous
+ dialog is shown until the real content is generated.
+- 2.17.58
+
+-------------------------------------------------------------------
+Mon Mar 23 18:33:04 CET 2009 - mzugec@xxxxxxx
+
+- Added a "More Drivers" functionality to basicadd.ycp and
+ basicmodify.ycp (see Novell/Suse Bugzilla bnc#468046).
+- Fixed the test whether there is a valid driver and a valid
+ connection before a queue is set up in printer_proposal.ycp.
+- 2.17.57
+
+-------------------------------------------------------------------
+Mon Mar 23 18:28:06 CET 2009 - mzugec@xxxxxxx
+
+- Removed Firewall Settings which were added in version 2.17.29
+ because it is not possible to implement it so that it works
+ reliable and correct (see Novell/Suse Bugzilla bnc#468426).
+ In particular it is not possible to test on the local host
+ if remote access via port 631 TCP/UDP would be allowed
+ (there is no replacement for "ipchains --check").
+ Added notification texts regarding firewall in the dialogs
+ and added explanatory help texts regarding firewall so that
+ users are informed what to do manually regarding firewall.
+
+- 2.17.56
+
+-------------------------------------------------------------------
+Mon Mar 23 18:22:53 CET 2009 - mzugec@xxxxxxx
+
+- AutoYaST : import
+- 2.17.55
+
+-------------------------------------------------------------------
+Mon Mar 23 18:18:03 CET 2009 - mzugec@xxxxxxx
+
+- AutoYaST support (bnc#464364) - export only
+- 2.17.54
+
+-------------------------------------------------------------------
Tue Feb 10 14:58:52 CET 2009 - mzugec@xxxxxxx

- enable cups autoconfig on 64-bit (bnc#464683)

Modified: branches/SuSE-Code-11-SP1-Branch/printer/src/Printer.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/printer/src/Printer.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/printer/src/Printer.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/printer/src/Printer.ycp Fri Sep 25
08:21:48 2009
@@ -39,7 +39,6 @@
import "Summary";
import "Popup";
import "Printerlib";
-import "SuSEFirewall";

/**
* Prototypes
@@ -109,6 +108,67 @@
global string lower_alnum_chars = number_chars + lower_chars;

/**
+ * Explicite listing of all known manufacturers in a standard installation
+ * which one gets as output from the command
+ * lpinfo -l -m | grep make-and-model | cut -s -d '=' -f 2 | cut -s -d ' ' -f
2 | sort -f -u
+ * and then a bit changing it (in particular removing duplicates and nonsense
entries).
+ * The current list was made on openSUSE 11.0.
+ */
+global list< string > known_manufacturers = [ "Generic",
+ "Alps",
+ "Anitech",
+ "Apollo",
+ "Apple",
+ "Brother",
+ "Canon",
+ "Citizen",
+ "CItoh",
+ "Compaq",
+ "DEC",
+ "Dell",
+ "Dymo",
+ "Epson",
+ "Fujifilm",
+ "Fujitsu",
+ "Gestetner",
+ "Heidelberg",
+ "Hitachi",
+ "HP",
+ "IBM",
+ "Infotec",
+ "Kodak",
+ "KS",
+ "Kyocera",
+ "Lanier",
+ "Lexmark",
+ "Minolta",
+ "Mitsubishi",
+ "NEC",
+ "NRG",
+ "Oce",
+ "Oki",
+ "Olivetti",
+ "Olympus",
+ "Panasonic",
+ "PCPI",
+ "QMS",
+ "Raven",
+ "Ricoh",
+ "Samsung",
+ "Savin",
+ "Seiko",
+ "Sharp",
+ "Shinko",
+ "Sony",
+ "Star",
+ "Tally",
+ "Tektronix",
+ "Toshiba",
+ "Xerox",
+ "Zebra"
+ ];
+
+/**
* PPD database:
* the database is created anew in Printer::CreateDatabase() which calls
* the bash script "/usr/lib/YaST2/bin/create_ppd_database"
@@ -219,32 +279,6 @@
*/
global list< map< string, any > > driver_options = [];

-/**
- * Firewall configuration:
- * Determined and set at runtime in the "Print via Network" and "Sharing"
dialogs
- * by calling Printer::FirewallConfig("read") and
Printer::FirewallConfig("write")
- * which calls SuSEFirewall functions to fill in the map @ref firewall_config
- * except "ui_browsing_from_int", "ui_access_from_int", and "ui_deny_from_ext"
- * which are the user settings in the dialog or change the SuSEFirewall
settings
- * according to "ui_browsing_from_int", "ui_access_from_int", and
"ui_deny_from_ext".
- * The entries are such that "true" is the default, reasonable and intended
setting.
- * In particular it is reasonable to deny CUPS Browsing packages (port 631
UDP) from the EXT zone
- * to avoid "print job phishing" by announcing local queue names from a
malicious external host,
- * see http://www.cups.org/newsgroups.php?gcups.general+T+Q"print+job+phishing";
- * @struct firewall_config
- * $[ "suse_firewall_used":"true if Suse Firewall and no other firewall is
used",
- * "firewall_active":"true if Suse Firewall is actually running",
- * "no_firewall_for_int":"true if Suse Firewall does not potect the INT
zone",
- * "browsing_from_int":"true if Suse Firewall does not deny CUPS Browsing
(port 631 UDP) from the INT zone",
- * "ui_browsing_from_int":"true if user has set in dialog not to deny CUPS
Browsing from the INT zone",
- * "access_from_int":"true if Suse Firewall does not deny CUPS access (port
631 TCP) from the INT zone",
- * "ui_access_from_int":"true if user has set in dialog not to deny CUPS
access from the INT zone",
- * "deny_from_ext":"true if any CUPS access (port 631 UDP and TCP) is
denied from the EXT zone",
- * "ui_deny_from_ext":"true if user has set in dialog to deny any CUPS
access from the EXT zone"
- * ]
- */
-global map< string, boolean > firewall_config = $[];
-
/*
* Local variables:
*/
@@ -1249,9 +1283,17 @@
}
else
{ // If the driver_filter_string is a non-empty string,
- // test whether the nickname matches to the
driver_filter_string:
- string unified_nickname = filterchars( tolower( nickname ),
lower_alnum_chars );
- if( regexpmatch( unified_nickname, driver_filter_string ) )
+ // test whether nickname or deviceID matches to the
driver_filter_string.
+ // Only the special character '+' is also taken into account
because
+ // this is sometimes also a meaningful character in the model
name
+ // for example the '+' at the end of a Kyocera model name
+ // indicates that this model has a built-in PostScript
interpreter
+ // while the model without the '+' understands only PCL.
+ string unified_nickname = filterchars( tolower( nickname ),
lower_alnum_chars + "+" );
+ string unified_deviceID = filterchars( tolower( deviceID ),
lower_alnum_chars + "+" );
+ if( regexpmatch( unified_nickname, driver_filter_string )
+ || regexpmatch( unified_deviceID, driver_filter_string )
+ )
{ driver_items = add( driver_items, `item( `id( ppds_index ),
driver_string ) );
}
}
@@ -1260,8 +1302,8 @@
);
if( size( driver_items ) == 0 )
{ // If the driver_items list is empty (e.g. because of a too restrictive
driver_filter_string),
- // show a meaningful text as fallback entry.
- driver_string = _("No matching driver found.");
+ // show a meaningful text as fallback entry ('More Drivers' is a button
label).
+ driver_string = _("No matching driver found. Change the search string or
try 'More Drivers'.");
driver_items = [ `item( `id( -1 ), driver_string ) ];
// Invalidate selected_ppds_index to be on the safe side.
// Otherwise it is possible to set up a queue with a previously selected
driver
@@ -1643,7 +1685,7 @@
* Add new queue or overwrite existing queue
* @return true on success
*/
-global boolean AddQueue( string queue_name )
+global boolean AddQueue( string queue_name, string default_paper_size )
{ // Delete ' characters because they are used for quoting in the bash
commandline below:
queue_name = deletechars( queue_name, "'" );
string uri = deletechars( connections[selected_connections_index,"uri"]:"",
"'" );
@@ -1686,6 +1728,25 @@
Printerlib::ExecuteBashCommand( "/usr/sbin/lpadmin -h localhost -x '" +
queue_name + "'" );
return false;
}
+ // Try to set the requested default_paper_size if it is an available choice
for this queue.
+ // If no default_paper_size is requested, the CUPS default is used.
+ // For the CUPS 1.3 default see http://www.cups.org/str.php?L2846
+ // For CUPS 1.4 the default depends on the "DefaultPaperSize" setting in
cupsd.conf
+ // see https://bugzilla.novell.com/show_bug.cgi?id=395760
+ // and http://www.cups.org/str.php?L2848
+ if( "" != default_paper_size )
+ { // The following command fails intentionally if the queue has no PPD file
- i.e. when it is a "raw" queue
+ // (a queue with a "System V style interface script" cannot be set up with
YaST).
+ // '\>' is used to find an available choice also when it is the last value
on the line.
+ // Note the YCP quoting: \\< becomes \< and \\> becomes \> in the
commandline.
+ commandline = "lpoptions -h localhost -p '" + queue_name + "' -l | grep
'^PageSize.*\\<" + default_paper_size + "\\>'";
+ if( Printerlib::ExecuteBashCommand( commandline ) )
+ { commandline = "/usr/sbin/lpadmin -h localhost -p '" + queue_name + "' -o
'PageSize=" + default_paper_size + "'";
+ // Do not care if it fails to set the default_paper_size (i.e. show no
error message to the user)
+ // because the default_paper_size setting is nice to have but not
mandatoty for a working queue:
+ Printerlib::ExecuteBashCommand( commandline );
+ }
+ }
return true;
}

@@ -1865,205 +1926,14 @@
}

/**
- * Determined and set at runtime in the "Print via Network" and "Sharing"
dialogs
- * by calling Printer::FirewallConfig("read") and
Printer::FirewallConfig("write")
- * @param "read" to fill in the firewall_config map
- * "write" change the SuSEFirewall settings according to the
firewall_config map
- * @return true on success
- */
-global boolean FirewallConfig( string action )
-{ if( "read" == action )
- { // SuSEFirewall::Read shows a Progress.
- // Save previous Progress state and disable showing Progress:
- boolean progress_previous_state = Progress::set( false );
- if( ! SuSEFirewall::Read() )
- { // If firewall_config is the empty map, the user
- // cannot change a firewall setting in the "Print via Network" and
"Sharing" dialogs
- // so that noting will be committed regarding the Suse Firewall.
- y2milestone( "SuSEFirewall::Read failed." );
- firewall_config = $[];
- // Restore previous Progress state:
- Progress::set( progress_previous_state );
- return true;
- }
- // Restore previous Progress state:
- Progress::set( progress_previous_state );
- // Preset the firewall_config map with the defaults after a default system
installation
- // to have a reasonable fallback if the actual values cannot be determined:
- firewall_config = $[ "suse_firewall_used":true,
- "firewall_active":true,
- "no_firewall_for_int":true,
- "browsing_from_int":true,
- "ui_browsing_from_int":true,
- "access_from_int":true,
- "ui_access_from_int":true,
- "deny_from_ext":true,
- "ui_deny_from_ext":true
- ];
- // Determine whether the Suse Firewall is used:
- if( SuSEFirewall::IsOtherFirewallRunning() )
- { // If not the Suse Firewall is used, the dialogs will not show
- // any firewall settings and therefore the user cannot change them.
- firewall_config["suse_firewall_used"] = false;
- y2milestone( "Not the Suse Firewall is used, i.e. another firewall is
running." );
- return true;
- }
- // Determine whether the Suse Firewall is active:
- if( ! SuSEFirewall::IsStarted()
- || ! SuSEFirewall::GetStartService()
- )
- { // If the Suse Firewall is not active, the dialogs will not show
- // any firewall settings because it is useless and confusing
- // to let the user change firewall settings
- // when the user had decided to have no firewall currently running
- // or if the firewall would not be started in SuSEFirewall::Write()
- firewall_config["firewall_active"] = false;
- y2milestone( "The Suse Firewall is not active or would not be started in
SuSEFirewall::Write." );
- return true;
- }
- // Determine the actual settings regarding IPP (port 631 UDB and TCP)
- // and preset the user interface settings with the actual settings:
- if( SuSEFirewall::GetProtectFromInternalZone() )
- { firewall_config["no_firewall_for_int"] = false;
- if( ! SuSEFirewall::HaveService( "631", "UDP", "INT" ) )
- { firewall_config["browsing_from_int"] = false;
- firewall_config["ui_browsing_from_int"] = false;
- }
- if( ! SuSEFirewall::HaveService( "631", "TCP", "INT" ) )
- { firewall_config["access_from_int"] = false;
- firewall_config["ui_access_from_int"] = false;
- }
- }
- if( SuSEFirewall::HaveService( "631", "TCP", "EXT" )
- || SuSEFirewall::HaveService( "631", "UDP", "EXT" )
- )
- { firewall_config["deny_from_ext"] = false;
- firewall_config["ui_deny_from_ext"] = false;
- }
- y2milestone( "FirewallConfig read result: %1", firewall_config );
- }
- if( "write" == action )
- { y2milestone( "FirewallConfig write using: %1", firewall_config );
- // If the Suse Firewall is used and
- // if the Suse Firewall is active and
- // if firewall settings have been changed by the user,
- // then set and commit the new firewall settings.
- // Use safe fallback values (i.e. deny access as fallback).
- // Those fallback values makes the code look confusing
- // for example in conditions like if(firewall_config["..."]:false)
- // because the actual value is often the opposite of the fallback value.
- if( firewall_config["suse_firewall_used"]:false
- && firewall_config["firewall_active"]:false
- && ( firewall_config["ui_browsing_from_int"]:false !=
firewall_config["browsing_from_int"]:true
- || firewall_config["ui_access_from_int"]:false !=
firewall_config["access_from_int"]:true
- || firewall_config["ui_deny_from_ext"]:false !=
firewall_config["deny_from_ext"]:true
- )
- )
- { // Set new firewall settings in SuSEFirewall:
- boolean write_firewall_settings_failed = false;
- y2milestone( "FirewallConfig commit new firewall config: %1",
firewall_config );
- if( firewall_config["ui_browsing_from_int"]:false !=
firewall_config["browsing_from_int"]:true )
- { if( firewall_config["ui_browsing_from_int"]:false )
- { // The user has set in dialog not to deny CUPS Browsing from the INT
zone:
- if( ! firewall_config["no_firewall_for_int"]:true )
- { // The Suse Firewall does potect the INT zone:
- if( ! SuSEFirewall::AddService( "631", "UDP", "INT" ) )
- { y2milestone( "FirewallConfig:
SuSEFirewall::AddService(631,UDP,INT) failed." );
- write_firewall_settings_failed = true;
- }
- }
- }
- else
- { // The user has set in dialog to deny CUPS Browsing from the INT
zone:
- if( ! firewall_config["no_firewall_for_int"]:true )
- { // The Suse Firewall does potect the INT zone:
- if( ! SuSEFirewall::RemoveService( "631", "UDP", "INT" ) )
- { y2milestone( "FirewallConfig:
SuSEFirewall::RemoveService(631,UDP,INT) failed." );
- write_firewall_settings_failed = true;
- }
- }
- else
- { // The Suse Firewall does not potect the INT zone:
- y2milestone( "FirewallConfig: Cannot deny CUPS Browsing from the
INT zone because the Suse Firewall does not potect the INT zone." );
- write_firewall_settings_failed = true;
- }
- }
- }
- if( firewall_config["ui_access_from_int"]:false !=
firewall_config["access_from_int"]:true )
- { if( firewall_config["ui_access_from_int"]:false )
- { // The user has set in dialog not to deny CUPS access from the INT
zone:
- if( ! firewall_config["no_firewall_for_int"]:true )
- { // The Suse Firewall does potect the INT zone:
- if( ! SuSEFirewall::AddService( "631", "TCP", "INT" ) )
- { y2milestone( "FirewallConfig:
SuSEFirewall::AddService(631,TCP,INT) failed." );
- write_firewall_settings_failed = true;
- }
- }
- }
- else
- { // The user has set in dialog to deny CUPS access from the INT zone:
- if( ! firewall_config["no_firewall_for_int"]:true )
- { // The Suse Firewall does potect the INT zone:
- if( ! SuSEFirewall::RemoveService( "631", "TCP", "INT" ) )
- { y2milestone( "FirewallConfig:
SuSEFirewall::RemoveService(631,TCP,INT) failed." );
- write_firewall_settings_failed = true;
- }
- }
- else
- { // The Suse Firewall does not potect the INT zone:
- y2milestone( "FirewallConfig: Cannot deny CUPS access from the INT
zone because the Suse Firewall does not potect the INT zone." );
- write_firewall_settings_failed = true;
- }
- }
- }
- if( firewall_config["ui_deny_from_ext"]:false !=
firewall_config["deny_from_ext"]:true )
- { if( firewall_config["ui_deny_from_ext"]:false )
- { // The user has set in dialog to deny any CUPS access from the EXT
zone:
- if( ! SuSEFirewall::RemoveService( "631", "TCP", "EXT" ) )
- { y2milestone( "FirewallConfig:
SuSEFirewall::RemoveService(631,TCP,EXT) failed." );
- write_firewall_settings_failed = true;
- }
- if( ! SuSEFirewall::RemoveService( "631", "UDP", "EXT" ) )
- { y2milestone( "FirewallConfig:
SuSEFirewall::RemoveService(631,UDP,EXT) failed." );
- write_firewall_settings_failed = true;
- }
- }
- else
- { // The user has set in dialog not to deny deny any CUPS access from
the EXT zone:
- y2milestone( "FirewallConfig: Ignored to allow CUPS access from the
EXT zone because it is insecure." );
- write_firewall_settings_failed = true;
- }
- }
- // Commit the new firewall settings:
- // SuSEFirewall::Write shows a Progress.
- // Save previous Progress state and disable showing Progress:
- boolean progress_previous_state = Progress::set( false );
- if( ! SuSEFirewall::Write() )
- { y2milestone( "FirewallConfig: SuSEFirewall::Write failed to commit
firewall settings." );
- write_firewall_settings_failed = true;
- }
- // Restore previous Progress state:
- Progress::set( progress_previous_state );
- if( write_firewall_settings_failed )
- { Popup::Error( // Message of a Popup::Error.
- // Only a simple message because this error does not
happen on a normal system.
- _("Failed to set up the firewall settings.\nUse the
specific YaST Firewall module.")
- );
- return false;
- }
- }
- }
- return true;
-}
-
-/**
* Get all printer 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)...
+ Printerlib::WriteClientSettings(settings["cups_remote_server"]:$[]);
+ Printerlib::WriteCupsSettings(settings["server_settings"]:$[]);
return true;
}

@@ -2073,8 +1943,17 @@
* @return map Dumped settings (later acceptable by Import ())
*/
global map Export () {
- // TODO FIXME: your code here (return the above mentioned variables)...
- return $[];
+ Printerlib::DetermineClientOnly();
+ Printer::AutodetectQueues();
+ list <map> p_queues = filter(map queue, Printer::queues, { return
(queue["config"]:""=="local"); });
+ map exp = $[
+// "queues" : p_queues,
+// "filters" : Printerlib::ExportFilters( p_queues ),
+ "server_settings" : (map)SCR::Read(.cups.server),
+ "cups_remote_server" : (map)SCR::Read(.cups.client)
+ ];
+//y2internal("export %1", exp);
+ return exp;
}

/**

Modified: branches/SuSE-Code-11-SP1-Branch/printer/src/Printerlib.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/printer/src/Printerlib.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/printer/src/Printerlib.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/printer/src/Printerlib.ycp Fri Sep 25
08:21:48 2009
@@ -36,7 +36,7 @@
import "Package";
import "Popup";
import "Service";
-
+import "Map";
// Fortunately the tools are for all architectures always
// installed in /usr/lib/YaST2/bin/ (i.e. no "lib64").
// I tested this on Thu Aug 28 2008 using the command
@@ -510,5 +510,21 @@
return true;
}

+global boolean WriteCupsSettings(map ay){
+ string cups_file="/etc/cups/cupsd.conf";
+ y2milestone("Create backup of %1 file:%2", cups_file,
SCR::Execute(.target.bash, sformat("mv %1 %1.$(date -I)", cups_file)));
+ SCR::Write(.cups.server, ay);
+ return true;
+}
+
+
+global boolean WriteClientSettings(map ay){
+ string cups_file="/etc/cups/client.conf";
+ y2milestone("Create backup of %1 file:%2", cups_file,
SCR::Execute(.target.bash, sformat("mv %1 %1.$(date -I)", cups_file)));
+ SCR::Write(.cups.client, ay);
+ return true;
+}
+
+
}


Modified: branches/SuSE-Code-11-SP1-Branch/printer/src/basicadd.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/printer/src/basicadd.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/printer/src/basicadd.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/printer/src/basicadd.ycp Fri Sep 25
08:21:48 2009
@@ -47,6 +47,16 @@
{ y2milestone( "entering BasicAddDialog" );
// Caption for the "Add Printer" dialog (BasicAddDialog):
string caption = _("Add New Printer Configuration");
+ // Clear whatever content of a previous dialog which would show up here for
several seconds
+ // until all the following stuff is done before Wizard::SetContentsButtons
is called
+ // which finally shows the right content for this dialog.
+ Wizard::SetContents( caption,
+ `Empty(),
+ HELPS["basic_add_dialog"]:"",
+ false,
+ false
+ );
+ Wizard::HideAbortButton();
string driver_filter_string = "BasicAddDialog";
string driver_filter_input_text = "";
string queue_name_proposal = "";
@@ -110,39 +120,47 @@
),
`VStretch(),
`VBox
- ( `HBox
- ( `ReplacePoint
+ ( `Left
+ ( `Label
+ ( // Caption for a printer driver selection:
+ _("Assign Driver")
+ )
+ ),
+ `HBox
+ ( `PushButton
+ ( `id(`apply_driver_filter),
+ // This button must be the default
+ // (it is activated when the user pressed the Enter
key)
+ // because when the user has clicked into TextEntry
to enter something
+ // it is normal to finish entering by pressing the
Enter key
+ // but if the Enter key was linked to 'Next' or
'Back',
+ // the user would get the wrong action.
+ `opt(`default),
+ // Label of a PushButton to search a list for a
search string
+ // and then show the search result:
+ _("&Search")
+ ),
+ `ReplacePoint
( `id(`driver_filter_input_replace_point),
`InputField
- ( `id(`driver_filter_input), `opt(`hstretch),
- // Caption for a printer driver selection:
- _("Search for &Drivers"),
+ ( `id(`driver_filter_input),
+ `opt(`hstretch),
+ // No InputField header because there is the
"Caption for a printer driver selection":
+ "",
driver_filter_input_text
)
),
- `VBox
- ( `Label(""),
- `HBox
- ( `PushButton
- ( `id(`apply_driver_filter),
- // This button must be the default
- // (it is activated when the user pressed the
Enter key)
- // because when the user has clicked into
TextEntry to enter something
- // it is normal to finish entering by pressing
the Enter key
- // but if the Enter key was linked to 'Next' or
'Back',
- // the user would get the wrong action.
- `opt(`default),
- // Label of a PushButton to search a list for a
search string
- // and then show the search result:
- _("&Show Matching Drivers")
- ),
- `PushButton
- ( `id(`add_driver),
- // Label of a PushButton to go to the "Add
Driver" dialog
- // to install a new driver (and perhaps download
it before):
- _("&Add Driver")
- )
- )
+ `HStretch(),
+ `PushButton
+ ( `id(`more_drivers),
+ // Label of a PushButton to show more available
printer drivers:
+ _("More &Drivers")
+ ),
+ `PushButton
+ ( `id(`add_driver),
+ // Label of a PushButton to go to the "Add Driver"
dialog
+ // to install a new driver (and perhaps download it
before):
+ _("&Add Driver")
)
),
`ReplacePoint
@@ -157,20 +175,39 @@
"",
[ `item( `id( -1 ), _("Select a driver.") ) ]
)
+ ),
+ `RadioButtonGroup
+ ( `id(`paper_size_radio_buttons),
+ `HBox
+ ( `Label
+ ( // Label of a RadioButtonGroup to specify the
default paper size:
+ _("Default paper size (if printer and driver
supports it)")
+ ),
+ // Have none of the RadioButtons preselected which
means that
+ // by default the CUPS default is used for the
default paper size.
+ // For the CUPS 1.3 default see
http://www.cups.org/str.php?L2846
+ // For CUPS 1.4 the default depends on the
"DefaultPaperSize" setting in cupsd.conf
+ // see
https://bugzilla.novell.com/show_bug.cgi?id=395760
+ // and http://www.cups.org/str.php?L2848
+ `HSpacing( 2 ),
+ `RadioButton( `id(`a4), "A&4" ),
+ `HSpacing( 1 ),
+ `RadioButton( `id(`letter), "Le&tter" ),
+ `HStretch()
+ )
)
),
`VStretch(),
- `HBox
+ `Left
( `ReplacePoint
( `id(`queue_name_input_replace_point),
- `TextEntry
+ `InputField
( `id(`queue_name_input),
// Header of a TextEntry to enter the queue name:
_("Set &Name"),
queue_name_proposal
)
- ),
- `HStretch()
+ )
)
);
// According to
http://en.opensuse.org/YaST/Style_Guide#Single_Configuration.2FOverview.2FEdit_Dialog
@@ -259,10 +296,18 @@
}
queue_name = validated_queue_name;
}
+ string default_paper_size = "";
+ any paper_size = UI::QueryWidget( `id(`paper_size_radio_buttons),
`CurrentButton );
+ if( `a4 == paper_size )
+ { default_paper_size = "A4";
+ }
+ if( `letter == paper_size )
+ { default_paper_size = "Letter";
+ }
Wizard::DisableBackButton();
Wizard::DisableNextButton();
// No error messages here because Printer::AddQueue already shows them:
- Printer::AddQueue( queue_name );
+ Printer::AddQueue( queue_name, default_paper_size );
// After a local queue was added, enforce to show also local queues
// in particular when no local queues were shown before:
Printer::queue_filter_show_local = true;
@@ -333,10 +378,20 @@
{ queue_name_proposal = Printer::NewQueueName( tolower( model ) );
driver_filter_input_text = model;
driver_filter_string = filterchars( tolower( model ),
Printer::lower_alnum_chars );
- // Match at the beginning also if the connection is from the
connection wizard
- // because here the model is only the manufacturer name (or "Generic"
or "Raw Queue")
- // so that match at the beginning is exactly right for connections
from the connection wizard:
- driver_filter_string = "^" + driver_filter_string;
+ // The first word in the driver_filter_string is usually the first
word of the manufacturer name.
+ // This fuzzy match is intended so that e.g. "Kyocera" and "Kyocera
Mita" result the same.
+ string manufacturer = splitstring( driver_filter_string, " " )[0]:"";
+ // Match at the beginning only if the first word in the
driver_filter_string
+ // is actually a known manufacturer name
+ // (there is only "Kyocera" but not "Kyocera Mita" in the
known_manufacturers list).
+ foreach( string known_manufacturer,
+ Printer::known_manufacturers,
+ { if( manufacturer == tolower( known_manufacturer ) )
+ { driver_filter_string = "^" + driver_filter_string;
+ break;
+ }
+ }
+ );
}
if( "" == driver_filter_string )
{ // Set a fallback driver_filter_string which does not match to anything
@@ -348,8 +403,8 @@
UI::ReplaceWidget( `id(`driver_filter_input_replace_point),
`InputField
( `id(`driver_filter_input), `opt(`hstretch),
- // Caption for a printer driver selection:
- _("Search for &Drivers"),
+ // No InputField header because there is the
"Caption for a printer driver selection":
+ "",
driver_filter_input_text
)
);
@@ -365,11 +420,12 @@
)
);
UI::ReplaceWidget( `id(`queue_name_input_replace_point),
- `TextEntry( `id(`queue_name_input),
- // Header of a TextEntry to enter the
queue name:
- _("Set &Name"),
- queue_name_proposal
- )
+ `InputField
+ ( `id(`queue_name_input),
+ // Header of a TextEntry to enter the queue name:
+ _("Set &Name"),
+ queue_name_proposal
+ )
);
continue;
}
@@ -400,8 +456,8 @@
UI::ReplaceWidget( `id(`driver_filter_input_replace_point),
`InputField
( `id(`driver_filter_input), `opt(`hstretch),
- // Caption for a printer driver selection:
- _("Search for &Drivers"),
+ // No InputField header because there is the
"Caption for a printer driver selection":
+ "",
driver_filter_input_text
)
);
@@ -418,6 +474,154 @@
);
continue;
}
+ if( ret == `more_drivers )
+ { driver_filter_string = "";
+ boolean valid_driver_found = false;
+ list driver_items = [];
+ // Use the existing value of driver_filter_input_text
+ // which is by default set to the autodetected model name
+ // but it could be any string which was entered before by the user.
+ // The "more drivers" functionality must work based on the current
search string
+ // and when nothing is found based on the current search string
+ // it falls back to show all drivers so that there is a valid result in
any case.
+ driver_filter_input_text = (string)UI::QueryWidget(
`id(`driver_filter_input), `Value );
+ y2milestone( "More drivers for '%1'", driver_filter_input_text );
+ if( "" != driver_filter_input_text
+ && "unknown" != tolower( driver_filter_input_text )
+ )
+ { // If the driver_filter_input_text string does not contain a space,
+ // words is a singleton list which contains only one word.
+ list <string> words = splitstring( driver_filter_input_text, " " );
+ if( size( words ) >= 1 )
+ { // Even if it is only one word, the following makes sense
+ // because the one word could already be the model_number_word.
+ // Try to find the word which contains a model number.
+ // This is usually the first word which contains a number.
+ string model_number_word = "";
+ foreach( string word,
+ words,
+ { if( "" != filterchars( word, Printer::number_chars ) )
+ { model_number_word = word;
+ break;
+ }
+ }
+ );
+ // Provide visible feeback what is going on:
+ UI::ReplaceWidget( `id(`driver_filter_input_replace_point),
+ `InputField
+ ( `id(`driver_filter_input),
+ `opt(`hstretch),
+ // No InputField header because there is the
"Caption for a printer driver selection":
+ "",
+ model_number_word
+ )
+ );
+ driver_filter_string = filterchars( tolower( model_number_word ),
Printer::lower_alnum_chars );
+ if( "" != driver_filter_string )
+ { driver_items = Printer::DriverItems( driver_filter_string, true );
+ // Printer::DriverItems may result a driver_items list with one
single element
+ // [ `item( `id( -1 ), _("No matching driver found.") ) ]
+ // to show at least a meaningful text as fallback entry to the user
+ // or Printer::DriverItems may result a driver_items list with the
first item
+ // [ `item( `id( -1 ), _("Select a driver.") ), ... ]
+ // when Printer::DriverItems could not preselect a driver item.
+ // If a valid driver was found (but perhaps none was preselected),
+ // there would be a non-negative id value of the first or second
element
+ // which is driver_items[0,0,0] or driver_items[1,0,0]
+ // (id[0] is the value of the id, see the comment in
Printer::DriverItems).
+ if( driver_items[0,0,0]:-1 >= 0
+ || driver_items[1,0,0]:-1 >= 0
+ )
+ { valid_driver_found = true;
+ }
+ }
+ }
+ // Try to use the manufacturer when nothing was found above:
+ if( ! valid_driver_found )
+ { driver_filter_string = "";
+ // The first word in the driver_filter_input_text is usually the
first word of the manufacturer name.
+ // This fuzzy match is intended so that e.g. "Kyocera" and "Kyocera
Mita" are the same.
+ string manufacturer = splitstring( driver_filter_input_text, " "
)[0]:"";
+ if( "" != manufacturer )
+ { // Even more fuzziness for very ambiguous manufacturer names:
+ if( "hewlett" == substring( tolower( driver_filter_input_text ),
0, 7 ) )
+ { // Let "Hewlett-Packard", "Hewlett Packard", and "HP be the same:
+ manufacturer = "HP";
+ }
+ if( "oki" == substring( tolower( driver_filter_input_text ), 0, 3
) )
+ { // Let "Oki", "Okidata", and "Okipage" be the same:
+ manufacturer = "Oki";
+ }
+ // Provide visible feeback what is going on:
+ UI::ReplaceWidget( `id(`driver_filter_input_replace_point),
+ `InputField
+ ( `id(`driver_filter_input),
+ `opt(`hstretch),
+ // No InputField header because there is the
"Caption for a printer driver selection":
+ "",
+ manufacturer
+ )
+ );
+ driver_filter_string = filterchars( tolower( manufacturer ),
Printer::lower_alnum_chars );
+ if( "" != driver_filter_string )
+ { // Match at the beginning only if the driver_filter_string is
actually a known manufacturer:
+ foreach( string known_manufacturer,
+ Printer::known_manufacturers,
+ { if( driver_filter_string == tolower(
known_manufacturer ) )
+ { driver_filter_string = "^" + driver_filter_string;
+ break;
+ }
+ }
+ );
+ driver_items = Printer::DriverItems( driver_filter_string, true
);
+ // Printer::DriverItems may result a driver_items list with one
single element
+ // [ `item( `id( -1 ), _("No matching driver found.") ) ]
+ // to show at least a meaningful text as fallback entry to the
user
+ // or Printer::DriverItems may result a driver_items list with
the first item
+ // [ `item( `id( -1 ), _("Select a driver.") ), ... ]
+ // when Printer::DriverItems could not preselect a driver item.
+ // If a valid driver was found (but perhaps none was
preselected),
+ // there would be a non-negative id value of the first or second
element
+ // which is driver_items[0,0,0] or driver_items[1,0,0]
+ // (id[0] is the value of the id, see the comment in
Printer::DriverItems).
+ if( driver_items[0,0,0]:-1 >= 0
+ || driver_items[1,0,0]:-1 >= 0
+ )
+ { valid_driver_found = true;
+ }
+ }
+ }
+ }
+ }
+ // Nothing was found above.
+ // Fall back to show all drivers:
+ if( ! valid_driver_found )
+ { // Provide visible feeback what is going on:
+ UI::ReplaceWidget( `id(`driver_filter_input_replace_point),
+ `InputField
+ ( `id(`driver_filter_input),
+ `opt(`hstretch),
+ // No InputField header because there is the
"Caption for a printer driver selection":
+ "",
+ _("any model")
+ )
+ );
+ driver_items = Printer::DriverItems( "", true );
+ }
+ UI::ReplaceWidget( `id(`driver_selection_replace_point),
+ `SelectionBox
+ ( `id(`driver_selection),
+ // By default there is no UserInput()
+ // if only something was selected in the
SelectionBox
+ // (without clicking additionally a button)
+ // but the notify option forces UserInput() in this
case:
+ `opt(`notify),
+ "",
+ driver_items
+ )
+ );
+ continue;
+ }
y2milestone( "Ignoring unexpected returncode in BasicAddDialog: %1", ret );
continue;
}

Modified: branches/SuSE-Code-11-SP1-Branch/printer/src/basicmodify.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/printer/src/basicmodify.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/printer/src/basicmodify.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/printer/src/basicmodify.ycp Fri Sep 25
08:21:48 2009
@@ -66,6 +66,16 @@
// Title of the Basic Modify Dialog where %1 will be replaced by the queue
name.
// The actual queue name is a system value which cannot be translated:
string caption = sformat( _("Modify %1") , name );
+ // Clear whatever content of a previous dialog which would show up here for
several seconds
+ // until all the following stuff is done before Wizard::SetContentsButtons
is called
+ // which finally shows the right content for this dialog.
+ Wizard::SetContents( caption,
+ `Empty(),
+ HELPS["basic_modify_dialog"]:"",
+ false,
+ false
+ );
+ Wizard::HideAbortButton();
string model = "";
list <string> description_words = splitstring( description, " " );
if( size( description_words ) > 2 )
@@ -208,6 +218,29 @@
}
}
}
+ // If the currently used driver is replaced by another driver,
+ // show the same content as in the BasicAddDialog to set the default paper
size:
+ term new_driver_paper_choice_content = `RadioButtonGroup
+ ( `id(`paper_size_radio_buttons),
+ `HBox
+ ( `Label
+ ( // Label of a RadioButtonGroup
to specify the default paper size:
+ _("Default paper size (if
printer and driver supports it)")
+ ),
+ // Have none of the RadioButtons
preselected which means that
+ // by default the CUPS default is
used for the default paper size.
+ // For the CUPS 1.3 default see
http://www.cups.org/str.php?L2846
+ // For CUPS 1.4 the default
depends on the "DefaultPaperSize"
+ // setting in cupsd.conf
+ // see
https://bugzilla.novell.com/show_bug.cgi?id=395760
+ // and
http://www.cups.org/str.php?L2848
+ `HSpacing( 2 ),
+ `RadioButton( `id(`a4), "A&4" ),
+ `HSpacing( 1 ),
+ `RadioButton( `id(`letter),
"Le&tter" ),
+ `HStretch()
+ )
+ );
// Usually the id in the connection items is the matching index number in
the connections list.
// Here the id of the current connection is set to -1 because the uri of the
current connection
// is derived from the queues list and this uri may be not present in the
connections list
@@ -293,39 +326,10 @@
),
`VStretch(),
`VBox
- ( `HBox
- ( `ReplacePoint
- ( `id(`driver_filter_input_replace_point),
- `InputField
- ( `id(`driver_filter_input), `opt(`hstretch),
- // Caption for a printer driver selection:
- _("Search for &Drivers"),
- driver_filter_input_text
- )
- ),
- `VBox
- ( `Label(""),
- `HBox
- ( `PushButton
- ( `id(`apply_driver_filter),
- // This button must be the default
- // (it is activated when the user pressed the
Enter key)
- // because when the user has clicked into
TextEntry to enter something
- // it is normal to finish entering by pressing
the Enter key
- // but if the Enter key was linked to 'Next' or
'Back',
- // the user would get the wrong action.
- `opt(`default),
- // Label of a PushButton to search a list for a
search string
- // and then show the search result:
- _("&Show Matching Drivers")
- ),
- `PushButton
- ( `id(`add_driver),
- // Label of a PushButton to go to the "Add
Driver" dialog
- // to install a new driver (and perhaps download
it before):
- _("&Add Driver")
- )
- )
+ ( `Left
+ ( `Label
+ ( // Caption for a printer driver selection:
+ _("Adjust Options of the Current Driver or Assign a
Different Driver")
)
),
`ReplacePoint
@@ -335,6 +339,43 @@
`Left( driver_options_content )
)
),
+ `HBox
+ ( `PushButton
+ ( `id(`apply_driver_filter),
+ // This button must be the default
+ // (it is activated when the user pressed the Enter
key)
+ // because when the user has clicked into TextEntry
to enter something
+ // it is normal to finish entering by pressing the
Enter key
+ // but if the Enter key was linked to 'Next' or
'Back',
+ // the user would get the wrong action.
+ `opt(`default),
+ // Label of a PushButton to search a list for a
search string
+ // and then show the search result:
+ _("&Search")
+ ),
+ `ReplacePoint
+ ( `id(`driver_filter_input_replace_point),
+ `InputField
+ ( `id(`driver_filter_input),
+ `opt(`hstretch),
+ // No InputField header because there is the
"Caption for a printer driver selection":
+ "",
+ driver_filter_input_text
+ )
+ ),
+ `HStretch(),
+ `PushButton
+ ( `id(`more_drivers),
+ // Label of a PushButton to show more available
printer drivers:
+ _("More &Drivers")
+ ),
+ `PushButton
+ ( `id(`add_driver),
+ // Label of a PushButton to go to the "Add Driver"
dialog
+ // to install a new driver (and perhaps download it
before):
+ _("&Add Driver")
+ )
+ ),
`ReplacePoint
( `id(`driver_selection_replace_point),
`SelectionBox
@@ -419,6 +460,7 @@
if( ret == `next )
{ commandline = "/usr/sbin/lpadmin -h localhost -p '" + name + "'";
boolean something_has_changed = false;
+ boolean set_paper_size_later = false;
integer selected_connection_index = (integer)UI::QueryWidget(
`id(`connection_selection), `CurrentItem );
if( selected_connection_index >= 0 )
{ uri = Printer::connections[selected_connection_index,"uri"]:"";
@@ -433,10 +475,13 @@
if( "" != ppd )
{ commandline = commandline + " -m '" + ppd + "'";
something_has_changed = true;
+ // The paper size for a new driver will be only set
+ // after the new driver was actually successfully set:
+ set_paper_size_later = true;
}
}
- if( -1 == selected_ppd_index )
- { // The default paper size can be only set for the currently used
driver.
+ else
+ { // The default paper size is only set in the same command for the
currently used driver.
// Depending on the currently used driver no paper size selection
might exists
// in particular not for a 'raw' queue or when a 'System V style
interface script' is used:
if( UI::WidgetExists( `id(`paper_size_radio_buttons) ) )
@@ -522,6 +567,44 @@
Printerlib::result["stderr"]:""
);
}
+ else
+ { // Set the default paper size for a new driver only
+ // after a new driver was actually successfully set.
+ if( set_paper_size_later )
+ { // Depending on the previously used driver no paper size selection
might exists
+ // in particular not for a 'raw' queue or when a 'System V style
interface script' is used.
+ // When a driver is set for a 'raw' queue or for a queue with a
'System V style interface script',
+ // it is therefore not possible to set the default paper size for
the new driver now
+ // so that the user would have to run the modify dialog again to
do this.
+ if( UI::WidgetExists( `id(`paper_size_radio_buttons) ) )
+ { default_paper_size = "";
+ any paper_size = UI::QueryWidget(
`id(`paper_size_radio_buttons), `CurrentButton );
+ if( `a4 == paper_size )
+ { default_paper_size = "A4";
+ }
+ if( `letter == paper_size )
+ { default_paper_size = "Letter";
+ }
+ // Try to set the requested default_paper_size if it is an
available choice for this queue.
+ // If no default_paper_size is requested, the CUPS default is
used.
+ // For the CUPS 1.3 default see http://www.cups.org/str.php?L2846
+ // For CUPS 1.4 the default depends on the "DefaultPaperSize"
setting in cupsd.conf
+ // see https://bugzilla.novell.com/show_bug.cgi?id=395760
+ // and http://www.cups.org/str.php?L2848
+ if( "" != default_paper_size )
+ { // '\>' is used to find an available choice also when it is
the last value on the line.
+ // Note the YCP quoting: \\< becomes \< and \\> becomes \> in
the commandline.
+ commandline = "lpoptions -h localhost -p '" + name + "' -l |
grep '^PageSize.*\\<" + default_paper_size + "\\>'";
+ if( Printerlib::ExecuteBashCommand( commandline ) )
+ { commandline = "/usr/sbin/lpadmin -h localhost -p '" + name +
"' -o 'PageSize=" + default_paper_size + "'";
+ // Do not care if it fails to set the default_paper_size
(i.e. show no error message to the user)
+ // because the default_paper_size setting is nice to have
but not mandatoty for a working queue:
+ Printerlib::ExecuteBashCommand( commandline );
+ }
+ }
+ }
+ }
+ }
Wizard::EnableBackButton();
Wizard::EnableNextButton();
}
@@ -674,12 +757,13 @@
driver_filter_string = "qqqqqqqqqq";
}
UI::ReplaceWidget( `id(`driver_filter_input_replace_point),
- `InputField
- ( `id(`driver_filter_input), `opt(`hstretch),
- // Caption for a printer driver selection:
- _("Search for &Drivers"),
- driver_filter_input_text
- )
+ `InputField
+ ( `id(`driver_filter_input),
+ `opt(`hstretch),
+ // No InputField header because there is the
"Caption for a printer driver selection":
+ "",
+ driver_filter_input_text
+ )
);
UI::ReplaceWidget( `id(`driver_selection_replace_point),
`SelectionBox( `id(`driver_selection),
@@ -772,7 +856,10 @@
{ // When the currently used driver is to be exchanged,
// the widgets to change options for the currently used driver are
removed and
// the description_input field is overwritten with the NickName of the
new selected driver:
- UI::ReplaceWidget(
`id(`paper_choice_and_driver_options_replace_point), `Empty() );
+ //UI::ReplaceWidget(
`id(`paper_choice_and_driver_options_replace_point), `Empty() );
+ UI::ReplaceWidget( `id(`paper_choice_and_driver_options_replace_point),
+ `Left( new_driver_paper_choice_content )
+ );
string new_description =
Printer::ppds[selected_ppd_index,"nickname"]:"";
if( "" != model
&& "unknown" != tolower( model )
@@ -805,12 +892,13 @@
{ driver_filter_input_text = _("any model");
}
UI::ReplaceWidget( `id(`driver_filter_input_replace_point),
- `InputField
- ( `id(`driver_filter_input), `opt(`hstretch),
- // Caption for a printer driver selection:
- _("Search for &Drivers"),
- driver_filter_input_text
- )
+ `InputField
+ ( `id(`driver_filter_input),
+ `opt(`hstretch),
+ // No InputField header because there is the
"Caption for a printer driver selection":
+ "",
+ driver_filter_input_text
+ )
);
UI::ReplaceWidget( `id(`driver_selection_replace_point),
`SelectionBox( `id(`driver_selection),
@@ -827,6 +915,156 @@
);
continue;
}
+ if( ret == `more_drivers )
+ { driver_filter_string = "";
+ boolean valid_driver_found = false;
+ list driver_items = [];
+ // Use the existing value of driver_filter_input_text
+ // which is usually set to nick_name and to model as fallback
+ // but it could be any string which was entered before by the user.
+ // The "more drivers" functionality must work based on the current
search string
+ // and when nothing is found based on the current search string
+ // it falls back to show all drivers so that there is a valid result in
any case.
+ driver_filter_input_text = (string)UI::QueryWidget(
`id(`driver_filter_input), `Value );
+ y2milestone( "More drivers for '%1'", driver_filter_input_text );
+ if( "" != driver_filter_input_text
+ && "unknown" != tolower( driver_filter_input_text )
+ )
+ { // If the driver_filter_input_text string does not contain a space,
+ // words is a singleton list which contains only one word.
+ list <string> words = splitstring( driver_filter_input_text, " " );
+ if( size( words ) >= 1 )
+ { // Even if it is only one word, the following makes sense
+ // because the one word could already be the model_number_word.
+ // Try to find the word which contains a model number.
+ // This is usually the first word which contains a number.
+ string model_number_word = "";
+ foreach( string word,
+ words,
+ { if( "" != filterchars( word, Printer::number_chars ) )
+ { model_number_word = word;
+ break;
+ }
+ }
+ );
+ // Provide visible feeback what is going on:
+ UI::ReplaceWidget( `id(`driver_filter_input_replace_point),
+ `InputField
+ ( `id(`driver_filter_input),
+ `opt(`hstretch),
+ // No InputField header because there is the
"Caption for a printer driver selection":
+ "",
+ model_number_word
+ )
+ );
+ driver_filter_string = filterchars( tolower( model_number_word ),
Printer::lower_alnum_chars );
+ if( "" != driver_filter_string )
+ { driver_items = Printer::DriverItems( driver_filter_string, true );
+ // Printer::DriverItems may result a driver_items list with one
single element
+ // [ `item( `id( -1 ), _("No matching driver found.") ) ]
+ // to show at least a meaningful text as fallback entry to the user
+ // or Printer::DriverItems may result a driver_items list with the
first item
+ // [ `item( `id( -1 ), _("Select a driver.") ), ... ]
+ // when Printer::DriverItems could not preselect a driver item.
+ // If a valid driver was found (but perhaps none was preselected),
+ // there would be a non-negative id value of the first or second
element
+ // which is driver_items[0,0,0] or driver_items[1,0,0]
+ // (id[0] is the value of the id, see the comment in
Printer::DriverItems).
+ if( driver_items[0,0,0]:-1 >= 0
+ || driver_items[1,0,0]:-1 >= 0
+ )
+ { valid_driver_found = true;
+ }
+ }
+ }
+ // Try to use the manufacturer when nothing was found above:
+ if( ! valid_driver_found )
+ { driver_filter_string = "";
+ // The first word in the driver_filter_input_text is usually the
first word of the manufacturer name.
+ // This fuzzy match is intended so that e.g. "Kyocera" and "Kyocera
Mita" are the same.
+ string manufacturer = splitstring( driver_filter_input_text, " "
)[0]:"";
+ if( "" != manufacturer )
+ { // Even more fuzziness for very ambiguous manufacturer names:
+ if( "hewlett" == substring( tolower( driver_filter_input_text ),
0, 7 ) )
+ { // Let "Hewlett-Packard", "Hewlett Packard", and "HP be the same:
+ manufacturer = "HP";
+ }
+ if( "oki" == substring( tolower( driver_filter_input_text ), 0, 3
) )
+ { // Let "Oki", "Okidata", and "Okipage" be the same:
+ manufacturer = "Oki";
+ }
+ // Provide visible feeback what is going on:
+ UI::ReplaceWidget( `id(`driver_filter_input_replace_point),
+ `InputField
+ ( `id(`driver_filter_input),
+ `opt(`hstretch),
+ // No InputField header because there is the
"Caption for a printer driver selection":
+ "",
+ manufacturer
+ )
+ );
+ driver_filter_string = filterchars( tolower( manufacturer ),
Printer::lower_alnum_chars );
+ if( "" != driver_filter_string )
+ { // Match at the beginning only if the driver_filter_string is
actually a known manufacturer:
+ foreach( string known_manufacturer,
+ Printer::known_manufacturers,
+ { if( driver_filter_string == tolower(
known_manufacturer ) )
+ { driver_filter_string = "^" + driver_filter_string;
+ break;
+ }
+ }
+ );
+ driver_items = Printer::DriverItems( driver_filter_string, true
);
+ // Printer::DriverItems may result a driver_items list with one
single element
+ // [ `item( `id( -1 ), _("No matching driver found.") ) ]
+ // to show at least a meaningful text as fallback entry to the
user
+ // or Printer::DriverItems may result a driver_items list with
the first item
+ // [ `item( `id( -1 ), _("Select a driver.") ), ... ]
+ // when Printer::DriverItems could not preselect a driver item.
+ // If a valid driver was found (but perhaps none was
preselected),
+ // there would be a non-negative id value of the first or second
element
+ // which is driver_items[0,0,0] or driver_items[1,0,0]
+ // (id[0] is the value of the id, see the comment in
Printer::DriverItems).
+ if( driver_items[0,0,0]:-1 >= 0
+ || driver_items[1,0,0]:-1 >= 0
+ )
+ { valid_driver_found = true;
+ }
+ }
+ }
+ }
+ }
+ // Nothing was found above.
+ // Fall back to show all drivers:
+ if( ! valid_driver_found )
+ { // Provide visible feeback what is going on:
+ UI::ReplaceWidget( `id(`driver_filter_input_replace_point),
+ `InputField
+ ( `id(`driver_filter_input),
+ `opt(`hstretch),
+ // No InputField header because there is the
"Caption for a printer driver selection":
+ "",
+ _("any model")
+ )
+ );
+ driver_items = Printer::DriverItems( "", true );
+ }
+ UI::ReplaceWidget( `id(`driver_selection_replace_point),
+ `SelectionBox
+ ( `id(`driver_selection),
+ // By default there is no UserInput()
+ // if only something was selected in the
SelectionBox
+ // (without clicking additionally a button)
+ // but the notify option forces UserInput() in this
case:
+ `opt(`notify),
+ "",
+ prepend( driver_items,
+ current_driver
+ )
+ )
+ );
+ continue;
+ }
y2milestone( "Ignoring unexpected returncode in BasicModifyDialog: %1",
ret );
continue;
}

Modified: branches/SuSE-Code-11-SP1-Branch/printer/src/connectionwizard.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/printer/src/connectionwizard.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/printer/src/connectionwizard.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/printer/src/connectionwizard.ycp Fri Sep
25 08:21:48 2009
@@ -42,61 +42,8 @@

string connection_uri="";
string connection_model="";
-list< string > known_manufacturers = [ "Generic",
- "Alps",
- "Anitech",
- "Apollo",
- "Apple",
- "Brother",
- "Canon",
- "Citizen",
- "CItoh",
- "Compaq",
- "DEC",
- "Dell",
- "Dymo",
- "Epson",
- "Fujifilm",
- "Fujitsu",
- "Gestetner",
- "Heidelberg",
- "Hitachi",
- "HP",
- "IBM",
- "Infotec",
- "Kodak",
- "KS",
- "Kyocera",
- "Lanier",
- "Lexmark",
- "Minolta",
- "Mitsubishi",
- "NEC",
- "NRG",
- "Oce",
- "Oki",
- "Olivetti",
- "Olympus",
- "Panasonic",
- "PCPI",
- "QMS",
- "Raven",
- "Ricoh",
- "Samsung",
- "Savin",
- "Seiko",
- "Sharp",
- "Shinko",
- "Sony",
- "Star",
- "Tally",
- "Tektronix",
- "Toshiba",
- "Xerox",
- "Zebra"
- ];
-list< string > manufacturers_for_using_driver = prepend( add(
known_manufacturers, "Raw Queue" ), "" );
-list< string > manufacturers_for_raw_queue = prepend( known_manufacturers,
"Raw Queue" );
+list< string > manufacturers_for_using_driver = prepend( add(
Printer::known_manufacturers, "Raw Queue" ), "" );
+list< string > manufacturers_for_raw_queue = prepend(
Printer::known_manufacturers, "Raw Queue" );

string getCurrentDeviceURI()
{ if( "" != Printer::connections[Printer::selected_connections_index,"uri"]:"")
@@ -139,7 +86,7 @@
`opt(`editable),
// Header for a ComboBox to keep the printer model or select
another manufacturer:
_("Keep the printer model or select another &manufacturer"),
- prepend( add( known_manufacturers, "Raw Queue" ),
current_model_info )
+ prepend( add( Printer::known_manufacturers, "Raw Queue" ),
current_model_info )
)
);
}

Modified: branches/SuSE-Code-11-SP1-Branch/printer/src/helps.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/printer/src/helps.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/printer/src/helps.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/printer/src/helps.ycp Fri Sep 25 08:21:48
2009
@@ -62,9 +62,7 @@
It is possible to have several different print queues for the same printer
device.
For example a second queue with a monochrome-only driver for a color device
-or a PostScript queue and a queue with a PCL driver for a PostScript+PCL
-printer or a queue to print on one side only of a sheet of paper and one for
two sided
-printing.
+or a PostScript queue and a queue with a PCL driver for a PostScript+PCL
printer.
</p>") +
// Overview dialog help 2/7:
_("<p>
@@ -149,7 +147,48 @@
The <b>driver</b> determines that the right data is produced for the
specific printer model.<br>
If a wrong driver is assigned, wrong data is sent to the printer
-which results bad looking printout, chaotic printout, or no printout at all.
+which results bad looking printout, chaotic printout, or no printout at
all.<br>
+Initially the input field for the driver search string is preset
+with the autodetected model name of the currently selected connection
+and those drivers where the driver description matches to the model name
+are shown by default.<br>
+If driver descriptions match to the autodetected model name
+and if all matching driver descriptions seem to belong to the same model,
+the driver descriptions are sorted so that the most reasonable driver
+should be listed topmost and this one is automatically preselected.
+If no driver is automatically preselected, you must manually
+find and select an appropriate driver.<br>
+On the other hand if a driver was automatically preselected,
+it does not necessarily mean that this driver is
+a reasonable driver for your particular needs.
+Strictly speaking an automatically preselected driver
+may not work at all for your particular printer model.
+The reason is that the automated driver selection
+can only work based upon comparison of strings
+(the autodetected model name and the driver descriptions)
+so that the result can be only a best-guess proposal
+how to set up your particular printer model.<br>
+Therefore check if the currently preselected values make sense
+and feel free to play around and modify the settings
+to what you know what works best for your printer.<br>
+If no driver description matches to the autodetected model name,
+it does not necessarily mean that there is no driver available for the model.
+Often only the model name in the driver descriptions
+is different from the autodetected model name.
+Therefore you can enter whatever you like as driver search string
+and search through all available driver descriptions.<br>
+Usually the default driver option settings should be reasonable
+so that the driver works for your particular printer model.
+Some driver option settings must match to your particular printer.
+In particular the default paper size setting of the driver
+must match to the paper which is actually loaded in your printer.
+You can either explicitely select A4 or Letter as default paper size
+or select nothing to use the built-in default paper size of the driver
+which is also the fallback if the driver neither supports A4 nor Letter
+(for example a driver for a small-format photo printer).
+If you like to adjust other driver options except A4 or Letter,
+you must first set up the queue and then in a second step
+you can adjust all driver options in the 'Edit/Modify' dialog.
</p>") +
// BasicAddDialog help 5/5:
_("<p>
@@ -177,7 +216,34 @@
The latter is provided by the HP driver package 'hplip'.
For plain printing both kind of connections should work but for anything else
(e.g. device status via 'hp-toolbox', or scanning with a HP all-in-one device)
-the 'hp:/...' connection must be used.
+the 'hp:/...' connection must be used.<br>
+When you exchange the currently used connection by another one,
+the input field for the driver search string is preset
+with the autodetected model name of the new selected connection
+and those drivers where the driver description matches to the model name
+are shown by default.<br>
+If driver descriptions match to the autodetected model name
+and if all matching driver descriptions seem to belong to the same model,
+the driver descriptions are sorted so that the most reasonable driver
+should be listed topmost (but still below the currently used driver).
+On the other hand, it does not necessarily mean that this driver is
+a reasonable driver for your particular needs.
+Strictly speaking the topmost listed driver
+may not work at all for your particular printer model.
+The reason is that the automated driver selection
+can only work based upon comparison of strings
+(the autodetected model name and the driver descriptions)
+so that the result can be only a best-guess proposal
+how to set up your particular printer model.<br>
+Therefore check if the currently preselected values make sense
+and feel free to play around and modify the settings
+to what you know what works best for your printer.<br>
+If no driver description matches to the autodetected model name,
+it does not necessarily mean that there is no driver available for the model.
+Often only the model name in the driver descriptions
+is different from the autodetected model name.
+Therefore you can enter whatever you like as driver search string
+and search through all available driver descriptions.
</p>") +
// BasicModifyDialog help 3/4:
_("<p>
@@ -195,7 +261,21 @@
should work for the particular driver.
Nevertheless it may happen that your particular printer fails to print
with high resolution. For example when you have a laser printer
-which has insufficient built-in memory to process high resolution pages.
+which has insufficient built-in memory to process high resolution pages.<br>
+When you exchange the currently used driver by another one,
+you must first apply this change to the print queue
+so that the new driver is used for the queue
+(i.e. you must finish this dialog as a first step)
+and then in a second step you can adjust all driver options
+by using this dialog again.<br>
+Initially the input field for the driver search string is preset
+with the description of the currently used driver when the connection was not
changed.
+This results usually only one single driver which matches
+so that you would have to enter a less specific driver search string
+to get also other drivers or you use the 'More Drivers' button.
+If no driver matches, it does not mean that there is no driver available.
+Therefore you can enter whatever you like as driver search string
+and search through all available driver descriptions.
</p>") +
// BasicModifyDialog help 4/4:
_("<p>
@@ -300,9 +380,9 @@
(separated by slash '/' characters) which specify the details
for this kind of data-transfer.<br>
Finally there could be optional parameters (separated by a question mark '?')
-of the form option1=value1&option2=value2&option3=value3 so that
+of the form option1=value1&amp;option2=value2&amp;option3=value3 so that
a full device URI could be for example:<br>
-ipp://server.domain:631/printers/queuename?waitjob=false&waitprinter=false<br>
+ipp://server.domain:631/printers/queuename?waitjob=false&amp;waitprinter=false<br>
Special characters must be percent-encoded (also known as URL encoding).
For example a space character ' ' must be written as '%20'
and a plus sign '+' must be written as '%2B'.<br>
@@ -463,7 +543,22 @@
In this case remote CUPS servers must publish their printers via network
and accordingly on your host the CUPS daemon process (cupsd) must run
which is listening for incomming information about published printers.<br>
-CUPS Browsing information is recieved via UDP port 631.
+CUPS Browsing information is recieved via UDP port 631.<br>
+Regarding firewall:<br>
+Check if a firewall is active for a network zone
+in which printers are published via network.
+By default the SuSEfirewall allows any incomming information
+via a network interface which belongs to the 'internal zone'
+because this zone is trusted by default.
+If the remote CUPS servers and your system are in an internal network
+and when you trust all what there is in your internal network,
+your network interface must be set to be in the 'internal zone'.
+It does not make sense to have a network setup in a trusted internal network
+with a network interface which belongs to the untrusted 'external zone'
+which is the default setting for network interfaces to be safe.
+Do not disable firewall protection for CUPS
+(i.e. for IPP which uses TCP port 631 and UDP port 631)
+for the untrusted 'external zone'.
</p>") +
// PrintingViaNetworkDialog help 2/3:
_("<p>
@@ -481,7 +576,7 @@
</p>"),

"sharing_dialog" :
-// SharingDialog help 1/2:
+// SharingDialog help 1/3:
_("<p>
<b><big>Sharing Print Queues and Publish Them Via Network</big></b><br>
Usually CUPS (Common Unix Printing System) should be set up to use
@@ -491,7 +586,7 @@
which is listening for incomming information about published printers.<br>
CUPS Browsing information is recieved via UDP port 631.
</p>") +
-// SharingDialog help 2/2:
+// SharingDialog help 2/3:
_("<p>
First of all CUPS client systems must be allowed to access the CUPS server.
Then specify whether or not printers should be published to the clients.
@@ -499,6 +594,24 @@
If you have only one single CUPS server, there is no need to use CUPS Browsing.
Instead it is simpler to specify the CUPS server on the client systems
(via 'Printing Via Network') so that the clients access the server directly.
+</p>") +
+// SharingDialog help 3/3:
+_("<p>
+Regarding firewall:<br>
+Check if a firewall is active for a network zone in which printers
+are made available via network to be used by trusted users
+(nobody lets arbitrary users print on his printer).
+By default the SuSEfirewall allows any access via a network interface
+which belongs to the 'internal zone' because this zone is trusted by default.
+If the CUPS server and the client systems are in an internal network
+and when you trust all what there is in your internal network,
+your network interface must be set to be in the 'internal zone'.
+It does not make sense to have a network setup in a trusted internal network
+with a network interface which belongs to the untrusted 'external zone'
+which is the default setting for network interfaces to be safe.
+Do not disable firewall protection for CUPS
+(i.e. for IPP which uses TCP port 631 and UDP port 631)
+for the untrusted 'external zone'.
</p>"),

"policies" :

Modified: branches/SuSE-Code-11-SP1-Branch/printer/src/printer.desktop
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/printer/src/printer.desktop?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/printer/src/printer.desktop (original)
+++ branches/SuSE-Code-11-SP1-Branch/printer/src/printer.desktop Fri Sep 25
08:21:48 2009
@@ -11,10 +11,11 @@
X-SuSE-YaST-Group=Hardware
X-SuSE-YaST-Argument=
X-SuSE-YaST-RootOnly=true
-X-SuSE-YaST-AutoInst=
+X-SuSE-YaST-AutoInst=all
X-SuSE-YaST-Geometry=
X-SuSE-YaST-SortKey=
X-SuSE-YaST-AutoInstResource=printer
+X-SuSE-YaST-AutoInstClonable=true

Icon=yast-printer
Exec=/sbin/yast2 printer

Modified: branches/SuSE-Code-11-SP1-Branch/printer/src/printer_auto.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/printer/src/printer_auto.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/printer/src/printer_auto.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/printer/src/printer_auto.ycp Fri Sep 25
08:21:48 2009
@@ -71,6 +71,10 @@
Printer::Import($[]);
ret = $[];
}
+// TODO: use global value to set Printer::dirty
+else if (func == "GetModified") {
+ ret = true;
+ }
/* Change configuration (run AutoSequence) */
else if (func == "Change") {
ret = PrinterAutoSequence();

Modified: branches/SuSE-Code-11-SP1-Branch/printer/src/printer_proposal.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/printer/src/printer_proposal.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/printer/src/printer_proposal.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/printer/src/printer_proposal.ycp Fri Sep
25 08:21:48 2009
@@ -214,12 +214,25 @@
string driver_filter_string = "^" + filterchars(
tolower( model ), Printer::lower_alnum_chars );
if( "^" != driver_filter_string )
{ list drivers = Printer::DriverItems(
driver_filter_string, true );
- if( size(drivers) > 0 )
- { y2internal("Available drivers: %1", drivers);
- y2internal("Selected driver: %1",
drivers[0]:nil);
- Printer::selected_ppds_index =
drivers[0,0,0]:-1;
- Printer::selected_connections_index =
printer[0,0]:-1;
- if( Printer::AddQueue( queue_name ) )
+ // Printer::DriverItems may result a drivers list
with one single element
+ // [ `item( `id( -1 ), _("No matching driver
found.") ) ]
+ // to show at least a meaningful text as fallback
entry to the user
+ // or Printer::DriverItems may result a drivers
list with the first item
+ // [ `item( `id( -1 ), _("Select a driver.") ),
... ]
+ // when Printer::DriverItems could not preselect
a driver item.
+ // In contrast if a valid driver was found and
preselected, there would be
+ // a non-negative id value of the first element
which is drivers[0,0,0]
+ // (id[0] is the value of the id, see the comment
in Printer::DriverItems).
+ // Only a test if both selected_ppds_index and
selected_connections_index
+ // are non-negative makes sure that there is a
valid driver and a valid connection.
+ y2internal("Available drivers: %1", drivers);
+ Printer::selected_ppds_index = drivers[0,0,0]:-1;
+ Printer::selected_connections_index =
printer[0,0]:-1;
+ if( Printer::selected_ppds_index >= 0
+ && Printer::selected_connections_index >= 0
+ )
+ { y2internal("Selected driver: %1",
drivers[0]:nil);
+ if( Printer::AddQueue( queue_name, "" ) )
{ already_set_up_uris = add(
already_set_up_uris, uri );
// Autodetect queues again so that
Printer::NewQueueName
// can compare with existing queue names but
ignore whatever failures

Modified: branches/SuSE-Code-11-SP1-Branch/printer/src/printingvianetwork.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/printer/src/printingvianetwork.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/printer/src/printingvianetwork.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/printer/src/printingvianetwork.ycp Fri Sep
25 08:21:48 2009
@@ -55,9 +55,6 @@
// remote CUPS servers with specific addresses
// where the specific addresses are specified in a TextEntry below:
string browse_allow_specific_string = _("only specific addresses");
-// Firewall related widget types:
-boolean firewall_first_browsing_widget_is_checkbox = false;
-boolean firewall_second_browsing_widget_is_checkbox = false;

term widgetNetworkPrinting = `VBox
( `VStretch(),
@@ -119,32 +116,10 @@
),
`Left
( `Label
- (
`id(`firewall_browsing_settings_label),
- // A caption to make a Firewall
settings
- // to allow incomming printer
information
- // from remote CUPS servers:
- _("Firewall Settings")
- )
- ),
- `HBox
- ( `HSpacing( 2 ),
- `VBox
- ( `Left
- ( `ReplacePoint
- (
`id(`firewall_first_browsing_replace_point),
- `Empty
- (
`id(`firewall_first_browsing_widget)
- )
- )
- ),
- `Left
- ( `ReplacePoint
- (
`id(`firewall_second_browsing_replace_point),
- `Empty
- (
`id(`firewall_second_browsing_widget)
- )
- )
- )
+ ( `id(`firewall_label),
+ // A notification to make the
user aware of possible Firewall restrictions
+ // regarding allow incomming
printer information from remote CUPS servers:
+ _("If a firewall is used, check
that incomming packages on UDP port 631 are allowed.")
)
)
)
@@ -361,30 +336,6 @@

boolean ApplyNetworkPrintingSettings()
{ printing_via_network_has_changed = false;
- // Do the Firewall stuff first of all:
- boolean firewall_allow_browsing_from_int = true;
- boolean firewall_deny_browsing_from_ext = true;
- if( firewall_first_browsing_widget_is_checkbox )
- { firewall_allow_browsing_from_int = (boolean)UI::QueryWidget(
`firewall_first_browsing_widget, `Value );
- y2milestone( "firewall_allow_browsing_from_int value: '%1'",
firewall_allow_browsing_from_int );
- Printer::firewall_config["ui_browsing_from_int"] =
firewall_allow_browsing_from_int;
- }
- if( firewall_second_browsing_widget_is_checkbox )
- { firewall_deny_browsing_from_ext = (boolean)UI::QueryWidget(
`firewall_second_browsing_widget, `Value );
- y2milestone( "firewall_deny_browsing_from_ext value: '%1'",
firewall_deny_browsing_from_ext );
- Printer::firewall_config["ui_deny_from_ext"] =
firewall_deny_browsing_from_ext;
- }
- if( Printer::firewall_config["browsing_from_int"]:false !=
Printer::firewall_config["ui_browsing_from_int"]:true
- || Printer::firewall_config["deny_from_ext"]:false !=
Printer::firewall_config["ui_deny_from_ext"]:true
- )
- { // The user has changed a Firewall setting:
- printing_via_network_has_changed = true;
- if( ! Printer::FirewallConfig( "write" ) )
- { // No error message here because Printer::FirewallConfig shows already
error messages:
- return false;
- }
- }
- // Do the CUPS stuff after the Firewall stuff.
// Get the actual settings and values from the dialog:
any current_radio_button = UI::QueryWidget(
`id(`browsing_or_client_only_check_boxes), `CurrentButton );
any current_browse_allow = UI::QueryWidget( `id(`browse_allow_combo_box),
`Value );
@@ -749,6 +700,7 @@
UI::ChangeWidget( `id(`browsing_on_radio_button), `Value, false );
UI::ChangeWidget( `id(`browse_allow_label), `Enabled, false );
UI::ChangeWidget( `id(`browse_allow_combo_box), `Enabled, false );
+ UI::ChangeWidget( `id(`firewall_label), `Enabled, false );
// When by accident "all" and "@LOCAL" were set as BrowseAllow values,
// the "@LOCAL" entry is preselected in browse_allow_combo_box
// because this is the more secure setting:
@@ -822,6 +774,7 @@
UI::ChangeWidget( `id(`browsing_on_radio_button), `Value, true );
UI::ChangeWidget( `id(`browse_allow_label), `Enabled, true );
UI::ChangeWidget( `id(`browse_allow_combo_box), `Enabled, true );
+ UI::ChangeWidget( `id(`firewall_label), `Enabled, true );
// If browsing info is accepted from all hosts,
// it is useless to additionally accept it from specific IPs or networks:
if( ! contains( Printerlib::cupsd_conf_browse_allow, "all" ) )
@@ -833,100 +786,6 @@
UI::ChangeWidget( `id(`browsing_off_radio_button), `Value, true );
}
}
- // Determine the Firewall settings.
- // Ignore errors because Printer::FirewallConfig results a firewall_config
fallback map.
- Printer::FirewallConfig( "read" );
- // Set the content and values for the firewall related widgets in the dialog:
- if( ! Printer::firewall_config["suse_firewall_used"]:true )
- { // Not the Suse Firewall but another firewall is used:
- UI::ReplaceWidget( `firewall_first_browsing_replace_point,
- `Label
- ( `id(`firewall_first_browsing_widget),
- // Label when not the Suse Firewall but another
firewall is used:
- _("Not the Suse Firewall but another firewall is
used")
- )
- );
- UI::ReplaceWidget( `firewall_second_browsing_replace_point,
- `Empty
- ( `id(`firewall_second_browsing_widget)
- )
- );
- }
- else
- { // The Suse Firewall is used:
- if( ! Printer::firewall_config["firewall_active"]:true )
- { // The Suse Firewall is not running:
- UI::ReplaceWidget( `firewall_first_browsing_replace_point,
- `Label
- ( `id(`firewall_first_browsing_widget),
- // Label when the Suse Firewall is not running:
- _("The Suse Firewall is not active")
- )
- );
- UI::ReplaceWidget( `firewall_second_browsing_replace_point,
- `Empty
- ( `id(`firewall_second_browsing_widget)
- )
- );
- }
- else
- { // The Suse Firewall is running:
- if( ! Printer::firewall_config["no_firewall_for_int"]:true )
- { // The Suse Firewall does potect the INT zone:
- // Let the user deny or allow CUPS Browsing from the INT zone here:
- UI::ReplaceWidget( `firewall_first_browsing_replace_point,
- `CheckBox
- ( `id(`firewall_first_browsing_widget),
- // CheckBox whether or not the Suse Firewall
allows
- // incomming printer information (CUPS Browsing
packages)
- // from the internal network zone (INT zone):
- _("Allow printer information from the &internal
network zone"),
- Printer::firewall_config["browsing_from_int"]:true
- )
- );
- firewall_first_browsing_widget_is_checkbox = true;
- }
- else
- { // The Suse Firewall does not potect the INT zone:
- UI::ReplaceWidget( `firewall_first_browsing_replace_point,
- `Label
- ( `id(`firewall_first_browsing_widget),
- // Label when the Suse Firewall does not potect
the internal network zone
- // which means that incomming printer information
from the INT zone is allowed:
- _("Printer information from the internal network
zone is allowed")
- )
- );
- }
- if( ! Printer::firewall_config["deny_from_ext"]:true )
- { // The Suse Firewall does not deny incomming printer information from
the EXT zone.
- // Let the user deny incomming printer information from the EXT zone
here:
- UI::ReplaceWidget( `firewall_second_browsing_replace_point,
- `CheckBox
- ( `id(`firewall_second_browsing_widget),
- // CheckBox whether or not the Suse Firewall
denies
- // incomming printer information from the
external network zone.
- // This is done by denying any access from the
EXT zone.
- _("Deny access and printer information from the
&external network zone"),
- false
- )
- );
- firewall_second_browsing_widget_is_checkbox = true;
- }
- else
- { // The Suse Firewall denies incomming printer information from the EXT
zone.
- // Do not let the user allow incomming printer information from the
EXT zone here:
- UI::ReplaceWidget( `firewall_second_browsing_replace_point,
- `Label
- ( `id(`firewall_second_browsing_widget),
- // Label when the Suse Firewall denies printer
information
- // from the external network zone.
- // This is done by denying any access from the
EXT zone.
- _("Access and printer information from the
external network zone is denied")
- )
- );
- }
- }
- }
y2milestone( "leaving initNetworkPrinting with\ninitial_radio_button =
'%1'\ninitial_browse_allow = '%2'\ninitial_browse_allow_input_value =
'%3'\ninitial_server_name_input_value = '%4'", initial_radio_button,
initial_browse_allow, initial_browse_allow_input_value,
initial_server_name_input_value );
}

@@ -937,6 +796,7 @@
{ UI::ChangeWidget( `id(`browse_allow_label), `Enabled, false );
UI::ChangeWidget( `id(`browse_allow_combo_box), `Enabled, false );
UI::ChangeWidget( `id(`browse_allow_input), `Enabled, false );
+ UI::ChangeWidget( `id(`firewall_label), `Enabled, false );
UI::ChangeWidget( `id(`client_conf_server_name_input), `Enabled, false );
UI::ChangeWidget( `id(`test_client_conf_server), `Enabled, false );
if( ! Printerlib::client_only )
@@ -950,6 +810,7 @@
{ UI::ChangeWidget( `id(`browse_allow_label), `Enabled, true );
UI::ChangeWidget( `id(`browse_allow_combo_box), `Enabled, true );
UI::ChangeWidget( `id(`browse_allow_input), `Enabled, true );
+ UI::ChangeWidget( `id(`firewall_label), `Enabled, true );
UI::ChangeWidget( `id(`client_conf_server_name_input), `Enabled, false );
UI::ChangeWidget( `id(`test_client_conf_server), `Enabled, false );
if( ! Printerlib::client_only )
@@ -973,6 +834,7 @@
{ UI::ChangeWidget( `id(`browse_allow_label), `Enabled, false );
UI::ChangeWidget( `id(`browse_allow_combo_box), `Enabled, false );
UI::ChangeWidget( `id(`browse_allow_input), `Enabled, false );
+ UI::ChangeWidget( `id(`firewall_label), `Enabled, false );
UI::ChangeWidget( `id(`client_conf_server_name_input), `Enabled, true );
UI::ChangeWidget( `id(`test_client_conf_server), `Enabled, true );
UI::ChangeWidget( `id(`connection_wizard), `Enabled, false );

Modified: branches/SuSE-Code-11-SP1-Branch/printer/src/sharing.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/printer/src/sharing.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/printer/src/sharing.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/printer/src/sharing.ycp Fri Sep 25
08:21:48 2009
@@ -49,8 +49,6 @@
list< term > initial_interface_table_items = [];
string initial_allow_input_value = "";
string initial_browse_address_input_value = "";
-boolean firewall_first_sharing_widget_is_checkbox = false;
-boolean firewall_second_sharing_widget_is_checkbox = false;

term widgetSharing = `VBox
( `RadioButtonGroup
@@ -181,33 +179,13 @@
)
)
)
- )
- )
- ),
- `Left
- ( `Label
- ( `id(`firewall_sharing_settings_label),
- // A caption to make Firewall settings to allow
remote access to CUPS:
- _("Firewall Settings")
- )
- ),
- `HBox
- ( `HSpacing( 2 ),
- `VBox
- ( `Left
- ( `ReplacePoint
- ( `id(`firewall_first_sharing_replace_point),
- `Empty
- ( `id(`firewall_first_sharing_widget)
- )
- )
),
`Left
- ( `ReplacePoint
- ( `id(`firewall_second_sharing_replace_point),
- `Empty
- ( `id(`firewall_second_sharing_widget)
- )
+ ( `Label
+ ( `id(`firewall_label),
+ // A notification to make the user aware of
possible Firewall restrictions
+ // regarding remote access to CUPS via the IPP
protocol (TCP/UDP port 631):
+ _("If a firewall is used, check that remote
access to CUPS is allowed via IPP on port 631.")
)
)
)
@@ -262,30 +240,6 @@

boolean ApplySharingSettings()
{ sharing_has_changed = false;
- // Do the Firewall stuff first of all:
- boolean firewall_allow_from_int = true;
- boolean firewall_deny_from_ext = true;
- if( firewall_first_sharing_widget_is_checkbox )
- { firewall_allow_from_int = (boolean)UI::QueryWidget(
`firewall_first_sharing_widget, `Value );
- y2milestone( "firewall_allow_from_int value: '%1'",
firewall_allow_from_int );
- Printer::firewall_config["ui_access_from_int"] = firewall_allow_from_int;
- }
- if( firewall_second_sharing_widget_is_checkbox )
- { firewall_deny_from_ext = (boolean)UI::QueryWidget(
`firewall_second_sharing_widget, `Value );
- y2milestone( "firewall_deny_from_ext value: '%1'", firewall_deny_from_ext
);
- Printer::firewall_config["ui_deny_from_ext"] = firewall_deny_from_ext;
- }
- if( Printer::firewall_config["access_from_int"]:false !=
Printer::firewall_config["ui_access_from_int"]:true
- || Printer::firewall_config["deny_from_ext"]:false !=
Printer::firewall_config["ui_deny_from_ext"]:true
- )
- { // The user has changed a Firewall setting:
- sharing_has_changed = true;
- if( ! Printer::FirewallConfig( "write" ) )
- { // No error message here because Printer::FirewallConfig shows already
error messages:
- return false;
- }
- }
- // Do the CUPS sharing stuff after the Firewall stuff.
// Get the actual settings and values from the dialog.
// It does not work well to query the RadioButtonGroup with something like
// UI::QueryWidget(`deny_or_allow_remote_access,`CurrentButton))
@@ -611,9 +565,7 @@
UI::ChangeWidget( `specific_addresses_label, `Enabled, false );
UI::ChangeWidget( `allow_input, `Enabled, false );
UI::ChangeWidget( `browse_address_input, `Enabled, false );
- UI::ChangeWidget( `firewall_sharing_settings_label, `Enabled, false );
- UI::ChangeWidget( `firewall_first_sharing_widget, `Enabled, false );
- UI::ChangeWidget( `firewall_second_sharing_widget, `Enabled, false );
+ UI::ChangeWidget( `firewall_label, `Enabled, false );
}
// Regardless whether or not the "Share Printers" dialog is useless,
// fill in the values of the current settings in the system:
@@ -831,94 +783,6 @@
y2milestone( "Initial initial_browse_address_input_value: %1",
initial_browse_address_input_value );
UI::ChangeWidget( `id(`browse_address_input), `Value,
initial_browse_address_input_value );
y2milestone( "Initial browse_address_values: %1", browse_address_values );
- // Determine the Firewall settings.
- // Ignore errors because Printer::FirewallConfig results a firewall_config
fallback map.
- Printer::FirewallConfig( "read" );
- // Set the content and values for the firewall related widgets in the dialog:
- if( ! Printer::firewall_config["suse_firewall_used"]:true )
- { // Not the Suse Firewall but another firewall is used:
- UI::ReplaceWidget( `firewall_first_sharing_replace_point,
- `Label
- ( `id(`firewall_first_sharing_widget),
- // Label when not the Suse Firewall but another
firewall is used:
- _("Not the Suse Firewall but another firewall is
used")
- )
- );
- UI::ReplaceWidget( `firewall_second_sharing_replace_point,
- `Empty
- ( `id(`firewall_second_sharing_widget)
- )
- );
- }
- else
- { // The Suse Firewall is used:
- if( ! Printer::firewall_config["firewall_active"]:true )
- { // The Suse Firewall is not running:
- UI::ReplaceWidget( `firewall_first_sharing_replace_point,
- `Label
- ( `id(`firewall_first_sharing_widget),
- // Label when the Suse Firewall is not running:
- _("The Suse Firewall is not active")
- )
- );
- UI::ReplaceWidget( `firewall_second_sharing_replace_point,
- `Empty
- ( `id(`firewall_second_sharing_widget)
- )
- );
- }
- else
- { // The Suse Firewall is running:
- if( ! Printer::firewall_config["no_firewall_for_int"]:true )
- { // The Suse Firewall does potect the INT zone:
- // Let the user deny or allow CUPS access from the INT zone here:
- UI::ReplaceWidget( `firewall_first_sharing_replace_point,
- `CheckBox
- ( `id(`firewall_first_sharing_widget),
- // CheckBox whether or not the Suse Firewall
allows CUPS access from the INT zone:
- _("Allow access from the &internal network zone"),
- Printer::firewall_config["access_from_int"]:true
- )
- );
- firewall_first_sharing_widget_is_checkbox = true;
- }
- else
- { // The Suse Firewall does not potect the INT zone:
- UI::ReplaceWidget( `firewall_first_sharing_replace_point,
- `Label
- ( `id(`firewall_first_sharing_widget),
- // Label when the Suse Firewall does not potect
the internal network zone
- // which means that CUPS access from the INT zone
is allowed:
- _("Access from the internal network zone is
allowed")
- )
- );
- }
- if( ! Printer::firewall_config["deny_from_ext"]:true )
- { // The Suse Firewall does not deny CUPS access from the EXT zone.
- // Let the user deny CUPS access from the EXT zone here:
- UI::ReplaceWidget( `firewall_second_sharing_replace_point,
- `CheckBox
- ( `id(`firewall_second_sharing_widget),
- // CheckBox whether or not the Suse Firewall
denies CUPS access from the EXT zone:
- _("Deny access from the &external network zone"),
- false
- )
- );
- firewall_second_sharing_widget_is_checkbox = true;
- }
- else
- { // The Suse Firewall denies CUPS access from the EXT zone.
- // Do not let the user allow CUPS access from the EXT zone here:
- UI::ReplaceWidget( `firewall_second_sharing_replace_point,
- `Label
- ( `id(`firewall_second_sharing_widget),
- // Label when the Suse Firewall denies CUPS
access from the external network zone:
- _("Access from the external network zone is
denied")
- )
- );
- }
- }
- }
y2milestone( "leaving initSharing" );
}

@@ -1080,21 +944,22 @@
// does not trigger any event even not with "`opt(`notify, `immediate)"
// so that this special action is unnoticed.
boolean remote_access = (boolean)UI::QueryWidget(
`allow_remote_access_radio_button, `Value );
- UI::ChangeWidget(`allow_local_network_access_check_box, `Enabled,
remote_access);
- UI::ChangeWidget(`publish_to_local_network_check_box, `Enabled,
remote_access);
- UI::ChangeWidget(`interface_table_label, `Enabled, remote_access);
- UI::ChangeWidget(`interface_table, `Enabled, remote_access);
- UI::ChangeWidget(`add_interface, `Enabled, remote_access);
- UI::ChangeWidget(`edit_interface, `Enabled, remote_access);
- UI::ChangeWidget(`delete_interface, `Enabled, remote_access);
- UI::ChangeWidget(`specific_addresses_label, `Enabled, remote_access);
- UI::ChangeWidget(`allow_input, `Enabled, remote_access);
- UI::ChangeWidget(`browse_address_input, `Enabled, remote_access);
+ UI::ChangeWidget( `allow_local_network_access_check_box, `Enabled,
remote_access );
+ UI::ChangeWidget( `publish_to_local_network_check_box, `Enabled,
remote_access );
+ UI::ChangeWidget( `interface_table_label, `Enabled, remote_access );
+ UI::ChangeWidget( `interface_table, `Enabled, remote_access );
+ UI::ChangeWidget( `add_interface, `Enabled, remote_access );
+ UI::ChangeWidget( `edit_interface, `Enabled, remote_access );
+ UI::ChangeWidget( `delete_interface, `Enabled, remote_access );
+ UI::ChangeWidget( `specific_addresses_label, `Enabled, remote_access );
+ UI::ChangeWidget( `allow_input, `Enabled, remote_access );
+ UI::ChangeWidget( `browse_address_input, `Enabled, remote_access );
+ UI::ChangeWidget( `firewall_label, `Enabled, remote_access );
if( remote_access )
{ boolean interface_modify_buttons = true;
if( 0 == size((list)UI::QueryWidget(`interface_table, `Items)) )
interface_modify_buttons = false;
- UI::ChangeWidget(`edit_interface, `Enabled, interface_modify_buttons);
- UI::ChangeWidget(`delete_interface, `Enabled, interface_modify_buttons);
+ UI::ChangeWidget( `edit_interface, `Enabled, interface_modify_buttons );
+ UI::ChangeWidget( `delete_interface, `Enabled, interface_modify_buttons
);
}
}
return nil;

Modified: branches/SuSE-Code-11-SP1-Branch/printer/yast2-printer.spec.in
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/printer/yast2-printer.spec.in?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/printer/yast2-printer.spec.in (original)
+++ branches/SuSE-Code-11-SP1-Branch/printer/yast2-printer.spec.in Fri Sep 25
08:21:48 2009
@@ -45,6 +45,8 @@
@clientdir@/printer*
@yncludedir@/printer/*
@schemadir@/autoyast/rnc/printer.rnc
+@scrconfdir@/*
+@agentdir@/*

#data


Modified: branches/SuSE-Code-11-SP1-Branch/qt/package/yast2-qt.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/qt/package/yast2-qt.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/qt/package/yast2-qt.changes (original)
+++ branches/SuSE-Code-11-SP1-Branch/qt/package/yast2-qt.changes Fri Sep 25
08:21:48 2009
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Thu Mar 19 14:57:45 CET 2009 - kmachalkova@xxxxxxx
+
+- Backported QSplitter-based Wizard widget, to make installation
+ steps panel collapsible (bnc#460739, bnc#445682 and others)
+
+-------------------------------------------------------------------
Tue Jan 13 17:03:58 CET 2009 - tgoettlicher@xxxxxxx

- Fixed bnc #445951: Help dialog untranslated

Modified: branches/SuSE-Code-11-SP1-Branch/qt/src/YQMainWinDock.cc
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/qt/src/YQMainWinDock.cc?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/qt/src/YQMainWinDock.cc (original)
+++ branches/SuSE-Code-11-SP1-Branch/qt/src/YQMainWinDock.cc Fri Sep 25
08:21:48 2009
@@ -93,9 +93,9 @@
if ( wizard && wizard->isSecondary() )
{
if ( QApplication::isLeftToRight() )
- rect.setLeft( _sideBarWidth );
+ rect.setLeft( 0 );
else
- rect.setWidth( rect.width() - _sideBarWidth );
+ rect.setWidth( rect.width() );
}

if ( dialog->rect() != rect )
@@ -168,7 +168,8 @@
// untouched; only the right side (the work area) of that wizard is to be
// activated or deactivated.

- YQWizard * wizard = dialog->findWizard();
+ // probably no longer needed, now the windows (even with steps) fully
overlap ??
+ /*YQWizard * wizard = dialog->findWizard();

if ( wizard && wizard->wizardMode() == YWizardMode_Steps )
{
@@ -177,7 +178,7 @@
if ( wizardWorkArea )
widget = wizardWorkArea;
// else -> stick with dialog->widgetRep()
- }
+ }*/

if ( widget )
widget->setEnabled( active );

Modified: branches/SuSE-Code-11-SP1-Branch/qt/src/YQWizard.cc
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/qt/src/YQWizard.cc?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/qt/src/YQWizard.cc (original)
+++ branches/SuSE-Code-11-SP1-Branch/qt/src/YQWizard.cc Fri Sep 25 08:21:48 2009
@@ -81,7 +81,8 @@
const string & abortButtonLabel,
const string & nextButtonLabel,
YWizardMode wizardMode )
- : QFrame( (QWidget *) parent->widgetRep() )
+ : QSplitter( Qt::Horizontal, (QWidget *) parent->widgetRep() )
+
, YWizard( parent,
backButtonLabel,
abortButtonLabel,
@@ -93,6 +94,7 @@
, _helpDlg ( NULL )
{
setObjectName( "wizard" );
+ setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding
) );

QHBoxLayout* layout = new QHBoxLayout( this );
layout->setSpacing( 0 );
@@ -100,7 +102,8 @@

setWidgetRep( this );

- _stepsEnabled = (wizardMode == YWizardMode_Steps);
+ //either main wizard with `opt(`stepsEnabled), or sub-wizard of
steps-enabled wizard
+ _stepsEnabled = ( (wizardMode == YWizardMode_Steps) || main_wizard );
_treeEnabled = (wizardMode == YWizardMode_Tree);

_stepsRegistered = false;
@@ -138,6 +141,9 @@
layout->addLayout( layoutSideBar( this ) );
layout->addWidget( layoutWorkArea( this ) );

+ setStretchFactor(indexOf(_sideBar),0);
+ setStretchFactor(indexOf(_workArea),1);
+
/* If steps are enabled, we want to delay
the registering for after we have steps registered */
if ( !_stepsEnabled )
@@ -149,6 +155,7 @@
}
else if ( main_wizard )
{
+ copySteps( main_wizard );
YQMainWinDock::mainWinDock()->resizeVisibleChild();
}

@@ -159,7 +166,14 @@
{
deleteSteps();
if ( this == main_wizard )
- main_wizard = 0;
+ {
+ main_wizard = 0;
+ }
+ else if ( main_wizard )
+ {
+ //transfer the widget ratio to the main wizard
+ main_wizard->setSizes( sizes() );
+ }

delete _helpDlg;

@@ -467,6 +481,37 @@
updateStepStates();
}

+void YQWizard::copySteps( YQWizard *wizard)
+{
+ QList<Step*> _oldSteps = wizard->stepsList();
+
+ if (_oldSteps.empty())
+ return;
+
+ foreach( Step *oldStep, _oldSteps)
+ {
+ Step *newStep;
+
+ if( !oldStep->isHeading() )
+ newStep = new Step( oldStep->name());
+ else
+ newStep = new StepHeading( oldStep->name());
+
+ foreach( QString oneId, oldStep->id())
+ {
+ newStep->addID( oneId);
+ _stepsIDs.insert( oneId, newStep );
+ }
+
+ newStep->setEnabled( oldStep->isEnabled());
+ _stepsList.append(newStep);
+
+ }
+
+ setCurrentStep( wizard->currentStep().toStdString() );
+ setSizes( main_wizard->sizes());
+}
+

void YQWizard::deleteSteps()
{

Modified: branches/SuSE-Code-11-SP1-Branch/qt/src/YQWizard.h
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/qt/src/YQWizard.h?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/qt/src/YQWizard.h (original)
+++ branches/SuSE-Code-11-SP1-Branch/qt/src/YQWizard.h Fri Sep 25 08:21:48 2009
@@ -27,6 +27,7 @@
#include <qstringlist.h>
#include "QY2ListView.h"
#include <QGridLayout>
+#include <QSplitter>
#include <qlabel.h>
#include <QMenu>
#include <qevent.h>
@@ -37,6 +38,7 @@

class QGridLayout;
class QFrame;
+class QSplitter;
class QLabel;
class QMenuBar;
class QPushButton;
@@ -51,7 +53,7 @@
class QY2HelpDialog;


-class YQWizard : public QFrame, public YWizard
+class YQWizard : public QSplitter, public YWizard
{
Q_OBJECT

@@ -167,6 +169,20 @@
virtual void addStepHeading( const string & text );

/**
+ * Return list of pointers to steps.
+ * Not needed outside copySteps() function
+ *
+ **/
+ QList<YQWizard::Step*> stepsList() { return _stepsList; }
+
+ /**
+ * Create a copy of given wizard's steps set (names & IDs)
+ * Populates _stepsList structure of current wizard
+ *
+ **/
+ void copySteps( YQWizard *wizard);
+
+ /**
* Delete all steps and step headings from the internal lists.
* The display is only updated upon calling updateSteps().
*
@@ -182,6 +198,12 @@
virtual void setCurrentStep( const string & id );

/**
+ * Return QString ID of currently active step
+ *
+ **/
+ QString currentStep() { return _currentStepID; };
+
+ /**
* Update the steps display: Reflect the internal steps and heading lists
* in the layout.
*
@@ -324,8 +346,8 @@
* This should not be needed outside of YQMainWinDock.
**/
QWidget * workArea() const { return _workArea; }
-
-
+
+
//
// Geometry management
//

Modified: branches/SuSE-Code-11-SP1-Branch/reipl/package/yast2-reipl.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/reipl/package/yast2-reipl.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/reipl/package/yast2-reipl.changes
(original)
+++ branches/SuSE-Code-11-SP1-Branch/reipl/package/yast2-reipl.changes Fri Sep
25 08:21:48 2009
@@ -1,4 +1,9 @@
-------------------------------------------------------------------
+Mon Apr 20 12:01:39 CEST 2009 - jsrain@xxxxxxx
+
+- fixed handling of more than 26 disks (bnc #492326)
+
+-------------------------------------------------------------------
Mon Feb 9 09:38:05 CET 2009 - hare@xxxxxxx

- Final fix for reboot (bnc#471522)

Modified: branches/SuSE-Code-11-SP1-Branch/reipl/src/Reipl.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/reipl/src/Reipl.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/reipl/src/Reipl.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/reipl/src/Reipl.ycp Fri Sep 25 08:21:48
2009
@@ -246,19 +246,24 @@

if (substring (fullDisk, 0, 4) == "dasd") {

- string disk = substring (fullDisk, 0, 5); /* broken with more than 26
DASD devices */
- /*
- fullDisk contains a device name either starting with "dasd" or with
"sd".
- I suppose it might be a full block device or just a partition on
such a
- block device. If it is a partition we have to get rid of the suffix
- specifying the partition in order to get the containing block device.
- We need something regex-like to get rid of the suffix.
- This would work even if we have thousands
- of block devices, which is not uncommon on s390. In such a case the
- devices would have names such as "dasdaab" or "dasdaab1" and taking
the
- first five characters would no longer work. Analogous thing applies
for
- SCSI devices in the FCP case.
- */
+ string disk = nil;
+ /*
+ fullDisk might be a full block device or just a partition on such a
+ block device. If it is a partition we have to get rid of the suffix
+ specifying the partition in order to get the containing block device.
+ This device could have thousands of block devices, which is not
uncommon
+ on s390. In such a case the devices would have names such as
"dasdaab" or
+ "dasdaab1."
+ */
+ list<string> split = regexptokenize (fullDisk,
"^(dasd)([a-z]*)([0-9]*)$");
+
+ if (split == nil || size (split) != 3) {
+ y2error ("FindBootPartition: Could not regexptokenize fullDisk,
split = %1", split);
+
+ fError = true;
+ } else {
+ disk = split[0]:"" + split[1]:"";
+ }

y2milestone ("FindBootPartition: found that the MBR uses dasd (%1)",
disk);

@@ -298,18 +303,23 @@

} else if (substring (fullDisk, 0, 2) == "sd") {

- // Handle sdb or sdb4
string disk = nil;
+ /*
+ fullDisk might be a full block device or just a partition on such a
+ block device. If it is a partition we have to get rid of the suffix
+ specifying the partition in order to get the containing block device.
+ This device could have thousands of block devices, which is not
uncommon
+ on s390. In such a case the devices would have names such as "sdaab"
or
+ "sdaab1."
+ */
+ list<string> split = regexptokenize (fullDisk,
"^(sd)([a-z]*)([0-9]*)$");
+
+ if (split == nil || size (split) != 3) {
+ y2error ("FindBootPartition: Could not regexptokenize fullDisk,
split = %1", split);

- // /dev/sda
- if (size (fullDisk) == 3) {
- disk = fullDisk;
- }
- else if (size (fullDisk) == 4) {
- disk = substring (fullDisk, 0, 3); /* broken with more than 26 SCSI
disk devices */
- }
- else {
fError = true;
+ } else {
+ disk = split[0]:"" + split[1]:"";
}

y2milestone ("FindBootPartition: found that the MBR uses SCSI (%1)",
disk);

Modified: branches/SuSE-Code-11-SP1-Branch/restore/package/yast2-restore.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/restore/package/yast2-restore.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/restore/package/yast2-restore.changes
(original)
+++ branches/SuSE-Code-11-SP1-Branch/restore/package/yast2-restore.changes Fri
Sep 25 08:21:48 2009
@@ -1,4 +1,9 @@
-------------------------------------------------------------------
+Wed Jun 24 15:49:19 CEST 2009 - locilka@xxxxxxx
+
+- Fixed 'Archive Properties' scrolling (bnc #459657).
+
+-------------------------------------------------------------------
Thu Feb 19 18:32:06 CET 2009 - locilka@xxxxxxx

- A correct patch for i18n characters in summary (bnc #460674).

Modified: branches/SuSE-Code-11-SP1-Branch/restore/src/ui.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/restore/src/ui.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/restore/src/ui.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/restore/src/ui.ycp Fri Sep 25 08:21:48 2009
@@ -702,7 +702,8 @@
`Left(`HBox(`Label(`id(`mlabel), _("Multivolume Archive:")),
`HSpacing(2), `Label(`id(`mlabel2), multivolume))),
`VSpacing(1.0),
// multi line widget label
- `MultiLineEdit(`id(`description), `opt(`disabled), _("Archive
&Description:"), comment),
+ `Left(`Label(_("Archive &Description:"))),
+ `RichText(`id(`description), `opt(`plainMode), comment),
`VSpacing(1.0),
// push button label
`PushButton(`id(`details), `opt(`key_F2), _("&Archive
Content...")),

Modified:
branches/SuSE-Code-11-SP1-Branch/runlevel/package/yast2-runlevel.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/runlevel/package/yast2-runlevel.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/runlevel/package/yast2-runlevel.changes
(original)
+++ branches/SuSE-Code-11-SP1-Branch/runlevel/package/yast2-runlevel.changes
Fri Sep 25 08:21:48 2009
@@ -1,4 +1,9 @@
-------------------------------------------------------------------
+Fri Mar 13 12:39:35 CET 2009 - locilka@xxxxxxx
+
+- Solving MenuButton shortcut conflicts (bnc #50003 c#39).
+
+-------------------------------------------------------------------
Mon Nov 3 16:14:30 CET 2008 - locilka@xxxxxxx

- Hiding [Back] button instead of disabling it - according to the

Modified: branches/SuSE-Code-11-SP1-Branch/runlevel/src/runlevel_proposal.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/runlevel/src/runlevel_proposal.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/runlevel/src/runlevel_proposal.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/runlevel/src/runlevel_proposal.ycp Fri Sep
25 08:21:48 2009
@@ -293,7 +293,7 @@
/* Rich text title */
"rich_text_title" : _("Default Runlevel"),
/* MenuButton title */
- "menu_title" : _("Default &Runlevel"),
+ "menu_title" : _("&Default Runlevel"),
"id" : "runlevel",
];
}

Modified: branches/SuSE-Code-11-SP1-Branch/s390/VERSION
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/s390/VERSION?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/s390/VERSION (original)
+++ branches/SuSE-Code-11-SP1-Branch/s390/VERSION Fri Sep 25 08:21:48 2009
@@ -1 +1 @@
-2.17.1
+2.17.2

Modified: branches/SuSE-Code-11-SP1-Branch/s390/package/yast2-s390.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/s390/package/yast2-s390.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/s390/package/yast2-s390.changes (original)
+++ branches/SuSE-Code-11-SP1-Branch/s390/package/yast2-s390.changes Fri Sep 25
08:21:48 2009
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Fri Aug 7 11:03:21 CEST 2009 - mzugec@xxxxxxx
+
+- stretch zfcp dialog (bnc#524128)
+- 2.17.2
+
+-------------------------------------------------------------------
Tue Jan 27 12:25:41 CET 2009 - mzugec@xxxxxxx

- descriptions for return values (bnc#446998)

Modified: branches/SuSE-Code-11-SP1-Branch/s390/src/zfcp/dialogs.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/s390/src/zfcp/dialogs.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/s390/src/zfcp/dialogs.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/s390/src/zfcp/dialogs.ycp Fri Sep 25
08:21:48 2009
@@ -299,7 +299,7 @@
`VSpacing (2),
`HBox(
// text entry
- `ComboBox(`id(`fcp_lun), `opt(`editable), _("&FCP-LUN"), [ fcp_lun ]),
+ `ComboBox(`id(`fcp_lun), `opt(`hstretch, `editable), _("&FCP-LUN"), [
fcp_lun ]),
`PushButton(`id(`get_lun), _("Get LUNs"))
),
`VStretch ()

Modified: branches/SuSE-Code-11-SP1-Branch/slp-server/VERSION
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/slp-server/VERSION?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/slp-server/VERSION (original)
+++ branches/SuSE-Code-11-SP1-Branch/slp-server/VERSION Fri Sep 25 08:21:48 2009
@@ -1 +1 @@
-2.17.2
+2.17.3

Modified:
branches/SuSE-Code-11-SP1-Branch/slp-server/package/yast2-slp-server.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/slp-server/package/yast2-slp-server.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/slp-server/package/yast2-slp-server.changes
(original)
+++
branches/SuSE-Code-11-SP1-Branch/slp-server/package/yast2-slp-server.changes
Fri Sep 25 08:21:48 2009
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Thu May 21 10:52:10 CEST 2009 - mzugec@xxxxxxx
+
+- accept both IP and hostname in configuration (bnc#501941)
+- 2.17.3
+
+-------------------------------------------------------------------
Mon Dec 15 16:28:52 CET 2008 - mzugec@xxxxxxx

- allow more than one DA IP address(bnc#430336)

Modified: branches/SuSE-Code-11-SP1-Branch/slp-server/src/dialogs.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/slp-server/src/dialogs.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/slp-server/src/dialogs.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/slp-server/src/dialogs.ycp Fri Sep 25
08:21:48 2009
@@ -22,6 +22,7 @@
import "LogView";
import "IP";
import "String";
+import "Address";
include "slp-server/helps.ycp";

void initServerSettings(string key);
@@ -581,7 +582,7 @@
boolean ip_valid = true;
if ((string)UI::QueryWidget(`id(`ip), `Value) == "") ip_valid = false;
foreach(string ip, splitstring((string)UI::QueryWidget(`id(`ip), `Value),
","), {
- if(!IP::Check(String::CutBlanks(ip))) ip_valid = false;
+ if(!Address::Check4(String::CutBlanks(ip)) &&
!Address::Check6(String::CutBlanks(ip))) ip_valid = false;
});
if (!ip_valid){
Popup::Error (_("Scope and IP address must be inserted."));

Modified: branches/SuSE-Code-11-SP1-Branch/storage/package/yast2-storage.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/storage/package/yast2-storage.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/storage/package/yast2-storage.changes
(original)
+++ branches/SuSE-Code-11-SP1-Branch/storage/package/yast2-storage.changes Fri
Sep 25 08:21:48 2009
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Tue Sep 22 15:12:29 CEST 2009 - jsrain@xxxxxxx
+
+- don't limit partition table to GPT on x86_64 uEFI systems
+ (fate #306825)
+
+-------------------------------------------------------------------
Thu Jul 09 10:51:36 CEST 2009 - aschnell@xxxxxxx

- fixed resizing of mounted logical volumes (svn #56059, bnc

Modified:
branches/SuSE-Code-11-SP1-Branch/storage/storage/src/include/do_proposal_flexible.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/storage/storage/src/include/do_proposal_flexible.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/storage/storage/src/include/do_proposal_flexible.ycp
(original)
+++
branches/SuSE-Code-11-SP1-Branch/storage/storage/src/include/do_proposal_flexible.ycp
Fri Sep 25 08:21:48 2009
@@ -50,7 +50,8 @@
``{
boolean ret = !Storage::IsPartitionable( entry ) ||
entry["readonly"]:false || Arch::s390();
- if( !ret && (Partitions::EfiBoot() || Arch::ia64()) &&
entry["label"]:"gpt"!="gpt" )
+ // for uEFI on x86_64 GPT is not mandatory
+ if( !ret && Arch::ia64() && entry["label"]:"gpt"!="gpt" )
{
ret = true;
}

Modified: branches/SuSE-Code-11-SP1-Branch/transfer/VERSION
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/transfer/VERSION?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/transfer/VERSION (original)
+++ branches/SuSE-Code-11-SP1-Branch/transfer/VERSION Fri Sep 25 08:21:48 2009
@@ -1 +1 @@
-2.16.1
+2.16.2

Modified: branches/SuSE-Code-11-SP1-Branch/transfer/agent-tftp/src/TftpAgent.cc
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/transfer/agent-tftp/src/TftpAgent.cc?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/transfer/agent-tftp/src/TftpAgent.cc
(original)
+++ branches/SuSE-Code-11-SP1-Branch/transfer/agent-tftp/src/TftpAgent.cc Fri
Sep 25 08:21:48 2009
@@ -158,7 +158,8 @@

cp += len;
} else if (finished) {
- break;
+// dont break here, we need the ACK for the last package
+// break;
}
}
/* send packet */
@@ -175,6 +176,9 @@
len = -1;
break;
}
+ if( cmd_get && (opcode == 4) && finished )
+ // ACK sent
+ break;
/* receive packet */
memset(&from, 0, sizeof(from));
fromlen = sizeof(from);
@@ -229,7 +233,7 @@
}
} while (timeout && (len >= 0));

- if (len < 0) {
+ if (len < 0 || finished ) {
break;
}


Modified:
branches/SuSE-Code-11-SP1-Branch/transfer/package/yast2-transfer.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/transfer/package/yast2-transfer.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/transfer/package/yast2-transfer.changes
(original)
+++ branches/SuSE-Code-11-SP1-Branch/transfer/package/yast2-transfer.changes
Fri Sep 25 08:21:48 2009
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Tue May 26 16:09:53 CEST 2009 - ug@xxxxxxx
+
+- send ACK package for the last DATA package that was received via
+ TFTP (bnc#507086)
+- version 2.16.2
+
+-------------------------------------------------------------------
Fri Jan 4 09:46:04 CET 2008 - ug@xxxxxxx

- follow HTTP code 301 and 302 (#344123)

Modified: branches/SuSE-Code-11-SP1-Branch/tv/package/yast2-tv.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/tv/package/yast2-tv.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/tv/package/yast2-tv.changes (original)
+++ branches/SuSE-Code-11-SP1-Branch/tv/package/yast2-tv.changes Fri Sep 25
08:21:48 2009
@@ -1,4 +1,19 @@
-------------------------------------------------------------------
+Tue Apr 7 14:59:18 CEST 2009 - lslezak@xxxxxxx
+
+- Added extra "No tuner" string marked for translation, it was
+ originally only in a generated file which might be missing when
+ creating .pot file (bnc#371289)
+
+-------------------------------------------------------------------
+Fri Apr 3 10:02:21 CEST 2009 - lslezak@xxxxxxx
+
+- Do not try installing unavailable packages (TV applications)
+ (bnc #480179)
+- Display more details in lirc error popup, describe the details
+ (bnc#449327)
+
+-------------------------------------------------------------------
Mon Dec 15 15:57:10 CET 2008 - lslezak@xxxxxxx

- reload the driver to activate the changed module options

Modified: branches/SuSE-Code-11-SP1-Branch/tv/src/Tv.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/tv/src/Tv.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/tv/src/Tv.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/tv/src/Tv.ycp Fri Sep 25 08:21:48 2009
@@ -297,7 +297,7 @@
* @param apps list of applications to install
* @param text text to show in dialog
*/
- define void InstallApplication (list apps, string text) ``{
+ define void InstallApplication (list<string> apps, string text) ``{

UI::OpenDialog (`opt(`decorated), `VBox(
`HSpacing(50),
@@ -321,13 +321,7 @@
UI::CloseDialog();
if (ret == `ok)
{
- list<string> to_install = [];
- // check if packages are avialable...
- foreach (string app, (list<string>) apps, ``{
- if (Package::Available (app))
- to_install = add (to_install, app);
- });
- Package::InstallAll (to_install);
+ Package::InstallAll (apps);
}
}

@@ -3590,35 +3584,48 @@

y2milestone("Detected TV card: %1, Radio card: %2", tv, radio);

- if (Package::Installed ("gnome-panel"))
- tv_app = "motv";
- else if (Package::Installed("kdelibs3") ||
Package::Installed("kdelibs4"))
- tv_app = "kdetv";
-
- boolean tv_app_installed = Package::Installed (tv_app);
- boolean radio_app_installed = Package::Installed ("kradio");
- list<string> apps = [ tv_app ];
+ list<string> apps = [ ];
+ boolean kde = Package::Installed("kdelibs3") ||
Package::Installed("kdelibs4");

- if (!Package::Installed("alevt"))
+ if (tv)
{
- apps = add(apps, "alevt");
+ if (Package::Installed ("gnome-panel"))
+ tv_app = "motv";
+ else if (kde)
+ {
+ tv_app = "kdetv";
+ }
+
+ if (!Package::Installed(tv_app) && Package::Available(tv_app)
== true)
+ {
+ apps = add(apps, tv_app);
+ }
+
+ if (!Package::Installed("alevt") && Package::Available("alevt")
== true)
+ {
+ apps = add(apps, "alevt");
+ }
+
+ if (!Package::Installed("nxtvepg") &&
Package::Available("nxtvepg") == true)
+ {
+ apps = add(apps, "nxtvepg");
+ }
+
+ y2milestone("TV packages to install: %1", apps);
}

- if (!Package::Installed("nxtvepg"))
+ if (radio && kde && !Package::Installed("kradio") &&
Package::Available("kradio") == true)
{
- apps = add(apps, "nxtvepg");
+ y2milestone("Adding kradio to the package list");
+ apps = add(apps, "kradio");
}

- y2milestone("TV application: %1, installed: %2", tv_app,
tv_app_installed);
- y2milestone("Radio applications installed: %1",
radio_app_installed);
- y2milestone("Applications to install: %1", apps);
+ y2milestone("Packages to install: %1", apps);

- // do not propose kradio application if we have not KDE
- if (radio && tv && !tv_app_installed && !radio_app_installed &&
- tv_app == "kdetv")
+ // installing radio and TV applications
+ if (contains(apps, "kradio") && size(apps) > 1)
{
// Popup text (required application are %1):
- apps = add (apps, "kradio");
InstallApplication (apps, sformat(_("<p>To enable you to watch
TV and listen to radio on your computer,<br>
these packages should be installed:<br>
<b>%1</b><br>
@@ -3626,7 +3633,8 @@
</p>
"), mergestring (apps, ", ")));
}
- else if (tv && !tv_app_installed)
+ // installing only TV applications
+ else if (!contains(apps, "kradio") && size(apps) > 0)
{
// Popup text (required application are %1):
InstallApplication (apps, sformat(_("<p>To enable you to watch
TV on your computer,<br>
@@ -3636,7 +3644,8 @@
</p>
"), mergestring (apps, ", ")));
}
- else if (radio && !radio_app_installed && tv_app == "kdetv")
+ // installing only radio application
+ else if (apps == ["kradio"])
{
// Popup text (required application is %1):
InstallApplication (["kradio"], sformat (_("<p>To listen to
radio on your computer, you can use the <b>%1</b> application.

Modified: branches/SuSE-Code-11-SP1-Branch/tv/src/irc_ui.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/tv/src/irc_ui.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/tv/src/irc_ui.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/tv/src/irc_ui.ycp Fri Sep 25 08:21:48 2009
@@ -39,10 +39,10 @@
* start with temporary LIRC configuration to enable the test
* @return empty string on success, error message otherwise
*/
- define string lirc_tmp_start () ``{
+ define map lirc_tmp_start () ``{

if (!modified)
- return "";
+ return $[];
// store old configuration
orig_module = (string) SCR::Read (.sysconfig.lirc.LIRC_MODULE);
if (SCR::Read (.target.size, "/etc/lircd.conf") != -1)
@@ -69,7 +69,7 @@
out = (map) SCR::Execute (.target.bash_output, "rclirc restart");
else
out = (map) SCR::Execute (.target.bash_output, "rclirc start");
- return out["stderr"]:"";
+ return out;
}

/**
@@ -99,11 +99,11 @@
`Label(_("Initializing..."))
);

- string start = lirc_tmp_start ();
- if (start != "")
+ map start = lirc_tmp_start ();
+ if (start["exit"]:-1 != 0)
{
// error popup text
- ErrorWithDetails (_("Starting the 'lirc' service failed."), start);
+ ErrorWithDetails (_("Starting the 'lirc' service failed."), _("Output
from /etc/init.d/lirc command:\n\n") + start["stdout"]:"" + "\n" +
start["stderr"]:"");
UI::CloseDialog();
lirc_tmp_stop ();
return false;

Modified: branches/SuSE-Code-11-SP1-Branch/tv/src/misc.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/tv/src/misc.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/tv/src/misc.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/tv/src/misc.ycp Fri Sep 25 08:21:48 2009
@@ -95,7 +95,7 @@
`VSpacing (0.5),
// label
`Left(`Heading (Label::ErrorMsg())),
- `Label (error),
+ `Left(`Label (error)),
`ReplacePoint (`id(`rp), `Empty()),
`VSpacing (0.5),
`Left(`CheckBox (`id(`details), `opt (`notify),
@@ -113,7 +113,7 @@
if (ret == `details)
{
if ((boolean)UI::QueryWidget (`id(`details), `Value))
- UI::ReplaceWidget (`id(`rp), `VBox (`Label (details)));
+ UI::ReplaceWidget (`id(`rp), `Frame(_("Details"), `Left(`Label
(details))));
else
UI::ReplaceWidget (`id(`rp), `Empty());
}
@@ -122,6 +122,10 @@
UI::CloseDialog();
}

+// Force translation of "No tuner" string, it is in a generated file
+// which might be missing when generating .pot file
+// (see bnc#371289, esp. comment #6)
+string no_tuner = _("No tuner");

/* EOF */
}

Modified: branches/SuSE-Code-11-SP1-Branch/update/package/yast2-update.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/update/package/yast2-update.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/update/package/yast2-update.changes
(original)
+++ branches/SuSE-Code-11-SP1-Branch/update/package/yast2-update.changes Fri
Sep 25 08:21:48 2009
@@ -1,4 +1,16 @@
-------------------------------------------------------------------
+Tue May 12 13:06:56 CEST 2009 - locilka@xxxxxxx
+
+- Removed copying inst-sys users to installed system during
+ upgrade. Users are added by RPMs (bnc #496958).
+
+-------------------------------------------------------------------
+Thu Apr 16 11:42:32 CEST 2009 - locilka@xxxxxxx
+
+- Mounting /var partition automatically if a device is not created
+ by Kernel (bnc #494240).
+
+-------------------------------------------------------------------
Mon Jan 19 16:17:31 CET 2009 - locilka@xxxxxxx

- Added possibility to manually choose a /var partition if YaST

Modified: branches/SuSE-Code-11-SP1-Branch/update/src/modules/RootPart.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/update/src/modules/RootPart.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/update/src/modules/RootPart.ycp (original)
+++ branches/SuSE-Code-11-SP1-Branch/update/src/modules/RootPart.ycp Fri Sep 25
08:21:48 2009
@@ -1301,8 +1301,16 @@
return nil;
}

- if (!Storage::DeviceRealDisk (var_device_fstab))
+ if (!Storage::DeviceRealDisk (var_device_fstab)) {
+ y2milestone ("Device %1 is not a real disk, mounting...",
var_device_fstab);
return MountVarPartition (var_device_fstab);
+ }
+
+ // BNC #494240: If a device name is not created by Kernel, we can use
it for upgrade
+ if (!Storage::IsKernelDeviceName (var_device_fstab)) {
+ y2milestone ("Device %1 is not a Kernel device name, mounting...",
var_device_fstab);
+ return MountVarPartition (var_device_fstab);
+ }

list <map> tmp1 = filter (map entry, fstab, ``(entry["file"]:"" ==
"/"));
string root_device_fstab = tmp1[0,"spec"]:"";

Modified:
branches/SuSE-Code-11-SP1-Branch/update/src/scripts/update_users_groups
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/update/src/scripts/update_users_groups?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/update/src/scripts/update_users_groups
(original)
+++ branches/SuSE-Code-11-SP1-Branch/update/src/scripts/update_users_groups Fri
Sep 25 08:21:48 2009
@@ -15,17 +15,3 @@
rm -f $i.t
fi
done
-for file in passwd group ; do
- if test -f $1/etc/$file ; then
- # like fillup, but : is the only separator
- rm -f /tmp/$file.add
- sort -k 1,1 -t: -u $1/etc/$file /etc/$file | sort -k 1,1 -t: $1/etc/$file
- | uniq -u > /tmp/$file.add
- cat /tmp/$file.add >> $1/etc/$file
- rm -f /tmp/$file.add
- # fix permissions if this script is called with strange umask
- chmod 644 $1/etc/$file
- else
- cat /etc/$file > $1/etc/$file
- fi
-done
-

Modified: branches/SuSE-Code-11-SP1-Branch/yast2/library/desktop/src/Desktop.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/yast2/library/desktop/src/Desktop.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/yast2/library/desktop/src/Desktop.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/yast2/library/desktop/src/Desktop.ycp Fri
Sep 25 08:21:48 2009
@@ -130,6 +130,7 @@
filemap["Hidden"] = SCR::Read(filepath + "Hidden");
filemap["Name"] = ReadLocalizedKey(filename, filepath, "Name");
filemap["modules"] = [];
+ filemap["X-SuSE-DocTeamID"] = SCR::Read(filepath + "X-SuSE-DocTeamID");

string name = (string) SCR::Read(filepath + "X-SuSE-YaST-Group");
Groups[name] = filemap;

Modified:
branches/SuSE-Code-11-SP1-Branch/yast2/library/network/src/NetworkInterfaces.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/yast2/library/network/src/NetworkInterfaces.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/yast2/library/network/src/NetworkInterfaces.ycp
(original)
+++
branches/SuSE-Code-11-SP1-Branch/yast2/library/network/src/NetworkInterfaces.ycp
Fri Sep 25 08:21:48 2009
@@ -698,7 +698,7 @@
path base = add (.network.value, dev);
// look in OriginalDevs because we need to catch all variables
// of the alias
- foreach (string key, any dummy, OriginalDevs[typ, num, "_aliases",
anum]:$[], {
+ foreach (string key, any dummy, OriginalDevs[typ, dev, "_aliases",
anum]:$[], {
path p = add (base, key + "_" + anum);
y2debug ("deleting: %1", p);
SCR::Write (p, nil);
@@ -739,7 +739,7 @@
// writing, but we create it in 2 ways so it's
// better here. Actually it does not work because
// the edit dialog nukes LABEL :-(
- boolean seen_label = false;
+// boolean seen_label = false;
if (size(amap["IPADDR"]:"")>0 && size(amap["NETMASK"]:"")>0){
amap["IPADDR"] = sformat("%1/%2", amap["IPADDR"]:"",
Netmask::ToBits(amap["NETMASK"]:""));
amap=remove(amap, "NETMASK");
@@ -755,13 +755,14 @@
maplist(string ak, string av, amap, {
string akk = ak + "_" + anum;
ShellSafeWrite (topath (p + akk), av);
- seen_label = seen_label || ak == "LABEL";
+// seen_label = seen_label || ak == "LABEL";
});
-
+/*
if (!seen_label)
{
ShellSafeWrite (topath (p + ("LABEL_" + anum)),
anum);
}
+*/
});
}
/* Write regular keys */

Modified:
branches/SuSE-Code-11-SP1-Branch/yast2/library/packages/src/PackageCallbacks.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/yast2/library/packages/src/PackageCallbacks.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/yast2/library/packages/src/PackageCallbacks.ycp
(original)
+++
branches/SuSE-Code-11-SP1-Branch/yast2/library/packages/src/PackageCallbacks.ycp
Fri Sep 25 08:21:48 2009
@@ -547,11 +547,6 @@
{
y2milestone("DonePackage(error: %1, reason: '%2')", error, reason);

- string infopath = (string) SCR::Read (.target.tmpdir) + "/rpmlog";
- SCR::Execute (.target.bash, "/usr/bin/tail '" + String::Quote
(Installation::destdir)
- + Directory::logdir + "/y2logRPM' > " + infopath);
- string info = reason + "\n---\n" + (string) SCR::Read
(.target.string, [infopath, "-?-"]);
-
string message = sformat ( _deleting_package ?
// error popup during package installation, %1 is the name of
the package
_("Removal of package %1 failed.")
@@ -561,7 +556,7 @@

if (Mode::commandline()) {
CommandLine::Print(message);
- CommandLine::Print(info);
+ CommandLine::Print(reason);

// ask user in the interactive mode
if (CommandLine::Interactive())
@@ -599,7 +594,7 @@
if ( showLongInfo )
{
UI::OpenDialog( `opt(`decorated), LayoutPopup (message,
button_box, 10, true) );
- UI::ReplaceWidget(`id(`info), `RichText (`opt(`plainText),
info) );
+ UI::ReplaceWidget(`id(`info), `RichText (`opt(`plainText),
reason) );
}
else
{
@@ -616,7 +611,7 @@
showLongInfo = ShowLogInfo (message, button_box);
if (showLongInfo)
{
- UI::ReplaceWidget(`id(`info), `RichText
(`opt(`plainText), info) );
+ UI::ReplaceWidget(`id(`info), `RichText
(`opt(`plainText), reason) );
}
else
{
@@ -645,6 +640,16 @@

// default: ignore
}
+ else
+ {
+ // no error, there is additional info (rpm output), see bnc#456446
+ y2milestone("Additional RPM otput: %1", reason);
+
+ if (Mode::commandline())
+ {
+ CommandLine::Print(reason);
+ }
+ }

return "I";
}

Modified:
branches/SuSE-Code-11-SP1-Branch/yast2/library/packages/src/PackageSystem.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/yast2/library/packages/src/PackageSystem.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
---
branches/SuSE-Code-11-SP1-Branch/yast2/library/packages/src/PackageSystem.ycp
(original)
+++
branches/SuSE-Code-11-SP1-Branch/yast2/library/packages/src/PackageSystem.ycp
Fri Sep 25 08:21:48 2009
@@ -213,7 +213,7 @@
//[int successful, list failed, list remaining, list srcremaining]
list result = Pkg::PkgCommit (0);
y2debug ("PkgCommit: %1", result);
- if(result[1]:[] != []) {
+ if(result == nil || result[1]:[] != []) {
y2error("Package commit failed: %1", result[1]:[]);
return false;
}

Modified: branches/SuSE-Code-11-SP1-Branch/yast2/library/system/src/Kernel.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/yast2/library/system/src/Kernel.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/yast2/library/system/src/Kernel.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/yast2/library/system/src/Kernel.ycp Fri
Sep 25 08:21:48 2009
@@ -222,6 +222,15 @@
discardlist = add (discardlist, "AUTOCONSOLE");
}

+ // add special key filtering for s390
+ // bnc#462276 Extraneous parameters in /etc/zipl.conf from the installer
+ if (Arch::s390())
+ {
+ discardlist = add (discardlist, "User");
+ discardlist = add (discardlist, "init");
+ discardlist = add (discardlist, "ramdisk_size");
+ }
+
// backdoor to re-enable update on UL/SLES
if (contains (cmdlist, "suse_update"))
{

Modified: branches/SuSE-Code-11-SP1-Branch/yast2/library/wizard/src/Wizard.ycp
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/yast2/library/wizard/src/Wizard.ycp?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/yast2/library/wizard/src/Wizard.ycp
(original)
+++ branches/SuSE-Code-11-SP1-Branch/yast2/library/wizard/src/Wizard.ycp Fri
Sep 25 08:21:48 2009
@@ -38,7 +38,8 @@
have_fancy_ui_cache = UI::HasSpecialWidget(`Wizard ) == true
&& ui_info[ "Depth" ]:0 >= 15
&& ui_info[ "DefaultWidth" ]:0 >= 800
- && ui_info[ "DefaultHeight"]:0 >= 600;
+ // some netbooks use such a strange resolution (fate#306298)
+ && ui_info[ "DefaultHeight"]:0 >= 576;

// have_fancy_ui_cache = false;


Modified: branches/SuSE-Code-11-SP1-Branch/yast2/package/yast2.changes
URL:
http://svn.opensuse.org/viewcvs/yast/branches/SuSE-Code-11-SP1-Branch/yast2/package/yast2.changes?rev=58763&r1=58762&r2=58763&view=diff
==============================================================================
--- branches/SuSE-Code-11-SP1-Branch/yast2/package/yast2.changes (original)
+++ branches/SuSE-Code-11-SP1-Branch/yast2/package/yast2.changes Fri Sep 25
08:21:48 2009
@@ -1,4 +1,43 @@
-------------------------------------------------------------------
+Thu Jul 16 14:42:16 CEST 2009 - jsuchome@xxxxxxx
+
+- Wizard.ycp: use Fancy UI for 1024x576 screen size (fate#306298)
+
+-------------------------------------------------------------------
+Wed Jun 10 09:55:30 CEST 2009 - mzugec@xxxxxxx
+
+- NetworkInterfaces - possible to not use LABEL for aliases
+(bnc#471253) (bnc#507640)
+
+-------------------------------------------------------------------
+Tue May 26 18:59:03 CEST 2009 - juhliarik@xxxxxxx
+
+- added fix for problem with parsing command line (bnc#462276)
+
+-------------------------------------------------------------------
+Thu Apr 9 10:04:19 CEST 2009 - lslezak@xxxxxxx
+
+- PackageSystem.ycp - check nil result of Pkg::PkgCommit() call
+ which indicates an error (bnc#157551)
+
+-------------------------------------------------------------------
+Wed Apr 8 11:27:13 CEST 2009 - lslezak@xxxxxxx
+
+- PackageCallbacks.ycp - don't read non existing y2logRPM file
+ (bnc#456446)
+
+-------------------------------------------------------------------
+Fri Apr 3 13:26:58 CEST 2009 - lslezak@xxxxxxx
+
+- Do not display "No package source" popup, just log a warning
+ (bnc#485587)
+
+-------------------------------------------------------------------
+Wed Mar 18 13:08:36 CET 2009 - ug@xxxxxxx
+
+- read X-SuSE-DocTeamID from desktop files (bnc#448238)
+
+-------------------------------------------------------------------
Tue Jul 7 13:24:32 CEST 2009 - lslezak@xxxxxxx

- Do not display "No package source" popup, just log a warning

--
To unsubscribe, e-mail: yast-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: yast-commit+help@xxxxxxxxxxxx

< Previous Next >
This Thread
  • No further messages