diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0743b4d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/doc-v2.0.4.tar.xz +SOURCES/v2.0.4.tar.gz diff --git a/.libipt.metadata b/.libipt.metadata new file mode 100644 index 0000000..b9d846f --- /dev/null +++ b/.libipt.metadata @@ -0,0 +1,2 @@ +77fe11a5169b820b549718c4094a7f46498f449a SOURCES/doc-v2.0.4.tar.xz +89b3dd85676090dd4a923425f7668446d729f5f3 SOURCES/v2.0.4.tar.gz diff --git a/SOURCES/libipt-gcc11.patch b/SOURCES/libipt-gcc11.patch new file mode 100644 index 0000000..33c23c0 --- /dev/null +++ b/SOURCES/libipt-gcc11.patch @@ -0,0 +1,22 @@ +diff --git a/libipt/test/src/ptunit-msec_cache.c b/libipt/test/src/ptunit-msec_cache.c +index 68d9daf..cfb059b 100644 +--- a/libipt/test/src/ptunit-msec_cache.c ++++ b/libipt/test/src/ptunit-msec_cache.c +@@ -296,7 +296,7 @@ static struct ptunit_result read(struct test_fixture *tfix) + static struct ptunit_result fill_nomap(struct test_fixture *tfix) + { + const struct pt_mapped_section *msec; +- struct pt_asid asid; ++ struct pt_asid asid = { 0 }; + struct pt_section *section; + int status; + +@@ -320,7 +320,7 @@ static struct ptunit_result fill(struct test_fixture *tfix) + { + const struct pt_mapped_section *msec; + struct pt_section *section; +- struct pt_asid asid; ++ struct pt_asid asid = { 0 }; + int status; + + status = pt_msec_cache_fill(&tfix->mcache, &msec, &tfix->image, &asid, diff --git a/SPECS/libipt.spec b/SPECS/libipt.spec new file mode 100644 index 0000000..c79721b --- /dev/null +++ b/SPECS/libipt.spec @@ -0,0 +1,186 @@ +# rmpbuild parameters: +# --with docs: Build pre-generated documentation. + +%global __cmake_in_source_build 1 + +Name: libipt +Version: 2.0.4 +Release: 5%{?dist} +Summary: Intel Processor Trace Decoder Library +License: BSD +URL: https://github.com/intel/libipt +Source0: https://github.com/intel/libipt/archive/v%{version}.tar.gz +Patch0: libipt-gcc11.patch +Source1: doc-v%{version}.tar.xz +# c++ is required only for -DPTUNIT test "ptunit-cpp". +BuildRequires: gcc-c++ cmake +%if 0%{?_with_docs:1} +# pandoc is for -DMAN. +BuildRequires: pandoc +%endif +BuildRequires: make +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 libipt-%{version} +%patch0 -p1 + +%build +%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DPTUNIT:BOOL=ON \ +%if 0%{?_with_docs:1} + -DMAN:BOOL=ON \ +%endif + -DDEVBUILD:BOOL=ON \ + . +%make_build + +%install +%make_install +%global develdocs howto_libipt.md +(cd doc;cp -p %{develdocs} ..) + +# If not building documentation, copy the pre-generated man pages +# to the appropriate place. Otherwise, tar up the generated +# documentation for use in subsequent builds. +%if 0%{?_with_docs:1} +(cd $RPM_BUILD_ROOT%{_mandir}/..; %__tar cJf %{SOURCE1} .) +%else +mkdir -p $RPM_BUILD_ROOT%{_mandir} +(cd $RPM_BUILD_ROOT%{_mandir}/..; %__tar xJf %{SOURCE1}) +%endif + +%check +ctest -V %{?_smp_mflags} + +%files +%doc README +%license LICENSE +%{_libdir}/%{name}.so.* + +%files devel +%doc %{develdocs} +%{_includedir}/* +%{_libdir}/%{name}.so +%{_mandir}/*/*.gz + +%changelog +* Thu Aug 12 2021 Keith Seitz - 2.0.4-5 +- Rebuilt for CI verification of 1943531. + +* Mon Aug 09 2021 Mohan Boddu - 2.0.4-4 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Fri Apr 16 2021 Mohan Boddu - 2.0.4-3 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Tue Mar 30 2021 Keith Seitz - 2.0.4-2 +- Add support for pre-generated documenation, allowing removal + of pandoc dependency. (RHBZ 1943531, Keith Seitz) + +* Wed Mar 10 2021 Kevin Buettner - 2.0.4-1 +- Release v2.0.4. + +* Tue Jan 26 2021 Fedora Release Engineering - 2.0.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Aug 19 2020 Jeff Law - 2.0.2-2 +- Fix uninitialized variable in testsuite + +* Tue Aug 04 2020 Keith Seitz - 2.0.2-1 +- Upgrade to 2.0.2. + +* Sat Aug 01 2020 Fedora Release Engineering - 2.0.1-6 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 2.0.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 24 2020 Jeff Law - 2.0.1-4 +- Use __cmake_in_source_build + +* Wed Jul 22 2020 Tom Stellard - 2.0.1-3 +- Use make macros +- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro + +* Wed Jan 29 2020 Fedora Release Engineering - 2.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Aug 16 2019 Sergio Durigan Junior - 2.0.1-1 +- Release v2.0.1. + +* Thu Jul 25 2019 Fedora Release Engineering - 2.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 2.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Aug 8 2018 Sergio Durigan Junior - 2.0-1 +- Release v2.0. + +* Fri Jul 13 2018 Fedora Release Engineering - 1.6.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* 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.