diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f650ad2 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/v1.6.1.tar.gz diff --git a/.libipt.metadata b/.libipt.metadata new file mode 100644 index 0000000..d722ba1 --- /dev/null +++ b/.libipt.metadata @@ -0,0 +1 @@ +baf2585043db3c165568df877e53de019474962b SOURCES/v1.6.1.tar.gz diff --git a/SOURCES/v1.6.1-implicit-fallthrough.patch b/SOURCES/v1.6.1-implicit-fallthrough.patch new file mode 100644 index 0000000..5f19356 --- /dev/null +++ b/SOURCES/v1.6.1-implicit-fallthrough.patch @@ -0,0 +1,20 @@ +commit 3a307bd5add3df34665d1e5cb1b646af55ba9653 +Author: Jan Kratochvil +Date: Fri Jun 9 07:27:50 2017 +0200 + + libipt: Fix [-Werror=implicit-fallthrough=] with gcc-7.1.1. + +diff --git a/libipt/src/pt_block_decoder.c b/libipt/src/pt_block_decoder.c +index 21783a6..91d5bb3 100644 +--- a/libipt/src/pt_block_decoder.c ++++ b/libipt/src/pt_block_decoder.c +@@ -2095,6 +2095,9 @@ static int pt_blk_proceed_no_event_cached(struct pt_block_decoder *decoder, + } + + /* Fall through to ptbq_decode. */ ++#if __GNUC__ >= 7 ++ __attribute__ ((fallthrough)); ++#endif + + case ptbq_decode: { + struct pt_insn_ext iext; diff --git a/SPECS/libipt.spec b/SPECS/libipt.spec new file mode 100644 index 0000000..bc4c042 --- /dev/null +++ b/SPECS/libipt.spec @@ -0,0 +1,106 @@ +Name: libipt +Version: 1.6.1 +Release: 8%{?dist} +Summary: Intel Processor Trace Decoder Library +License: BSD +URL: https://github.com/01org/processor-trace +Source0: https://github.com/01org/processor-trace/archive/v%{version}.tar.gz +Patch1: v1.6.1-implicit-fallthrough.patch +# c++ is required only for -DPTUNIT test "ptunit-cpp". +# pandoc is for -DMAN. +BuildRequires: gcc-c++ cmake pandoc +ExclusiveArch: %{ix86} x86_64 + +%description +The Intel Processor Trace (Intel PT) Decoder Library is Intel's reference +implementation for decoding Intel PT. It can be used as a standalone library +or it can be partially or fully integrated into your tool. + +%ldconfig_scriptlets + +%package devel +Summary: Header files and libraries for Intel Processor Trace Decoder Library +Requires: %{name}%{?_isa} = %{version}-%{release} +ExclusiveArch: %{ix86} x86_64 + +%description devel +The %{name}-devel package contains the header files and libraries needed to +develop programs that use the Intel Processor Trace (Intel PT) Decoder Library. + +%prep +%setup -q -n processor-trace-%{version} +%patch1 -p1 + +%build +%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DPTUNIT:BOOL=ON \ + -DMAN:BOOL=ON \ + -DDEVBUILD:BOOL=ON \ + . +make VERBOSE=1 %{?_smp_mflags} + +%install +make install DESTDIR=%{buildroot} +%global develdocs howto_libipt.md +(cd doc;cp -p %{develdocs} ..) + +%check +ctest -V %{?_smp_mflags} + +%files +%doc README +%license LICENSE +%{_libdir}/%{name}.so.* + +%files devel +%doc %{develdocs} +%{_includedir}/* +%{_libdir}/%{name}.so +%{_mandir}/*/*.gz + +%changelog +* Mon Mar 5 2018 Jan Kratochvil - 1.6.1-8 +- Enable tests (PTUNIT) and man pages (MAN). +- Change BuildRequires: gcc -> gcc-c++ as PTUNIT tests require C++. + +* Sat Mar 3 2018 Jan Kratochvil - 1.6.1-7 +- Add: BuildRequires: gcc + https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B#BuildRequires_and_Requires + +* Fri Mar 2 2018 Jan Kratochvil - 1.6.1-6 +- Fix v1.6.1-implicit-fallthrough.patch compatibility with gcc < 7. +- Use %%ldconfig_scriptlets. + https://fedoraproject.org/wiki/Packaging:Scriptlets#Shared_Libraries + +* Wed Feb 07 2018 Fedora Release Engineering - 1.6.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 1.6.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.6.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Jun 9 2017 Jan Kratochvil - 1.6.1-2 +- Fix [-Werror=implicit-fallthrough=] with gcc-7.1.1. + +* Fri Jun 9 2017 Jan Kratochvil - 1.6.1-1 +- Rebase to upstream 1.6.1. + +* Fri Feb 10 2017 Fedora Release Engineering - 1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Apr 11 2016 Jan Kratochvil - 1.5-1 +- Rebase to upstream 1.5. + +* Thu Feb 04 2016 Fedora Release Engineering - 1.4.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jan 20 2016 Jan Kratochvil - 1.4.4-1 +- Rebase to upstream 1.4.4. + +* Wed Oct 14 2015 Jan Kratochvil - 1.4.3-1 +- Rebase to upstream 1.4.3. + +* Mon Aug 31 2015 Jan Kratochvil - 1.4.2-1 +- Initial Fedora packaging.