summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Heimes <cheimes@redhat.com>2017-03-17 10:35:48 +0100
committerTomas Krizek <tkrizek@redhat.com>2017-03-22 15:16:25 +0100
commitfe17d187f9f2cbac28fe369cbcdd697d85105481 (patch)
tree2edd7ef1a5df1ad56bb7ea38da5575aa32c44eb6
parente263cb46cba604421d5ed2e1dbf5dd1d66ce0221 (diff)
downloadfreeipa-fe17d187f9f2cbac28fe369cbcdd697d85105481.tar.gz
freeipa-fe17d187f9f2cbac28fe369cbcdd697d85105481.tar.xz
freeipa-fe17d187f9f2cbac28fe369cbcdd697d85105481.zip
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 <cheimes@redhat.com> Reviewed-By: Martin Basti <mbasti@redhat.com>
-rw-r--r--.gitignore1
-rw-r--r--.wheelconstraints.in11
-rw-r--r--Makefile.am19
3 files changed, 28 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore
index 7e78a9308..90d7d233a 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 000000000..eba4ec99a
--- /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 df4e05a65..af2231529 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 \