Hello community, here is the log from the commit of package gnuhealth for openSUSE:Factory checked in at 2018-07-21 10:25:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gnuhealth (Old) and /work/SRC/openSUSE:Factory/.gnuhealth.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnuhealth" Sat Jul 21 10:25:16 2018 rev:26 rq:624217 version:3.2.10 Changes: -------- --- /work/SRC/openSUSE:Factory/gnuhealth/gnuhealth.changes 2018-06-20 15:22:39.013026581 +0200 +++ /work/SRC/openSUSE:Factory/.gnuhealth.new/gnuhealth.changes 2018-07-21 10:25:19.418955981 +0200 @@ -1,0 +2,12 @@ +Tue Jul 17 07:19:15 UTC 2018 - [email protected] + +- openSUSE-gnuhealth-setup: User tryton set to SUPERUSER + Documentation updated + +------------------------------------------------------------------- +Wed Jun 20 09:17:23 UTC 2018 - [email protected] + +- gnuhealth-control: added info about backup file + openSUSE-gnuhealth-setup added + +------------------------------------------------------------------- New: ---- openSUSE-gnuhealth-setup ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gnuhealth.spec ++++++ --- /var/tmp/diff_new_pack.gADhiN/_old 2018-07-21 10:25:20.358955753 +0200 +++ /var/tmp/diff_new_pack.gADhiN/_new 2018-07-21 10:25:20.362955752 +0200 @@ -34,11 +34,12 @@ Source2: gnuhealth-control Source3: gnuhealth.service Source4: [email protected] +Source5: openSUSE-gnuhealth-setup BuildArch: noarch Summary: A Health and Hospital Information System -License: GPL-3.0+ +License: GPL-3.0-or-later Group: Productivity/Office/Management Requires: proteus @@ -118,6 +119,7 @@ mkdir -p -m 755 %{buildroot}%{_bindir} install -p -m 755 gnuhealth-control %{buildroot}%{_bindir}/gnuhealth-control +install -p -m 755 %{S:5} %{buildroot}%{_bindir}/openSUSE-gnuhealth-setup mkdir -p $RPM_BUILD_ROOT%{_unitdir} install -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_unitdir}/%{name}.service @@ -152,6 +154,7 @@ %files %defattr(744,root,root) %{_bindir}/gnuhealth-control +%{_bindir}/openSUSE-gnuhealth-setup %{_unitdir}/%{name}.service %{_unitdir}/%{name}[email protected] %defattr(-,root,root) ++++++ GNUHealth.README.SUSE ++++++ --- /var/tmp/diff_new_pack.gADhiN/_old 2018-07-21 10:25:20.398955743 +0200 +++ /var/tmp/diff_new_pack.gADhiN/_new 2018-07-21 10:25:20.398955743 +0200 @@ -6,6 +6,17 @@ You have already installed the package gnuhealth and found this documentation. Good. +As very easy and convenient way to do all required settings, log in as user root and run openSUSE-gnuhealth-setup: + +> su +> openSUSE-gnuhealth-setup setup + +You can follow the proposals given, anyway, **it is not recommended to use default settings for a production environment** + + +The above setup-program automates the steps below, which you could do as well manually, if desired. +(If you have run openSUSE-gnuhealth-setup, the below steps are not needed additionally!) + 1) Log in as root and start the database > su > systemctl start postgresql ++++++ gnuhealth-control ++++++ --- /var/tmp/diff_new_pack.gADhiN/_old 2018-07-21 10:25:20.422955738 +0200 +++ /var/tmp/diff_new_pack.gADhiN/_new 2018-07-21 10:25:20.422955738 +0200 @@ -24,7 +24,7 @@ # ############################################################################## -VERSION="3.2.2-openSUSE" +VERSION="3.2.3-openSUSE" TRYTON_URL="http://downloads.tryton.org" GNUHEALTH_URL="http://ftp.gnu.org/gnu/health" @@ -177,17 +177,19 @@ gzip "${BACKDIR}/backup_${DB}_${BACKDATE}" || bailout cli_msg "INFO" "Compressing GNU Health Attachment directory" | tee -a $INFOFILE - - tar -cvzf "${BACKDIR}/gnuhealth_${DB}_fs_backup_${BACKDATE}.tar.gz" /var/lib/tryton || bailout +#AB - start + BACKUP_NAME=gnuhealth_${DB}_fs_backup_${BACKDATE}.tar.gz +# tar -cvzf "${BACKDIR}/gnuhealth_${DB}_fs_backup_${BACKDATE}.tar.gz" /var/lib/tryton || bailout + tar -cvzf "${BACKDIR}/${BACKUP_NAME}" /var/lib/tryton || bailout cli_msg "INFO" "Creating tarball with compressed DB and GNU Health Attachment directory" | tee -a $INFOFILE tar -cvf "${BACKDIR}/gnuhealth_${DB}_with_fs_backup_${BACKDATE}.tar" \ - ${BACKDIR}/backup_${DB}_${BACKDATE}.gz ${BACKDIR}/gnuhealth_${DB}_fs_backup_${BACKDATE}.tar.gz \ + ${BACKDIR}/backup_${DB}_${BACKDATE}.gz ${BACKDIR}/$BACKUP_NAME} \ || bailout - cli_msg "INFO" "Backup Successful" | tee -a $INFOFILE - + cli_msg "INFO" "Backup successfully written to ${BACKDIR}/${BACKUP_NAME}" | tee -a $INFOFILE +#AB - END #Remove lock file rm $LOCKFILE ++++++ openSUSE-gnuhealth-setup ++++++ #!/bin/bash # GNU Health installation script for openSUSE # Version agnostic to GNU Health ############################################################################## # # GNU Health Installer for openSUSE # # Copyright (C) 2018 Axel Braun <[email protected]> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # ############################################################################## #----------------------------------------------------------------------------- # Change log #----------------------------------------------------------------------------- # V 0.2 20180617 Axel Replace tryton with ${DB_USER} # V 0.3 20180712 Axel Set user 'tryton' to superuser (otherwise installation of DEMO-DB fails) # V 0.32 20180720 Axel Warning for production use added #----------------------------------------------------------------------------- # Variables declaration #----------------------------------------------------------------------------- #GNU Health installer for openSUSE version VERSION="0.31" # Colors constants NONE="$(tput sgr0)" RED="$(tput setaf 1)" GREEN="$(tput setaf 2)" YELLOW="\n$(tput setaf 3)" WHITE="\n$(tput setaf 7)" # Params #ROOT_PW="root" DB_NAME="GNUHEALTH" DB_ADMIN_PWD="admin" DB_USER="tryton" DB_CONFIG="/var/lib/pgsql/data/pg_hba.conf" GH_START="y" #----------------------------------------------------------------------------- # Functions #----------------------------------------------------------------------------- message() { local UTC="$(date -u +'%Y-%m-%d %H:%M:%S')" case $1 in ERROR ) echo -e "\e[00;31m${UTC} [ERROR] $2\e[00m";; WARNING ) echo -e "\e[0;33m${UTC} [WARNING] $2\e[m" ;; INFO ) echo -e "\e[0;36m${UTC} [INFO] $2\e[m" ;; esac } help() { cat << EOF This is GNU Health Setup for openSUSE ${VERSION} usage: `basename $0` command Command: version : Show version setup : Setup a GNU Health server help : shows this message EOF exit 0 } show_version () { case $1 in version) message "INFO" "This is is GNU Health setup for openSUSE V ${VERSION}"; exit 0;; esac } bailout() { message "INFO" "Bailing out !" message "INFO" "Cleaning up temporary file" rm -rf /tmp/pw # if [ -e ${BASEDIR}/.installation_ok ];then # message "WARNING" "Previous successful installation found. NOT removing base dir at ${BASEDIR}" # else # message "INFO" "removing base dir at ${BASEDIR}" # rm -rf ${BASEDIR} # fi exit 1 } #----------------------------------------------------------------------------- # go-ahead: perform update #----------------------------------------------------------------------------- go_ahead() { # login as root, start postgres echo "Starting database...." systemctl start postgresql || bailout echo "Database started" # su -postgres || bailout #then as postgres, and change parameter echo "Changing postgres trust method" sudo -u postgres sed -i -e 's/\(\(local\|host\).*all.*all.*\)\(peer\|ident\)/\1trust/g' ${DB_CONFIG} || bailout echo "Postgres trust method changed" echo "Create database user" #create user sudo -u postgres psql -c "CREATE USER ${DB_USER} WITH SUPERUSER;" echo "Database user created" echo "Creating database ${DB_NAME}" # create database sudo -u postgres createdb ${DB_NAME} --encoding='UTF8' --owner=${DB_USER} || bailout echo "Database created" #exit as postgres #exit echo "Restarting database" systemctl restart postgresql || bailout # login as user tryton #su tryton -s /bin/bash echo "Initializing database - this may take a while" echo ${DB_ADMIN_PWD} > /tmp/pw || bailout sudo -u tryton env TRYTONPASSFILE=/tmp/pw trytond-admin -c /etc/tryton/trytond.conf --all -d ${DB_NAME} --password || bailout rm /tmp/pw || bailout if [ $GH_START = "y" ]; then echo "Enabling GNU Health at boot time" systemctl enable postgresql systemctl enable gnuhealth fi echo "All done" message "WARNING" "Please review your setup before using the system in production!" } #----------------------------------------------------------------------------- # Call user parameter #----------------------------------------------------------------------------- get_root_pw() { Y='' read -p "Please enter root-password [$ROOT_PW] " Y if [ ! -e $Y ]; then ROOT_PW=$Y fi message "INFO" "root-password is $ROOT_PW" } get_db_name() { Y='' read -p "Please enter name for new database [$DB_NAME] " Y if [ ! -e $Y ]; then DB_NAME=$Y fi message "INFO" "DB-Name is $DB_NAME" } get_db_admin() { Y='' read -p "Please enter admin-password for new database [$DB_ADMIN_PWD] " Y if [ ! -e $Y ]; then DB_ADMIN_PWD=$Y fi message "INFO" "DB Admin password is $DB_ADMIN_PWD" } get_db_user() { Y='' read -p "Please enter database user [$DB_USER] " Y if [ ! -e $Y ]; then DB_USER=$Y fi message "INFO" "DB User is $DB_USER" } get_db_file() { Y='' read -p "Please enter database config file [$DB_CONFIG] " Y if [ ! -e $Y ]; then DB_CONFIG=$Y fi message "INFO" "DB config path & file $DB_CONFIG" } get_GH_start() { Y='' read -p "Shall GNU Health start automatically? [$GH_START] " Y if [ ! -e $Y ]; then GH_START=$Y fi message "INFO" "GNU Health start at boot $GH_START" } #----------------------------------------------------------------------------- # verify input #----------------------------------------------------------------------------- verify_input() { echo ; message "INFO" "DB Name is ..............$DB_NAME" message "INFO" "DB Admin password is ....$DB_ADMIN_PWD" message "INFO" "DB User is ..............$DB_USER" message "INFO" "DB config path & file is $DB_CONFIG" message "INFO" "GNU Health start at boot $GH_START" read -p "Are these values correct? [y]es/[n]o/[a]bort " VAL } #----------------------------------------------------------------------------- # Install #----------------------------------------------------------------------------- setup() { # check is it runs as root wai=`whoami` if [ $wai != "root" ]; then message "ERROR" " This script must run as user 'root'" bailout fi VAL="n" message "INFO" "Starting GNU Health setup for openSUSE V ${VERSION} ..." message "INFO" "If the value displayed is OK, just hit <ENTER> to confirm" while [ ${VAL} != "y" ]; do # (1) Get root password # get_root_pw # (2) get Database name get_db_name # (3) change login get_db_admin message "WARNING" "Change the following parameter only if you know what you are doing..." # (4) DB user get_db_user # (5) DB config file and path get_db_file # (6) enable GNUHealth at start? get_GH_start # (7) check if all are valid verify_input # request input until all is OK: if [ -e ${VAL} ]; then message "ERROR" "Please enter y, n or a" verify_input else if [ ${VAL} = "y" ]; then go_ahead exit 0 fi if [ ${VAL} = "a" ]; then exit 1 fi fi done } #----------------------------------------------------------------------------- # Parse command line #----------------------------------------------------------------------------- parse_command_line() { if [ $# -eq 0 ]; then help fi case $1 in version) show_version $@;; update-deps) install_python_dependencies $@;; setup) setup $@;; help) help;; *) echo $1: Unrecognized command; exit 1;; esac } parse_command_line "$@"
