diff --git a/22.0.4.tar.gz b/22.0.4.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..e9e8ee8038889ce0e5aefb4e15deb77227b56db5 Binary files /dev/null and b/22.0.4.tar.gz differ diff --git a/README.md b/README.md deleted file mode 100644 index 7342728d557c602f51c6d278bba9f3dd9faaf356..0000000000000000000000000000000000000000 --- a/README.md +++ /dev/null @@ -1,11 +0,0 @@ -Anolis OS -======================================= -# 代码仓库说明 -## 分支说明 ->进行代码开发工作时,请注意选择当前版本对应的分支 -* aX分支为对应大版本的主分支,如a8分支对应当前最新版本 -* aX.Y分支为对应小版本的维护分支,如a8.2分支对应8.2版本 -## 开发流程 -1. 首先fork目标分支到自己的namespace -2. 在自己的fork分支上做出修改 -3. 向对应的仓库中提交merge request,源分支为fork分支 diff --git a/python-pip.spec b/python-pip.spec new file mode 100644 index 0000000000000000000000000000000000000000..99c80a6abf70a87e0fe2aaebc59cb00a4099340a --- /dev/null +++ b/python-pip.spec @@ -0,0 +1,252 @@ +%bcond_without python3 +%bcond_with tests +%bcond_without doc + +%global srcname pip +%global base_version 22.0.4 +%global upstream_version %{base_version}%{?prerel} +%global python_wheel_name %{srcname}-%{upstream_version}-py3-none-any.whl + +%global bashcompdir %(pkg-config --variable=completionsdir bash-completion 2>/dev/null) + +Name: python-pip +Version: 22.0.4 +Release: 1%{?dist} +Summary: A tool for installing and managing Python package + +License: iMIT and Python and ASL 2.0 and BSD and ISC and LGPLv2 and MPLv2.0 and (ASL 2.0 or BSD) +URL: https://pip.pypa.io/ +Source0: https://github.com/pypa/pip/archive/refs/tags/%{version}.tar.gz + +BuildArch: noarch +BuildRequires: python3-devel +%if %{with tests} +BuildRequires: /usr/bin/git +BuildRequires: /usr/bin/hg +BuildRequires: /usr/bin/bzr +BuildRequires: /usr/bin/svn +BuildRequires: python-setuptools-wheel +BuildRequires: python-wheel-wheel +%endif + +%description +pip is a package management system used to install and manage software packages +written in Python. Many packages can be found in the Python Package Index +(PyPI). pip is a recursive acronym that can stand for either "Pip Installs +Packages" or "Pip Installs Python". + +%global bundled() %{expand: +Provides: bundled(python%{1}dist(appdirs)) = 1.4.4 +Provides: bundled(python%{1}dist(cachecontrol)) = 0.12.6 +Provides: bundled(python%{1}dist(certifi)) = 2021.5.30 +Provides: bundled(python%{1}dist(chardet)) = 4 +Provides: bundled(python%{1}dist(colorama)) = 0.4.4 +Provides: bundled(python%{1}dist(distlib)) = 0.3.2 +Provides: bundled(python%{1}dist(distro)) = 1.5 +Provides: bundled(python%{1}dist(html5lib)) = 1.1 +Provides: bundled(python%{1}dist(idna)) = 3.2 +Provides: bundled(python%{1}dist(msgpack)) = 1.0.2 +Provides: bundled(python%{1}dist(packaging)) = 21 +Provides: bundled(python%{1}dist(pep517)) = 0.11 +Provides: bundled(python%{1}dist(progress)) = 1.5 +Provides: bundled(python%{1}dist(pyparsing)) = 2.4.7 +Provides: bundled(python%{1}dist(requests)) = 2.26 +Provides: bundled(python%{1}dist(resolvelib)) = 0.7.1 +Provides: bundled(python%{1}dist(setuptools)) = 44 +Provides: bundled(python%{1}dist(six)) = 1.16 +Provides: bundled(python%{1}dist(tenacity)) = 8.0.1 +Provides: bundled(python%{1}dist(tomli)) = 1.0.3 +Provides: bundled(python%{1}dist(urllib3)) = 1.26.6 +Provides: bundled(python%{1}dist(webencodings)) = 0.5.1 +} + +%global crypt_compat_recommends() %{expand: +Recommends: (libcrypt.so.1()(64bit) if python%{1}(x86-64)) +Recommends: (libcrypt.so.1 if python%{1}(x86-32)) +} + +%package -n python%{python3_pkgversion}-%{srcname} +Summary: A tool for installing and managing Python3 packages + +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python3-rpm-generators >= 11-8 +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: bash-completion +%if %{with tests} +BuildRequires: python%{python3_pkgversion}-cryptography +BuildRequires: python%{python3_pkgversion}-mock +BuildRequires: python%{python3_pkgversion}-pytest +BuildRequires: python%{python3_pkgversion}-pretend +BuildRequires: python%{python3_pkgversion}-freezegun +BuildRequires: python%{python3_pkgversion}-scripttest +BuildRequires: python%{python3_pkgversion}-virtualenv +BuildRequires: python%{python3_pkgversion}-werkzeug +BuildRequires: python%{python3_pkgversion}-pyyaml +%endif +BuildRequires: python%{python3_pkgversion}-wheel +BuildRequires: ca-certificates +Requires: ca-certificates + +%{bundled 3} + +Provides: pip = %{version}-%{release} + +Provides: platform-python-pip = %{version}-%{release} + +%description -n python%{python3_pkgversion}-%{srcname} +pip is a package management system used to install and manage software packages +written in Python. Many packages can be found in the Python Package Index +(PyPI). pip is a recursive acronym that can stand for either "Pip Installs +Packages" or "Pip Installs Python". + +%if %{with doc} +%package doc +Summary: A documentation for a tool for installing and managing Python packages + +BuildRequires: python%{python3_pkgversion}-sphinx +BuildRequires: python%{python3_pkgversion}-sphinx-inline-tabs +BuildRequires: python%{python3_pkgversion}-sphinx-copybutton +BuildRequires: python%{python3_pkgversion}-myst-parser + +%description doc +A documentation for a tool for installing and managing Python packages + +%endif + +%package -n %{python_wheel_pkg_prefix}-%{srcname}-wheel +Summary: The pip wheel +Requires: ca-certificates +Provides: %{name}-wheel = %{version}-%{release} +Obsoletes: %{name}-wheel < %{version}-%{release} + +%{bundled 3} + +%{crypt_compat_recommends 3} + +%description -n %{python_wheel_pkg_prefix}-%{srcname}-wheel +A Python wheel of pip to use with venv. + + +%prep +%autosetup -p1 -n %{srcname}-%{upstream_version} +# tests expect wheels in here +ln -s %{python_wheel_dir} tests/data/common_wheels + +# Remove shebang from files in bundled chardet +grep -lr "^#\!/usr/bin/env python" src/pip/_vendor/chardet/ | xargs sed -i "1d" + +# Remove windows executable binaries +rm -v src/pip/_vendor/distlib/*.exe +sed -i '/\.exe/d' setup.py + +sed -i '/html_theme = "furo"/d' docs/html/conf.py +sed -i '/"sphinxcontrib.towncrier",/d' docs/html/conf.py + + +%build +%py3_build_wheel + +%if %{with doc} +export PYTHONPATH=./src/ +# from tox.ini +sphinx-build-3 -b html docs/html docs/build/html +sphinx-build-3 -b man docs/man docs/build/man -c docs/html +rm -rf docs/build/html/{.doctrees,.buildinfo} +%endif + +%install +%{python3} dist/%{python_wheel_name}/pip install \ + --root %{buildroot} \ + --no-deps \ + --disable-pip-version-check \ + --progress-bar off \ + --verbose \ + --ignore-installed \ + --no-warn-script-location \ + --no-index \ + --no-cache-dir \ + --find-links dist \ + 'pip==%{upstream_version}' + +%if %{with doc} +pushd docs/build/man +install -d %{buildroot}%{_mandir}/man1 +for MAN in *1; do +install -pm0644 $MAN %{buildroot}%{_mandir}/man1/$MAN +for pip in "pip3" "pip-3" "pip%{python3_version}" "pip-%{python3_version}"; do +echo ".so $MAN" > %{buildroot}%{_mandir}/man1/${MAN/pip/$pip} +done +done +popd +%endif + +mkdir -p %{buildroot}%{bashcompdir} +PYTHONPATH=%{buildroot}%{python3_sitelib} \ + %{buildroot}%{_bindir}/pip completion --bash \ + > %{buildroot}%{bashcompdir}/pip3 + +sed -i -e "s/^\\(complete.*\\) pip\$/\\1 pip pip{,-}{3,%{python3_version}}/" \ + -e s/_pip_completion/_pip3_completion/ \ + %{buildroot}%{bashcompdir}/pip3 + + +ln -s ./pip%{python3_version} %{buildroot}%{_bindir}/pip-%{python3_version} +ln -s ./pip-%{python3_version} %{buildroot}%{_bindir}/pip-3 + + +echo rpm > %{buildroot}%{python3_sitelib}/pip-%{upstream_version}.dist-info/INSTALLER +rm %{buildroot}%{python3_sitelib}/pip-%{upstream_version}.dist-info/RECORD + +mkdir -p %{buildroot}%{python_wheel_dir} +install -p dist/%{python_wheel_name} -t %{buildroot}%{python_wheel_dir} + +%if %{with tests} +%check +%{_rpmconfigdir}/pythonbundles.py src/pip/_vendor/vendor.txt --compare-with '%{bundled 3}' + +pytest_k='not completion and + not test_pep517_and_build_options and + not test_config_file_venv_option and + not test_from_link_vcs_with_source_dir_obtains_commit_id and + not test_from_link_vcs_without_source_dir and + not test_should_cache_git_sha' + + +%pytest -m 'not network' -k "$(echo $pytest_k)" \ + --deselect tests/functional --deselect tests/lib/test_lib.py --deselect tests/unit/test_build_env.py +%endif + +%files -n python%{python3_pkgversion}-%{srcname} +%doc README.rst +%license %{python3_sitelib}/pip-%{upstream_version}.dist-info/LICENSE.txt +%if %{with doc} +%{_mandir}/man1/pip.* +%{_mandir}/man1/pip-*.* +%{_mandir}/man1/pip3.* +%{_mandir}/man1/pip3-*.* +%endif +%{_bindir}/pip +%{_bindir}/pip3 +%{_bindir}/pip-3 +%{_bindir}/pip%{python3_version} +%{_bindir}/pip-%{python3_version} +%{python3_sitelib}/pip* +%dir %{bashcompdir} +%{bashcompdir}/pip3 + +%if %{with doc} +%files doc +%license LICENSE.txt +%doc README.rst +%doc docs/build/html +%endif + +%files -n %{python_wheel_pkg_prefix}-%{srcname}-wheel +%license LICENSE.txt +# we own the dir for simplicity +%dir %{python_wheel_dir}/ +%{python_wheel_dir}/%{python_wheel_name} + +%changelog +* Mon Mar 14 2022 forrest_ly - 22.0.4-1 +- Init for Anolis OS 23