Hello community, here is the log from the commit of package yast2 for openSUSE:Factory checked in at 2016-04-11 09:11:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2 (Old) and /work/SRC/openSUSE:Factory/.yast2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2" Changes: -------- --- /work/SRC/openSUSE:Factory/yast2/yast2.changes 2016-03-26 15:12:02.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.yast2.new/yast2.changes 2016-04-11 09:11:55.000000000 +0200 @@ -1,0 +2,21 @@ +Mon Apr 4 14:36:18 CEST 2016 - sch...@suse.de + +- Added system_time to ylib_DATA. + Cleanup for bnc#956730. +- 3.1.183 + +------------------------------------------------------------------- +Fri Apr 1 14:35:38 CEST 2016 - sch...@suse.de + +- Moved "uptime" from package autoyast2 to yast2. + Cleanup for bnc#956730. +- 3.1.182 + +------------------------------------------------------------------- +Tue Mar 29 13:37:40 UTC 2016 - lsle...@suse.cz + +- Display a confirmation dialog when a file conflict is detected + during package installation (bsc#923590) +- 3.1.181 + +------------------------------------------------------------------- Old: ---- yast2-3.1.180.tar.bz2 New: ---- yast2-3.1.183.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2.spec ++++++ --- /var/tmp/diff_new_pack.tk13xv/_old 2016-04-11 09:11:56.000000000 +0200 +++ /var/tmp/diff_new_pack.tk13xv/_new 2016-04-11 09:11:56.000000000 +0200 @@ -17,7 +17,7 @@ Name: yast2 -Version: 3.1.180 +Version: 3.1.183 Release: 0 Url: https://github.com/yast/yast-yast2 ++++++ yast2-3.1.180.tar.bz2 -> yast2-3.1.183.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.180/library/packages/src/Makefile.am new/yast2-3.1.183/library/packages/src/Makefile.am --- old/yast2-3.1.180/library/packages/src/Makefile.am 2016-03-23 18:50:52.000000000 +0100 +++ new/yast2-3.1.183/library/packages/src/Makefile.am 2016-04-04 14:45:03.000000000 +0200 @@ -23,6 +23,7 @@ ylib_DATA = \ lib/packages/commit_result.rb \ lib/packages/dummy_callbacks.rb \ + lib/packages/file_conflict_callbacks.rb \ lib/packages/update_message.rb \ lib/packages/update_messages_view.rb diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.180/library/packages/src/lib/packages/file_conflict_callbacks.rb new/yast2-3.1.183/library/packages/src/lib/packages/file_conflict_callbacks.rb --- old/yast2-3.1.180/library/packages/src/lib/packages/file_conflict_callbacks.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-3.1.183/library/packages/src/lib/packages/file_conflict_callbacks.rb 2016-04-04 14:45:03.000000000 +0200 @@ -0,0 +1,186 @@ + +# ------------------------------------------------------------------------------ +# Copyright (c) 2016 SUSE LLC +# +# This program is free software; you can redistribute it and/or modify it under +# the terms of version 2 of the GNU General Public License as published by the +# Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# ------------------------------------------------------------------------------ +# + +require "yast" + +module Packages + # Default file conflicts callbacks for package bindings. To register the + # callbacks in Yast::Pkg just call {Packages::FileConflictCallbacks.register} + class FileConflictCallbacks + # Widget ID (created by other code) + PKG_INSTALL_WIDGET = :progressCurrentPackage + + class << self + include Yast::Logger + include Yast::I18n + include Yast::UIShortcuts + + # register the file conflict callbacks + def register + Yast.import "Pkg" + Yast.import "UI" + Yast.import "Progress" + Yast.import "Mode" + Yast.import "CommandLine" + Yast.import "Report" + Yast.import "Label" + Yast.import "PackageCallbacks" + + textdomain "base" + + register_file_conflict_callbacks + end + + private + + # Helper function for creating an YaST function reference + def fun_ref(*args) + Yast::FunRef.new(*args) + end + + # Register the default file conflicts callbacks + def register_file_conflict_callbacks + log.info "Registering file conflict callbacks" + + Yast::Pkg.CallbackFileConflictStart(fun_ref(method(:start), "void ()")) + Yast::Pkg.CallbackFileConflictProgress(fun_ref(method(:progress), + "boolean (integer)")) + Yast::Pkg.CallbackFileConflictReport(fun_ref(method(:report), + "boolean (list<string>, list<string>)")) + Yast::Pkg.CallbackFileConflictFinish(fun_ref(method(:finish), "void ()")) + + nil + end + + # Is the package installation progress displayed? + # @return [Boolean] true if package installation progress is displayed + def pkg_installation? + Yast::UI.WidgetExists(PKG_INSTALL_WIDGET) + end + + # Handle the file conflict detection start callback. + def start + log.info "Starting the file conflict check..." + # TRANSLATORS: progress bar label + label = _("Checking file conflicts...") + + if Yast::Mode.commandline + Yast::CommandLine.PrintVerbose(label) + elsif pkg_installation? + # package slideshow with progress already present + Yast::UI.ChangeWidget(Id(PKG_INSTALL_WIDGET), :Value, 0) + Yast::UI.ChangeWidget(Id(PKG_INSTALL_WIDGET), :Label, label) + else + # TRANSLATORS: help text for the file conflict detection progress + help = _("<p>Detecting the file conflicts is in progress.</p>") + # Use the same label for the window title and the progressbar label + Yast::Progress.Simple(label, label, 100, help) + end + end + + # Handle the file conflict detection progress callback. + # @param [Fixnum] progress progress in percents + # @return [Boolean] true = continue, false = abort + def progress(progress) + log.debug "File conflict progress: #{progress}%" + + if Yast::Mode.commandline + Yast::CommandLine.PrintVerboseNoCR("#{Yast::PackageCallbacksClass::CLEAR_PROGRESS_TEXT}#{progress}%") + elsif pkg_installation? + Yast::UI.ChangeWidget(Id(PKG_INSTALL_WIDGET), :Value, progress) + else + Yast::Progress.Step(progress) + end + + ui = Yast::UI.PollInput unless Yast::Mode.commandline + log.info "User input in file conflict progress (#{progress}%): #{ui}" if ui + + ui != :abort && ui != :cancel + end + + # Handle the file conflict detection result callback. + # Ask to user whether to continue. In the AutoYaST mode an error is reported + # but the installation will continue ignoring the confliucts. + # @param excluded_packages [Array<String>] packages ignored in the check + # (e.g. not available for check in the download-as-needed mode) + # @param conflicts [Array<String>] list of translated descriptions of + # the detected file conflicts + # @return [Boolean] true = continue, false = abort + def report(excluded_packages, conflicts) + log.info "Excluded #{excluded_packages.size} packages in file conflict check" + log.debug "Excluded packages: #{excluded_packages.inspect}" + log.info "Found #{conflicts.size} conflicts: #{conflicts.join("\n\n")}" + + # just continue installing packages if there is no conflict + return true if conflicts.empty? + + # don't ask in autoyast or command line mode, just report/log the issues and continue + if Yast::Mode.auto || Yast::Mode.commandline + # TRANSLATORS: An error message, %s is the actual list of detected conflicts + Yast::Report.Error(_("File conflicts detected, these conflicting files will " \ + "be overwritten:\n\n%s") % conflicts.join("\n\n")) + return true + end + + Yast::UI.OpenDialog(dialog(conflicts)) + + begin + Yast::UI.SetFocus(Id(:continue)) + ret = Yast::UI.UserInput + log.info "User Input: #{ret}" + ret == :continue + ensure + Yast::UI.CloseDialog + end + end + + # Handle the file conflict detection finish callback. + def finish + log.info "File conflict check finished" + return if Yast::Mode.commandline + + # finish the opened progress dialog + Yast::Progress.Finish unless pkg_installation? + end + + # Construct the file conflicts dialog. + # @param [Array<String>] conflicts file conflicts reported by libzypp + # (in human readable form) + # @return [Term] UI term + def dialog(conflicts) + button_box = ButtonBox( + PushButton(Id(:continue), Opt(:default, :okButton), Yast::Label.ContinueButton), + PushButton(Id(:abort), Opt(:cancelButton), Yast::Label.AbortButton) + ) + + # TRANSLATORS: A popup label, use max. 70 chars per line, use more lines if needed + label = _("File conflicts happen when two packages attempt to install\n" \ + "files with the same name but different contents. If you continue\n" \ + "the conflicting files will be replaced, losing the previous content.") + + # TRANSLATORS: Popup heading + heading = n_("A File Conflict Detected", "File Conflicts Detected", conflicts.size) + + VBox( + Left(Heading(heading)), + VSpacing(0.2), + Left(Label(label)), + MinSize(65, 15, RichText(Opt(:plainText), conflicts.join("\n\n"))), + button_box + ) + end + end + end +end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.180/library/packages/src/modules/PackageCallbacks.rb new/yast2-3.1.183/library/packages/src/modules/PackageCallbacks.rb --- old/yast2-3.1.180/library/packages/src/modules/PackageCallbacks.rb 2016-03-23 18:50:52.000000000 +0100 +++ new/yast2-3.1.183/library/packages/src/modules/PackageCallbacks.rb 2016-04-04 14:45:03.000000000 +0200 @@ -25,6 +25,7 @@ require "yast" require "uri" require "packages/dummy_callbacks" +require "packages/file_conflict_callbacks" module Yast # Provides the default Callbacks for Pkg:: @@ -2759,6 +2760,10 @@ nil end + def SetFileConflictCallbacks + ::Packages::FileConflictCallbacks.register + end + # Register package manager callbacks def InitPackageCallbacks SetProcessCallbacks() @@ -2775,6 +2780,8 @@ SetProgressReportCallbacks() + SetFileConflictCallbacks() + # authentication callback Pkg.CallbackAuthentication( fun_ref( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.180/library/packages/src/modules/SlideShow.rb new/yast2-3.1.183/library/packages/src/modules/SlideShow.rb --- old/yast2-3.1.180/library/packages/src/modules/SlideShow.rb 2016-03-23 18:50:52.000000000 +0100 +++ new/yast2-3.1.183/library/packages/src/modules/SlideShow.rb 2016-04-04 14:45:03.000000000 +0200 @@ -106,6 +106,7 @@ # - optional package table # - release notes viewer require "yast" +require "yast2/system_time" module Yast class SlideShowClass < Module @@ -132,7 +133,7 @@ @start_time = -1 @initial_recalc_delay = 60 # const - seconds before initially calculating remaining times @recalc_interval = 30 # const - seconds between "remaining time" recalculations - @next_recalc_time = Builtins.time + @next_recalc_time = Yast2::SystemTime.uptime @current_slide_no = 0 @slide_start_time = 0 @@ -187,7 +188,7 @@ # Start the internal (global) timer. # def StartTimer - @start_time = Builtins.time + @start_time = Yast2::SystemTime.uptime nil end @@ -195,7 +196,7 @@ # Reset the internal (global) timer. # def ResetTimer - @start_time = Builtins.time + @start_time = Yast2::SystemTime.uptime nil end @@ -208,7 +209,7 @@ return end - elapsed = Ops.subtract(Builtins.time, @start_time) + elapsed = Ops.subtract(Yast2::SystemTime.uptime, @start_time) @start_time = -1 @total_time_elapsed = Ops.add(@total_time_elapsed, elapsed) Builtins.y2debug( @@ -458,7 +459,7 @@ @current_slide_no = slide_no slide_name = Ops.get(Slides.slides, slide_no, "") - @slide_start_time = Builtins.time + @slide_start_time = Yast2::SystemTime.uptime SetSlideText(Slides.LoadSlideFile(slide_name)) @@ -469,7 +470,7 @@ # necessary. # def ChangeSlideIfNecessary - if Builtins.time > (@slide_start_time + @slide_interval) + if Yast2::SystemTime.uptime > (@slide_start_time + @slide_interval) LoadSlide(@current_slide_no + 1) end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.180/library/packages/test/Makefile.am new/yast2-3.1.183/library/packages/test/Makefile.am --- old/yast2-3.1.180/library/packages/test/Makefile.am 2016-03-23 18:50:52.000000000 +0100 +++ new/yast2-3.1.183/library/packages/test/Makefile.am 2016-04-04 14:45:03.000000000 +0200 @@ -1,6 +1,7 @@ TESTS = \ commit_result_test.rb \ dummy_callbacks_test.rb \ + file_conflict_callbacks_test.rb \ package_callbacks_test.rb \ packages_ui_test.rb \ product_test.rb \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.180/library/packages/test/file_conflict_callbacks_test.rb new/yast2-3.1.183/library/packages/test/file_conflict_callbacks_test.rb --- old/yast2-3.1.180/library/packages/test/file_conflict_callbacks_test.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-3.1.183/library/packages/test/file_conflict_callbacks_test.rb 2016-04-04 14:45:03.000000000 +0200 @@ -0,0 +1,298 @@ +#! /usr/bin/env rspec + +require_relative "test_helper" + +require "packages/file_conflict_callbacks" + +# a helper class to replace Yast::Pkg +class DummyPkg + # remember the registered file conflict callback handlers to test them later + attr_reader :fc_start, :fc_progress, :fc_report, :fc_finish + + def CallbackFileConflictStart(func) + @fc_start = func + end + + def CallbackFileConflictProgress(func) + @fc_progress = func + end + + def CallbackFileConflictReport(func) + @fc_report = func + end + + def CallbackFileConflictFinish(func) + @fc_finish = func + end +end + +describe Packages::FileConflictCallbacks do + let(:dummy_pkg) { DummyPkg.new } + + before do + # catch all callbacks registration calls via this Pkg replacement + stub_const("Yast::Pkg", dummy_pkg) + + # stub console printing + Yast.import "CommandLine" + allow(Yast::CommandLine).to receive(:Print) + allow(Yast::CommandLine).to receive(:PrintVerbose) + allow(Yast::CommandLine).to receive(:PrintVerboseNoCR) + end + + describe ".register" do + it "calls the Pkg methods for registering the file conflicts handlers" do + expect(dummy_pkg).to receive(:CallbackFileConflictStart) + expect(dummy_pkg).to receive(:CallbackFileConflictProgress) + expect(dummy_pkg).to receive(:CallbackFileConflictReport) + expect(dummy_pkg).to receive(:CallbackFileConflictFinish) + + Packages::FileConflictCallbacks.register + end + end + + describe "the registered start callback handler" do + let(:start_cb) do + Packages::FileConflictCallbacks.register + dummy_pkg.fc_start + end + + context "in the command line mode" do + before do + allow(Yast::Mode).to receive(:commandline).and_return(true) + end + + it "does not call any UI method" do + ui = double("no method call expected") + stub_const("Yast::UI", ui) + + start_cb.call + end + end + + context "in UI mode" do + it "reuses the package installation progress" do + expect(Yast::UI).to receive(:WidgetExists).and_return(true) + expect(Yast::UI).to receive(:ChangeWidget).twice + + start_cb.call + end + + it "opens a new progress if installation progress was not displayed" do + expect(Yast::UI).to receive(:WidgetExists).and_return(false) + expect(Yast::Progress).to receive(:Simple) + + start_cb.call + end + end + end + + describe "the registered progress callback handler" do + let(:progress_cb) do + Packages::FileConflictCallbacks.register + dummy_pkg.fc_progress + end + + # fake progress value (percent) + let(:progress) { 42 } + + context "in the command line mode" do + before do + allow(Yast::Mode).to receive(:commandline).and_return(true) + end + + it "does not call any UI method" do + ui = double("no method call expected") + stub_const("Yast::UI", ui) + + progress_cb.call(progress) + end + + it "prints the current progress" do + expect(Yast::CommandLine).to receive(:PrintVerboseNoCR).with(/42%/) + + progress_cb.call(progress) + end + + it "returns true to continue" do + expect(progress_cb.call(progress)).to eq(true) + end + end + + context "in UI mode" do + it "returns false to abort if user clicks Abort" do + expect(Yast::UI).to receive(:PollInput).and_return(:abort) + + expect(progress_cb.call(progress)).to eq(false) + end + + it "returns true to continue when no user input" do + expect(Yast::UI).to receive(:PollInput).and_return(nil) + + expect(progress_cb.call(progress)).to eq(true) + end + + it "returns true to continue on unknown user input" do + expect(Yast::UI).to receive(:PollInput).and_return(:next) + + expect(progress_cb.call(progress)).to eq(true) + end + + it "uses the existing widget if package installation progress was displayed" do + expect(Yast::UI).to receive(:WidgetExists).and_return(true) + expect(Yast::UI).to receive(:ChangeWidget) + + progress_cb.call(progress) + end + + it "sets the progress if package installation progress was not displayed" do + expect(Yast::UI).to receive(:WidgetExists).and_return(false) + expect(Yast::Progress).to receive(:Step).with(progress) + + progress_cb.call(progress) + end + end + end + + describe "the registered report callback handler" do + let(:report_cb) do + Packages::FileConflictCallbacks.register + dummy_pkg.fc_report + end + + context "no conflict found" do + let(:conflicts) { [] } + let(:excluded) { [] } + + before do + allow(Yast::Mode).to receive(:commandline).and_return(true) + end + + it "does not check the command line mode, it behaves same as in the UI mode" do + expect(Yast::Mode).to_not receive(:commandline) + report_cb.call(excluded, conflicts) + end + + it "does not call any UI method" do + ui = double("no method call expected") + stub_const("Yast::UI", ui) + + report_cb.call(excluded, conflicts) + end + + it "returns true to continue" do + expect(report_cb.call(excluded, conflicts)).to eq(true) + end + end + + context "conflicts found" do + let(:conflicts) { ["conflict1!", "conflict2!"] } + let(:excluded) { [] } + + context "in the command line mode" do + before do + allow(Yast::Mode).to receive(:commandline).and_return(true) + end + + it "does not call any UI method" do + ui = double("no method call expected") + stub_const("Yast::UI", ui) + + report_cb.call(excluded, conflicts) + end + + it "prints the found conflicts" do + expect(Yast::Report).to receive(:Error) + + report_cb.call(excluded, conflicts) + end + + it "returns true to continue" do + expect(report_cb.call(excluded, conflicts)).to eq(true) + end + end + + context "in AutoYaST mode" do + before do + expect(Yast::Mode).to receive(:auto).and_return(true) + allow(Yast::Report).to receive(:Error) + end + + it "reporrts the found conflicts" do + expect(Yast::Report).to receive(:Error) + + report_cb.call(excluded, conflicts) + end + + it "returns true to continue" do + expect(report_cb.call(excluded, conflicts)).to eq(true) + end + end + + context "in UI mode" do + before do + allow(Yast::UI).to receive(:OpenDialog) + allow(Yast::UI).to receive(:CloseDialog) + allow(Yast::UI).to receive(:SetFocus) + end + + it "opens a Popup dialog, waits for user input and closes the dialog" do + expect(Yast::UI).to receive(:OpenDialog).ordered + expect(Yast::UI).to receive(:UserInput).ordered + expect(Yast::UI).to receive(:CloseDialog).ordered + + report_cb.call(excluded, conflicts) + end + + it "returns false to abort if user clicks Abort" do + expect(Yast::UI).to receive(:UserInput).and_return(:abort) + + expect(report_cb.call(excluded, conflicts)).to eq(false) + end + + it "returns true to continue if user clicks Continue" do + expect(Yast::UI).to receive(:UserInput).and_return(:continue) + + expect(report_cb.call(excluded, conflicts)).to eq(true) + end + end + end + end + + describe "the registered finish callback handler" do + let(:finish_cb) do + Packages::FileConflictCallbacks.register + dummy_pkg.fc_finish + end + + context "in the command line mode" do + before do + allow(Yast::Mode).to receive(:commandline).and_return(true) + end + + it "does not call any UI method" do + ui = double("no method call expected") + stub_const("Yast::UI", ui) + + finish_cb.call + end + end + + context "in UI mode" do + it "no change if installation progress was already displayed" do + ui = double("no method call expected", WidgetExists: true) + stub_const("Yast::UI", ui) + + finish_cb.call + end + + it "closes progress if installation progress was not displayed" do + expect(Yast::UI).to receive(:WidgetExists).and_return(false) + expect(Yast::Progress).to receive(:Finish) + + finish_cb.call + end + + end + end +end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.180/library/system/src/Makefile.am new/yast2-3.1.183/library/system/src/Makefile.am --- old/yast2-3.1.180/library/system/src/Makefile.am 2016-03-23 18:50:52.000000000 +0100 +++ new/yast2-3.1.183/library/system/src/Makefile.am 2016-04-04 14:45:03.000000000 +0200 @@ -33,7 +33,8 @@ lib/yast2/hw_detection.rb \ lib/yast2/fs_snapshot.rb \ lib/yast2/fs_snapshot_store.rb \ - lib/yast2/target_file.rb + lib/yast2/target_file.rb \ + lib/yast2/system_time.rb EXTRA_DIST = $(module_DATA) $(client_DATA) $(ynclude_DATA) $(scrconf_DATA) $(desktop_DATA) $(ylib_DATA) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.180/library/system/src/lib/yast2/system_time.rb new/yast2-3.1.183/library/system/src/lib/yast2/system_time.rb --- old/yast2-3.1.180/library/system/src/lib/yast2/system_time.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-3.1.183/library/system/src/lib/yast2/system_time.rb 2016-04-04 14:45:03.000000000 +0200 @@ -0,0 +1,39 @@ +# encoding: utf-8 + +# *************************************************************************** +# +# Copyright (c) 2016 SUSE LLC +# All Rights Reserved. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of version 2 of the GNU General Public License as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, contact Novell, Inc. +# +# To contact Novell about this file by physical or electronic mail, +# you may find current contact information at www.novell.com +# +# *************************************************************************** +# File: system_time.rb +# + +require "yast" + +module Yast2 + # Module for handling system time + class SystemTime + # Determines the current uptime + # + # @return [Float] Current uptime in seconds + def self.uptime + Process.clock_gettime(Process::CLOCK_MONOTONIC) + end + end +end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.180/library/system/test/system_time_test.rb new/yast2-3.1.183/library/system/test/system_time_test.rb --- old/yast2-3.1.180/library/system/test/system_time_test.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-3.1.183/library/system/test/system_time_test.rb 2016-04-04 14:45:03.000000000 +0200 @@ -0,0 +1,13 @@ +#!/usr/bin/env rspec + +require_relative "test_helper" +require_relative "../src/lib/yast2/system_time" + +describe "SystemTime" do + + describe "#uptime" do + it "returns a time stamp" do + expect(Yast2::SystemTime.uptime).to be_a_kind_of(Numeric) + end + end +end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.180/package/yast2-rpmlintrc new/yast2-3.1.183/package/yast2-rpmlintrc --- old/yast2-3.1.180/package/yast2-rpmlintrc 2016-03-23 18:50:52.000000000 +0100 +++ new/yast2-3.1.183/package/yast2-rpmlintrc 2016-04-04 14:45:03.000000000 +0200 @@ -1 +1 @@ -addFilter("invalid-desktopfile") +addFilter("desktopfile-without-binary") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.180/package/yast2.changes new/yast2-3.1.183/package/yast2.changes --- old/yast2-3.1.180/package/yast2.changes 2016-03-23 18:50:52.000000000 +0100 +++ new/yast2-3.1.183/package/yast2.changes 2016-04-04 14:45:03.000000000 +0200 @@ -1,4 +1,25 @@ ------------------------------------------------------------------- +Mon Apr 4 14:36:18 CEST 2016 - sch...@suse.de + +- Added system_time to ylib_DATA. + Cleanup for bnc#956730. +- 3.1.183 + +------------------------------------------------------------------- +Fri Apr 1 14:35:38 CEST 2016 - sch...@suse.de + +- Moved "uptime" from package autoyast2 to yast2. + Cleanup for bnc#956730. +- 3.1.182 + +------------------------------------------------------------------- +Tue Mar 29 13:37:40 UTC 2016 - lsle...@suse.cz + +- Display a confirmation dialog when a file conflict is detected + during package installation (bsc#923590) +- 3.1.181 + +------------------------------------------------------------------- Wed Mar 23 16:26:26 UTC 2016 - c...@suse.com - Added proc_modules.scr from yast-installation to avoid that diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.180/package/yast2.spec new/yast2-3.1.183/package/yast2.spec --- old/yast2-3.1.180/package/yast2.spec 2016-03-23 18:50:52.000000000 +0100 +++ new/yast2-3.1.183/package/yast2.spec 2016-04-04 14:45:03.000000000 +0200 @@ -17,7 +17,7 @@ Name: yast2 -Version: 3.1.180 +Version: 3.1.183 Release: 0 Url: https://github.com/yast/yast-yast2 ++++++ yast2-rpmlintrc ++++++ --- /var/tmp/diff_new_pack.tk13xv/_old 2016-04-11 09:11:56.000000000 +0200 +++ /var/tmp/diff_new_pack.tk13xv/_new 2016-04-11 09:11:56.000000000 +0200 @@ -1 +1 @@ -addFilter("invalid-desktopfile") +addFilter("desktopfile-without-binary")