Hello community,
here is the log from the commit of package rubygem-gettext-setup for
openSUSE:Factory checked in at 2017-04-20 20:58:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-gettext-setup (Old)
and /work/SRC/openSUSE:Factory/.rubygem-gettext-setup.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-gettext-setup"
Thu Apr 20 20:58:36 2017 rev:9 rq:489045 version:0.21
Changes:
--------
---
/work/SRC/openSUSE:Factory/rubygem-gettext-setup/rubygem-gettext-setup.changes
2017-04-17 10:27:23.001104596 +0200
+++
/work/SRC/openSUSE:Factory/.rubygem-gettext-setup.new/rubygem-gettext-setup.changes
2017-04-20 20:58:38.018771150 +0200
@@ -1,0 +2,6 @@
+Thu Apr 13 04:30:41 UTC 2017 - [email protected]
+
+- updated to version 0.21
+ no changelog found
+
+-------------------------------------------------------------------
Old:
----
gettext-setup-0.20.gem
New:
----
gettext-setup-0.21.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-gettext-setup.spec ++++++
--- /var/tmp/diff_new_pack.OGRpJo/_old 2017-04-20 20:58:38.746668209 +0200
+++ /var/tmp/diff_new_pack.OGRpJo/_new 2017-04-20 20:58:38.750667643 +0200
@@ -24,7 +24,7 @@
#
Name: rubygem-gettext-setup
-Version: 0.20
+Version: 0.21
Release: 0
%define mod_name gettext-setup
%define mod_full_name %{mod_name}-%{version}
++++++ gettext-setup-0.20.gem -> gettext-setup-0.21.gem ++++++
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/gettext.rake new/lib/tasks/gettext.rake
--- old/lib/tasks/gettext.rake 2017-03-30 00:23:16.000000000 +0200
+++ new/lib/tasks/gettext.rake 2017-04-08 00:27:08.000000000 +0200
@@ -2,56 +2,12 @@
# puts File.absolute_path('Gemfile', Dir.pwd)
# Bundler.read_file(File.absolute_path('Gemfile', Dir.pwd))
#
-require 'open3'
require_relative '../gettext-setup/gettext_setup'
+require_relative 'task_helper.rb'
#
# GettextSetup.initialize(File.absolute_path('locales', Dir.pwd))
namespace :gettext do
- def locale_path
- GettextSetup.locales_path
- end
-
- def text_domain
- FastGettext.text_domain
- end
-
- def files_to_translate
- files = GettextSetup.config['source_files'].map do |p|
- Dir.glob(p)
- end.flatten
- # check for optional list of files to exclude from string
- # extraction
- exclusions = (GettextSetup.config['exclude_files'] || []).map do |p|
- Dir.glob(p)
- end.flatten
-
- # if file is a directory, take it out of the array. directories
- # cause rxgettext to error out.
- (files - exclusions).reject { |file| File.directory?(file) }
- end
-
- def pot_file_path
- File.join(locale_path, GettextSetup.config['project_name'] + '.pot')
- end
-
- def generate_new_pot
- config = GettextSetup.config
- package_name = config['package_name']
- project_name = config['project_name']
- bugs_address = config['bugs_address']
- copyright_holder = config['copyright_holder']
- # Done this way to allow the user to enter an empty string in the config.
- comments_tag = config.key?('comments_tag') ? config['comments_tag'] :
'TRANSLATORS'
- version = `git describe`
- system("rxgettext -o locales/#{project_name}.pot --no-wrap --sort-by-file
" \
- "--add-comments#{comments_tag.to_s == '' ? '' : '=' + comments_tag}
--msgid-bugs-address '#{bugs_address}' " \
- "--package-name '#{package_name}' " \
- "--package-version '#{version}' " \
- "--copyright-holder='#{copyright_holder}'
--copyright-year=#{Time.now.year} " +
- files_to_translate.join(' '))
- end
-
desc 'Generate a new POT file and replace old if strings changed'
task :update_pot do
if !File.exist? pot_file_path
@@ -61,18 +17,12 @@
old_pot = pot_file_path + '.old'
File.rename(pot_file_path, old_pot)
generate_new_pot
- begin
- _, stderr, status = Open3.capture3("msgcmp --use-untranslated
'#{old_pot}' '#{pot_file_path}'")
- if status == 1 || /this message is not used/.match(stderr)
- File.delete(old_pot)
- puts 'String changes detected, replacing with updated POT file'
- else
- puts 'No string changes detected, keeping old POT file'
- File.rename(old_pot, pot_file_path)
- end
- rescue IOError
- # Ignore; probably means msgcmp isn't installed.
+ if string_changes?(old_pot, pot_file_path)
File.delete(old_pot)
+ puts 'String changes detected, replacing with updated POT file'
+ else
+ puts 'No string changes detected, keeping old POT file'
+ File.rename(old_pot, pot_file_path)
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/tasks/task_helper.rb new/lib/tasks/task_helper.rb
--- old/lib/tasks/task_helper.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/tasks/task_helper.rb 2017-04-08 00:27:08.000000000 +0200
@@ -0,0 +1,58 @@
+require 'open3'
+
+def locale_path
+ GettextSetup.locales_path
+end
+
+def text_domain
+ FastGettext.text_domain
+end
+
+def files_to_translate
+ files = GettextSetup.config['source_files'].map do |p|
+ Dir.glob(p)
+ end.flatten
+ # check for optional list of files to exclude from string
+ # extraction
+ exclusions = (GettextSetup.config['exclude_files'] || []).map do |p|
+ Dir.glob(p)
+ end.flatten
+
+ # if file is a directory, take it out of the array. directories
+ # cause rxgettext to error out.
+ (files - exclusions).reject { |file| File.directory?(file) }
+end
+
+def pot_file_path
+ File.join(locale_path, GettextSetup.config['project_name'] + '.pot')
+end
+
+def generate_new_pot
+ config = GettextSetup.config
+ package_name = config['package_name']
+ project_name = config['project_name']
+ bugs_address = config['bugs_address']
+ copyright_holder = config['copyright_holder']
+ # Done this way to allow the user to enter an empty string in the config.
+ comments_tag = config.key?('comments_tag') ? config['comments_tag'] :
'TRANSLATORS'
+ version = `git describe`
+ system("rxgettext -o locales/#{project_name}.pot --no-wrap --sort-by-file " \
+ "--add-comments#{comments_tag.to_s == '' ? '' : '=' + comments_tag}
--msgid-bugs-address '#{bugs_address}' " \
+ "--package-name '#{package_name}' " \
+ "--package-version '#{version}' " \
+ "--copyright-holder='#{copyright_holder}'
--copyright-year=#{Time.now.year} " +
+ files_to_translate.join(' '))
+end
+
+def string_changes?(old_pot, new_pot)
+ # Warnings will be in another language if locale is not set to en_US
+ _, stderr, status = Open3.capture3("LANG=en_US msgcmp --use-untranslated
'#{old_pot}' '#{new_pot}'")
+ if status.exitstatus == 1 || /this message is not used/.match(stderr) ||
/this message is used but not defined/.match(stderr)
+ return true
+ end
+ return false
+rescue IOError
+ # probably means msgcmp is not present on the system
+ # so return true to be on the safe side
+ return true
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2017-03-30 00:23:16.000000000 +0200
+++ new/metadata 2017-04-08 00:27:08.000000000 +0200
@@ -1,14 +1,14 @@
--- !ruby/object:Gem::Specification
name: gettext-setup
version: !ruby/object:Gem::Version
- version: '0.20'
+ version: '0.21'
platform: ruby
authors:
- Puppet
autorequire:
bindir: bin
cert_chain: []
-date: 2017-03-29 00:00:00.000000000 Z
+date: 2017-04-07 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: fast_gettext
@@ -204,6 +204,7 @@
- lib/gettext-setup.rb
- lib/gettext-setup/gettext_setup.rb
- lib/tasks/gettext.rake
+- lib/tasks/task_helper.rb
- locales/config-sample.yaml
- spec/fixtures/alt_locales/alt_locales.pot
- spec/fixtures/alt_locales/config.yaml
@@ -211,8 +212,14 @@
- spec/fixtures/locales/config.yaml
- spec/fixtures/locales/de/sinatra-i18n.po
- spec/fixtures/locales/sinatra-i18n.pot
+- spec/fixtures/pot_update/add.pot
+- spec/fixtures/pot_update/change.pot
+- spec/fixtures/pot_update/non_string_changes.pot
+- spec/fixtures/pot_update/old.pot
+- spec/fixtures/pot_update/remove.pot
- spec/lib/gettext_setup_spec.rb
- spec/spec_helper.rb
+- spec/tasks/update_pot_spec.rb
homepage: https://github.com/puppetlabs/gettext-setup-gem
licenses:
- Apache-2.0
@@ -233,7 +240,7 @@
version: '0'
requirements: []
rubyforge_project:
-rubygems_version: 2.5.1
+rubygems_version: 2.5.2
signing_key:
specification_version: 4
summary: A gem to ease internationalization with fast_gettext
@@ -244,6 +251,11 @@
- spec/fixtures/locales/config.yaml
- spec/fixtures/locales/de/sinatra-i18n.po
- spec/fixtures/locales/sinatra-i18n.pot
+- spec/fixtures/pot_update/add.pot
+- spec/fixtures/pot_update/change.pot
+- spec/fixtures/pot_update/non_string_changes.pot
+- spec/fixtures/pot_update/old.pot
+- spec/fixtures/pot_update/remove.pot
- spec/lib/gettext_setup_spec.rb
- spec/spec_helper.rb
-has_rdoc:
+- spec/tasks/update_pot_spec.rb
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spec/fixtures/pot_update/add.pot
new/spec/fixtures/pot_update/add.pot
--- old/spec/fixtures/pot_update/add.pot 1970-01-01 01:00:00.000000000
+0100
+++ new/spec/fixtures/pot_update/add.pot 2017-04-08 00:27:08.000000000
+0200
@@ -0,0 +1,33 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2016 Puppet Labs, LLC.
+# This file is distributed under the same license as the Sinatra i18n demo
package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2016.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Sinatra i18n demo init-11-ga552a06\n"
+"\n"
+"Report-Msgid-Bugs-To: [email protected]\n"
+"POT-Creation-Date: 2016-06-07 17:38-0500\n"
+"PO-Revision-Date: 2016-06-07 17:38-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <[email protected]>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. GettextSetup.initialize(File::join(File::dirname(File::dirname(__FILE__)),
'fixtures'))
+#: ../../lib/gettext_setup_spec.rb:25
+msgid "Hello, world!"
+msgstr ""
+
+#: ../../lib/gettext_setup_spec.rb:25
+msgid "Goodbye, world!"
+msgstr ""
+
+#: ../../lib/gettext_setup_spec.rb:25
+msgid "new string"
+msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spec/fixtures/pot_update/change.pot
new/spec/fixtures/pot_update/change.pot
--- old/spec/fixtures/pot_update/change.pot 1970-01-01 01:00:00.000000000
+0100
+++ new/spec/fixtures/pot_update/change.pot 2017-04-08 00:27:08.000000000
+0200
@@ -0,0 +1,29 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2016 Puppet Labs, LLC.
+# This file is distributed under the same license as the Sinatra i18n demo
package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2016.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Sinatra i18n demo init-11-ga552a06\n"
+"\n"
+"Report-Msgid-Bugs-To: [email protected]\n"
+"POT-Creation-Date: 2016-06-07 17:38-0500\n"
+"PO-Revision-Date: 2016-06-07 17:38-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <[email protected]>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. GettextSetup.initialize(File::join(File::dirname(File::dirname(__FILE__)),
'fixtures'))
+#: ../../lib/gettext_setup_spec.rb:25
+msgid "Hello, world!"
+msgstr ""
+
+#: ../../lib/gettext_setup_spec.rb:25
+msgid "changed string"
+msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spec/fixtures/pot_update/non_string_changes.pot
new/spec/fixtures/pot_update/non_string_changes.pot
--- old/spec/fixtures/pot_update/non_string_changes.pot 1970-01-01
01:00:00.000000000 +0100
+++ new/spec/fixtures/pot_update/non_string_changes.pot 2017-04-08
00:27:08.000000000 +0200
@@ -0,0 +1,29 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2016 Puppet Labs, LLC.
+# This file is distributed under the same license as the Sinatra i18n demo
package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2016.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Sinatra i18n demo init-11-ga552a06\n"
+"\n"
+"Report-Msgid-Bugs-To: [email protected]\n"
+"POT-Creation-Date: 2017-04-17 17:38-0500\n"
+"PO-Revision-Date: 2017-04-17 17:38-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <[email protected]>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. GettextSetup.initialize(File::join(File::dirname(File::dirname(__FILE__)),
'fixtures'))
+#: ../../lib/gettext_setup_spec.rb:25
+msgid "Hello, world!"
+msgstr ""
+
+#: ../../lib/different_file.rb:25
+msgid "Goodbye, world!"
+msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spec/fixtures/pot_update/old.pot
new/spec/fixtures/pot_update/old.pot
--- old/spec/fixtures/pot_update/old.pot 1970-01-01 01:00:00.000000000
+0100
+++ new/spec/fixtures/pot_update/old.pot 2017-04-08 00:27:08.000000000
+0200
@@ -0,0 +1,29 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2016 Puppet Labs, LLC.
+# This file is distributed under the same license as the Sinatra i18n demo
package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2016.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Sinatra i18n demo init-11-ga552a06\n"
+"\n"
+"Report-Msgid-Bugs-To: [email protected]\n"
+"POT-Creation-Date: 2016-06-07 17:38-0500\n"
+"PO-Revision-Date: 2016-06-07 17:38-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <[email protected]>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. GettextSetup.initialize(File::join(File::dirname(File::dirname(__FILE__)),
'fixtures'))
+#: ../../lib/gettext_setup_spec.rb:25
+msgid "Hello, world!"
+msgstr ""
+
+#: ../../lib/gettext_setup_spec.rb:25
+msgid "Goodbye, world!"
+msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spec/fixtures/pot_update/remove.pot
new/spec/fixtures/pot_update/remove.pot
--- old/spec/fixtures/pot_update/remove.pot 1970-01-01 01:00:00.000000000
+0100
+++ new/spec/fixtures/pot_update/remove.pot 2017-04-08 00:27:08.000000000
+0200
@@ -0,0 +1,25 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2016 Puppet Labs, LLC.
+# This file is distributed under the same license as the Sinatra i18n demo
package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2016.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Sinatra i18n demo init-11-ga552a06\n"
+"\n"
+"Report-Msgid-Bugs-To: [email protected]\n"
+"POT-Creation-Date: 2016-06-07 17:38-0500\n"
+"PO-Revision-Date: 2016-06-07 17:38-0500\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <[email protected]>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. GettextSetup.initialize(File::join(File::dirname(File::dirname(__FILE__)),
'fixtures'))
+#: ../../lib/gettext_setup_spec.rb:25
+msgid "Hello, world!"
+msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spec/lib/gettext_setup_spec.rb
new/spec/lib/gettext_setup_spec.rb
--- old/spec/lib/gettext_setup_spec.rb 2017-03-30 00:23:16.000000000 +0200
+++ new/spec/lib/gettext_setup_spec.rb 2017-04-08 00:27:08.000000000 +0200
@@ -1,6 +1,8 @@
require 'rspec/expectations'
require_relative '../spec_helper'
+require_relative '../../lib/gettext-setup'
+
describe GettextSetup do
before(:each) do
GettextSetup.initialize(File.join(File.dirname(File.dirname(__FILE__)),
'fixtures', 'locales'))
@@ -50,8 +52,13 @@
expect(GettextSetup.default_locale).to eq('en')
expect(GettextSetup.candidate_locales).to include('en')
GettextSetup.clear
- ENV['LANG'] = 'de_DE'
- expect(GettextSetup.candidate_locales).to eq('de_DE,de,en')
+ begin
+ old_locale = ENV['LANG']
+ ENV['LANG'] = 'de_DE'
+ expect(GettextSetup.candidate_locales).to eq('de_DE,de,en')
+ ensure
+ ENV['LANG'] = old_locale
+ end
end
end
context 'multiple locales' do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spec/spec_helper.rb new/spec/spec_helper.rb
--- old/spec/spec_helper.rb 2017-03-30 00:23:16.000000000 +0200
+++ new/spec/spec_helper.rb 2017-04-08 00:27:08.000000000 +0200
@@ -3,4 +3,10 @@
add_filter '/spec/'
end
-require_relative '../lib/gettext-setup'
+def msgcmp_present?
+ # Try to call out to msgcmp, if it doesn't error, we have the tool
+ `msgcmp`
+ return true
+rescue IOError
+ return false
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spec/tasks/update_pot_spec.rb
new/spec/tasks/update_pot_spec.rb
--- old/spec/tasks/update_pot_spec.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/spec/tasks/update_pot_spec.rb 2017-04-08 00:27:08.000000000 +0200
@@ -0,0 +1,28 @@
+require 'rspec/expectations'
+require_relative '../spec_helper.rb'
+
+require_relative '../../lib/tasks/task_helper.rb'
+
+describe 'string_changes?', if: msgcmp_present? do
+ old_pot = File.absolute_path('../fixtures/pot_update/old.pot',
File.dirname(__FILE__))
+
+ it 'should detect string addition' do
+ new_pot = File.absolute_path('../fixtures/pot_update/add.pot',
File.dirname(__FILE__))
+ expect(string_changes?(old_pot, new_pot)).to eq(true)
+ end
+
+ it 'should detect string removal' do
+ new_pot = File.absolute_path('../fixtures/pot_update/remove.pot',
File.dirname(__FILE__))
+ expect(string_changes?(old_pot, new_pot)).to eq(true)
+ end
+
+ it 'should detect string changes' do
+ new_pot = File.absolute_path('../fixtures/pot_update/change.pot',
File.dirname(__FILE__))
+ expect(string_changes?(old_pot, new_pot)).to eq(true)
+ end
+
+ it 'should not detect non-string changes' do
+ new_pot =
File.absolute_path('../fixtures/pot_update/non_string_changes.pot',
File.dirname(__FILE__))
+ expect(string_changes?(old_pot, new_pot)).to eq(false)
+ end
+end