Update to 10.0.0

This commit is contained in:
Stan Cox 2018-12-03 09:34:46 -05:00
parent d9dc870b4e
commit a2c9b02404
5 changed files with 90 additions and 20 deletions

2
.gitignore vendored
View File

@ -17,3 +17,5 @@
/testsuite-9.3.0.tar.gz
/dyninst-9.3.1.tar.gz
/dyninst-9.3.2.tar.gz
/dyninst-10.0.0.tar.gz
/testsuite-9.4.0.tar.gz

12
dyninst-10.0.0-doc.patch Normal file
View File

@ -0,0 +1,12 @@
--- ./dyninst-10.0.0/CMakeLists.txt.sv 2018-11-09 11:48:08.000000000 -0500
+++ ./dyninst-10.0.0/CMakeLists.txt 2018-11-13 11:35:20.109650373 -0500
@@ -149,7 +149,7 @@ if(BUILD_DOCS)
foreach(COMPONENT ${WORD_DOCS})
add_dependencies(doc ${COMPONENT}-doc)
set_target_properties(${COMPONENT}-doc PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD 1)
- install(FILES ${CMAKE_SOURCE_DIR}/${COMPONENT}/doc/${COMPONENT}.pdf
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${COMPONENT}/doc/${COMPONENT}.pdf
DESTINATION ${INSTALL_DOC_DIR}
RENAME ${COMPONENT}-${VERSION_STRING}.pdf
OPTIONAL

View File

@ -0,0 +1,42 @@
# workaround for https://github.com/dyninst/dyninst/issues/396
--- ./dyninst-10.0.0/examples/CMakeLists.txt.sv 2018-11-09 11:48:08.000000000 -0500
+++ ./dyninst-10.0.0/examples/CMakeLists.txt 2018-11-13 11:35:20.109650373 -0500
@@ -1,19 +1,19 @@
-add_executable(unstrip unstrip/unstrip.C
- unstrip/util.C
- unstrip/types.C
- unstrip/semanticDescriptor.C
- unstrip/database.C
- unstrip/fingerprint.C
- unstrip/callback.C)
+add_executable(unstrip unstrip.dir/unstrip.C
+ unstrip.dir/util.C
+ unstrip.dir/types.C
+ unstrip.dir/semanticDescriptor.C
+ unstrip.dir/database.C
+ unstrip.dir/fingerprint.C
+ unstrip.dir/callback.C)
add_dependencies(unstrip parseAPI symtabAPI instructionAPI common)
target_link_libraries(unstrip parseAPI symtabAPI instructionAPI common dynDwarf dynElf ${Boost_LIBRARIES})
-add_executable(codeCoverage codeCoverage/codeCoverage.C)
+add_executable(codeCoverage codeCoverage.dir/codeCoverage.C)
add_dependencies(codeCoverage dyninstAPI patchAPI parseAPI symtabAPI instructionAPI pcontrol common stackwalk dynDwarf dynElf)
target_link_libraries(codeCoverage dyninstAPI patchAPI parseAPI symtabAPI instructionAPI pcontrol common stackwalk dynDwarf dynElf ${Boost_LIBRARIES})
-add_library(Inst SHARED codeCoverage/libInst.C)
+add_library(Inst SHARED codeCoverage.dir/libInst.C)
add_executable(cfg_to_dot ../parseAPI/doc/example.cc)
@@ -29,5 +29,5 @@
)
-install (
- FILES unstrip/ddb.db unstrip/params.db unstrip/unistd.db DESTINATION ${INSTALL_BIN_DIR}
-)
+# install (
+# FILES unstrip.dir/ddb.db unstrip.dir/params.db unstrip.dir/unistd.db DESTINATION ${INSTALL_BIN_DIR}
+# )

View File

