+ echo 's#@GNTMASTERUSER@#$(MASTERD_USER)#g'; \
+ echo 's#@GNTRAPIUSER@#$(RAPI_USER)#g'; \
+ echo 's#@GNTCONFDUSER@#$(CONFD_USER)#g'; \
+ echo 's#@GNTNODEDUSER@#$(NODED_USER)#g'; \
+ echo 's#@GNTRAPIGROUP@#$(RAPI_GROUP)#g'; \
+ echo 's#@GNTADMINGROUP@#$(ADMIN_GROUP)#g'; \
+ echo 's#@GNTCONFDGROUP@#$(CONFD_GROUP)#g'; \
+ echo 's#@GNTMASTERDGROUP@#$(MASTERD_GROUP)#g'; \
+ echo 's#@GNTDAEMONSGROUP@#$(DAEMONS_GROUP)#g'; \
+ } > $@
+
+$(PYTHON_BOOTSTRAP): Makefile | $(all_dirfiles)
+ set -e; \
+ module='$(subst -,_,$(notdir $@))'; \
+ { echo '#!/usr/bin/python'; \
+ echo '# This file is automatically generated, do not edit!'; \
+ echo "# Edit ganeti.client.$$module instead."; \
+ echo; \
+ echo '"""Bootstrap script for L{ganeti.client.'"$$module"'}"""'; \
+ echo; \
+ echo '# pylint: disable-msg=C0103'; \
+ echo '# C0103: Invalid name'; \
+ echo; \
+ echo 'import sys'; \
+ echo "from ganeti.client import $$module"; \
+ echo; \
+ echo '# Temporarily alias commands until bash completion'; \
+ echo '# generator is changed'; \
+ echo "if hasattr($$module, \"commands\"):"; \
+ echo " commands = $$module.commands"; \
+ echo; \
+ echo 'if __name__ == "__main__":'; \
+ echo " sys.exit($$module.Main())"; \