From 56ea310fe172da43c4d4c1f9b3a013dfc5e288bc Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Wed, 20 Aug 2014 11:30:00 -0700 Subject: [PATCH] rebase to 8.2.0, using upstream tag "v8.2.0.1" --- .gitignore | 3 + dyninst-8.1.2-testsuite-opt.patch | 12 -- dyninst-Werror-format-security.patch | 24 --- dyninst-install-testsuite.patch | 238 --------------------------- dyninst-pokeuser.patch | 48 ------ dyninst-rpm-build-flags.patch | 14 -- dyninst.spec | 89 ++++++---- sources | 5 +- 8 files changed, 62 insertions(+), 371 deletions(-) delete mode 100644 dyninst-8.1.2-testsuite-opt.patch delete mode 100644 dyninst-Werror-format-security.patch delete mode 100644 dyninst-install-testsuite.patch delete mode 100644 dyninst-pokeuser.patch delete mode 100644 dyninst-rpm-build-flags.patch diff --git a/.gitignore b/.gitignore index 146f29e..39949e7 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,6 @@ /dyninst-8.1.1.tar.gz /dyninst-docs-8.1.1.tar.gz /dyninst-8.1.2.tar.gz +/dyninst-8.2.0.1.tar.gz +/dyninst-docs-8.2.0.1.tar.gz +/dyninst-testsuite-8.2.0.1.tar.gz diff --git a/dyninst-8.1.2-testsuite-opt.patch b/dyninst-8.1.2-testsuite-opt.patch deleted file mode 100644 index 548ad30..0000000 --- a/dyninst-8.1.2-testsuite-opt.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up dyninst/testsuite/make.module.tmpl.testsuite-opt dyninst/testsuite/make.module.tmpl ---- dyninst/testsuite/make.module.tmpl.testsuite-opt 2013-12-11 17:01:03.278606211 -0800 -+++ dyninst/testsuite/make.module.tmpl 2013-12-11 17:02:24.593743942 -0800 -@@ -23,7 +23,7 @@ LFLAGS = -L../../common/$(PLATFORM) -L.. - # Turn off NO_INITIALIZER_LIST_SUPPORT if we compile test suite with C++11 - CFLAGS = $(UNIFIED_TEST_DEF:%=%_test) $(ARCH_FLAGS) $(AC_DEF) $(FIRST_INCLUDE) $(IFLAGS) -I../src -g $(BOOST_INCDIR) $(CPPFLAGS) - CXXFLAGS = $(CFLAGS) --CXXFLAGS += $(PLATFORM_CXXFLAGS) $(CXX_REQ_FLAGS) -+CXXFLAGS += $(PLATFORM_CXXFLAGS) -std=c++11 - - CFLAGS_NATIVE = $(CFLAGS) - CXXFLAGS_NATIVE = $(CXXFLAGS) diff --git a/dyninst-Werror-format-security.patch b/dyninst-Werror-format-security.patch deleted file mode 100644 index f72c527..0000000 --- a/dyninst-Werror-format-security.patch +++ /dev/null @@ -1,24 +0,0 @@ -commit 67ce417eab034187f0ea952e78c547051da4b276 -Author: Josh Stone -Date: Tue Dec 3 14:03:21 2013 -0800 - - DatabaseOutputDriver: Print raw buffer via %s - - This is needed to pass -Werror=format-security, which flagged this - having passed the buffer as the format argument. - - Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1037048 - -diff --git a/src/DatabaseOutputDriver.C b/src/DatabaseOutputDriver.C -index 0a866dbea458..2769d584e9be 100644 ---- a/src/DatabaseOutputDriver.C -+++ b/src/DatabaseOutputDriver.C -@@ -311,7 +311,7 @@ void DatabaseOutputDriver::writeSQLLog() { - else - buf.clear(); - -- fprintf(out, buf.c_str()); -+ fprintf(out, "%s", buf.c_str()); - delete [] buffer; - } - if (buf.rfind("RESULT:") == std::string::npos) { diff --git a/dyninst-install-testsuite.patch b/dyninst-install-testsuite.patch deleted file mode 100644 index a57135f..0000000 --- a/dyninst-install-testsuite.patch +++ /dev/null @@ -1,238 +0,0 @@ -commit 701eb936767886bfd7b8858e8e2151173f9dc6bd -Author: Josh Stone -Date: Tue Feb 26 09:34:52 2013 -0800 - - Hack the testsuite into shape for installation - - * testsuite/make.module.tmpl: Forgo rpath, and install all targets. - * testsuite/src/runTests-utils.C (setupVars): Don't complain about the - scripts dir, as it's not actually needed anyway. - * testsuite/src/test_driver.C (getRTLibDir): Hack out the builddir path, - and just use ../ (aka %{libdir}/dyninst/testsuite/../) - -diff --git a/testsuite/make.module.tmpl b/testsuite/make.module.tmpl -index 1d3ce2c..1c76d8f 100644 ---- a/testsuite/make.module.tmpl -+++ b/testsuite/make.module.tmpl -@@ -227,7 +227,7 @@ proccontrol_COMPONENT_LIB = $(LIBPROCCONTROLCOMP) - SPACE := - SPACE += - #COMPONENT_LDFLAGS += $(subst $(SPACE),,-Wl,--enable-new-dtags$(ALL_COMP_DIRS:%=,-rpath,%)) --COMPONENT_LDFLAGS += $(subst $(SPACE),,-Wl$(ALL_COMP_DIRS:%=,-rpath,%)) -+#COMPONENT_LDFLAGS += $(subst $(SPACE),,-Wl$(ALL_COMP_DIRS:%=,-rpath,%)) - - all: default - -@@ -246,8 +246,19 @@ full: test-full - ### A list of all the targets we're building, for install purposes - ####################################################################### - --ALL_TARGETS_DEST = $(addprefix $(TEST_DEST)/,$(ALL_TARGETS)) --LIBTESTSUITE_DEST = $(addprefix $(TEST_DEST)/,$(LIBTESTSUITE)) -+TEST_DEST ?= $(LIBRARY_DEST)/testsuite -+ -+ALL_TARGETS = $(LIBTESTLAUNCH) $(LIBTESTSUITE) $(TESTLIBS) -+ALL_TARGETS += $(MUTATORS) $(MUTATEES_MINIMUM) -+ALL_TARGETS += $(DRIVERS) $(OUTPUT_DRIVERS) $(COMPONENTS) -+ -+FULL_TARGETS = $(LIBTESTLAUNCH) $(LIBTESTSUITE) $(TESTLIBS) -+FULL_TARGETS += $(MUTATORS) $(MUTATEES) -+FULL_TARGETS += $(DRIVERS) $(OUTPUT_DRIVERS) $(COMPONENTS) -+ -+ALL_TARGETS_DEST = $(addprefix $(TEST_DEST)/,$(ALL_TARGETS)) -+FULL_TARGETS_DEST = $(addprefix $(TEST_DEST)/,$(FULL_TARGETS)) -+LIBTESTSUITE_DEST = $(addprefix $(TEST_DEST)/,$(LIBTESTSUITE)) - - ####################################################################### - ### Some pattern rules -@@ -274,13 +285,11 @@ include make.mutators.gen - - include make.solo_mutatee.gen - --mutatees: -- --mutators: -- --components: -- --testlibs: -+MUTATEES = -+MUTATEES_MINIMUM = -+MUTATORS = -+COMPONENTS = -+TESTLIBS = - - ####################################################################### - ### Filter results, if needed -@@ -296,13 +305,13 @@ include $(TO_CORE)/make.components - - ifneq ($(wildcard ../src/dyninst), ) - ifneq ($(findstring dyninstAPI,$(fullSystem)),) --mutatees: $(filter-out $(BUILD_FILTER), $(dyninst_SOLO_MUTATEES)) --mutatees_minimum: $(filter-out $(BUILD_FILTER), $(filter-out $(MINIMUM_BUILD_FILTER), $(dyninst_SOLO_MUTATEES))) --mutators: $(dyninst_MUTATORS_SO) --components: $(LIBDYNINSTCOMP) --testlibs: $(DYNINST_TESTLIBS) $(DYNINST_STATIC_TESTLIBS) -+MUTATEES += $(filter-out $(BUILD_FILTER), $(dyninst_SOLO_MUTATEES)) -+MUTATEES_MINIMUM += $(filter-out $(BUILD_FILTER), $(filter-out $(MINIMUM_BUILD_FILTER), $(dyninst_SOLO_MUTATEES))) -+MUTATORS += $(dyninst_MUTATORS_SO) -+COMPONENTS += $(LIBDYNINSTCOMP) -+TESTLIBS += $(DYNINST_TESTLIBS) $(DYNINST_STATIC_TESTLIBS) - ifndef SKIP_BUILD_RTLIB_32 --testlibs: $(DYNINST_TESTLIBS_ABI) $(DYNINST_STATIC_TESTLIBS_ABI) -+TESTLIBS += $(DYNINST_TESTLIBS_ABI) $(DYNINST_STATIC_TESTLIBS_ABI) - dyninst_targs = $(DYNINST_TESTLIBS_ABI) $(DYNINST_STATIC_TESTLIBS_ABI) - endif - dyninst_targs += $(filter-out $(BUILD_FILTER), $(filter-out $(MINIMUM_BUILD_FILTER), $(dyninst_SOLO_MUTATEES))) -@@ -312,11 +321,11 @@ endif - - ifneq ($(wildcard ../src/symtab), ) - ifneq ($(findstring symtabAPI,$(fullSystem)),) --mutatees: $(filter-out $(BUILD_FILTER), $(symtab_SOLO_MUTATEES)) --mutatees_minimum: $(filter-out $(BUILD_FILTER), $(filter-out $(MINIMUM_BUILD_FILTER), $(symtab_SOLO_MUTATEES))) --mutators: $(symtab_MUTATORS_SO) --components: $(LIBSYMTABCOMP) --testlibs: $(DYNINST_TESTLIBS) $(DYNINST_STATIC_TESTLIBS) -+MUTATEES += $(filter-out $(BUILD_FILTER), $(symtab_SOLO_MUTATEES)) -+MUTATEES_MINIMUM += $(filter-out $(BUILD_FILTER), $(filter-out $(MINIMUM_BUILD_FILTER), $(symtab_SOLO_MUTATEES))) -+MUTATORS += $(symtab_MUTATORS_SO) -+COMPONENTS += $(LIBSYMTABCOMP) -+TESTLIBS += $(DYNINST_TESTLIBS) $(DYNINST_STATIC_TESTLIBS) - symtab_targs = $(filter-out $(BUILD_FILTER), $(filter-out $(MINIMUM_BUILD_FILTER), $(symtab_SOLO_MUTATEES))) - symtab_targs = $(symtab_MUTATORS_SO) $(LIBSYMTABCOMP) - endif -@@ -324,12 +333,12 @@ endif - - ifneq ($(wildcard ../src/instruction), ) - ifneq ($(findstring instructionAPI,$(fullSystem)),) --mutatees: $(filter-out $(BUILD_FILTER), $(instruction_SOLO_MUTATEES)) --mutatees_minimum: $(filter-out $(BUILD_FILTER), $(filter-out $(MINIMUM_BUILD_FILTER), $(instruction_SOLO_MUTATEES))) --mutators: $(instruction_MUTATORS_SO) -+MUTATEES += $(filter-out $(BUILD_FILTER), $(instruction_SOLO_MUTATEES)) -+MUTATEES_MINIMUM += $(filter-out $(BUILD_FILTER), $(filter-out $(MINIMUM_BUILD_FILTER), $(instruction_SOLO_MUTATEES))) -+MUTATORS += $(instruction_MUTATORS_SO) - ifneq ($(instruction_MUTATORS_SO), ) --components: $(LIBINSTRUCTIONCOMP) --testlibs: -+COMPONENTS += $(LIBINSTRUCTIONCOMP) -+TESTLIBS += - instruction_targs = $(LIBINSTRUCTIONCOMP) - endif - instruction_targs += $(filter-out $(BUILD_FILTER), $(filter-out $(MINIMUM_BUILD_FILTER), $(instruction_SOLO_MUTATEES))) -@@ -339,12 +348,12 @@ endif - - ifneq ($(wildcard ../src/proccontrol), ) - ifneq ($(findstring proccontrol,$(fullSystem)),) --mutatees: $(filter-out $(BUILD_FILTER), $(proccontrol_SOLO_MUTATEES)) --mutatees_minimum: $(filter-out $(BUILD_FILTER), $(filter-out $(MINIMUM_BUILD_FILTER), $(proccontrol_SOLO_MUTATEES))) --mutators: $(proccontrol_MUTATORS_SO) -+MUTATEES += $(filter-out $(BUILD_FILTER), $(proccontrol_SOLO_MUTATEES)) -+MUTATEES_MINIMUM += $(filter-out $(BUILD_FILTER), $(filter-out $(MINIMUM_BUILD_FILTER), $(proccontrol_SOLO_MUTATEES))) -+MUTATORS += $(proccontrol_MUTATORS_SO) - ifneq ($(proccontrol_MUTATORS_SO), ) --components: $(LIBPROCCONTROLCOMP) --testlibs: $(PROCCONTROL_TESTLIBS) $(PROCCONTROL_TESTLIBS_ABI) $(DYNINST_TESTLIBS) $(DYNINST_TESTLIBS_ABI) -+COMPONENTS += $(LIBPROCCONTROLCOMP) -+TESTLIBS += $(PROCCONTROL_TESTLIBS) $(PROCCONTROL_TESTLIBS_ABI) $(DYNINST_TESTLIBS) $(DYNINST_TESTLIBS_ABI) - proccontrol_targs = $(LIBPROCCONTROLCOMP) $(PROCCONTROL_TESTLIBS) $(PROCCONTROL_TESTLIBS_ABI) $(DYNINST_TESTLIBS) $(DYNINST_TESTLIBS_ABI) - endif - proccontrol_targs += $(filter-out $(BUILD_FILTER), $(filter-out $(MINIMUM_BUILD_FILTER), $(proccontrol_SOLO_MUTATEES))) -@@ -352,6 +361,16 @@ proccontrol_targs += $(proccontrol_MUTATORS_SO) - endif - endif - -+mutatees: $(MUTATEES) -+ -+mutatees_minimum: $(MUTATEES_MINIMUM) -+ -+mutators: $(MUTATORS) -+ -+components: $(COMPONENTS) -+ -+testlibs: $(TESTLIBS) -+ - common_infra: drivers output_drivers - - dyninstAPI: common_infra $(dyninst_targs) $(symtab_targs) $(instruction_targs) $(proccontrol_targs) -@@ -362,7 +381,13 @@ instructionAPI: common_infra $(instruction_targs) - - proccontrol: common_infra $(proccontrol_targs) - --install: default -+install: $(TEST_DEST) -+ -+install-full: $(TEST_DEST) -+ -+$(TEST_DEST)/%: % -+ @echo Installing $@ -+ $(HIDE_COMP)$(INSTALL) -t $(TEST_DEST) $< - - symlink: all - -@@ -412,7 +437,8 @@ endif - - testlibs: $(LIBTESTSUITE) - --drivers: test_driver runTests testdriver_wrapper -+DRIVERS = test_driver runTests testdriver_wrapper -+drivers: $(DRIVERS) - - .PHONY: clean install distclean mutators mutatees testlibs gnu_mutatees native_mutatees echo all - -@@ -566,7 +592,8 @@ endif - - # Install directory - $(TEST_DEST): -- mkdir $(TEST_DEST) -+ @echo Installing $@ -+ $(HIDE_COMP)$(INSTALL) -d $(TEST_DEST) - - ####################################################################### - ### Generic Mutator build rule: -@@ -857,3 +884,6 @@ endif - endif - endif - endif -+ -+install: $(ALL_TARGETS_DEST) -+install-full: $(FULL_TARGETS_DEST) -diff --git a/testsuite/src/runTests-utils.C b/testsuite/src/runTests-utils.C -index 0f54874..02bd505 100644 ---- a/testsuite/src/runTests-utils.C -+++ b/testsuite/src/runTests-utils.C -@@ -403,12 +403,14 @@ void setupVars(bool useLog, string &logfile) - } - - pdscrdir = base_dir + "/dyninst/scripts"; -+#if 0 - if ( ! isDir(pdscrdir) ) - { - cerr << pdscrdir << " does not exist. Paradyn scripts dir required." - << endl; - exit(1); - } -+#endif - - // Determine Test log dir - char *pdtst = getenv("PDTST"); -diff --git a/testsuite/src/test_driver.C b/testsuite/src/test_driver.C -index 0fc3117..31def33 100644 ---- a/testsuite/src/test_driver.C -+++ b/testsuite/src/test_driver.C -@@ -805,6 +805,8 @@ void updateSearchPaths(const char *filename) { - } - - std::string getRTLibDir() { -+ return "../"; -+#if 0 - char *platform = getenv("PLATFORM"); - char cwd[1024]; - if (!platform) { -@@ -822,6 +824,7 @@ std::string getRTLibDir() { - std::string rtlib = "../../dyninstAPI_RT/"; - rtlib += platform; - return rtlib; -+#endif - } - - #if !defined(os_windows_test) diff --git a/dyninst-pokeuser.patch b/dyninst-pokeuser.patch deleted file mode 100644 index 80cb7ef..0000000 --- a/dyninst-pokeuser.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff -up dyninst/proccontrol/src/linux.C.orig dyninst/proccontrol/src/linux.C ---- dyninst/proccontrol/src/linux.C.orig 2013-06-18 11:34:02.000000000 -0400 -+++ dyninst/proccontrol/src/linux.C 2013-08-05 12:16:35.172000000 -0400 -@@ -1970,7 +1970,7 @@ bool linux_thread::plat_getRegister(Dyni - const unsigned size = i->second.second; - assert(sizeof(val) >= size); - val = 0; -- unsigned long result = do_ptrace((pt_req) PTRACE_PEEKUSR, lwp, (void *) offset, NULL); -+ unsigned long result = do_ptrace((pt_req) PTRACE_PEEKUSER, lwp, (void *) offset, NULL); - if (errno != 0) { - perr_printf("Error reading registers from %d: %s\n", lwp, strerror(errno)); - setLastError(err_internal, "Could not read register from thread"); -@@ -2184,11 +2184,11 @@ bool linux_thread::plat_setRegister(Dyni - int result; - if (size == 4) { - uint32_t value = (uint32_t) val; -- result = do_ptrace((pt_req) PTRACE_POKEUSR, lwp, (void *) offset, (void *) value); -+ result = do_ptrace((pt_req) PTRACE_POKEUSER, lwp, (void *) offset, (void *) value); - } - else if (size == 8) { - uint64_t value = (uint64_t) val; -- result = do_ptrace((pt_req) PTRACE_POKEUSR, lwp, (void *) offset, (void *) value); -+ result = do_ptrace((pt_req) PTRACE_POKEUSER, lwp, (void *) offset, (void *) value); - } - else { - assert(0); -diff -up dyninst/proccontrol/src/linux.h.orig dyninst/proccontrol/src/linux.h ---- dyninst/proccontrol/src/linux.h.orig 2013-06-18 11:34:02.000000000 -0400 -+++ dyninst/proccontrol/src/linux.h 2013-08-05 12:16:35.173000000 -0400 -@@ -47,7 +47,6 @@ - #include "common/h/dthread.h" - #include - #include --#include - - typedef enum __ptrace_request pt_req; - -diff -up dyninst/stackwalk/src/linux-swk.C.orig dyninst/stackwalk/src/linux-swk.C ---- dyninst/stackwalk/src/linux-swk.C.orig 2013-06-18 11:34:02.000000000 -0400 -+++ dyninst/stackwalk/src/linux-swk.C 2013-08-05 12:16:35.175000000 -0400 -@@ -73,7 +73,6 @@ using namespace Dyninst::Stackwalker; - // if porting to some linux-like platform that doesn't support - // them. - #include --#include - typedef enum __ptrace_request pt_req; - #define cap_ptrace_traceclone - #define cap_ptrace_setoptions diff --git a/dyninst-rpm-build-flags.patch b/dyninst-rpm-build-flags.patch deleted file mode 100644 index 73b4f18..0000000 --- a/dyninst-rpm-build-flags.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- dyninst/make.config.buildflags 2013-02-14 11:23:18.717002871 -0800 -+++ dyninst/make.config 2013-02-14 11:23:46.588871846 -0800 -@@ -570,9 +570,9 @@ ifeq (ppc64_linux, $(findstring ppc64_li - endif - - # flags for normal (non-kludge) files, with common warnings --CFLAGS = $(IFLAGS) $(UNIFIED_DEF) $(OPT_FLAG) $(COMMON_WARNINGS) $(ARCH_FLAGS) -+CFLAGS += $(IFLAGS) $(UNIFIED_DEF) $(OPT_FLAG) $(COMMON_WARNINGS) $(ARCH_FLAGS) - CXXFLAGS += $(IFLAGS) $(UNIFIED_DEF) $(OPT_FLAG) $(COMMON_WARNINGS) $(STDINT_MACROS) $(ARCH_FLAGS) --LDFLAGS = $(ARCH_FLAGS) -+LDFLAGS += $(ARCH_FLAGS) - - # flags for kludge files, won't have warnings generated - KFLAGS = $(IFLAGS) $(UNIFIED_DEF) $(BASICWARNINGS) diff --git a/dyninst.spec b/dyninst.spec index 9df6b73..ae01d89 100644 --- a/dyninst.spec +++ b/dyninst.spec @@ -2,9 +2,9 @@ Summary: An API for Run-time Code Generation License: LGPLv2+ Name: dyninst Group: Development/Libraries -Release: 11%{?dist} +Release: 1%{?dist} URL: http://www.dyninst.org -Version: 8.1.2 +Version: 8.2.0 Exclusiveos: linux #dyninst only knows the following architectures ExclusiveArch: %{ix86} x86_64 ppc ppc64 @@ -12,22 +12,23 @@ ExclusiveArch: %{ix86} x86_64 ppc ppc64 # The source for this package was pulled from upstream's vcs. Use the # following commands to generate the tarball: # git clone http://git.dyninst.org/dyninst.git; cd dyninst -# git archive --format=tar.gz --prefix=dyninst/ v8.1.2 > dyninst-8.1.2.tar.gz +# git archive --format=tar.gz --prefix=dyninst/ v8.2.0.1 > dyninst-8.2.0.1.tar.gz # git clone http://git.dyninst.org/docs.git; cd docs -# git archive --format=tar.gz v8.1.1 > dyninst-docs-8.1.1.tar.gz +# git archive --format=tar.gz --prefix=docs/ v8.2.0.1 > dyninst-docs-8.2.0.1.tar.gz +# git clone http://git.dyninst.org/testsuite.git; cd testsuite +# git archive --format=tar.gz --prefix=testsuite/ v8.2.0.1 > dyninst-testsuite-8.2.0.1.tar.gz # Verify the commit ids with: -# gunzip -c dyninst-8.1.2.tar.gz | git get-tar-commit-id -# gunzip -c dyninst-docs-8.1.1.tar.gz | git get-tar-commit-id -Source0: %{name}-%{version}.tar.gz -Source1: %{name}-docs-8.1.1.tar.gz -Patch1: dyninst-rpm-build-flags.patch -Patch2: dyninst-install-testsuite.patch -Patch3: dyninst-pokeuser.patch -Patch4: dyninst-Werror-format-security.patch -Patch5: dyninst-8.1.2-testsuite-opt.patch +# gunzip -c dyninst-8.2.0.1.tar.gz | git get-tar-commit-id +# gunzip -c dyninst-docs-8.2.0.1.tar.gz | git get-tar-commit-id +# gunzip -c dyninst-testsuite-8.2.0.1.tar.gz | git get-tar-commit-id +Source0: dyninst-%{version}.1.tar.gz +Source1: dyninst-docs-%{version}.1.tar.gz +Source2: dyninst-testsuite-%{version}.1.tar.gz BuildRequires: libdwarf-devel >= 20111030 BuildRequires: elfutils-libelf-devel BuildRequires: boost-devel +BuildRequires: binutils-devel +BuildRequires: cmake # Extra requires just for the testsuite BuildRequires: gcc-gfortran glibc-static libstdc++-static nasm @@ -60,6 +61,7 @@ Summary: Header files for the compiling programs with Dyninst Group: Development/System Requires: dyninst = %{version}-%{release} Requires: boost-devel + %description devel dyninst-devel includes the C header files that specify the Dyninst user-space libraries and interfaces. This is required for rebuilding any program @@ -76,7 +78,10 @@ the dyninst user-space libraries and interfaces. %package testsuite Summary: Programs for testing Dyninst Group: Development/System +Requires: dyninst = %{version}-%{release} Requires: dyninst-devel = %{version}-%{release} +Requires: dyninst-static = %{version}-%{release} +Requires: glibc-static %description testsuite dyninst-testsuite includes the test harness and target programs for making sure that dyninst works properly. @@ -84,28 +89,40 @@ making sure that dyninst works properly. %prep %setup -q -n %{name}-%{version} -c %setup -q -T -D -a 1 - -pushd dyninst -%patch1 -p1 -b .buildflags -%patch2 -p1 -b .testsuite -%patch3 -p1 -b .pokeuser -%patch4 -p1 -d testsuite -b .format-security -%patch5 -p1 -b .testsuite-opt -popd - +%setup -q -T -D -a 2 %build cd dyninst -%configure --includedir=%{_includedir}/dyninst --libdir=%{_libdir}/dyninst -make %{?_smp_mflags} VERBOSE_COMPILATION=1 +%cmake \ + -DINSTALL_LIB_DIR:PATH=%{_libdir}/dyninst \ + -DINSTALL_INCLUDE_DIR:PATH=%{_includedir}/dyninst \ + -DINSTALL_CMAKE_DIR:PATH=%{_libdir}/cmake/Dyninst \ + -DCMAKE_SKIP_RPATH:BOOL=YES +make %{?_smp_mflags} + +# Hack to install dyninst nearby, so the testsuite can use it +make DESTDIR=../install install +sed -i -e 's!%{_libdir}/dyninst!../install%{_libdir}/dyninst!' \ + ../install%{_libdir}/cmake/Dyninst/*.cmake + +cd ../testsuite +%cmake \ + -DDyninst_DIR:PATH=../install%{_libdir}/cmake/Dyninst \ + -DINSTALL_DIR:PATH=%{_libdir}/dyninst/testsuite \ + -DCMAKE_BUILD_TYPE:STRING=Debug \ + -DCMAKE_SKIP_RPATH:BOOL=YES +make %{?_smp_mflags} %install cd dyninst make DESTDIR=%{buildroot} install +cd ../testsuite +make DESTDIR=%{buildroot} install + mkdir -p %{buildroot}/etc/ld.so.conf.d echo "%{_libdir}/dyninst" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf @@ -135,19 +152,22 @@ chmod 644 %{buildroot}%{_libdir}/dyninst/testsuite/* %files doc %defattr(-,root,root,-) -%doc dynC_API.pdf -%doc DyninstAPI.pdf -%doc InstructionAPI.pdf -%doc ParseAPI.pdf -%doc PatchAPI.pdf -%doc ProcControlAPI.pdf -%doc StackwalkerAPI.pdf -%doc SymtabAPI.pdf +%doc docs/dynC_API.pdf +%doc docs/DyninstAPI.pdf +%doc docs/dyninstAPI/examples/ +%doc docs/InstructionAPI.pdf +%doc docs/ParseAPI.pdf +%doc docs/PatchAPI.pdf +%doc docs/ProcControlAPI.pdf +%doc docs/StackwalkerAPI.pdf +%doc docs/SymtabAPI.pdf %files devel %defattr(-,root,root,-) %{_includedir}/dyninst %{_libdir}/dyninst/*.so +%dir %{_libdir}/cmake +%{_libdir}/cmake/Dyninst %files static %defattr(-,root,root,-) @@ -155,12 +175,15 @@ chmod 644 %{buildroot}%{_libdir}/dyninst/testsuite/* %files testsuite %defattr(-,root,root,-) -%{_bindir}/parseThat +#%{_bindir}/parseThat %dir %{_libdir}/dyninst/testsuite/ # Restore the permissions that were hacked out above, during install. %attr(755,root,root) %{_libdir}/dyninst/testsuite/* %changelog +* Wed Aug 20 2014 Josh Stone - 8.2.0-1 +- rebase to 8.2.0, using upstream tag "v8.2.0.1" + * Sat Aug 16 2014 Fedora Release Engineering - 8.1.2-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild diff --git a/sources b/sources index 5b62311..e0a759a 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ -73d258f60bf773ceb7d7f8d272446e95 dyninst-docs-8.1.1.tar.gz -e8c2ac1629dc9165ddc8ca35ba727637 dyninst-8.1.2.tar.gz +a135ef4fe73c39f06c8215b0f6dc844c dyninst-8.2.0.1.tar.gz +309897bf21a58007b61c3da7a7e9e4da dyninst-docs-8.2.0.1.tar.gz +3a675debbf201c86a616b1c3262972f4 dyninst-testsuite-8.2.0.1.tar.gz