# # spec file for package python-rpm-macros # # Copyright (c) 2021 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/ # Name: python-rpm-macros Version: 20210204.937b8d8 Release: 1.17 Summary: RPM macros for building of Python modules License: WTFPL URL: https://github.com/opensuse/python-rpm-macros Source: python-rpm-macros-%{version}.tar.xz # To keep user expectations reasonably sane Recommends: python-rpm-generators # Fedora compatibility Provides: python2-rpm-macros Provides: python3-rpm-macros BuildArch: noarch %description This package contains SUSE RPM macros for Python build automation. You should BuildRequire this package unless you are sure that you are only building for distros newer than Leap 42.2 %package -n python-rpm-generators Summary: Dependency generator dependencies for Python RPMs Requires: %{name} = %{version}-%{release} # For the dep generator macros Requires: python3-setuptools # Fedora compatibility Provides: python3-rpm-generators %description -n python-rpm-generators This package contains the dependencies for Python RPMs to generate dependencies automatically. %prep %autosetup %if 0%{?suse_version} < 1330 mv macros-default-pythons macros/035-default-pythons %endif %if 0%{?suse_version} >= 1550 sed -i -e '/^%system_python/s/python2/python3/' macros/010-common-defs %endif %build ./compile-macros.sh %install mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d/ install -m 644 macros.python_all %{buildroot}%{_rpmconfigdir}/macros.d/ %files %license LICENSE %doc README.md %{_rpmconfigdir}/macros.d/macros.python_all %files -n python-rpm-generators # Nothing here for now... %changelog * Thu Feb 4 2021 mcepl@cepl.eu - Update to version 20210204.937b8d8: * fixup: last PR was missing a commit for pyproject_wheel syntax errors * Thu Feb 4 2021 mcepl@cepl.eu - Update to version 20210204.90721de: * mv -n does not work in SLE12 * Update PEP517/518 macro documentation in README * Let pyproject_install search for more locations for wheels or specify explicitely * Read .rpmmacros (= prjconf Macro: definitions) for default buildset * Wed Feb 3 2021 mcepl@cepl.eu - Update to version 20210203.0d8a91e: * don't define skip_python2 by default * Sun Jan 31 2021 mcepl@cepl.eu - Update to version 20210131.ec7577b: * remove old commented path finding section * expand python_subpackage_only not earlier than in python_subpackages call * make the path and var macros return a non-interrupted string even when the flavor is not installed * Sun Jan 31 2021 mcepl@cepl.eu - Update to version 20210131.1450767: * only add parentheses when boolean operators are used * sync buildset definitions with Factory * fix typo * Wed Jan 27 2021 mcepl@cepl.eu - Update to version 20210127.3a18043: * dont't rename wheel when it already has the same name * Tue Jan 26 2021 mcepl@cepl.eu - Update to version 20210126.fea1c1f: * Document python_module with boolean dependecies * workaround undetected abi and platform tags gh#openSUSE/python-rpm-macros#93 * Thu Jan 21 2021 mcepl@cepl.eu - Update to version 20210121.ef5b8b9: * Add %%python pseudo-macro for %%python_modules -- server and rpm version * Sun Jan 17 2021 mcepl@cepl.eu - Update to version 20210117.63cf413: * improve flavor variable naming in python_expand * Sat Jan 16 2021 mcepl@cepl.eu - Update to version 20210116.2682657: * remove python2 not found error * Tue Jan 12 2021 mcepl@cepl.eu - Update to version 20210112.86f4d9d: * fix gh#openSUSE/python-rpm-macros#84: python_sysconfig_ macros * Mon Dec 7 2020 mcepl@cepl.eu - Update to version 20201207.2177fcf: * README update after merge * Mon Dec 7 2020 mcepl@cepl.eu - Update to version 20201207.259cdda: * Update python_expand description in README * python_expand to basename only * Fri Dec 4 2020 mcepl@cepl.eu - Update to version 20201204.32a910e: * fix print_provided_flavor again * Thu Dec 3 2020 mcepl@cepl.eu - Update to version 20201203.5331183: * fix print_provided_flavor * Sat Nov 28 2020 mcepl@cepl.eu - Update to version 20201128.669edb3: * fix provides (for python-numpy f2py, in gh#openSUSE/python-rpm-macros#66) * Mon Nov 23 2020 mcepl@cepl.eu - Update to version 20201123.6978323: * also rewrite subpackage_only default providers * pytest: ignore _build dirs for all flavors * Thu Nov 19 2020 mcepl@cepl.eu - Update to version 20201119.6bb5f69: * add default provider properties * don't replace %%name, for subpackage_only * expand parameters for subpackage_only packages * Thu Nov 12 2020 mcepl@cepl.eu - Update to version 20201112.a4c80dc: * handle python_subpackage_only, fixes gh#openSUSE/python-rpm-macros#73 * define default providers for pythonX from pythonXY flavors: fixes #69 * Tue Nov 3 2020 mcepl@cepl.eu - Update to version 20201103.cec67c2: * document python_find_lang * add python_find_lang and allow to specify in %%python_files. Fixes #5 * Mon Nov 2 2020 mcepl@cepl.eu - Update to version 20201102.31ccfc2: * fix python_clone shebang replacement * one less expansion for python_exec * expand default %%python_ macros earlier * update README for multiple flavors * more command delimiters for %%python_expand * Thu Oct 22 2020 mcepl@cepl.eu - Update to version 20201022.7f87908: * Add python36 and python38 flavours. * Wed Oct 21 2020 mcepl@cepl.eu - Update to version 20201021.adb6953: * Prepare for multiple python3 flavors - Remove multiple_flavors.patch as it is included in the upstream tarball. * Fri Oct 16 2020 mcepl@cepl.eu - Update to version 20201016.5d22545: * fix whitespace after escape in compileall macro * Fri Oct 16 2020 mcepl@cepl.eu - Update to version 20201016.db09189: * Delete pycache files before compilealll * Update macros/010-common-defs * Reword compileall * mention pyproject.toml and link to PEP517 and PEP518 * add description for pyunittest macro * add description for python_compileall macro * add description for pyproject macros * add python_compileall macro and use it in pyproject_install * disable pip version check: no connection to pypi.org * Tue Sep 22 2020 Matej Cepl - Update multiple_flavors.patch to generate correct names of the python binary. * Wed Sep 9 2020 Matej Cepl - %%__#FLAVOR# should be defined as /usr/bin/python%%{#FLAVOR#_version} not just /usr/bin/#FLAVOR# * Wed Sep 2 2020 Matej Cepl - Add patch multiple_flavors.patch which makes compile_macros.sh generate alternative flavours as well. * Mon Aug 24 2020 mcepl@cepl.eu - Update to version 20200824.8fa42a7: * Drop -v from the pyunittest macros * Thu Aug 6 2020 mcepl@cepl.eu - Update to version 20200806.f44d3ac: * fix unittest macros * Tue Jul 14 2020 mcepl@cepl.eu - Update to version 20200714.252de1f: * Add pyunittest and pyunittest_arch macros * Thu Jul 2 2020 Benjamin Greiner - Update to version 20200701.9f5a2f6: * add blank line between pytest and pytest_arch to fix expansion failure in Leap gh#openSUSE/python-rpm-macros#53 * Wed Jun 24 2020 mcepl@cepl.eu - Update to version 20200625.e862151: * fix pytest_arch PYTHONPATH * expand calls pyproject* macros (revert #45) * let the shell expand PYTHONPATH * Tue Jun 23 2020 tchvatal@suse.com - Update to version 20200623.3ea9b62: * fix PYTHONPATH on pytest_arch macro * Mon Jun 22 2020 mcepl@cepl.eu - Update to version 20200622.1919233: * Expand %%buildroot first (avoid endless cycle; bsc#1162743) * Mon Jun 22 2020 mcepl@cepl.eu - Update to version 20200622.1f4c5d2: * Add missing semicolon * Wed Jun 3 2020 Matej Cepl - For Factory change %%system_python to python3. * Wed Jun 3 2020 mcepl@cepl.eu - Update to version 20200603.503823c: * Don't add empty path to PYTHONPATH setting. * Do not expand macros, just print them unexpanded (for %%pytest* and %%pyproject* macros) * Replace py.test -> pytest * Fri May 29 2020 mcepl@cepl.eu - Update to version 20200529.b301e36: * update-alternatives are quiet during install * Tue Apr 21 2020 mcepl@cepl.eu - Update to version 20200207.5feb6c1 bsc#1171561: * Do not write .pyc files for tests * Mon Jan 20 2020 Neal Gompa - Add python-rpm-generators to express setuptools dependency for generator * Fri Jan 17 2020 Neal Gompa - Update to version 20200117.8e39013 bsc#1161770: * Add macros related to the Python dist metadata dependency generator * Mon Nov 4 2019 mcepl@cepl.eu - Update to version 20191104.08e6493: * %%pyproject_install macro should include --no-compile. * Recognise the _ for the macro arguments too * Mon Jun 10 2019 mcepl@cepl.eu - Update to version 20190610.2ee3233: * Fix typo, missing opening brace. * Add the first draft of pyproject_wheel and pyproject_install macros. * Yet another attempt to preserve $PYTHONPATH set in the environment. * Document also %%pytest_arch * Document %%pytest in README.md * Multiline macros don't work correctly on older RPMs. * Add missing $ expansion on the pytest call * Rewrite pytest and pytest_arch into Lua macros with multiple arguments. * We should preserve existing PYTHONPATH. * Add --ignore to pytest calls to ignore build directories. * Mon Jun 10 2019 mcepl@cepl.eu - Update to version 20190610.2ee3233: * Fix typo, missing opening brace. * Mon May 20 2019 mcepl@cepl.eu - Update to version 20190511.2ed22b6: * Add the first draft of pyproject_wheel and pyproject_install macros. * Thu May 2 2019 mcepl@cepl.eu - Update to version 20190430.5260267: * Yet another attempt to preserve $PYTHONPATH set in the environment. * Document also %%pytest_arch * Document %%pytest in README.md * Mon Apr 8 2019 mcepl@cepl.eu - Update to version 20190408.32abece bsc#1128323: * Multiline macros don't work correctly on older RPMs. * Tue Apr 2 2019 tchvatal@suse.com - Update to version 20190402.c88be49: * Add missing $ expansion on the pytest call * Fri Mar 15 2019 mcepl@cepl.eu - Update to version 20190315.d3034bf bsc#1128323: * Rewrite pytest and pytest_arch into Lua macros with multiple arguments. * Thu Mar 7 2019 mcepl@cepl.eu - Update to version 20190307.81ca329: * We should preserve existing PYTHONPATH. * Thu Mar 7 2019 mcepl@cepl.eu - bsc#1128323: Update to version 20190307.fbaed33 * Add --ignore to pytest calls to ignore build directories. * Thu Feb 21 2019 opensuse-packaging@opensuse.org - Update to version 20190221.08f1194: * Actually make pytest into function to capture arguments as well * Add pytest definitions. * Wed Dec 19 2018 Todd R - Use upstream-recommended %%{_rpmconfigdir}/macros.d directory for the rpm macros. - Include license and readme. * Tue Dec 11 2018 opensuse-packaging@opensuse.org - Update to version 20181211.ab6f37c: * Fix an issue with epoch printing having too many \ * Remove packaging/ dir * Mon Dec 10 2018 opensuse-packaging@opensuse.org - Update to version 1540475376.149a499: * add epoch while printing "Provides:" - Update URL - Add _service and use the tar_scm/recompress/set_version source services to update the package. Package updates can now be done with "osc service run" - Drop README.packaging - Drop update.sh . This is now handled via the source services * Wed Oct 24 2018 sjamgade@suse.com - version bump to 2018.08.15.ada6d63 * Fri Dec 22 2017 jmatejek@suse.com - version bump to 2017.12.22.d9968ab * better fix for macro usage in rpm 4.14 * Thu Dec 7 2017 tchvatal@suse.com - version bump to 2017.12.07.9d4e9eb * Fix macro usage for rpm 4.14 * Wed Aug 9 2017 jmatejek@suse.com - version bump to 2017.08.09.32550d0 - use %%_specfile macro to locate the spec file, this should help with factory-auto bot problems as well as issue#3 * Thu Jun 29 2017 jmatejek@suse.com - version bump to 2017.06.29.107ac7a - fix skip_python2 in environment where python2 is not actually present * Wed Jun 21 2017 jmatejek@suse.com - version bump to 2017.06.21.6641889 - introduce smarter buildset support - fix %%python_files on nonstandard build sets - introduce %%python_for_executables in favor of magically taking "last python in %%pythons" - fix %%licence tag handling (gh#opensuse/python-rpm-macros#4) * Tue May 9 2017 jmatejek@suse.com - version bump to 2017.05.09.fc237de - fix badly generated %%posttrans snippets in cases where old %%python_install_alternative syntax is used for secondary files - rework %%if-macros - introduce %%python_flavor, which configures behavior of generic %%python_* macros, and can be overriden by the user - add --force to %%python_install, to make install order fully deterministic * Thu Apr 27 2017 jmatejek@suse.com - version bump to 2017.04.27.d2ca08c - switch versioning scheme to date-based - switch from using service to a custom script update.sh - auto-generate Provides: python2-modname in old distributions (only for main package though) * Wed Mar 29 2017 jmatejek@suse.com - generate %%posttrans sections to fix up alternatives after package rename - fix condition where %%python_files would emit wrong thing when %%have_python2 is undefined - add --quiet to uninstall_alternative, to silence spurious errors - check for file existence instead of package number in uninstall_alternative * Thu Mar 23 2017 jmatejek@suse.com - remove spurious warnings about "unknown arguments" (by making ALL possible arguments known) - fix a bug with %%python_clone not working without %%python_install_alternative being used - in %%python_files, detect and emit an error if %%python_subpackages is not used * Mon Mar 13 2017 jmatejek@suse.com - more intelligent %%python_install_alternatives - multiline macro support - support for %%requires_ge and %%requires_eq as well as Requires(pre) and friends - "%%python_clone -a" auto-creates alternative entries * Thu Mar 9 2017 jmatejek@suse.com - implement %%python_clone to clone files for alternatives * Wed Mar 8 2017 jmatejek@suse.com - support "Supplements" and "Enhances" tags - support packageand() expression - fix handling of %%name in requires * Wed Mar 8 2017 jmatejek@suse.com - make macros more resilient to missing %%python_subpackages - expand %%python_bin_suffix properly * Fri Feb 24 2017 jmatejek@suse.com - let %%python_module expand *all* its arguments, not just the first (so that %%{python_module x >= 1.0} works as intended) * Wed Feb 22 2017 jmatejek@suse.com - copy BuildArch to subpackages - on requires/provides etc., perform macro expansion *after* replacing 'python' name, to allow for tricking the rewriter to not replace * Tue Feb 21 2017 jmatejek@suse.com - add BuildRoot to make SLE11 happy - check presence of %%python_files even on new-style distros - better visibility of the %%python_files error * Mon Feb 13 2017 jmatejek@suse.com - update service, use repository and tarball name "python-rpm-macros" * Tue Feb 7 2017 jmatejek@suse.com - introduce %%python_prefix * Mon Feb 6 2017 jengelh@inai.de - Set RPM group * Wed Jan 11 2017 jmatejek@suse.com - change service version generator to use "1.0.git" instead of "1.0git" * Fri Jan 6 2017 jmatejek@suse.com - rework %%python_alternative and remove support for %%python_alternative_man - tell service to compress the tar file * Fri Jan 6 2017 jmatejek@suse.com - set service to localonly mode * Tue Jan 3 2017 jmatejek@suse.com - current macro version * Thu Nov 24 2016 jmatejek@suse.com - initial commit