summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Giorgio Peron <giorgio.peron@gmail.com>2023-12-28 11:09:40 +0100
committer Willy Sudiarto Raharjo <willysr@slackbuilds.org>2023-12-31 08:00:53 +0700
commit3ef0fc98e5acf96b6be7f81d94f934a2e83d7ef2 (patch)
treeaa061e0bf764960f6bc33688c6f8afb270f049a2
parentb47c0617fe177f837b678d13bbc1d33730b08f17 (diff)
downloadslackbuilds-3ef0fc98e5acf96b6be7f81d94f934a2e83d7ef2.tar.gz
slackbuilds-3ef0fc98e5acf96b6be7f81d94f934a2e83d7ef2.tar.xz
development/sonarqube: Updated for version 10.3.0.82913.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r--development/sonarqube/README23
-rw-r--r--development/sonarqube/README.SBo61
-rw-r--r--development/sonarqube/doinst.sh4
-rwxr-xr-x[-rw-r--r--]development/sonarqube/rc.sonarqube550
-rw-r--r--development/sonarqube/slack-desc2
-rw-r--r--development/sonarqube/sonarqube.SlackBuild54
-rw-r--r--development/sonarqube/sonarqube.info14
7 files changed, 105 insertions, 603 deletions
diff --git a/development/sonarqube/README b/development/sonarqube/README
index 47c10a8d4e..7ef6bb37f1 100644
--- a/development/sonarqube/README
+++ b/development/sonarqube/README
@@ -1,26 +1,3 @@
SonarQube software (previously called Sonar) is an open source quality
management platform, dedicated to continuously analyze and measure
technical quality, from project portfolio to method.
-
-To create the MariaDB SonarQube database run:
-
-CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
-CREATE USER 'sonar' IDENTIFIED BY 'sonar';
-GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
-GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
-FLUSH PRIVILEGES;
-
-Then start the service
- /etc/rc.d/rc.sonarqube start
-
-Then point your browser to
- http://localhost:9000/sonarqube/
-
-Then login as:
- user: admin
- password: admin
-
-This requires a "sonar" user and group.
- groupadd -g 287 sonar
- useradd -g 287 -u 287 -r -c 'SonarQube user' \
- -s /bin/bash -d /usr/share/sonarqube sonar
diff --git a/development/sonarqube/README.SBo b/development/sonarqube/README.SBo
new file mode 100644
index 0000000000..881b8f4d29
--- /dev/null
+++ b/development/sonarqube/README.SBo
@@ -0,0 +1,61 @@
+README.SBo
+
+This package requires a "sonar" user and group:
+
+ # groupadd -g 287 sonar
+ # useradd -g 287 -u 287 -r -c 'SonarQube user' \
+ -s /bin/bash -d /usr/share/sonarqube sonar
+
+Now start the SonarQube service
+
+ # /etc/rc.d/rc.sonarqube start
+
+And point your browser to
+ http://localhost:9000/sonarqube/
+
+You can login as:
+ user: admin
+ password: admin
+
+Please read the documentation for more information:
+
+ https://docs.sonarsource.com/sonarqube/latest/
+
+The database postgresql (version 14.x or 15.x) is an optional package,
+but highly recommended.
+To create the PostgreSQL SonarQube database:
+
+ 1. init the database
+
+ # su postgres -c \\
+ "initdb -D /var/lib/pgsql/14/data --locale=en_US.UTF-8 -A md5 -W"
+
+ 2. add sonar user and database
+
+ # su - postgres
+ # psql
+ > create user sonar;
+ > ALTER USER sonar WITH ENCRYPTED password '**secret**';
+ > create database sonarqube;
+ > GRANT ALL PRIVILEGES ON DATABASE sonarqube TO sonar;
+ > \q
+ # exit
+
+ 3. to configure SonarQube to use PostgreSQL, edit the file
+ /etc/sonarqube/sonar.properties adding
+
+ sonar.jdbc.username=sonar
+ sonar.jdbc.password=**secret**
+ sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube
+
+ Note: Replace '**secret**' with the password you set in step 2.
+
+Finally check the file descriptors and virtual memory defined in
+/etc/security/limits.conf because you probably need to add
+
+ sonar - as unlimited
+ sonar soft nofile 655535
+
+and run
+
+ # sysctl vm.max_map_count=262144
diff --git a/development/sonarqube/doinst.sh b/development/sonarqube/doinst.sh
index 79a4ddfee7..abcbf87a20 100644
--- a/development/sonarqube/doinst.sh
+++ b/development/sonarqube/doinst.sh
@@ -20,6 +20,4 @@ preserve_perms() {
}
preserve_perms etc/rc.d/rc.sonarqube.new
-config usr/share/sonarqube/conf/sonar.properties.new
-config usr/share/sonarqube/conf/wrapper.conf.new
-
+config etc/sonarqube/sonar.properties.new
diff --git a/development/sonarqube/rc.sonarqube b/development/sonarqube/rc.sonarqube
index fa31ee7ecc..63b82f486c 100644..100755
--- a/development/sonarqube/rc.sonarqube
+++ b/development/sonarqube/rc.sonarqube
@@ -1,562 +1,42 @@
-#! /bin/sh
+#!/bin/sh
-#
-# Copyright (c) 1999, 2006 Tanuki Software Inc.
-#
-# Java Service Wrapper sh script. Suitable for starting and stopping
-# wrapped Java applications on UNIX platforms.
-#
-
-#-----------------------------------------------------------------------------
-# These settings can be modified to fit the needs of your application
-
-# Default values for the Application variables, below.
-#
-# NOTE: The build for specific applications may override this during the resource-copying
-# phase, to fill in a concrete name and avoid the use of the defaults specified here.
-DEF_APP_NAME="SonarQube"
-DEF_APP_LONG_NAME="SonarQube"
-
-# Application
-APP_NAME="${DEF_APP_NAME}"
-APP_LONG_NAME="${DEF_APP_LONG_NAME}"
-
-# Wrapper
-WRAPPER_CMD="./wrapper"
-WRAPPER_CONF="/etc/sonarqube/wrapper.conf"
-
-# Priority at which to run the wrapper. See "man nice" for valid priorities.
-# nice is only used if a priority is specified.
-PRIORITY=
-
-# Location of the pid file.
PIDDIR="/var/run/sonarqube"
-
-# If uncommented, causes the Wrapper to be shutdown using an anchor file.
-# When launched with the 'start' command, it will also ignore all INT and
-# TERM signals.
-#IGNORE_SIGNALS=true
-
-# If specified, the Wrapper will be run as the specified user.
-# IMPORTANT - Make sure that the user has the required privileges to write
-# the PID file and wrapper.log files. Failure to be able to write the log
-# file will cause the Wrapper to exit without any way to write out an error
-# message.
-# NOTE - This will set the user which is used to run the Wrapper as well as
-# the JVM and is not useful in situations where a privileged resource or
-# port needs to be allocated prior to the user being changed.
-RUN_AS_USER=sonar
-
-# The following two lines are used by the chkconfig command. Change as is
-# appropriate for your application. They should remain commented.
-# chkconfig: 2345 20 80
-# description: Test Wrapper Sample Application
-
-# Do not modify anything beyond this point
-#-----------------------------------------------------------------------------
-
-# Get the fully qualified path to the script
-case $0 in
- /*)
- SCRIPT="$0"
- ;;
- *)
- PWD=`pwd`
- SCRIPT="$PWD/$0"
- ;;
-esac
-
-# Resolve the true real path without any sym links.
-CHANGED=true
-while [ "X$CHANGED" != "X" ]
-do
- # Change spaces to ":" so the tokens can be parsed.
- SAFESCRIPT=`echo $SCRIPT | sed -e 's; ;:;g'`
- # Get the real path to this script, resolving any symbolic links
- TOKENS=`echo $SAFESCRIPT | sed -e 's;/; ;g'`
- REALPATH=
- for C in $TOKENS; do
- # Change any ":" in the token back to a space.
- C=`echo $C | sed -e 's;:; ;g'`
- REALPATH="$REALPATH/$C"
- # If REALPATH is a sym link, resolve it. Loop for nested links.
- while [ -h "$REALPATH" ] ; do
- LS="`ls -ld "$REALPATH"`"
- LINK="`expr "$LS" : '.*-> \(.*\)$'`"
- if expr "$LINK" : '/.*' > /dev/null; then
- # LINK is absolute.
- REALPATH="$LINK"
- else
- # LINK is relative.
- REALPATH="`dirname "$REALPATH"`""/$LINK"
- fi
- done
- done
-
- if [ "$REALPATH" = "$SCRIPT" ]
- then
- CHANGED=""
- else
- SCRIPT="$REALPATH"
- fi
-done
-
-# Change the current directory to the location of the script
-cd "`dirname "$REALPATH"`"
-REALDIR=`pwd`
-
-# If the PIDDIR is relative, set its value relative to the full REALPATH to avoid problems if
-# the working directory is later changed.
-FIRST_CHAR=`echo $PIDDIR | cut -c1,1`
-if [ "$FIRST_CHAR" != "/" ]
-then
- PIDDIR=$REALDIR/$PIDDIR
-fi
-# Same test for WRAPPER_CMD
-FIRST_CHAR=`echo $WRAPPER_CMD | cut -c1,1`
-if [ "$FIRST_CHAR" != "/" ]
-then
- WRAPPER_CMD=$REALDIR/$WRAPPER_CMD
-fi
-# Same test for WRAPPER_CONF
-FIRST_CHAR=`echo $WRAPPER_CONF | cut -c1,1`
-if [ "$FIRST_CHAR" != "/" ]
-then
- WRAPPER_CONF=$REALDIR/$WRAPPER_CONF
-fi
-
-# Process ID
-ANCHORFILE="$PIDDIR/$APP_NAME.anchor"
-PIDFILE="$PIDDIR/$APP_NAME.pid"
-LOCKDIR="/var/lock/subsys"
-LOCKFILE="$LOCKDIR/$APP_NAME"
-pid=""
-
-# Resolve the location of the 'ps' command
-PSEXE="/usr/bin/ps"
-if [ ! -x "$PSEXE" ]
-then
- PSEXE="/bin/ps"
- if [ ! -x "$PSEXE" ]
- then
- echo "Unable to locate 'ps'."
- echo "Please report this message along with the location of the command on your system."
- exit 1
- fi
-fi
-
-# Resolve the os
-DIST_OS=`uname -s | tr [:upper:] [:lower:] | tr -d [:blank:]`
-case "$DIST_OS" in
- 'sunos')
- DIST_OS="solaris"
- ;;
- 'hp-ux' | 'hp-ux64')
- DIST_OS="hpux"
- ;;
- 'darwin')
- DIST_OS="macosx"
- ;;
- 'unix_sv')
- DIST_OS="unixware"
- ;;
-esac
-
-# Resolve the architecture
-DIST_ARCH=`uname -p | tr [:upper:] [:lower:] | tr -d [:blank:]`
-if [ "$DIST_ARCH" = "unknown" ]
-then
- DIST_ARCH=`uname -m | tr [:upper:] [:lower:] | tr -d [:blank:]`
-fi
-case "$DIST_ARCH" in
- 'amd64' | 'athlon' | 'ia32' | 'ia64' | 'i386' | 'i486' | 'i586' | 'i686' | 'x86_64')
- DIST_ARCH="x86"
- ;;
- 'ip27')
- DIST_ARCH="mips"
- ;;
- 'power' | 'powerpc' | 'power_pc' | 'ppc64')
- DIST_ARCH="ppc"
- ;;
- 'pa_risc' | 'pa-risc')
- DIST_ARCH="parisc"
- ;;
- 'sun4u' | 'sparcv9')
- DIST_ARCH="sparc"
- ;;
- '9000/800')
- DIST_ARCH="parisc"
- ;;
-esac
-
-outputFile() {
- if [ -f "$1" ]
- then
- echo " $1 (Found but not executable.)";
- else
- echo " $1"
- fi
-}
-
-# Decide on the wrapper binary to use.
-# If a 32-bit wrapper binary exists then it will work on 32 or 64 bit
-# platforms, if the 64-bit binary exists then the distribution most
-# likely wants to use long names. Otherwise, look for the default.
-# For macosx, we also want to look for universal binaries.
-WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-32"
-if [ -x "$WRAPPER_TEST_CMD" ]
-then
- WRAPPER_CMD="$WRAPPER_TEST_CMD"
-else
- if [ "$DIST_OS" = "macosx" ]
- then
- WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-universal-32"
- if [ -x "$WRAPPER_TEST_CMD" ]
- then
- WRAPPER_CMD="$WRAPPER_TEST_CMD"
- else
- WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-64"
- if [ -x "$WRAPPER_TEST_CMD" ]
- then
- WRAPPER_CMD="$WRAPPER_TEST_CMD"
- else
- WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-universal-64"
- if [ -x "$WRAPPER_TEST_CMD" ]
- then
- WRAPPER_CMD="$WRAPPER_TEST_CMD"
- else
- if [ ! -x "$WRAPPER_CMD" ]
- then
- echo "Unable to locate any of the following binaries:"
- outputFile "$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-32"
- outputFile "$WRAPPER_CMD-$DIST_OS-universal-32"
- outputFile "$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-64"
- outputFile "$WRAPPER_CMD-$DIST_OS-universal-64"
- outputFile "$WRAPPER_CMD"
- exit 1
- fi
- fi
- fi
- fi
- else
- WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-64"
- if [ -x "$WRAPPER_TEST_CMD" ]
- then
- WRAPPER_CMD="$WRAPPER_TEST_CMD"
- else
- if [ ! -x "$WRAPPER_CMD" ]
- then
- echo "Unable to locate any of the following binaries:"
- outputFile "$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-32"
- outputFile "$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-64"
- outputFile "$WRAPPER_CMD"
- exit 1
- fi
- fi
- fi
-fi
-
-# Build the nice clause
-if [ "X$PRIORITY" = "X" ]
-then
- CMDNICE=""
-else
- CMDNICE="nice -$PRIORITY"
-fi
-
-# Build the anchor file clause.
-if [ "X$IGNORE_SIGNALS" = "X" ]
-then
- ANCHORPROP=
- IGNOREPROP=
-else
- ANCHORPROP=wrapper.anchorfile=\"$ANCHORFILE\"
- IGNOREPROP=wrapper.ignore_signals=TRUE
-fi
-
-# Build the lock file clause. Only create a lock file if the lock directory exists on this platform.
-LOCKPROP=
-if [ -d $LOCKDIR ]
-then
- if [ -w $LOCKDIR ]
- then
- LOCKPROP=wrapper.lockfile=\"$LOCKFILE\"
- fi
-fi
-
-checkUser() {
- # $1 touchLock flag
- # $2 command
-
- # Check the configured user. If necessary rerun this script as the desired user.
- if [ "X$RUN_AS_USER" != "X" ]
- then
- # Resolve the location of the 'id' command
- IDEXE="/usr/xpg4/bin/id"
- if [ ! -x "$IDEXE" ]
- then
- IDEXE="/usr/bin/id"
- if [ ! -x "$IDEXE" ]
- then
- echo "Unable to locate 'id'."
- echo "Please report this message along with the location of the command on your system."
- exit 1
- fi
- fi
-
- if [ "`$IDEXE -u -n`" = "$RUN_AS_USER" ]
- then
- # Already running as the configured user. Avoid password prompts by not calling su.
- RUN_AS_USER=""
- fi
- fi
- if [ "X$RUN_AS_USER" != "X" ]
- then
- # If LOCKPROP and $RUN_AS_USER are defined then the new user will most likely not be
- # able to create the lock file. The Wrapper will be able to update this file once it
- # is created but will not be able to delete it on shutdown. If $2 is defined then
- # the lock file should be created for the current command
- if [ "X$LOCKPROP" != "X" ]
- then
- if [ "X$1" != "X" ]
- then
- # Resolve the primary group
- RUN_AS_GROUP=`groups $RUN_AS_USER | awk '{print $3}' | tail -1`
- if [ "X$RUN_AS_GROUP" = "X" ]
- then
- RUN_AS_GROUP=$RUN_AS_USER
- fi
- touch $LOCKFILE
- chown $RUN_AS_USER:$RUN_AS_GROUP $LOCKFILE
- fi
- fi
-
- # Still want to change users, recurse. This means that the user will only be
- # prompted for a password once. Variables shifted by 1
- su -m $RUN_AS_USER -c "\"$REALPATH\" $2"
- RETVAL=$?
-
- # Now that we are the original user again, we may need to clean up the lock file.
- if [ "X$LOCKPROP" != "X" ]
- then
- getpid
- if [ "X$pid" = "X" ]
- then
- # Wrapper is not running so make sure the lock file is deleted.
- if [ -f "$LOCKFILE" ]
- then
- rm "$LOCKFILE"
- fi
- fi
- fi
-
- exit $RETVAL
- fi
-}
-
-getpid() {
- if [ -f "$PIDFILE" ]
- then
- if [ -r "$PIDFILE" ]
- then
- pid=`cat "$PIDFILE"`
- if [ "X$pid" != "X" ]
- then
- # It is possible that 'a' process with the pid exists but that it is not the
- # correct process. This can happen in a number of cases, but the most
- # common is during system startup after an unclean shutdown.
- # The ps statement below looks for the specific wrapper command running as
- # the pid. If it is not found then the pid file is considered to be stale.
- pidtest=`$PSEXE -p $pid -o args | grep "$WRAPPER_CMD" | tail -1`
- if [ "X$pidtest" = "X" ]
- then
- # This is a stale pid file.
- rm -f "$PIDFILE"
- echo "Removed stale pid file: $PIDFILE"
- pid=""
- fi
- fi
- else
- echo "Cannot read $PIDFILE."
- exit 1
- fi
- fi
-}
-
-testpid() {
- pid=`$PSEXE -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1`
- if [ "X$pid" = "X" ]
- then
- # Process is gone so remove the pid file.
- rm -f "$PIDFILE"
- pid=""
- fi
-}
-
-console() {
- echo "Running $APP_LONG_NAME..."
- getpid
- if [ "X$pid" = "X" ]
- then
- # The string passed to eval must handles spaces in paths correctly.
- COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=$APP_NAME wrapper.pidfile=\"$PIDFILE\" $ANCHORPROP $LOCKPROP"
- eval $COMMAND_LINE
- else
- echo "$APP_LONG_NAME is already running."
- exit 1
- fi
-}
-
-start() {
- echo "Starting $APP_LONG_NAME..."
- getpid
- if [ "X$pid" = "X" ]
- then
- # The string passed to eval must handles spaces in paths correctly.
- COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=$APP_NAME wrapper.pidfile=\"$PIDFILE\" wrapper.daemonize=TRUE $ANCHORPROP $IGNOREPROP $LOCKPROP"
- eval $COMMAND_LINE
- else
- echo "$APP_LONG_NAME is already running."
- exit 1
- fi
- getpid
- if [ "X$pid" != "X" ]
- then
- echo "Started $APP_LONG_NAME."
- else
- echo "Failed to start $APP_LONG_NAME."
- fi
-}
-
-stopit() {
- echo "Stopping $APP_LONG_NAME..."
- getpid
- if [ "X$pid" = "X" ]
- then
- echo "$APP_LONG_NAME was not running."
- else
- if [ "X$IGNORE_SIGNALS" = "X" ]
- then
- # Running so try to stop it.
- kill $pid
- if [ $? -ne 0 ]
- then
- # An explanation for the failure should have been given
- echo "Unable to stop $APP_LONG_NAME."
- exit 1
- fi
- else
- rm -f "$ANCHORFILE"
- if [ -f "$ANCHORFILE" ]
- then
- # An explanation for the failure should have been given
- echo "Unable to stop $APP_LONG_NAME."
- exit 1
- fi
- fi
-
- # We can not predict how long it will take for the wrapper to
- # actually stop as it depends on settings in wrapper.conf.
- # Loop until it does.
- savepid=$pid
- CNT=0
- TOTCNT=0
- while [ "X$pid" != "X" ]
- do
- # Show a waiting message every 5 seconds.
- if [ "$CNT" -lt "5" ]
- then
- CNT=`expr $CNT + 1`
- else
- echo "Waiting for $APP_LONG_NAME to exit..."
- CNT=0
- fi
- TOTCNT=`expr $TOTCNT + 1`
-
- sleep 1
-
- testpid
- done
-
- pid=$savepid
- testpid
- if [ "X$pid" != "X" ]
- then
- echo "Failed to stop $APP_LONG_NAME."
- exit 1
- else
- echo "Stopped $APP_LONG_NAME."
- fi
- fi
-}
-
-status() {
- getpid
- if [ "X$pid" = "X" ]
- then
- echo "$APP_LONG_NAME is not running."
- exit 1
- else
- echo "$APP_LONG_NAME is running ($pid)."
- exit 0
- fi
-}
-
-dump() {
- echo "Dumping $APP_LONG_NAME..."
- getpid
- if [ "X$pid" = "X" ]
- then
- echo "$APP_LONG_NAME was not running."
-
- else
- kill -3 $pid
-
- if [ $? -ne 0 ]
- then
- echo "Failed to dump $APP_LONG_NAME."
- exit 1
- else
- echo "Dumped $APP_LONG_NAME."
- fi
- fi
-}
+RUNAS="sonar"
+SCRIPT="/sbin/sonar.sh"
+export SONAR_JAVA_PATH="/usr/lib64/java/bin/java"
case "$1" in
'console')
- checkUser touchlock $1
- console
+ su ${RUNAS} -c "PIDDIR=${PIDDIR} ${SCRIPT} $*"
;;
'start')
- checkUser touchlock $1
- start
+ su ${RUNAS} -c "PIDDIR=${PIDDIR} ${SCRIPT} $*"
;;
'stop')
- checkUser "" $1
- stopit
+ su ${RUNAS} -c "PIDDIR=${PIDDIR} ${SCRIPT} $*"
+ ;;
+
+ 'force-stop')
+ su ${RUNAS} -c "PIDDIR=${PIDDIR} ${SCRIPT} $*"
;;
'restart')
- checkUser touchlock $1
- stopit
- start
+ su ${RUNAS} -c "PIDDIR=${PIDDIR} ${SCRIPT} $*"
;;
'status')
- checkUser "" $1
- status
+ su ${RUNAS} -c "PIDDIR=${PIDDIR} ${SCRIPT} $*"
;;
'dump')
- checkUser "" $1
- dump
+ su ${RUNAS} -c "PIDDIR=${PIDDIR} ${SCRIPT} $*"
;;
*)
- echo "Usage: $0 { console | start | stop | restart | status | dump }"
+ echo "Usage: $0 { console | start | stop | force-stop | restart | status | dump }"
exit 1
;;
esac
diff --git a/development/sonarqube/slack-desc b/development/sonarqube/slack-desc
index e6a7dcdfe9..724d6cf6f8 100644
--- a/development/sonarqube/slack-desc
+++ b/development/sonarqube/slack-desc
@@ -14,6 +14,6 @@ sonarqube: measure technical quality, from project portfolio to method.
sonarqube:
sonarqube:
sonarqube:
-sonarqube: Homepage: http://www.sonarqube.org/
+sonarqube: Homepage: https://www.sonarqube.org/
sonarqube:
sonarqube:
diff --git a/development/sonarqube/sonarqube.SlackBuild b/development/sonarqube/sonarqube.SlackBuild
index ed0f390ab9..ec5ff4f08a 100644
--- a/development/sonarqube/sonarqube.SlackBuild
+++ b/development/sonarqube/sonarqube.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/bash
# Slackware build script for sonarqube
-# Copyright 2016 Giorgio Peron <giorgio.peron@gmail.com>, Belluno, Italy
+# Copyright 2023 Giorgio Peron <giorgio.peron@gmail.com>, Belluno, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=sonarqube
-VERSION=${VERSION:-5.6.1}
+VERSION=${VERSION:-10.3.0.82913}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -62,21 +62,9 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
- BINDIR="linux-x86-32"
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
- LIBDIRSUFFIX=""
- BINDIR="linux-x86-32"
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
- BINDIR="linux-x86-64"
-else
- SLKCFLAGS="-O2"
- BINDIR=""
+if [ "$ARCH" != "x86_64" ]; then
+ echo "$ARCH is not supported."
+ exit 1
fi
set -e
@@ -88,37 +76,35 @@ cd $TMP
unzip $CWD/$PRGNAM-$VERSION.zip
mkdir -p $PKG/usr/share/$PRGNAM
-mkdir -p $PKG/var/{log,run,tmp}/$PRGNAM
-mkdir -p $PKG/etc/rc.d
+mkdir -p $PKG/var/{log,run,tmp,lib}/$PRGNAM
+mkdir -p $PKG/etc/{$PRGNAM,rc.d}
mv $TMP/$PRGNAM-$VERSION/* $PKG/usr/share/$PRGNAM/
# expose the configuration file under /etc
-mv $PKG/usr/share/$PRGNAM/conf/sonar.properties{,.new}
-mv $PKG/usr/share/$PRGNAM/conf/wrapper.conf{,.new}
-cd $PKG/etc
-ln -sf ../usr/share/$PRGNAM/conf $PRGNAM
-
-sed -i "s_sonar.jdbc.url=jdbc:h2:_#sonar.jdbc.url=jdbc:h2:_g" $PKG/usr/share/$PRGNAM/conf/sonar.properties.new
-sed -i "s_#sonar.jdbc.url=jdbc:mysql:_sonar.jdbc.url=jdbc:mysql:_g" $PKG/usr/share/$PRGNAM/conf/sonar.properties.new
-sed -i "s_#sonar.web.context=_sonar.web.context=/sonarqube_g" $PKG/usr/share/$PRGNAM/conf/sonar.properties.new
-sed -i "s_wrapper.java.command=java_wrapper.java.command=/usr/lib${LIBDIRSUFFIX}/java/bin/java_g" $PKG/usr/share/$PRGNAM/conf/wrapper.conf.new
-
-chown -R sonar:sonar $PKG/usr/share/$PRGNAM
-chown -R sonar:sonar $PKG/var/{log,run,tmp}/$PRGNAM
+mv $PKG/usr/share/$PRGNAM/conf/sonar.properties $PKG/etc/$PRGNAM/sonar.properties.new
+rm -rf $PKG/usr/share/$PRGNAM/conf
+rm -rf $PKG/usr/share/$PRGNAM/data
rm -rf $PKG/usr/share/$PRGNAM/logs
rm -rf $PKG/usr/share/$PRGNAM/temp
cd $PKG/usr/share/$PRGNAM
+ln -fs ../../../etc/$PRGNAM conf
+ln -fs ../../../var/lib/$PRGNAM data
ln -fs ../../../var/log/$PRGNAM logs
ln -fs ../../../var/tmp/$PRGNAM temp
# remove the executables for the others platforms
cd $PKG/usr/share/$PRGNAM/bin
-find . -type d -not -name ${BINDIR} -not -name "." -not -name "lib" | xargs rm -rf
+find . -type d -not -name "linux-x86-64" -not -name "." -not -name "lib" | xargs rm -rf
+
+chown -R sonar:sonar $PKG/usr/share/$PRGNAM
+chown -R sonar:sonar $PKG/var/{log,run,tmp,lib}/$PRGNAM
-cat $CWD/rc.$PRGNAM > $PKG/etc/rc.d/rc.$PRGNAM.new
-sed -i "s:WRAPPER_CMD=\"./wrapper\":WRAPPER_CMD=\"/usr/share/sonarqube/bin/${BINDIR}/wrapper\":g" $PKG/etc/rc.d/rc.$PRGNAM.new
+mkdir $PKG/sbin
+cd $PKG/sbin
+ln -fs ../usr/share/$PRGNAM/bin/${BINDIR}/sonar.sh sonar.sh
+cp $CWD/rc.$PRGNAM $PKG/etc/rc.d/rc.$PRGNAM.new
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/development/sonarqube/sonarqube.info b/development/sonarqube/sonarqube.info
index aa60c85219..50890c3b19 100644
--- a/development/sonarqube/sonarqube.info
+++ b/development/sonarqube/sonarqube.info
@@ -1,10 +1,10 @@
PRGNAM="sonarqube"
-VERSION="5.6.1"
-HOMEPAGE="http://www.sonarqube.org"
-DOWNLOAD="https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-5.6.1.zip"
-MD5SUM="d8729bc92fdcd601661aa23885a7c6f7"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="zulu-openjdk8"
+VERSION="10.3.0.82913"
+HOMEPAGE="https://www.sonarsource.com"
+DOWNLOAD="UNSUPPORTED"
+MD5SUM=""
+DOWNLOAD_x86_64="https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-10.3.0.82913.zip"
+MD5SUM_x86_64="1ead6982a8d565fde9b0571cc40d647b"
+REQUIRES="OpenJDK17"
MAINTAINER="Giorgio Peron"
EMAIL="giorgio.peron@gmail.com"