Add upstream patch to fix injection of LDFLAGS (RHBZ#1548536).
This commit is contained in:
		
							parent
							
								
									01b04eaf96
								
							
						
					
					
						commit
						69825aae8e
					
				@ -0,0 +1,48 @@
 | 
				
			|||||||
 | 
					From be51757920b56a77e2e63247f9a8409ce994d33c Mon Sep 17 00:00:00 2001
 | 
				
			||||||
 | 
					From: "Richard W.M. Jones" <rjones@redhat.com>
 | 
				
			||||||
 | 
					Date: Mon, 26 Feb 2018 12:38:12 +0000
 | 
				
			||||||
 | 
					Subject: [PATCH] ocaml: Link the C bindings with LDFLAGS (RHBZ#1548536).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Use the ocamlmklib -ldopt flag to pass the general $(LDFLAGS) when
 | 
				
			||||||
 | 
					calling gcc to link dllmlhivex.so.  We were already passing $(CFLAGS)
 | 
				
			||||||
 | 
					when building the object file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					When building using Fedora's standard hardening flags this gives:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ocamlmklib -o mlhivex hivex_c.o hivex.cmo \
 | 
				
			||||||
 | 
					    -verbose -ldopt '-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' \
 | 
				
			||||||
 | 
					    -L../lib/.libs -lhivex
 | 
				
			||||||
 | 
					+ gcc -shared  -o ./dllmlhivex.so hivex_c.o  -Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld  -L../lib/.libs -lhivex
 | 
				
			||||||
 | 
					+ ar rc ./libmlhivex.a  hivex_c.o; ranlib ./libmlhivex.a
 | 
				
			||||||
 | 
					+ /usr/bin/ocamlc -a    -o mlhivex.cma  hivex.cmo -dllib -lmlhivex -cclib -lmlhivex   -cclib -L../lib/.libs -cclib -lhivex
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This also works if $(LDFLAGS) is empty, because ocamlmklib ignores
 | 
				
			||||||
 | 
					-ldopt ''.
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					 ocaml/Makefile.am | 8 ++++++--
 | 
				
			||||||
 | 
					 1 file changed, 6 insertions(+), 2 deletions(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff --git a/ocaml/Makefile.am b/ocaml/Makefile.am
 | 
				
			||||||
 | 
					index 61db095..85655b6 100644
 | 
				
			||||||
 | 
					--- a/ocaml/Makefile.am
 | 
				
			||||||
 | 
					+++ b/ocaml/Makefile.am
 | 
				
			||||||
 | 
					@@ -41,10 +41,14 @@ OBJS = hivex_c.o hivex.cmo
 | 
				
			||||||
 | 
					 XOBJS = $(OBJS:.cmo=.cmx)
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 mlhivex.cma: $(OBJS)
 | 
				
			||||||
 | 
					-	$(OCAMLMKLIB) -o mlhivex $^ -L$(top_builddir)/lib/.libs -lhivex
 | 
				
			||||||
 | 
					+	$(OCAMLMKLIB) -o mlhivex $^ \
 | 
				
			||||||
 | 
					+	    -ldopt '$(LDFLAGS)' \
 | 
				
			||||||
 | 
					+	    -L$(top_builddir)/lib/.libs -lhivex
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 mlhivex.cmxa: $(XOBJS)
 | 
				
			||||||
 | 
					-	$(OCAMLMKLIB) -o mlhivex $^ -L$(top_builddir)/lib/.libs -lhivex
 | 
				
			||||||
 | 
					+	$(OCAMLMKLIB) -o mlhivex $^ \
 | 
				
			||||||
 | 
					+	    -ldopt '$(LDFLAGS)' \
 | 
				
			||||||
 | 
					+	    -L$(top_builddir)/lib/.libs -lhivex
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 hivex_c.o: hivex_c.c
 | 
				
			||||||
 | 
					 	$(CC) $(AM_CPPFLAGS) $(CFLAGS) -fPIC -Wall -c $<
 | 
				
			||||||
 | 
					-- 
 | 
				
			||||||
 | 
					2.13.2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										13
									
								
								hivex.spec
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								hivex.spec
									
									
									
									
									
								
							@ -10,7 +10,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Name:           hivex
 | 
					Name:           hivex
 | 
				
			||||||
Version:        1.3.15
 | 
					Version:        1.3.15
 | 
				
			||||||
Release:        2%{?dist}
 | 
					Release:        3%{?dist}
 | 
				
			||||||
Summary:        Read and write Windows Registry binary hive files
 | 
					Summary:        Read and write Windows Registry binary hive files
 | 
				
			||||||
 | 
					
 | 
				
			||||||
License:        LGPLv2
 | 
					License:        LGPLv2
 | 
				
			||||||
@ -26,6 +26,11 @@ Source1:        http://libguestfs.org/download/hivex/%{name}-%{version}.tar.gz.s
 | 
				
			|||||||
Source2:       libguestfs.keyring
 | 
					Source2:       libguestfs.keyring
 | 
				
			||||||
%endif
 | 
					%endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Upstream patch to fix injection of LDFLAGS.
 | 
				
			||||||
 | 
					# https://bugzilla.redhat.com/show_bug.cgi?id=1548536
 | 
				
			||||||
 | 
					Patch1:         0001-ocaml-Link-the-C-bindings-with-LDFLAGS-RHBZ-1548536.patch
 | 
				
			||||||
 | 
					BuildRequires:  autoconf, automake, libtool, gettext-devel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
BuildRequires:  perl-interpreter
 | 
					BuildRequires:  perl-interpreter
 | 
				
			||||||
BuildRequires:  perl-devel
 | 
					BuildRequires:  perl-devel
 | 
				
			||||||
BuildRequires:  perl-generators
 | 
					BuildRequires:  perl-generators
 | 
				
			||||||
@ -196,6 +201,9 @@ gpgv2 --homedir "$tmphome" --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0}
 | 
				
			|||||||
%setup -q
 | 
					%setup -q
 | 
				
			||||||
%autopatch -p1
 | 
					%autopatch -p1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Because the patch touches Makefile.am, rerun autotools.
 | 
				
			||||||
 | 
					autoreconf -i -f
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Build Python 3 bindings in a separate subdirectory.  We have to
 | 
					# Build Python 3 bindings in a separate subdirectory.  We have to
 | 
				
			||||||
# build everything twice unfortunately.
 | 
					# build everything twice unfortunately.
 | 
				
			||||||
copy="$(mktemp -d)"
 | 
					copy="$(mktemp -d)"
 | 
				
			||||||
@ -324,6 +332,9 @@ popd
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
%changelog
 | 
					%changelog
 | 
				
			||||||
 | 
					* Mon Mar 19 2018 Richard W.M. Jones <rjones@redhat.com> - 1.3.15-3
 | 
				
			||||||
 | 
					- Add upstream patch to fix injection of LDFLAGS (RHBZ#1548536).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Thu Mar  1 2018 Florian Weimer <fweimer@redhat.com> - 1.3.15-2
 | 
					* Thu Mar  1 2018 Florian Weimer <fweimer@redhat.com> - 1.3.15-2
 | 
				
			||||||
- Rebuild with new redhat-rpm-config/perl build flags
 | 
					- Rebuild with new redhat-rpm-config/perl build flags
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user