diff --git a/.gitignore b/.gitignore index 78bb7c3..b916051 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /units-*.tar.gz /units-*.tar.gz.sig +/units-*/ diff --git a/0001-units-2.22-no-network.patch b/0100-units-2.22-no-network.patch similarity index 100% rename from 0001-units-2.22-no-network.patch rename to 0100-units-2.22-no-network.patch diff --git a/0101-fix-make-less-default-pager.patch b/0101-fix-make-less-default-pager.patch new file mode 100644 index 0000000..6f2599f --- /dev/null +++ b/0101-fix-make-less-default-pager.patch @@ -0,0 +1,26 @@ +From f9e58208af29f62cec46a583039110876fbd5f3e Mon Sep 17 00:00:00 2001 +From: Jan Macku +Date: Mon, 2 Mar 2026 10:23:17 +0100 +Subject: [PATCH] fix: make less default pager + +Resolves: #2268395 +--- + units.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/units.c b/units.c +index 2bc1a02..fd138c5 100644 +--- a/units.c ++++ b/units.c +@@ -137,7 +137,7 @@ under the terms of the GNU General Public License." + #ifdef _WIN32 + # define DEFAULTPAGER "more" /* Default pager for Windows */ + #else +-# define DEFAULTPAGER "/usr/bin/pager" /* Default pager for Unix */ ++# define DEFAULTPAGER "/usr/bin/less" /* Default pager for Unix */ + #endif + #define DEFAULTLOCALE "en_US" /* Default locale */ + #define MAXINCLUDE 5 /* Max depth of include files */ +-- +2.53.0 + diff --git a/sources b/sources index 0fd55d9..c90157e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (units-2.22.tar.gz) = 4ed62ce6ee861b817916bc925713794187fa63eb5320e8e720558ac1d5bd48d5f1c9500e1d1f90414a6f4410f1ab806928c2a655adf4cd8b51829cd73397ab2f -SHA512 (units-2.22.tar.gz.sig) = 50a94263631d05642e56f42805711d56a54c93c73a143cdf7c18087722b5f1fff46bb8ab56abe3ca984738d8301be75ecfd2f1f9ea1917976353357a0aaad742 +SHA512 (units-2.27.tar.gz.sig) = 6696986c3f40bdbef7a1a761c5314b6cce836c862aaae5926ab40da9516e5bf1d37293bcfc82bd01b92d54125b35d8e426d1b4368c7afef938b4ebf1c3723ee2 +SHA512 (units-2.27.tar.gz) = 432633abb10c68910d658e7ce50b23c26100566c2e9fc377e963f0d86d60b5366e12519c33b947805d447b7cbbb891578a8e1f7f2120aa8f95c3e9fbab60e881 diff --git a/units.spec b/units.spec index 5f486a7..14f864d 100644 --- a/units.spec +++ b/units.spec @@ -1,11 +1,16 @@ Summary: A utility for converting amounts from one unit to another Name: units -Version: 2.22 -Release: 6%{?dist} +Version: 2.27 +Release: 3%{?dist} Source: https://ftp.gnu.org/gnu/units/%{name}-%{version}.tar.gz +Source1: units.tmpfiles.conf URL: https://www.gnu.org/software/units/units.html License: GPL-3.0-or-later + +Requires: less + BuildRequires: bison +BuildRequires: systemd-rpm-macros BuildRequires: gcc BuildRequires: make BuildRequires: ncurses-devel @@ -13,7 +18,10 @@ BuildRequires: python3-devel BuildRequires: readline-devel # do not update currency.units from network during build -Patch1: 0001-units-2.22-no-network.patch +Patch100: 0100-units-2.22-no-network.patch + +# make less a default pager to avoid error about missing /usr/bin/pager +Patch101: 0101-fix-make-less-default-pager.patch %description Units converts an amount from one unit to another, or tells you what @@ -25,20 +33,44 @@ well as conversions such as Fahrenheit to Celsius. %autosetup -p1 %build -%configure +# Use C17 standard to avoid compilation errors +# We will revert this change once the upstream adopts the latest C standard +%configure CFLAGS="$RPM_OPT_FLAGS -std=c17" %make_build %install %make_install -# replace an absolute symlink by a relative symlink -ln -fsv ../../..%{_sharedstatedir}/units/currency.units %{buildroot}%{_datadir}/units +# Copy dynamic files to defaults directory as templates for tmpfiles.d +mkdir -p %{buildroot}%{_datadir}/units/defaults +for f in currency cpi metal_prices crypto; do + cp -p %{buildroot}%{_sharedstatedir}/units/${f}.units %{buildroot}%{_datadir}/units/defaults/ +done + +# Remove /var/lib/units from buildroot - now managed by tmpfiles.d +rm -rf %{buildroot}%{_sharedstatedir}/units + +# Replace absolute symlinks by relative symlinks +for f in currency cpi metal_prices crypto; do + ln -fsv ../../../var/lib/units/${f}.units %{buildroot}%{_datadir}/units/${f}.units +done + +# Install tmpfiles.d configuration for Image Mode support +install -m0644 -D %{SOURCE1} %{buildroot}%{_tmpfilesdir}/units.conf gzip %{buildroot}%{_infodir}/units.info # provide a man page for units_cur as a symlink to units.1 ln -s units.1 %{buildroot}%{_mandir}/man1/units_cur.1 +%post +%tmpfiles_create units.conf + +%postun +if [ $1 -eq 0 ]; then + systemd-tmpfiles --purge %{_tmpfilesdir}/units.conf 2>/dev/null || : +fi + %check make check @@ -47,11 +79,56 @@ make check %{_bindir}/units %{_bindir}/units_cur %{_datadir}/units -%{_sharedstatedir}/units +%{_tmpfilesdir}/units.conf %{_infodir}/* %{_mandir}/man1/* %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 2.27-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Tue Apr 21 2026 Jan Macku - 2.27-2 +- fix units compatibility with Image Mode + +* Wed Apr 08 2026 Jan Macku - 2.27-1 +- new upstream release + +* Mon Mar 02 2026 Jan Macku - 2.26-1 +- new upstream release + +* Mon Jan 19 2026 Jan Macku - 2.25-1 +- new upstream release + +* Sat Jan 17 2026 Fedora Release Engineering - 2.24-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Fri Jul 25 2025 Fedora Release Engineering - 2.24-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Feb 20 2025 Jan Macku - 2.24-3 +- Use C17 standard to avoid compilation errors (#2341484) + +* Sun Jan 19 2025 Fedora Release Engineering - 2.24-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Nov 29 2024 Jan Macku - 2.24-1 +- new upstream release + +* Sat Jul 20 2024 Fedora Release Engineering - 2.23-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Thu Apr 11 2024 Jan Macku - 2.23-2 +- fix make less the default pager (#2268395) + +* Mon Feb 19 2024 Jan Macku - 2.23-1 +- new upstream release + +* Sat Jan 27 2024 Fedora Release Engineering - 2.22-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Nov 30 2023 Florian Weimer - 2.22-7 +- C compatibility fix for the configure script (#2252276) + * Sat Jul 22 2023 Fedora Release Engineering - 2.22-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/units.tmpfiles.conf b/units.tmpfiles.conf new file mode 100644 index 0000000..f32b17a --- /dev/null +++ b/units.tmpfiles.conf @@ -0,0 +1,5 @@ +d /var/lib/units 0755 root root - - +C /var/lib/units/currency.units 0644 root root - /usr/share/units/defaults/currency.units +C /var/lib/units/cpi.units 0644 root root - /usr/share/units/defaults/cpi.units +C /var/lib/units/metal_prices.units 0644 root root - /usr/share/units/defaults/metal_prices.units +C /var/lib/units/crypto.units 0644 root root - /usr/share/units/defaults/crypto.units