Hello community,
here is the log from the commit of package rubygem-yast-rake for
openSUSE:Factory checked in at 2020-05-15 23:51:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-yast-rake (Old)
and /work/SRC/openSUSE:Factory/.rubygem-yast-rake.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-yast-rake"
Fri May 15 23:51:00 2020 rev:32 rq:805349 version:0.2.38
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-yast-rake/rubygem-yast-rake.changes
2020-05-05 18:53:31.905172563 +0200
+++
/work/SRC/openSUSE:Factory/.rubygem-yast-rake.new.2738/rubygem-yast-rake.changes
2020-05-15 23:51:02.117395993 +0200
@@ -1,0 +2,8 @@
+Wed May 13 10:13:35 UTC 2020 - Ladislav Slezák <[email protected]>
+
+- Enhanced "check:pot" task to check for "%<foo>" tags in
+ translatable strings (should be replaced with "%{}")
+ (bsc#1171555)
+- 0.2.38
+
+-------------------------------------------------------------------
Old:
----
yast-rake-0.2.37.gem
New:
----
yast-rake-0.2.38.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-yast-rake.spec ++++++
--- /var/tmp/diff_new_pack.xyRjoJ/_old 2020-05-15 23:51:02.809397327 +0200
+++ /var/tmp/diff_new_pack.xyRjoJ/_new 2020-05-15 23:51:02.813397334 +0200
@@ -21,7 +21,7 @@
%define rb_build_ruby_abis %{rb_default_ruby_abi}
Name: rubygem-yast-rake
-Version: 0.2.37
+Version: 0.2.38
Release: 0
%define mod_name yast-rake
%define mod_full_name %{mod_name}-%{version}
++++++ yast-rake-0.2.37.gem -> yast-rake-0.2.38.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/VERSION new/VERSION
--- old/VERSION 2019-06-27 16:55:34.000000000 +0200
+++ new/VERSION 2020-05-13 17:52:39.000000000 +0200
@@ -1 +1 @@
-0.2.37
+0.2.38
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/tasks/pot.rake new/lib/tasks/pot.rake
--- old/lib/tasks/pot.rake 2019-06-27 16:55:34.000000000 +0200
+++ new/lib/tasks/pot.rake 2020-05-13 17:52:39.000000000 +0200
@@ -27,19 +27,36 @@
end
namespace :check do
+
+ def interpolation_message
+ <<~MSG
+ Note: \#{foo} substitution in translatable strings does
+ not work properly, use
+ _("foo %{bar} baz") % { :bar => bar }
+ or
+ _("foo %s baz") % bar
+ MSG
+ end
+
+ def angle_brackets_message
+ <<~MSG
+ Note: %<foo> placeholder should not be used in translatable strings
+ because GNU Gettext does not support any suitable language format for
that,
+ use %{foo} instead.
+ MSG
+ end
+
# print failed lines and a hint to STDERR
- def report_pot_errors(lines)
+ def report_pot_errors(lines, message)
+ return if lines.empty?
+
warn "Failed lines:"
warn "-" * 30
warn lines
warn "-" * 30
- $stderr.puts
- warn "Note: \#{foo} substitution in translatable strings does" \
- " not work properly, use"
- warn " _(\"foo %{bar} baz\") % { :bar => bar }"
- warn "or"
- warn " _(\"foo %s baz\") % bar"
- $stderr.puts
+ warn ""
+ warn message
+ warn ""
end
# remove gettext keywords and extra quotes
@@ -53,7 +70,9 @@
end
desc "Check translatable strings for common mistakes"
- # depends on the global "pot" task defined above
+ # depends on the global "pot" task defined above,
+ # this scans for the #{} interpolations (do not work in translations)
+ # and %<> (no compatible language format in Gettext)
task pot: :"rake:pot" do
Dir["*.pot"].each do |pot|
puts "Checking #{pot}..."
@@ -61,14 +80,18 @@
# remove comments
lines.reject! { |line| line.match(/^#/) }
# Ruby substitution present?
- lines.select! { |line| line.include?("\#{") }
+ interpolations = lines.select { |line| line.include?("\#{") }
+ angle_brackets = lines.select { |line| line.include?("%<") }
+
+ next if interpolations.empty? && angle_brackets.empty?
+
+ clean_pot_lines(interpolations)
+ clean_pot_lines(angle_brackets)
- clean_pot_lines(lines)
+ report_pot_errors(interpolations, interpolation_message)
+ report_pot_errors(angle_brackets, angle_brackets_message)
- if !lines.empty?
- report_pot_errors(lines)
- raise "ERROR: Ruby substitution found in a translatable string"
- end
+ raise "ERROR: Found invalid or unsupported translatable string"
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2020-03-05 17:06:27.000000000 +0100
+++ new/metadata 2020-05-13 17:52:39.000000000 +0200
@@ -1,14 +1,14 @@
--- !ruby/object:Gem::Specification
name: yast-rake
version: !ruby/object:Gem::Version
- version: 0.2.37
+ version: 0.2.38
platform: ruby
authors:
- Josef Reidinger
autorequire:
bindir: bin
cert_chain: []
-date: 2020-03-05 00:00:00.000000000 Z
+date: 2020-05-13 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: packaging_rake_tasks
@@ -86,8 +86,7 @@
- !ruby/object:Gem::Version
version: '0'
requirements: []
-rubyforge_project:
-rubygems_version: 2.7.6.2
+rubygems_version: 3.1.2
signing_key:
specification_version: 4
summary: Rake tasks providing basic work-flow for Yast development