diff --git a/org.adempiere.server-feature/build.properties b/org.adempiere.server-feature/build.properties index 06ab63fa23..7a15d5de1d 100644 --- a/org.adempiere.server-feature/build.properties +++ b/org.adempiere.server-feature/build.properties @@ -4,11 +4,11 @@ root.folder.data=data root.folder.setup=setup #linux 64 bits -root.linux.gtk.x86_64=file:setup.sh,file:console-setup.sh,file:idempiere-server.sh,file:setup-alt.sh,file:console-setup-alt.sh,file:sign-database-build.sh +root.linux.gtk.x86_64=file:setup.sh,file:console-setup.sh,file:idempiere-server.sh,file:setup-alt.sh,file:console-setup-alt.sh,file:sign-database-build.sh,file:idempiereEnvTemplate.properties root.linux.gtk.x86_64.folder.utils=utils.unix root.linux.gtk.x86_64.permissions.755=*.sh,**/*.sh #linux -root.linux.gtk.x86=file:setup.sh,file:console-setup.sh,file:idempiere-server.sh,file:setup-alt.sh,file:console-setup-alt.sh,file:sign-database-build.sh +root.linux.gtk.x86=file:setup.sh,file:console-setup.sh,file:idempiere-server.sh,file:setup-alt.sh,file:console-setup-alt.sh,file:sign-database-build.sh,file:idempiereEnvTemplate.properties root.linux.gtk.x86.folder.utils=utils.unix root.linux.gtk.x86.permissions.755=*.sh,**/*.sh #mac diff --git a/org.adempiere.server-feature/idempiereEnvTemplate.properties b/org.adempiere.server-feature/idempiereEnvTemplate.properties new file mode 100644 index 0000000000..a4681b5472 --- /dev/null +++ b/org.adempiere.server-feature/idempiereEnvTemplate.properties @@ -0,0 +1,66 @@ +#idempiereEnv.properties Template + +#idempiere home +IDEMPIERE_HOME=/opt/idempiere-server +#Java home +JAVA_HOME= + +#Java runtime options +IDEMPIERE_JAVA_OPTIONS=-Xms64M -Xmx512M + +#Type of database, postgresql|oracle|oracleXE +ADEMPIERE_DB_TYPE=PostgreSQL +ADEMPIERE_DB_EXISTS=N +#Path to database specific sql scripts: postgresql|oracle|oracleXE +ADEMPIERE_DB_PATH=postgresql +#Database server host name +ADEMPIERE_DB_SERVER=localhost +#Database port, oracle[1512], postgresql[5432] +ADEMPIERE_DB_PORT=5432 +#Database name +ADEMPIERE_DB_NAME=idempiere +#Database system user password +ADEMPIERE_DB_SYSTEM= +#Database user name +ADEMPIERE_DB_USER=adempiere +#Database user password +ADEMPIERE_DB_PASSWORD=adempiere + +#Application server host name +ADEMPIERE_APPS_SERVER=localhost +ADEMPIERE_WEB_ALIAS=localhost +#Application server port +ADEMPIERE_WEB_PORT=8080 +ADEMPIERE_SSL_PORT=8443 + +#Keystore setting +ADEMPIERE_KEYSTORE=/opt/idempiere-server/keystore/myKeystore +ADEMPIERE_KEYSTOREWEBALIAS=adempiere +ADEMPIERE_KEYSTORECODEALIAS=adempiere +ADEMPIERE_KEYSTOREPASS=myPassword + +#Certificate details +#Common name, default to host name +ADEMPIERE_CERT_CN=localhost +#Organization, default to the user name +ADEMPIERE_CERT_ORG=iDempiere Bazaar +#Organization Unit, default to 'AdempiereUser' +ADEMPIERE_CERT_ORG_UNIT=iDempiereUser +#town +ADEMPIERE_CERT_LOCATION=myTown +#state +ADEMPIERE_CERT_STATE=CA +#2 character country code +ADEMPIERE_CERT_COUNTRY=US + +#Mail server setting +ADEMPIERE_MAIL_SERVER=localhost +ADEMPIERE_ADMIN_EMAIL= +ADEMPIERE_MAIL_USER= +ADEMPIERE_MAIL_PASSWORD= + +#ftp server setting +ADEMPIERE_FTP_SERVER=localhost +ADEMPIERE_FTP_PREFIX=my +ADEMPIERE_FTP_USER=anonymous +ADEMPIERE_FTP_PASSWORD=user@host.com diff --git a/org.adempiere.server-feature/utils.unix/postgresql/DBRestore.sh b/org.adempiere.server-feature/utils.unix/postgresql/DBRestore.sh index ca5f781071..fd3d452411 100644 --- a/org.adempiere.server-feature/utils.unix/postgresql/DBRestore.sh +++ b/org.adempiere.server-feature/utils.unix/postgresql/DBRestore.sh @@ -23,20 +23,33 @@ fi PGPASSWORD=$4 export PGPASSWORD +if [ "x$4" = "x^TryLocalConnection^" ] +then + LOCALPG=true # Allow to run this command with user postgres (just useful running configure as root) +else + LOCALPG=false +fi + echo ------------------------------------- echo Recreate user and database echo ------------------------------------- -dropdb -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres $ADEMPIERE_DB_NAME - -dropuser -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres $2 - ADEMPIERE_CREATE_ROLE_SQL="CREATE ROLE $2 SUPERUSER LOGIN PASSWORD '$3'" -psql -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres -c "$ADEMPIERE_CREATE_ROLE_SQL" +if [ $LOCALPG = "true" ] +then + # Assuming that adempiere role already exists (it was created out there) + PGPASSWORD=$3 + export PGPASSWORD + dropdb -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U $2 $ADEMPIERE_DB_NAME +else + dropdb -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres $ADEMPIERE_DB_NAME + dropuser -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres $2 + psql -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres -c "$ADEMPIERE_CREATE_ROLE_SQL" +fi ADEMPIERE_CREATE_ROLE_SQL= PGPASSWORD=$3 export PGPASSWORD -createdb -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -E UNICODE -O $2 -U $2 $ADEMPIERE_DB_NAME +createdb -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -E UNICODE -T template0 -O $2 -U $2 $ADEMPIERE_DB_NAME echo ------------------------------------- echo Import Adempiere_pg.dmp diff --git a/org.adempiere.server-feature/utils.unix/postgresql/ImportIdempiere.sh b/org.adempiere.server-feature/utils.unix/postgresql/ImportIdempiere.sh index 4953fac2ea..06a8f42a82 100644 --- a/org.adempiere.server-feature/utils.unix/postgresql/ImportIdempiere.sh +++ b/org.adempiere.server-feature/utils.unix/postgresql/ImportIdempiere.sh @@ -23,20 +23,32 @@ fi PGPASSWORD=$4 export PGPASSWORD +if [ "x$4" = "x^TryLocalConnection^" ] +then + LOCALPG=true # Allow to run this command with user postgres (just useful running configure as root) +else + LOCALPG=false +fi echo ------------------------------------- echo Recreate user and database echo ------------------------------------- -dropdb -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres $ADEMPIERE_DB_NAME - -dropuser -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres $2 - ADEMPIERE_CREATE_ROLE_SQL="CREATE ROLE $2 SUPERUSER LOGIN PASSWORD '$3'" -psql -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres -c "$ADEMPIERE_CREATE_ROLE_SQL" +if [ $LOCALPG = "true" ] +then + # Assuming that adempiere role already exists (it was created out there) + PGPASSWORD=$3 + export PGPASSWORD + dropdb -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U $2 $ADEMPIERE_DB_NAME +else + dropdb -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres $ADEMPIERE_DB_NAME + dropuser -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres $2 + psql -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -U postgres -c "$ADEMPIERE_CREATE_ROLE_SQL" +fi ADEMPIERE_CREATE_ROLE_SQL= PGPASSWORD=$3 export PGPASSWORD -createdb --template=template0 -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -E UNICODE -O $2 -U $2 $ADEMPIERE_DB_NAME +createdb -T template0 -h $ADEMPIERE_DB_SERVER -p $ADEMPIERE_DB_PORT -E UNICODE -O $2 -U $2 $ADEMPIERE_DB_NAME echo ------------------------------------- echo Import Adempiere$5.dmp diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/conffiles b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/conffiles new file mode 100644 index 0000000000..3ccb480cf3 --- /dev/null +++ b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/conffiles @@ -0,0 +1 @@ +/etc/default/idempiere diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/control b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/control new file mode 100644 index 0000000000..7f06f3f823 --- /dev/null +++ b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/control @@ -0,0 +1,12 @@ +Package: idempiere +Version: 2.0 +Section: web +Priority: extra +Architecture: all +Pre-Depends: openjdk-7-jdk|openjdk-6-jdk, postgresql-9.3|postgresql-9.2|postgresql-9.1, postgresql-contrib, adduser +Suggests: firefox +Installed-Size: 968668 +Maintainer: Carlos Ruiz +Description: iDempiere ERP + iDempiere Business Suite ERP/CRM/SCM +Homepage: http://www.idempiere.org/ diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/postinst b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/postinst new file mode 100755 index 0000000000..911030c34a --- /dev/null +++ b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/postinst @@ -0,0 +1,116 @@ +#!/bin/sh + +if [ "$1" != "configure" ] +then + exit 0 +fi + +if [ -z "$2" ] +then + MODE=install +else + MODE=upgrade +fi + +if [ -x "/etc/init.d/idempiere" ]; then + update-rc.d idempiere defaults >/dev/null + if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then + invoke-rc.d idempiere start || exit 0 + else + /etc/init.d/idempiere start || exit 0 + fi +fi + +echo "Executing Post-install steps..." + +if [ "$MODE" = "install" ] +then + if `grep -q ^idempiere: /etc/group` + then + echo "" + else + /usr/sbin/groupadd idempiere + fi + id idempiere > /dev/null 2>&1 + status=$? + if test $status -eq 0 + then + groups idempiere | grep idempiere > /dev/null + status=$? + if test $status != 0 + then + /usr/sbin/usermod -G idempiere idempiere + fi + else + /usr/sbin/useradd -g idempiere -d /opt/idempiere-server -s /bin/bash idempiere + fi + +# End MODE=install +fi + +if [ "$MODE" = "install" ] +then + # Start Menu icons + + mergefile() + { + MENUFILE="$1" + + if [ -z "$MENUFILE" ] + then + return + fi + + TFILE="$(mktemp)" || TFILE="/tmp/idempiereapplications.tmp" + (sed -n '1,/<\/Menu>/p' "$MENUFILE" ; cat /opt/idempiere-server/utils/unix/idempiere-merge-debian.menu ; sed -n '1,/<\/Menu>/!p' "$MENUFILE" ) > "$TFILE" + cp -f "$TFILE" "$MENUFILE" + rm -f "$TFILE" + } + + if [ -f /etc/xdg/menus/gnome-applications.menu ] + then + mergefile /etc/xdg/menus/gnome-applications.menu + fi + if [ -f /etc/xdg/menus/kde-applications.menu ] + then + mergefile /etc/xdg/menus/kde-applications.menu + fi + if [ -f /etc/xdg/menus/applications.menu ] + then + mergefile /etc/xdg/menus/applications.menu + fi + +# End MODE=install +fi + +/bin/chown -R idempiere:idempiere /opt/idempiere-server +/bin/chown idempiere:idempiere /etc/default/idempiere +/bin/chown idempiere:idempiere /etc/init.d/idempiere +/bin/chown idempiere:idempiere /etc/xdg/menus/idempiere.menu +/bin/chown idempiere:idempiere /usr/share/applications/idempiere-backup.desktop +/bin/chown idempiere:idempiere /usr/share/applications/idempiere-gotoonlineforum.desktop +/bin/chown idempiere:idempiere /usr/share/applications/idempiere-homepage.desktop +/bin/chown idempiere:idempiere /usr/share/applications/idempiere-readdocumentation.desktop +/bin/chown idempiere:idempiere /usr/share/applications/idempiere-restore.desktop +/bin/chown idempiere:idempiere /usr/share/applications/idempiere-startserver.desktop +/bin/chown idempiere:idempiere /usr/share/applications/idempiere-webclient.desktop +/bin/chown idempiere:idempiere /usr/share/desktop-directories/idempiere.directory +/bin/chown idempiere:idempiere /usr/share/desktop-directories/idempiere-gethelp.directory +/bin/chown idempiere:idempiere /usr/share/pixmaps/idempiere-backup.png +/bin/chown idempiere:idempiere /usr/share/pixmaps/idempiere-gethelp.png +/bin/chown idempiere:idempiere /usr/share/pixmaps/idempiere-gotoonlineforum.png +/bin/chown idempiere:idempiere /usr/share/pixmaps/idempiere.png +/bin/chown idempiere:idempiere /usr/share/pixmaps/idempiere-readdocumentation.png +/bin/chown idempiere:idempiere /usr/share/pixmaps/idempiere-restore.png +/bin/chown idempiere:idempiere /usr/share/pixmaps/idempiere-start.png + +CONFIGURATION=/etc/default/idempiere +[ -f "$CONFIGURATION" ] && . "$CONFIGURATION" + +if [ "$CONFIGURE_RUN" != "true" ] +then + echo "You must run '/etc/init.d/idempiere configure' as the root user to configure the application." + echo +fi + +exit 0 diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/postrm b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/postrm new file mode 100755 index 0000000000..400342de22 --- /dev/null +++ b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/postrm @@ -0,0 +1,70 @@ +#!/bin/sh + +case "$1" in +remove|purge) + ;; +*) + exit 0 + ;; +esac + +if [ "$1" = "purge" ] ; then + update-rc.d idempiere remove >/dev/null || exit 0 +fi + + +case "$1" in +purge) + rm -fr /opt/idempiere-server + # rm -fr /etc/default/idempiere + # rm -fr /etc/init.d/idempiere + # rm -fr /etc/xdg/menus/idempiere.menu + rm -fr /usr/share/desktop-directories/idempiere-gethelp.directory + rm -fr /usr/share/desktop-directories/idempiere.directory + rm -fr /usr/share/pixmaps/idempiere-restore.png + rm -fr /usr/share/pixmaps/idempiere.png + rm -fr /usr/share/pixmaps/idempiere-gethelp.png + rm -fr /usr/share/pixmaps/idempiere-gotoonlineforum.png + rm -fr /usr/share/pixmaps/idempiere-backup.png + rm -fr /usr/share/pixmaps/idempiere-start.png + rm -fr /usr/share/pixmaps/idempiere-readdocumentation.png + rm -fr /usr/share/applications/idempiere-gotoonlineforum.desktop + rm -fr /usr/share/applications/idempiere-homepage.desktop + rm -fr /usr/share/applications/idempiere-webclient.desktop + rm -fr /usr/share/applications/idempiere-readdocumentation.desktop + rm -fr /usr/share/applications/idempiere-restore.desktop + rm -fr /usr/share/applications/idempiere-startserver.desktop + rm -fr /usr/share/applications/idempiere-backup.desktop + ;; +*) + ;; +esac + +mergefile() +{ + MENUFILE="$1" + if [ -z "$MENUFILE" ] + then + return + fi + + TFILE="$(mktemp)" || TFILE="/tmp/idempiereapplications.tmp" + sed -n '/<\!\-- iDempiere \-->/,/<\!\-- End of iDempiere \-->/!p' "$MENUFILE" > "$TFILE" + cp -f "$TFILE" "$MENUFILE" + rm -f "$TFILE" +} + +if [ -f /etc/xdg/menus/gnome-applications.menu ] +then + mergefile /etc/xdg/menus/gnome-applications.menu +fi +if [ -f /etc/xdg/menus/kde-applications.menu ] +then + mergefile /etc/xdg/menus/kde-applications.menu +fi +if [ -f /etc/xdg/menus/applications.menu ] +then + mergefile /etc/xdg/menus/applications.menu +fi + +exit 0 diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/preinst b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/preinst new file mode 100755 index 0000000000..b2d02c211a --- /dev/null +++ b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/preinst @@ -0,0 +1,48 @@ +#!/bin/sh + +if [ "$1" != "install" -o -n "$2" ] +then + exit 0 +fi + +# User must be root + +if [ $(id -u) != "0" ] +then + echo "You must be the root to install the software" >&2 + exit 1 +fi + +# IDEMPIERE_HOME must be unset +if `env | grep -q IDEMPIERE_HOME` +then + unset IDEMPIERE_HOME +fi + +# Check for sufficient diskspace +if [ -d /opt/idempiere-server ] +then + diskspace=`df -k /opt/idempiere-server | grep % | tr -s " " | cut -d" " -f4 | tail -1` + diskspace=`expr $diskspace / 1024` + if [ $diskspace -lt 1024 ] + then + echo "You have insufficient diskspace in the destination directory (/opt/idempiere-server) +to install idempiere The installation requires at +least 1 GB free on this disk." + exit 1 + fi +else + diskspace=`df -k /usr/lib | grep % | tr -s " " | cut -d" " -f4 | tail -1` + diskspace=`expr $diskspace / 1024` + if [ $diskspace -lt 1024 ] + then + echo "You have insufficient diskspace in the destination directory (/usr/lib) to +install idempiere. The installation requires at +least 1 GB free on this disk." + exit 1 + fi +fi + +# Don't fail, even on sysctl errors +exit 0 + diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/prerm b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/prerm new file mode 100755 index 0000000000..002961f4ea --- /dev/null +++ b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/DEBIAN/prerm @@ -0,0 +1,17 @@ +#!/bin/sh + + +if [ "$1" != "remove" ] +then + exit 0 +fi + +if [ -x "/etc/init.d/idempiere" ]; then + if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then + invoke-rc.d idempiere stop || exit 0 + else + /etc/init.d/idempiere stop || exit 0 + fi +fi + +exit 0 diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/etc/default/idempiere b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/etc/default/idempiere new file mode 100644 index 0000000000..e9ae86c3ed --- /dev/null +++ b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/etc/default/idempiere @@ -0,0 +1,3 @@ +# +# Please run "/etc/init.d/idempiere configure" to configure iDempiere. +# diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/etc/init.d/idempiere b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/etc/init.d/idempiere new file mode 100755 index 0000000000..e3371ef1fb --- /dev/null +++ b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/etc/init.d/idempiere @@ -0,0 +1,736 @@ +#!/bin/bash +# + +### BEGIN INIT INFO +# Provides: idempiere +# Required-Start: postgresql +# Required-Stop: postgresql +# Default-Start: 2 3 4 5 +# Default-Stop: 1 +# Short-Description: iDempiere server +# Description: Provides iDempiere ERP-CRM Server startup and shutdown script. Requires PostgreSQL server. +# FileTarget: /etc/init.d/idempiere +# FileOwner: root.root +# FilePerms: 0755 +# +# chkconfig: 2345 97 06 +### END INIT INFO + +# processname: idempiere +# Red Hat or SuSE config: /etc/sysconfig/idempiere +# Debian or Ubuntu config: /etc/default/idempiere + +# Source function library +if [ -f /lib/lsb/init-functions ] +then + . /lib/lsb/init-functions +elif [ -f /etc/init.d/functions ] +then + . /etc/init.d/functions +fi + +# Set path if path not set (if called from /etc/rc) +case $PATH in + "") PATH=/bin:/usr/bin:/sbin:/etc + export PATH ;; +esac + +# initialization +# adjust these variables to your environment +IDEMPIERE_USER=idempiere +IDEMPIERE_HOME=/opt/idempiere-server +JAVA_HOME=`ls -r /usr/lib/jvm/java-[67]-openjdk*/bin/javac | head -1` +JAVA_HOME=`dirname $JAVA_HOME` +JAVA_HOME=`dirname $JAVA_HOME` +SU=su +export IDEMPIERE_HOME + +if [ $(id -u) != "0" ] +then + echo "You must be root to run the configure script. Login as root and then run the configure script." + exit 1 +fi + +RETVAL=0 +IDEMPIERESTATUS= +MAXSECONDS=120 # max wait 2 minutes +SLEEPSECONDS=2 +MAXITERATIONS=`expr $MAXSECONDS / $SLEEPSECONDS` + +CONFIG_NAME=idempiere +CONFIGURATION="/etc/sysconfig/$CONFIG_NAME" +if [ -f /etc/redhat-release ] +then + . /etc/init.d/functions + + init_status() + { + return 0 + } + exit_status() + { + exit $? + } + success_status() + { + success + echo + } + failure_status() + { + failure $? + echo + } + +elif [ -f /etc/SuSE-release ] +then + . /etc/rc.status + + init_status() + { + rc_reset + } + success_status() + { + echo "OK" + return 0 + } + failure_status() + { + echo "Failed" + return 1 + } + exit_status() + { + exit $? + } + +else + if [ -d /etc/default ] + then + CONFIGURATION="/etc/default/$CONFIG_NAME" + fi + + init_status() + { + return 0 + } + + success_status() + { + echo "OK" + return 0 + } + + failure_status() + { + echo "Failed" + return 0 + } + + exit_status() + { + exit $? + } +fi + +# Source configuration + +[ -f "$CONFIGURATION" ] && . "$CONFIGURATION" + +init_status + +# +# if_fail() +# +# Evaluates return codes. If 0, prints "OK", if 1, prints "Failed" +# and exits. If 2, status is "already done" and nothing is printed. +# The rest of the functions in here all honor this convention. +# +if_fail() +{ + RC="$1" + REASON="$2" + if [ "$RC" = "0" ] + then + return + elif [ "$RC" = "2" ] + then + return + fi + failure_status "${REASON}" + exit 1 +} + +# +# write_sysconfig() +# +# Writes the system configuration +# +write_sysconfig() +{ + cat >"$CONFIGURATION" < /dev/null 2>&1 + if [ $? -ne 0 ] + then + echo "Error deploying iDempiere, please verify and try again" + exit 1 + fi + + if [ "x${ADEMPIERE_DB_SYSTEM}" = "x^TryLocalConnection^" ] + then + # recreate idempiere user from here as the RUN_ImportIdempiere requires it + $SU postgres -c "dropdb -U postgres idempiere" # > /dev/null 2>&1 + $SU postgres -c "dropuser -U postgres idempiere" # > /dev/null 2>&1 + $SU postgres -c "psql -U postgres -c \"CREATE ROLE adempiere SUPERUSER LOGIN PASSWORD '${ADEMPIERE_DB_PASSWORD}'\"" # > /dev/null 2>&1 + fi + + if [ -f ${IDEMPIERE_HOME}/utils/RUN_ImportIdempiere.sh ] + then + echo -n "Importing seed database..." + $SU ${IDEMPIERE_USER} -c "cd ${IDEMPIERE_HOME}/utils; ( echo "" | ./RUN_ImportIdempiere.sh )" # > /dev/null 2>&1 + echo "Done" + fi + $SU ${IDEMPIERE_USER} -c "export PGPASSWORD=${ADEMPIERE_DB_PASSWORD}; psql -d idempiere -U adempiere -h localhost -p 5432 -c ''" > /dev/null 2>&1 + if [ $? -ne 0 ] + then + echo "Cannot connect to idempiere database, please verify and try again" + exit 1 + fi + $SU ${IDEMPIERE_USER} -c "export PGPASSWORD=${ADEMPIERE_DB_PASSWORD}; psql -d idempiere -U adempiere -h localhost -p 5432 -c 'select count(*) from ad_system' 2>&1 | grep '1$'" > /dev/null 2>&1 + if [ $? -ne 0 ] + then + echo "Database not imported correctly, please verify and try again" + exit 1 + fi + + chmod 700 ${IDEMPIERE_HOME}/utils/myEnvironment.* + + echo "Installation Completed Successfully." + + return 0 +} + +checkportused() +{ +port=`netstat -n --tcp --listen | grep :$1 | awk '{print $4}' | cut -d':' -f2` +if [ "$port" = "$1" ] +then + return 0 # Used +else + return 1 # Not Used +fi +} + +# +#configure_ask() +# +# Ask configuration questions,setting the variables. +# +configure_ask() +{ + cat < to accept the defaults. +Ctrl-C will abort. + +EOF + # TODO: ask for certificate data (or integrate with openssl certificate) + # TODO: ask for mail server settings + # TODO: ask for postgres port (and perhaps machine if it's remote) + + # Check not configurable tomcat ports (i.e. 8005, 8009) + for TOMCATPORT in 8005 8009 + do + if checkportused "$TOMCATPORT" + then + echo Port $TOMCATPORT is required by iDempiere ERP server and it appears to be in use by another application.\ + Please fix the problem and try again. + exit 1 + fi + done + + #get the http port value + while : + do + while [ 1 ] + do + echo -n Specify the HTTP port that will be used for iDempiere server [8080]: + read LINE + if [ -z $LINE ] + then + LINE=8080 + fi + if checkportused "$LINE" + then + echo Port $port appears to be in use by another application.\ + Please specify a different port. + else + break; + fi + done + + case "$LINE" in + "") + break + ;; + *[^0-9]*) + echo "Invalid http port: $LINE" + ;; + *) + ADEMPIERE_WEB_PORT=$LINE + break + ;; + esac + done + + #get the https port value + while : + do + while [ 1 ] + do + echo -n Specify the HTTPS port that will be used for iDempiere server [8443]: + read LINE + if [ -z $LINE ] + then + LINE=8443 + fi + if checkportused "$LINE" + then + echo Port $port appears to be in use by another application.\ + Please specify a different port. + else + break; + fi + done + + case "$LINE" in + "") + break + ;; + *[^0-9]*) + echo "Invalid https port: $LINE" + ;; + *) + ADEMPIERE_SSL_PORT=$LINE + break + ;; + esac + done + + #get the idempiere database password + while : + do + echo -n "Specify a password to be used for adempiere database account:" + while [ 1 ] + do + stty -echo > /dev/null 2>&1 + temp=`echo $IFS` + export IFS="\n" + while [ 1 ] + do + read LINE + while [ -z "$LINE" ] + do + echo + echo -n "Password can't be null. Enter password:" + read LINE + done + + result=`expr index "$LINE" [\'\"]` + if [ $result != 0 ]; + then + echo + echo -n "The password you entered contains invalid characters. Enter password:" + else + break + fi + done + echo + echo -n "Confirm the password:" + read LINE1 + echo + if [ "$LINE" != "$LINE1" ]; + then + echo + echo -n "Passwords do not match. Enter the password:" + else + break + fi + done + stty echo > /dev/null 2>&1 + ADEMPIERE_DB_PASSWORD=$LINE + export IFS=$temp + break; + done + + #get the postgres database password + while : + do + echo -n "Specify the password of the user postgres on postgres database +(if empty then local connection will be tried):" + while [ 1 ] + do + stty -echo > /dev/null 2>&1 + temp=`echo $IFS` + export IFS="\n" + while [ 1 ] + do + read LINE + if [ -z "$LINE" ] + then + break + fi + + result=`expr index "$LINE" [\'\"]` + if [ $result != 0 ]; + then + echo + echo -n "The password you entered contains invalid characters. Enter password:" + else + break + fi + done + echo + if [ -z "$LINE" ] + then + # Empty postgres password verify connection with local postgres user + $SU postgres -c "psql -U postgres -c ''" + if [ $? -eq 0 ] + then + break + fi + echo -n "Could not connect locally with user postgres. +NOTE: You can verify pg_hba.conf to check if this line is enabled +local all postgres ident +Enter postgres password:" + else + PGPASSWORD=$LINE + export PGPASSWORD + psql -U postgres -d template1 -h localhost -p 5432 -c '' + if [ $? -eq 0 ] + then + break + fi + echo -n "Could not connect with user postgres to database template with such password. +NOTE: You can check the file pg_hba.conf to validate that connection is allowed, + or check that postgresql server allows tcp/ip connections on port 5432 + or check that user postgres database password is correctly set. +Enter postgres password:" + fi + done + stty echo > /dev/null 2>&1 + if [ -z "$LINE" ] + then + LINE="^TryLocalConnection^" + fi + ADEMPIERE_DB_SYSTEM=$LINE + export IFS=$temp + break; + done + + while : + do + if [ "${RUN_AT_STARTUP}" = "true" ] + then + CUR=y + else + CUR=n + fi + echo + echo -n "Do you want iDempiere ERP Server to be started on boot (y/n) [y]:" + read LINE + if [ -z $LINE ] + then + RUN_AT_STARTUP=true + fi + echo + case "$LINE" in + "") + break + ;; + y|Y) + RUN_AT_STARTUP=true + break + ;; + n|N) + RUN_AT_STARTUP=false + break + ;; + *) + echo "Invalid response: $LINE " >&2 + break + esac + done +} + +getidempierestatus() { + IDEMPIERESTATUSSTRING=$(ps ax | grep -v grep | grep ${IDEMPIERE_HOME}) + echo $IDEMPIERESTATUSSTRING | grep -q ${IDEMPIERE_HOME} + IDEMPIERESTATUS=$? +} + +configure() +{ + if [ "${CONFIGURE_RUN}" = "true" ] + then + echo "iDempiere is already configured" + exit 1 + fi + configure_ask + configure_perform + CONFIGURE_RUN=true + write_sysconfig + echo To access the iDempiere Server Home Page, start the server with '/etc/init.d/idempiere start' + echo and then go to \"http://127.0.0.1:${ADEMPIERE_WEB_PORT}\" + +} + +start () { + + if [ "${CONFIGURE_RUN}" != "true" ] + then + echo "iDempiere is not configured. You must run +'/etc/init.d/idempiere configure' as the root user to configure the server." + exit 0 + fi + + getidempierestatus + if [ $IDEMPIERESTATUS -eq 0 ] ; then + echo "iDempiere is already running" + return 1 + fi + echo -n "Starting iDempiere ERP: " + export LOGFILE=$IDEMPIERE_HOME/log/idempiere_`date +%Y%m%d%H%M%S`.log + $SU ${IDEMPIERE_USER} -c "mkdir -p $IDEMPIERE_HOME/log" + $SU ${IDEMPIERE_USER} -c "cd $IDEMPIERE_HOME;$IDEMPIERE_HOME/idempiere-server.sh &> $LOGFILE &" + RETVAL=$? + if [ $RETVAL -eq 0 ] ; then + # wait for server to be confirmed as started in logfile + STATUSTEST=0 + ITERATIONS=0 + while [ $STATUSTEST -eq 0 ] ; do + sleep $SLEEPSECONDS + tail -n 9 $LOGFILE | grep -q '.*WebUIServlet.*started successfully.*' && STATUSTEST=1 + echo -n "." + ITERATIONS=`expr $ITERATIONS + 1` + if [ $ITERATIONS -gt $MAXITERATIONS ] + then + break + fi + done + if [ $STATUSTEST -eq 0 ] + then + log_warning_msg "Service hasn't started within the timeout allowed, please review file $LOGFILE to see the status of the service" + else + log_success_msg "Service started" + fi + echo + else + log_failure_msg "Service not started" + echo + fi + RETVAL=$? + return $RETVAL +} + +stop () { + + if [ "${CONFIGURE_RUN}" != "true" ] + then + echo "iDempiere is not configured. You must run +'/etc/init.d/idempiere configure' as the root user to configure the server." + exit 0 + fi + + getidempierestatus + if [ $IDEMPIERESTATUS -ne 0 ] ; then + echo "iDempiere is already stopped" + return 1 + fi + echo -n "Stopping iDempiere ERP: " + cd $IDEMPIERE_HOME/utils + log_warning_msg "Trying direct kill with signal -15" + # try direct kill with signal 15, then signal 9 + kill -15 -`ps ax o pgid,command | grep -v grep | grep $IDEMPIERE_HOME | sed -e 's/^ *//g' | cut -f 1 -d " " | sort -u` + sleep 5 + getidempierestatus + if [ $IDEMPIERESTATUS -ne 0 ] ; then + log_success_msg "Service stopped with kill -15" + else + echo "Trying direct kill with signal -9" + kill -9 -`ps ax o pgid,command | grep -v grep | grep $IDEMPIERE_HOME | sed -e 's/^ *//g' | cut -f 1 -d " " | sort -u` + sleep 5 + getidempierestatus + if [ $IDEMPIERESTATUS -ne 0 ] ; then + log_success_msg "Service stopped with kill -9" + else + log_warning_msg "Service hasn't stopped" + fi + fi + return $RETVAL +} + +restart () { + stop + sleep $SLEEPSECONDS + start +} + +condrestart () { + getidempierestatus + if [ $IDEMPIERESTATUS -eq 0 ] ; then + restart + fi +} + +dostatus () { + getidempierestatus + if [ $IDEMPIERESTATUS -eq 0 ] ; then + echo + echo "iDempiere is running:" + ps ax | grep -v grep | grep ${IDEMPIERE_HOME} | sed 's/^[[:space:]]*\([[:digit:]]*\).*:[[:digit:]][[:digit:]][[:space:]]\(.*\)/\1 \2/' + echo + else + echo "iDempiere is stopped" + fi +} + +case "$1" in + start) + if test -f "$CONFIGURATION" + then + if test "${RUN_AT_STARTUP}" != "true" + then + exit 0 + fi + else + echo "iDempiere is not configured. You must run +'/etc/init.d/idempiere configure' as the root user to configure the server." + exit 0 + fi + start + ;; + configure) + configure + ;; + stop) + stop + ;; + restart|reload|force-reload) + restart + ;; + condrestart) + condrestart + ;; + status) + dostatus + ;; + enable) + if test -f "$CONFIGURATION" + then + RUN_AT_STARTUP=true + write_sysconfig + else + echo "iDempiere is not configured. You must run +'/etc/init.d/idempiere configure' as the root user to configure the server." + exit 0 + fi + ;; + disable) + if test -f "$CONFIGURATION" + then + RUN_AT_STARTUP=false + write_sysconfig + else + echo "iDempiere is not configured. You must run +'/etc/init.d/idempiere configure' as the root user to configure the server." + exit 0 + fi + ;; + *) + echo $"Usage: $0 {start|stop|restart|force-reload|configure|status|enable|disable}" + exit 1 + +esac + +exit 0 diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/etc/xdg/menus/idempiere.menu b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/etc/xdg/menus/idempiere.menu new file mode 100644 index 0000000000..e535b45241 --- /dev/null +++ b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/etc/xdg/menus/idempiere.menu @@ -0,0 +1,23 @@ + + + iDempiere ERP + idempiere.directory + + + idempiere-startserver.desktop + idempiere-homepage.desktop + idempiere-webclient.desktop + idempiere-backup.desktop + idempiere-restore.desktop + + + Get Help + idempiere-gethelp.directory + + + idempiere-gotoonlineforum.desktop + idempiere-readdocumentation.desktop + + + + diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-backup.desktop b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-backup.desktop new file mode 100644 index 0000000000..f8a81dc75f --- /dev/null +++ b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-backup.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Exec=gksudo "su -c idempiere '/opt/idempiere-server/utils/RUN_DBExport.sh'" +Terminal=true +MultipleArgs=true +Type=Application +Categories=Applications; +Icon=idempiere-backup.png +Encoding=UTF-8 +Name=Backup Database +Name[es]=Copia de Seguridad de Base de Datos diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-gotoonlineforum.desktop b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-gotoonlineforum.desktop new file mode 100644 index 0000000000..9675e8a639 --- /dev/null +++ b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-gotoonlineforum.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Terminal=false +MultipleArgs=true +Type=Link +URL=https://groups.google.com/forum/?fromgroups#!forum/idempiere +Categories=Applications; +Icon=idempiere-gotoonlineforum.png +Encoding=UTF-8 +Name=Go To Online Forum +Name[es]=Ir a Foro en Línea diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-homepage.desktop b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-homepage.desktop new file mode 100644 index 0000000000..8a0e4284c3 --- /dev/null +++ b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-homepage.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Terminal=false +MultipleArgs=true +Type=Link +URL=http://localhost:8080 +Categories=Applications; +Icon=idempiere.png +Encoding=UTF-8 +Name=iDempiere Homepage +Name[es]=Página Principal iDempiere diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-readdocumentation.desktop b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-readdocumentation.desktop new file mode 100644 index 0000000000..366891bb13 --- /dev/null +++ b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-readdocumentation.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Terminal=false +MultipleArgs=true +Type=Link +URL=http://wiki.idempiere.org +Categories=Applications; +Icon=idempiere-readdocumentation.png +Encoding=UTF-8 +Name=Read Documentation +Name[es]=Leer Documentación diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-restore.desktop b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-restore.desktop new file mode 100644 index 0000000000..a6bbef0a0f --- /dev/null +++ b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-restore.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Exec=gksudo "su -c idempiere '/opt/idempiere-server/utils/RUN_DBRestore.sh'" +Terminal=true +MultipleArgs=true +Type=Application +Categories=Applications; +Icon=idempiere-restore.png +Encoding=UTF-8 +Name=Restore Database +Name[es]=Restaurar Base de Datos diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-startserver.desktop b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-startserver.desktop new file mode 100644 index 0000000000..49830347c8 --- /dev/null +++ b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-startserver.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Exec=gksudo "su -c idempiere '/opt/idempiere-server/idempiere-server.sh'" +Terminal=true +MultipleArgs=true +Type=Application +Categories=Applications; +Icon=idempiere-start.png +Encoding=UTF-8 +Name=Start Server +Name[es]=Iniciar Servidor diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-webclient.desktop b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-webclient.desktop new file mode 100644 index 0000000000..5d460a1649 --- /dev/null +++ b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/applications/idempiere-webclient.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Terminal=false +MultipleArgs=true +Type=Link +URL=https://localhost:8443/webui +Categories=Applications; +Icon=idempiere-gotoonlineforum.png +Encoding=UTF-8 +Name=iDempiere Web Client +Name[es]=Cliente Web iDempiere diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/desktop-directories/idempiere-gethelp.directory b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/desktop-directories/idempiere-gethelp.directory new file mode 100644 index 0000000000..3ffeb47674 --- /dev/null +++ b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/desktop-directories/idempiere-gethelp.directory @@ -0,0 +1,6 @@ +[Desktop Entry] +Icon=idempiere-gethelp.png +Type=Directory +Encoding=UTF-8 +Name=Get Help +Name[es]=Obtener Ayuda diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/desktop-directories/idempiere.directory b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/desktop-directories/idempiere.directory new file mode 100644 index 0000000000..a5c5ce0357 --- /dev/null +++ b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/desktop-directories/idempiere.directory @@ -0,0 +1,7 @@ +[Desktop Entry] +Icon=idempiere.png +Type=Directory +Encoding=UTF-8 + +Name=iDempiere ERP +Name[es]=iDempiere ERP diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere-backup.png b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere-backup.png new file mode 100644 index 0000000000..950eb74440 Binary files /dev/null and b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere-backup.png differ diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere-gethelp.png b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere-gethelp.png new file mode 100644 index 0000000000..06749feb37 Binary files /dev/null and b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere-gethelp.png differ diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere-gotoonlineforum.png b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere-gotoonlineforum.png new file mode 100644 index 0000000000..06749feb37 Binary files /dev/null and b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere-gotoonlineforum.png differ diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere-readdocumentation.png b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere-readdocumentation.png new file mode 100644 index 0000000000..06749feb37 Binary files /dev/null and b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere-readdocumentation.png differ diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere-restore.png b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere-restore.png new file mode 100644 index 0000000000..06749feb37 Binary files /dev/null and b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere-restore.png differ diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere-start.png b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere-start.png new file mode 100644 index 0000000000..06749feb37 Binary files /dev/null and b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere-start.png differ diff --git a/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere.png b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere.png new file mode 100644 index 0000000000..06749feb37 Binary files /dev/null and b/org.adempiere.server-feature/utils.unix/unix/DebianInstaller/usr/share/pixmaps/idempiere.png differ diff --git a/org.adempiere.server-feature/utils.unix/unix/createDEBpackage.sh b/org.adempiere.server-feature/utils.unix/unix/createDEBpackage.sh new file mode 100755 index 0000000000..d553b66a10 --- /dev/null +++ b/org.adempiere.server-feature/utils.unix/unix/createDEBpackage.sh @@ -0,0 +1,23 @@ +VERSION=dev +TIMESTAMP=`date +%Y%m%d` +TMP=/tmp +cd `dirname $0`/../../.. +IDEMPIERE_HOME=`pwd` +RWD=$IDEMPIERE_HOME/idempiere-server/utils/unix +PACKAGE=`ls -d $IDEMPIERE_HOME` +PACKAGE=`basename $PACKAGE` +PACKFILE=$IDEMPIERE_HOME/../${PACKAGE}_${VERSION}_${TIMESTAMP}.deb +find $RWD/../.. -name "*.sh" -exec chmod +x {} \; +chmod +x $RWD/DebianInstaller/etc/init.d/idempiere +rm -f $TMP/debian-binary $TMP/control.tar.gz $TMP/data.tar.gz $TMP/control.tar $TMP/data.tar $PACKFILE +echo 2.0 > $TMP/debian-binary +tar cvf $TMP/control.tar -C $RWD/DebianInstaller/DEBIAN . +gzip -v -9 $TMP/control.tar +tar cvf $TMP/data.tar -C $RWD/DebianInstaller/ ./usr +tar rvf $TMP/data.tar --exclude='idempiere.gtk.linux.x86_64/idempiere-server/utils/unix/createDEBpackage.sh' --exclude='idempiere.gtk.linux.x86_64/idempiere-server/utils/unix/DebianInstaller' --transform 's:^idempiere.gtk.linux.x86_64/idempiere-server:./opt/idempiere-server:' -C $RWD/../../../.. $PACKAGE > /dev/null +tar rvf $TMP/data.tar -C $RWD/DebianInstaller/ ./etc +gzip -v -9 $TMP/data.tar +cd $TMP +ar q $PACKFILE debian-binary control.tar.gz data.tar.gz +rm debian-binary control.tar.gz data.tar.gz +echo "Created $PACKFILE" diff --git a/org.adempiere.server-feature/utils.unix/unix/idempiere-merge-debian.menu b/org.adempiere.server-feature/utils.unix/unix/idempiere-merge-debian.menu new file mode 100644 index 0000000000..a9b41ebe0c --- /dev/null +++ b/org.adempiere.server-feature/utils.unix/unix/idempiere-merge-debian.menu @@ -0,0 +1,7 @@ + + + iDempiere + idempiere.menu + + + diff --git a/org.compiere.db.postgresql.provider/src/org/adempiere/db/postgresql/config/ConfigPostgreSQL.java b/org.compiere.db.postgresql.provider/src/org/adempiere/db/postgresql/config/ConfigPostgreSQL.java index 313651388d..f7019eab34 100755 --- a/org.compiere.db.postgresql.provider/src/org/adempiere/db/postgresql/config/ConfigPostgreSQL.java +++ b/org.compiere.db.postgresql.provider/src/org/adempiere/db/postgresql/config/ConfigPostgreSQL.java @@ -137,7 +137,12 @@ public class ConfigPostgreSQL implements IDatabaseConfig if (isDBExists) { log.warning(error); } else { - return error; + if ("^TryLocalConnection^".equals(systemPassword)) { + // Debian installer uses postgres socket domain connection + log.warning(error); + } else { + return error; + } } } if (log.isLoggable(Level.INFO)) log.info("OK: System Connection = " + urlSystem);