URL: https://github.com/freeipa/freeipa/pull/613 Author: tiran Title: #613: Constrain wheel package versions Action: synchronized
To pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/613/head:pr613 git checkout pr613
From 8d976a4c9f7f4ddf46e03ba9e7d99aa705e23ae6 Mon Sep 17 00:00:00 2001 From: Christian Heimes <chei...@redhat.com> Date: Fri, 17 Mar 2017 10:35:48 +0100 Subject: [PATCH] Constrain wheel package versions The presence of IPA packages on PyPI revealed an interesting issue with make wheel_bundle. pip gives final releases a higher precedence than our development packages. make wheel_bundle downloads ipa 4.5.0 from PyPI instead of using our own wheels. Use a constraint file to enforce correct versions. https://pagure.io/freeipa/issue/6468 Signed-off-by: Christian Heimes <chei...@redhat.com> --- .gitignore | 1 + .wheelconstraints.in | 11 +++++++++++ Makefile.am | 19 ++++++++++++++++--- 3 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 .wheelconstraints.in diff --git a/.gitignore b/.gitignore index 7e78a93..90d7d23 100644 --- a/.gitignore +++ b/.gitignore @@ -66,6 +66,7 @@ freeipa2-dev-doc /rpmbuild/ # Build /ipasetup.py +/.wheelconstraints *.egg-info # Subdirectories diff --git a/.wheelconstraints.in b/.wheelconstraints.in new file mode 100644 index 0000000..eba4ec9 --- /dev/null +++ b/.wheelconstraints.in @@ -0,0 +1,11 @@ +# placeholder +freeipa == @VERSION@ +ipa == @VERSION@ +# actual packages +ipaclient == @VERSION@ +ipalib == @VERSION@ +ipaplatform == @VERSION@ +ipapython == @VERSION@ +ipaserver == @VERSION@ +ipatests == @VERSION@ + diff --git a/Makefile.am b/Makefile.am index df4e05a..af22315 100644 --- a/Makefile.am +++ b/Makefile.am @@ -34,6 +34,11 @@ ipasetup.py: ipasetup.py.in $(CONFIG_STATUS) -e 's|@VERSION[@]|$(VERSION)|g' \ $< > $@ +.wheelconstraints: .wheelconstraints.in $(CONFIG_STATUS) + $(AM_V_GEN)sed \ + -e 's|@VERSION[@]|$(VERSION)|g' \ + $< > $@ + EXTRA_DIST = .mailmap \ ACI.txt \ API.txt \ @@ -46,7 +51,8 @@ EXTRA_DIST = .mailmap \ doc \ freeipa.spec.in \ ipasetup.py.in \ - pylintrc + pylintrc \ + .wheelconstraints.in clean-local: rm -rf "$(RPMBUILD)" @@ -232,8 +238,15 @@ bdist_wheel: $(WHEELDISTDIR) $(MAKE) $(AM_MAKEFLAGS) -C $${dir} $@ || exit 1; \ done -wheel_bundle: $(WHEELBUNDLEDIR) bdist_wheel - $(PYTHON) -m pip wheel --wheel-dir $(WHEELBUNDLEDIR) $(WHEELDISTDIR)/*.whl +wheel_bundle: $(WHEELBUNDLEDIR) bdist_wheel .wheelconstraints + rm -f $(foreach item,$(IPACLIENT_SUBDIRS),$(WHEELBUNDLEDIR)/$(item)-*.whl) + $(PYTHON) -m pip wheel \ + --disable-pip-version-check \ + --constraint .wheelconstraints \ + --find-links $(WHEELDISTDIR) \ + --find-links $(WHEELBUNDLEDIR) \ + --wheel-dir $(WHEELBUNDLEDIR) \ + $(IPACLIENT_SUBDIRS) wheel_placeholder: $(WHEELDISTDIR) for dir in $(IPA_PLACEHOLDERS); do \
-- Manage your subscription for the Freeipa-devel mailing list: https://www.redhat.com/mailman/listinfo/freeipa-devel Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code