mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-01-26 16:16:31 -06:00
Build: properly integrate ipasetup.py into build system
AC_CONFIG_FILES in configure.ac works well only with Makefiles. Other files have to be handled by Makefile.am so depedencies are tracked properly. There is a problem that Python sub-directories depend on ipasetup.py which is one level above the sub-directory. This means that depedencies are the other way around that expected. This is being worked around using hack from http://lists.gnu.org/archive/html/automake/2009-03/msg00011.html https://fedorahosted.org/freeipa/ticket/6498 Reviewed-By: Martin Basti <mbasti@redhat.com>
This commit is contained in:
parent
6fcfe689f4
commit
6aa360775a
@ -21,6 +21,11 @@ dist_noinst_SCRIPTS = ignore_import_errors.py \
|
||||
make-test \
|
||||
pylint_plugins.py
|
||||
|
||||
ipasetup.py: ipasetup.py.in $(CONFIG_STATUS)
|
||||
$(AM_V_GEN)sed \
|
||||
-e 's|@VERSION[@]|$(VERSION)|g' \
|
||||
$< > $@
|
||||
|
||||
EXTRA_DIST = .mailmap \
|
||||
ACI.txt \
|
||||
API.txt \
|
||||
@ -31,6 +36,7 @@ EXTRA_DIST = .mailmap \
|
||||
contrib \
|
||||
doc \
|
||||
freeipa.spec.in \
|
||||
ipasetup.py.in \
|
||||
pylintrc \
|
||||
pytest.ini
|
||||
|
||||
@ -146,7 +152,7 @@ polint:
|
||||
$(top_builddir)/ipapython/version.py:
|
||||
(cd $(top_builddir)/ipapython && make version.py)
|
||||
|
||||
pylint: $(top_builddir)/ipapython/version.py
|
||||
pylint: $(top_builddir)/ipapython/version.py ipasetup.py
|
||||
FILES=`find $(top_srcdir) \
|
||||
-type d -exec test -e '{}/__init__.py' \; -print -prune -o \
|
||||
-path './rpmbuild' -prune -o \
|
||||
|
@ -7,13 +7,18 @@ else
|
||||
VERBOSITY="--quiet"
|
||||
endif !VERBOSE_MAKE
|
||||
|
||||
all-local:
|
||||
# hack to handle back-in-the-hierarchy depedency on ipasetup.py
|
||||
.PHONY: $(top_builddir)/ipasetup.py
|
||||
$(top_builddir)/ipasetup.py:
|
||||
(cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) ipasetup.py)
|
||||
|
||||
all-local: $(top_builddir)/ipasetup.py
|
||||
cd $(srcdir); $(PYTHON) setup.py \
|
||||
$(VERBOSITY) \
|
||||
build \
|
||||
--build-base "$(abs_builddir)/build"
|
||||
|
||||
install-exec-local:
|
||||
install-exec-local: $(top_builddir)/ipasetup.py
|
||||
$(PYTHON) $(srcdir)/setup.py \
|
||||
$(VERBOSITY) \
|
||||
install \
|
||||
@ -26,7 +31,7 @@ uninstall-local:
|
||||
cat "$(DESTDIR)$(pkgpythondir)/install_files.txt" | xargs rm -rf
|
||||
rm -rf "$(DESTDIR)$(pkgpythondir)"
|
||||
|
||||
clean-local:
|
||||
clean-local: $(top_builddir)/ipasetup.py
|
||||
$(PYTHON) "$(srcdir)/setup.py" clean --all
|
||||
rm -rf "$(srcdir)/build" "$(srcdir)/dist" "$(srcdir)/MANIFEST"
|
||||
find "$(srcdir)" \
|
||||
@ -36,7 +41,7 @@ clean-local:
|
||||
|
||||
# take list of all Python source files and copy them into distdir
|
||||
# SOURCES.txt does not contain directories so we need to create those
|
||||
dist-hook:
|
||||
dist-hook: $(top_builddir)/ipasetup.py
|
||||
$(PYTHON) "$(srcdir)/setup.py" egg_info
|
||||
PYTHON_SOURCES=$$(cat "$(srcdir)/$(pkgname).egg-info/SOURCES.txt") || exit $$?; \
|
||||
for FILEN in $${PYTHON_SOURCES}; \
|
||||
@ -47,6 +52,6 @@ dist-hook:
|
||||
|
||||
WHEELDISTDIR = $(top_builddir)/dist/wheels
|
||||
.PHONY: bdist_wheel
|
||||
bdist_wheel:
|
||||
bdist_wheel: $(top_builddir)/ipasetup.py
|
||||
rm -rf $(WHEELDISTDIR)/$(pkgname)*.whl
|
||||
$(PYTHON) "$(srcdir)/setup.py" bdist_wheel --dist-dir=$(WHEELDISTDIR)
|
||||
|
@ -540,7 +540,6 @@ AC_CONFIG_FILES([
|
||||
ipaplatform/Makefile
|
||||
ipapython/Makefile
|
||||
ipaserver/Makefile
|
||||
ipasetup.py
|
||||
ipatests/Makefile
|
||||
ipatests/man/Makefile
|
||||
po/Makefile.in
|
||||
|
Loading…
Reference in New Issue
Block a user