6d97c1
%bcond_with tests
6d97c1
# RHEL: docs disabled because they need python3-sphinx, which needs
6d97c1
# python3-packaging, which is shahowed by python39-packaging during the build
6d97c1
# of the python39 module
6d97c1
%bcond_with doc
6d97c1
6d97c1
%global srcname pip
6d97c1
%global base_version 20.2.4
6d97c1
%global upstream_version %{base_version}%{?prerel}
6d97c1
%global python_wheelname %{srcname}-%{upstream_version}-py2.py3-none-any.whl
6d97c1
%global python_wheeldir %{_datadir}/python%{python3_pkgversion}-wheels
6d97c1
6d97c1
%if %{with doc}
6d97c1
# Commit hash to use from the repo https://github.com/pypa/pypa-docs-theme
6d97c1
%global pypa_theme_commit_hash d2e63fbfc62af3b7050f619b2f5bb8658985b931
6d97c1
%endif
6d97c1
6d97c1
%global bashcompdir %(pkg-config --variable=completionsdir bash-completion 2>/dev/null)
6d97c1
6d97c1
Name:           python3x-%{srcname}
6d97c1
Version:        %{base_version}%{?prerel:~%{prerel}}
0312d7
Release:        7%{?dist}
6d97c1
Summary:        A tool for installing and managing Python packages
6d97c1
6d97c1
# We bundle a lot of libraries with pip, which itself is under MIT license.
6d97c1
# Here is the list of the libraries with corresponding licenses:
6d97c1
6d97c1
# appdirs: MIT
6d97c1
# certifi: MPLv2.0
6d97c1
# chardet: LGPLv2
6d97c1
# colorama: BSD
6d97c1
# CacheControl: ASL 2.0
6d97c1
# contextlib2: Python
6d97c1
# distlib: Python
6d97c1
# distro: ASL 2.0
6d97c1
# html5lib: MIT
6d97c1
# idna: BSD
6d97c1
# ipaddress: Python
6d97c1
# msgpack: ASL 2.0
6d97c1
# packaging: ASL 2.0 or BSD
6d97c1
# pep517: MIT
6d97c1
# progress: ISC
6d97c1
# pyparsing: MIT
6d97c1
# requests: ASL 2.0
6d97c1
# resolvelib: ISC
6d97c1
# retrying: ASL 2.0
6d97c1
# setuptools: MIT
6d97c1
# six: MIT
6d97c1
# toml: MIT
6d97c1
# urllib3: MIT
6d97c1
# webencodings: BSD
6d97c1
6d97c1
License:        MIT and Python and ASL 2.0 and BSD and ISC and LGPLv2 and MPLv2.0 and (ASL 2.0 or BSD)
6d97c1
URL:            https://pip.pypa.io/
6d97c1
Source0:        https://github.com/pypa/pip/archive/%{upstream_version}/%{srcname}-%{upstream_version}.tar.gz
6d97c1
6d97c1
BuildArch:      noarch
6d97c1
# Exclude i686 arch. Due to a modularity issue it's being added to the
6d97c1
# x86_64 compose of CRB, but we don't want to ship it at all.
6d97c1
# See: https://projects.engineering.redhat.com/browse/RCM-72605
6d97c1
ExcludeArch:    i686
6d97c1
6d97c1
%if %{with tests}
6d97c1
BuildRequires:  /usr/bin/git
6d97c1
BuildRequires:  /usr/bin/hg
6d97c1
BuildRequires:  /usr/bin/bzr
6d97c1
BuildRequires:  /usr/bin/svn
6d97c1
BuildRequires:  python%{python3_pkgversion}-setuptools-wheel
6d97c1
BuildRequires:  python%{python3_pkgversion}-wheel-wheel
6d97c1
%endif
6d97c1
6d97c1
# Themes required to build the docs.
6d97c1
%if %{with doc}
6d97c1
Source1:        https://github.com/pypa/pypa-docs-theme/archive/%{pypa_theme_commit_hash}.tar.gz
6d97c1
Source2:        https://github.com/python/python-docs-theme/archive/2018.2.tar.gz
6d97c1
%endif
6d97c1
6d97c1
# Downstream only patch
6d97c1
# Emit a warning to the user if pip install is run with root privileges
6d97c1
# Issue upstream: https://github.com/pypa/pip/issues/4288
6d97c1
Patch1:         emit-a-warning-when-running-with-root-privileges.patch
6d97c1
6d97c1
# Add path to the doc themes to conf.py
6d97c1
Patch2:         html_theme_path.patch
6d97c1
6d97c1
# Prevent removing of the system packages installed under /usr/lib
6d97c1
# when pip install -U is executed.
6d97c1
# https://bugzilla.redhat.com/show_bug.cgi?id=1550368#c24
6d97c1
Patch3:         remove-existing-dist-only-if-path-conflicts.patch
6d97c1
6d97c1
# Use the system level root certificate instead of the one bundled in certifi
6d97c1
# https://bugzilla.redhat.com/show_bug.cgi?id=1655253
6d97c1
Patch4:         dummy-certifi.patch
6d97c1
6d97c1
# Don't warn the user about pip._internal.main() entrypoint
6d97c1
# In Fedora, we use that in ensurepip and users cannot do anything about it,
6d97c1
# this warning is juts moot. Also, the warning breaks CPython test suite.
6d97c1
Patch5:         nowarn-pip._internal.main.patch
6d97c1
78ef14
# Patch for CVE-2021-3572 - pip incorrectly handled unicode separators in git references
78ef14
# Upstream PR: https://github.com/pypa/pip/pull/9827
78ef14
# Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1962856
78ef14
Patch6:         CVE-2021-3572.patch
78ef14
1e5ef6
# CVE-2021-33503 Catastrophic backtracking in URL authority parser
1e5ef6
# Tracking bug: https://bugzilla.redhat.com/show_bug.cgi?id=1968074
1e5ef6
# Upstream fix: https://github.com/urllib3/urllib3/commit/2d4a3fee6de2fa45eb82169361918f759269b4ec
1e5ef6
Patch7:         CVE-2021-33503.patch
1e5ef6
6d97c1
# Downstream only patch
6d97c1
# Users might have local installations of pip from using
6d97c1
# `pip install --user --upgrade pip` on older/newer versions.
6d97c1
# If they do that and they run `pip` or  `pip3`, the one from /usr/bin is used.
6d97c1
# However that's the one from this RPM package and the import in there might
6d97c1
# fail (it tries to import from ~/.local, but older or newer pip is there with
6d97c1
# a bit different API).
6d97c1
# We add this patch as a dirty workaround to make /usr/bin/pip* work with
6d97c1
# both pip10+ (from this RPM) and older or newer (19.3+) pip (from whatever).
6d97c1
# A proper fix is to put ~/.local/bin in front of /usr/bin in the PATH,
6d97c1
# however others are against that and we cannot change it for existing
6d97c1
# installs/user homes anyway.
6d97c1
# https://bugzilla.redhat.com/show_bug.cgi?id=1569488
6d97c1
# https://bugzilla.redhat.com/show_bug.cgi?id=1571650
6d97c1
# https://bugzilla.redhat.com/show_bug.cgi?id=1767212
6d97c1
# WARNING: /usr/bin/pip* are entrypoints, this cannot be applied in %%prep!
6d97c1
# %%patch10 doesn't work outside of %%prep, so we add it as a source
6d97c1
# Note that since pip 20, old main() import paths are preserved for backwards
6d97c1
# compatibility: https://github.com/pypa/pip/issues/7498
6d97c1
# Meaning we don't need to update any of the older pips to support 20+
6d97c1
# We also don't need to update Pythons to use new import path in ensurepip
6d97c1
Source10:        pip-allow-different-versions.patch
6d97c1
6d97c1
%description
6d97c1
pip is a package management system used to install and manage software packages
6d97c1
written in Python. Many packages can be found in the Python Package Index
6d97c1
(PyPI). pip is a recursive acronym that can stand for either "Pip Installs
6d97c1
Packages" or "Pip Installs Python".
6d97c1
6d97c1
6d97c1
6d97c1
# Virtual provides for the packages bundled by pip.
6d97c1
# You can generate it with:
6d97c1
# %%{_rpmconfigdir}/pythonbundles.py --namespace 'python%%{1}dist' src/pip/_vendor/vendor.txt
6d97c1
%global bundled() %{expand:
6d97c1
Provides: bundled(python%{1}dist(appdirs)) = 1.4.4
6d97c1
Provides: bundled(python%{1}dist(cachecontrol)) = 0.12.6
6d97c1
Provides: bundled(python%{1}dist(certifi)) = 2020.6.20
6d97c1
Provides: bundled(python%{1}dist(chardet)) = 3.0.4
6d97c1
Provides: bundled(python%{1}dist(colorama)) = 0.4.3
6d97c1
Provides: bundled(python%{1}dist(contextlib2)) = 0.6^post1
6d97c1
Provides: bundled(python%{1}dist(distlib)) = 0.3.1
6d97c1
Provides: bundled(python%{1}dist(distro)) = 1.5
6d97c1
Provides: bundled(python%{1}dist(html5lib)) = 1.1
6d97c1
Provides: bundled(python%{1}dist(idna)) = 2.10
6d97c1
Provides: bundled(python%{1}dist(ipaddress)) = 1.0.23
6d97c1
Provides: bundled(python%{1}dist(msgpack)) = 1
6d97c1
Provides: bundled(python%{1}dist(packaging)) = 20.4
6d97c1
Provides: bundled(python%{1}dist(pep517)) = 0.8.2
6d97c1
Provides: bundled(python%{1}dist(progress)) = 1.5
6d97c1
Provides: bundled(python%{1}dist(pyparsing)) = 2.4.7
6d97c1
Provides: bundled(python%{1}dist(requests)) = 2.24
6d97c1
Provides: bundled(python%{1}dist(resolvelib)) = 0.4
6d97c1
Provides: bundled(python%{1}dist(retrying)) = 1.3.3
6d97c1
Provides: bundled(python%{1}dist(setuptools)) = 44
6d97c1
Provides: bundled(python%{1}dist(six)) = 1.15
6d97c1
Provides: bundled(python%{1}dist(toml)) = 0.10.1
6d97c1
Provides: bundled(python%{1}dist(urllib3)) = 1.25.9
6d97c1
Provides: bundled(python%{1}dist(webencodings)) = 0.5.1
6d97c1
}
6d97c1
6d97c1
# Some manylinux1 wheels need libcrypt.so.1.
6d97c1
# Manylinux1, a common (as of 2019) platform tag for binary wheels, relies
6d97c1
# on a glibc version that included ancient crypto functions, which were
6d97c1
# moved to libxcrypt and then removed in:
6d97c1
#  https://fedoraproject.org/wiki/Changes/FullyRemoveDeprecatedAndUnsafeFunctionsFromLibcrypt
6d97c1
# The manylinux1 standard assumed glibc would keep ABI compatibility,
6d97c1
# but that's only the case if libcrypt.so.1 (libxcrypt-compat) is around.
6d97c1
# This should be solved in the next manylinux standard (but it may be
6d97c1
# a long time until manylinux1 is phased out).
6d97c1
# See: https://github.com/pypa/manylinux/issues/305
6d97c1
# Note that manylinux is only applicable to x86 (both 32 and 64 bits)
6d97c1
%global crypt_compat_recommends() %{expand:
6d97c1
Recommends: (libcrypt.so.1()(64bit) if python%{1}(x86-64))
6d97c1
Recommends: (libcrypt.so.1 if python%{1}(x86-32))
6d97c1
}
6d97c1
6d97c1
6d97c1
6d97c1
%package -n python%{python3_pkgversion}-%{srcname}
6d97c1
Summary:        A tool for installing and managing Python3 packages
6d97c1
6d97c1
BuildRequires:  python%{python3_pkgversion}-devel
6d97c1
BuildRequires:  python%{python3_pkgversion}-rpm-macros
6d97c1
# python3 bootstrap: this is rebuilt before the final build of python3, which
6d97c1
# adds the dependency on python3-rpm-generators, so we require it manually
6d97c1
# Note that the package prefix is always python3-, even if we build for 3.X
6d97c1
BuildRequires:  python3-rpm-generators
6d97c1
BuildRequires:  python%{python3_pkgversion}-setuptools
6d97c1
BuildRequires:  bash-completion
6d97c1
%if %{with tests}
6d97c1
BuildRequires:  python%{python3_pkgversion}-cryptography
6d97c1
BuildRequires:  python%{python3_pkgversion}-mock
6d97c1
BuildRequires:  python%{python3_pkgversion}-pytest
6d97c1
BuildRequires:  python%{python3_pkgversion}-pretend
6d97c1
BuildRequires:  python%{python3_pkgversion}-freezegun
6d97c1
BuildRequires:  python%{python3_pkgversion}-scripttest
6d97c1
BuildRequires:  python%{python3_pkgversion}-virtualenv
6d97c1
BuildRequires:  python%{python3_pkgversion}-werkzeug
6d97c1
BuildRequires:  python%{python3_pkgversion}-pyyaml
6d97c1
%endif
6d97c1
BuildRequires:  python%{python3_pkgversion}-wheel
6d97c1
BuildRequires:  ca-certificates
6d97c1
Requires:       ca-certificates
6d97c1
6d97c1
# This was previously required and we keep it recommended because a lot of
6d97c1
# sdists installed via pip will try to import setuptools.
6d97c1
# But pip doesn't actually require setuptools.
6d97c1
# It can install wheels without them and it can build wheels in isolation mode
6d97c1
# (using setuptools/flit/poetry/... installed from PyPI).
6d97c1
# Side note: pip bundles pkg_resources from setuptools for internal usage.
6d97c1
Recommends:     python%{python3_pkgversion}-setuptools
6d97c1
07a499
# Require alternatives version that implements the --keep-foreign flag
07a499
Requires(postun): alternatives >= 1.19.1-1
6d97c1
# python39 installs the alternatives master symlink to which we attach a slave
6d97c1
Requires: python%{python3_pkgversion}
6d97c1
Requires(post): python%{python3_pkgversion}
6d97c1
Requires(postun): python%{python3_pkgversion}
6d97c1
6d97c1
# Virtual provides for the packages bundled by pip:
6d97c1
%{bundled %{python3_version}}
6d97c1
78ef14
%{crypt_compat_recommends %{python3_pkgversion}}
6d97c1
6d97c1
%description -n python%{python3_pkgversion}-%{srcname}
6d97c1
pip is a package management system used to install and manage software packages
6d97c1
written in Python. Many packages can be found in the Python Package Index
6d97c1
(PyPI). pip is a recursive acronym that can stand for either "Pip Installs
6d97c1
Packages" or "Pip Installs Python".
6d97c1
6d97c1
%if %{with doc}
6d97c1
%package -n python%{python3_pkgversion}-%{srcname}-doc
6d97c1
Summary:        A documentation for a tool for installing and managing Python packages
6d97c1
6d97c1
BuildRequires:  python3-sphinx
6d97c1
6d97c1
%description -n python%{python3_pkgversion}-%{srcname}-doc
6d97c1
A documentation for a tool for installing and managing Python packages
6d97c1
6d97c1
%endif
6d97c1
6d97c1
%package -n python%{python3_pkgversion}-%{srcname}-wheel
6d97c1
Summary:        The pip wheel
6d97c1
Requires:       ca-certificates
6d97c1
6d97c1
# Virtual provides for the packages bundled by pip:
6d97c1
%{bundled %{python3_version}}
6d97c1
78ef14
%{crypt_compat_recommends %{python3_pkgversion}}
6d97c1
6d97c1
%description -n python%{python3_pkgversion}-%{srcname}-wheel
6d97c1
A Python wheel of pip to use with venv.
6d97c1
6d97c1
%prep
6d97c1
%setup -q -n %{srcname}-%{upstream_version}
6d97c1
6d97c1
%if %{with doc}
6d97c1
pushd docs/html
6d97c1
tar -xf %{SOURCE1}
6d97c1
mv pypa-docs-theme-%{pypa_theme_commit_hash} pypa
6d97c1
tar -xf %{SOURCE2}
6d97c1
mv python-docs-theme-2018.2 python-docs-theme
6d97c1
popd
6d97c1
%endif
6d97c1
6d97c1
%autopatch -p1
6d97c1
6d97c1
# this goes together with patch4
6d97c1
rm src/pip/_vendor/certifi/*.pem
6d97c1
6d97c1
# tests expect wheels in here
6d97c1
ln -s %{python_wheeldir} tests/data/common_wheels
6d97c1
6d97c1
# Upstream uses a Python 2/3 compatibility library for csv with Python 3 semantics in tests
6d97c1
# We only target Python 3 and csv23 is not (yet) packaged
6d97c1
# As of 20.1b1, this workaround was sufficient to get around the missing dependency
6d97c1
sed -i -e 's/csv23/csv/g' tests/lib/wheel.py
6d97c1
0312d7
# Remove windows executable binaries
0312d7
rm -v src/pip/_vendor/distlib/*.exe
0312d7
sed -i '/\.exe/d' setup.py
6d97c1
6d97c1
%build
6d97c1
%py3_build_wheel
6d97c1
6d97c1
%if %{with doc}
6d97c1
export PYTHONPATH=./src/
6d97c1
# from tox.ini
6d97c1
sphinx-build-3 -b html docs/html docs/build/html
6d97c1
sphinx-build-3 -b man  docs/man  docs/build/man  -c docs/html
6d97c1
rm -rf docs/build/html/{.doctrees,.buildinfo}
6d97c1
%endif
6d97c1
6d97c1
6d97c1
%install
6d97c1
# The following is similar to %%py3_install_wheel, but we don't have
6d97c1
# /usr/bin/pip yet, so we install using the wheel directly.
6d97c1
# (This is not standard wheel usage, but the pip wheel supports it -- see
6d97c1
#  pip/__main__.py)
6d97c1
%{__python3} dist/%{python_wheelname}/pip install \
6d97c1
    --root %{buildroot} \
6d97c1
    --no-deps \
6d97c1
    --no-cache-dir \
6d97c1
    --no-index \
6d97c1
    --ignore-installed \
6d97c1
    --find-links dist \
6d97c1
    'pip==%{upstream_version}'
6d97c1
6d97c1
%if %{with doc}
6d97c1
pushd docs/build/man
6d97c1
install -d %{buildroot}%{_mandir}/man1
6d97c1
for MAN in *1; do
6d97c1
install -pm0644 $MAN %{buildroot}%{_mandir}/man1/${MAN/pip/pip%{python3_version}}
6d97c1
install -pm0644 $MAN %{buildroot}%{_mandir}/man1/${MAN/pip/pip-%{python3_version}}
6d97c1
done
6d97c1
popd
6d97c1
%endif
6d97c1
6d97c1
# before we ln -s anything, we apply Source10 patch to all pips:
6d97c1
for PIP in %{buildroot}%{_bindir}/pip*; do
6d97c1
  patch -p1 --no-backup-if-mismatch $PIP < %{SOURCE10}
6d97c1
done
6d97c1
6d97c1
mkdir -p %{buildroot}%{bashcompdir}
6d97c1
PYTHONPATH=%{buildroot}%{python3_sitelib} \
6d97c1
    %{buildroot}%{_bindir}/pip completion --bash \
6d97c1
    > %{buildroot}%{bashcompdir}/pip%{python3_version}
6d97c1
6d97c1
# Make bash completion apply to all the 5 symlinks we install
6d97c1
sed -i -e "s/^\\(complete.*\\) pip\$/\\1 pip{,-}%{python3_version}/" \
6d97c1
    -e s/_pip_completion/_pip%{python3_pkgversion}_completion/ \
6d97c1
    %{buildroot}%{bashcompdir}/pip%{python3_version}
6d97c1
6d97c1
6d97c1
# Provide symlinks to executables to comply with Fedora guidelines for Python
6d97c1
ln -s ./pip%{python3_version} %{buildroot}%{_bindir}/pip-%{python3_version}
6d97c1
ln -s ./pip-%{python3_version} %{buildroot}%{_bindir}/pip-3
6d97c1
6d97c1
6d97c1
# Make sure the INSTALLER is not pip, otherwise Patch2 won't work
6d97c1
# %%pyproject macros do this for all packages
6d97c1
echo rpm > %{buildroot}%{python3_sitelib}/pip-%{upstream_version}.dist-info/INSTALLER
6d97c1
6d97c1
mkdir -p %{buildroot}%{python_wheeldir}
6d97c1
install -p dist/%{python_wheelname} -t %{buildroot}%{python_wheeldir}
6d97c1
6d97c1
# RHEL8: Remove binaries conflicting with Python 3.6
6d97c1
rm %{buildroot}%{_bindir}/pip
6d97c1
rm %{buildroot}%{_bindir}/pip3
6d97c1
rm %{buildroot}%{_bindir}/pip-3
6d97c1
6d97c1
# All ghost files controlled by alternatives need to exist for the files
6d97c1
# section check to succeed
6d97c1
touch %{buildroot}%{_bindir}/pip3
6d97c1
touch %{buildroot}%{_bindir}/pip-3
6d97c1
6d97c1
6d97c1
%if %{with tests}
6d97c1
%check
6d97c1
# Upstream tests
6d97c1
# bash completion tests only work from installed package
6d97c1
# needs unaltered sys.path and we cannot do that in %%check
6d97c1
#     test_pep517_and_build_options
6d97c1
#     test_config_file_venv_option
6d97c1
# TODO investigate failures
6d97c1
#     test_uninstall_non_local_distutils
6d97c1
# Incompatible with the latest virtualenv
6d97c1
#     test_from_link_vcs_with_source_dir_obtains_commit_id
6d97c1
#     test_from_link_vcs_without_source_dir
6d97c1
#     test_should_cache_git_sha
6d97c1
pytest_k='not completion and
6d97c1
          not test_pep517_and_build_options and
6d97c1
          not test_config_file_venv_option and
6d97c1
          not test_uninstall_non_local_distutils and
6d97c1
          not test_from_link_vcs_with_source_dir_obtains_commit_id and
6d97c1
          not test_from_link_vcs_without_source_dir and
6d97c1
          not test_should_cache_git_sha'
6d97c1
6d97c1
# --deselect'ed tests are not compatible with the latest virtualenv
6d97c1
# These files contain almost 500 tests so we should enable them back
6d97c1
# as soon as pip will be compatible upstream
6d97c1
# https://github.com/pypa/pip/pull/8441
6d97c1
%pytest -m 'not network' -k "$(echo $pytest_k)" \
6d97c1
    --deselect tests/functional --deselect tests/lib/test_lib.py --deselect tests/unit/test_build_env.py
6d97c1
%endif
6d97c1
6d97c1
6d97c1
%post -n python%{python3_pkgversion}-%{srcname}
6d97c1
alternatives --add-slave python3 %{_bindir}/python%{python3_version} \
6d97c1
    %{_bindir}/pip3 \
6d97c1
    pip3 \
6d97c1
    %{_bindir}/pip%{python3_version}
6d97c1
alternatives --add-slave python3 %{_bindir}/python%{python3_version} \
6d97c1
    %{_bindir}/pip-3 \
6d97c1
    pip-3 \
6d97c1
    %{_bindir}/pip-%{python3_version}
6d97c1
6d97c1
%postun -n python%{python3_pkgversion}-%{srcname}
6d97c1
# Do this only during uninstall process (not during update)
6d97c1
if [ $1 -eq 0 ]; then
6d97c1
    # Only remove the slave links if the master link for python3 still exists.
6d97c1
    # Due to a possible bug in yum, python39 gets removed before python39-pip
6d97c1
    # even though we have declared Requires(postun): python39
6d97c1
    EXISTS=`alternatives --display python3 | \
6d97c1
          grep -c "^/usr/bin/python%{python3_version} - priority [0-9]*"`
6d97c1
6d97c1
    if [ $EXISTS -ne 0 ]; then
07a499
        alternatives --keep-foreign --remove-slave python3 %{_bindir}/python%{python3_version} \
6d97c1
            pip3
07a499
        alternatives --keep-foreign --remove-slave python3 %{_bindir}/python%{python3_version} \
6d97c1
            pip-3
6d97c1
    fi
6d97c1
fi
6d97c1
6d97c1
6d97c1
%files -n python%{python3_pkgversion}-%{srcname}
6d97c1
%license LICENSE.txt
6d97c1
%doc README.rst
6d97c1
%if %{with doc}
6d97c1
%{_mandir}/man1/pip%{python3_version}.*
6d97c1
%{_mandir}/man1/pip%{python3_version}-*.*
6d97c1
%{_mandir}/man1/pip-%{python3_version}.*
6d97c1
%{_mandir}/man1/pip-%{python3_version}-*.*
6d97c1
%endif
6d97c1
%{_bindir}/pip%{python3_version}
6d97c1
%{_bindir}/pip-%{python3_version}
6d97c1
%{python3_sitelib}/pip*
6d97c1
%dir %{bashcompdir}
6d97c1
%{bashcompdir}/pip%{python3_version}
6d97c1
%ghost %{_bindir}/pip3
6d97c1
%ghost %{_bindir}/pip-3
6d97c1
6d97c1
%if %{with doc}
6d97c1
%files -n python%{python3_pkgversion}-%{srcname}-doc
6d97c1
%license LICENSE.txt
6d97c1
%doc README.rst
6d97c1
%doc docs/build/html
6d97c1
%endif
6d97c1
6d97c1
%files -n python%{python3_pkgversion}-%{srcname}-wheel
6d97c1
%license LICENSE.txt
6d97c1
# we own the dir for simplicity
6d97c1
%dir %{python_wheeldir}/
6d97c1
%{python_wheeldir}/%{python_wheelname}
6d97c1
6d97c1
%changelog
0312d7
* Thu Oct 14 2021 Charalampos Stratakis <cstratak@redhat.com> - 20.2.4-7
0312d7
- Remove bundled windows executables
0312d7
- Resolves: rhbz#2006790
0312d7
07a499
* Thu Aug 05 2021 Tomas Orsava <torsava@redhat.com> - 20.2.4-6
07a499
- Adjusted the postun scriptlets to enable upgrading to RHEL 9
07a499
- Resolves: rhbz#1933055
07a499
1e5ef6
* Wed Jun 30 2021 Lumír Balhar <lbalhar@redhat.com> - 20.2.4-5
1e5ef6
- Fix for CVE-2021-33503 Catastrophic backtracking in URL authority parser
1e5ef6
Resolves: rhbz#1968074
1e5ef6
78ef14
* Tue Jun 08 2021 Lumír Balhar <lbalhar@redhat.com> - 20.2.4-4
78ef14
- Fix for CVE-2021-3572 - pip incorrectly handled unicode separators in git references
78ef14
Resolves: rhbz#1962856
78ef14
6d97c1
* Wed Jan 06 2021 Tomas Orsava <torsava@redhat.com> - 20.2.4-3
6d97c1
- Convert from Fedora to the python39 module in RHEL8
6d97c1
- Resolves: rhbz#1877430
6d97c1
6d97c1
* Fri Dec 04 2020 Miro Hrončok <mhroncok@redhat.com> - 20.2.4-2
6d97c1
- Disable tests and documentation in Fedora ELN (and RHEL)
6d97c1
6d97c1
* Mon Oct 19 2020 Lumír Balhar <lbalhar@redhat.com> - 20.2.4-1
6d97c1
- Update to 20.2.4 (#1889112)
6d97c1
6d97c1
* Wed Aug 05 2020 Tomas Orsava <torsava@redhat.com> - 20.2.2-1
6d97c1
- Update to 20.2.2 (#1838553)
6d97c1
6d97c1
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 20.1.1-7
6d97c1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
6d97c1
6d97c1
* Fri Jul 10 2020 Lumír Balhar <lbalhar@redhat.com> - 20.1.1-6
6d97c1
- Do not emit a warning about root privileges when --root is used
6d97c1
6d97c1
* Wed Jul 08 2020 Miro Hrončok <mhroncok@redhat.com> - 20.1.1-5
6d97c1
- Update bundled provides to match 20.1.1
6d97c1
6d97c1
* Tue Jun 16 2020 Lumír Balhar <lbalhar@redhat.com> - 20.1.1-4
6d97c1
- Deselect tests incompatible with the latest virtualenv
6d97c1
6d97c1
* Sun May 24 2020 Miro Hrončok <mhroncok@redhat.com> - 20.1.1-3
6d97c1
- Rebuilt for Python 3.9
6d97c1
6d97c1
* Thu May 21 2020 Miro Hrončok <mhroncok@redhat.com> - 20.1.1-2
6d97c1
- Bootstrap for Python 3.9
6d97c1
6d97c1
* Wed May 20 2020 Tomas Hrnciar <thrnciar@redhat.com> - 20.1.1-1
6d97c1
- Update to 20.1.1
6d97c1
6d97c1
* Wed Apr 29 2020 Tomas Hrnciar <thrnciar@redhat.com> - 20.1-1
6d97c1
- Update to 20.1
6d97c1
6d97c1
* Mon Apr 27 2020 Tomas Hrnciar <thrnciar@redhat.com> - 20.1~b1-1
6d97c1
- Update to 20.1~b1
6d97c1
6d97c1
* Wed Apr 15 2020 Miro Hrončok <mhroncok@redhat.com> - 20.0.2-4
6d97c1
- Only recommend setuptools, don't require them
6d97c1
6d97c1
* Fri Apr 10 2020 Miro Hrončok <mhroncok@redhat.com> - 20.0.2-3
6d97c1
- Allow setting $TMPDIR to $PWD/... during pip wheel (#1806625)
6d97c1
6d97c1
* Tue Mar 10 2020 Miro Hrončok <mhroncok@redhat.com> - 20.0.2-2
6d97c1
- Don't warn the user about pip._internal.main() entrypoint to fix ensurepip
6d97c1
6d97c1
* Mon Mar 02 2020 Miro Hrončok <mhroncok@redhat.com> - 20.0.2-1
6d97c1
- Update to 20.0.2 (#1793456)
6d97c1
6d97c1
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 19.3.1-2
6d97c1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
6d97c1
6d97c1
* Mon Nov 04 2019 Tomas Orsava <torsava@redhat.com> - 19.3.1-1
6d97c1
- Update to 19.3.1 (#1761508)
6d97c1
- Drop upstreamed patch that fixed expected output in test to not break with alpha/beta/rc Python versions
6d97c1
6d97c1
* Wed Oct 30 2019 Miro Hrončok <mhroncok@redhat.com> - 19.2.3-2
6d97c1
- Make /usr/bin/pip(3) work with user-installed pip 19.3+ (#1767212)
6d97c1
6d97c1
* Mon Sep 02 2019 Miro Hrončok <mhroncok@redhat.com> - 19.2.3-1
6d97c1
- Update to 19.2.3 (#1742230)
6d97c1
- Drop patch that should strip path prefixes from RECORD files, the paths are relative
6d97c1
6d97c1
* Wed Aug 21 2019 Petr Viktorin <pviktori@redhat.com> - 19.1.1-8
6d97c1
- Remove python2-pip
6d97c1
- Make pip bootstrap itself, rather than with an extra bootstrap RPM build
6d97c1
6d97c1
* Sat Aug 17 2019 Miro Hrončok <mhroncok@redhat.com> - 19.1.1-7
6d97c1
- Rebuilt for Python 3.8
6d97c1
6d97c1
* Wed Aug 14 2019 Miro Hrončok <mhroncok@redhat.com> - 19.1.1-6
6d97c1
- Bootstrap for Python 3.8
6d97c1
6d97c1
* Wed Aug 14 2019 Miro Hrončok <mhroncok@redhat.com> - 19.1.1-5
6d97c1
- Bootstrap for Python 3.8
6d97c1
6d97c1
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 19.1.1-4
6d97c1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
6d97c1
6d97c1
* Mon Jul 15 2019 Petr Viktorin <pviktori@redhat.com> - 19.1.1-3
6d97c1
- Recommend libcrypt.so.1 for manylinux1 compatibility
6d97c1
- Make /usr/bin/pip Python 3
6d97c1
6d97c1
* Mon Jun 10 2019 Miro Hrončok <mhroncok@redhat.com> - 19.1.1-2
6d97c1
- Fix root warning when pip is invoked via python -m pip
6d97c1
- Remove a redundant second WARNING prefix form the abovementioned warning
6d97c1
6d97c1
* Wed May 15 2019 Miro Hrončok <mhroncok@redhat.com> - 19.1.1-1
6d97c1
- Update to 19.1.1 (#1706995)
6d97c1
6d97c1
* Thu Apr 25 2019 Miro Hrončok <mhroncok@redhat.com> - 19.1-1
6d97c1
- Update to 19.1 (#1702525)
6d97c1
6d97c1
* Wed Mar 06 2019 Miro Hrončok <mhroncok@redhat.com> - 19.0.3-1
6d97c1
- Update to 19.0.3 (#1679277)
6d97c1
6d97c1
* Wed Feb 13 2019 Miro Hrončok <mhroncok@redhat.com> - 19.0.2-1
6d97c1
- Update to 19.0.2 (#1668492)
6d97c1
6d97c1
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 18.1-3
6d97c1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
6d97c1
6d97c1
* Mon Dec 03 2018 Miro Hrončok <mhroncok@redhat.com> - 18.1-2
6d97c1
- Use the system level root certificate instead of the one bundled in certifi
6d97c1
6d97c1
* Thu Nov 22 2018 Miro Hrončok <mhroncok@redhat.com> - 18.1-1
6d97c1
- Update to 18.1 (#1652089)
6d97c1
6d97c1
* Tue Sep 18 2018 Victor Stinner <vstinner@redhat.com> - 18.0-4
6d97c1
- Prevent removing of the system packages installed under /usr/lib
6d97c1
  when pip install -U is executed. Original patch by Michal Cyprian.
6d97c1
  Resolves: rhbz#1550368.
6d97c1
6d97c1
* Wed Aug 08 2018 Miro Hrončok <mhroncok@redhat.com> - 18.0-3
6d97c1
- Create python-pip-wheel package with the wheel
6d97c1
6d97c1
* Tue Jul 31 2018 Miro Hrončok <mhroncok@redhat.com> - 18.0-2
6d97c1
- Remove redundant "Unicode"" from License
6d97c1
6d97c1
* Mon Jul 23 2018 Marcel Plch <mplch@redhat.com> - 18.0-7
6d97c1
- Update to 18.0
6d97c1
6d97c1
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.3-6
6d97c1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
6d97c1
6d97c1
* Mon Jun 18 2018 Miro Hrončok <mhroncok@redhat.com> - 9.0.3-5
6d97c1
- Rebuilt for Python 3.7
6d97c1
6d97c1
* Wed Jun 13 2018 Miro Hrončok <mhroncok@redhat.com> - 9.0.3-4
6d97c1
- Bootstrap for Python 3.7
6d97c1
6d97c1
* Wed Jun 13 2018 Miro Hrončok <mhroncok@redhat.com> - 9.0.3-3
6d97c1
- Bootstrap for Python 3.7
6d97c1
6d97c1
* Fri May 04 2018 Miro Hrončok <mhroncok@redhat.com> - 9.0.3-2
6d97c1
- Allow to import pip10's main from pip9's /usr/bin/pip
6d97c1
- Do not show the "new version of pip" warning outside of venv
6d97c1
Resolves: rhbz#1569488
6d97c1
Resolves: rhbz#1571650
6d97c1
Resolves: rhbz#1573755
6d97c1
6d97c1
* Thu Mar 29 2018 Charalampos Stratakis <cstratak@redhat.com> - 9.0.3-1
6d97c1
- Update to 9.0.3
6d97c1
6d97c1
* Wed Feb 21 2018 Lumír Balhar <lbalhar@redhat.com> - 9.0.1-16
6d97c1
- Include built HTML documentation (in the new -doc subpackage) and man page
6d97c1
6d97c1
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.1-15
6d97c1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
6d97c1
6d97c1
* Mon Dec 04 2017 Charalampos Stratakis <cstratak@redhat.com> - 9.0.1-14
6d97c1
- Reintroduce the ipaddress module in the python3 subpackage.
6d97c1
6d97c1
* Mon Nov 20 2017 Charalampos Stratakis <cstratak@redhat.com> - 9.0.1-13
6d97c1
- Add virtual provides for the bundled libraries. (rhbz#1096912)
6d97c1
6d97c1
* Tue Aug 29 2017 Tomas Orsava <torsava@redhat.com> - 9.0.1-12
6d97c1
- Switch macros to bcond's and make Python 2 optional to facilitate building
6d97c1
  the Python 2 and Python 3 modules
6d97c1
6d97c1
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.1-11
6d97c1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
6d97c1
6d97c1
* Tue May 23 2017 Tomas Orsava <torsava@redhat.com> - 9.0.1-10
6d97c1
- Modernized package descriptions
6d97c1
Resolves: rhbz#1452568
6d97c1
6d97c1
* Tue Mar 21 2017 Tomas Orsava <torsava@redhat.com> - 9.0.1-9
6d97c1
- Fix typo in the sudo pip warning
6d97c1
6d97c1
* Fri Mar 03 2017 Tomas Orsava <torsava@redhat.com> - 9.0.1-8
6d97c1
- Patch 1 update: No sudo pip warning in venv or virtualenv
6d97c1
6d97c1
* Thu Feb 23 2017 Tomas Orsava <torsava@redhat.com> - 9.0.1-7
6d97c1
- Patch 1 update: Customize the warning with the proper version of the pip
6d97c1
  command
6d97c1
6d97c1
* Tue Feb 14 2017 Tomas Orsava <torsava@redhat.com> - 9.0.1-6
6d97c1
- Added patch 1: Emit a warning when running with root privileges
6d97c1
6d97c1
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.1-5
6d97c1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
6d97c1
6d97c1
* Mon Jan 02 2017 Tomas Orsava <torsava@redhat.com> - 9.0.1-4
6d97c1
- Provide symlinks to executables to comply with Fedora guidelines for Python
6d97c1
Resolves: rhbz#1406922
6d97c1
6d97c1
* Fri Dec 09 2016 Charalampos Stratakis <cstratak@redhat.com> - 9.0.1-3
6d97c1
- Rebuild for Python 3.6 with wheel
6d97c1
6d97c1
* Fri Dec 09 2016 Charalampos Stratakis <cstratak@redhat.com> - 9.0.1-2
6d97c1
- Rebuild for Python 3.6 without wheel
6d97c1
6d97c1
* Fri Nov 18 2016 Orion Poplawski <orion@cora.nwra.com> - 9.0.1-1
6d97c1
- Update to 9.0.1
6d97c1
6d97c1
* Fri Nov 18 2016 Orion Poplawski <orion@cora.nwra.com> - 8.1.2-5
6d97c1
- Enable EPEL Python 3 builds
6d97c1
- Use new python macros
6d97c1
- Cleanup spec
6d97c1
6d97c1
* Fri Aug 05 2016 Tomas Orsava <torsava@redhat.com> - 8.1.2-4
6d97c1
- Updated the test sources
6d97c1
6d97c1
* Fri Aug 05 2016 Tomas Orsava <torsava@redhat.com> - 8.1.2-3
6d97c1
- Moved python-pip into the python2-pip subpackage
6d97c1
- Added the python_provide macro
6d97c1
6d97c1
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 8.1.2-2
6d97c1
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
6d97c1
6d97c1
* Tue May 17 2016 Tomas Orsava <torsava@redhat.com> - 8.1.2-1
6d97c1
- Update to 8.1.2
6d97c1
- Moved to a new PyPI URL format
6d97c1
- Updated the prefix-stripping patch because of upstream changes in pip/wheel.py
6d97c1
6d97c1
* Mon Feb 22 2016 Slavek Kabrda <bkabrda@redhat.com> - 8.0.2-1
6d97c1
- Update to 8.0.2
6d97c1
6d97c1
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 7.1.0-4
6d97c1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
6d97c1
6d97c1
* Wed Oct 14 2015 Robert Kuska <rkuska@redhat.com> - 7.1.0-3
6d97c1
- Rebuilt for Python3.5 rebuild
6d97c1
- With wheel set to 1
6d97c1
6d97c1
* Tue Oct 13 2015 Robert Kuska <rkuska@redhat.com> - 7.1.0-2
6d97c1
- Rebuilt for Python3.5 rebuild
6d97c1
6d97c1
* Wed Jul 01 2015 Slavek Kabrda <bkabrda@redhat.com> - 7.1.0-1
6d97c1
- Update to 7.1.0
6d97c1
6d97c1
* Tue Jun 30 2015 Ville Skyttä <ville.skytta@iki.fi> - 7.0.3-3
6d97c1
- Install bash completion
6d97c1
- Ship LICENSE.txt as %%license where available
6d97c1
6d97c1
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 7.0.3-2
6d97c1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
6d97c1
6d97c1
* Thu Jun 04 2015 Matej Stuchlik <mstuchli@redhat.com> - 7.0.3-1
6d97c1
- Update to 7.0.3
6d97c1
6d97c1
* Fri Mar 06 2015 Matej Stuchlik <mstuchli@redhat.com> - 6.0.8-1
6d97c1
- Update to 6.0.8
6d97c1
6d97c1
* Thu Dec 18 2014 Slavek Kabrda <bkabrda@redhat.com> - 1.5.6-5
6d97c1
- Only enable tests on Fedora.
6d97c1
6d97c1
* Mon Dec 01 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.6-4
6d97c1
- Add tests
6d97c1
- Add patch skipping tests requiring Internet access
6d97c1
6d97c1
* Tue Nov 18 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.6-3
6d97c1
- Added patch for local dos with predictable temp dictionary names
6d97c1
  (http://seclists.org/oss-sec/2014/q4/655)
6d97c1
6d97c1
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.6-2
6d97c1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
6d97c1
6d97c1
* Sun May 25 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.6-1
6d97c1
- Update to 1.5.6
6d97c1
6d97c1
* Fri Apr 25 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.4-4
6d97c1
- Rebuild as wheel for Python 3.4
6d97c1
6d97c1
* Thu Apr 24 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.4-3
6d97c1
- Disable build_wheel
6d97c1
6d97c1
* Thu Apr 24 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.4-2
6d97c1
- Rebuild as wheel for Python 3.4
6d97c1
6d97c1
* Mon Apr 07 2014 Matej Stuchlik <mstuchli@redhat.com> - 1.5.4-1
6d97c1
- Updated to 1.5.4
6d97c1
6d97c1
* Mon Oct 14 2013 Tim Flink <tflink@fedoraproject.org> - 1.4.1-1
6d97c1
- Removed patch for CVE 2013-2099 as it has been included in the upstream 1.4.1 release
6d97c1
- Updated version to 1.4.1
6d97c1
6d97c1
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.1-5
6d97c1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
6d97c1
6d97c1
* Tue Jul 16 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 1.3.1-4
6d97c1
- Fix for CVE 2013-2099
6d97c1
6d97c1
* Thu May 23 2013 Tim Flink <tflink@fedoraproject.org> - 1.3.1-3
6d97c1
- undo python2 executable rename to python-pip. fixes #958377
6d97c1
- fix summary to match upstream
6d97c1
6d97c1
* Mon May 06 2013 Kevin Kofler <Kevin@tigcc.ticalc.org> - 1.3.1-2
6d97c1
- Fix main package Summary, it's for Python 2, not 3 (#877401)
6d97c1
6d97c1
* Fri Apr 26 2013 Jon Ciesla <limburgher@gmail.com> - 1.3.1-1
6d97c1
- Update to 1.3.1, fix for CVE-2013-1888.
6d97c1
6d97c1
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.1-3
6d97c1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
6d97c1
6d97c1
* Tue Oct 09 2012 Tim Flink <tflink@fedoraproject.org> - 1.2.1-2
6d97c1
- Fixing files for python3-pip
6d97c1
6d97c1
* Thu Oct 04 2012 Tim Flink <tflink@fedoraproject.org> - 1.2.1-1
6d97c1
- Update to upstream 1.2.1
6d97c1
- Change binary from pip-python to python-pip (RHBZ#855495)
6d97c1
- Add alias from python-pip to pip-python, to be removed at a later date
6d97c1
6d97c1
* Tue May 15 2012 Tim Flink <tflink@fedoraproject.org> - 1.1.0-1
6d97c1
- Update to upstream 1.1.0
6d97c1
6d97c1
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.2-2
6d97c1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
6d97c1
6d97c1
* Sat Oct 22 2011 Tim Flink <tflink@fedoraproject.org> - 1.0.2-1
6d97c1
- update to 1.0.2 and added python3 subpackage
6d97c1
6d97c1
* Wed Jun 22 2011 Tim Flink <tflink@fedoraproject.org> - 0.8.3-1
6d97c1
- update to 0.8.3 and project home page
6d97c1
6d97c1
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.2-2
6d97c1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
6d97c1
6d97c1
* Mon Dec 20 2010 Luke Macken <lmacken@redhat.com> - 0.8.2-1
6d97c1
- update to 0.8.2 of pip
6d97c1
* Mon Aug 30 2010 Peter Halliday <phalliday@excelsiorsystems.net> - 0.8-1
6d97c1
- update to 0.8 of pip
6d97c1
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 0.7.2-5
6d97c1
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
6d97c1
6d97c1
* Wed Jul 7 2010 Peter Halliday <phalliday@excelsiorsystems.net> - 0.7.2-1
6d97c1
- update to 0.7.2 of pip
6d97c1
* Sun May 23 2010 Peter Halliday <phalliday@excelsiorsystems.net> - 0.7.1-1
6d97c1
- update to 0.7.1 of pip
6d97c1
* Fri Jan 1 2010 Peter Halliday <phalliday@excelsiorsystems.net> - 0.6.1.4
6d97c1
- fix dependency issue
6d97c1
* Fri Dec 18 2009 Peter Halliday <phalliday@excelsiorsystems.net> - 0.6.1-2
6d97c1
- fix spec file 
6d97c1
* Thu Dec 17 2009 Peter Halliday <phalliday@excelsiorsystems.net> - 0.6.1-1
6d97c1
- upgrade to 0.6.1 of pip
6d97c1
* Mon Aug 31 2009 Peter Halliday <phalliday@excelsiorsystems.net> - 0.4-1
6d97c1
- Initial package
6d97c1