# # spec file for package python-distro # # Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %if 0%{?suse_version} > 1500 %bcond_with libalternatives %else %bcond_with libalternatives %endif %{?sle15allpythons} %{!?license: %global license %doc} %bcond_without test Name: python-distro Version: 1.9.0 Release: 4.3 Summary: Linux Distribution - a Linux OS platform information API License: Apache-2.0 URL: https://github.com/python-distro/distro Source: https://files.pythonhosted.org/packages/source/d/distro/distro-%{version}.tar.gz Patch0: assert_locale.patch BuildRequires: %{python_module pip} BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros %if %{with libalternatives} Requires: alts BuildRequires: alts %else Requires(post): update-alternatives Requires(postun): update-alternatives %endif BuildArch: noarch # SECTION test %if %{with test} BuildRequires: %{python_module pytest} %endif # /SECTION %python_subpackages %description distro (for: Linux Distribution) provides information about the Linux distribution it runs on, such as a reliable machine-readable ID, or version information. It is a renewed alternative implementation for Python's original platform.linux_distribution function, but it also provides much more functionality which isn't necessarily Python bound like a command-line interface. %prep %autosetup -p1 -n distro-%{version} # remove shebang. Has been added by upstream intentionally: https://github.com/python-distro/distro/commit/8032f16a1082ff72471c13ff665f3ad9c929f3b0 sed -i '1{/\/usr\/bin\/env python/d;}' src/distro/distro.py %build %pyproject_wheel %install %pyproject_install %python_clone -a %{buildroot}%{_bindir}/distro %python_expand %fdupes %{buildroot}%{$python_sitelib}/distro %if %{with test} %check export LANG=C.UTF-8 %pytest %endif %pre # If libalternatives is used: Removing old update-alternatives entries. %python_libalternatives_reset_alternative distro %post %python_install_alternative distro %postun %python_uninstall_alternative distro %files %{python_files} %doc CHANGELOG.md README.md %python_alternative %{_bindir}/distro %{python_sitelib}/distro %{python_sitelib}/distro-%{version}.dist-info %%license LICENSE %changelog * Tue Feb 18 2025 Pablo Suárez Hernández - Build package for multiple Python flavors on the SLE15 family * Fri Jan 24 2025 Nico Krapp - Use libalternatives instead of update-alternatives, bsc#1235785 * Fri Feb 23 2024 Steve Kowalik - Switch to autosetup macro. * Wed Dec 27 2023 Dirk Müller - update to 1.9.0: * Refactor distro.info() method to return an InfoDict [#360] * Ignore the file '/etc/board-release' [#353] * Ignore the file '/etc/ec2_version' [#359] * Test on modern versions of CPython and PyPy and macOS [#362] * Add support for ALT Linux Server 10.1 distribution [#354] * Add Debian Testing to the tests [#356] * Update archlinux resource for tests [#352] * Mon Sep 18 2023 Daniel Garcia - Remove duplicate files calling %%fdupes * Fri May 5 2023 Johannes Kastl - add sle15_python_module_pythons * Mon Jan 2 2023 Dirk Müller - update to 1.8.0: * Lowered `LinuxDistribution._distro_release_info` method complexity [#327] * Added official support for Buildroot distribution [#329] * Added official support for Guix distribution [#330] * Added support for `/etc/debian_version` [#333] & [#349] * Fixed a typography in CONTRIBUTING.md [#340] * Improved README.md "Usage" code block [#343] * Bumped black to v22.3.0 in pre-commit.ci configuration [#331] * Enabled GitHub Dependabot to keep GitHub Actions up to date [#335] * Tue Feb 15 2022 Sebastian Wagner - remove shebang from distro.py - update to version 1.7.0: - BACKWARD COMPATIBILITY: - Dropped support for EOL Pythons 2.7, 3.4 and 3.5 [[#281](https://github.com/python-distro/distro/pull/281)] - Dropped support for LSB and `uname` back-ends when `--root-dir` is specified [[#311](https://github.com/python-distro/distro/pull/311)] - Moved `distro.py` to `src/distro/distro.py` [[#315](https://github.com/python-distro/distro/pull/315)] - ENHANCEMENTS: - Documented that `distro.version()` can return an empty string on rolling releases [[#312](https://github.com/python-distro/distro/pull/312)] - Documented support for Python 3.10 [[#316](https://github.com/python-distro/distro/pull/316)] - Added official support for Rocky Linux distribution [[#318](https://github.com/python-distro/distro/pull/318)] - Added a shebang to `distro.py` to allow standalone execution [[#313](https://github.com/python-distro/distro/pull/313)] - Added support for AIX platforms [[#311](https://github.com/python-distro/distro/pull/311)] - Added compliance for PEP-561 [[#315](https://github.com/python-distro/distro/pull/315)] - BUG FIXES: - Fixed `include_uname` parameter oversight [[#305](https://github.com/python-distro/distro/pull/305)] - Fixed crash when `uname -rs` output is empty [[#304](https://github.com/python-distro/distro/pull/304)] - Fixed Amazon Linux identifier in `distro.id()` documentation [[#318](https://github.com/python-distro/distro/pull/318)] - Fixed OpenSuse >= 15 support [[#319](https://github.com/python-distro/distro/pull/319)] - Fixed encoding issues when opening distro release files [[#324](https://github.com/python-distro/distro/pull/324)] - Fixed `linux_distribution` regression introduced in [[#230](https://github.com/python-distro/distro/pull/230)] [[#325](https://github.com/python-distro/distro/pull/325)] * Fri Nov 19 2021 Sebastian Wagner - Tests: Set locale to UTF-8 to fix tests on Leap 15.3. * Sun Sep 26 2021 Matej Cepl - Expliciting setting of locale is not necessary anymore (gh#python-distro/distro#223). * Tue Aug 3 2021 brejoc@gmail.com - Update to version 1.6.0 * Deprecated the distro.linux_distribution() function. Use distro.id(), distro.version() and distro.name() instead [#296] * Deprecated Python 2.7, 3.4 and 3.5 support. Further releases will only support Python 3.6+ * Added type hints to distro module [#269] * Added __version__ for checking distro version [#292] * Added support for arbitrary rootfs via the root_dir parameter [#247] * Added the --root-dir option to CLI [#161] * Added fallback to /usr/lib/os-release when /etc/os-release isn't available [#262] * Fixed subprocess.CalledProcessError when running lsb_release [#261] * Ignore /etc/iredmail-release file while parsing distribution [#268] * Use a binary file for /dev/null to avoid TextIOWrapper overhead [#271] * Tue May 18 2021 pgajdos@suse.com - use %%pytest macro * Tue May 26 2020 Petr Gajdos - %%python3_only -> %%python_alternative * Thu Apr 2 2020 Steve Kowalik - Update to 1.5.0: * Backward Compatibility: + Keep output as native string so we can compatible with python2 interface * Bug Fixes: + Fix detection of RHEL 6 ComputeNode [#255] + Fix Oracle 4/5 lsb_release id and names [#250] + Ignore /etc/plesk-release file while parsing distribution * Sun Feb 10 2019 Sebastian Wagner - Update to version 1.4.0: * Backward Compatibility: * Prefer the VERSION_CODENAME field of os-release to parsing it from VERSION [[#230](https://github.com/nir0s/distro/pull/230)] * Bug Fixes: * Return _uname_info from the uname_info() method [[#233](https://github.com/nir0s/distro/pull/233)] * Fixed CloudLinux id discovery [[#234](https://github.com/nir0s/distro/pull/234)] * Update Oracle matching [[#224](https://github.com/nir0s/distro/pull/224)] * Docs: * Distro is the recommended replacement for platform.linux_distribution [[#220](https://github.com/nir0s/distro/pull/220)] * Release: * Use Markdown for long description in setup.py [[#219](https://github.com/nir0s/distro/pull/219)] * Wed Feb 6 2019 Thomas Bechtold - Drop useless BuildRequires of python-flake8 and python-pytest-cov * Tue Feb 5 2019 Matej Cepl - Add assert_locale.patch to warn about wrong locale. * Wed Jun 13 2018 mcepl@suse.com - Enable tests properly (this is pytest, not unittest), it is necessary to explicitly set locale to an Unicode one (https://github.com/nir0s/distro/issues/223) * Thu May 10 2018 sebix+novell.com@sebix.at - update to version 1.3.0: * improvements for other operating systems * documentation: * Add Ansible reference implementation and fix arch-linux link (#213) * Add facter reference implementation (#213) * Thu Feb 8 2018 rjschwei@suse.com - Include in SLE 15 (FATE#324993, boo#997614)) * Sun Dec 24 2017 sebix+novell.com@sebix.at - update to version 1.2.0: * Explicitly set Python versions for flake8 tests. * Fri Dec 1 2017 sebix+novell.com@sebix.at - update to version 1.1.0 / 1.0.5: * Include resources needed for tests and docs in source tarballs * Sat Jul 22 2017 sebix+novell.com@sebix.at - initial package