Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package yast2-storage-ng for openSUSE:Factory checked in at 2021-06-24 18:21:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-storage-ng (Old) and /work/SRC/openSUSE:Factory/.yast2-storage-ng.new.2625 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-storage-ng" Thu Jun 24 18:21:52 2021 rev:104 rq:900153 version:4.4.6 Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-storage-ng/yast2-storage-ng.changes 2021-05-02 18:36:30.932845666 +0200 +++ /work/SRC/openSUSE:Factory/.yast2-storage-ng.new.2625/yast2-storage-ng.changes 2021-06-24 18:21:55.880873429 +0200 @@ -1,0 +2,41 @@ +Tue Jun 15 10:21:16 UTC 2021 - Imobach Gonzalez Sosa <igonzalezs...@suse.com> + +- Fix the Comment entry in the desktop file so the tooltip + in the control center is properly translated (bsc#1187270). +- 4.4.6 + +------------------------------------------------------------------- +Mon Jun 7 09:26:58 UTC 2021 - Steffen Winterfeldt <snw...@suse.com> + +- ensure mount options are not doubled (bsc#1186298) +- 4.4.5 + +------------------------------------------------------------------- +Fri Jun 4 12:12:49 UTC 2021 - Steffen Winterfeldt <snw...@suse.com> + +- try harder matching device names (bsc#1186268) +- 4.4.4 + +------------------------------------------------------------------- +Thu May 20 08:42:54 UTC 2021 - Knut Anderssen <kanders...@suse.com> + +- Make the 'Change Used Devices' menu item translatable + (bsc#1185060). +- 4.4.3 + +------------------------------------------------------------------- +Sun May 16 08:11:46 UTC 2021 - Dirk M??ller <dmuel...@suse.com> + +- only list specific files installed in common directories (metainfo, + icons, fillupdir) + +- 4.4.2 (bsc#1186066, bsc#1184786) + +------------------------------------------------------------------- +Thu May 6 08:00:23 UTC 2021 - Martin Vidner <mvid...@suse.com> + +- Display pathnames correctly in a Right-to-Left context + (bsc#1128091). +- 4.4.1 + +------------------------------------------------------------------- Old: ---- yast2-storage-ng-4.4.0.tar.bz2 New: ---- yast2-storage-ng-4.4.6.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-storage-ng.spec ++++++ --- /var/tmp/diff_new_pack.N91F9W/_old 2021-06-24 18:21:56.304873900 +0200 +++ /var/tmp/diff_new_pack.N91F9W/_new 2021-06-24 18:21:56.308873904 +0200 @@ -17,7 +17,7 @@ Name: yast2-storage-ng -Version: 4.4.0 +Version: 4.4.6 Release: 0 Summary: YaST2 - Storage Configuration License: GPL-2.0-only OR GPL-3.0-only @@ -90,16 +90,16 @@ %endif %files +%license COPYING +%doc README.md %{yast_clientdir} -%{yast_libdir} %{yast_desktopdir} -%{yast_metainfodir} -%{yast_fillupdir} +%{yast_libdir} %{yast_ybindir} +%{_fillupdir}/*%{name}* # agents-scr %{yast_scrconfdir} -%{yast_icondir} -%license COPYING -%doc README.md +%{_datadir}/icons/hicolor/*/apps/yast-disk.* +%{_datadir}/metainfo/org.opensuse.yast.Disk.metainfo.xml %changelog ++++++ yast2-storage-ng-4.4.0.tar.bz2 -> yast2-storage-ng-4.4.6.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-ng-4.4.0/Rakefile new/yast2-storage-ng-4.4.6/Rakefile --- old/yast2-storage-ng-4.4.0/Rakefile 2021-04-30 18:20:53.000000000 +0200 +++ new/yast2-storage-ng-4.4.6/Rakefile 2021-06-15 14:02:26.000000000 +0200 @@ -19,6 +19,11 @@ require "yast/rake" Yast::Tasks.configuration do |conf| - conf.skip_license_check << /.*/ + conf.skip_license_check << /\.pdf$/ # binary + conf.skip_license_check << /\.desktop$/ + conf.skip_license_check << /\.scr$/ + # conf file template, you don't want licenses in your config files + conf.skip_license_check << /\/fillup\// + conf.documentation_minimal = 91 end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-ng-4.4.0/package/yast2-storage-ng.changes new/yast2-storage-ng-4.4.6/package/yast2-storage-ng.changes --- old/yast2-storage-ng-4.4.0/package/yast2-storage-ng.changes 2021-04-30 18:20:53.000000000 +0200 +++ new/yast2-storage-ng-4.4.6/package/yast2-storage-ng.changes 2021-06-15 14:02:26.000000000 +0200 @@ -1,4 +1,45 @@ ------------------------------------------------------------------- +Tue Jun 15 10:21:16 UTC 2021 - Imobach Gonzalez Sosa <igonzalezs...@suse.com> + +- Fix the Comment entry in the desktop file so the tooltip + in the control center is properly translated (bsc#1187270). +- 4.4.6 + +------------------------------------------------------------------- +Mon Jun 7 09:26:58 UTC 2021 - Steffen Winterfeldt <snw...@suse.com> + +- ensure mount options are not doubled (bsc#1186298) +- 4.4.5 + +------------------------------------------------------------------- +Fri Jun 4 12:12:49 UTC 2021 - Steffen Winterfeldt <snw...@suse.com> + +- try harder matching device names (bsc#1186268) +- 4.4.4 + +------------------------------------------------------------------- +Thu May 20 08:42:54 UTC 2021 - Knut Anderssen <kanders...@suse.com> + +- Make the 'Change Used Devices' menu item translatable + (bsc#1185060). +- 4.4.3 + +------------------------------------------------------------------- +Sun May 16 08:11:46 UTC 2021 - Dirk M??ller <dmuel...@suse.com> + +- only list specific files installed in common directories (metainfo, + icons, fillupdir) + +- 4.4.2 (bsc#1186066, bsc#1184786) + +------------------------------------------------------------------- +Thu May 6 08:00:23 UTC 2021 - Martin Vidner <mvid...@suse.com> + +- Display pathnames correctly in a Right-to-Left context + (bsc#1128091). +- 4.4.1 + +------------------------------------------------------------------- Tue Apr 20 13:51:55 UTC 2021 - Ladislav Slez??k <lsle...@suse.cz> - 4.4.0 (bsc#1185510) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-ng-4.4.0/package/yast2-storage-ng.spec new/yast2-storage-ng-4.4.6/package/yast2-storage-ng.spec --- old/yast2-storage-ng-4.4.0/package/yast2-storage-ng.spec 2021-04-30 18:20:53.000000000 +0200 +++ new/yast2-storage-ng-4.4.6/package/yast2-storage-ng.spec 2021-06-15 14:02:26.000000000 +0200 @@ -16,7 +16,7 @@ # Name: yast2-storage-ng -Version: 4.4.0 +Version: 4.4.6 Release: 0 Summary: YaST2 - Storage Configuration License: GPL-2.0-only OR GPL-3.0-only @@ -89,16 +89,16 @@ %endif %files +%license COPYING +%doc README.md %{yast_clientdir} -%{yast_libdir} %{yast_desktopdir} -%{yast_metainfodir} -%{yast_fillupdir} +%{yast_libdir} %{yast_ybindir} +%{_fillupdir}/*%{name}* # agents-scr %{yast_scrconfdir} -%{yast_icondir} -%license COPYING -%doc README.md +%{_datadir}/icons/hicolor/*/apps/yast-disk.* +%{_datadir}/metainfo/org.opensuse.yast.Disk.metainfo.xml %changelog diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-ng-4.4.0/src/bin/mask-systemd-units new/yast2-storage-ng-4.4.6/src/bin/mask-systemd-units --- old/yast2-storage-ng-4.4.0/src/bin/mask-systemd-units 2021-04-30 18:20:53.000000000 +0200 +++ new/yast2-storage-ng-4.4.6/src/bin/mask-systemd-units 2021-06-15 14:02:26.000000000 +0200 @@ -1,5 +1,22 @@ #!/bin/bash - +# Copyright (c) [2018-2020] 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 SUSE LLC. +# +# To contact SUSE LLC about this file by physical or electronic mail, you may +# find current contact information at www.suse.com. # This script can mask or unmask systemd mount and swap units since systemd # and YaST mounting the same file system leads to race conditions (see bsc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-ng-4.4.0/src/desktop/org.opensuse.yast.Disk.desktop new/yast2-storage-ng-4.4.6/src/desktop/org.opensuse.yast.Disk.desktop --- old/yast2-storage-ng-4.4.0/src/desktop/org.opensuse.yast.Disk.desktop 2021-04-30 18:20:53.000000000 +0200 +++ new/yast2-storage-ng-4.4.6/src/desktop/org.opensuse.yast.Disk.desktop 2021-06-15 14:02:26.000000000 +0200 @@ -19,5 +19,5 @@ Name=YaST Partitioner GenericName=Partitioner -Comment=Partition hard disks (including RAID, LVM, and encrypted file systems) +Comment="Partition hard disks (including RAID, LVM, and encrypted file systems)" StartupNotify=true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-ng-4.4.0/src/lib/bidi_markup.rb new/yast2-storage-ng-4.4.6/src/lib/bidi_markup.rb --- old/yast2-storage-ng-4.4.0/src/lib/bidi_markup.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-storage-ng-4.4.6/src/lib/bidi_markup.rb 2021-06-15 14:02:26.000000000 +0200 @@ -0,0 +1,157 @@ +# Copyright (c) [2020-2021] 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 SUSE LLC. +# +# To contact SUSE LLC about this file by physical or electronic mail, you may +# find current contact information at www.suse.com. + +# Bidirectional Text: Left-to-right (Latin) and right-to-left (Arabic). +# +# See https://en.wikipedia.org/wiki/Bidirectional_text +# +# If you feel lost, try wrapping a piece of text that belongs together with +# {.first_strong_isolate First Strong Isolate}. +# +# Quoting from the standard, Unicode TR 9, Section 6.3 Formatting, +# where UPPER CASE simulates a RTL script: +# +# > The most common problematic case is that of neutrals on the +# > boundary of an embedded language. This can be addressed by +# > setting the level of the embedded text correctly. For example, +# > with all the text at level 0 the following occurs: +# > +# > Memory: he said "I NEED WATER!", and expired. +# > Display: he said "RETAW DEEN I!", and expired. +# > +# > If the exclamation mark is to be part of the Arabic quotation, +# > then the user can select the text I NEED WATER! and explicitly +# > mark it as embedded Arabic, which produces the following result: +# > +# > Memory: he said "(RLI)I NEED WATER!(PDI)", and expired. +# > Display: he said "!RETAW DEEN I", and expired. +module BidiMarkup + LRE = "\u{202A}".freeze + RLE = "\u{202B}".freeze + PDF = "\u{202C}".freeze + LRO = "\u{202D}".freeze + RLO = "\u{202E}".freeze + LRI = "\u{2066}".freeze + RLI = "\u{2067}".freeze + FSI = "\u{2068}".freeze + PDI = "\u{2069}".freeze + + LEFT_TO_RIGHT_EMBEDDING = LRE + RIGHT_TO_LEFT_EMBEDDING = RLE + POP_DIRECTIONAL_FORMATTING = PDF + LEFT_TO_RIGHT_OVERRIDE = LRO + RIGHT_TO_LEFT_OVERRIDE = RLO + LEFT_TO_RIGHT_ISOLATE = LRI + RIGHT_TO_LEFT_ISOLATE = RLI + FIRST_STRONG_ISOLATE = FSI + POP_DIRECTIONAL_ISOLATE = PDI + + module_function + + # Wrap *str* in a pair of characters: Left-to-Right Embedding. + # + # @deprecated Use {.ltr_isolate}. + # Embedding is an older method that may have side effect on + # the *surrounding* text so since Unicode 6.3 (2013) it is discouraged + # in favor of Isolates. + def ltr_embed(str) + LRE + str + PDF + end + + # Wrap *str* in a pair of characters: Right-to-Left Embedding. + # + # @deprecated Use {.rtl_isolate}. + # Embedding is an older method that may have side effect on + # the *surrounding* text so since Unicode 6.3 (2013) it is discouraged + # in favor of Isolates. + def rtl_embed(str) + RLE + str + PDF + end + + # Wrap *str* in a pair of characters: Left-to-Right Override. + # + # Force text direction regardless of the characters it contains. + # "Can be used to force a part number made of mixed English, digits + # and Hebrew letters to be written from right to left." + def ltr_override(str) + LRO + str + PDF + end + + # Wrap *str* in a pair of characters: Right-to-Left Override. + # + # Force text direction regardless of the characters it contains. + # "Can be used to force a part number made of mixed English, digits + # and Hebrew letters to be written from right to left." + def rtl_override(str) + RLO + str + PDF + end + + # Wrap *str* in a pair of characters: Left-to-Right Isolate. + def ltr_isolate(str) + LRI + str + PDI + end + + # Wrap *str* in a pair of characters: Right-to-Left Isolate. + def rtl_isolate(str) + RLI + str + PDI + end + + # Wrap *str* in a pair of characters: First Strong Isolate. + # + # This is like LTR Isolate or RTL Isolate but the direction is decided by + # the first character that is directionally strong (usually a letter, not + # punctuation). + def first_strong_isolate(str) + FSI + str + PDI + end + + BIDI_CONTROLS = LRE + RLE + PDF + LRO + RLO + LRI + RLI + FSI + PDI + + LRM = "\u{200E}".freeze + RLM = "\u{200F}".freeze + ALM = "\u{061C}".freeze + + LEFT_TO_RIGHT_MARK = LRM + RIGHT_TO_LEFT_MARK = RLM + ARABIC_LETTER_MARK = ALM + + # Add bidi formatting characters to *pname* + # otherwise /dev/sda will be presented as dev/sda/ in RTL context + # @param pname [Pathname] + def pathname_bidi_to_s(pname) + return ltr_isolate(File::SEPARATOR) if pname.root? + + isolated_components = pname.each_filename.map { |fn| first_strong_isolate(fn) } + + isolated_components.unshift("") if pname.absolute? + joined = isolated_components.join(File::SEPARATOR) # "/" pedantry + + ltr_isolate(joined) + end + + # Return a copy of *str* where bidirectional formatting chars are removed. + # + # LRM, RLM, ALM are kept because they are not added by the methods + # of this module, a human has probably added them instead. + # @param str [String] + # @return [String] + def bidi_strip(str) + str.tr(BIDI_CONTROLS, "") + end +end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-ng-4.4.0/src/lib/y2partitioner/widgets/columns/base.rb new/yast2-storage-ng-4.4.6/src/lib/y2partitioner/widgets/columns/base.rb --- old/yast2-storage-ng-4.4.0/src/lib/y2partitioner/widgets/columns/base.rb 2021-04-30 18:20:53.000000000 +0200 +++ new/yast2-storage-ng-4.4.6/src/lib/y2partitioner/widgets/columns/base.rb 2021-06-15 14:02:26.000000000 +0200 @@ -19,6 +19,7 @@ require "yast" require "abstract_method" +require "bidi_markup" require "y2partitioner/device_graphs" module Y2Partitioner @@ -111,6 +112,23 @@ private + def left_to_right(path_string) + return path_string unless bidi_supported? + + pn = Pathname.new(path_string) + BidiMarkup.pathname_bidi_to_s(pn) + end + + # In ncurses the bidi characters would mess up columns, + # making things worse; return false there. + def bidi_supported? + return @bidi_supported unless @bidi_supported.nil? + + di = Yast::UI.GetDisplayInfo() || {} + text_mode = di.fetch("TextMode", true) + @bidi_supported = !text_mode + end + # Helper method to create a `cell` term # # @param args [Array] content of the cell diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-ng-4.4.0/src/lib/y2partitioner/widgets/columns/device.rb new/yast2-storage-ng-4.4.6/src/lib/y2partitioner/widgets/columns/device.rb --- old/yast2-storage-ng-4.4.0/src/lib/y2partitioner/widgets/columns/device.rb 2021-04-30 18:20:53.000000000 +0200 +++ new/yast2-storage-ng-4.4.6/src/lib/y2partitioner/widgets/columns/device.rb 2021-06-15 14:02:26.000000000 +0200 @@ -53,11 +53,12 @@ # The device name # + # @param entry [DeviceTableEntry] # @return [String] def device_name(device, entry) - return fstab_device_name(device, entry) if fstab_entry?(device) - return device.path if device.is?(:btrfs_subvolume) - return blk_device_name(device, entry) unless device.is?(:blk_filesystem) + return left_to_right(fstab_device_name(device, entry)) if fstab_entry?(device) + return left_to_right(device.path) if device.is?(:btrfs_subvolume) + return left_to_right(blk_device_name(device, entry)) unless device.is?(:blk_filesystem) device.name end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-ng-4.4.0/src/lib/y2partitioner/widgets/columns/mount_point.rb new/yast2-storage-ng-4.4.6/src/lib/y2partitioner/widgets/columns/mount_point.rb --- old/yast2-storage-ng-4.4.0/src/lib/y2partitioner/widgets/columns/mount_point.rb 2021-04-30 18:20:53.000000000 +0200 +++ new/yast2-storage-ng-4.4.6/src/lib/y2partitioner/widgets/columns/mount_point.rb 2021-06-15 14:02:26.000000000 +0200 @@ -38,13 +38,13 @@ # @see Columns::Base#value_for def value_for(device) - return device.mount_point if fstab_entry?(device) + return left_to_right(device.mount_point) if fstab_entry?(device) mount_point = mount_point_for(device) return "" unless mount_point - path = mount_point.path + path = left_to_right(mount_point.path) path += " *" unless mount_point.active? path diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-ng-4.4.0/src/lib/y2partitioner/widgets/menus/modify.rb new/yast2-storage-ng-4.4.6/src/lib/y2partitioner/widgets/menus/modify.rb --- old/yast2-storage-ng-4.4.0/src/lib/y2partitioner/widgets/menus/modify.rb 2021-04-30 18:20:53.000000000 +0200 +++ new/yast2-storage-ng-4.4.6/src/lib/y2partitioner/widgets/menus/modify.rb 2021-06-15 14:02:26.000000000 +0200 @@ -68,7 +68,7 @@ Item("---"), Item(Id(:menu_resize), _("&Resize...")), Item(Id(:menu_move), _("&Move...")), - Item(Id(:menu_change_devs), "Change &Used Devices..."), + Item(Id(:menu_change_devs), _("Change &Used Devices...")), Item("---"), Item(Id(:menu_create_ptable), _("Create New &Partition Table...")), Item(Id(:menu_clone_ptable), _("&Clone Partitions to Another Device...")) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-ng-4.4.0/src/lib/y2partitioner/widgets/tabs.rb new/yast2-storage-ng-4.4.6/src/lib/y2partitioner/widgets/tabs.rb --- old/yast2-storage-ng-4.4.0/src/lib/y2partitioner/widgets/tabs.rb 2021-04-30 18:20:53.000000000 +0200 +++ new/yast2-storage-ng-4.4.6/src/lib/y2partitioner/widgets/tabs.rb 2021-06-15 14:02:26.000000000 +0200 @@ -1,3 +1,22 @@ +# Copyright (c) [2017-2020] 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 SUSE LLC. +# +# To contact SUSE LLC about this file by physical or electronic mail, you may +# find current contact information at www.suse.com. + require "yast" require "cwm/tabs" require "y2partitioner/ui_state" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-ng-4.4.0/src/lib/y2partitioner/yard_links.rb new/yast2-storage-ng-4.4.6/src/lib/y2partitioner/yard_links.rb --- old/yast2-storage-ng-4.4.0/src/lib/y2partitioner/yard_links.rb 2021-04-30 18:20:53.000000000 +0200 +++ new/yast2-storage-ng-4.4.6/src/lib/y2partitioner/yard_links.rb 2021-06-15 14:02:26.000000000 +0200 @@ -1,3 +1,22 @@ +# 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 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 LLC about this file by physical or electronic mail, you may +# find current contact information at www.suse.com. + # The documentatin tool YARD has no mechanism # for linking to separately generated YARD documentation. # So we use this file to help YARD. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-ng-4.4.0/src/lib/y2storage/filesystems/blk_filesystem.rb new/yast2-storage-ng-4.4.6/src/lib/y2storage/filesystems/blk_filesystem.rb --- old/yast2-storage-ng-4.4.0/src/lib/y2storage/filesystems/blk_filesystem.rb 2021-04-30 18:20:53.000000000 +0200 +++ new/yast2-storage-ng-4.4.6/src/lib/y2storage/filesystems/blk_filesystem.rb 2021-06-15 14:02:26.000000000 +0200 @@ -279,9 +279,8 @@ return !Regexp.last_match(1).empty? && label == Regexp.last_match(1) end - blk_devices.any? do |dev| - dev.name == spec || dev.udev_full_all.include?(spec) - end + named_device = devicegraph.find_by_any_name(spec) + blk_devices.include?(named_device) end # Whether it makes sense modify the attribute about snapper configuration diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-ng-4.4.0/src/lib/y2storage/planned/can_be_formatted.rb new/yast2-storage-ng-4.4.6/src/lib/y2storage/planned/can_be_formatted.rb --- old/yast2-storage-ng-4.4.0/src/lib/y2storage/planned/can_be_formatted.rb 2021-04-30 18:20:53.000000000 +0200 +++ new/yast2-storage-ng-4.4.6/src/lib/y2storage/planned/can_be_formatted.rb 2021-06-15 14:02:26.000000000 +0200 @@ -220,7 +220,7 @@ [] end options.push("ro") if read_only && !options.include?("rw") - options + options.uniq end # Creates subvolumes in the previously created filesystem that is placed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-ng-4.4.0/test/data/devicegraphs/bidi.yml new/yast2-storage-ng-4.4.6/test/data/devicegraphs/bidi.yml --- old/yast2-storage-ng-4.4.0/test/data/devicegraphs/bidi.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-storage-ng-4.4.6/test/data/devicegraphs/bidi.yml 2021-06-15 14:02:26.000000000 +0200 @@ -0,0 +1,29 @@ +--- +- disk: + name: /dev/sda + size: 1 TiB + file_system: ext4 + label: root + mount_point: "/" + +- disk: + name: /dev/sdb + size: 1 GiB + partition_table: msdos + partitions: + + - partition: + size: 500 MiB + name: /dev/sdb1 + file_system: ext4 + # /fidiu/qdima (/video/old) + mount_point: "/\u0641\u064A\u062F\u064A\u0648/\u0642\u062F\u064A\u0645\u0629" + + - partition: + size: 500 MiB + name: /dev/sdb2 + file_system: ext4 + # /fidiu/jdida (/video/new) + mount_point: "/\u0641\u064A\u062F\u064A\u0648/\u062C\u062F\u064A\u062F\u0629" + + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-ng-4.4.0/test/y2partitioner/test_helper.rb new/yast2-storage-ng-4.4.6/test/y2partitioner/test_helper.rb --- old/yast2-storage-ng-4.4.0/test/y2partitioner/test_helper.rb 2021-04-30 18:20:53.000000000 +0200 +++ new/yast2-storage-ng-4.4.6/test/y2partitioner/test_helper.rb 2021-06-15 14:02:26.000000000 +0200 @@ -19,6 +19,7 @@ # find current contact information at www.suse.com require_relative "../spec_helper" +require "bidi_markup" # Removes the :sortKey term from a :cell term, possibly returning only # the single param of the term. @@ -31,7 +32,7 @@ term.params.delete_if { |param| param.is_a?(Yast::Term) && param.value == :sortKey } return term if term.params.size > 1 - term.params[0] + BidiMarkup.bidi_strip(term.params[0]) end # Removes the :sortKey term from :cell terms somewhere inside (to the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-ng-4.4.0/test/y2partitioner/widgets/columns/device_test.rb new/yast2-storage-ng-4.4.6/test/y2partitioner/widgets/columns/device_test.rb --- old/yast2-storage-ng-4.4.0/test/y2partitioner/widgets/columns/device_test.rb 2021-04-30 18:20:53.000000000 +0200 +++ new/yast2-storage-ng-4.4.6/test/y2partitioner/widgets/columns/device_test.rb 2021-06-15 14:02:26.000000000 +0200 @@ -56,6 +56,15 @@ it "uses the sort key provided by libstorage-ng" do expect(sort_key).to eq(device.name_sort_key) end + + it "wraps the value with bidi control characters" do + allow(subject).to receive(:bidi_supported?).and_return(true) + + expect(subject.value_for(device)).to satisfy do |term| + term.value == :cell && + term.params[0] == "\u2066/\u2068dev\u2069/\u2068sdb1\u2069\u2069" + end + end end shared_examples "filesystem" do diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-ng-4.4.0/test/y2partitioner/widgets/columns/mount_point_test.rb new/yast2-storage-ng-4.4.6/test/y2partitioner/widgets/columns/mount_point_test.rb --- old/yast2-storage-ng-4.4.0/test/y2partitioner/widgets/columns/mount_point_test.rb 2021-04-30 18:20:53.000000000 +0200 +++ new/yast2-storage-ng-4.4.6/test/y2partitioner/widgets/columns/mount_point_test.rb 2021-06-15 14:02:26.000000000 +0200 @@ -37,13 +37,13 @@ devicegraph_stub(scenario) end - describe "#values_for" do + describe "#value_for" do context "when given device is a fstab entry" do let(:btrfs) { Y2Storage::Filesystems::Type::BTRFS } let(:home_fstab_entry) { fstab_entry("/dev/sda2", "/home", btrfs, ["subvol=@/home"], 0, 0) } it "returns its mount point" do - expect(subject.value_for(home_fstab_entry)).to eq("/home") + expect(BidiMarkup.bidi_strip(subject.value_for(home_fstab_entry))).to eq("/home") end end @@ -95,7 +95,7 @@ end it "returns the mount path without an asterisk sign" do - expect(subject.value_for(device)).to eq("/test2") + expect(BidiMarkup.bidi_strip(subject.value_for(device))).to eq("/test2") end end @@ -105,8 +105,35 @@ Y2Storage::Filesystems::Nfs.find_by_server_and_path(devicegraph, "srv", "/home/a") end - it "returns the mount path including an asterkisk sign" do - expect(subject.value_for(device)).to eq("/test1 *") + it "returns the mount path including an asterisk sign" do + expect(BidiMarkup.bidi_strip(subject.value_for(device))).to eq("/test1 *") + end + end + + describe "bidi right to left (RTL) handling" do + let(:scenario) { "bidi.yml" } + before do + allow(subject).to receive(:bidi_supported?).and_return(true) + end + let(:device_name) { "/dev/sdb1" } + + it "returns the mount path with appropriate bidi control characters" do + allow(subject).to receive(:bidi_supported?).and_return(true) + + # \u20xx are the control characters + # \u06xx are Arabic letters + expect(subject.value_for(device)).to eq("\u2066" \ + "/\u2068\u0641\u064A\u062F\u064A\u0648\u2069" \ + "/\u2068\u0642\u062F\u064A\u0645\u0629\u2069" \ + "\u2069") + end + + context "when the path is root /" do + let(:device_name) { "/dev/sda" } + + it "returns the mount path wrapped with LTR Isolate" do + expect(subject.value_for(device)).to eq("\u2066/\u2069") + end end end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-ng-4.4.0/test/y2storage/filesystems/blk_filesystem_test.rb new/yast2-storage-ng-4.4.6/test/y2storage/filesystems/blk_filesystem_test.rb --- old/yast2-storage-ng-4.4.0/test/y2storage/filesystems/blk_filesystem_test.rb 2021-04-30 18:20:53.000000000 +0200 +++ new/yast2-storage-ng-4.4.6/test/y2storage/filesystems/blk_filesystem_test.rb 2021-06-15 14:02:26.000000000 +0200 @@ -499,6 +499,22 @@ end end end + + context "when the udev name has to be looked up externally" do + let(:scenario) { "lvm-disk-as-pv.xml" } + let(:dev_name) { "/dev/system/boot" } + let(:dev_name_alternative) { "/dev/mapper/system-boot" } + + before do + allow(Y2Storage::BlkDevice).to receive(:find_by_any_name) + .with(fake_devicegraph, dev_name_alternative) + .and_return(Y2Storage::BlkDevice.find_by_name(fake_devicegraph, dev_name)) + end + + it "returns true if the udev name matches" do + expect(filesystem.match_fstab_spec?(dev_name_alternative)).to eq true + end + end end describe "#display_name" do diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-ng-4.4.0/test/y2storage/planned/can_be_formatted_test.rb new/yast2-storage-ng-4.4.6/test/y2storage/planned/can_be_formatted_test.rb --- old/yast2-storage-ng-4.4.0/test/y2storage/planned/can_be_formatted_test.rb 2021-04-30 18:20:53.000000000 +0200 +++ new/yast2-storage-ng-4.4.6/test/y2storage/planned/can_be_formatted_test.rb 2021-06-15 14:02:26.000000000 +0200 @@ -87,9 +87,20 @@ planned.read_only = true end - it "sets the 'ro' option" do + it "sets the 'ro' option exactly once" do planned.format!(blk_device) - expect(blk_device.filesystem.mount_options).to include("ro") + expect(blk_device.filesystem.mount_options).to include("ro").once + end + + context "and fstab options also include the 'ro' flag" do + before do + planned.fstab_options = ["ro"] + end + + it "sets the 'ro' option exactly once" do + planned.format!(blk_device) + expect(blk_device.filesystem.mount_options).to include("ro").once + end end context "but fstab options include the 'rw' flag" do