debian/0000755000000000000000000000000012137214167007172 5ustar debian/clean0000644000000000000000000000311312127060560010170 0ustar Makefile.in aclocal.m4 admin/compile admin/config.guess admin/config.sub admin/depcomp admin/install-sh admin/ltmain.sh admin/missing configure etc/Makefile.in libltdl/configure libltdl/lt_error.c libltdl/lt_dlloader.c libltdl/lt__alloc.c libltdl/config.h libltdl/config-h.in libltdl/ltdl.h libltdl/loaders/preopen.c libltdl/loaders/load_add_on.c libltdl/loaders/dlopen.c libltdl/loaders/dyld.c libltdl/loaders/loadlibrary.c libltdl/loaders/dld_link.c libltdl/loaders/shl_load.c libltdl/COPYING.LIB libltdl/config/ltmain.sh libltdl/config/compile libltdl/config/depcomp libltdl/config/config.guess libltdl/config/missing libltdl/config/config.sub libltdl/config/install-sh libltdl/config.log libltdl/config.status libltdl/slist.c libltdl/aclocal.m4 libltdl/libltdl/lt_system.h libltdl/libltdl/lt__dirent.h libltdl/libltdl/lt_dlloader.h libltdl/libltdl/slist.h libltdl/libltdl/lt__strl.h libltdl/libltdl/lt__alloc.h libltdl/libltdl/lt_error.h libltdl/libltdl/lt__private.h libltdl/libltdl/lt__glibc.h libltdl/README libltdl/m4/argz.m4 libltdl/m4/ltoptions.m4 libltdl/m4/libtool.m4 libltdl/m4/ltversion.m4 libltdl/m4/ltsugar.m4 libltdl/m4/ltdl.m4 libltdl/m4/lt~obsolete.m4 libltdl/argz.c libltdl/configure.ac libltdl/ltdl.c libltdl/lt__dirent.c libltdl/lt__strl.c libltdl/Makefile libltdl/Makefile.in libltdl/Makefile.am libltdl/argz_.h libltdl/stamp-h1 libltdl/libtool m4macros/libtool.m4 m4macros/ltdl.m4 m4macros/ltoptions.m4 m4macros/ltsugar.m4 m4macros/ltversion.m4 m4macros/lt~obsolete.m4 src/Makefile.in src/esorex.man src/tests/Makefile.in src/tests/esorex_json-test.log tests/Makefile.in src/esorex.log debian/compat0000644000000000000000000000000212127060560010363 0ustar 9 debian/changelog0000644000000000000000000000147312137213677011056 0ustar esorex (3.10-1) unstable; urgency=low * Change distribution to unstable -- Ole Streicher Sun, 28 Apr 2013 14:35:34 +0200 esorex (3.10-1~exp2) experimental; urgency=low * Correct default plugin path. Closes: #704752 -- Ole Streicher Mon, 08 Apr 2013 13:14:35 +0200 esorex (3.10-1~exp1) experimental; urgency=low * New upstream version -- Ole Streicher Mon, 18 Mar 2013 15:47:29 +0100 esorex (3.9.6-1) unstable; urgency=low * New upstream version * Add Multi-Arch default plugin directory * Set DM-Upload-Allowed -- Ole Streicher Fri, 11 May 2012 12:00:00 +0200 esorex (3.9.0-1) unstable; urgency=low * New package. Closes: #641634 -- Ole Streicher Fri, 25 Nov 2011 12:08:00 +0200 debian/control0000644000000000000000000000260412127060560010572 0ustar Source: esorex Section: science Priority: optional Maintainer: Debian Science Maintainers Uploaders: Ole Streicher Build-Depends: debhelper (>= 9), dh-autoreconf, help2man, libcfitsio3-dev, libcpl-dev (>= 6), libltdl-dev, wcslib-dev Standards-Version: 3.9.4 Homepage: http://www.eso.org/sci/software/cpl/esorex.html Vcs-Git: git://anonscm.debian.org/debian-science/packages/esorex.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=debian-science/packages/esorex.git Package: esorex Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends} Description: Execution Tool for European Southern Observatory pipelines EsoRex is the European Southern Observatory (ESO) Recipe Execution Tool. It can list, configure and execute CPL-based recipes from the command line. . The Common Pipeline Library (CPL) comprises a set of ISO-C libraries that provide a comprehensive, efficient and robust software toolkit. It forms a basis for the creation of automated astronomical data-reduction tasks. . One of the features provided by the CPL is the ability to create data-reduction algorithms that run as plugins (dynamic libraries). These are called "recipes" and are one of the main aspects of the CPL data-reduction development environment. debian/docs0000644000000000000000000000002611751773160010047 0ustar BUGS NEWS README TODO debian/copyright0000644000000000000000000000642611751773160011141 0ustar Format: http://anonscm.debian.org/viewvc/dep/web/deps/dep5.mdwn?revision=202 Upstream-Name: esorex Upstream-Author: Derek McKay , Michael Kiesgen , Neil Ferguson , Ralf Palsa License: GPL-2 On Debian systems, the full text of the GNU General Public License version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. debian/watch0000644000000000000000000000033212127060560010214 0ustar version=3 opts=uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha|b|a)[\-\.]?\d*)$/$1~$2/ \ http://www.eso.org/sci/software/cpl/download.html .*/esorex-(\d.*)\.(?:tgz|tbz2|txz|tar\.(?:gz|bz2|xz)) debian uupdate debian/patches/0000755000000000000000000000000012131047103010605 5ustar debian/patches/fix-autotools.patch0000644000000000000000000000045312127060560014454 0ustar Author: Ole Streicher Subject: Fix autotools files to allow the current version. --- a/configure.ac +++ b/configure.ac @@ -5,6 +5,7 @@ AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_AUX_DIR([admin]) +AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADERS([config.h]) AC_CANONICAL_HOST debian/patches/cpl60_compat.patch0000644000000000000000000000057712127060560014135 0ustar Author: Ole Streicher Subject: Remove function that is only in cpl >= 6.3 to establish compability with older (stable) versions and allow backporting. --- a/src/er_main.c +++ b/src/er_main.c @@ -641,7 +641,6 @@ cpl_msg_set_domain (PACKAGE); cpl_msg_set_time_off (); -cpl_msg_set_threadid_off (); cpl_msg_set_domain_on (); cpl_msg_set_component_off (); debian/patches/fix_format_strings.patch0000644000000000000000000000151512127060560015546 0ustar Author: Ole Streicher Description: Fix -Werror=format-security errors --- a/src/er_paramutils.c +++ b/src/er_paramutils.c @@ -731,7 +731,7 @@ (void) strcat (tmp, " to "); (void) strcat (tmp, er_strutils_dblstr (cpl_parameter_get_range_max_double (p))); (void) strcat (tmp, ".\n"); - cpl_msg_error (er_func, tmp); + cpl_msg_error (er_func, "%s", tmp); cpl_free(tmp); return -1; --- a/src/er_plugin.c +++ b/src/er_plugin.c @@ -367,7 +367,7 @@ if (wer != 0) { (void) snprintf(estr,(size_t)238,"Expansion of %s failed...",xpath); - cpl_msg_error (er_func, estr); + cpl_msg_error (er_func, "%s", estr); goto dealloc; } } debian/patches/series0000644000000000000000000000026012127060560012027 0ustar remove-private-ltdl.patch fix-autotools.patch generate-manpage.patch remove-empty-configdir.patch set-default-plugin-path.patch use-std-paths-for-libs.patch cpl60_compat.patch debian/patches/generate-manpage.patch0000644000000000000000000001140112127060560015032 0ustar Author: Ole Streicher Subject: Generate a manpage for esorex. --- a/src/Makefile.am +++ b/src/Makefile.am @@ -62,3 +62,7 @@ include $(top_builddir)/Makefile.purify endif +esorex.man: esorex + sh esorex_create_man.sh + +man1_MANS = esorex.man --- /dev/null +++ b/src/esorex_create_man.sh @@ -0,0 +1,108 @@ +#!/bin/sh + +help2man -N -i $0 ./esorex | sed s/^:\ // | fgrep -v "***" > esorex.man +<< instrument. + +[NAME] +esorex \- ESO Recipe Execution Tool + +[DESCRIPTION] +EsoRex is the ESO Recipe Execution Tool. It can list, configure and execute +CPL-based recipes from the command line. + +One of the features provided by the CPL is the ability to create +data-reduction algorithms that run as plugins (dynamic libraries). These are +called recipes and are one of the main aspects of the CPL data-reduction +development environment. + +As these recipes are dynamic libraries, it is not possible to run them +directly from the command line. However, ESO provides several tools to do +this, thus saving recipe developers the need to write such an application +themselves. One of these is GASGANO (a GUI-based tool) and the other is + EsoRex (which runs from the command line) and is described here. + +[ENVIRONMENT] +All options can be set as environment parameters as well. See the previous +paragraph for details. + +[HINTS] +.TP +.SH File permissions +When a recipe is used with the \fB\-\-suppress\-prefix\fR option, and the +\fB\-\-output\-dir\fR is set to the current working directory, then the first +execution of a recipe will work correctly, but subsequent executions may +fail. This is due to output products being given \`read-only\' permission +(to avoid the potential inadvertant loss of products). The recipe itself +is unable to modify the permissions, and thus it fails when attempting to +create the file. The solution (other than using a different output directory +or prefixes) is to change the permission of these output files or delete +them prior to any subsequent execution of that recipe. + +This problem is less likely to occur in EsoRex v2+, due to the replacement of +the \fB\-\-output\-overwrite\fR option with the \fB\-\-output\-readonly\fR +(which is disabled by default). However, a determined user can still reach +this situation, in which case the non-readable products must have their +permissions changed, as described above. + +.TP +.SH Configuration files +When creating configuration files, if the the recipe is provided on the +command line, then EsoRex will generate the configuration file for this +recipe. If no recipe name is given, then EsoRex will generate a configuration +file for EsoRex itself. All configuration files are written in the +$HOME/.esorex/ directory. + +.TP +.SH Memory checking +It is possible to get EsoRex to check for memory leaks in the recipe +that it is running, by enabling the \fB\-\-mem\-check\fR option. Then, at the +conclusion of the recipe execution, and after memory deallocation, a list of +all remaining allocated memory will be printed to screen. If there are no +memory leaks, then no addition output is displayed. + +[FILES] +.TP +.SH /etc/esorex.rc $HOME/.esorex/esorex.rc +Default configuration files + +The configuration file contains the EsoRex options, less the \`\-\-\' +switch, but prefixed with \`esorex.caller.\'. Blank lines are ignored and +lines beginning with \`#\' are treated as comments. + +Here is an example configuration file. + + # Example EsoRex configuration file + # + esorex.caller.recipe-dir=/home/username/EsoRex/Plugins + esorex.caller.log-dir=. + esorex.caller.log-file=esorex.log + esorex.caller.log-file=esorex.log + esorex.caller.output-dir=. + esorex.caller.output-prefix=out_ + +.TP +.SH filename.sof +A sof file contains a list of the input data. This data is specified in an sof +file (which is just a text file), where each input file is specified with its +associated classification and category. The format of each line in the sof +file is as follows: + + full-path-to-file classification + +Optionally, a third column may be provided. Permitted values are either RAW or +CALIB. This is for when a recipe does not identify the type of input file, but +as all ESO recipes are required to do so, this column is typically not needed. + +An example sof file, for the mythological "ZIMOS" instrument, might look like this: + + /data/mos/ZIMOS.03-12-26T01:05:06.fits MOS_SCIENCE + /data/mos/ZIMOS.03-12-26T01:26:00.fits MOS_SCIENCE + /data/mos/ZIMOS.03-12-26T01:47:04.fits MOS_SCIENCE + /data/cal/master_bias4.fits MASTER_BIAS + /data/cal/grs_LR_red.3.tfits GRISM_TABLE + /data/gasgano/extract_table2.fits EXTRACT_TABLE + /data/cal/badpixel.3.tfits CCD_TABLE + +For an concrete example for a specific instrument, check the documentation for that +instrument. + debian/patches/use-std-paths-for-libs.patch0000644000000000000000000000615112127060560016054 0ustar Author: Ole Streicher Description: Check cfitsio, wcs, and fftw in the standard paths if they are not mentioned as configure packages. --- a/m4/cpl.m4 +++ b/m4/cpl.m4 @@ -9,7 +9,7 @@ cpl_cfitsio_check_version="$1" cpl_cfitsio_check_header="fitsio.h" - cpl_cfitsio_check_lib="libcfitsio.a" + cpl_cfitsio_check_lib="libcfitsio.so" cpl_cfitsio_incdirs="" cpl_cfitsio_libdirs="" @@ -110,6 +110,7 @@ cpl_cfitsio_libdirs="$cpl_cfitsio_libdirs /usr/lib64" cpl_cfitsio_libdirs="$cpl_cfitsio_libdirs /usr/lib" cpl_cfitsio_libdirs="$cpl_cfitsio_libdirs /usr/lib32" + cpl_cfitsio_libdirs="$cpl_cfitsio_libdirs /usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)" test -n "$CFITSIODIR" && \ cpl_cfitsio_libdirs="$CFITSIODIR/lib64 $CFITSIODIR/lib \ @@ -492,6 +493,7 @@ cpl_cext_libdirs="$cpl_cext_libdirs /usr/lib64" cpl_cext_libdirs="$cpl_cext_libdirs /usr/lib" cpl_cext_libdirs="$cpl_cext_libdirs /usr/lib32" + cpl_cext_libdirs="$cpl_cext_libdirs /usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)" test -n "$CPLDIR" && \ cpl_cext_libdirs="$CPLDIR/lib64 \ @@ -604,7 +606,7 @@ cpl_wcs_check_version="$1" cpl_wcs_check_header="wcslib/wcslib.h" - cpl_wcs_check_lib="libwcs.a" + cpl_wcs_check_lib="libwcs.so" cpl_wcs_includes="" cpl_wcs_libraries="" @@ -678,6 +680,7 @@ cpl_wcs_libdirs="$cpl_wcs_libdirs /usr/lib64" cpl_wcs_libdirs="$cpl_wcs_libdirs /usr/lib" cpl_wcs_libdirs="$cpl_wcs_libdirs /usr/lib32" + cpl_wcs_libdirs="$cpl_wcs_libdirs /usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)" test -n "$WCSDIR" && \ cpl_wcs_libdirs="$WCSDIR/lib64 \ @@ -836,8 +839,8 @@ cpl_fftw_check_version="$1" cpl_fftw_check_header="fftw3.h" - cpl_fftw_check_lib="libfftw3.a" - cpl_fftwf_check_lib="libfftw3f.a" + cpl_fftw_check_lib="libfftw3.so" + cpl_fftwf_check_lib="libfftw3f.so" cpl_fftw_includes="" cpl_fftw_libraries="" @@ -912,6 +915,7 @@ cpl_fftw_libdirs="$cpl_fftw_libdirs /usr/lib64" cpl_fftw_libdirs="$cpl_fftw_libdirs /usr/lib" cpl_fftw_libdirs="$cpl_fftw_libdirs /usr/lib32" + cpl_fftw_libdirs="$cpl_fftw_libdirs /usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)" test -n "$FFTWDIR" && \ cpl_fftw_libdirs="$FFTWDIR/lib64 \ @@ -1250,7 +1254,7 @@ AC_MSG_CHECKING([for CPL]) cpl_check_cpl_header="cpl.h" - cpl_check_cpl_lib="libcplcore.a" + cpl_check_cpl_lib="libcplcore.so" cpl_incdirs="" cpl_libdirs="" @@ -1327,6 +1331,7 @@ cpl_libdirs="$cpl_libdirs /usr/lib64" cpl_libdirs="$cpl_libdirs /usr/lib" cpl_libdirs="$cpl_libdirs /usr/lib32" + cpl_libdirs="$cpl_libdirs /usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)" test -n "$CPLDIR" && \ cpl_libdirs="$CPLDIR/lib64 $CPLDIR/lib $CPLDIR/lib32 \ debian/patches/remove-private-ltdl.patch0000644000000000000000000000203512127060560015537 0ustar Author: Ole Streicher Subject: Remove private library libltdl and use the installed one. --- a/Makefile.am +++ b/Makefile.am @@ -37,10 +37,7 @@ if MAINTAINER_MODE MAINTAINERCLEANFILES = $(top_srcdir)/Makefile.in $(top_srcdir)/aclocal.m4 \ - $(top_srcdir)/config.h.in $(top_srcdir)/configure config.status config.log \ - $(top_srcdir)/libltdl/Makefile.in $(top_srcdir)/libltdl/aclocal.m4 \ - $(top_srcdir)/libltdl/config-h.in $(top_srcdir)/libltdl/configure \ - libltdl/config.status libltdl/config.log + $(top_srcdir)/config.h.in $(top_srcdir)/configure config.status config.log clean-local: clean-doxygen --- a/configure.ac +++ b/configure.ac @@ -30,7 +30,9 @@ ESO_CHECK_DOCTOOLS -AC_LIBLTDL_CONVENIENCE +LT_INIT +LT_CONFIG_LTDL_DIR([libltdl]) +AC_LIB_LTDL AC_SUBST(INCLTDL) AC_SUBST(LIBLTDL) @@ -76,9 +78,6 @@ # Determine the shared library suffix on this platform AC_LTDL_SHLIBEXT - -AC_CONFIG_SUBDIRS(libltdl) - AC_CONFIG_FILES(Makefile Makefile.purify doxygen/Doxyfile debian/patches/remove-empty-configdir.patch0000644000000000000000000000062012127060560016226 0ustar Author: Ole Streicher Description: Avoid creation of an empty directory "/usr/share/esorex/config" --- a/src/Makefile.am +++ b/src/Makefile.am @@ -51,8 +51,6 @@ bin_PROGRAMS = esorex -config_DATA = - esorex_LDFLAGS = $(CPL_LDFLAGS) $(LIBLTDL) esorex_LDADD = @GETOPT@ $(LIBCPLDFS) $(LIBCPLUI) $(LIBCPLCORE) $(LIBCEXT) $(LIBLTDL) esorex_DEPENDENCIES = @GETOPT@ $(LIBLTDL) debian/patches/set-default-plugin-path.patch0000644000000000000000000000166712131047103016303 0ustar Author: Ole Streicher Description: Set the default plugin path to the one where recipes are installed in Debian. --- a/etc/esorex.rc.in +++ b/etc/esorex.rc.in @@ -130,7 +130,7 @@ # as well. Multiple directory heads may be specified, by separating the # starting paths with colons (:). This option may also be set using the # environment variable ESOREX_PLUGIN_DIR. -esorex.caller.recipe-dir=@recipedir@/esopipes-plugins +esorex.caller.recipe-dir=@recipedir@ # --suppress-link # When TRUE, no symbolic link is created to the output product. However, if --- a/acinclude.m4 +++ b/acinclude.m4 @@ -35,7 +35,10 @@ AC_SUBST(configdir) if test -z "$recipedir"; then - recipedir="`eval echo $libdir`" + recipedir="`eval echo $libdir`/cpl/plugins" + if test $libdir != "/usr/lib"; then + recipedir="$recipedir:/usr/lib/cpl/plugins" + fi fi AC_SUBST(recipedir) debian/rules0000755000000000000000000000020411751773160010252 0ustar #!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 %: dh $@ --with autoreconf debian/source/0000755000000000000000000000000011751773160010476 5ustar debian/source/format0000644000000000000000000000001411751773160011704 0ustar 3.0 (quilt)