Skip to content

Commit

Permalink
Constrain wheel package versions
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
tiran authored and Tomas Krizek committed Mar 22, 2017
1 parent e263cb4 commit fe17d18
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 3 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -66,6 +66,7 @@ freeipa2-dev-doc
/rpmbuild/
# Build
/ipasetup.py
/.wheelconstraints
*.egg-info

# Subdirectories
Expand Down
11 changes: 11 additions & 0 deletions .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@

19 changes: 16 additions & 3 deletions Makefile.am
Expand Up @@ -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 \
Expand All @@ -46,7 +51,8 @@ EXTRA_DIST = .mailmap \
doc \
freeipa.spec.in \
ipasetup.py.in \
pylintrc
pylintrc \
.wheelconstraints.in

clean-local:
rm -rf "$(RPMBUILD)"
Expand Down Expand Up @@ -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 \
Expand Down

0 comments on commit fe17d18

Please sign in to comment.