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: