Author: jodogne-guest Date: 2015-03-06 11:50:11 +0000 (Fri, 06 Mar 2015) New Revision: 18914
Added: trunk/packages/orthanc/trunk/debian/orthanc.init Removed: trunk/packages/orthanc/trunk/debian/orthanc-sqlite.orthanc.init Modified: trunk/packages/orthanc/trunk/debian/README.Debian trunk/packages/orthanc/trunk/debian/changelog trunk/packages/orthanc/trunk/debian/configuration/orthanc.json trunk/packages/orthanc/trunk/debian/control trunk/packages/orthanc/trunk/debian/liborthancclient-doc.README.Debian trunk/packages/orthanc/trunk/debian/orthanc-sqlite.dirs trunk/packages/orthanc/trunk/debian/orthanc.dirs trunk/packages/orthanc/trunk/debian/rules Log: removal of the orthanc-sqlite package Modified: trunk/packages/orthanc/trunk/debian/README.Debian =================================================================== --- trunk/packages/orthanc/trunk/debian/README.Debian 2015-03-05 16:06:13 UTC (rev 18913) +++ trunk/packages/orthanc/trunk/debian/README.Debian 2015-03-06 11:50:11 UTC (rev 18914) @@ -1,3 +1,6 @@ +Tutorial +======== + Once Orthanc is installed simply test your installation with: $ xdg-open http://localhost:8042/app/explorer.html @@ -5,3 +8,30 @@ Then simply drag/drop a DICOM file and you should be going. See for more info: https://code.google.com/p/orthanc/wiki/OrthancCookbook#Opening_Orthanc_Explorer + + + +Optimizing boot time +==================== + +If the postgresql package is installed on the local host, the Orthanc +service will start after PostgreSQL service. This is because Orthanc +can be configured to use PostgreSQL as its database back-end instead +of the default SQLite back-end (cf. the "orthanc-postgresql" package). + +This dependency of Orthanc against PostgreSQL can slightly impair the +boot time if Orthanc is configured to use SQLite or an external +PostgreSQL server. + +If you wish to optimize your boot time, you can safely remove +"postgresql" from the following part of "/etc/init.d/orthanc": + +>>>>> +# Should-Start: postgresql +# Should-Stop: postgresql +<<<<< + +provided that the 2 following conditions are both met: + +(1) Orthanc uses SQLite OR an external PostgreSQL server, AND +(2) the local "postgresql" package is installed. Modified: trunk/packages/orthanc/trunk/debian/changelog =================================================================== --- trunk/packages/orthanc/trunk/debian/changelog 2015-03-05 16:06:13 UTC (rev 18913) +++ trunk/packages/orthanc/trunk/debian/changelog 2015-03-06 11:50:11 UTC (rev 18914) @@ -1,6 +1,7 @@ orthanc (0.8.6+dfsg-2) UNRELEASED; urgency=medium - * New packages: orthanc-dev, orthanc-doc and orthanc-sqlite + * New packages: orthanc-dev and orthanc-doc + * Refactoring for the orthanc-postgresql package -- Sebastien Jodogne <s.jodo...@gmail.com> Tue, 03 Mar 2015 11:11:05 +0100 Modified: trunk/packages/orthanc/trunk/debian/configuration/orthanc.json =================================================================== --- trunk/packages/orthanc/trunk/debian/configuration/orthanc.json 2015-03-05 16:06:13 UTC (rev 18913) +++ trunk/packages/orthanc/trunk/debian/configuration/orthanc.json 2015-03-06 11:50:11 UTC (rev 18914) @@ -223,5 +223,35 @@ // are issued. This option sets the number of seconds of inactivity // to wait before automatically closing a DICOM association. If set // to 0, the connection is closed immediately. - "DicomAssociationCloseDelay" : 5 + "DicomAssociationCloseDelay" : 5, + + + /** + * Configuration to use PostgreSQL instead of the default SQLite + * back-end of Orthanc. You will have to install the + * "orthanc-postgresql" plugins to take advantage of this feature. + **/ + + "PostgreSQL" : { + + // Enable the use of PostgreSQL to store the Orthanc index? + "EnableIndex" : false, + + // Enable the use of PostgreSQL to store the DICOM files? + "EnableStorage" : false, + + // Option 1: Specify explicit authentication parameters + "Host" : "localhost", + "Port" : 5432, + "Database" : "orthanc", + "Username" : "orthanc", + "Password" : "my_password", + + // Option 2: Authenticate using PostgreSQL connection URI + // "ConnectionUri" : "postgresql://username:password@localhost:5432/database", + + // Optional: Disable the locking of the PostgreSQL database + "Lock" : false + + } } Modified: trunk/packages/orthanc/trunk/debian/control =================================================================== --- trunk/packages/orthanc/trunk/debian/control 2015-03-05 16:06:13 UTC (rev 18913) +++ trunk/packages/orthanc/trunk/debian/control 2015-03-06 11:50:11 UTC (rev 18914) @@ -5,7 +5,7 @@ Section: science Priority: optional Standards-Version: 3.9.6 -Homepage: https://code.google.com/p/orthanc/ +Homepage: http://www.orthanc-server.com/ Build-Depends: cmake (>= 2.8), debhelper (>= 9), initscripts (>= 2.88dsf-13.3), @@ -33,12 +33,8 @@ Package: orthanc Architecture: any -Depends: dcmtk, - adduser, - ${misc:Depends}, - ${shlibs:Depends}, - orthanc-sqlite (= ${binary:Version}) | orthanc-postgresql -Description: Lightweight, RESTful Vendor Neutral Archive for medical imaging +Depends: adduser, dcmtk, ${misc:Depends}, ${shlibs:Depends} +Description: Lightweight, RESTful DICOM server for medical imaging Orthanc aims at providing a simple, yet powerful DICOM server for medical imaging. Orthanc can turn any computer running Windows or Linux into a Vendor Neutral Archive (in other words, a mini-PACS @@ -56,22 +52,6 @@ Orthanc lets its users focus on the content of the DICOM files, hiding the complexity of the DICOM format and of the DICOM protocol. -Package: orthanc-sqlite -Architecture: any -Depends: ${misc:Depends} -Conflicts: orthanc-postgresql -Description: SQLite back-end for Orthanc - Orthanc aims at providing a simple, yet powerful DICOM server for - medical imaging. Orthanc can turn any computer running Windows or - Linux into a Vendor Neutral Archive (in other words, a mini-PACS - system). Its architecture is lightweight, meaning that no complex - database administration is required, nor the installation of - third-party dependencies. - . - This package makes Orthanc use the default SQLite database back-end - to store its index. Orthanc will also store the DICOM files directly - on the filesystem. - Package: orthanc-doc Architecture: all Section: doc Modified: trunk/packages/orthanc/trunk/debian/liborthancclient-doc.README.Debian =================================================================== --- trunk/packages/orthanc/trunk/debian/liborthancclient-doc.README.Debian 2015-03-05 16:06:13 UTC (rev 18913) +++ trunk/packages/orthanc/trunk/debian/liborthancclient-doc.README.Debian 2015-03-06 11:50:11 UTC (rev 18914) @@ -3,6 +3,9 @@ $ xdg-open file:///usr/share/doc/orthanc/OrthancClient/index.html +Sample plugins are available in the following folder: +/usr/share/doc/orthanc/OrthancClientSamples + The basic sample can be compiled with the following command: $ mkdir /tmp/OrthancClientSample Modified: trunk/packages/orthanc/trunk/debian/orthanc-sqlite.dirs =================================================================== --- trunk/packages/orthanc/trunk/debian/orthanc-sqlite.dirs 2015-03-05 16:06:13 UTC (rev 18913) +++ trunk/packages/orthanc/trunk/debian/orthanc-sqlite.dirs 2015-03-06 11:50:11 UTC (rev 18914) @@ -1 +1 @@ -etc/init.d + Deleted: trunk/packages/orthanc/trunk/debian/orthanc-sqlite.orthanc.init =================================================================== --- trunk/packages/orthanc/trunk/debian/orthanc-sqlite.orthanc.init 2015-03-05 16:06:13 UTC (rev 18913) +++ trunk/packages/orthanc/trunk/debian/orthanc-sqlite.orthanc.init 2015-03-06 11:50:11 UTC (rev 18914) @@ -1,161 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: orthanc -# Required-Start: $local_fs $remote_fs $network $syslog -# Required-Stop: $local_fs $remote_fs $network $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Orthanc init script -# Description: Orthanc, a lightweight, RESTful DICOM server -### END INIT INFO - -# Author: Sebastien Jodogne <s.jodo...@gmail.com> - -# Do NOT "set -e" - -# PATH should only include /usr/* if it runs after the mountnfs.sh script -PATH=/sbin:/usr/sbin:/bin:/usr/bin - -# You can modify the variables below -DESC="Orthanc" -NAME=Orthanc - -# Constants -DAEMON=/usr/sbin/Orthanc -LOGDIR=/var/log/orthanc -DAEMON_ARGS="--logdir=${LOGDIR} /etc/orthanc/orthanc.json" -PIDFILE=/run/orthanc.pid -SCRIPTNAME=/etc/init.d/orthanc -ORTHANC_USER=orthanc:orthanc - -# Load the VERBOSE setting and other rcS variables -. /lib/init/vars.sh - -# Define LSB log_* functions. -# Depend on lsb-base (>= 3.0-6) to ensure that this file is present. -. /lib/lsb/init-functions - -# -# Function that starts the daemon/service -# -do_start() -{ - # Prepare a directory to store the Orthanc logs - mkdir -p $LOGDIR - chown $ORTHANC_USER $LOGDIR - - # Return - # 0 if daemon has been started - # 1 if daemon was already running - # 2 if daemon could not be started - - start-stop-daemon --start --quiet --pidfile $PIDFILE --chuid $ORTHANC_USER --background --exec $DAEMON --test > /dev/null \ - || return 1 - - start-stop-daemon --start --quiet --make-pidfile --pidfile $PIDFILE --chuid $ORTHANC_USER --background --exec $DAEMON -- $DAEMON_ARGS \ - || return 2 - - # Add code here, if necessary, that waits for the process to be ready - # to handle requests from services started subsequently which depend - # on this one. As a last resort, sleep for some time. -} - -# -# Function that stops the daemon/service -# -do_stop() -{ - # Return - # 0 if daemon has been stopped - # 1 if daemon was already stopped - # 2 if daemon could not be stopped - # other if a failure occurred - start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --chuid $ORTHANC_USER --name $NAME - RETVAL="$?" - [ "$RETVAL" = 2 ] && return 2 - - # Wait for children to finish too if this is a daemon that forks - # and if the daemon is only ever run from this initscript. - # If the above conditions are not satisfied then add some other code - # that waits for the process to drop all resources that could be - # needed by services started subsequently. A last resort is to - # sleep for some time. - start-stop-daemon --stop --quiet --oknodo --retry=0/1/KILL/5 --chuid $ORTHANC_USER --exec $DAEMON - [ "$?" = 2 ] && return 2 - # Many daemons don't delete their pidfiles when they exit. - rm -f $PIDFILE - return "$RETVAL" -} - -# -# Function that sends a SIGHUP to the daemon/service -# -do_reload() { - # - # If the daemon can reload its configuration without - # restarting (for example, when it is sent a SIGHUP), - # then implement that here. - # - start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --chuid $ORTHANC_USER --name $NAME - return 0 -} - -case "$1" in - start) - [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" - do_start - case "$?" in - 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; - 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; - esac - ;; - stop) - [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" - do_stop - case "$?" in - 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; - 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; - esac - ;; - status) - status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? - ;; - #reload|force-reload) - # - # If do_reload() is not implemented then leave this commented out - # and leave 'force-reload' as an alias for 'restart'. - # - #log_daemon_msg "Reloading $DESC" "$NAME" - #do_reload - #log_end_msg $? - #;; - restart|force-reload) - # - # If the "reload" option is implemented then remove the - # 'force-reload' alias - # - log_daemon_msg "Restarting $DESC" "$NAME" - do_stop - case "$?" in - 0|1) - do_start - case "$?" in - 0) log_end_msg 0 ;; - 1) log_end_msg 1 ;; # Old process is still running - *) log_end_msg 1 ;; # Failed to start - esac - ;; - *) - # Failed to stop - log_end_msg 1 - ;; - esac - ;; - *) - #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 - echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 - exit 3 - ;; -esac - -: Modified: trunk/packages/orthanc/trunk/debian/orthanc.dirs =================================================================== --- trunk/packages/orthanc/trunk/debian/orthanc.dirs 2015-03-05 16:06:13 UTC (rev 18913) +++ trunk/packages/orthanc/trunk/debian/orthanc.dirs 2015-03-06 11:50:11 UTC (rev 18914) @@ -1,3 +1,4 @@ +etc/init.d etc/orthanc usr/sbin usr/share/doc/orthanc Copied: trunk/packages/orthanc/trunk/debian/orthanc.init (from rev 18913, trunk/packages/orthanc/trunk/debian/orthanc-sqlite.orthanc.init) =================================================================== --- trunk/packages/orthanc/trunk/debian/orthanc.init (rev 0) +++ trunk/packages/orthanc/trunk/debian/orthanc.init 2015-03-06 11:50:11 UTC (rev 18914) @@ -0,0 +1,163 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: orthanc +# Required-Start: $local_fs $remote_fs $network $syslog +# Required-Stop: $local_fs $remote_fs $network $syslog +# Should-Start: postgresql +# Should-Stop: postgresql +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Orthanc init script +# Description: Orthanc - Lightweight, RESTful Vendor Neutral Archive +### END INIT INFO + +# Author: Sebastien Jodogne <s.jodo...@gmail.com> + +# Do NOT "set -e" + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +# You can modify the variables below +DESC="Orthanc" +NAME=Orthanc + +# Constants +DAEMON=/usr/sbin/Orthanc +LOGDIR=/var/log/orthanc +DAEMON_ARGS="--logdir=${LOGDIR} /etc/orthanc/orthanc.json" +PIDFILE=/run/orthanc.pid +SCRIPTNAME=/etc/init.d/orthanc +ORTHANC_USER=orthanc:orthanc + +# Load the VERBOSE setting and other rcS variables +. /lib/init/vars.sh + +# Define LSB log_* functions. +# Depend on lsb-base (>= 3.0-6) to ensure that this file is present. +. /lib/lsb/init-functions + +# +# Function that starts the daemon/service +# +do_start() +{ + # Prepare a directory to store the Orthanc logs + mkdir -p $LOGDIR + chown $ORTHANC_USER $LOGDIR + + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + + start-stop-daemon --start --quiet --pidfile $PIDFILE --chuid $ORTHANC_USER --background --exec $DAEMON --test > /dev/null \ + || return 1 + + start-stop-daemon --start --quiet --make-pidfile --pidfile $PIDFILE --chuid $ORTHANC_USER --background --exec $DAEMON -- $DAEMON_ARGS \ + || return 2 + + # Add code here, if necessary, that waits for the process to be ready + # to handle requests from services started subsequently which depend + # on this one. As a last resort, sleep for some time. +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --chuid $ORTHANC_USER --name $NAME + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + + # Wait for children to finish too if this is a daemon that forks + # and if the daemon is only ever run from this initscript. + # If the above conditions are not satisfied then add some other code + # that waits for the process to drop all resources that could be + # needed by services started subsequently. A last resort is to + # sleep for some time. + start-stop-daemon --stop --quiet --oknodo --retry=0/1/KILL/5 --chuid $ORTHANC_USER --exec $DAEMON + [ "$?" = 2 ] && return 2 + # Many daemons don't delete their pidfiles when they exit. + rm -f $PIDFILE + return "$RETVAL" +} + +# +# Function that sends a SIGHUP to the daemon/service +# +do_reload() { + # + # If the daemon can reload its configuration without + # restarting (for example, when it is sent a SIGHUP), + # then implement that here. + # + start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --chuid $ORTHANC_USER --name $NAME + return 0 +} + +case "$1" in + start) + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" + do_start + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + stop) + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + #reload|force-reload) + # + # If do_reload() is not implemented then leave this commented out + # and leave 'force-reload' as an alias for 'restart'. + # + #log_daemon_msg "Reloading $DESC" "$NAME" + #do_reload + #log_end_msg $? + #;; + restart|force-reload) + # + # If the "reload" option is implemented then remove the + # 'force-reload' alias + # + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; + *) + #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 + exit 3 + ;; +esac + +: Modified: trunk/packages/orthanc/trunk/debian/rules =================================================================== --- trunk/packages/orthanc/trunk/debian/rules 2015-03-05 16:06:13 UTC (rev 18913) +++ trunk/packages/orthanc/trunk/debian/rules 2015-03-06 11:50:11 UTC (rev 18914) @@ -63,13 +63,6 @@ # Move the Orthanc binaries to "/usr/sbin" dh_install Build/Orthanc usr/sbin -override_dh_installinit: - # Install "debian/orthanc-sqlite.orthanc.init" as - # "/etc/init.d/orthanc.init", but do not start/stop the - # "orthanc" service from the orthanc-sqlite package. It is - # stopped/started from prerm/postinst in the orthanc package. - dh_installinit --package=orthanc-sqlite --name=orthanc --no-start - override_dh_installchangelogs: dh_installchangelogs -k NEWS _______________________________________________ debian-med-commit mailing list debian-med-commit@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit