Hello community,
here is the log from the commit of package yast2-packager
checked in at Mon Nov 6 23:10:00 CET 2006.
--------
--- yast2-packager/yast2-packager.changes 2006-10-30 17:26:35.000000000 +0100
+++ /mounts/work_src_done/STABLE/yast2-packager/yast2-packager.changes 2006-11-06 18:14:52.000000000 +0100
@@ -1,0 +2,17 @@
+Mon Nov 6 18:07:46 CET 2006 - lslezak@suse.cz
+
+- fixed the default button in the SLP source selection dialog
+ (#214924)
+- allow to enter more character in the filter widget (#216277)
+- fixed SLP attribute scanning
+- 2.14.2
+
+-------------------------------------------------------------------
+Wed Nov 1 13:10:20 CET 2006 - mvidner@suse.cz
+
+- Ask the user for confirmation before removing broken installation
+ sources. The failure may be permanent (source is gone) or temporary
+ (network is down, proxy problem) (#210514).
+- 2.14.1
+
+-------------------------------------------------------------------
Old:
----
yast2-packager-2.14.0.tar.bz2
New:
----
yast2-packager-2.14.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-packager.spec ++++++
--- /var/tmp/diff_new_pack.4qiVZt/_old 2006-11-06 23:09:39.000000000 +0100
+++ /var/tmp/diff_new_pack.4qiVZt/_new 2006-11-06 23:09:39.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-packager (Version 2.14.0)
+# spec file for package yast2-packager (Version 2.14.2)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,12 +11,12 @@
# norootforbuild
Name: yast2-packager
-Version: 2.14.0
+Version: 2.14.2
Release: 1
License: GNU General Public License (GPL) - all versions
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-packager-2.14.0.tar.bz2
+Source0: yast2-packager-2.14.2.tar.bz2
prefix: /usr
BuildRequires: docbook-xsl-stylesheets doxygen gcc-c++ libxcrypt-devel libxslt perl-XML-Writer sgml-skel update-desktop-files yast2 yast2-country yast2-devtools yast2-slp yast2-testsuite yast2-xml
Requires: checkmedia yast2-country
@@ -46,7 +46,7 @@
Arvin Schnell
%prep
-%setup -n yast2-packager-2.14.0
+%setup -n yast2-packager-2.14.2
%build
%{prefix}/bin/y2tool y2autoconf
@@ -84,6 +84,17 @@
%doc %{prefix}/share/doc/packages/yast2-packager
%changelog -n yast2-packager
+* Mon Nov 06 2006 - lslezak@suse.cz
+- fixed the default button in the SLP source selection dialog
+ (#214924)
+- allow to enter more character in the filter widget (#216277)
+- fixed SLP attribute scanning
+- 2.14.2
+* Wed Nov 01 2006 - mvidner@suse.cz
+- Ask the user for confirmation before removing broken installation
+ sources. The failure may be permanent (source is gone) or temporary
+ (network is down, proxy problem) (#210514).
+- 2.14.1
* Mon Oct 30 2006 - lslezak@suse.cz
- do not show hidden patterns in the installation proposal
- 2.14.0
++++++ yast2-packager-2.14.0.tar.bz2 -> yast2-packager-2.14.2.tar.bz2 ++++++
++++ 5752 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-packager-2.14.0/Makefile.am.common new/yast2-packager-2.14.2/Makefile.am.common
--- old/yast2-packager-2.14.0/Makefile.am.common 2006-10-30 17:21:22.000000000 +0100
+++ new/yast2-packager-2.14.2/Makefile.am.common 2006-11-06 18:02:05.000000000 +0100
@@ -29,7 +29,19 @@
dist-hook: check-syntax
+CHECK_SYNTAX = true
check-syntax: $(client_DATA) $(ycpchook)
- if test "$(client_DATA)"; then $(bindir)/ycpc -qE -M. -I. $(YCPCFLAGS) $(filter %.ycp,$^) || exit 1; fi
+ @if test "$(client_DATA)"; then \
+ if $(CHECK_SYNTAX); then \
+ TO_CHECK="$(filter %.ycp,$^)"; \
+ echo "Checking syntax of $${TO_CHECK}"; \
+ if ! $(YCPC) -qE -M. -I. $(YCPCFLAGS) $${TO_CHECK}; then \
+ echo "Failed. Disable by 'make ... CHECK_SYNTAX=false' at your own risk"; \
+ exit 1; \
+ fi; \
+ else \
+ echo "Syntax check disabled"; \
+ fi; \
+ fi
-include .dep
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-packager-2.14.0/VERSION new/yast2-packager-2.14.2/VERSION
--- old/yast2-packager-2.14.0/VERSION 2006-10-30 17:26:24.000000000 +0100
+++ new/yast2-packager-2.14.2/VERSION 2006-11-06 17:56:34.000000000 +0100
@@ -1 +1 @@
-2.14.0
+2.14.2
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-packager-2.14.0/configure.in new/yast2-packager-2.14.2/configure.in
--- old/yast2-packager-2.14.0/configure.in 2006-10-30 17:21:22.000000000 +0100
+++ new/yast2-packager-2.14.2/configure.in 2006-11-06 18:02:05.000000000 +0100
@@ -1,9 +1,9 @@
dnl configure.in for yast2-packager
dnl
-dnl -- This file is generated by y2autoconf 2.13.19 - DO NOT EDIT! --
+dnl -- This file is generated by y2autoconf 2.13.16 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-packager, 2.13.158, http://bugs.opensuse.org/, yast2-packager)
+AC_INIT(yast2-packager, 2.14.2, http://bugs.opensuse.org/, yast2-packager)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -17,7 +17,7 @@
AM_INIT_AUTOMAKE(tar-ustar) dnl searches for some needed programs
dnl Important YaST2 variables
-VERSION="2.13.158"
+VERSION="2.14.2"
RPMNAME="yast2-packager"
MAINTAINER="Ladislav Slezak "
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-packager-2.14.0/src/clients/inst_source.ycp new/yast2-packager-2.14.2/src/clients/inst_source.ycp
--- old/yast2-packager-2.14.0/src/clients/inst_source.ycp 2006-10-30 15:55:58.000000000 +0100
+++ new/yast2-packager-2.14.2/src/clients/inst_source.ycp 2006-11-01 15:55:54.000000000 +0100
@@ -542,12 +542,27 @@
boolean restore = Pkg::SourceStartManager( false );
if( ! restore )
{
- Popup::Error(_("There were errors when restoring the source configuration.
+ // #210514 (L3): unconditionally removing the sources is BAD.
+ // Usually it is just a temporary error because of misconfigured proxy.
+ boolean cleanup = Popup::AnyQuestion( // [1]
+ Label::ErrorMsg(),
+ // Error popup (part 1)
+ _("There were errors when restoring the source configuration.
Not all sources are available for configuration.
-") + "\n" + Pkg::LastError() );
-
+") + Pkg::LastError() + "\n\n" +
+ // Error popup (part 2): Yes/No question.
+ // "immediately" is important: because of stupid design [2],
+ // they will be removed even if the user then chooses Abort :(
+ _("Do you want to immediately remove these sources?"),
+ Label::YesButton(), Label::NoButton(), `focus_no);
+ // Notes irrelevant for translators:
+ // [1]: we want the focus on "No"; Popup::YesNo is too specialized
+ // [2]: using SourceManager and not just PersistentStorage in inst_source
+
// delete the broken sources from the persistent store
- Pkg::SourceCleanupBroken();
+ if (cleanup) {
+ Pkg::SourceCleanupBroken();
+ }
}
sourceStatesIn = Pkg::SourceEditGet();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-packager-2.14.0/src/modules/PackageCallbacks.ycp new/yast2-packager-2.14.2/src/modules/PackageCallbacks.ycp
--- old/yast2-packager-2.14.0/src/modules/PackageCallbacks.ycp 2006-10-25 10:08:27.000000000 +0200
+++ new/yast2-packager-2.14.2/src/modules/PackageCallbacks.ycp 2006-11-01 14:56:19.000000000 +0100
@@ -1006,7 +1006,7 @@
global boolean SourceReportProgress(integer value)
{
boolean ret = SourcePopupSetProgress(value);
- y2milestone("SourceReportProgress(%1) = %2", value, ret);
+ y2debug("SourceReportProgress(%1) = %2", value, ret);
return ret;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-packager-2.14.0/src/modules/SourceManagerSLP.ycp new/yast2-packager-2.14.2/src/modules/SourceManagerSLP.ycp
--- old/yast2-packager-2.14.0/src/modules/SourceManagerSLP.ycp 2006-10-16 11:06:37.000000000 +0200
+++ new/yast2-packager-2.14.2/src/modules/SourceManagerSLP.ycp 2006-11-06 17:55:51.000000000 +0100
@@ -18,6 +18,7 @@
import "SuSEFirewall";
import "Report";
import "Label";
+ import "IP";
textdomain "packager";
module "SourceManagerSLP";
@@ -50,7 +51,7 @@
)
);
}
-
+
void CloseSearchUI () {
UI::CloseDialog ();
}
@@ -64,7 +65,7 @@
SetSearchUI (`Label (_("Scanning network for installation services...")));
y2milestone("scanning network: SLP::FindSrvs(\"install.suse\", \"\")");
services = SLP::FindSrvs ("install.suse", "");
- y2milestone("Done");
+ y2milestone("Done, found %1 sources", size(services));
}
void CreateSLPListFoundDialog (list <map> & services) {
@@ -81,7 +82,7 @@
// Only some characters are valid 'A-Z a-z 0-9 .*-'
`HSquash(`TextEntry (`id (`filter_text), "")),
// push button
- `PushButton(`id(`filter), _("&Filter")),
+ `PushButton(`id(`filter), `opt(`default), _("&Filter")),
`HStretch()
))
));
@@ -129,15 +130,9 @@
)
)
);
-
+
if (show_filter) {
- UI::ChangeWidget (
- `id(`filter_text), `ValidChars,
- "abcdefghijklmnopqrstuvwxyz" +
- toupper ("abcdefghijklmnopqrstuvwxyz") +
- "0123456789" +
- " .*-"
- );
+ UI::SetFocus(`filter_text);
}
}
@@ -149,7 +144,7 @@
UI::ChangeWidget(`id(`details), `Enabled, true);
}
}
-
+
void ShowDetailsDialog (list <map> & services) {
integer current = (integer) UI::QueryWidget(`id(`tree_of_services), `CurrentItem);
if (current == nil || current < 0) {
@@ -167,7 +162,7 @@
foreach (any key, any value, service_details, {
details = add (details, `item (`id(nil), tostring (key), tostring (value)));
});
-
+
UI::OpenDialog (
`VBox (
`Left (`Heading(`id(`details_heading), _("Catalog Details"))),
@@ -192,7 +187,7 @@
}
}
}
-
+
/**
* Initializes the listed SLP services.
*
@@ -214,16 +209,16 @@
if (regexp_string != nil) {
// filter out all services that don't match the regexp
- if (! regexpmatch (one_service["srvurl"]:"", regexp_string)) return;
+ if (! regexpmatch (one_service["label"]:"", regexp_string)) return;
}
-
+
service_label = one_service["label"]:"";
// define an empty list if it is not defined at all
if (inst_products[service_label]:nil == nil) inst_products[service_label] = [];
inst_products[service_label] = add (inst_products[service_label]:[], service_counter);
});
-
+
list <term> tree_of_services = [];
list <term> urls_for_product = nil;
integer product_counter = -1;
@@ -232,7 +227,7 @@
// "SUSE Linux 10.2 x86_64":[10, 195]
foreach (string one_product, list <integer> service_ids, inst_products, {
product_counter = product_counter + 1;
-
+
if (size(service_ids) == 1) {
integer service_id = service_ids[0]:nil;
tree_of_services[product_counter] = `item (`id(service_id), one_product);
@@ -241,6 +236,7 @@
foreach (integer service_id, service_ids, {
// removing "install.suse..."
service_url = substring(services[service_id, "srvurl"]:"", 21);
+
urls_for_product = add (
urls_for_product,
`item (`id (service_id), service_url)
@@ -282,6 +278,27 @@
}
}
+ string EscapeChars(string input, string escape)
+ {
+ string ret = input;
+
+ if (escape != nil && size(escape) > 0)
+ {
+ integer i = 0;
+ integer sz = size(escape);
+
+ while(i < sz)
+ {
+ string ch = substring(escape, i, 1);
+ y2debug("Escaping %1", ch);
+ ret = mergestring(splitstring(ret, ch), "\\" + ch);
+ i = i + 1;
+ };
+ }
+
+ return ret;
+ }
+
string HandleSLPListDialog (list <map> & services) {
InitSLPListFoundDialog (services, nil);
@@ -290,7 +307,7 @@
while (true) {
ret = UI::UserInput();
-
+
if (ret == `cancel) {
dialog_ret = nil;
break;
@@ -307,8 +324,13 @@
} else if (ret == `filter) {
string regexp_string = (string) UI::QueryWidget (`id(`filter_text), `Value);
- InitSLPListFoundDialog (services, regexp_string);
+ y2milestone("original regexp_string: %1", regexp_string);
+ // escape special character in the input string
+ // \ must be the first character!
+ regexp_string = EscapeChars(regexp_string, "\\(){}[]+^$|");
+ y2milestone("escaped regexp_string: %1", regexp_string);
+ InitSLPListFoundDialog (services, regexp_string);
} else if (ret == `details) {
ShowDetailsDialog (services);
@@ -332,29 +354,60 @@
_("Collecting information of %1 services found..."),
number_of_services
)));
-
+
y2milestone("Collecting data about %1 services", number_of_services);
list <map> new_services = [];
+ map dns_cache = $[];
+
integer counter = -1;
foreach (map slp_service, services, {
counter = counter + 1;
- string server_ip = slp_service["ip"]:"";
+ string server_ip = slp_service["pcHost"]:"";
string service_url = slp_service["srvurl"]:"";
+ if (!IP::Check4(server_ip))
+ {
+ if (haskey(dns_cache, server_ip))
+ {
+ server_ip = dns_cache[server_ip]:"";
+ }
+ else
+ {
+ y2milestone("Resolving host '%1'...", server_ip);
+ map m = (map)SCR::Execute (.target.bash_output, sformat ("/usr/bin/host '%1' | /bin/grep address", server_ip));
+
+ if (m["exit"]:0 == 0)
+ {
+ string out = m["stdout"]:"";
+ string ip = regexpsub (out, "has address (.*)$", "\\1");
+ if (ip != nil)
+ {
+ y2milestone("...resolved to %1", ip);
+ // cache the IP address
+ dns_cache[server_ip] = ip;
+
+ server_ip = ip;
+ }
+ }
+ }
+ }
+
+ // empty server_ip
if (service_url != "" && server_ip != "") {
map attrs = SLP::GetUnicastAttrMap (service_url, server_ip);
+
if (attrs != nil && attrs != $[]) {
slp_service = union (slp_service, attrs);
}
}
-
+
new_services[counter] = slp_service;
});
-
+
y2milestone("Done");
-
+
services = new_services;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-packager-2.14.0/src/modules/test.ycp new/yast2-packager-2.14.2/src/modules/test.ycp
--- old/yast2-packager-2.14.0/src/modules/test.ycp 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-packager-2.14.2/src/modules/test.ycp 2005-11-02 13:29:02.000000000 +0100
@@ -0,0 +1,58 @@
+
+{
+ import "Package";
+ import "CommandLine";
+
+ textdomain "test";
+
+ boolean startHandler(map opts) {
+ Package::InstallAll(["samba-doc", "qt3-devel-doc"]);
+// Package::InstallAll(["sambadocdfdfdf"]);
+
+ return true;
+ }
+
+ symbol GUIhandler() {
+ y2milestone("GUIhandler");
+ return `next;
+ }
+
+ boolean Read() {
+ return true;
+ }
+
+ boolean Write() {
+ return true;
+ }
+
+ map cmdline = $[
+ // help text
+ "help" : _("Start installation in a virtual machine"),
+ "id" : "vm",
+ "guihandler": GUIhandler,
+ "initialize": Read,
+ "finish" : Write,
+ "actions" : $[
+ "start" : $[
+ // command description
+ "help" : _("Start installation"),
+ "handler" : startHandler
+ ]
+ ],
+ "options" : $[
+ "configured" : $[
+ // option description
+ "help" : _("List only configured devices")
+ ],
+ "all" : $[
+ // option description
+ "help" : _("List all detected IDE devices")
+ ]
+ ],
+ "mappings" : $[
+ "start" : ["configured", "all"],
+ ]
+ ];
+
+ any ret = CommandLine::Run(cmdline);
+}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org