[why] Omit "-z now" when building with relro (bz 1105265). Resolve a conflict between Frama-C and why modu
Jerry James
jjames at fedoraproject.org
Thu Jun 26 21:44:35 UTC 2014
commit 8ce80ce993f190eedee3088fd54a4318d68e5ac0
Author: Jerry James <jamesjer at betterlinux.com>
Date: Thu Jun 26 15:44:21 2014 -0600
Omit "-z now" when building with relro (bz 1105265).
Resolve a conflict between Frama-C and why modules both named "Project".
why-project.patch | 124 +++++++++++++++++++++++++++++++++++++++++++++++++++++
why.spec | 21 +++++++--
2 files changed, 141 insertions(+), 4 deletions(-)
---
diff --git a/why-project.patch b/why-project.patch
new file mode 100644
index 0000000..a280c81
--- /dev/null
+++ b/why-project.patch
@@ -0,0 +1,124 @@
+--- ./Makefile.in.orig 2014-03-17 16:01:46.000000000 -0600
++++ ./Makefile.in 2014-06-26 12:30:00.000000000 -0600
+@@ -222,7 +222,7 @@ CMO_EXPORT = src/lib.cmo src/rc.cmo src
+ src/effect.cmo src/pp.cmo src/option_misc.cmo \
+ src/parser.cmo src/lexer.cmo src/report.cmo \
+ src/explain.cmo \
+- src/xml.cmo src/project.cmo
++ src/xml.cmo src/whyproject.cmo
+
+ CMO = src/lib.cmo src/rc.cmo tools/dpConfig.cmo \
+ src/version.cmo src/options.cmo src/linenum.cmo src/loc.cmo \
+@@ -239,7 +239,7 @@ CMO = src/lib.cmo src/rc.cmo tools/dpCon
+ src/holl.cmo src/harvey.cmo src/simplify.cmo \
+ src/regen.cmo src/mizar.cmo src/smtlib.cmo src/coq.cmo \
+ src/zenon.cmo src/z3.cmo src/cvcl.cmo tools/calldp.cmo \
+- src/xml.cmo src/project.cmo \
++ src/xml.cmo src/whyproject.cmo \
+ src/why3_kw.cmo src/why3.cmo src/pretty.cmo \
+ src/unionfind.cmo src/theoryreducer.cmo \
+ src/theory_filtering.cmo src/hypotheses_filtering.cmo \
+--- ./src/options.mli.orig 2014-03-17 16:01:46.000000000 -0600
++++ ./src/options.mli 2014-06-26 12:30:00.000000000 -0600
+@@ -185,7 +185,7 @@ val files : string list
+ (*s GUI? *)
+
+ val gui : bool ref
+-val gui_project : Project.t option ref
++val gui_project : Whyproject.t option ref
+ val lib_files_to_load : string list
+
+ (*
+--- ./src/pretty.ml.orig 2014-03-17 16:01:46.000000000 -0600
++++ ./src/pretty.ml 2014-06-26 12:30:00.000000000 -0600
+@@ -415,12 +415,12 @@ let output_project f =
+ with Not_found ->
+ functions := SMap.add fn SMap.empty !functions)
+ Util.program_locs ;
+- let p = Project.create (Filename.basename f) in
+- Project.set_project_context_file p (f ^ "_ctx.why");
++ let p = Whyproject.create (Filename.basename f) in
++ Whyproject.set_project_context_file p (f ^ "_ctx.why");
+ List.iter
+ (fun (expl,fpo) ->
+ let n = expl.lemma_or_fun_name in
+- let _ = Project.add_lemma p n expl fpo in ())
++ let _ = Whyproject.add_lemma p n expl fpo in ())
+ !lemmas;
+ SMap.iter
+ (fun fname behs ->
+@@ -430,15 +430,15 @@ let output_project f =
+ floc
+ with Not_found -> Loc.dummy_floc
+ in
+- let f = Project.add_function p fname floc in
++ let f = Whyproject.add_function p fname floc in
+ SMap.iter
+ (fun beh vcs ->
+- let be = Project.add_behavior f beh floc in
++ let be = Whyproject.add_behavior f beh floc in
+ List.iter
+ (fun (expl,fpo) ->
+- let _ = Project.add_goal be expl fpo in ())
++ let _ = Whyproject.add_goal be expl fpo in ())
+ vcs)
+ behs)
+ !functions;
+- Project.save p f;
++ Whyproject.save p f;
+ p
+--- ./src/pretty.mli.orig 2014-03-17 16:01:46.000000000 -0600
++++ ./src/pretty.mli 2014-06-26 12:30:00.000000000 -0600
+@@ -51,4 +51,4 @@ val output_files : string -> unit
+ (* [output_project f] produces a whole project description, in a file
+ [f.wpr], together with other needed files [f_ctx.why], [f_lemmas.why],
+ and each goal in a separate file [f_po<i>.why] for i=1,2,... *)
+-val output_project : string -> Project.t
++val output_project : string -> Whyproject.t
+--- ./src/whyweb.ml.orig 2014-03-17 16:01:46.000000000 -0600
++++ ./src/whyweb.ml 2014-06-26 12:30:00.000000000 -0600
+@@ -30,7 +30,7 @@
+ (**************************************************************************)
+
+ open Format
+-open Project
++open Whyproject
+
+ (*prover*)
+ let provers = [Ergo ; Simplify ; Z3 ; Yices ; Cvc3]
+@@ -169,7 +169,7 @@ let file = match !file with
+ | None -> ()
+ | Some f -> Arg.usage spec usage; exit 1
+
+-let proj = ref (Project.create "")
++let proj = ref (Whyproject.create "")
+
+ let proj_file = ref ""
+
+@@ -261,7 +261,7 @@ let interp_com c =
+ let _ = Thread.create (launch_behavior Cvc3) b in ()
+ | `LaunchCvc3Function f ->
+ let _ = Thread.create (launch_function Cvc3) f in ()
+- | `Save -> Project.save !proj !proj.project_name
++ | `Save -> Whyroject.save !proj !proj.project_name
+ end;
+ loc
+ with Not_found -> ("",0,0,0)
+@@ -344,7 +344,7 @@ let main_page msg =
+ let load_prj file =
+ eprintf "Reading file %s at ." file;
+ try
+- proj := Project.load file;
++ proj := Whyproject.load file;
+ proj_file := file;
+ with
+ Sys_error _ ->
+@@ -527,7 +527,7 @@ wprint "<center><a href=\"%s\">Save Proj
+ <table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">" ns;
+ wprint "<tr><th></th>";
+ List.iter (fun prover ->
+- wprint "<th>%s</th>" (Project.provers_name prover))
++ wprint "<th>%s</th>" (Whyproject.provers_name prover))
+ provers;
+ wprint "</tr>
+ ";
diff --git a/why.spec b/why.spec
index 2c1b8bc..8ca5b82 100644
--- a/why.spec
+++ b/why.spec
@@ -10,7 +10,7 @@
Name: why
Version: 2.34
-Release: 6%{?dist}
+Release: 7%{?dist}
Summary: Software verification platform
License: LGPLv2 with exceptions
@@ -50,6 +50,10 @@ Patch1: %{name}-2.34-Makefile.in.patch
# Adapt to flocq 2.3.0
Patch2: %{name}-flocq23.patch
+# Avoid a clash between Frama-C and why modules both named "Project".
+# Sent upstream 26 Jun 2014.
+Patch3: %{name}-project.patch
+
BuildRequires: auto-destdir
BuildRequires: cvc3
BuildRequires: desktop-file-utils
@@ -204,12 +208,17 @@ based on Why, including various automated and interactive provers.
%patch0
%patch1
%patch2
+%patch3
+
+# The other part of avoiding the "Project" module name clash
+mv src/project.ml src/whyproject.ml
+mv src/project.mli src/whyproject.mli
cp -p %SOURCE1 %SOURCE2 %SOURCE6 %SOURCE7 ./
-# Harden the build for network-using binaries
-sed -e '\%^bin/jessie\.opt%,\%^bin/jessie\.byte%s/-o/-ccopt -Wl,-z,relro,-z,now &/' \
- -e '/gtkThread\.cmx/s/-o/-ccopt -Wl,-z,relro,-z,now &/' \
+# Link with Fedora LDFLAGS
+sed -e "\%^bin/jessie\.opt%,\%^bin/jessie\.byte%s/-o/-ccopt $RPM_LD_FLAGS &/" \
+ -e "/gtkThread\.cmx/s/-o/-ccopt $RPM_LD_FLAGS &/" \
-i Makefile.in
%define fix_encoding() \
@@ -423,6 +432,10 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%changelog
+* Tue Jun 24 2014 Jerry James <loganjerry at gmail.com> - 2.34-7
+- Omit "-z now" when building with relro (bz 1105265)
+- Resolve a conflict between Frama-C and why modules both named "Project"
+
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.34-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
More information about the scm-commits
mailing list