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;