This is an automated email from the git hooks/post-receive script. spectra pushed a commit to branch master in repository conquest-dicom-server.
commit 7cdc546944c8206293746f958bd488b2269a98d3 Author: Pablo Lorenzzoni <[email protected]> Date: Sat Mar 29 12:45:34 2014 +0000 Begin to compile other backends and split package. --- debian/README.Debian | 26 ++---- debian/README.cgi | 14 +++ debian/TODO | 6 +- ...uest-dicom-server.dirs => conquest-common.dirs} | 0 ... => conquest-common.doc-base.dicom-conformance} | 0 ...anual => conquest-common.doc-base.linux-manual} | 0 ...ual => conquest-common.doc-base.windows-manual} | 0 debian/{docs => conquest-common.docs} | 1 + ...om-server.examples => conquest-common.examples} | 0 debian/conquest-common.install | 4 + debian/conquest-dbase.install | 4 + ...erver.init => conquest-dicom-server.dgate.init} | 4 +- debian/conquest-dicom-server.postinst | 9 +- debian/conquest-mysql.install | 4 + debian/conquest-postgres.install | 4 + debian/conquest-sqlite.install | 4 + debian/control | 99 +++++++++++++++++++++- debian/make-manpage | 3 +- debian/replicate-common-files | 11 +++ debian/rules | 75 ++++++++-------- 20 files changed, 198 insertions(+), 70 deletions(-) diff --git a/debian/README.Debian b/debian/README.Debian index 82e8d83..6f63dde 100644 --- a/debian/README.Debian +++ b/debian/README.Debian @@ -20,25 +20,13 @@ Running User The main software runs under an unpriviledged user (_conquest) as daemon (initscripts were provided). Check README._conquest for details. -CGI Interface -------------- -The main software can act as a CGI behind a webserver and it's the only -"friendly" interface provided in GNU/Linux version (Windows version has a -GUI). It still can be used as such, but you'll have to copy/move the binary -to the proper place yourself. This package only provides it as a DICOM server -out-of-the-box. - -I recommend against running it as a CGI interface since it is not very -secure. If anytime in the future I (or upstream) am able to patch the -obvious vulnerabilities, I will prepare the package to act as a CGI interface -as well, but that is just not the case righ now. - -Other Databases ---------------- -Originally ConQuest can work with DBIII, SQLite, MySQL or PostgreSQL. This -package was only compiled to work with SQLite, for now. In the future I -intend to work on different versions to provide the remaining databases -connectors. +Database backends +----------------- +The database backend for ConQuest needs to be decided at compilation time. So +we provide 4 different binary packages named after the database backend they +use: conquest-{dbase,mysql,postgres,mysql}. + +At this moment they conflict each other, so you can only have one installed. Modified Shipped Libraries -------------------------- diff --git a/debian/README.cgi b/debian/README.cgi new file mode 100644 index 0000000..5c805bf --- /dev/null +++ b/debian/README.cgi @@ -0,0 +1,14 @@ +CGI Interface +------------- +The main software can act as a CGI behind a webserver and it's the only +"friendly" interface provided in GNU/Linux version (Windows version has a +GUI). It still can be used as such, but you'll have to copy/move the binary +to the proper place yourself. This package only provides it as a DICOM server +out-of-the-box. + +I recommend against running it as a CGI interface since it is not very +secure. If anytime in the future I (or upstream) am able to patch the +obvious vulnerabilities, I will prepare the package to act as a CGI interface +as well, but that is just not the case righ now. + + diff --git a/debian/TODO b/debian/TODO index ff193af..d565630 100644 --- a/debian/TODO +++ b/debian/TODO @@ -1,6 +1,3 @@ -[ ] Add support for MySQL -[ ] Add support for DBIII -[ ] Add support for PostgreSQL [ ] Replace get-orig-source [!!] Bind to 127.0.0.1 by default (probably have to patch source code) @@ -9,3 +6,6 @@ [**] Add Manpage [**] Convert Repository layout to git-buildpackage [**] Run as non-root user +[**] Add support for MySQL +[**] Add support for DBIII +[**] Add support for PostgreSQL diff --git a/debian/conquest-dicom-server.dirs b/debian/conquest-common.dirs similarity index 100% rename from debian/conquest-dicom-server.dirs rename to debian/conquest-common.dirs diff --git a/debian/conquest-dicom-server.doc-base.dicom-conformance b/debian/conquest-common.doc-base.dicom-conformance similarity index 100% rename from debian/conquest-dicom-server.doc-base.dicom-conformance rename to debian/conquest-common.doc-base.dicom-conformance diff --git a/debian/conquest-dicom-server.doc-base.linux-manual b/debian/conquest-common.doc-base.linux-manual similarity index 100% rename from debian/conquest-dicom-server.doc-base.linux-manual rename to debian/conquest-common.doc-base.linux-manual diff --git a/debian/conquest-dicom-server.doc-base.windows-manual b/debian/conquest-common.doc-base.windows-manual similarity index 100% rename from debian/conquest-dicom-server.doc-base.windows-manual rename to debian/conquest-common.doc-base.windows-manual diff --git a/debian/docs b/debian/conquest-common.docs similarity index 88% rename from debian/docs rename to debian/conquest-common.docs index 929bafa..2bc350d 100644 --- a/debian/docs +++ b/debian/conquest-common.docs @@ -1,3 +1,4 @@ linuxmanual.pdf windowsmanual.pdf DicomConformance_FilesLST_Changes.pdf +README.* diff --git a/debian/conquest-dicom-server.examples b/debian/conquest-common.examples similarity index 100% rename from debian/conquest-dicom-server.examples rename to debian/conquest-common.examples diff --git a/debian/conquest-common.install b/debian/conquest-common.install new file mode 100755 index 0000000..e9c8403 --- /dev/null +++ b/debian/conquest-common.install @@ -0,0 +1,4 @@ +#!/usr/bin/dh-exec +dgate.dic => etc/conquest-dicom-server/dgate.dic +acrnema.map => etc/conquest-dicom-server/acrnema.map +dgatesop.lst => etc/conquest-dicom-server/dgatesop.lst diff --git a/debian/conquest-dbase.install b/debian/conquest-dbase.install new file mode 100755 index 0000000..e9e3054 --- /dev/null +++ b/debian/conquest-dbase.install @@ -0,0 +1,4 @@ +#!/usr/bin/dh-exec +dgate-dbase => usr/bin/dgate +dicom.sql.dbase => etc/conquest-dicom-server/dicom.sql +dicom.ini.dbase => etc/conquest-dicom-server/dicom.ini diff --git a/debian/conquest-dicom-server.init b/debian/conquest-dicom-server.dgate.init similarity index 97% rename from debian/conquest-dicom-server.init rename to debian/conquest-dicom-server.dgate.init index cc7d8f8..b08bbf3 100755 --- a/debian/conquest-dicom-server.init +++ b/debian/conquest-dicom-server.dgate.init @@ -1,6 +1,6 @@ #!/bin/sh ### BEGIN INIT INFO -# Provides: conquest-dicom-server +# Provides: dgate # Required-Start: $network $local_fs $remote_fs # Required-Stop: $network $local_fs $remote_fs # Default-Start: 2 3 4 5 @@ -22,7 +22,7 @@ USER=_conquest GROUP=_conquest NAME=dgate DAEMON=/usr/bin/$NAME # Introduce the server's location here -DAEMON_ARGS="-^$LOGDIR/dgate.log" # Arguments to run the daemon with +DAEMON_ARGS="-^$LOGDIR/$NAME.log" # Arguments to run the daemon with PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME diff --git a/debian/conquest-dicom-server.postinst b/debian/conquest-dicom-server.postinst index 2dafaa4..40ce4d1 100644 --- a/debian/conquest-dicom-server.postinst +++ b/debian/conquest-dicom-server.postinst @@ -3,6 +3,7 @@ set -e PACKAGE=conquest-dicom-server +SCRIPTNAME=dgate USER=_conquest GROUP=_conquest ETCDIR=/etc/$PACKAGE @@ -26,12 +27,12 @@ create_user_group() { setup_db() { echo "We'll regenerate the database..." if which invoke-rc.d >/dev/null 2>&1; then - invoke-rc.d $PACKAGE regen + invoke-rc.d $SCRIPTNAME regen else - /etc/init.d/$PACKAGE regen + /etc/init.d/$SCRIPTNAME regen fi - echo "If it's the first time you install $PACKAGE, disregard any error" \ - "messages about absent database tables." + echo -e "\n\nIf it's the first time you install $PACKAGE, disregard any" \ + "error messages about absent database tables." } # Change ownership of files diff --git a/debian/conquest-mysql.install b/debian/conquest-mysql.install new file mode 100755 index 0000000..78f0f2e --- /dev/null +++ b/debian/conquest-mysql.install @@ -0,0 +1,4 @@ +#!/usr/bin/dh-exec +dgate-mysql => usr/bin/dgate +dicom.sql.mysql => etc/conquest-dicom-server/dicom.sql +dicom.ini.mysql => etc/conquest-dicom-server/dicom.ini diff --git a/debian/conquest-postgres.install b/debian/conquest-postgres.install new file mode 100755 index 0000000..fcd0058 --- /dev/null +++ b/debian/conquest-postgres.install @@ -0,0 +1,4 @@ +#!/usr/bin/dh-exec +dgate-postgres => usr/bin/dgate +dicom.sql.postgres => etc/conquest-dicom-server/dicom.sql +dicom.ini.postgres => etc/conquest-dicom-server/dicom.ini diff --git a/debian/conquest-sqlite.install b/debian/conquest-sqlite.install new file mode 100755 index 0000000..e155d41 --- /dev/null +++ b/debian/conquest-sqlite.install @@ -0,0 +1,4 @@ +#!/usr/bin/dh-exec +dgate-sqlite => usr/bin/dgate +dicom.sql.sqlite => etc/conquest-dicom-server/dicom.sql +dicom.ini.sqlite => etc/conquest-dicom-server/dicom.ini diff --git a/debian/control b/debian/control index a320ee4..1d255c4 100644 --- a/debian/control +++ b/debian/control @@ -1,17 +1,20 @@ Source: conquest-dicom-server -Section: web +Section: science Maintainer: Debian Med Packaging Team <[email protected]> Uploaders: Pablo Lorenzzoni <[email protected]>, Mathieu Malaterre <[email protected]> Priority: extra -Build-Depends: debhelper (>= 9), liblua5.1-dev, libsqlite3-dev, autotools-dev, dh-autoreconf, help2man (>= 1.40.10) +Build-Depends: debhelper (>= 9), dh-exec, liblua5.1-dev, autotools-dev, dh-autoreconf, help2man (>= 1.40.10), libsqlite3-dev, libmysqlclient-dev, libpq-dev Standards-Version: 3.9.5 Vcs-Browser: http://anonscm.debian.org/tweb/?p=debian-med/conquest-dicom-server.git Vcs-Git: git://anonscm.debian.org/debian-med/conquest-dicom-server.git Homepage: http://ingenium.home.xs4all.nl/dicom.html -Package: conquest-dicom-server +Package: conquest-sqlite Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, adduser (>= 3.11) +Depends: ${shlibs:Depends}, ${misc:Depends}, adduser (>= 3.11), conquest-common +Provides: conquest-dicom-server +Conflicts: conquest-dicom-server +Replaces: conquest-dicom-server Description: DICOM Server with storage, verification, query and retrieve A full featured DICOM server that has been developed based on and heavily extending the public domain UCDMC DICOM code. Some possible applications of @@ -25,3 +28,91 @@ Description: DICOM Server with storage, verification, query and retrieve - Advanced scriptable image modification, filtering, forwarding and conversion - DICOM caching and archive merging + . + This package uses SQLite as database backend. + +Package: conquest-dbase +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, adduser (>= 3.11), conquest-common +Provides: conquest-dicom-server +Conflicts: conquest-dicom-server +Replaces: conquest-dicom-server +Description: DICOM Server with storage, verification, query and retrieve + A full featured DICOM server that has been developed based on and heavily + extending the public domain UCDMC DICOM code. Some possible applications of + the ConQuest DICOM software are: + - DICOM training and testing + - Demonstration and research image archives + - Image format conversion from a scanner with DICOM network access + - DICOM image viewing and slide making + - DICOM image selection, (limited) editing, and splitting and merging of + series + - Advanced scriptable image modification, filtering, forwarding and + conversion + - DICOM caching and archive merging + . + This package uses DBase files as database backend. + +Package: conquest-postgres +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, adduser (>= 3.11), conquest-common +Provides: conquest-dicom-server +Conflicts: conquest-dicom-server +Replaces: conquest-dicom-server +Description: DICOM Server with storage, verification, query and retrieve + A full featured DICOM server that has been developed based on and heavily + extending the public domain UCDMC DICOM code. Some possible applications of + the ConQuest DICOM software are: + - DICOM training and testing + - Demonstration and research image archives + - Image format conversion from a scanner with DICOM network access + - DICOM image viewing and slide making + - DICOM image selection, (limited) editing, and splitting and merging of + series + - Advanced scriptable image modification, filtering, forwarding and + conversion + - DICOM caching and archive merging + . + This package uses PostgreSQL as database backend. + +Package: conquest-mysql +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, adduser (>= 3.11), conquest-common +Provides: conquest-dicom-server +Conflicts: conquest-dicom-server +Replaces: conquest-dicom-server +Description: DICOM Server with storage, verification, query and retrieve + A full featured DICOM server that has been developed based on and heavily + extending the public domain UCDMC DICOM code. Some possible applications of + the ConQuest DICOM software are: + - DICOM training and testing + - Demonstration and research image archives + - Image format conversion from a scanner with DICOM network access + - DICOM image viewing and slide making + - DICOM image selection, (limited) editing, and splitting and merging of + series + - Advanced scriptable image modification, filtering, forwarding and + conversion + - DICOM caching and archive merging + . + This package uses MySQL as database backend. + +Package: conquest-common +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Suggests: conquest-dicom-server +Description: ConQuest DICOM Server common files + A full featured DICOM server that has been developed based on and heavily + extending the public domain UCDMC DICOM code. Some possible applications of + the ConQuest DICOM software are: + - DICOM training and testing + - Demonstration and research image archives + - Image format conversion from a scanner with DICOM network access + - DICOM image viewing and slide making + - DICOM image selection, (limited) editing, and splitting and merging of + series + - Advanced scriptable image modification, filtering, forwarding and + conversion + - DICOM caching and archive merging + . + This package contains common files. diff --git a/debian/make-manpage b/debian/make-manpage index d6fb653..82493c1 100755 --- a/debian/make-manpage +++ b/debian/make-manpage @@ -1,6 +1,5 @@ #!/bin/sh -PACKAGE=conquest-dicom-server VERSION=`dpkg-parsechangelog | sed -n -e 's/^Version: \(.*\)-[^-]*$/\1/p'` help2man -h "-w$PWD -?" -N -s 1 -n "UCDMC/NKI DICOM server thread and PACS utility application" \ @@ -15,4 +14,4 @@ help2man -h "-w$PWD -?" -N -s 1 -n "UCDMC/NKI DICOM server thread and PACS utili --include debian/manparts/aetitle.h2m \ --include debian/manparts/author.h2m \ --include debian/manparts/reportingbugs.h2m \ - -o dgate.1 ./dgate + -o dgate.1 ./dgate-dbase diff --git a/debian/replicate-common-files b/debian/replicate-common-files new file mode 100755 index 0000000..923ad84 --- /dev/null +++ b/debian/replicate-common-files @@ -0,0 +1,11 @@ +#!/bin/sh + +EXTENSIONS="dgate.init manpages lintian-overrides postinst postrm" +PACKAGES="conquest-dbase conquest-mysql conquest-postgres conquest-sqlite" +BASE=conquest-dicom-server + +for package in $PACKAGES; do + for extension in $EXTENSIONS; do + cp debian/$BASE.$extension debian/$package.$extension + done +done diff --git a/debian/rules b/debian/rules index 9912ca8..d0155d1 100755 --- a/debian/rules +++ b/debian/rules @@ -14,12 +14,41 @@ LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS) %: dh $@ --with autotools_dev +override_dh_auto_clean: + #dh_autoreconf_clean --sourcedirectory=jasper-1.900.1-6ct + (cd jasper-1.900.1-6ct && ($(MAKE) distclean || echo "Already clean")) + (cd jpeg-6c && ($(MAKE) distclean || echo "Already clean")) + +override_dh_clean: + -rm dgate-* + -rm dgate.1 + -rm debian/conquest-{mysql,postgres,dbase,sqlite}.{manpages,lintian-overrides,postrm,postinst,dgate.init} + # autoreconf ? + dh_clean jasper-1.900.1-6ct/config.log + dh_clean jasper-1.900.1-6ct/config.status + dh_clean jpeg-6c/config.log + dh_clean jpeg-6c/config.status + override_dh_auto_configure: # see bug #673254 #dh_autoreconf --sourcedirectory=jasper-1.900.1-6ct -- -i --force (cd jasper-1.900.1-6ct && autoreconf -i --force) dh_auto_configure --sourcedirectory=jasper-1.900.1-6ct -- --disable-libjpeg dh_auto_configure --sourcedirectory=jpeg-6c + ./debian/replicate-common-files + +override_dh_auto_build: dgate.1 + +override_dh_compress: + # Avoid compressing PDF files + dh_compress -X.pdf -X.lua -X.cq -Xsop -Xini + +override_dh_installinit: + # Install a common initscript + dh_installinit --name=dgate + +get-orig-source: + ./debian/get-orig-source jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a: $(MAKE) -C jasper-1.900.1-6ct @@ -27,43 +56,17 @@ jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a: jpeg-6c/libjpeg.a: $(MAKE) -C jpeg-6c -dgate: jpeg-6c/libjpeg.a jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a - $(CPP) $(CPPFLAGS) $(CXXFLAGS) -Ijasper-1.900.1-6ct/src/libjasper/include -Ijpeg-6c -I/usr/include/lua5.1 -DUNIX -DNATIVE_ENDIAN=1 -DHAVE_LIBJASPER -DHAVE_LIBJPEG -DUSESQLITE -Wno-write-strings total.cpp -o dgate -lpthread -llua5.1 -lsqlite3 jpeg-6c/libjpeg.a jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a -Wno-multichar $(LDFLAGS) +dgate-sqlite: jpeg-6c/libjpeg.a jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a + $(CPP) $(CPPFLAGS) $(CXXFLAGS) -Ijasper-1.900.1-6ct/src/libjasper/include -Ijpeg-6c -I/usr/include/lua5.1 -DUNIX -DNATIVE_ENDIAN=1 -DHAVE_LIBJASPER -DHAVE_LIBJPEG -DUSESQLITE -Wno-write-strings total.cpp -o dgate-sqlite -lpthread -llua5.1 -lsqlite3 jpeg-6c/libjpeg.a jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a -Wno-multichar $(LDFLAGS) -dgate.1: dgate - ./debian/make-manpage +dgate-dbase: jpeg-6c/libjpeg.a jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a + $(CPP) $(CPPFLAGS) $(CXXFLAGS) -Ijasper-1.900.1-6ct/src/libjasper/include -Ijpeg-6c -I/usr/include/lua5.1 -DUNIX -DNATIVE_ENDIAN=1 -DHAVE_LIBJASPER -DHAVE_LIBJPEG -Wno-write-strings total.cpp -o dgate-dbase -lpthread -llua5.1 jpeg-6c/libjpeg.a jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a -Wno-multichar $(LDFLAGS) -override_dh_auto_build: dgate.1 - cp dicom.ini.sqlite dicom.ini - cp dicom.sql.sqlite dicom.sql - -override_dh_install: - # DICOM Server: - dh_install dgate usr/bin/ - dh_install dgate.dic etc/conquest-dicom-server/ - dh_install dicom.sql etc/conquest-dicom-server/ - dh_install dicom.ini etc/conquest-dicom-server/ - dh_install acrnema.map etc/conquest-dicom-server/ - dh_install dgatesop.lst etc/conquest-dicom-server/ +dgate-postgres: jpeg-6c/libjpeg.a jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a + $(CPP) $(CPPFLAGS) $(CXXFLAGS) -Ijasper-1.900.1-6ct/src/libjasper/include -Ijpeg-6c -I/usr/include/lua5.1 -I/usr/include/postgresql -DUNIX -DNATIVE_ENDIAN=1 -DHAVE_LIBJASPER -DHAVE_LIBJPEG -DPOSTGRES -Wno-write-strings total.cpp -o dgate-postgres -lpthread -llua5.1 -lpq jpeg-6c/libjpeg.a jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a -Wno-multichar $(LDFLAGS) -override_dh_compress: - # Avoid compressing PDF files - dh_compress -X.pdf -X.lua -X.cq -Xsop -Xini - -override_dh_auto_clean: - #dh_autoreconf_clean --sourcedirectory=jasper-1.900.1-6ct - (cd jasper-1.900.1-6ct && ($(MAKE) distclean || echo "Already clean")) - (cd jpeg-6c && ($(MAKE) distclean || echo "Already clean")) +dgate-mysql: jpeg-6c/libjpeg.a jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a + $(CPP) $(CPPFLAGS) $(CXXFLAGS) -Ijasper-1.900.1-6ct/src/libjasper/include -Ijpeg-6c -I/usr/include/lua5.1 -I/usr/include/mysql -DUNIX -DNATIVE_ENDIAN=1 -DHAVE_LIBJASPER -DHAVE_LIBJPEG -DUSEMYSQL -Wno-write-strings total.cpp -o dgate-mysql -lpthread -llua5.1 -lmysqlclient jpeg-6c/libjpeg.a jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a -Wno-multichar $(LDFLAGS) -override_dh_clean: - -rm dgate - #dh_clean dicom.ini - #dh_clean dicom.sql - # autoreconf ? - dh_clean jasper-1.900.1-6ct/config.log - dh_clean jasper-1.900.1-6ct/config.status - dh_clean jpeg-6c/config.log - dh_clean jpeg-6c/config.status - -get-orig-source: - ./debian/get-orig-source +dgate.1: dgate-sqlite dgate-mysql dgate-postgres dgate-dbase + ./debian/make-manpage -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/conquest-dicom-server.git _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
