Commit 9cf292af authored by Klaus Aehlig's avatar Klaus Aehlig

Add configure option on whether to install symlinks

As of Ganeti 2.10, all files are installed into a single, version
specific, directory. In this way, several Ganeti versions can be
installed in parallel. Appropriate symbolic links in the search path
will be added by the Ganeti upgrade procedure. For the initial
installation, however, links in the search path are needed. So make
the installation of symbolic links a configure-time option, defaulting
to the current behavior, that that installation is visible in the
path.
Signed-off-by: default avatarKlaus Aehlig <aehlig@google.com>
Reviewed-by: default avatarThomas Thrainer <thomasth@google.com>
parent 667e9959
......@@ -70,6 +70,17 @@ iallocatorsdir = $(pkglibdir)/iallocators
pytoolsdir = $(pkgpythondir)/tools
docdir = $(versiondir)$(datadir)/doc/$(PACKAGE)
SYMLINK_TARGET_DIRS = \
$(pythondir) \
$(libdir)/ganeti/iallocators \
$(exec_prefix)/bin \
$(exec_prefix)/sbin \
$(datarootdir)/man/man1 \
$(datarootdir)/man/man7 \
$(datarootdir)/man/man8
SYMLINK_DIRS = \
$(pythondir)/ganeti \
$(libdir)/ganeti/tools
# Delete output file if an error occurred while building it
.DELETE_ON_ERROR:
......@@ -936,6 +947,11 @@ nodist_sbin_SCRIPTS = \
$(PYTHON_BOOTSTRAP_SBIN) \
daemons/ganeti-cleaner
# strip path prefixes off the sbin scripts
all_sbin_scripts = \
$(patsubst tools/%,%,$(patsubst daemons/%,%,$(patsubst scripts/%,%,\
$(patsubst src/%,%,$(dist_sbin_SCRIPTS) $(nodist_sbin_SCRIPTS)))))
if ENABLE_CONFD
src/ganeti-confd: src/hconfd
cp -f $< $@
......@@ -995,6 +1011,11 @@ myexeclib_SCRIPTS = \
$(pkglib_python_scripts) \
$(HS_MYEXECLIB_PROGS)
# strip path prefixes off the sbin scripts
all_myexeclib_scripts = \
$(patsubst tools/%,%,$(patsubst daemons/%,%,\
$(patsubst src/%,%,$(myexeclib_SCRIPTS))))
nodist_myexeclib_SCRIPTS = \
$(nodist_pkglib_python_scripts)
......@@ -1101,6 +1122,10 @@ maninput = \
$(patsubst %.html,%.html.in,$(manhtml)) \
$(mangen)
manfullpath = $(patsubst man/%.1,man1/%.1,\
$(patsubst man/%.7,man7/%.7,\
$(patsubst man/%.8,man8/%.8,$(man_MANS))))
TEST_FILES = \
test/autotools/autotools-check-news.test \
test/data/htools/clean-nonzero-score.data \
......@@ -2066,6 +2091,29 @@ install-exec-local:
@mkdir_p@ "$(DESTDIR)${localstatedir}/lib/ganeti" \
"$(DESTDIR)${localstatedir}/log/ganeti" \
"$(DESTDIR)${localstatedir}/run/ganeti"
if INSTALL_SYMLINKS
for dir in $(SYMLINK_TARGET_DIRS); do \
@mkdir_p@ $(DESTDIR)$$dir; \
done
for prog in $(HS_HTOOLS_PROGS); do \
$(LN_S) $(bindir)/$$prog $(DESTDIR)$(exec_prefix)/bin/$$prog; \
done
$(LN_S) $(bindir)/htools $(DESTDIR)$(libdir)/ganeti/iallocators/hail
for prog in $(all_sbin_scripts); do \
$(LN_S) $(sbindir)/$$prog $(DESTDIR)$(exec_prefix)/sbin/$$prog; \
done
for link in $(SYMLINK_DIRS); do \
$(LN_S) $(versiondir)$$link $(DESTDIR)$$link; \
done
for prog in $(all_myexeclib_scripts); do \
$(LN_S) $(pkglibdir)/$$prog $(DESTDIR)$(libdir)/ganeti/$$prog; \
done
if ! test -n '$(ENABLE_MANPAGES)'; then \
for man in $(manfullpath); do \
$(LN_S) $(versiondir)$(datarootdir)/man/$$man $(DESTDIR)$(datarootdir)/man/$$man; \
done; \
fi
endif
.PHONY: apidoc
if WANT_HSAPIDOC
......
......@@ -20,6 +20,22 @@ AC_SUBST([VERSION_REVISION], gnt_version_revision)
AC_SUBST([VERSION_SUFFIX], gnt_version_suffix)
AC_SUBST([VERSION_FULL], gnt_version_full)
# --enable-symlinks
AC_ARG_ENABLE([symlinks],
[AS_HELP_STRING([--enable-symlinks],
m4_normalize([also install symlinks under $PREFIX pointing
into the Ganeti package directory (default: enabled)]))],
[[if test "$enableval" != no; then
INSTALL_SYMLINKS=yes
else
INSTALL_SYMLINKS=no
fi
]],
[INSTALL_SYMLINKS=yes
])
AC_SUBST(INSTALL_SYMLINKS, $INSTALL_SYMLINKS)
AM_CONDITIONAL([INSTALL_SYMLINKS], [test "$INSTALL_SYMLINKS" = yes])
# --with-ssh-initscript=...
AC_ARG_WITH([ssh-initscript],
[AS_HELP_STRING([--with-ssh-initscript=SCRIPT],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment