#!/bin/bash # #/** # * Copyright 2007 The Apache Software Foundation # * # * Licensed to the Apache Software Foundation (ASF) under one # * or more contributor license agreements. See the NOTICE file # * distributed with this work for additional information # * regarding copyright ownership. The ASF licenses this file # * to you under the Apache License, Version 2.0 (the # * "License"); you may not use this file except in compliance # * with the License. You may obtain a copy of the License at # * # * http://www.apache.org/licenses/LICENSE-2.0 # * # * Unless required by applicable law or agreed to in writing, software # * distributed under the License is distributed on an "AS IS" BASIS, # * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # * See the License for the specific language governing permissions and # * limitations under the License. # */ export PATH=$PATH:/opt/bookkeeper/bin BK_HOME=/opt/bookkeeper BINDIR=${BK_HOME}/bin BOOKKEEPER=${BINDIR}/bookkeeper SCRIPTS_DIR=${BK_HOME}/scripts if [ $# = 0 ]; then echo "No command is found"; exit 1; fi COMMAND=$1 shift function run_command() { if [ "$(id -u)" = '0' ]; then chown -R "$BK_USER:$BK_USER" ${BK_HOME} chmod -R +x ${BINDIR} chmod -R +x ${SCRIPTS_DIR} echo "This is root, will use user $BK_USER to run command '$@'" exec sudo -s -E -u "$BK_USER" /bin/bash -c 'exec "$@"' -- "$@" exit else echo "Run command '$@'" exec "$@" fi } # for BC consideration - the old scripts run `entrypoint.sh /opt/bookkeeper/bin/bookkeeper bookie` if [ ${COMMAND} == "${BOOKKEEPER}" ]; then if [ $# -gt 0 ]; then if [ $1 == "bookie" ]; then source ${SCRIPTS_DIR}/init_bookie.sh init_bookie run_command /opt/bookkeeper/bin/bookkeeper bookie exit fi fi fi if [ -f ${SCRIPTS_DIR}/init_${COMMAND}.sh ]; then source ${SCRIPTS_DIR}/init_${COMMAND}.sh init_${COMMAND} run_command ${BOOKKEEPER} ${COMMAND} $@ else source ${SCRIPTS_DIR}/init_generic.sh run_command ${COMMAND} $@ fi