diff --git a/SPECS/elfutils.spec b/SPECS/elfutils.spec new file mode 100644 index 0000000..d7816dd --- /dev/null +++ b/SPECS/elfutils.spec @@ -0,0 +1,146 @@ +%global slibv 0.188 +%global compatname 0_188 + +Name: elfutils +Version: 0.188 +Release: %{?repo}0.rc4%{?dist} +Summary: elfutils + +Group: System Environment/Base +License: GPLv3, GPLv2, LGPL-3.0-or-later or GPL-2.0-or-later and GPL-3.0-or-later +URL: http://elfutils.org/ +Source0: https://sourceware.org/ftp/%{name}/%{version}/%{name}-%{version}.tar.bz2 +#Patch0: elfutils-libcurl.patch + +BuildRequires: zlib-devel +BuildRequires: libzstd-devel +BuildRequires: liblzma-devel +BuildRequires: libbz2-devel +#Requires: + +%description +elfutils is a collection of utilities and libraries to read, create and +modify ELF binary files, find and handle DWARF debug data, symbols, +thread state and stacktraces for processes and core files on GNU/Linux. + +%package libs +Summary: The elfutils shared libraries +Group: System Enviroment/Libraries +Provides: %{name}-libelf = %{version} +Provides: %{name}-libdw = %{version} +Requires: %{name}-libs-compat-%{compatname} = %{version}-%{release} + +%description libs +This package provides the elfutils shared libraries, including the libelf +and libdw libraries. + +%package libs-compat-%{compatname} +Summary: The specific versions of the elfutils shared libraries +Group: System Environment/Libraries + +%description libs-compat-%{compatname} +This package provides specific versions of the elfutils libraries, allowing +elfutils-libs to be updated without breaking applications that link against +these specific versions. + +%package devel +Summary: Development files for %{name} +Group: Development/Libraries +Requires: %{name}-libs = %{version}-%{release} +Provides: %{name}-libelf-devel = %{version} +Provides: %{name}-libdw = %{version} + + +%description devel +This package the headers and other related files needed to compile software +that links against the libelf libraries. + + +%prep +%setup -q +#%%patch0 -p0 + + +%build +%configure \ + --disable-rpath \ + --disable-debuginfod \ + --enable-libdebuginfod=dummy \ + --program-prefix="eu-" + +make %{?_smp_mflags} + + +%install +make install DESTDIR=%{buildroot} +%find_lang %{name} + +%check +%if 0%{?runtests:1} == 1 +make check > %{name}-make.check.log 2>&1 +%else +echo "make check not run during package build." > %{name}-make.check.log +%endif + +%post libs-compat-%{compatname} -p /sbin/ldconfig +%postun libs-compat-%{compatname} -p /sbin/ldconfig + +%files -f %{name}.lang +%defattr(-,root,root,-) +%attr(0755,root,root) %{_bindir}/* +%exclude %{_libdir}/*.a +%attr(0644,root,root) %{_mandir}/man1/*.1* +%attr(0644,root,root) %{_mandir}/man7/*.7* +%exclude %{_sysconfdir}/profile.d/debuginfod.csh +%exclude %{_sysconfdir}/profile.d/debuginfod.sh +%license COPYING COPYING-GPLV2 COPYING-LGPLV3 doc/COPYING-GFDL +%doc COPYING COPYING-GPLV2 COPYING-LGPLV3 doc/COPYING-GFDL +%doc AUTHORS ChangeLog NEWS NOTES README THANKS TODO +%doc %{name}-make.check.log + +%files libs +%defattr(-,root,root,-) +%{_libdir}/libasm.so.1 +%{_libdir}/libdebuginfod.so.1 +%{_libdir}/libdw.so.1 +%{_libdir}/libelf.so.1 +%license COPYING COPYING-GPLV2 COPYING-LGPLV3 doc/COPYING-GFDL +%doc AUTHORS ChangeLog NEWS NOTES README THANKS TODO +%doc COPYING COPYING-GPLV2 COPYING-LGPLV3 doc/COPYING-GFDL + +%files libs-compat-%{compatname} +%defattr(-,root,root,-) +%attr(0755,root,root) %{_libdir}/libasm-%{slibv}.so +%attr(0755,root,root) %{_libdir}/libdebuginfod-%{slibv}.so +%attr(0755,root,root) %{_libdir}/libdw-%{slibv}.so +%attr(0755,root,root) %{_libdir}/libelf-%{slibv}.so +%license COPYING COPYING-GPLV2 COPYING-LGPLV3 doc/COPYING-GFDL + +%files devel +%defattr(-,root,root,-) +%{_libdir}/libasm.so +%{_libdir}/libdebuginfod.so +%{_libdir}/libdw.so +%{_libdir}/libelf.so +%attr(0644,root,root) %{_includedir}/*.h +%dir %{_includedir}/%{name} +%attr(0644,root,root) %{_includedir}/%{name}/*.h +%attr(0644,root,root) %{_mandir}/man3/*.3* +%attr(0644,root,root) %{_libdir}/pkgconfig/*.pc +%license COPYING COPYING-GPLV2 COPYING-LGPLV3 doc/COPYING-GFDL +%doc AUTHORS ChangeLog NEWS NOTES README THANKS TODO +%doc COPYING COPYING-GPLV2 COPYING-LGPLV3 doc/COPYING-GFDL + +%changelog +* Mon May 08 2023 Michael A. Peters - 0.188-0.rc4 +- Spec file cleanup + +* Thu Mar 16 2023 Michael A. Peters - 0.188-0.rc3 +- Create a libs-compat package so elfutils-libs can be updated without breaking +- packages that haven't been rebuilt. + +* Tue Mar 14 2023 Michael A. Peters - 0.188-0.rc2 +- Use eu- prefix for binaries + +* Tue Mar 14 2023 Michael A. Peters - 0.188-0.rc1 +- Initial spec file. diff --git a/SPECS/kmod.spec b/SPECS/kmod.spec new file mode 100644 index 0000000..a6823ba --- /dev/null +++ b/SPECS/kmod.spec @@ -0,0 +1,116 @@ +Name: kmod +Version: 30 +Release: %{?repo}0.rc2%{?dist} +Summary: Utilities for loading kernel modules + +Group: System Environment/Kernel +License: GPL-2.0-or-later +URL: https://github.com/kmod-project/kmod +Source0: https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-30.tar.xz + +BuildRequires: liblzma-devel libzstd-devel zlib-devel +%if 0%{?libresslAPI:1} == 1 +BuildRequires: libressl-devel +%else +BuildRequires: openssl-devel +%endif +Requires: libkmod = %{version}-%{release} + +%description +kmod is a set of tools to handle common tasks with Linux kernel modules +like insert, remove, list, check properties, resolve dependencies and +aliases. + +These tools are designed on top of libkmod, a library that is shipped +with kmod. See /usr/share/doc/libkmod-%{version}/README for more details +on this library and how to use it. The aim is to be compatible with +tools, configurations and indexes from module-init-tools project. + +%package -n libkmod +Group: System Environment/Libraries +Summary: A shared library used for kernel module purposes + +%description -n libkmod +libkmod was created to allow programs to easily insert, remove and +list modules, also checking its properties, dependencies and aliases. + +%package -n libkmod-devel +Group: Development/Libraries +Summary: Developer files for libkmod +License: LGPL-2.1-or-later +Requires: libkmod = %{version}-%{release} +Provides: kmod-devel + +%description -n libkmod-devel +This package contains the library header files needed to compile software +that links against the libkmod library. + +%prep +%setup -q + + +%build +%configure \ + --libdir=/%{_lib} \ + --bindir=/bin \ + --with-openssl \ + --with-xz \ + --with-zstd \ + --with-zlib +make %{?_smp_mflags} + + +%install +make install DESTDIR=%{buildroot} + +# adjust pkgconfig +sed -i 's?libdir=.*?libs=%{_libdir}?' %{buildroot}/%{_lib}/pkgconfig/libkmod.pc +install -d %{buildroot}%{_libdir} +mv %{buildroot}/%{_lib}/pkgconfig %{buildroot}%{_libdir}/ +ln -s ../../%{_lib}/libkmod.so.2.4.0 %{buildroot}%{_libdir}/libkmod.so +rm -f %{buildroot}/%{_lib}/libkmod.so + +# symlinks +install -d %{buildroot}/sbin +ln -s ../bin/kmod %{buildroot}/sbin/depmod +ln -s ../bin/kmod %{buildroot}/sbin/insmod +ln -s ../bin/kmod %{buildroot}/sbin/modinfo +ln -s ../bin/kmod %{buildroot}/sbin/modprobe +ln -s ../bin/kmod %{buildroot}/sbin/rmmod + +ln -s kmod %{buildroot}/bin/lsmod + +%post -n libkmod -p /sbin/ldconfig +%postun -n libkmod -p /sbin/ldconfig + +%files +%defattr(-,root,root,-) +/bin/* +/sbin/* +%{_datadir}/bash-completion/completions/kmod +%{_mandir}/man5/*.5* +%{_mandir}/man8/*.8* +%license COPYING +%doc README.md tools/COPYING NEWS TODO + +%files -n libkmod +%defattr(-,root,root,-) +/%{_lib}/libkmod.so.2 +%attr(0755,root,root) /%{_lib}/libkmod.so.2.4.0 +%license libkmod/COPYING +%doc libkmod/README libkmod/COPYING + +%files -n libkmod-devel +%defattr(-,root,root,-) +%attr(0644,root,root) %{_includedir}/libkmod.h +%{_libdir}/libkmod.so +%attr(0644,root,root) %{_libdir}/pkgconfig/libkmod.pc +%license libkmod/COPYING +%doc libkmod/README libkmod/COPYING + +%changelog +* Mon May 08 2023 Michael A. Peters 30-0.rc2 +- Better %%description for libkmod (from the README) + +* Sun Mar 19 2023 Michael A. Peters 30-0.rc1 +- Initial spec file for YJL (RPM bootstrapping LFS/BLFS 11.3)