Hello community,

here is the log from the commit of package yast2-product-creator for 
openSUSE:Factory checked in at 2017-03-29 13:25:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-product-creator (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-product-creator.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-product-creator"

Wed Mar 29 13:25:03 2017 rev:117 rq:483257 version:3.2.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/yast2-product-creator/yast2-product-creator.changes  
    2016-06-07 23:48:41.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.yast2-product-creator.new/yast2-product-creator.changes
 2017-03-29 13:25:04.580168166 +0200
@@ -1,0 +2,14 @@
+Wed Mar 29 07:09:03 UTC 2017 - [email protected]
+
+- bnc#1026027
+  - removed calls to insserv
+- 3.2.0
+
+-------------------------------------------------------------------
+Fri Mar 17 12:07:40 UTC 2017 - [email protected]
+
+- Fix patterns list initialization (bsc#1028661)
+- Fix 'Next' button behaviour in pattern selection
+- 3.1.9
+
+-------------------------------------------------------------------

Old:
----
  yast2-product-creator-3.1.8.tar.bz2

New:
----
  yast2-product-creator-3.2.0.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ yast2-product-creator.spec ++++++
--- /var/tmp/diff_new_pack.EU5L7B/_old  2017-03-29 13:25:05.847988862 +0200
+++ /var/tmp/diff_new_pack.EU5L7B/_new  2017-03-29 13:25:05.851988296 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package yast2-product-creator
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-product-creator
-Version:        3.1.8
+Version:        3.2.0
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ yast2-product-creator-3.1.8.tar.bz2 -> 
yast2-product-creator-3.2.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-product-creator-3.1.8/.travis.yml 
new/yast2-product-creator-3.2.0/.travis.yml
--- old/yast2-product-creator-3.1.8/.travis.yml 2016-06-06 09:50:48.707267516 
+0200
+++ new/yast2-product-creator-3.2.0/.travis.yml 2017-03-29 10:29:07.182185430 
+0200
@@ -1,16 +1,11 @@
-language: cpp
-compiler:
-    - gcc
+sudo: required
+language: bash
+services:
+  - docker
+
 before_install:
-    # disable rvm, use system Ruby
-    - rvm reset
-    - wget 
https://raw.githubusercontent.com/yast/yast-devtools/master/travis-tools/travis_setup.sh
-    - sh ./travis_setup.sh -p "rake yast2-devtools yast2-testsuite yast2" -g 
"yast-rake gettext"
+  - docker build -t yast-product-creator-image .
 script:
-    - rake check:syntax
-    - rake check:pot
-    - make -f Makefile.cvs
-    - make
-    - sudo make install
-    - make check
-
+  # the "yast-travis-ruby" script is included in the base yastdevel/ruby image
+  # see https://github.com/yast/docker-yast-ruby/blob/master/yast-travis-ruby
+  - docker run -it -e TRAVIS=1 -e TRAVIS_JOB_ID="$TRAVIS_JOB_ID" 
yast-product-creator-image yast-travis-ruby
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-product-creator-3.1.8/CONTRIBUTING.md 
new/yast2-product-creator-3.2.0/CONTRIBUTING.md
--- old/yast2-product-creator-3.1.8/CONTRIBUTING.md     2016-06-06 
09:50:48.715267516 +0200
+++ new/yast2-product-creator-3.2.0/CONTRIBUTING.md     2017-03-29 
10:29:07.190185430 +0200
@@ -3,7 +3,7 @@
 
 YaST is an open source project and as such it welcomes all kinds of
 contributions. If you decide to contribute, please follow these guidelines to
-ensure the process is effective and pleasant both for you and YaST maintainers.
+ensure the process is effective and pleasant both for you and the YaST 
maintainers.
 
 There are two main forms of contribution: reporting bugs and performing code
 changes.
@@ -17,13 +17,11 @@
 
registration](https://secure-www.novell.com/selfreg/jsp/createSimpleAccount.jsp)
 if you don't have an account yet.)
 
-If you find a problem, please report it either using
-[Bugzilla](https://bugzilla.suse.com/) or GitHub issues. We can't guarantee
-that every bug will be fixed, but we'll try.
-
 When creating a bug report, please follow our [bug reporting
 guidelines](http://en.opensuse.org/openSUSE:Report_a_YaST_bug).
 
+We can't guarantee that every bug will be fixed, but we'll try.
+
 Code Changes
 ------------
 
@@ -44,15 +42,22 @@
      to the [Ruby style
      guide](https://github.com/SUSE/style-guides/blob/master/Ruby.md).
 
-  4. Make sure your change didn't break anything by building the RPM package
+  4. Update the package version (in `packages/*.spec`, usually by
+     `rake version:bump`) and add a new entry to the `package/*.changes` file
+     (by `osc vc package`).  
+     For bigger changes or changes which need longer discussion it is advised 
to
+     add this as a separate last commit so it can be easily updated when 
another
+     change is merged in the meantime.
+
+  5. Make sure your change didn't break anything by building the RPM package
      (`rake osc:build`). The build process includes running the full testsuite.
 
-  5. Publish the branch and create a pull request.
+  6. Publish the branch and create a pull request.
 
-  6. YaST developers will review your change and possibly point out issues.
+  7. YaST developers will review your change and possibly point out issues.
      Adapt the code under their guidance until they are all resolved.
 
-  7. Finally, the pull request will get merged or rejected.
+  8. Finally, the pull request will get merged or rejected.
 
 See also [GitHub's guide on
 contributing](https://help.github.com/articles/fork-a-repo).
@@ -60,9 +65,6 @@
 If you want to do multiple unrelated changes, use separate branches and pull
 requests.
 
-Do not change the `VERSION` and `*.changes` files as this could lead to
-conflicts.
-
 ### Commits
 
 Each commit in the pull request should do only one thing, which is clearly
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-product-creator-3.1.8/Dockerfile 
new/yast2-product-creator-3.2.0/Dockerfile
--- old/yast2-product-creator-3.1.8/Dockerfile  1970-01-01 01:00:00.000000000 
+0100
+++ new/yast2-product-creator-3.2.0/Dockerfile  2017-03-29 10:29:07.202185430 
+0200
@@ -0,0 +1,5 @@
+FROM yastdevel/ruby
+RUN zypper --gpg-auto-import-keys --non-interactive in --no-recommends \
+  yast2-add-on-creator
+COPY . /usr/src/app
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-product-creator-3.1.8/data/kiwi_templates/iso/config.sh 
new/yast2-product-creator-3.2.0/data/kiwi_templates/iso/config.sh
--- old/yast2-product-creator-3.1.8/data/kiwi_templates/iso/config.sh   
2016-06-06 09:50:48.779267516 +0200
+++ new/yast2-product-creator-3.2.0/data/kiwi_templates/iso/config.sh   
2017-03-29 10:29:07.250185430 +0200
@@ -51,8 +51,6 @@
 patch -p0 < /tmp/config.patch
 rm /tmp/config.patch
 
-insserv 
-
 rm -rf /var/cache/zypp/raw/*
 
 zypper addrepo -d 
http://download.opensuse.org/distribution/SL-OSS-factory/inst-source/ 
factory-oss
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-product-creator-3.1.8/package/yast2-product-creator.changes 
new/yast2-product-creator-3.2.0/package/yast2-product-creator.changes
--- old/yast2-product-creator-3.1.8/package/yast2-product-creator.changes       
2016-06-06 09:50:48.791267516 +0200
+++ new/yast2-product-creator-3.2.0/package/yast2-product-creator.changes       
2017-03-29 10:29:07.258185430 +0200
@@ -1,4 +1,18 @@
 -------------------------------------------------------------------
+Wed Mar 29 07:09:03 UTC 2017 - [email protected]
+
+- bnc#1026027
+  - removed calls to insserv
+- 3.2.0
+
+-------------------------------------------------------------------
+Fri Mar 17 12:07:40 UTC 2017 - [email protected]
+
+- Fix patterns list initialization (bsc#1028661)
+- Fix 'Next' button behaviour in pattern selection
+- 3.1.9
+
+-------------------------------------------------------------------
 Mon Jun  6 07:25:59 UTC 2016 - [email protected]
 
 - Stop generating autodocs (fate#320356)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-product-creator-3.1.8/package/yast2-product-creator.spec 
new/yast2-product-creator-3.2.0/package/yast2-product-creator.spec
--- old/yast2-product-creator-3.1.8/package/yast2-product-creator.spec  
2016-06-06 09:50:48.791267516 +0200
+++ new/yast2-product-creator-3.2.0/package/yast2-product-creator.spec  
2017-03-29 10:29:07.258185430 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-product-creator
-Version:        3.1.8
+Version:        3.2.0
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-product-creator-3.1.8/src/include/product-creator/dialogs.rb 
new/yast2-product-creator-3.2.0/src/include/product-creator/dialogs.rb
--- old/yast2-product-creator-3.1.8/src/include/product-creator/dialogs.rb      
2016-06-06 09:50:48.807267516 +0200
+++ new/yast2-product-creator-3.2.0/src/include/product-creator/dialogs.rb      
2017-03-29 10:29:07.278185430 +0200
@@ -794,13 +794,14 @@
       false
     end
 
-
     # Dialog for selecting the sources
     # @return [Symbol]
     def sourceDialog
       # dialog caption
       caption = _("Source Selection")
 
+      ProductCreator.restore_repos_state
+
       SourceManager.ReadSources
       sources = fillSourceTable([], true, "")
       Builtins.y2debug("sources: %1", sources)
@@ -1028,6 +1029,8 @@
 
             # finish the target
             Pkg.TargetFinish
+          else
+            ProductCreator.enable_needed_repos(selected_items)
           end
 
           @going_back = false
@@ -1464,7 +1467,7 @@
             result = nil
           end
         end
-      end until result == :cancel || result == :accept
+      end until result == :cancel || result == :accept || result == :next
 
       result = :next if result == :accept
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-product-creator-3.1.8/src/modules/ProductCreator.rb 
new/yast2-product-creator-3.2.0/src/modules/ProductCreator.rb
--- old/yast2-product-creator-3.1.8/src/modules/ProductCreator.rb       
2016-05-03 15:44:02.006151399 +0200
+++ new/yast2-product-creator-3.2.0/src/modules/ProductCreator.rb       
2017-03-29 10:29:07.282185430 +0200
@@ -32,6 +32,11 @@
 
 module Yast
   class ProductCreatorClass < Module
+    include Yast::Logger
+
+    # @return [Array<Integer>] Temporarily enabled repositories
+    attr_accessor :tmp_enabled
+
     def main
       Yast.import "UI"
       Yast.import "Pkg"
@@ -126,6 +131,10 @@
 
       # map additional products to "Addon" directory
       @product_map = {}
+
+      # temporarily enabled repositories
+      @tmp_enabled = []
+
       ProductCreator()
     end
 
@@ -3729,6 +3738,40 @@
       true
     end
 
+    # Enable needed repositories
+    #
+    # The idea is to make patterns/packages available during selection
+    # (bsc#1028661). The list of enabled repositories is stored at
+    # ProductCreator.Config.
+    #
+    # @param selected [Array<Integer>] Selected sources
+    # @see restore_repos_state
+    def enable_needed_repos(selected)
+      self.tmp_enabled = selected.each_with_object([]) do |src, list|
+        general_info = Pkg.SourceGeneralData(src)
+        list << src unless general_info["enabled"]
+      end
+
+      tmp_enabled.each do |src|
+        log.info "Enabling and refreshing repository #{src}"
+        Pkg.SourceSetEnabled(src, true)
+        Pkg.SourceRefreshNow(src)
+      end
+    end
+
+    # Restore repositories state
+    #
+    # Undo changes introduced by #enabled_needed_repos.
+    #
+    # @see enable_needed_repos
+    def restore_repos_state
+      tmp_enabled.each do |src|
+        log.info "Disabling repository #{src}"
+        Pkg.SourceSetEnabled(src, false)
+      end
+      tmp_enabled.clear
+    end
+
     # Constructor
     def ProductCreator
       configSetup
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-product-creator-3.1.8/test/product_creator_test.rb 
new/yast2-product-creator-3.2.0/test/product_creator_test.rb
--- old/yast2-product-creator-3.1.8/test/product_creator_test.rb        
1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-product-creator-3.2.0/test/product_creator_test.rb        
2017-03-29 10:29:07.282185430 +0200
@@ -0,0 +1,64 @@
+#!/usr/bin/env rspec
+
+require_relative "test_helper"
+
+Yast.import "Pkg"
+Yast.import "ProductCreator"
+Yast.import "AddOnCreator"
+
+describe Yast::ProductCreator do
+  subject { Yast::ProductCreator }
+
+  before { Yast::ProductCreator.main }
+
+  describe "#enable_needed_repos" do
+    REPOS = {
+      1 => { "id" => 1, "enabled" => true },
+      2 => { "id" => 2, "enabled" => false }
+    }
+
+    before do
+      allow(Yast::Pkg).to receive(:SourceGeneralData) { |i| REPOS[i] }
+    end
+
+    it "enables disabled repositories" do
+      expect(Yast::Pkg).to receive(:SourceSetEnabled).with(2, true)
+      expect(Yast::Pkg).to receive(:SourceRefreshNow).with(2)
+      expect(Yast::Pkg).to_not receive(:SourceRefreshNow).with(1)
+      subject.enable_needed_repos([1, 2])
+    end
+
+    it "register repositories to restore their state later" do
+      subject.enable_needed_repos([1, 2])
+      expect(subject.tmp_enabled).to eq([2])
+    end
+  end
+
+  describe "#restore_repos_state" do
+    before do
+      allow(Yast::Pkg).to receive(:SourceGeneralData).and_return("id" => 1, 
"enabled" => false)
+      allow(Yast::Pkg).to receive(:SourceSetEnabled)
+      allow(Yast::Pkg).to receive(:SourceRefreshNow)
+    end
+
+    context "when some repositories were enabled" do
+      let(:source) { 1 }
+
+      before do
+        subject.enable_needed_repos([source])
+      end
+
+      it "it disables previously enabled repositories" do
+        expect(Yast::Pkg).to receive(:SourceSetEnabled).with(source, false)
+        subject.restore_repos_state
+      end
+    end
+
+    context "when no repositories were enabled" do
+      it "does not disable any repository" do
+        expect(Yast::Pkg).to_not receive(:SourceSetEnabled)
+        subject.restore_repos_state
+      end
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-product-creator-3.1.8/test/test_helper.rb 
new/yast2-product-creator-3.2.0/test/test_helper.rb
--- old/yast2-product-creator-3.1.8/test/test_helper.rb 1970-01-01 
01:00:00.000000000 +0100
+++ new/yast2-product-creator-3.2.0/test/test_helper.rb 2017-03-29 
10:29:07.282185430 +0200
@@ -0,0 +1,59 @@
+# Copyright (c) 2017 SUSE LLC.
+#
+#  All Rights Reserved.
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the terms of version 2 or 3 of the GNU General
+#  Public License as published by the Free Software Foundation.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.   See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with this program; if not, contact SUSE LLC.
+#
+#  To contact SUSE about this file by physical or electronic mail,
+#  you may find current contact information at www.suse.com
+#
+# Set the paths
+src_path = File.expand_path("../../src", __FILE__)
+ENV["Y2DIR"] = src_path
+
+require "yast"
+require "yast/rspec"
+require "pathname"
+
+if ENV["COVERAGE"]
+  require "simplecov"
+  SimpleCov.start do
+    add_filter "/test/"
+  end
+
+  # Files to track for code coverage
+  SimpleCov.track_files("#{src_path}/**/*.rb")
+
+  # use coveralls for on-line code coverage reporting at Travis CI
+  if ENV["TRAVIS"]
+    require "coveralls"
+    SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
+      SimpleCov::Formatter::HTMLFormatter,
+      Coveralls::SimpleCov::Formatter
+    ]
+  end
+end
+
+# configure RSpec
+RSpec.configure do |config|
+  config.mock_with :rspec do |c|
+    # 
https://relishapp.com/rspec/rspec-mocks/v/3-0/docs/verifying-doubles/partial-doubles
+    c.verify_partial_doubles = true
+
+    config.extend Yast::I18n  # available in context/describe
+    config.include Yast::I18n # available in it/let/before/...
+  end
+end
+
+TESTS_PATH = Pathname.new(File.dirname(__FILE__))
+FIXTURES_PATH = TESTS_PATH.join("fixtures")


Reply via email to