Hello community,

here is the log from the commit of package rubygem-packaging_rake_tasks for 
openSUSE:Factory checked in at 2017-12-03 10:10:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-packaging_rake_tasks (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-packaging_rake_tasks.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-packaging_rake_tasks"

Sun Dec  3 10:10:12 2017 rev:17 rq:546422 version:1.4.3

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/rubygem-packaging_rake_tasks/rubygem-packaging_rake_tasks.changes
        2017-10-23 16:38:09.127196743 +0200
+++ 
/work/SRC/openSUSE:Factory/.rubygem-packaging_rake_tasks.new/rubygem-packaging_rake_tasks.changes
   2017-12-03 10:10:15.485889320 +0100
@@ -1,0 +2,17 @@
+Wed Nov 29 12:06:34 UTC 2017 - [email protected]
+
+- Fixed "rake tarball" task to work also with tar < 1.28.
+  (Do not use the "--sort=name" tar option, use a "find | sort"
+  workaround instead. The "--sort" option is not supported in
+  the latest Leap 42.3 or SLE12-SP3.) (bsc#1070168)
+- 1.4.3
+
+-------------------------------------------------------------------
+Tue Nov 28 15:50:22 UTC 2017 - [email protected]
+
+- Fixed the "rake tarball" task to create reproducible tarballs,
+  avoid different source checksums for the same content in OBS
+  and in IBS (bsc#1070168)
+- 1.4.2
+
+-------------------------------------------------------------------

Old:
----
  packaging_rake_tasks-1.4.1.gem

New:
----
  packaging_rake_tasks-1.4.3.gem

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

Other differences:
------------------
++++++ rubygem-packaging_rake_tasks.spec ++++++
--- /var/tmp/diff_new_pack.toxL37/_old  2017-12-03 10:10:16.109866635 +0100
+++ /var/tmp/diff_new_pack.toxL37/_new  2017-12-03 10:10:16.113866489 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           rubygem-packaging_rake_tasks
-Version:        1.4.1
+Version:        1.4.3
 Release:        0
 %define mod_name packaging_rake_tasks
 %define mod_full_name %{mod_name}-%{version}

++++++ packaging_rake_tasks-1.4.1.gem -> packaging_rake_tasks-1.4.3.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/VERSION new/VERSION
--- old/VERSION 2017-05-29 13:16:32.000000000 +0200
+++ new/VERSION 2017-09-21 14:04:46.000000000 +0200
@@ -1 +1 @@
-1.4.1
+1.4.3
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/tarball.rake new/lib/tasks/tarball.rake
--- old/lib/tasks/tarball.rake  2017-05-29 13:16:32.000000000 +0200
+++ new/lib/tasks/tarball.rake  2017-09-21 14:04:46.000000000 +0200
@@ -1,18 +1,18 @@
 #--
 # Webyast Webservice framework
 #
-# Copyright (C) 2009, 2010 Novell, Inc. 
+# Copyright (C) 2009, 2010 Novell, Inc.
 #   This library is free software; you can redistribute it and/or modify
 # it only under the terms of version 2.1 of the GNU Lesser General Public
-# License as published by the Free Software Foundation. 
+# License as published by the Free Software Foundation.
 #
 #   This library 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 Lesser General Public License for more 
-# details. 
+# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+# details.
 #
 #   You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software 
+# License along with this library; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 #++
 
@@ -20,6 +20,7 @@
 require 'rake'
 require 'fileutils'
 require "packaging/configuration"
+require "shellwords"
 
 def package_file_name
   config = Packaging::Configuration.instance
@@ -57,8 +58,9 @@
 def create_package_task
   require 'rake/packagetask'
   config = Packaging::Configuration.instance
+  # this will just export (copy/link) the files to the target directory,
+  # no tarball created
   Rake::PackageTask.new(config.package_name, config.version) do |p|
-    p.need_tar_bz2 = true
     p.package_dir = Packaging::Configuration.instance.package_dir
 
     add_git_files p
@@ -84,10 +86,32 @@
 
   # execute the real package task
   config = Packaging::Configuration.instance
+  target = File.join(config.package_dir, package_file_name)
   begin
-    Rake::Task[File.join(config.package_dir, 
package_file_name+".tar.bz2")].invoke
+    Rake::Task[target].invoke
+    build_tarball
   ensure
-    rm_rf File.join(config.package_dir, package_file_name)
+    rm_rf target
   end
 end
+
+# build the tarball in a reproducible way to have the very same output 
(bitwise)
+# when called later again and also make the build machine (environmnet) 
independent
+def build_tarball
+  # set the file time stamps according to the latest commit
+  mtime = `git show -s --format=%ci`.chomp
+  # For the reproducible output:
+  # - sort the files (in a locale independent way, use the NULL separator to
+  #   correctly process also the file names containing a new line)
+  #   Note: tar >= 1.28 supports "--sort=name" option, unfortunately
+  #   Leap 42.3 and SLES12-SP3 contain version 1.27.1
+  # - use the GNU format (the default POSIX format contains some time stamps)
+  # - set the owner and group to "root"
+  # - set the fixed modification time
+  sh("cd #{Shellwords.escape(Packaging::Configuration.instance.package_dir)} 
&& " \
+    "find #{Shellwords.escape(package_file_name)} -type f -print0 | LC_ALL=C 
sort -z | " \
+    "tar -c -j -f #{Shellwords.escape(package_file_name)}.tar.bz2 --format=gnu 
" \
+    "--owner=root --group=root --mtime=#{Shellwords.escape(mtime)} --null 
--files-from -")
+end
+
 # vim: ft=ruby
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2017-10-13 15:33:47.000000000 +0200
+++ new/metadata        2017-11-29 14:29:45.000000000 +0100
@@ -1,14 +1,14 @@
 --- !ruby/object:Gem::Specification
 name: packaging_rake_tasks
 version: !ruby/object:Gem::Version
-  version: 1.4.1
+  version: 1.4.3
 platform: ruby
 authors:
 - Josef Reidinger
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2017-10-13 00:00:00.000000000 Z
+date: 2017-11-29 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: rake
@@ -72,3 +72,4 @@
 summary: Rake tasks providing tasks to package project in git and integration 
with
   build service
 test_files: []
+has_rdoc: 


Reply via email to