diff --git a/.gitignore b/.gitignore index 1341cf4..5ee337f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ /azure-devtools-1.0.0.tar.gz +/azure-sdk-for-python-a88809f86787492ddc99c4b3ea5de36c99f14b4f.tar.gz +/azure-sdk-for-python-19487ff9f1790033bcc9e3354b7bdee309a5bc71.tar.gz +/azure-devtools-a5a4ef4a7adc8c730dd7da2e9e3bdb43c9376586.tar.gz +/azure-devtools-67d46b9c4292c267c14833b50bb313c077e63cd5.tar.gz diff --git a/generate-devtools-tarball.sh b/generate-devtools-tarball.sh new file mode 100755 index 0000000..853af9d --- /dev/null +++ b/generate-devtools-tarball.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# This script generates the source code for the python-azure-devtools +# Fedora package. +set -euxo pipefail + +CURRENT_DIR=$(pwd) +COMMIT=$1 +SHORTCOMMIT=${COMMIT:0:7} +TMP_DIR=$(mktemp -d) + +USER=azure +PROJECT=azure-sdk-for-python + +pushd $TMP_DIR + wget https://github.com/${USER}/${PROJECT}/archive/${COMMIT}/azure-sdk-for-python-${SHORTCOMMIT}.tar.gz + tar xf azure-sdk-for-python-${SHORTCOMMIT}.tar.gz + pushd azure-sdk-for-python-${COMMIT}/tools/azure-devtools + tar -cz -f ${CURRENT_DIR}/azure-devtools-${COMMIT}.tar.gz . + popd +popd + +rm -rf $TMP_DIR diff --git a/python-azure-devtools-requirements-fix.patch b/python-azure-devtools-requirements-fix.patch new file mode 100644 index 0000000..fe1dce2 --- /dev/null +++ b/python-azure-devtools-requirements-fix.patch @@ -0,0 +1,12 @@ +diff -up ./tools/azure-devtools/setup.py.orig ./tools/azure-devtools/setup.py +--- ./tools/azure-devtools/setup.py.orig 2021-07-22 10:18:01.048710671 -0500 ++++ ./tools/azure-devtools/setup.py 2021-07-22 10:18:12.486637887 -0500 +@@ -23,7 +23,7 @@ CLASSIFIERS = [ + "License :: OSI Approved :: MIT License", + ] + +-DEPENDENCIES = ["ConfigArgParse>=0.12.0", "six>=1.10.0", "vcrpy~=3.0.0"] ++DEPENDENCIES = ["ConfigArgParse>=0.12.0", "six>=1.10.0", "vcrpy>=3.0.0"] + + with io.open("README.rst", "r", encoding="utf-8") as f: + README = f.read() diff --git a/python-azure-devtools.spec b/python-azure-devtools.spec index 47bd954..9da61ab 100644 --- a/python-azure-devtools.spec +++ b/python-azure-devtools.spec @@ -1,134 +1,131 @@ -%global srcname azure-devtools -%global common_description This package contains tools to aid in developing Python-based Azure code. - -%global _with_python2 0%{?rhel} || 0%{?fedora} <= 29 -%global py2_prefix %{?rhel:python}%{?fedora:python2} -# Some Python 3 libraries required by azure-devtools are not available in EL -%global _with_python3 0%{?fedora} +# The last versioned release of the devtools code is 1.2.1, but upstream +# continues to update it without bumping the version. 😞 +%global srcname azure-devtools +%global commit 67d46b9c4292c267c14833b50bb313c077e63cd5 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global short_version 1.2.1 Name: python-%{srcname} -Version: 1.0.0 -Release: 4%{?dist} -Summary: Devtools for Azure SDK and CLI for Python +Version: %{short_version}~git.4.%{shortcommit} +Release: 15%{?dist} +Summary: Microsoft Azure Development Tools for SDK +License: MIT and Apache-2.0 +URL: https://github.com/Azure/azure-sdk-for-python/ +# The azure-sdk-for-python repository is huge at > 160MB, but we only need ~ +# 100KB of source for this package. Use this script to generate a tarball of the +# source code: +# ./generate-devtools-tarball.sh COMMIT_SHA +Source0: azure-devtools-%{commit}.tar.gz +# Asked upstream to update the vcrpy requirement. PR in progress. +# https://github.com/Azure/azure-sdk-for-python/pull/20032 +Patch0: python-azure-devtools-requirements-fix.patch -License: MIT -URL: https://github.com/Azure/azure-python-devtools -Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz - -%if 0%{?_with_python2} -BuildRequires: %{py2_prefix}-devel -BuildRequires: %{py2_prefix}-setuptools -# Needed for tests -BuildRequires: %{py2_prefix}-configargparse -BuildRequires: %{py2_prefix}-six -%if 0%{?fedora} <= 27 -BuildRequires: python-vcrpy -%else -BuildRequires: %{py2_prefix}-vcrpy -%endif -%endif -%if 0%{?_with_python3} -BuildRequires: python%{python3_pkgversion}-devel -BuildRequires: python%{python3_pkgversion}-setuptools -# Needed for tests -BuildRequires: python%{python3_pkgversion}-configargparse -BuildRequires: python%{python3_pkgversion}-six -BuildRequires: python%{python3_pkgversion}-vcrpy -%endif BuildArch: noarch -%description -%{common_description} +BuildRequires: python3-devel + +%global _description %{expand: +Development tools for Python-based Azure tools +This package contains tools to aid in developing Python-based Azure code.} + +%description %{_description} -%if 0%{?_with_python2} -%package -n python2-%{srcname} +%package -n python3-%{srcname} Summary: %{summary} -Requires: %{py2_prefix}-configargparse -Requires: %{py2_prefix}-six -%if 0%{?fedora} <= 27 -Requires: python-vcrpy -%else -Requires: %{py2_prefix}-vcrpy -%endif -%{?python_provide:%python_provide python2-%{srcname}} -%description -n python2-%{srcname} -%{common_description} -%endif - - -%if 0%{?_with_python3} -%package -n python%{python3_pkgversion}-%{srcname} -Summary: %{summary} -Requires: python%{python3_pkgversion}-configargparse -Requires: python%{python3_pkgversion}-six -Requires: python%{python3_pkgversion}-vcrpy -%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}} - -%description -n python%{python3_pkgversion}-%{srcname} -%{common_description} -%endif +%description -n python3-%{srcname} %{_description} %prep -%autosetup -n azure-python-devtools-%{version} +%autosetup -v -p3 -c -n %{srcname}-%{commit} %build -%if 0%{?_with_python2} -%py2_build -%endif -%if 0%{?_with_python3} -%py3_build -%endif +%pyproject_wheel + + +%generate_buildrequires +%pyproject_buildrequires -r %install -%if 0%{?_with_python2} -%py2_install -%endif -%if 0%{?_with_python3} -%py3_install -%endif +%pyproject_install +%pyproject_save_files azure_devtools + +# Some provided executables are only used internally in Azure SDK's CI. +rm -f %{buildroot}%{_bindir}/{perfstress,perfstressdebug,systemperf} -%check -%if 0%{?_with_python2} -%{__python2} -m unittest discover -s src/ -%endif -%if 0%{?_with_python3} -%{__python3} -m unittest discover -s src/ -%endif - - -%if 0%{?_with_python2} -%files -n python2-%{srcname} -%doc README.rst doc/ +%files -n python3-%{srcname} -f %{pyproject_files} +%doc README.rst %license LICENSE -%{python2_sitelib}/azure_devtools/ -%{python2_sitelib}/azure_devtools-*.egg-info/ -%endif - - -%if 0%{?_with_python3} -%files -n python%{python3_pkgversion}-%{srcname} -%doc README.rst doc/ -%license LICENSE -%{python3_sitelib}/azure_devtools/ -%{python3_sitelib}/azure_devtools-*.egg-info/ -%endif %changelog -* Sat Feb 02 2019 Fedora Release Engineering - 1.0.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild +* Fri Sep 19 2025 Python Maint - 1.2.1~git.4.67d46b9-15 +- Rebuilt for Python 3.14.0rc3 bytecode -* Wed Nov 21 2018 Mohamed El Morabity - 1.0.0-3 -- Fix dependency on python-vcrpy for Fedora <= 27 +* Fri Aug 15 2025 Python Maint - 1.2.1~git.4.67d46b9-14 +- Rebuilt for Python 3.14.0rc2 bytecode -* Tue Nov 20 2018 Mohamed El Morabity - 1.0.0-2 -- Don't glob everything under the Python sitelib directory +* Fri Jul 25 2025 Fedora Release Engineering - 1.2.1~git.4.67d46b9-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild -* Sat Nov 03 2018 Mohamed El Morabity - 1.0.0-1 -- Initial RPM release +* Fri Jun 06 2025 Python Maint - 1.2.1~git.4.67d46b9-12 +- Rebuilt for Python 3.14 + +* Sat Jan 18 2025 Fedora Release Engineering - 1.2.1~git.4.67d46b9-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Jul 19 2024 Fedora Release Engineering - 1.2.1~git.4.67d46b9-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sun Jun 09 2024 Python Maint - 1.2.1~git.4.67d46b9-9 +- Rebuilt for Python 3.13 + +* Fri Jan 26 2024 Fedora Release Engineering - 1.2.1~git.4.67d46b9-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 1.2.1~git.4.67d46b9-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jul 21 2023 Fedora Release Engineering - 1.2.1~git.4.67d46b9-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jul 01 2023 Python Maint - 1.2.1~git.4.67d46b9-5 +- Rebuilt for Python 3.12 + +* Fri Jan 20 2023 Fedora Release Engineering - 1.2.1~git.4.67d46b9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 1.2.1~git.4.67d46b9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 1.2.1~git.4.67d46b9-2 +- Rebuilt for Python 3.11 + +* Tue May 24 2022 Major Hayden - 1.2.1~git.4.67d46b9-1 +- Update to latest commit 67d46b9c4292c267c14833b50bb313c077e63cd5. + +* Mon Apr 25 2022 Major Hayden - 1.2.1~git.3.a5a4ef4-5 +- Updating dependencies. + +* Fri Jan 21 2022 Fedora Release Engineering - 1.2.1~git.3.a5a4ef4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Sep 08 2021 Major Hayden - 1.2.1~git.3.a5a4ef4-3 +- Move obsoletes into subpackage + +* Wed Sep 08 2021 Major Hayden - 1.2.1~git.3.a5a4ef4-2 +- Move obsoletes into subpackage + +* Tue Aug 03 2021 Major Hayden - 1.2.1~git.3.a5a4ef4 +- Updated to latest commit on 2021-08-11 +- Generate a source tarball using a script to shrink size of source RPM + +* Tue Aug 03 2021 Major Hayden - 1.2.1~git.2.19487ff +- Updated to latest commit on 2021-08-03 + +* Tue Jun 01 2021 Major Hayden - 1.2.1~git.1.a88809f +- Unretired package. diff --git a/sources b/sources index 0625b2b..139d519 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (azure-devtools-1.0.0.tar.gz) = aed2687f439d76faf88312b65ad8d8ba8c9c248267102dafff3052e97ff4bf9c0d2cfb9f96ce63885aac54f03ec1aa17c856f1f71d4d14e85a7d8302931e9baf +SHA512 (azure-devtools-67d46b9c4292c267c14833b50bb313c077e63cd5.tar.gz) = e8e92f4c9728660cd4bfc8a43e2acfc5205a0b4018df698a855a10a030ae02226cea7aea07f2b2eea86f57f15f12aca40b67dcb23d350ca96ebc468f95b93f8e