From c5ac8a1d0a491e3af57463d1a28d5e22bc34c10a Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Thu, 8 Dec 2022 04:11:13 +0000 Subject: [PATCH] import libtracefs-1.3.1-1.el8 --- .gitignore | 1 + .libtracefs.metadata | 1 + SOURCES/libtracefs-1.0.2-harden-linking.patch | 11 +++ SPECS/libtracefs.spec | 72 +++++++++++++++++++ 4 files changed, 85 insertions(+) create mode 100644 .gitignore create mode 100644 .libtracefs.metadata create mode 100644 SOURCES/libtracefs-1.0.2-harden-linking.patch create mode 100644 SPECS/libtracefs.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4815b6c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/libtracefs-1.3.1.tar.gz diff --git a/.libtracefs.metadata b/.libtracefs.metadata new file mode 100644 index 0000000..72a8313 --- /dev/null +++ b/.libtracefs.metadata @@ -0,0 +1 @@ +400dc7422f22b86ab64f2adaaf0a2d106e4b0261 SOURCES/libtracefs-1.3.1.tar.gz diff --git a/SOURCES/libtracefs-1.0.2-harden-linking.patch b/SOURCES/libtracefs-1.0.2-harden-linking.patch new file mode 100644 index 0000000..878f74b --- /dev/null +++ b/SOURCES/libtracefs-1.0.2-harden-linking.patch @@ -0,0 +1,11 @@ +--- a/scripts/utils.mk ++++ b/scripts/utils.mk +@@ -56,7 +56,7 @@ + + do_compile_shared_library = \ + ($(print_shared_lib_compile) \ +- $(CC) --shared $^ '-Wl,-soname,$(1),-rpath=$$ORIGIN' -o $@ $(LDFLAGS) $(LIBS)) ++ $(CC) --shared $^ '-Wl,-soname,$(1),-rpath=$$ORIGIN' -o $@ $(GCCLDFLAGS) $(LDFLAGS) $(LIBS)) + + do_compile_plugin_obj = \ + ($(print_plugin_obj_compile) \ diff --git a/SPECS/libtracefs.spec b/SPECS/libtracefs.spec new file mode 100644 index 0000000..8d5d61d --- /dev/null +++ b/SPECS/libtracefs.spec @@ -0,0 +1,72 @@ +# git tag +#%%global commit 4f24f98960c223e56329519bb90a90f0b2ad813f +#%%global commitdate 20201120 +#%%global shortcommit %%(c=%%{commit}; echo ${c:0:7}) + +# LTO causes linking issues randomly like +# lto1: internal compiler error: resolution sub id 0x7136344381f3059f not in object file +# So disabling LTO at this moment. + +%global _lto_cflags %nil + +Name: libtracefs +Version: 1.3.1 +Release: 1%{?dist} +License: LGPLv2+ and GPLv2+ +Summary: Library for access kernel tracefs + +URL: https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/ +# If upstream does not provide tarballs, to generate: +# git clone git://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git +# cd libtracefs +# git archive --prefix=libtracefs-%%{version}/ -o libtracefs-%%{version}.tar.gz %%{git_commit} +#Source0: libtracefs-%%{version}.tar.gz +#Source0: https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/libtracefs-%%{commit}.tar.gz +Source0: https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/libtracefs-%{version}.tar.gz +Patch0: libtracefs-1.0.2-harden-linking.patch +BuildRequires: gcc +BuildRequires: make +BuildRequires: pkgconfig(libtraceevent) +# The libtracefs is meant to be used by perf, trace-cmd etc. in the future, before it's ready in perf, let's add a conflict +Conflicts: trace-cmd < 2.9.1-6 + +%description +libtracefs is a library for accessing kernel tracefs + +%package devel +Summary: Development headers of %{name} +Requires: %{name}%{_isa} = %{version}-%{release} + +%description devel +Development headers of %{name} + +%prep +%setup -q +%patch0 -p1 + +%build +%set_build_flags +export GCCLDFLAGS="-Wl,-z,now" +%make_build prefix=%{_prefix} libdir=%{_libdir} all + +%install +%set_build_flags +export GCCLDFLAGS="-Wl,-z,now" +%make_install prefix=%{_prefix} libdir=%{_libdir} +rm -rf %{buildroot}/%{_libdir}/libtracefs.a + +%files +%license LICENSES/LGPL-2.1 +%license LICENSES/GPL-2.0 +%{_libdir}/%{name}.so.1 +%{_libdir}/%{name}.so.1.3.1 + +%files devel +%{_includedir}/tracefs/tracefs.h +%{_libdir}/pkgconfig/%{name}.pc +%{_libdir}/%{name}.so + +%changelog +* Mon Nov 23 2020 Zamir SUN - 1.3.1-1 +- Initial libtracefs + Related: rhbz#2075198