You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ja...@apache.org on 2016/09/21 19:52:11 UTC
lucene-solr:branch_6x: SOLR-9508: Install script should check
existence of tools, and add option to NOT start service
Repository: lucene-solr
Updated Branches:
refs/heads/branch_6x 8502995e3 -> 33874f9ec
SOLR-9508: Install script should check existence of tools, and add option to NOT start service
(cherry picked from commit b894ab2)
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/33874f9e
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/33874f9e
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/33874f9e
Branch: refs/heads/branch_6x
Commit: 33874f9ece1bafc2952f546d22c43998cbd43806
Parents: 8502995
Author: Jan H�ydahl <ja...@apache.org>
Authored: Wed Sep 21 21:49:12 2016 +0200
Committer: Jan H�ydahl <ja...@apache.org>
Committed: Wed Sep 21 21:52:02 2016 +0200
----------------------------------------------------------------------
solr/CHANGES.txt | 3 +++
solr/bin/install_solr_service.sh | 37 +++++++++++++++++++++++++++++++----
2 files changed, 36 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/33874f9e/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index c317349..aae3dee 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -119,6 +119,9 @@ Other Changes
* SOLR-9538: Relocate (BinaryResponse|JSON|Smile)Writer tests to org.apache.solr.response
which is the package of the classes they test. (Jonny Marks via Christine Poerschke)
+* SOLR-9508: Install script install_solr_service.sh now checks existence of tools.
+ New option -n to avoid starting service after installation (janhoy)
+
================== 6.2.1 ==================
Bug Fixes
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/33874f9e/solr/bin/install_solr_service.sh
----------------------------------------------------------------------
diff --git a/solr/bin/install_solr_service.sh b/solr/bin/install_solr_service.sh
old mode 100644
new mode 100755
index 3a8fb88..73c0712
--- a/solr/bin/install_solr_service.sh
+++ b/solr/bin/install_solr_service.sh
@@ -27,7 +27,7 @@ print_usage() {
fi
echo ""
- echo "Usage: install_solr_service.sh path_to_solr_distribution_archive OPTIONS"
+ echo "Usage: install_solr_service.sh <path_to_solr_distribution_archive> [OPTIONS]"
echo ""
echo " The first argument to the script must be a path to a Solr distribution archive, such as solr-5.0.0.tgz"
echo " (only .tgz or .zip are supported formats for the archive)"
@@ -48,10 +48,17 @@ print_usage() {
echo ""
echo " -f Upgrade Solr. Overwrite symlink and init script of previous installation."
echo ""
+ echo " -n Do not start Solr service after install, and do not abort on missing Java"
+ echo ""
echo " NOTE: Must be run as the root user"
echo ""
} # end print_usage
+print_error() {
+ echo $1
+ exit 1
+}
+
proc_version=`cat /etc/*-release 2>/dev/null`
if [[ $? -gt 0 ]]; then
if [ -f "/proc/version" ]; then
@@ -104,6 +111,7 @@ else
exit 1
fi
+SOLR_START=true
if [ $# -gt 1 ]; then
shift
while true; do
@@ -152,6 +160,10 @@ if [ $# -gt 1 ]; then
SOLR_UPGRADE="YES"
shift 1
;;
+ -n)
+ SOLR_START=false
+ shift 1
+ ;;
-help|-usage)
print_usage ""
exit 0
@@ -172,6 +184,19 @@ if [ $# -gt 1 ]; then
done
fi
+# Test for availability of needed tools
+if [[ $is_tar ]] ; then
+ tar --version &>/dev/null || print_error "Script requires the 'tar' command"
+else
+ unzip -hh &>/dev/null || print_error "Script requires the 'unzip' command"
+fi
+if [[ $SOLR_START == "true" ]] ; then
+ service --version &>/dev/null || print_error "Script requires the 'service' command"
+ java -version &>/dev/null || print_error "Solr requires java, please install or set JAVA_HOME properly"
+fi
+lsof -h &>/dev/null || echo "We recommend installing the 'lsof' command for more stable start/stop of Solr"
+
+
if [ -z "$SOLR_EXTRACT_DIR" ]; then
SOLR_EXTRACT_DIR=/opt
fi
@@ -334,6 +359,10 @@ echo "Service $SOLR_SERVICE installed."
echo "Customize Solr startup configuration in /etc/default/$SOLR_SERVICE.in.sh"
# start service
-service "$SOLR_SERVICE" start
-sleep 5
-service "$SOLR_SERVICE" status
+if [[ $SOLR_START == "true" ]] ; then
+ service "$SOLR_SERVICE" start
+ sleep 5
+ service "$SOLR_SERVICE" status
+else
+ echo "Not starting Solr service (option -n given). Start manually with 'service $SOLR_SERVICE start'"
+fi