Hello community,
here is the log from the commit of package yast2-add-on for openSUSE:Factory checked in at 2017-08-02 11:26:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-add-on (Old)
and /work/SRC/openSUSE:Factory/.yast2-add-on.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-add-on"
Wed Aug 2 11:26:35 2017 rev:82 rq:512816 version:3.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-add-on/yast2-add-on.changes 2017-07-17 10:31:02.576651961 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-add-on.new/yast2-add-on.changes 2017-08-02 11:26:36.603394830 +0200
@@ -1,0 +2,7 @@
+Thu Jul 27 08:44:31 UTC 2017 - jreidinger@suse.com
+
+- drop inst_lang_addon client because openSUSE Lang Addon is also
+ dropped, this drops also all read of /content file (FATE#322386)
+- 3.3.0
+
+-------------------------------------------------------------------
Old:
----
yast2-add-on-3.2.1.tar.bz2
New:
----
yast2-add-on-3.3.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-add-on.spec ++++++
--- /var/tmp/diff_new_pack.Rrkpwz/_old 2017-08-02 11:26:37.495268737 +0200
+++ /var/tmp/diff_new_pack.Rrkpwz/_new 2017-08-02 11:26:37.499268172 +0200
@@ -17,7 +17,7 @@
Name: yast2-add-on
-Version: 3.2.1
+Version: 3.3.0
Release: 0
Summary: YaST2 - Add-On media installation code
License: GPL-2.0
@@ -65,7 +65,6 @@
%{yast_clientdir}/add-on.rb
%{yast_clientdir}/add-on_*.rb
%{yast_clientdir}/inst_add-on*.rb
-%{yast_clientdir}/inst_*_add-on*.rb
%{yast_clientdir}/vendor.rb
%{yast_desktopdir}/*.desktop
%{yast_schemadir}/autoyast/rnc/add-on.rnc
++++++ yast2-add-on-3.2.1.tar.bz2 -> yast2-add-on-3.3.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-add-on-3.2.1/package/yast2-add-on.changes new/yast2-add-on-3.3.0/package/yast2-add-on.changes
--- old/yast2-add-on-3.2.1/package/yast2-add-on.changes 2017-07-11 11:41:05.029789259 +0200
+++ new/yast2-add-on-3.3.0/package/yast2-add-on.changes 2017-07-27 15:50:20.483056797 +0200
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Thu Jul 27 08:44:31 UTC 2017 - jreidinger@suse.com
+
+- drop inst_lang_addon client because openSUSE Lang Addon is also
+ dropped, this drops also all read of /content file (FATE#322386)
+- 3.3.0
+
+-------------------------------------------------------------------
Mon Jul 10 15:20:52 UTC 2017 - lslezak@suse.cz
- Do not skip the boot command line addons ("addon=...") when
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-add-on-3.2.1/package/yast2-add-on.spec new/yast2-add-on-3.3.0/package/yast2-add-on.spec
--- old/yast2-add-on-3.2.1/package/yast2-add-on.spec 2017-07-11 11:41:05.029789259 +0200
+++ new/yast2-add-on-3.3.0/package/yast2-add-on.spec 2017-07-27 15:50:20.483056797 +0200
@@ -17,7 +17,7 @@
Name: yast2-add-on
-Version: 3.2.1
+Version: 3.3.0
Release: 0
Summary: YaST2 - Add-On media installation code
License: GPL-2.0
@@ -65,7 +65,6 @@
%{yast_clientdir}/add-on.rb
%{yast_clientdir}/add-on_*.rb
%{yast_clientdir}/inst_add-on*.rb
-%{yast_clientdir}/inst_*_add-on*.rb
%{yast_clientdir}/vendor.rb
%{yast_desktopdir}/*.desktop
%{yast_schemadir}/autoyast/rnc/add-on.rnc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-add-on-3.2.1/src/clients/inst_language_add-on.rb new/yast2-add-on-3.3.0/src/clients/inst_language_add-on.rb
--- old/yast2-add-on-3.2.1/src/clients/inst_language_add-on.rb 2017-07-11 11:41:05.065789259 +0200
+++ new/yast2-add-on-3.3.0/src/clients/inst_language_add-on.rb 1970-01-01 01:00:00.000000000 +0100
@@ -1,427 +0,0 @@
-# encoding: utf-8
-
-# File: clients/inst_language_add-on.ycp
-# Authors: Lukas Ocilka
-# Summary: Template client for language Add-On products
-#
-# This is a template for Language Add-Ons. It can be either called
-# from the installation.xml in the root ("/") of the product or
-# called from command-line for testing purposes:
-# `yast2 inst_language_add-on.ycp "$[]" url_to_add_on_source`.
-#
-# $Id$
-module Yast
- class InstLanguageAddOnClient < Client
- def main
- Yast.import "UI"
- Yast.import "Pkg"
- Yast.import "Kernel"
- Yast.import "Language"
- Yast.import "Wizard"
- Yast.import "Label"
- Yast.import "Popup"
-
- textdomain "add-on"
-
- Wizard.CreateDialog
- Builtins.y2milestone(
- "====================[ Language Add-On Script ]===================="
- )
- @ret = MainFunction()
- Builtins.y2milestone(
- "====================[ Language Add-On Script ]===================="
- )
- Wizard.CloseDialog
-
- if @ret == 0
- return :next
- else
- return :abort
- end
- end
-
- # Returns the list of available languages. It is based on the
- # "LINGUAS" entry in the /content file. Returns nil if something
- # is wrong.
- #
- # @return [Array<String>] supported languages
- # (e.g., ["af", "ar", "be_BY", "bg", "ca", "cs", "cy", "da", "el", "et", "fi"])
- def GetListOfSupportedLanguages(source)
- content_file = Pkg.SourceProvideSignedFile(source, 1, "/content", false)
- if content_file == nil || content_file == ""
- Builtins.y2error("There is no content file!")
- return nil
- end
-
- SCR.RegisterAgent(
- path(".media.content"),
- term(
- :ag_ini,
- term(
- :IniAgent,
- content_file,
- {
- "options" => ["read_only", "global_values", "flat"],
- "comments" => ["^#.*", "^[ \t]*$"],
- "params" => [
- {
- "match" => [
- "^[ \t]*([a-zA-Z0-9_.]+)[ \t]*(.*)[ \t]*$",
- "%s %s"
- ]
- }
- ]
- }
- )
- )
- )
- supported_languages = Builtins.tostring(
- SCR.Read(path(".media.content.LINGUAS"))
- )
- if supported_languages == nil || supported_languages == ""
- Builtins.y2error("No languages [LINGUAS] defined!")
- return nil
- end
-
- Builtins.y2milestone("Languages found: %1", supported_languages)
- SCR.UnregisterAgent(path(".media.content"))
-
- Builtins.splitstring(supported_languages, " ")
- end
-
- # Solves dependencies and installs packages
- def Install(languages_to_install)
- languages_to_install = deep_copy(languages_to_install)
- Builtins.y2milestone(
- "Installing packages for languages: %1",
- languages_to_install
- )
- Pkg.SetAdditionalLocales(languages_to_install)
-
- Builtins.y2milestone("Solving dependencies")
- if Pkg.PkgSolve(true) != true
- Builtins.y2error("Cannot solve dependencies")
- return false
- end
-
- Builtins.y2milestone("Installing packages")
- WFM.call("inst_rpmcopy")
-
- Kernel.InformAboutKernelChange
-
- Popup.Message(
- # TRANSLATORS: popup message
- _("Installation of the Language Extension has been finished.")
- )
-
- true
- end
-
- # Only when WFM::Args[1] contains an URL to be added
- def InitFunction
- args = WFM.Args
- Builtins.y2milestone("Args: %1", args)
- add_on_url = Builtins.tostring(Ops.get_string(args, 1, ""))
-
- if add_on_url == ""
- Builtins.y2milestone(
- "No URL given as an argument, not initializing source."
- )
- return
- end
-
- Builtins.y2milestone("Using URL: '%1'", add_on_url)
-
- Yast.import "PackageCallbacks"
- Yast.import "SourceManager"
-
- PackageCallbacks.InitPackageCallbacks
-
- Pkg.TargetInit("/", true)
- Pkg.SourceStartManager(true)
-
- SourceManager.createSource(add_on_url)
-
- nil
- end
-
- # Dialog definitions -->
-
- def Dialog_Init
- Wizard.SetContentsButtons(
- # TRANSLATORS: dialog caption
- _("Add-On Product Installation"),
- # TRANSLATORS: dialog content - a very simple label
- Label(_("Initializing...")),
- # TRANSLATORS: help text
- _("<p>Initializing add-on products...</p>"),
- Label.BackButton,
- Label.NextButton
- )
- Wizard.SetTitleIcon("yast-language")
- Wizard.DisableBackButton
- Wizard.DisableAbortButton
- Wizard.DisableNextButton
-
- nil
- end
-
-
-
-
- def Dialog_SelectLanguagesUI(known_languages, already_installed_languages)
- items = []
- pre_selected_languages = []
- pre_selected = nil
-
- # for each language supported on the medium
- Builtins.foreach(known_languages.value) do |short, long|
- # installed is 'de' or 'cs' or 'zh'
- if Builtins.contains(already_installed_languages.value, short)
- pre_selected = true
- # installed is 'de_XY' or 'cs_AB' or 'zh_CD'
- # but not on the medium, find similar
- elsif Ops.greater_than(Builtins.size(short), 2)
- language_substring = Builtins.substring(short, 0, 2)
- if Builtins.contains(
- already_installed_languages.value,
- language_substring
- )
- pre_selected = true
- else
- pre_selected = false
- end
- else
- pre_selected = false
- end
- if pre_selected
- pre_selected_languages = Builtins.add(
- pre_selected_languages,
- Builtins.sformat("%1 (%2)", short, long)
- )
- end
- items = Builtins.add(items, Item(Id(short), long, pre_selected))
- end
- Builtins.y2milestone("Preselected languages: %1", pre_selected_languages)
-
- items = Builtins.sort(items) do |x, y|
- Ops.less_than(Ops.get_string(x, 1, ""), Ops.get_string(y, 1, ""))
- end
- Wizard.SetContentsButtons(
- # TRANSLATORS: dialog caption
- _("Add-On Product Installation"),
- VBox(
- HBox(
- HStretch(),
- MultiSelectionBox(
- Id("languages"),
- # TRANSLATORS:: multi-selection box
- _("&Select Language Extensions to Be Installed"),
- items
- ),
- HStretch()
- )
- ),
- # TRANSLATORS: help text
- _(
- "<p>Select the language extensions to be installed then click <b>OK</b>.</p>"
- ),
- Label.BackButton,
- Label.OKButton
- )
- Wizard.SetTitleIcon("yast-language")
- Wizard.DisableBackButton
- Wizard.EnableAbortButton
- Wizard.EnableNextButton
-
- selected_languages = nil
- ret = nil
- while true
- ret = UI.UserInput
-
- if ret == :cancel || ret == :abort
- if Popup.YesNo(
- # TRANSLATORS: popup question
- _(
- "Are you sure you want to abort the add-on product installation?"
- )
- )
- selected_languages = []
- break
- end
- elsif ret == :next
- selected_languages = Convert.convert(
- UI.QueryWidget(Id("languages"), :SelectedItems),
- :from => "any",
- :to => "list <string>"
- )
- if Builtins.size(selected_languages) == 0
- if !Popup.YesNo(
- _(
- "There are no selected languages to be installed.\nAre you sure you want to abort the installation?"
- )
- )
- next
- else
- Builtins.y2warning(
- "User decided not to install any language support."
- )
- end
- end
-
- break
- end
- end
-
- deep_copy(selected_languages)
- end
-
-
-
-
- def Dialog_SelectLanguages(available_languages, already_installed_languages)
- available_languages = deep_copy(available_languages)
- if available_languages == nil || available_languages == []
- Builtins.y2error("No availabel languages")
- return nil
- elsif Builtins.size(available_languages) == 1
- Builtins.y2milestone(
- "Only one language available, using %1",
- available_languages
- )
- return deep_copy(available_languages)
- else
- known_languages = Language.GetLanguagesMap(false)
-
- short_to_lang = {}
- Builtins.foreach(available_languages) do |one_lang|
- # full xx_YY
- if Ops.get(known_languages, one_lang) != nil
- Ops.set(
- short_to_lang,
- one_lang,
- Ops.get_string(known_languages, [one_lang, 4], "")
- )
- # xx only without _YY
- else
- found = false
- Builtins.foreach(known_languages) do |lang_short, lang_params|
- if Builtins.regexpmatch(
- lang_short,
- Builtins.sformat("%1_.*", one_lang)
- )
- Ops.set(
- short_to_lang,
- one_lang,
- Builtins.tostring(Ops.get_string(lang_params, 4, ""))
- )
- found = true
- raise Break
- end
- end
- if !found
- Builtins.y2warning("Couldn't find language for '%1'", one_lang)
- # TRANSLATORS: multiselection box item, %1 stands for 'ar', 'mk', 'zh_TW'
- # it used only as a fallback
- Ops.set(
- short_to_lang,
- one_lang,
- Builtins.sformat(_("Language %1"), one_lang)
- )
- end
- end
- end
-
- Builtins.y2milestone("%1", short_to_lang)
- selected_languages = (
- short_to_lang_ref = arg_ref(short_to_lang);
- already_installed_languages_ref = arg_ref(
- already_installed_languages.value
- );
- _Dialog_SelectLanguagesUI_result = Dialog_SelectLanguagesUI(
- short_to_lang_ref,
- already_installed_languages_ref
- );
- short_to_lang = short_to_lang_ref.value;
- already_installed_languages.value = already_installed_languages_ref.value(
- );
- _Dialog_SelectLanguagesUI_result
- )
-
- return deep_copy(selected_languages)
- end
- end
-
- # Dialog definitions <--
-
- def MainFunction
- Dialog_Init()
-
- # This call can be removed
- InitFunction()
-
- # Finding out the source, can be also used AddOnProduct::src_id
- # but this is better for testing
- all_sources = Pkg.SourceGetCurrent(true)
- all_sources = Builtins.sort(all_sources) { |x, y| Ops.less_than(x, y) }
- source = Ops.get(
- all_sources,
- Ops.subtract(Builtins.size(all_sources), 1),
- -1
- )
- Pkg.SourceSetEnabled(source, true)
-
- # one language -> preselect it and install
- # more languages -> let user decides
- available_languages = GetListOfSupportedLanguages(source)
- if available_languages == nil || available_languages == []
- Builtins.y2error("No languages available!")
- return 10
- end
-
- # bugzilla #217052
- # some languages should be pre-selected (already installed, at least partly)
- installed_languages = Pkg.ResolvableProperties("", :language, "")
- already_installed_languages = []
- Builtins.foreach(installed_languages) do |language|
- if Ops.get(language, "status") == :installed
- if Ops.get(language, "name") != nil
- already_installed_languages = Builtins.add(
- already_installed_languages,
- Ops.get_string(language, "name", "")
- )
- else
- Builtins.y2error("Language %1 has no 'name'", language)
- end
- end
- end
-
- Builtins.y2milestone(
- "Already installed languages: %1",
- already_installed_languages
- )
- selected_languages = (
- already_installed_languages_ref = arg_ref(already_installed_languages);
- _Dialog_SelectLanguages_result = Dialog_SelectLanguages(
- available_languages,
- already_installed_languages_ref
- );
- already_installed_languages = already_installed_languages_ref.value;
- _Dialog_SelectLanguages_result
- )
- if selected_languages == nil || selected_languages == []
- Builtins.y2warning("User did not select any language, finishing...")
- return 15
- end
-
- if Install(selected_languages) != true
- Builtins.y2error("Error occured during installation")
- return 20
- end
-
- 0
- end
- end
-end
-
-Yast::InstLanguageAddOnClient.new.main