@ -2,9 +2,9 @@ Summary: An API for Run-time Code Generation
License: LGPLv2+
Name: dyninst
Group: Development/Libraries
Release: 12%{?dist}
Release: 1%{?dist}
URL: http://www.dyninst.org
Version: 9.3.2
Version: 10.0.0
# Dyninst only has full support for a few architectures.
# It has some preliminary support for aarch64 and ppc64le,
# but we're waiting for those to be feature-complete.
@ -12,28 +12,26 @@ ExclusiveArch: %{ix86} x86_64 ppc ppc64
Source0: https://github.com/dyninst/dyninst/archive/v%{version}/dyninst-%{version}.tar.gz
# Explicit version since it does not match the source version
Source1: https://github.com/dyninst/testsuite/archive/v9.3.0/testsuite-9.3.0.tar.gz
Source1: http://scox.fedorapeople.org/testsuite-9.4.0.tar.gz
Patch1: testsuite-9.3.0-junit-nullptr.patch
Patch2: addrtranslate-sysv.patch
Patch3: Object-elf.patch
Patch4: dyninst-9.3.2-gcc8.patch
Patch5: dyninst-9.3.2-glibc-rpc.patch
Patch1: dyninst-10.0.0-examples.patch
Patch2: dyninst-10.0.0-doc.patch
%global dyninst_base dyninst-%{version}
# Explicit version since it does not match the source version
%global testsuite_base testsuite-9.3.0
%global testsuite_base testsuite-9.4.0
BuildRequires: gcc-c++
BuildRequires: libdwarf-devel >= 20111030
BuildRequires: elfutils-devel
BuildRequires: elfutils-libelf-devel
BuildRequires: boost-devel
BuildRequires: binutils-devel
BuildRequires: cmake
BuildRequires: libtirpc-devel
BuildRequires: tbb tbb-devel
# Extra requires just for the testsuite
BuildRequires: gcc-gfortran glibc-static libstdc++-static nasm
BuildRequires: gcc-gfortran glibc-static libstdc++-static nasm libxml2-devel
# Testsuite files should not provide/require anything
%{?filter_setup:
@ -92,21 +90,27 @@ making sure that dyninst works properly.
%setup -q -n %{name}-%{version} -c
%setup -q -T -D -a 1
%patch1 -p0 -b.nullptr
%patch2 -p0 -b.addrtrans
%patch3 -p0 -b.objelf
%patch4 -p1 -b.gcc8
%patch5 -p1 -b.glibc-rpc
%patch1 -p1 -b.ex
%patch2 -p1 -b.doc
# cotire seems to cause non-deterministic gcc errors
# https://bugzilla.redhat.com/show_bug.cgi?id=1420551
sed -i.cotire -e 's/USE_COTIRE true/USE_COTIRE false/' \
%{dyninst_base}/cmake/shared.cmake
# Avoid Dir/executable name clash with in tree build
mv %{dyninst_base}/examples/unstrip %{dyninst_base}/examples/unstrip.dir
mv %{dyninst_base}/examples/codeCoverage %{dyninst_base}/examples/codeCoverage.dir
%build
cd %{dyninst_base}
CFLAGS="$CFLAGS $RPM_OPT_FLAGS"
LDFLAGS="$LDFLAGS $RPM_LD_FLAGS"
CXXFLAGS="$CFLAGS"
export CFLAGS CXXFLAGS LDFLAGS
%cmake \
-DENABLE_STATIC_LIBS=1 \
-DINSTALL_LIB_DIR:PATH=%{_libdir}/dyninst \
@ -119,7 +123,9 @@ cd %{dyninst_base}
# Hack to install dyninst nearby, so the testsuite can use it
make DESTDIR=../install install
find ../install -name '*.cmake' -execdir \
sed -i -e 's!%{_prefix}!../install&!' '{}' '+'
sed -i -e 's!%{_prefix}!../install&!' '{}' '+'
# cmake mistakenly looks for libtbb.so in the dyninst install dir
sed -i '/libtbb.so/ s/".*usr/"\/usr/' $PWD/../install%{_libdir}/cmake/Dyninst/commonTargets.cmake
cd ../%{testsuite_base}
%cmake \
@ -159,7 +165,7 @@ find %{buildroot}%{_libdir}/dyninst/testsuite/ \
%{_libdir}/dyninst/*.so.*
%doc %{dyninst_base}/COPYRIGHT
%doc %{dyninst_base}/LGPL
%doc %{dyninst_base}/LICENSE.md
%config(noreplace) /etc/ld.so.conf.d/*
@ -184,12 +190,20 @@ find %{buildroot}%{_libdir}/dyninst/testsuite/ \
%files testsuite
%{_bindir}/parseThat
%exclude %{_bindir}/cfg_to_dot
%exclude %{_libdir}/codeCoverage
%exclude /usr/bin/codeCoverage
%exclude %{_libdir}/unstrip
%exclude /usr/bin/unstrip
%dir %{_libdir}/dyninst/testsuite/
# Restore the permissions that were hacked out above, during install.
%attr(755,root,root) %{_libdir}/dyninst/testsuite/*[!a]
%attr(644,root,root) %{_libdir}/dyninst/testsuite/*.a
%changelog
* Tue Nov 13 2018 Stan Cox <scox@redhat.com> - 10.0.0-1
- Update to 10.0.0
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 9.3.2-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

View File

@ -1,2 +1,2 @@
SHA512 (dyninst-9.3.2.tar.gz) = 336ebf3a3ec123af2bf148dbfb9e0308be0bd93c81dcd1fa995c88d0eb865a85337aac976909aba4a589224b0872c601f52f20bc3f5f523f4588522308b563cd
SHA512 (testsuite-9.3.0.tar.gz) = b4a53c1a214882d7823f7a67fad5aee51a7f2fd692abdaecc9658cd01e991b6ac9b031b0f9bb94e3bd3e147ed4d362305882439bb422ff6b48bc35f1acbcdc2e
SHA512 (dyninst-10.0.0.tar.gz) = 407f8d2aa6e6c6b0e46c1c003f1ed3fa0d56b0efc86985ce9c9f2dae0ab2e7e7ad031072e957adf576577fd98676d4d40ced8796864a1be677cc7b4bc5755338
SHA512 (testsuite-9.4.0.tar.gz) = d866f5843b37390ae0ed0a2647ea216a9f2a2d114b6666454007d33c0288d24db5a81be0d2f64dd8aceca739f4ad1b2a4ae5f80cca00a3f7a15e9044f15c56cb