From 91d3d0fc2bb9d38e1e307a2eec12deae68278d57 Mon Sep 17 00:00:00 2001 From: MSVSphere Packaging Team Date: Fri, 25 Oct 2024 18:24:44 +0300 Subject: [PATCH] import pkgconf-2.1.0-2.el10 --- .gitignore | 1 + .pkgconf.metadata | 1 + SOURCES/pkg-config.in | 8 + SOURCES/platform-pkg-config.in | 14 + SPECS/pkgconf.spec | 472 +++++++++++++++++++++++++++++++++ 5 files changed, 496 insertions(+) create mode 100644 .gitignore create mode 100644 .pkgconf.metadata create mode 100644 SOURCES/pkg-config.in create mode 100644 SOURCES/platform-pkg-config.in create mode 100644 SPECS/pkgconf.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8bfea53 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/pkgconf-2.1.0.tar.xz diff --git a/.pkgconf.metadata b/.pkgconf.metadata new file mode 100644 index 0000000..247c38e --- /dev/null +++ b/.pkgconf.metadata @@ -0,0 +1 @@ +ec10c4205d122f9ceb781afdeca46de5386a223f SOURCES/pkgconf-2.1.0.tar.xz diff --git a/SOURCES/pkg-config.in b/SOURCES/pkg-config.in new file mode 100644 index 0000000..0d12767 --- /dev/null +++ b/SOURCES/pkg-config.in @@ -0,0 +1,8 @@ +#!/bin/sh + +# Multilib safe wrapper for pkg-config to call correct platform-specific version of pkg-config + +## Vendored definition of %_target_platform from redhat-rpm-config to avoid depending on it +TARGET_PLATFORM=$(rpm --eval '%{_target_cpu}-%{_vendor}-%{_target_os}%{?_gnu}') + +exec "@PKGCONF_BINDIR@/${TARGET_PLATFORM}-pkg-config" "$@" diff --git a/SOURCES/platform-pkg-config.in b/SOURCES/platform-pkg-config.in new file mode 100644 index 0000000..e5148e7 --- /dev/null +++ b/SOURCES/platform-pkg-config.in @@ -0,0 +1,14 @@ +#!/bin/sh + +# Simple wrapper to tell pkgconf to behave as a platform-specific version of pkg-config +# Platform: @TARGET_PLATFORM@ + +if [ -z "${RPM_BUILD_ROOT}" ]; then + export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR:-@PKGCONF_LIBDIRS_LOCAL@}" +else + export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR:-@PKGCONF_LIBDIRS@}" +fi +export PKG_CONFIG_SYSTEM_LIBRARY_PATH="${PKG_CONFIG_SYSTEM_LIBRARY_PATH:-@PKGCONF_SYSLIBDIR@}" +export PKG_CONFIG_SYSTEM_INCLUDE_PATH="${PKG_CONFIG_SYSTEM_INCLUDE_PATH:-@PKGCONF_SYSINCDIR@}" + +exec pkgconf "$@" diff --git a/SPECS/pkgconf.spec b/SPECS/pkgconf.spec new file mode 100644 index 0000000..e8c7f91 --- /dev/null +++ b/SPECS/pkgconf.spec @@ -0,0 +1,472 @@ +# pkgconf acts as pkgconfig for Fedora and EL8+ +%if (0%{?rhel} && 0%{?rhel} <= 7) +%bcond_with pkgconfig_compat +%else +%bcond_without pkgconfig_compat +%endif + +%if %{with pkgconfig_compat} +%global pkgconfig_ver 0.29.1 +# For obsoleting pkgconfig +%global pkgconfig_verrel %{pkgconfig_ver}-3 +%global pkgconfig_evr 1:%{pkgconfig_verrel} +%endif + +# Tests are disabled on RHEL 9 because of the extensive dependencies +%if 0%{?rhel} >= 9 +%bcond_with tests +%else +%bcond_without tests +%endif + +# Search path for pc files for pkgconf +%global pkgconf_libdirs %{_libdir}/pkgconfig:%{_datadir}/pkgconfig + +# libpkgconf soversion major version +%global libsomajor 4 + +Name: pkgconf +Version: 2.1.0 +Release: 2%{?dist} +Summary: Package compiler and linker metadata toolkit + +License: ISC +URL: http://pkgconf.org/ +Source0: https://distfiles.dereferenced.org/%{name}/%{name}-%{version}.tar.xz + +# Simple wrapper scripts to offer platform versions of pkgconfig +Source1: platform-pkg-config.in +Source2: pkg-config.in + +BuildRequires: gcc +BuildRequires: make + +# For regenerating autotools scripts +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool + +%if %{with tests} +# For unit tests +BuildRequires: kyua +BuildRequires: atf-tests +%endif + +# pkgconf uses libpkgconf internally +Requires: lib%{name}%{?_isa} = %{version}-%{release} + +# This is defined within pkgconf code as a virtual pc (just like in pkgconfig) +Provides: pkgconfig(pkgconf) = %{version} + +%description +pkgconf is a program which helps to configure compiler and linker flags +for development frameworks. It is similar to pkg-config from freedesktop.org +and handles .pc files in a similar manner as pkg-config. + +%package -n lib%{name} +Summary: Backend library for %{name} + +%description -n lib%{name} +This package provides libraries for applications to use the functionality +of %{name}. + +%package -n lib%{name}-devel +Summary: Development files for lib%{name} +Requires: lib%{name}%{?_isa} = %{version}-%{release} + +%description -n lib%{name}-devel +This package provides files necessary for developing applications +to use functionality provided by %{name}. + +%if %{with pkgconfig_compat} +%package m4 +Summary: m4 macros for pkgconf +License: GPLv2+ with exceptions +BuildArch: noarch +# Ensure that it Conflicts and Obsoletes pkgconfig since it contains content formerly from it +Conflicts: pkgconfig < %{pkgconfig_evr} +Obsoletes: pkgconfig < %{pkgconfig_evr} + +%description m4 +This package includes m4 macros used to support PKG_CHECK_MODULES +when using pkgconf with autotools. + +%package pkg-config +Summary: %{name} shim to provide /usr/bin/pkg-config +# Ensure that it Conflicts with pkgconfig and is considered "better" +Conflicts: pkgconfig < %{pkgconfig_evr} +Obsoletes: pkgconfig < %{pkgconfig_evr} +Provides: pkgconfig = %{pkgconfig_evr} +Provides: pkgconfig%{?_isa} = %{pkgconfig_evr} +# This is in the original pkgconfig package, set to match output from pkgconf +Provides: pkgconfig(pkg-config) = %{version} +# Generic pkg-config Provides for those who might use alternate package name +Provides: pkg-config = %{pkgconfig_verrel} +Provides: pkg-config%{?_isa} = %{pkgconfig_verrel} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-m4 = %{version}-%{release} + +%description pkg-config +This package provides the shim links for pkgconf to be automatically +used in place of pkgconfig. This ensures that pkgconf is used as +the system provider of pkg-config. + +%endif + +%package -n bomtool +Summary: Simple SBOM generator using pc(5) files +Requires: lib%{name}%{?_isa} = %{version}-%{release} + +%description -n bomtool +bomtool is a program which helps generate a Software Bill of Materials +manifest using data from installed .pc files. + + +%prep +%autosetup -p1 + +%build +autoreconf -fiv +%configure --disable-static \ + --with-pkg-config-dir=%{pkgconf_libdirs} \ + --with-system-includedir=%{_includedir} \ + --with-system-libdir=%{_libdir} + +%make_build V=1 + + +%check +%if %{with tests} +make check || : +%endif + + +%install +%make_install + +find %{buildroot} -name '*.la' -print -delete + +mkdir -p %{buildroot}%{_sysconfdir}/pkgconfig/personality.d +mkdir -p %{buildroot}%{_datadir}/pkgconfig/personality.d + +# pkgconf rpm macros +mkdir -p %{buildroot}%{_rpmmacrodir}/ + +cat > %{buildroot}%{_rpmmacrodir}/macros.pkgconf < %{buildroot}%{_mandir}/man1/pkg-config.1 + +mkdir -p %{buildroot}%{_libdir}/pkgconfig +mkdir -p %{buildroot}%{_datadir}/pkgconfig +%endif + +# If we're not providing pkgconfig override & compat +# we should not provide the pkgconfig m4 macros +%if ! %{with pkgconfig_compat} +rm -rf %{buildroot}%{_datadir}/aclocal +%endif + +%ldconfig_scriptlets -n lib%{name} + +%files +%license COPYING +%doc README.md AUTHORS NEWS +%{_bindir}/%{name} +%{_mandir}/man1/%{name}.1* +%{_mandir}/man5/pc.5* +%{_mandir}/man5/%{name}-personality.5* +%{_rpmmacrodir}/macros.pkgconf +%dir %{_sysconfdir}/pkgconfig +%dir %{_sysconfdir}/pkgconfig/personality.d +%dir %{_datadir}/pkgconfig/personality.d + +%files -n lib%{name} +%license COPYING +%{_libdir}/lib%{name}*.so.%{libsomajor}{,.*} + +%files -n lib%{name}-devel +%{_libdir}/lib%{name}*.so +%{_includedir}/%{name}/ +%{_libdir}/pkgconfig/lib%{name}.pc + +%if %{with pkgconfig_compat} +%files m4 +%{_datadir}/aclocal/pkg.m4 +%{_mandir}/man7/pkg.m4.7* + +%files pkg-config +%{_bindir}/pkg-config +%{_bindir}/%{_target_platform}-pkg-config +%{_mandir}/man1/pkg-config.1* +%dir %{_libdir}/pkgconfig +%dir %{_datadir}/pkgconfig +%endif + +%files -n bomtool +%{_bindir}/bomtool + + +%changelog +* Fri Oct 25 2024 MSVSphere Packaging Team - 2.1.0-2 +- Rebuilt for MSVSphere 10 + +* Mon Jun 24 2024 Troy Dawson - 2.1.0-2 +- Bump release for June 2024 mass rebuild + +* Mon Feb 12 2024 Jens Petersen - 2.1.0-1 +- update to 2.1.0 +- https://github.com/pkgconf/pkgconf/blob/pkgconf-2.1.0/NEWS + +* Thu Jan 25 2024 Fedora Release Engineering - 1.9.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 1.9.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jul 21 2023 Fedora Release Engineering - 1.9.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue May 16 2023 Sérgio Basto - 1.9.5-1 +- Update pkgconf to 1.9.5 (#2192963) + +* Mon May 15 2023 Sérgio Basto - 1.9.4-2 +- Rebuild for ATF soname bump + +* Wed Feb 22 2023 Neal Gompa - 1.9.4-1 +- Rebase to 1.9.4 + +* Wed Feb 22 2023 Neal Gompa - 1.8.0-6 +- Drop dependency on system-rpm-config (#2172406) + +* Fri Jan 20 2023 Fedora Release Engineering - 1.8.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Nov 01 2022 Amit Shah - 1.8.0-4 +- Depend on system-rpm-config + +* Fri Jul 22 2022 Fedora Release Engineering - 1.8.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jan 21 2022 Fedora Release Engineering - 1.8.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sun Jul 25 2021 Neal Gompa - 1.8.0-1 +- Update to 1.8.0 + +* Fri Jul 23 2021 Fedora Release Engineering - 1.7.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jun 23 2021 Sandro Mani - 1.7.4-2 +- Don't prepend sysroot_dir if pkg-config file lies outside of sysroot_dir (#1974883) + +* Wed Apr 28 2021 Neal Gompa - 1.7.4-1 +- Update to 1.7.4 +- Don't add /usr/local to syspaths (#1953348) + +* Mon Feb 22 2021 Tomas Popela - 1.7.3-7 +- Conditionalize the unit tests, disable them on RHEL 9 + +* Wed Jan 27 2021 Fedora Release Engineering - 1.7.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Oct 19 2020 Neal Gompa - 1.7.3-5 +- Use internal target platform definition for pkg-config wrapper + +* Thu Oct 15 2020 Neal Gompa - 1.7.3-4 +- Fix pkg-config wrapper for armv7hl + +* Thu Oct 15 2020 Neal Gompa - 1.7.3-3 +- Make /usr/bin/pkg-config multilib safe + +* Mon Aug 10 2020 Neal Gompa - 1.7.3-2 +- Add /usr/local paths to pkg-config(1) search path for non RPM builds + +* Mon Aug 03 2020 Neal Gompa - 1.7.3-1 +- Update to 1.7.3 + +* Sat Aug 01 2020 Fedora Release Engineering - 1.7.0-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1.7.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon May 25 2020 Igor Raits - 1.7.0-1 +- Update to 1.7.0 + +* Thu Jan 30 2020 Fedora Release Engineering - 1.6.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Jul 26 2019 Fedora Release Engineering - 1.6.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Jul 14 13:23:30 CEST 2019 Igor Gnatenko - 1.6.3-1 +- Update to 1.6.3 + +* Fri Jul 12 09:36:57 CEST 2019 Igor Gnatenko - 1.6.2-1 +- Update to 1.6.2 + +* Mon Mar 25 2019 Igor Gnatenko - 1.6.1-1 +- Update to 1.6.1 + +* Sat Feb 09 2019 Neal Gompa - 1.6.0-1 +- Update to 1.6.0 +- Add personality.d directories for cross-targets +- Add pkgconf rpm macros for pkgconf directories + +* Sat Feb 02 2019 Fedora Release Engineering - 1.5.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Nov 27 2018 Igor Gnatenko - 1.5.4-1 +- Update to 1.5.4 + +* Tue Jul 31 2018 Florian Weimer - 1.5.3-2 +- Rebuild with fixed binutils + +* Sun Jul 29 2018 Igor Gnatenko - 1.5.3-1 +- Update to 1.5.3 + +* Fri Jul 13 2018 Fedora Release Engineering - 1.5.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Jun 29 2018 Neal Gompa - 1.5.1-2 +- Add patch to fix system path override issue + +* Wed Jun 27 2018 Neal Gompa - 1.5.1-1 +- Upgrade to 1.5.1 + +* Sat Mar 31 2018 Neal Gompa - 1.4.2-1 +- Update to 1.4.2 +- Drop conditionals for old Fedora releases + +* Fri Feb 09 2018 Fedora Release Engineering - 1.4.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jan 31 2018 Igor Gnatenko - 1.4.1-2 +- Switch to %%ldconfig_scriptlets + +* Tue Jan 23 2018 Igor Gnatenko - 1.4.1-1 +- Update to 1.4.1 + +* Sun Jan 07 2018 Neal Gompa - 1.4.0-2 +- Move pc(5) manpage to main pkgconf package + +* Fri Jan 05 2018 Neal Gompa - 1.4.0-1 +- Update to 1.4.0 + +* Fri Jan 05 2018 Neal Gompa - 1.3.90-2 +- Add simple wrapper to support platform-specific pkg-config paths (#1513810) + +* Tue Dec 19 2017 Igor Gnatenko - 1.3.90-1 +- Update to 1.3.90 + +* Sun Dec 10 2017 Igor Gnatenko - 1.3.12-1 +- Update to 1.3.12 + +* Wed Nov 01 2017 Igor Gnatenko - 1.3.10-1 +- Update to 1.3.10 + +* Wed Sep 20 2017 Igor Gnatenko - 1.3.9-1 +- Update to 1.3.9 + +* Thu Aug 03 2017 Fedora Release Engineering - 1.3.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 1.3.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Jul 17 2017 Igor Gnatenko - 1.3.8-1 +- Update to 1.3.8 + +* Sun May 28 2017 Neal Gompa - 1.3.7-1 +- Update to 1.3.7 + +* Wed May 10 2017 Igor Gnatenko - 1.3.6-1 +- Update to 1.3.6 + +* Tue Apr 04 2017 Igor Gnatenko - 1.3.5-1 +- Update to 1.3.5 + +* Thu Mar 30 2017 Igor Gnatenko - 1.3.4-1 +- Update to 1.3.4 + +* Mon Mar 27 2017 Neal Gompa - 1.3.3-1 +- Update to 1.3.3 + +* Fri Mar 24 2017 Igor Gnatenko - 1.3.2-1 +- Update to 1.3.2 + +* Sat Feb 25 2017 Neal Gompa - 1.3.0-1 +- Update to 1.3.0 + +* Tue Feb 07 2017 Neal Gompa - 1.2.2-2 +- Backport patch from upstream to remove extraneous whitespace (#1419685) + +* Fri Feb 03 2017 Igor Gnatenko - 1.2.2-1 +- Update to 1.2.2 + +* Thu Feb 02 2017 Neal Gompa - 1.2.1-3 +- Fix Obsoletes and Conflicts to prevent self-conflicts + +* Thu Feb 02 2017 Neal Gompa - 1.2.1-2 +- Adjust Obsoletes and Conflicts to use inclusive range + +* Tue Jan 24 2017 Igor Gnatenko - 1.2.1-1 +- Update to 1.2.1 + +* Sat Jan 21 2017 Neal Gompa - 1.2.0-1 +- Upgrade to 1.2.0 +- Enable pkgconf-pkg-config and pkgconf-m4 for F26+ + +* Sat Jan 14 2017 Neal Gompa - 1.1.1-3 +- Add missing pkgconfig() Provides for virtual .pc files defined in pkgconf + +* Fri Jan 13 2017 Neal Gompa - 1.1.1-2 +- Add missing Epoch to pkgconfig Provides/Conflicts for pkgconf-pkg-config +- Add copy of pkgconf.1 as pkg-config.1 in pkgconf-pkg-config + +* Sat Jan 07 2017 Neal Gompa - 1.1.1-1 +- Upgrade to 1.1.1 +- Add missing directories to pkgconf-pkg-config + +* Sun Jan 01 2017 Neal Gompa - 1.1.0-3 +- Fix up spec per package review (#1409332) + +* Sat Dec 31 2016 Neal Gompa - 1.1.0-2 +- Rework package to not generate conflict with pkgconfig +- Disable pkgconf-m4 and pkgconf-pkg-config by default + +* Sat Dec 31 2016 Neal Gompa - 1.1.0-1 +- Upgrade to 1.1.0 +- Enable libpkgconf libraries now that they are ABI+API stable + +* Tue Oct 25 2016 Neal Gompa - 1.0.2-1 +- Upgrade to 1.0.2 + +* Fri Aug 26 2016 Neal Gompa - 1.0.1-2 +- Add subpackage for providing pkg-config shim +- Enable tests + +* Thu Aug 25 2016 Neal Gompa - 1.0.1-1 +- Upgrade to 1.0.1 + +* Wed Aug 24 2016 Neal Gompa - 1-1 +- Initial packaging