diff --git a/make-ring.py b/make-ring.py index 585fc1546a1a8969ddd02bb33e0db64f4c878b01..df6d63be90375a69322e65b7ae9617e0d0ec4b05 100755 --- a/make-ring.py +++ b/make-ring.py @@ -296,6 +296,8 @@ def run_install(args): install_args.append('-s') if args.global_install: install_args.append('-g') + if args.prefix is not None: + install_args += ('-P', args.prefix) if not args.priv_install: install_args.append('-u') @@ -451,6 +453,7 @@ def parse_args(): help='Stop the Ring processes') ap.add_argument('--distribution') + ap.add_argument('--prefix') ap.add_argument('--static', default=False, action='store_true') ap.add_argument('--global-install', default=False, action='store_true') ap.add_argument('--debug', default=False, action='store_true') diff --git a/scripts/install.sh b/scripts/install.sh index 3b6593cd841463f5a2ef9d12207f144a51bea508..ba91024895e154f1d9b8dc303d538392c106f2de 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -18,7 +18,7 @@ static='' client='' proc='1' priv_install=true -while getopts gsc:p:u OPT; do +while getopts gsc:P:p:u OPT; do case "$OPT" in g) global='true' @@ -29,6 +29,9 @@ while getopts gsc:p:u OPT; do c) client="${OPTARG}" ;; + P) + prefix="${OPTARG}" + ;; p) proc="${OPTARG}" ;; @@ -66,7 +69,11 @@ DAEMON="$(pwd)" cd contrib mkdir -p native cd native -../bootstrap +if [ "${prefix+set}" ]; then + ../bootstrap --prefix="${prefix}" +else + ../bootstrap +fi make cd "${DAEMON}" ./autogen.sh @@ -77,7 +84,11 @@ if [[ "$OSTYPE" != "darwin"* ]]; then fi if [ "${global}" = "true" ]; then - ./configure $sharedLib $CONFIGURE_FLAGS + if [ "${prefix+set}" ]; then + ./configure $sharedLib $CONFIGURE_FLAGS --prefix="${prefix}" + else + ./configure $sharedLib $CONFIGURE_FLAGS + fi else ./configure $sharedLib $CONFIGURE_FLAGS --prefix="${INSTALL}/daemon" fi @@ -88,7 +99,11 @@ cd "${TOP}/lrc" mkdir -p "${BUILDDIR}" cd "${BUILDDIR}" if [ "${global}" = "true" ]; then - cmake .. -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" -DCMAKE_BUILD_TYPE=Debug $static + if [ "${prefix+set}" ]; then + cmake .. -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX="${prefix}" $static + else + cmake .. -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" -DCMAKE_BUILD_TYPE=Debug $static + fi else cmake .. -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" \ -DCMAKE_BUILD_TYPE=Debug \ @@ -102,7 +117,11 @@ cd "${TOP}/${client}" mkdir -p "${BUILDDIR}" cd "${BUILDDIR}" if [ "${global}" = "true" ]; then - cmake .. -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" $static + if [ "${prefix+set}" ]; then + cmake .. -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" -DCMAKE_INSTALL_PREFIX="${prefix}" $static + else + cmake .. -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" $static + fi else cmake .. -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" \ -DCMAKE_INSTALL_PREFIX="${INSTALL}/${client}" \