mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Generate scripts from templates
Python scripts are now generated from templates. The scripts are marked as nodist (no distribution) but install targets. The templates for the scripts are extra distribution data, no installation (noinst). Fixes: https://pagure.io/freeipa/issue/7680 Signed-off-by: Christian Heimes <cheimes@redhat.com> Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
This commit is contained in:
42
Makefile.am
42
Makefile.am
@@ -1,3 +1,5 @@
|
||||
NULL =
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
if ENABLE_SERVER
|
||||
@@ -16,20 +18,35 @@ SUBDIRS = asn1 util client contrib po pypi $(PYTHON_SUBDIRS) $(SERVER_SUBDIRS)
|
||||
|
||||
GENERATED_PYTHON_FILES = \
|
||||
$(top_builddir)/ipaplatform/override.py \
|
||||
$(top_builddir)/ipapython/version.py
|
||||
$(top_builddir)/ipapython/version.py \
|
||||
$(top_builddir)/makeaci \
|
||||
$(top_builddir)/makeapi \
|
||||
$(NULL)
|
||||
|
||||
MOSTLYCLEANFILES = ipasetup.pyc ipasetup.pyo \
|
||||
pylint_plugins.pyc pylint_plugins.pyo
|
||||
|
||||
# user-facing scripts
|
||||
dist_bin_SCRIPTS = ipa
|
||||
nodist_bin_SCRIPTS = ipa
|
||||
|
||||
# files required for build but not installed
|
||||
dist_noinst_SCRIPTS = makeapi \
|
||||
makeaci \
|
||||
make-doc \
|
||||
make-test \
|
||||
pylint_plugins.py
|
||||
nodist_noinst_SCRIPTS = \
|
||||
makeapi \
|
||||
makeaci \
|
||||
$(NULL)
|
||||
|
||||
dist_noinst_SCRIPTS = \
|
||||
make-doc \
|
||||
make-test \
|
||||
pylint_plugins.py \
|
||||
$(NULL)
|
||||
|
||||
# templates
|
||||
dist_noinst_DATA = \
|
||||
ipa.in \
|
||||
makeaci.in \
|
||||
makeapi.in \
|
||||
$(NULL)
|
||||
|
||||
ipasetup.py: ipasetup.py.in $(CONFIG_STATUS)
|
||||
$(AM_V_GEN)sed \
|
||||
@@ -63,7 +80,6 @@ clean-local:
|
||||
rm -rf "$(top_srcdir)/__pycache__"
|
||||
rm -f "$(top_builddir)"/$(PACKAGE)-*.tar.gz
|
||||
|
||||
|
||||
# convenience targets for RPM build
|
||||
.PHONY: rpmroot rpmdistdir version-update _dist-version-bakein _rpms-prep \
|
||||
rpms _rpms-body srpms _srpms-body
|
||||
@@ -368,3 +384,13 @@ python_install:
|
||||
.PHONY:
|
||||
strip-po:
|
||||
$(MAKE) -C po strip-po
|
||||
|
||||
PYTHON_SHEBANG = \
|
||||
ipa \
|
||||
makeaci \
|
||||
makeapi \
|
||||
$(NULL)
|
||||
|
||||
CLEANFILES = $(PYTHON_SHEBANG)
|
||||
|
||||
include $(top_srcdir)/Makefile.pythonscripts.am
|
||||
|
||||
4
Makefile.pythonscripts.am
Normal file
4
Makefile.pythonscripts.am
Normal file
@@ -0,0 +1,4 @@
|
||||
# special handling of Python scripts with auto-generated shebang line
|
||||
$(PYTHON_SHEBANG):%: %.in Makefile
|
||||
$(AM_V_GEN)sed -e 's|@PYTHONSHEBANG[@]|#!$(PYTHON) -E|g' $< > $@
|
||||
$(AM_V_GEN)chmod +x $@
|
||||
@@ -40,9 +40,9 @@ sbin_PROGRAMS = \
|
||||
$(NULL)
|
||||
|
||||
sbin_SCRIPTS = \
|
||||
ipa-client-install \
|
||||
ipa-client-automount \
|
||||
ipa-certupdate \
|
||||
ipa-client-automount \
|
||||
ipa-client-install \
|
||||
$(NULL)
|
||||
|
||||
ipa_getkeytab_SOURCES = \
|
||||
@@ -98,10 +98,17 @@ noinst_HEADERS = \
|
||||
ipa-client-common.h
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(sbin_SCRIPTS) \
|
||||
ipa-certupdate.in \
|
||||
ipa-client-automount.in \
|
||||
ipa-client-install.in \
|
||||
$(NULL)
|
||||
|
||||
install-data-hook:
|
||||
$(INSTALL) -d -m 755 $(DESTDIR)$(IPA_SYSCONF_DIR)/nssdb
|
||||
$(INSTALL) -d -m 755 $(DESTDIR)$(localstatedir)/lib/ipa-client/pki
|
||||
$(INSTALL) -d -m 755 $(DESTDIR)$(localstatedir)/lib/ipa-client/sysrestore
|
||||
|
||||
|
||||
PYTHON_SHEBANG = $(sbin_SCRIPTS)
|
||||
|
||||
include $(top_srcdir)/Makefile.pythonscripts.am
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
AUTOMAKE_OPTIONS = 1.7
|
||||
|
||||
appdir = $(libexecdir)/ipa/
|
||||
dist_app_SCRIPTS = \
|
||||
nodist_app_SCRIPTS = \
|
||||
ipa-dnskeysyncd \
|
||||
ipa-dnskeysync-replica \
|
||||
ipa-ods-exporter
|
||||
@@ -11,14 +11,18 @@ dist_app_SCRIPTS = \
|
||||
dist_noinst_DATA = \
|
||||
ipa-dnskeysyncd.service.in \
|
||||
ipa-ods-exporter.service.in \
|
||||
ipa-ods-exporter.socket.in
|
||||
ipa-ods-exporter.socket.in \
|
||||
ipa-dnskeysyncd.in \
|
||||
ipa-dnskeysync-replica.in \
|
||||
ipa-ods-exporter.in
|
||||
|
||||
|
||||
systemdsystemunit_DATA = \
|
||||
ipa-dnskeysyncd.service \
|
||||
ipa-ods-exporter.service \
|
||||
ipa-ods-exporter.socket
|
||||
|
||||
CLEANFILES = $(systemdsystemunit_DATA)
|
||||
CLEANFILES = $(systemdsystemunit_DATA) $(nodist_app_SCRIPTS)
|
||||
|
||||
%: %.in Makefile
|
||||
sed \
|
||||
@@ -32,3 +36,9 @@ CLEANFILES = $(systemdsystemunit_DATA)
|
||||
dnssecconfdir = $(IPA_SYSCONF_DIR)/dnssec
|
||||
install-data-hook:
|
||||
$(INSTALL) -d -m 755 $(DESTDIR)$(dnssecconfdir)
|
||||
|
||||
PYTHON_SHEBANG = \
|
||||
$(nodist_app_SCRIPTS) \
|
||||
$(NULL)
|
||||
|
||||
include $(top_srcdir)/Makefile.pythonscripts.am
|
||||
|
||||
@@ -1,11 +1,18 @@
|
||||
NULL =
|
||||
|
||||
appdir = $(libexecdir)/certmonger/
|
||||
app_SCRIPTS = \
|
||||
nodist_app_SCRIPTS = \
|
||||
dogtag-ipa-ca-renew-agent-submit \
|
||||
ipa-server-guard \
|
||||
$(NULL)
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(app_SCRIPTS) \
|
||||
dist_noinst_DATA = \
|
||||
dogtag-ipa-ca-renew-agent-submit.in \
|
||||
ipa-server-guard.in \
|
||||
$(NULL)
|
||||
|
||||
PYTHON_SHEBANG = $(nodist_app_SCRIPTS)
|
||||
|
||||
CLEANFILES = $(PYTHON_SHEBANG)
|
||||
|
||||
include $(top_srcdir)/Makefile.pythonscripts.am
|
||||
@@ -4,11 +4,19 @@ oddjobdir = $(libexecdir)/ipa/oddjob
|
||||
oddjobconfdir = $(sysconfdir)/oddjobd.conf.d
|
||||
dbusconfdir = $(sysconfdir)/dbus-1/system.d
|
||||
|
||||
dist_noinst_DATA = \
|
||||
com.redhat.idm.trust-fetch-domains.in \
|
||||
$(NULL)
|
||||
|
||||
dist_oddjob_SCRIPTS = \
|
||||
com.redhat.idm.trust-fetch-domains \
|
||||
org.freeipa.server.conncheck \
|
||||
$(NULL)
|
||||
|
||||
nodist_oddjob_SCRIPTS = \
|
||||
com.redhat.idm.trust-fetch-domains \
|
||||
$(NULL)
|
||||
|
||||
|
||||
dist_dbusconf_DATA = \
|
||||
etc/dbus-1/system.d/oddjob-ipa-trust.conf \
|
||||
etc/dbus-1/system.d/org.freeipa.server.conf \
|
||||
@@ -18,3 +26,8 @@ dist_oddjobconf_DATA = \
|
||||
etc/oddjobd.conf.d/oddjobd-ipa-trust.conf \
|
||||
etc/oddjobd.conf.d/ipa-server.conf \
|
||||
$(NULL)
|
||||
|
||||
PYTHON_SHEBANG = $(nodist_oddjob_SCRIPTS)
|
||||
CLEANFILES = $(PYTHON_SHEBANG)
|
||||
|
||||
include $(top_srcdir)/Makefile.pythonscripts.am
|
||||
|
||||
@@ -12,5 +12,16 @@ app_DATA = \
|
||||
$(NULL)
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(app_DATA) \
|
||||
$(NULL)
|
||||
restart_dirsrv.in \
|
||||
restart_httpd.in \
|
||||
renew_ca_cert.in \
|
||||
renew_kdc_cert.in \
|
||||
renew_ra_cert.in \
|
||||
stop_pkicad.in \
|
||||
renew_ra_cert_pre.in \
|
||||
$(NULL)
|
||||
|
||||
PYTHON_SHEBANG = $(app_DATA)
|
||||
CLEANFILES = $(PYTHON_SHEBANG)
|
||||
|
||||
include $(top_srcdir)/Makefile.pythonscripts.am
|
||||
|
||||
@@ -4,7 +4,37 @@ SUBDIRS = \
|
||||
man \
|
||||
$(NULL)
|
||||
|
||||
dist_sbin_SCRIPTS = \
|
||||
dist_noinst_DATA = \
|
||||
ipa-ca-install.in \
|
||||
ipa-dns-install.in \
|
||||
ipa-kra-install.in \
|
||||
ipa-server-install.in \
|
||||
ipa-adtrust-install.in \
|
||||
ipa-replica-conncheck.in \
|
||||
ipa-replica-install.in \
|
||||
ipa-replica-manage.in \
|
||||
ipa-csreplica-manage.in \
|
||||
ipa-server-certinstall.in \
|
||||
ipa-server-upgrade.in \
|
||||
ipactl.in \
|
||||
ipa-compat-manage.in \
|
||||
ipa-nis-manage.in \
|
||||
ipa-managed-entries.in \
|
||||
ipa-ldap-updater.in \
|
||||
ipa-otptoken-import.in \
|
||||
ipa-backup.in \
|
||||
ipa-restore.in \
|
||||
ipa-advise.in \
|
||||
ipa-cacert-manage.in \
|
||||
ipa-winsync-migrate.in \
|
||||
ipa-pkinit-manage.in \
|
||||
ipa-custodia.in \
|
||||
ipa-custodia-check.in \
|
||||
ipa-httpd-kdcproxy.in \
|
||||
ipa-pki-retrieve-key.in \
|
||||
$(NULL)
|
||||
|
||||
nodist_sbin_SCRIPTS = \
|
||||
ipa-ca-install \
|
||||
ipa-dns-install \
|
||||
ipa-kra-install \
|
||||
@@ -31,10 +61,22 @@ dist_sbin_SCRIPTS = \
|
||||
$(NULL)
|
||||
|
||||
appdir = $(libexecdir)/ipa/
|
||||
dist_app_SCRIPTS = \
|
||||
nodist_app_SCRIPTS = \
|
||||
ipa-custodia \
|
||||
ipa-custodia-check \
|
||||
ipa-httpd-kdcproxy \
|
||||
ipa-httpd-pwdreader \
|
||||
ipa-pki-retrieve-key \
|
||||
$(NULL)
|
||||
|
||||
dist_app_SCRIPTS = \
|
||||
ipa-httpd-pwdreader \
|
||||
$(NULL)
|
||||
|
||||
PYTHON_SHEBANG = \
|
||||
$(nodist_sbin_SCRIPTS) \
|
||||
$(nodist_app_SCRIPTS) \
|
||||
$(NULL)
|
||||
|
||||
CLEANFILES = $(PYTHON_SHEBANG)
|
||||
|
||||
include $(top_srcdir)/Makefile.pythonscripts.am
|
||||
|
||||
Reference in New Issue
Block a user