Hello community,

here is the log from the commit of package lilypond for openSUSE:Factory 
checked in at 2017-06-07 09:55:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lilypond (Old)
 and      /work/SRC/openSUSE:Factory/.lilypond.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "lilypond"

Wed Jun  7 09:55:24 2017 rev:21 rq:501190 version:2.18.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/lilypond/lilypond.changes        2017-03-12 
20:02:55.774844926 +0100
+++ /work/SRC/openSUSE:Factory/.lilypond.new/lilypond.changes   2017-06-07 
09:55:25.226708228 +0200
@@ -1,0 +2,16 @@
+Mon Jun  5 13:03:55 UTC 2017 - j.mairbo...@gmail.com
+
+- Add Avoid-segfault-in-grob.cc-with-gcc-6.patch to fix crash on
+  newer systems with gcc 6 or newer. This also fixes the doc build.
+  The patch is from:
+  https://sourceforge.net/p/testlilyissues/issues/4814/
+  (upstream bug tracker).
+
+-------------------------------------------------------------------
+Thu Jun  1 11:07:13 UTC 2017 - bwiedem...@suse.com
+
+- Add reproducible.patch to sort input files (boo#1041090),
+  to override current timestamp and to not have random uniqueIds
+  to make build more reproducible
+
+-------------------------------------------------------------------

New:
----
  Avoid-segfault-in-grob.cc-with-gcc-6.patch
  reproducible.patch

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

Other differences:
------------------
++++++ lilypond.spec ++++++
--- /var/tmp/diff_new_pack.coqeBj/_old  2017-06-07 09:55:26.170574846 +0200
+++ /var/tmp/diff_new_pack.coqeBj/_new  2017-06-07 09:55:26.174574281 +0200
@@ -26,6 +26,10 @@
 Group:          Productivity/Publishing/Other
 Url:            http://www.lilypond.org
 Source0:        
http://download.linuxaudio.org/lilypond/sources/v2.18/lilypond-%{version}.tar.gz
+# PATCH-FIX-UPSTREAM https://savannah.gnu.org/patch/index.php?9370
+Patch0:         reproducible.patch
+# PATCH-FIX-UPSTREAM j.mairbo...@gmail.com -- 
https://sourceforge.net/p/testlilyissues/issues/4814/
+Patch1:         Avoid-segfault-in-grob.cc-with-gcc-6.patch
 BuildRequires:  ImageMagick
 BuildRequires:  autotrace
 BuildRequires:  bison
@@ -112,6 +116,8 @@
 
 %prep
 %setup -q
+%patch0 -p1
+%patch1 -p1
 
 %build
 %configure --without-kpathsea \

++++++ Avoid-segfault-in-grob.cc-with-gcc-6.patch ++++++
>From 682f75315e6820220ecf45717664f6d32f480c98 Mon Sep 17 00:00:00 2001
From: Guido Aulisi <guido.aul...@gmail.com>
Date: Fri, 22 Jul 2016 15:26:29 +0200
Subject: [PATCH 1/2] Avoid segfault in grob.cc with gcc 6 (see issue #4814)

When optimizing, GCC 6 now assumes the "this" pointer can never be null,
which is guaranteed by the language rules.
Programs which assume it is OK to invoke a member function through a null 
pointer
(possibly relying on checks like this != NULL) may crash or otherwise fail at 
run time
if null pointer checks are optimized away.
---
 lily/grob.cc | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lily/grob.cc b/lily/grob.cc
index 7ce89d5..eafa662 100644
--- a/lily/grob.cc
+++ b/lily/grob.cc
@@ -333,7 +333,7 @@ Real
 Grob::relative_coordinate (Grob const *refp, Axis a) const
 {
   /* eaa - hmmm, should we do a programming_error() here? */
-  if ((this == NULL) || (refp == this))
+  if (refp == this)
     return 0.0;
 
   /* We catch PARENT_L_ == nil case with this, but we crash if we did
@@ -342,7 +342,8 @@ Grob::relative_coordinate (Grob const *refp, Axis a) const
   if (refp == dim_cache_[a].parent_)
     return off;
 
-  off += dim_cache_[a].parent_->relative_coordinate (refp, a);
+  if (dim_cache_[a].parent_ != NULL)
+    off += dim_cache_[a].parent_->relative_coordinate (refp, a);
 
   return off;
 }
-- 
2.7.4

++++++ reproducible.patch ++++++
Index: lilypond-2.18.2/stepmake/stepmake/c++-vars.make
===================================================================
--- lilypond-2.18.2.orig/stepmake/stepmake/c++-vars.make
+++ lilypond-2.18.2/stepmake/stepmake/c++-vars.make
@@ -11,7 +11,7 @@ ALL_CXXFLAGS = $(CXXFLAGS) $(ALL_CXXPPFL
 
 TCC_FILES := $(call src-wildcard,*.tcc)
 HH_FILES := $(call src-wildcard,*.hh)
-CC_FILES := $(call src-wildcard,*.cc)
+CC_FILES := $(sort $(call src-wildcard,*.cc))
 INL_FILES := $(call src-wildcard,*.icc)
 YY_FILES := $(call src-wildcard,*.yy)
 LL_FILES := $(call src-wildcard,*.ll)
Index: lilypond-2.18.2/scripts/build/help2man.pl
===================================================================
--- lilypond-2.18.2.orig/scripts/build/help2man.pl
+++ lilypond-2.18.2/scripts/build/help2man.pl
@@ -218,7 +218,7 @@ $version_text ||= get_option_value $ARGV
 # the English version expands to the month as a word and the full year.  It
 # is used on the footer of the generated manual pages.  If in doubt, you may
 # just use %x as the value (which should be the full locale-specific date).
-my $date = enc strftime _("%B %Y"), localtime;
+my $date = enc strftime _("%B %Y"), gmtime($ENV{SOURCE_DATE_EPOCH} || time);
 (my $program = $ARGV[0]) =~ s!.*/!!;
 my $package = $program;
 my $version;
Index: lilypond-2.18.2/scripts/build/mf2pt1.pl
===================================================================
--- lilypond-2.18.2.orig/scripts/build/mf2pt1.pl
+++ lilypond-2.18.2/scripts/build/mf2pt1.pl
@@ -800,7 +800,9 @@ assign_default $creationdate, scalar loc
 assign_default $comment, $opthash{comment}, "Font converted to Type 1 by 
mf2pt1, written by Scott Pakin.";
 assign_default $weight, $opthash{weight}, "Medium";
 assign_default $fixedpitch, $opthash{fixedpitch}, 0;
-assign_default $uniqueID, $opthash{uniqueid}, int(rand(1000000)) + 4000000;
+use Digest::MD5 qw(md5);
+my @md5 = unpack("C*", md5($filebase));
+assign_default $uniqueID, $opthash{uniqueid}, 
int(($md5[0]<<22)+($md5[1]<<15)+($md5[2]<<7)+$md5[3]) + 4000000;
 assign_default $designsize, $opthash{designsize};
 die "${progname}: a design size must be specified in $mffile or on the command 
line\n" if !defined $designsize;
 die "${progname}: the design size must be a positive number\n" if 
$designsize<=0.0;

Reply via email to