%define realname bytesize %define with_python3 1 %define with_gtk_doc 1 %define with_tools 1 %if (! 0%{?fedora} && 0%{?rhel} <= 7) || %{with_python3} == 0 %define with_python3 0 %define python3_opts --without-python3 %define with_tools 0 %endif %if %{with_tools} != 1 %define tools_opts --without-tools %endif %define configure_opts %{?python3_opts} %{?tools_opts} Name: libbytesize Version: 2.7 Release: 5%{?dist} Summary: A library for working with sizes in bytes License: LGPL-2.1-or-later URL: https://github.com/storaged-project/libbytesize Source0: https://github.com/storaged-project/libbytesize/releases/download/%{version}-%{release}/%{name}-%{version}.tar.gz BuildRequires: make BuildRequires: gcc BuildRequires: gmp-devel BuildRequires: mpfr-devel BuildRequires: pcre2-devel BuildRequires: gettext-devel %if %{with_python3} BuildRequires: python3-devel %endif %if %{with_gtk_doc} BuildRequires: gtk-doc %endif %description The libbytesize is a C library that facilitates work with sizes in bytes. Be it parsing the input from users or producing a nice human readable representation of a size in bytes this library takes localization into account. It also provides support for sizes bigger than MAXUINT64. %package devel Summary: Development files for libbytesize Requires: %{name}%{?_isa} = %{version}-%{release} %description devel This package contains header files and pkg-config files needed for development with the libbytesize library. %if %{with_python3} %package -n python3-%{realname} Summary: Python 3 bindings for libbytesize Requires: %{name}%{?_isa} = %{version}-%{release} Requires: python3-six %description -n python3-%{realname} This package contains Python 3 bindings for libbytesize making the use of the library from Python 3 easier and more convenient. %endif %if %{with_tools} %package tools Summary: Various nice tools based on libbytesize Requires: python3-%{realname} = %{version}-%{release} %description tools Various nice tools based on libbytesize, in particular the calculator for doing calculations with storage sizes. %endif %prep %setup -q -n %{name}-%{version} %build %configure %{?configure_opts} %make_build %install %{make_install} find %{buildroot} -type f -name "*.la" | xargs %{__rm} %find_lang %{name} %ldconfig_scriptlets %files -f %{name}.lang %doc README.md %{!?_licensedir:%global license %%doc} %license LICENSE %{_libdir}/libbytesize.so.* %files devel %{_libdir}/libbytesize.so %dir %{_includedir}/bytesize %{_includedir}/bytesize/bs_size.h %{_libdir}/pkgconfig/bytesize.pc %if %{with_gtk_doc} %{_datadir}/gtk-doc/html/libbytesize %endif %if %{with_python3} %files -n python3-%{realname} %dir %{python3_sitearch}/bytesize %{python3_sitearch}/bytesize/* %endif %if %{with_tools} %files tools %{_bindir}/bscalc %{_mandir}/man1/bscalc.1* %endif %changelog * Thu Jan 19 2023 Fedora Release Engineering - 2.7-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Fri Nov 11 2022 Vojtech Trefny - 2.7-4 - Change license string to the SPDX format required by Fedora * Thu Jul 21 2022 Fedora Release Engineering - 2.7-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Mon Jun 13 2022 Python Maint - 2.7-2 - Rebuilt for Python 3.11 * Wed May 25 2022 Vojtech Trefny - 2.7-1 - Fix skipping tests when required locale is missing (vtrefny) - Remove Travis CI configuration (vtrefny) - Fix some warnings and typos in docstrings and comments (vtrefny) - Fix warnings dicovered by the GCC analyzer (vtrefny) - build: avoid bashisms in configure (sam) - Update translation files (noreply) - Translated using Weblate (Croatian) (linux.hr) - Revert "Translations update from Weblate" (vtrefny) - Update translation files (noreply) - Added translation using Weblate (Croatian) (linux.hr) - Do not use distutils to get Python library path (vtrefny) * Thu Jan 20 2022 Fedora Release Engineering - 2.6-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Thu Jul 22 2021 Fedora Release Engineering - 2.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Wed Jul 07 2021 Vojtech Trefny - 2.6-1 - Make sure Size can be interpreted as integer in Python 3.10 (vtrefny) - Translated using Weblate (Finnish) (ricky.tigg) - Squashed 'translation-canary/' changes from fccbb1b..4d4e65b (vtrefny) - Translated using Weblate (Korean) (simmon) - Added translation using Weblate (Korean) (simmon) - Update translation files (noreply) - Added translation using Weblate (Sinhala) (r45xveza) - Sync spec with downstream (vtrefny) * Thu Jun 03 2021 Python Maint - 2.5-2 - Rebuilt for Python 3.10 * Wed Jan 27 2021 Vojtech Trefny - 2.5-1 - Translated using Weblate (Hebrew) (sh.yaron) - Added translation using Weblate (Hebrew) (sh.yaron) - Add support to ppc64le for debian build (74309971+gururajrkatti) - Translated using Weblate (Finnish) (ricky.tigg) - tools: Read input from stdin when not running in a tty (vtrefny) - travis: Print logs after failed tests (vtrefny) - tests: Run pylint and pycodestyle on bscalc (vtrefny) - bscalc: Add option to print only single "human readable" result (vtrefny) - travis: Add --nogpgcheck when using dnf on Fedora (vtrefny) - Translated using Weblate (Asturian) (fitoschido) - Update translation files (noreply) - Translated using Weblate (Spanish) (fitoschido) - Sync spec with downstream (vtrefny) * Tue Jan 26 2021 Fedora Release Engineering - 2.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Fri Jul 31 2020 Vojtech Trefny - 2.4-1 - Add Travis build status badge (vtrefny) - Add Travis CI config and Dockerfiles for running tests (vtrefny) - Add ansible playbook for installing test dependencies (vtrefny) - remove msgcat dependency (Aduskett) - Translated using Weblate (Bengali (India)) (akarshan.biswas) - Update translation files (noreply) - Added translation using Weblate (Bengali (India)) (akarshan.biswas) - Fix library version in pkgconfig file (vtrefny) * Tue Jul 28 2020 Fedora Release Engineering - 2.3-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Mon Jul 13 2020 Tom Stellard - 2.3-3 - Use make macros - https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro * Sat May 23 2020 Miro Hrončok - 2.3-2 - Rebuilt for Python 3.9 * Thu May 21 2020 Vojtech Trefny - 2.3-1 - Fix memory leak in bs_size_new_from_str (vtrefny) - Translated using Weblate (Turkish) (oguzersen) - add translation platform widget (jean-baptiste) - Update translation files (noreply) - Do not regenerate POT file during 'make release' (vtrefny) - Remove Zanata from our build and release processes (vtrefny) - Add PO files to git (vtrefny) - Sync spec with downstream (vtrefny) * Thu Jan 30 2020 Vojtech Trefny - 2.2-1 - Require the same version of python3-bytesize in libbytesize-tools (v.podzimek) - src/gettext: fix warning if gettext is already present (giulio.benetti) - Update README.md (vpodzime) - fix build on shells where test == fails (tbier) - Add POT file to git and do not rebuild it during every build (vtrefny) * Wed Jan 29 2020 Fedora Release Engineering - 2.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Wed Oct 9 2019 Jerry James - 2.1-5 - Rebuild for mpfr 4 * Thu Oct 03 2019 Miro Hrončok - 2.1-4 - Rebuilt for Python 3.8.0rc1 (#1748018) * Fri Aug 16 2019 Miro Hrončok - 2.1-3 - Rebuilt for Python 3.8 * Thu Jul 25 2019 Fedora Release Engineering - 2.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Wed Jul 03 2019 Vojtech Trefny - 2.1-1 - fix out of tree build failure (hongxu.jia) - Fix return value for round_to_nearest when using Size (vtrefny) * Thu Apr 25 2019 Vojtech Trefny - 2.0-1 - Assume the given expression is in bytes if no unit is given (v.podzimek) - Add a man page for the bscalc tool (v.podzimek) - Add the '--version' option to bs_calc.py (v.podzimek) - Fix parsing of exponential representations of real numbers (v.podzimek) - Only support modulo between two Size instances (v.podzimek) - Add a summary to the end of ./configure output (v.podzimek) - Exit with 1 from configure if there were failures (v.podzimek) - Add tools to autotools and packaging (v.podzimek) - Add a simple bytesize calculator tool (v.podzimek) - Add support for floor division by a non-integer number in Python (v.podzimek) - Port to pcre2 (vtrefny) - Remove Python 2 support (vtrefny) - Allow running tests using installed library (vtrefny) - Add all "public" python API symbols to __init__.py (vtrefny) - Run all libbytesize tests from one script (vtrefny) * Fri Feb 01 2019 Fedora Release Engineering - 1.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Thu Aug 02 2018 Vojtech Trefny - 1.4-1 - Squashed 'translation-canary/' changes from 840c2d6..fccbb1b (vtrefny) - Make sure the test script fails if one of the test runs fail (vtrefny) - Do not try to run python2 tests without python2 support (vtrefny) - Fix licence header for "gettext.h" (vtrefny) - Do not use rpm to check for Zanata client (vtrefny) - Use new ldconfig_scriptlets macro in spec (vtrefny) * Fri Jul 13 2018 Fedora Release Engineering - 1.3-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Mon Jul 02 2018 Miro Hrončok - 1.3-4 - Rebuilt for Python 3.7 * Fri Jun 29 2018 Vojtech Trefny - 1.3-3 - Use new ldconfig_scriptlets macro in spec * Fri Jun 15 2018 Miro Hrončok - 1.3-2 - Rebuilt for Python 3.7 * Thu Apr 19 2018 Vojtech Trefny - 1.3-1 - Allow building libbytesize without Python 2 support (vtrefny) - Sync spec with downstream (vtrefny) - Add gcc to BuildRequires (vtrefny) - Fix links for documentation and GH project (vtrefny) - Add a HACKING.rst file (vpodzime) - Do not segfault when trying to bs_size_free NULL (vtrefny) * Wed Feb 21 2018 Vojtech Trefny - 1.2-4 - Add gcc to BuildRequires (vtrefny) * Wed Feb 07 2018 Fedora Release Engineering - 1.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Fri Jan 05 2018 Iryna Shcherbina - 1.2-2 - Update Python 2 dependency declarations to new packaging standards (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) * Fri Sep 29 2017 Vratislav Podzimek - 1.2-1 - Use only version as a tag of the last release (vpodzime) - Do not require the glib-2.0 pkgconfig package (vpodzime) - Do not lie about tag creation (vpodzime) * Thu Sep 28 2017 Troy Dawson - 1.1-2 - Cleanup spec file conditionals * Thu Sep 21 2017 Vratislav Podzimek - 1.1-1 - Add NEWS.rst file (vtrefny) - Fix source and url in spec file (vtrefny) - Use only one git tag for new releases (vtrefny) - Actually translate the units when expected (vpodzime) - Add two temporary test files to .gitignore (vpodzime) * Thu Sep 14 2017 Vratislav Podzimek - 1.0-1 - Make more space for CI status image (vtrefny) - Include limits.h to make sure ULONG_MAX is defined (vpodzime) - Remove extra 'is' in two docstrings (vpodzime) - Properly support 64bit operands (vpodzime) * Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 0.11-4 - Python 2 binary package renamed to python2-libbytesize See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 * Thu Aug 03 2017 Fedora Release Engineering - 0.11-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 0.11-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Wed Jun 14 2017 Vratislav Podzimek - 0.11-1 - Fix README file name (vtrefny) - Add a build status image to the README.md (vpodzime) - Remove "glibc-all-langpacks" from test dependencies (vtrefny) - Check for requires in generated spec file, not in the template (vtrefny) - Fix checking for available locales (vtrefny) - Fix library name in acinclude.m4 (vtrefny) - Do not try to run translation tests on CentOS/RHEL 7 (vtrefny) - Skip tests if they require unavailable locales (vpodzime) * Wed Apr 19 2017 Vratislav Podzimek - 0.10-1 - Fix installation without specifying --exec-prefix (martin) - Sync the spec file with downstream (vpodzime) * Fri Feb 10 2017 Fedora Release Engineering - 0.9-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Wed Jan 11 2017 Vratislav Podzimek - 0.9-1 - Allow the Size python class to be easily imported (vpodzime) - Make sure pyexecdir is defined (vpodzime) - Do not run Python 3 tests without python3 (vpodzime) - Disable python3 on RHEL (vpodzime) - Reflect the configuration in the spec file template (vpodzime) - Make documentation generation conditional (vpodzime) - Make python3 support conditional (vpodzime) - Require lower version of libpcre (vpodzime) - Sync the spec file with downstream (vpodzime) * Wed Dec 21 2016 Adam Williamson - 0.8-2 - Rebuild for Python 3.6, again * Fri Dec 16 2016 Vratislav Podzimek - 0.8-1 - Add a docstring to python bindings (vpodzime) - Neutralize None as an operand for math operations (vpodzime) - Add targets for checking and installing test requirements (vpodzime) - Fix 'make local' (vtrefny) - Make the python packages own their package directories (vpodzime) - Don't compare translated and untranslated representations (vpodzime) - replace_char_with_str: Fix the character count. (dshea) - Ditch autopoint. (dshea) * Mon Dec 12 2016 Charalampos Stratakis - 0.7-4 - Rebuild for Python 3.6 * Tue Sep 20 2016 Vratislav Podzimek - 0.7-3 - Prevent ignored exceptions in __del__ from happening (vpodzime) * Tue Jul 19 2016 Fedora Release Engineering - 0.7-2 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages * Tue May 17 2016 Vratislav Podzimek - 0.7-1 - Re-run autogen.sh and configure before updating the .pot file (vpodzime) - Change where tests on translated strings are run. (dshea) - Squashed 'translation-canary/' changes from d6c0708..840c2d6 (dshea) - Make sure we get the tests result report in 'make ci' (vpodzime) - Add a new generic error code/enum for failures (vpodzime) - Do not ignore the return value from asprintf() (vpodzime) - Beware of the radix char when converting to Decimal (#1325705) (vpodzime) * Fri May 6 2016 Vratislav Podzimek - 0.6-2 - Beware of unsigned long int on 32bit arches (#1333149) (vpodzime) * Tue May 03 2016 Vratislav Podzimek - 0.6-1 - Add support for the ROUND_HALF_UP rounding mode (vpodzime) - Make sure we return the right radix char in human_readable() (vpodzime) - Allocate enough memory for char->str replacements (vpodzime) * Tue Apr 26 2016 Vratislav Podzimek - 0.5-1 - Create both libbytesize-$version and $version tags (vpodzime) - Update the .pot file with the new version (vpodzime) - Improve how we create changelog (vpodzime) - Try harder when getting OverflowError in division (#1326897) (vpodzime) - Neutralize the radix char before passing string to MPFR (#1326108) (vpodzime) - Run tests with en_US and fr_FR locales (vpodzime) - Run the tests with both python2 and python3 again (vpodzime) - Do not run the same tests 3 times as part of the 'ci' target (vpodzime) - Don't fail if just the best-effort cleanup fails (vpodzime) - Throw away the new .pot file when just running tests (vpodzime) - Make sure we return one of -1, 0, 1 from cmp functions (#1326113) (vpodzime) - Use cmp_bytes(size, bytes) when comparing to 0 (vpodzime) - Ignore all .po~ files (vpodzime) - Add translator comments (dshea) - Integrate translation-canary into the build. (dshea) - Run the translation-canary tests from make check. (dshea) - Squashed 'translation-canary/' content from commit d6c0708 (dshea) - Make 'make check' work. (dshea) - Remove files from po/ we don't need to track (vpodzime) - Ignore the compiled translation files (vpodzime) - Distribute and package the translations (vpodzime) - Add the necessary pieces for getting translations (vpodzime) * Thu Apr 14 2016 Vratislav Podzimek - 0.4-3 - Only require -lgmp and -lmpfr for static linking (vpodzime) * Fri Mar 11 2016 Vratislav Podzimek - 0.4-2 - Do not try to delete the C struct twice (vpodzime) * Wed Mar 09 2016 Vratislav Podzimek - 0.4-1 - Add the __init__.py file to provide a proper package (vpodzime) - Merge pull request #7 from vpodzime/master-decimal_locale (vpodzime) - Make sure we pass a locale-agnostic string to Decimal() (vpodzime) - Adapt the package description to no longer using GI (vpodzime) - Make Size instances hashable (vpodzime) - Sync the spec file with downstream (vpodzime) * Wed Mar 9 2016 Vratislav Podzimek - 0.3-3 - Make sure we pass a locale-agnostic string to Decimal() (vpodzime) * Mon Mar 7 2016 Vratislav Podzimek - 0.3-2 - Make Size instances hashable (vpodzime) * Fri Feb 26 2016 Vratislav Podzimek - 0.3-1 - Packaging changes related to getting rid of GLib/GObject (vpodzime) - Adapt the python bindings and tests (vpodzime) - Get rid of GObject and GLib (vpodzime) - Define the __divmod__ method even for not dividing by Size (vpodzime) * Thu Feb 04 2016 Fedora Release Engineering - 0.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Tue Nov 10 2015 Fedora Release Engineering - 0.2-2 - Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 * Fri Oct 23 2015 Vratislav Podzimek - 0.2-1 - Distribute the tests for overrides (vpodzime) - Fix the rpmlog target (vpodzime) - Respect the signs when doing division (vpodzime) - Add two more internal methods that may be required (vpodzime) - Do not pass negative numbers as guint64 when comparing with negative ints (vpodzime) - Round toward zero when converting bytes from float to int (vpodzime) - Make sure we return Size if doing operations with big integers (vpodzime) - Implement the __divmod__() method (vpodzime) - Do not try to convert negative int to an unsigned int when multiplying (vpodzime) - Fix and test the __deepcopy__ method (vpodzime) - Implement the evaluation of Size instance as a bool value (vpodzime) - Fix some issues in comparison functions and add tests (vpodzime) - Add a function for getting string representation of a unit (vpodzime) - Hook the overrides tests to the 'test' target (vpodzime) - Merge pull request #4 from japokorn/master-tests_03_python_override (vpodzime) - Added tests for Python override (japokorn) - Make sure our tests don't get broken by installed overrides (vpodzime) * Wed Oct 07 2015 Vratislav Podzimek - 0.1-1 - Initial release