Stabilize make pypi_packages

Parallel make or flags like IPA_OMIT_INSTALL and IPA_SERVER_WHEELS could
lead to bad packages for PyPI. Only build the packages we want with
correct flags.

Placeholder packages from 'make pypi_package' conflict with
'make wheel_bundle' packages. Use a separate destination directory for
PyPI packages.

Signed-off-by: Christian Heimes <cheimes@redhat.com>
Reviewed-By: Martin Basti <mbasti@redhat.com>
This commit is contained in:
Christian Heimes 2017-04-03 13:35:58 +02:00 committed by Martin Basti
parent cb86931472
commit d0c36b9c2e

View File

@ -254,6 +254,7 @@ endif # WITH_JSLINT
.PHONY: bdist_wheel wheel_bundle wheel_placeholder pypi_packages .PHONY: bdist_wheel wheel_bundle wheel_placeholder pypi_packages
WHEELDISTDIR = $(top_builddir)/dist/wheels WHEELDISTDIR = $(top_builddir)/dist/wheels
WHEELPYPIDIR = $(top_builddir)/dist/pypi
WHEELBUNDLEDIR = $(top_builddir)/dist/bundle WHEELBUNDLEDIR = $(top_builddir)/dist/bundle
@MK_IFEQ@ ($(IPA_SERVER_WHEELS),1) @MK_IFEQ@ ($(IPA_SERVER_WHEELS),1)
@ -273,6 +274,9 @@ $(WHEELDISTDIR):
$(WHEELBUNDLEDIR): $(WHEELBUNDLEDIR):
mkdir -p $(WHEELBUNDLEDIR) mkdir -p $(WHEELBUNDLEDIR)
$(WHEELPYPIDIR):
mkdir -p $(WHEELPYPIDIR)
bdist_wheel: $(WHEELDISTDIR) bdist_wheel: $(WHEELDISTDIR)
rm -f $(foreach item,$(IPA_WHEEL_PACKAGES) ipatests,$(WHEELDISTDIR)/$(item)-*.whl) rm -f $(foreach item,$(IPA_WHEEL_PACKAGES) ipatests,$(WHEELDISTDIR)/$(item)-*.whl)
export IPA_OMIT_INSTALL=$(IPA_OMIT_INSTALL); \ export IPA_OMIT_INSTALL=$(IPA_OMIT_INSTALL); \
@ -291,14 +295,20 @@ wheel_bundle: $(WHEELBUNDLEDIR) bdist_wheel .wheelconstraints
--wheel-dir $(WHEELBUNDLEDIR) \ --wheel-dir $(WHEELBUNDLEDIR) \
$(IPA_WHEEL_PACKAGES) $(IPA_EXTRA_WHEELS) $(IPA_WHEEL_PACKAGES) $(IPA_EXTRA_WHEELS)
wheel_placeholder: $(WHEELDISTDIR) pypi_packages: $(WHEELPYPIDIR) .wheelconstraints
for dir in $(IPA_PLACEHOLDERS); do \ rm -f $(WHEELPYPIDIR)/*
$(MAKE) $(AM_MAKEFLAGS) -C $(top_srcdir)/pypi/$${dir} bdist_wheel || exit 1; \ for dir in $(IPACLIENT_SUBDIRS); do \
$(MAKE) $(AM_MAKEFLAGS) \
IPA_OMIT_INSTALL=1 WHEELDISTDIR=$(abspath $(WHEELPYPIDIR)) \
-C $${dir} bdist_wheel || exit 1; \
done
for dir in $(IPA_PLACEHOLDERS); do \
$(MAKE) $(AM_MAKEFLAGS) \
IPA_OMIT_INSTALL=1 WHEELDISTDIR=$(abspath $(WHEELPYPIDIR)) \
-C $(top_srcdir)/pypi/$${dir} bdist_wheel || exit 1; \
done done
pypi_packages: bdist_wheel wheel_placeholder
@echo -e "\n\nTo upload packages to PyPI, run:\n" @echo -e "\n\nTo upload packages to PyPI, run:\n"
@echo -e " twine upload $(WHEELDISTDIR)/*-$(VERSION)-py2.py3-none-any.whl\n" @echo -e " twine upload $(WHEELPYPIDIR)/*-$(VERSION)-py2.py3-none-any.whl\n"
.PHONY: .PHONY:
strip-po: strip-po: