diff --git a/.gitignore b/.gitignore index e69de29..f6cd7a3 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/rpmautospec-*.tar.gz diff --git a/README.md b/README.md new file mode 100644 index 0000000..4835af6 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# python-rpmautospec + +The python-rpmautospec package \ No newline at end of file diff --git a/changelog b/changelog new file mode 100644 index 0000000..0045fa6 --- /dev/null +++ b/changelog @@ -0,0 +1,142 @@ +* Wed Jul 27 2022 Nils Philippsen - 0.3.0-1 +- Update to 0.3.0 + +* Wed Jun 08 2022 Nils Philippsen +- Generally BR: python3-pytest-xdist, also on EL9 + +* Mon May 16 2022 Nils Philippsen - 0.2.8-1 +- Update to 0.2.8 +- Don't require python3-pytest-xdist for building on EL9 + +* Mon May 16 2022 Nils Philippsen - 0.2.7-1 +- Update to 0.2.7 + +* Mon Apr 25 2022 Nils Philippsen - 0.2.6-1 +- Update to 0.2.6 +- Require python3-pytest-xdist for building +- Remove EL7 quirks, pkg isn't built there + +* Fri Mar 04 2022 Nils Philippsen +- require python3-pyyaml for building + +* Sun Nov 07 2021 Nils Philippsen +- require python3-babel and glibc langpacks (the latter for testing) + +* Fri Aug 06 2021 Nils Philippsen - 0.2.5-1 +- Update to 0.2.5 + +* Thu Aug 05 2021 Nils Philippsen - 0.2.4-1 +- Update to 0.2.4 + +* Wed Jun 16 2021 Nils Philippsen - 0.2.3-1 +- Update to 0.2.3 + +* Fri Jun 04 2021 Nils Philippsen - 0.2.2-1 +- Update to 0.2.2 + +* Thu May 27 2021 Nils Philippsen - 0.2.1-1 +- Update to 0.2.1 + +* Thu May 27 2021 Stephen Coady - 0.2.0-1 +- Update to 0.2.0 + +* Thu May 27 2021 Nils Philippsen +- don't ship obsolete Koji configuration snippet + +* Wed May 19 2021 Nils Philippsen +- remove git-core, fix RPM related dependencies + +* Wed May 12 2021 Nils Philippsen +- depend on python3-pygit2 + +* Thu Apr 22 2021 Nils Philippsen +- remove the hub plugin + +* Thu Apr 15 2021 Nils Philippsen - 0.1.5-1 +- Update to 0.1.5 +- Have lowercase URLs, because Pagure d'oh + +* Thu Apr 15 2021 Nils Philippsen - 0.1.4-1 +- Update to 0.1.4 +- explicitly BR: python3-setuptools + +* Thu Apr 09 2020 Pierre-Yves Chibon - 0.1.3-1 +- Update to 0.1.3 + +* Thu Apr 09 2020 Pierre-Yves Chibon - 0.1.2-1 +- Update to 0.1.2 + +* Thu Apr 09 2020 Pierre-Yves Chibon - 0.1.1-1 +- Update to 0.1.1 + +* Thu Apr 09 2020 Pierre-Yves Chibon - 0.1.0-1 +- Update to 0.1.0 + +* Wed Apr 08 2020 Pierre-Yves Chibon - 0.0.23-1 +- Update to 0.023 + +* Wed Apr 08 2020 Pierre-Yves Chibon - 0.0.22-1 +- Update to 0.0.22 + +* Wed Apr 08 2020 Pierre-Yves Chibon - 0.0.21-1 +- Update to 0.0.21 + +* Wed Apr 08 2020 Pierre-Yves Chibon - 0.0.20-1 +- Update to 0.0.20 + +* Wed Apr 08 2020 Pierre-Yves Chibon - 0.0.19-1 +- Update to 0.0.19 + +* Wed Apr 08 2020 Pierre-Yves Chibon - 0.0.18-1 +- Update to 0.0.18 + +* Tue Apr 07 2020 Pierre-Yves Chibon - 0.0.17-1 +- Update to 0.0.17 + +* Tue Apr 07 2020 Pierre-Yves Chibon - 0.0.16-1 +- Update to 0.0.16 + +* Tue Apr 07 2020 Pierre-Yves Chibon - 0.0.15-1 +- Update to 0.0.15 + +* Tue Apr 07 2020 Pierre-Yves Chibon - 0.0.14-1 +- Update to 0.0.14 + +* Tue Apr 07 2020 Pierre-Yves Chibon - 0.0.13-1 +- Update to 0.0.13 + +* Tue Apr 07 2020 Pierre-Yves Chibon - 0.0.12-1 +- Update to 0.0.12 + +* Mon Apr 06 2020 Pierre-Yves Chibon - 0.0.11-1 +- Update to 0.0.11 + +* Fri Apr 03 2020 Nils Philippsen - 0.0.10-1 +- Update to 0.0.10 + +* Fri Apr 03 2020 Pierre-Yves Chibon - 0.0.9-1 +- Update to 0.0.9 + +* Fri Apr 03 2020 Pierre-Yves Chibon - 0.0.8-1 +- Update to 0.0.8 + +* Fri Apr 03 2020 Pierre-Yves Chibon - 0.0.7-1 +- Update to 0.0.7 + +* Thu Apr 02 2020 Pierre-Yves Chibon - 0.0.6-1 +- Update to 0.0.6 + +* Tue Mar 31 2020 Pierre-Yves Chibon - 0.0.5-1 +- Update to 0.0.5 + +* Tue Mar 31 2020 Pierre-Yves Chibon - 0.0.4-1 +- Update to 0.0.4 + +* Tue Mar 31 2020 Pierre-Yves Chibon - 0.0.3-1 +- Update to 0.0.3 + +* Tue Mar 31 2020 Pierre-Yves Chibon - 0.0.2-1 +- Update to 0.0.2 + +* Wed Mar 18 2020 Adam Saleh - 0.0.1-1 +- initial package for Fedora diff --git a/python-rpmautospec.spec b/python-rpmautospec.spec new file mode 100644 index 0000000..dd64014 --- /dev/null +++ b/python-rpmautospec.spec @@ -0,0 +1,173 @@ +# Polyfill %%bcond() macro for platforms without it +%if 0%{!?bcond:1} +%define bcond() %[ (%2)\ + ? "%{expand:%%{!?_without_%{1}:%%global with_%{1} 1}}"\ + : "%{expand:%%{?_with_%{1}:%%global with_%{1} 1}}"\ +] +%endif + +# The pytest-xdist package is not available when bootstrapping or for EL builds +%bcond xdist %{undefined rhel} + +# Package the placeholder rpm-macros (moved to redhat-rpm-config in F40) +%if ! (0%{?fedora} >= 40 || 0%{?rhel} >= 10) +%bcond rpmmacropkg 1 +%else +%bcond rpmmacropkg 0 +%endif + +%if ! 0%{?fedora}%{?rhel} || 0%{?fedora} || 0%{?epel} >= 9 +%bcond poetry 1 +# Appease old Poetry versions (<1.2.0a2) +%if ! 0%{?fedora}%{?rhel} || 0%{?fedora} >= 38 || 0%{?rhel} >= 10 +%bcond old_poetry 0 +%else +%bcond old_poetry 1 +%endif +%else +%bcond poetry 0 +%endif + +%if ! 0%{?fedora}%{?rhel} || 0%{?fedora} || 0%{?epel} >= 9 || 0%{?rhel} >= 10 +%bcond manpage_manual_title 1 +%else +%bcond manpage_manual_title 0 +%endif + +%global srcname rpmautospec + +Name: python-%{srcname} +Version: 0.6.5 +Release: %autorelease +Summary: Package and CLI tool to generate release fields and changelogs +License: MIT +URL: https://github.com/fedora-infra/%{srcname} +Source0: https://github.com/fedora-infra/%{srcname}/releases/download/%{version}/%{srcname}-%{version}.tar.gz + +%if 0%{!?pyproject_files:1} +%global pyproject_files %{_builddir}/%{name}-%{version}-%{release}.%{_arch}-pyproject-files +%endif + +BuildArch: noarch +BuildRequires: argparse-manpage +BuildRequires: git +# the langpacks are needed for tests +BuildRequires: glibc-langpack-de +BuildRequires: glibc-langpack-en +BuildRequires: python3-devel >= 3.9.0 +# The dependencies needed for testing don’t get auto-generated. +BuildRequires: python3dist(pytest) +%if %{with xdist} +BuildRequires: python3dist(pytest-xdist) +%endif +BuildRequires: python3dist(pyyaml) +BuildRequires: sed + +%if %{without poetry} +BuildRequires: python3dist(babel) +BuildRequires: python3dist(pygit2) +BuildRequires: python3dist(rpm) +BuildRequires: python3dist(rpmautospec-core) +BuildRequires: python3dist(setuptools) +%{?python_provide:%python_provide python3-%{srcname}} +%endif + +%global _description %{expand: +A package and CLI tool to generate RPM release fields and changelogs.} + +%description %_description + +%package -n python3-%{srcname} +Summary: %{summary} +%{?python_provide:%python_provide python3-%{srcname}} + +%description -n python3-%{srcname} %_description + +%package -n %{srcname} +Summary: CLI tool for generating RPM releases and changelogs +Requires: python3-%{srcname} = %{version}-%{release} + +%description -n %{srcname} +CLI tool for generating RPM releases and changelogs + +%if %{with rpmmacropkg} +%package -n rpmautospec-rpm-macros +Summary: Rpmautospec RPM macros for local rpmbuild +Requires: rpm + +%description -n rpmautospec-rpm-macros +This package contains RPM macros with placeholders for building rpmautospec +enabled packages locally. +%endif + +%generate_buildrequires +%if %{with poetry} +%pyproject_buildrequires +%endif + +%prep +%autosetup -n %{srcname}-%{version} +%if %{with old_poetry} +sed -i \ + -e 's/\[tool\.poetry\.group\.dev\.dependencies\]/[tool.poetry.dev-dependencies]/g' \ + pyproject.toml +%endif + +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters +sed -i -e '/pytest-cov/d; /addopts.*--cov/d' pyproject.toml + +%build +%if %{with poetry} +%pyproject_wheel +%else +%py3_build +%endif + +%install +%if %{with poetry} +%pyproject_install +%pyproject_save_files %{srcname} +# Work around poetry not listing license files as such in package metadata. +sed -i -e 's|^\(.*/LICENSE\)|%%license \1|g' %{pyproject_files} +%else +%py3_install +cat << EOF > %{pyproject_files} +%{python3_sitelib}/%{srcname}/ +%{python3_sitelib}/*.egg-info/ +EOF +%endif + +install -d %{buildroot}%{_mandir}/man1 +PYTHONPATH=%{buildroot}%{python3_sitelib} argparse-manpage \ +%if %{with manpage_manual_title} + --manual-title "User Commands" \ +%endif + --project-name rpmautospec \ + --module rpmautospec.cli \ + --function get_arg_parser > %{buildroot}%{_mandir}/man1/rpmautospec.1 + +%if %{with rpmmacropkg} +mkdir -p %{buildroot}%{rpmmacrodir} +install -m 644 rpm/macros.d/macros.rpmautospec %{buildroot}%{rpmmacrodir}/ +%endif + +%check +%pytest -v \ +%if %{with xdist} +--numprocesses=auto +%endif + +%files -n python3-%{srcname} -f %{pyproject_files} +%doc README.rst + +%files -n %{srcname} +%{_bindir}/rpmautospec +%{_mandir}/man1/rpmautospec.1* + +%if %{with rpmmacropkg} +%files -n rpmautospec-rpm-macros +%{rpmmacrodir}/macros.rpmautospec +%endif + +%changelog +%autochangelog diff --git a/sources b/sources new file mode 100644 index 0000000..afb2ef8 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (rpmautospec-0.6.5.tar.gz) = 4740a471d25896314cbb37ab7a34d24fa7d3b6512ea4d5d7444528e0669bca79cb23a180b8a591378a40e832df4a6673ac20930f38672d268d9c70fb49748771