[cpl-plugin-amber] 03/40: adjust patches
Ole Streicher
olebole-guest at alioth.debian.org
Sun Sep 15 17:15:59 UTC 2013
This is an automated email from the git hooks/post-receive script.
olebole-guest pushed a commit to branch debian
in repository cpl-plugin-amber.
commit d43978237541c5a23ed3022dc5fec7849c7df3d1
Author: Ole Streicher <debian at liska.ath.cx>
Date: Thu Jan 3 16:37:22 2013 +0100
adjust patches
---
debian/changelog | 5 +
debian/control | 29 +-
debian/copyright | 4 +-
debian/cpl-plugin-amber-calib.install | 1 +
...n.install.template => cpl-plugin-amber.install} | 0
debian/cpl-plugin-calib.install.template | 1 -
debian/patches/format_security.patch | 2003 ++++++++++++++++++++
debian/patches/libadd_cpl.patch | 105 +-
debian/patches/series | 1 +
debian/patches/set_plugindir.patch | 2 +-
debian/patches/use-std-paths-for-cpl.patch | 66 +-
debian/watch | 2 +-
12 files changed, 2171 insertions(+), 48 deletions(-)
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..820e66c
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+cpl-plugin-amber (4.1.2-1) UNRELEASED; urgency=low
+
+ * Initial release. (Closes: #XXXXXX)
+
+ -- Ole Streicher <debian at liska.ath.cx> Thu, 03 Jan 2013 15:38:07 +0100
diff --git a/debian/control b/debian/control
index 9bb0086..135e7d7 100644
--- a/debian/control
+++ b/debian/control
@@ -1,4 +1,4 @@
-Source: cpl-plugin-template
+Source: cpl-plugin-amber
Section: science
Priority: optional
Maintainer: Debian Science Maintainers <debian-science-maintainers at lists.alioth.debian.org>
@@ -6,28 +6,31 @@ Uploaders: Ole Streicher <debian at liska.ath.cx>
Build-Depends: debhelper (>= 9), dh-autoreconf, libcpl-dev (>= 5.3.1)
DM-Upload-Allowed: yes
Standards-Version: 3.9.3
-Homepage: http://www.eso.org/sci/software/pipelines/template
-Vcs-Git: git://git.debian.org/git/debian-science/packages/cpl-plugin-template.git
-Vcs-Browser: http://git.debian.org/?p=debian-science/packages/cpl-plugin-template.git
+Homepage: http://www.eso.org/sci/software/pipelines/amber
+Vcs-Git: git://git.debian.org/git/debian-science/packages/cpl-plugin-amber.git
+Vcs-Browser: http://git.debian.org/?p=debian-science/packages/cpl-plugin-amber.git
-Package: cpl-plugin-template
+Package: cpl-plugin-amber
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends}
-Suggests: cpl-plugin-template-calib
+Suggests: cpl-plugin-amber-calib
Recommends: esorex|python-cpl
Multi-Arch: same
-Description: ESO data reduction pipeline template
- This is the data reduction pipeline for the Template instrument of the
+Description: ESO data reduction pipeline amber
+ This is the data reduction pipeline for the Amber instrument of the
Very Large Telescope (VLT) from the European Southern Observatory (ESO).
.
- This package is used as a template for the other ESO recipes. It is not
- meant to built as a package.
+ AMBER is a near-infrared, multi-beam interferometric instrument, combining
+ simultaneously up to 3 telescopes. AMBER can be used in Period 82 and
+ following with UTs or ATs (see below for current performance
+ specifications). All possible triplets of UTs are available, and a number of
+ selected AT combinations.
-Package: cpl-plugin-template-calib
+Package: cpl-plugin-amber-calib
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends}
-Description: ESO data reduction pipeline calibration data template
+Description: ESO data reduction pipeline calibration data for Amber
This package contains calibration and other static data of the
- data reduction pipeline for the Template instrument of the
+ data reduction pipeline for the Amber instrument of the
Very Large Telescope (VLT) from the European Southern Observatory (ESO).
diff --git a/debian/copyright b/debian/copyright
index 9d4c5a3..b942026 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,7 +1,7 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
-Upstream-Name: template
+Upstream-Name: amber
Upstream-Author: Firstname Lastname <flastname at eso.org>
-Source: ftp://ftp.eso.org/pub/dfs/pipelines/template/
+Source: ftp://ftp.eso.org/pub/dfs/pipelines/amber/
Files: *
Copyright: Copyright (C) 2001-2012 European Southern Observatory
diff --git a/debian/cpl-plugin-amber-calib.install b/debian/cpl-plugin-amber-calib.install
new file mode 100644
index 0000000..892b39e
--- /dev/null
+++ b/debian/cpl-plugin-amber-calib.install
@@ -0,0 +1 @@
+calib/* usr/share/cpl-plugins/amber
diff --git a/debian/cpl-plugin.install.template b/debian/cpl-plugin-amber.install
similarity index 100%
rename from debian/cpl-plugin.install.template
rename to debian/cpl-plugin-amber.install
diff --git a/debian/cpl-plugin-calib.install.template b/debian/cpl-plugin-calib.install.template
deleted file mode 100644
index 5de4a5c..0000000
--- a/debian/cpl-plugin-calib.install.template
+++ /dev/null
@@ -1 +0,0 @@
-calib/* usr/share/cpl-plugins/template
diff --git a/debian/patches/format_security.patch b/debian/patches/format_security.patch
new file mode 100644
index 0000000..27caba8
--- /dev/null
+++ b/debian/patches/format_security.patch
@@ -0,0 +1,2003 @@
+--- a/amber/esolibSelector.c
++++ b/amber/esolibSelector.c
+@@ -2128,7 +2128,7 @@
+
+ /*
+ sprintf( szMessage, "cpl_frame_set (\"%s\")", cpl_frame_get_filename(pframeSCIENCE[iProductNumber]) );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ */
+
+ /*
+@@ -2152,7 +2152,7 @@
+
+ /*
+ sprintf( szMessage, "Extracting product header from file %s.", szRawFile );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ */
+
+ pHeader = cpl_propertylist_load( szRawFile, 0 );
+@@ -2173,7 +2173,7 @@
+ {
+ /* Error */
+ sprintf( szMessage, "Error in setting up the product header." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = 16;
+ }
+ #else
+@@ -2188,7 +2188,7 @@
+ {
+ /* Error */
+ sprintf( szMessage, "Error in setting up the product header." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = 16;
+ }
+ #endif
+@@ -2217,7 +2217,7 @@
+
+ /*
+ sprintf( szMessage, "Creating product file %s...", szFilenameProduct );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ */
+
+ /*
+@@ -2407,7 +2407,7 @@
+ }
+
+ /*sprintf( szMessage, "%d", iStatus );
+- cpl_msg_info( fctid, szMessage );*/
++ cpl_msg_info( fctid, "%s", szMessage );*/
+
+ /* 1 seems to be a warning ?!? */
+ if( iStatus == amdlibSUCCESS /* || iStatus == 1*/ )
+@@ -2418,17 +2418,17 @@
+
+
+ sprintf ( szMessage, "Status: %d for input file %s [%s]", iStatus, szFilnameOI, errMsg );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* Count number of frames */
+ iTotal = vis.nbFrames * vis.nbBases;
+ sprintf( szMessage, "Number of Frames = %d giving %d Visibilities", iTotal / vis.nbBases, iTotal );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* Count frames for Photometry and Piston */
+
+ sprintf( szMessage, "Photometry: %d / Piston: %d", photometry.nbFrames, pst.nbFrames );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+
+ /* Count Frames with Fringe SNR greater than xxx */
+@@ -2466,7 +2466,7 @@
+ if (amdlibGetBand(wave.wlen[wave.nbWlen-1]) != band)
+ {
+ sprintf ( szMessage, "Sorry, frame selection is only possible for one band. This data contains more than one band" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = 666;
+ }
+ */
+@@ -2522,7 +2522,7 @@
+ /* Frame selection */
+ {
+ sprintf( szMessage, "Now selecting ..." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdlibAllocateSelection( &selectedFrames, vis.nbFrames,vis.nbBases,errMsg );
+
+@@ -2534,7 +2534,7 @@
+ SetupSelected( iInclude, &selectedFrames, &vis , band);
+
+ sprintf( szMessage, "All frames have been selected for testing purpose." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+
+ /* Method 2 */
+@@ -2547,7 +2547,7 @@
+ iStatus = 5;
+
+ sprintf( szMessage, "This method does not allow thresholds less or equal to zero." );
+- cpl_msg_error( fctid, szMessage );
++ cpl_msg_error( fctid, "%s", szMessage );
+ }
+
+ if( !iStatus )
+@@ -2607,7 +2607,7 @@
+ iStatus = 5;
+
+ sprintf( szMessage, "This method does not allow thresholds less to zero or larger than 100" );
+- cpl_msg_error( fctid, szMessage );
++ cpl_msg_error( fctid, "%s", szMessage );
+ }
+
+ if( !iStatus )
+@@ -2982,7 +2982,7 @@
+ SetupSelected( iInclude, &selectedFrames, &vis ,band);
+
+ sprintf( szMessage, "All frames have been selected for testing purpose." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+
+ /* Method 1 */
+@@ -2995,7 +2995,7 @@
+ iStatus = 5;
+
+ sprintf( szMessage, "This method does not allow thresholds less or equal to zero." );
+- cpl_msg_error( fctid, szMessage );
++ cpl_msg_error( fctid, "%s", szMessage );
+ }
+
+ if( fThreshold[0] > vis.nbFrames )
+@@ -3004,7 +3004,7 @@
+ iStatus = 6;
+
+ sprintf( szMessage, "This method does not allow thresholds greater than the total number of frames." );
+- cpl_msg_error( fctid, szMessage );
++ cpl_msg_error( fctid, "%s", szMessage );
+ }
+
+ if( !iStatus )
+@@ -3042,7 +3042,7 @@
+ SetupSelected( iInclude, &selectedFrames, &vis, band );
+
+ sprintf( szMessage, "Default selection for ASCII file done..." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* Open the ASCII file */
+ fp = fopen( szASCII, "rt" );
+@@ -3062,7 +3062,7 @@
+ {
+ /*
+ sprintf( szMessage, "Found Frame %d in File %s.", iSelFrame, szASCII );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ */
+
+ for( base = 0; base < vis.nbBases; base++ )
+@@ -3076,7 +3076,7 @@
+ else
+ {
+ sprintf( szMessage, "Warning: Frame %d is out of Range and has been ignored.", iSelFrame );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+ } /* end of file ? */
+
+@@ -3086,7 +3086,7 @@
+ else
+ {
+ sprintf( szMessage, "Error: The File %s has not been found.", szASCII );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = 1;
+ }
+
+@@ -3108,7 +3108,7 @@
+ iStatus = 5;
+
+ sprintf( szMessage, "This method does not allow thresholds less to zero." );
+- cpl_msg_error( fctid, szMessage );
++ cpl_msg_error( fctid, "%s", szMessage );
+ }
+
+ if( !iStatus )
+@@ -3173,7 +3173,7 @@
+ iStatus = 5;
+
+ sprintf( szMessage, "This method does not allow thresholds less than zero or larger than 100" );
+- cpl_msg_error( fctid, szMessage );
++ cpl_msg_error( fctid, "%s", szMessage );
+ }
+
+ if( !iStatus )
+@@ -3303,7 +3303,7 @@
+ /*----------------------------------------------------------------------------------------*/
+ /* Loop through frames and count good ones */
+ sprintf( szMessage, "Counting the frames that passed the filtering..." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iFittingFrame = 0;
+ for (iFrame = 0; iFrame < vis.nbFrames && !iStatus; iFrame++)
+ {
+@@ -3329,7 +3329,7 @@
+ if( !iStatus && iFittingFrame && iAverage )
+ {
+ sprintf( szMessage, "Averaging the remaining %d frames...", iFittingFrame );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ if (amdlibAverageVisibilities( &photometry,
+ &vis, &vis2, &vis3,
+@@ -3345,11 +3345,11 @@
+
+
+ strcpy( szMessage, "----------------------------------------------------------------------------" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ sprintf( szMessage, "%d Frames = %d Visibilities passed the Filter = %.02f Percent", iFramesLeft, iFittingFrame, 100.0 * (float)iFittingFrame / (float)iTotal );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ strcpy( szMessage, "----------------------------------------------------------------------------" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+
+ if( iStatus == 0 )
+@@ -3359,7 +3359,7 @@
+ if( iFittingFrame == 0 )
+ {
+ sprintf( szMessage, "No Frames passed! Please check the filtering Criteria!!" );
+- cpl_msg_warning( fctid, szMessage );
++ cpl_msg_warning( fctid, "%s", szMessage );
+ iStatus = 4;
+ }
+
+@@ -3368,7 +3368,7 @@
+ if( strcmp( szMethod, selMethod1 ) )
+ {
+ sprintf( szMessage, "For all frames: lowest Fringe SNR is %0.4f and highest is %0.4f", dLowSNR, dHighSNR );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+ #endif
+
+@@ -3437,7 +3437,7 @@
+
+ /*
+ sprintf ( szMessage, "Now writing filtered Scientific Data to %s...", szProductfile );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ */
+
+
+@@ -3450,7 +3450,7 @@
+ {
+ iStatus = 3;
+ sprintf ( szMessage, "ERROR saving Scientific Data to %s. [%s]", szProductfile, errMsg );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ }
+
+@@ -3540,7 +3540,7 @@
+ /* not an AMBER file */
+ iStatus = 2;
+ sprintf ( szMessage, "ERROR: Cannot read [%s]. OI table structure is not from AMBER or the file has been corrupted. [%s]", szFilnameOI, errMsg );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+ }
+ else /* found fitting frame ? */
+@@ -3548,7 +3548,7 @@
+ /* no fitting frame */
+ iStatus = 1;
+ sprintf ( szMessage, "ERROR: Please input one file with either SCIENCE_REDUCED or CALIB_REDUCED." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+
+
+@@ -3556,7 +3556,7 @@
+ {
+ /*
+ sprintf( szMessage, "cpl_frame_insert [%s]", cpl_frame_get_filename(pFrame ) );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ */
+ cpl_frameset_insert( framelist, pFrame );
+
+@@ -3571,7 +3571,7 @@
+ }
+ /*
+ sprintf ( szMessage, "Status: %d for %s", iStatus, szProductfile );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ */
+
+ cpl_msg_info( fctid, "End of DataReduction");
+--- a/recipes/amber_p2vm.c
++++ b/recipes/amber_p2vm.c
+@@ -287,7 +287,7 @@
+
+
+ sprintf( szMessage, "Extracting Header from file %s.", szRawFile );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+
+
+@@ -311,7 +311,7 @@
+ {
+ /* Error */
+ sprintf( szMessage, "Error in setting up the product header." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ cpl_msg_error(cpl_func,"Error in cpl_dfs_setup_product_header: %s %s",
+ cpl_error_get_message(),cpl_error_get_where());
+ iStatus = 16;
+@@ -328,7 +328,7 @@
+ {
+ /* Error */
+ sprintf( szMessage, "Error in setting up the product header." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ cpl_msg_error(cpl_func,"Error in cpl_dfs_setup_product_header: %s %s",
+ cpl_error_get_message(),cpl_error_get_where());
+ iStatus = 16;
+@@ -351,7 +351,7 @@
+ */
+
+ sprintf( szMessage, "Creating Product %s...", szFilenameProduct );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /*
+ * Workaround:
+@@ -389,7 +389,7 @@
+
+
+ sprintf( szMessage, "Writing Product Header..." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ iStatus = 0;
+ if (CPL_ERROR_NONE != cpl_image_save(NULL, szFilenameProduct,
+@@ -442,7 +442,7 @@
+
+ /* If a bad pixel file has been specified */
+ sprintf( szMessage, "Loading BAD PIXEL MAP %s ...", badPixelFile );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ if ((badPixelFile != NULL) && (strlen(badPixelFile) != 0))
+ {
+ /* Load it */
+@@ -456,7 +456,7 @@
+
+ /* Load flat field map */
+ sprintf( szMessage, "Loading FLAT FIELD %s ...", flatFieldFile );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ if( (flatFieldFile != NULL) && (strlen(flatFieldFile) != 0))
+ {
+@@ -488,7 +488,7 @@
+
+ /* Load raw data */
+ sprintf( szMessage, "Loading P2VM file %s ...", inputFiles[i] );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ if (amdlibLoadRawData(inputFiles[i], &rawData, errMsg) != amdlibSUCCESS)
+ {
+ printf ("Could not load raw data file '%s'\n", inputFiles[i]);
+@@ -507,7 +507,7 @@
+ {
+ sprintf( szMessage, "Computing Pixel Bias Map for P2VM file %s ...",
+ inputFiles[i] );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* Compute pixel bias map */
+ if (amdlibGenerateDarkData(&rawData, &dark, errMsg)
+@@ -524,7 +524,7 @@
+ int p;
+
+ sprintf( szMessage, "Equalizing P2VM file %s ...", inputFiles[i] );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* Equalize raw data */
+ if( amdlibCalibrateRawData( &dark, &rawData, errMsg)
+@@ -541,7 +541,7 @@
+ {
+ sprintf( szMessage, "Data in file %s is saturated!",
+ inputFiles[i] );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+
+ /* Get wave data from the first given file ??? check this -
+@@ -568,14 +568,14 @@
+ }
+
+ sprintf( szMessage, "Set new spectral Calibration." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ waveDataLoaded = amdlibTRUE;
+ }
+
+ /* Store calibrated data into P2VM data structure */
+ sprintf( szMessage, "Adding P2VM file %s ...", inputFiles[i] );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ if( amdlibAddToP2vmData( &rawData, &waveData, &p2vmData, errMsg)
+ != amdlibSUCCESS)
+ {
+@@ -595,7 +595,7 @@
+
+ /* Compute P2VM */
+ sprintf( szMessage, "Computing P2VM ..." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ if( amdlibComputeP2VM( &p2vmData, amdlibP2VM_3T, &waveData, &p2vm, errMsg)
+ == amdlibFAILURE)
+@@ -609,7 +609,7 @@
+ amdlibReleaseP2vmData(&p2vmData);
+
+ sprintf( szMessage, "Saving P2VM %s...", p2vmFile );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ if( amdlibSaveP2VM( p2vmFile, &p2vm, amdlibP2VM_UNKNOWN_ACC, errMsg)
+ == amdlibFAILURE )
+@@ -652,7 +652,7 @@
+
+ /* If a bad pixel file has been specified */
+ sprintf( szMessage, "Loading BAD PIXEL MAP %s ...", badPixelFile );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ if ((badPixelFile != NULL) && (strlen(badPixelFile) != 0))
+ {
+ /* Load it */
+@@ -666,7 +666,7 @@
+
+ /* Load flat field map */
+ sprintf( szMessage, "Loading FLAT FIELD %s ...", flatFieldFile );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ if( (flatFieldFile != NULL) && (strlen(flatFieldFile) != 0))
+ {
+@@ -698,7 +698,7 @@
+
+ /* Load raw data */
+ sprintf( szMessage, "Loading P2VM file %s ...", inputFiles[i] );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ if (amdlibLoadRawData(inputFiles[i], &rawData, errMsg) != amdlibSUCCESS)
+ {
+ printf ("Could not load raw data file '%s'\n", inputFiles[i]);
+@@ -717,7 +717,7 @@
+ {
+ sprintf( szMessage, "Computing Pixel Bias Map for P2VM file %s ...",
+ inputFiles[i] );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* Compute pixel bias map */
+ if (amdlibGenerateDarkData(&rawData, &dark, errMsg)
+@@ -734,7 +734,7 @@
+ int p;
+
+ sprintf( szMessage, "Equalizing P2VM file %s ...", inputFiles[i] );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* Equalize raw data */
+ if( amdlibCalibrateRawData( &dark, &rawData, errMsg)
+@@ -751,7 +751,7 @@
+ {
+ sprintf( szMessage, "Data in file %s is saturated!",
+ inputFiles[i] );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+
+ /* Get wave data from the first given file ??? check this
+@@ -778,14 +778,14 @@
+ }
+
+ sprintf( szMessage, "Set new spectral Calibration." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ waveDataLoaded = amdlibTRUE;
+ }
+
+ /* Store calibrated data into P2VM data structure */
+ sprintf( szMessage, "Adding P2VM file %s ...", inputFiles[i] );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ if( amdlibAddToP2vmData( &rawData, &waveData, &p2vmData, errMsg)
+ != amdlibSUCCESS)
+ {
+@@ -805,7 +805,7 @@
+
+ /* Compute P2VM */
+ sprintf( szMessage, "Computing P2VM ..." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ if( amdlibComputeP2VM( &p2vmData, amdlibP2VM_2T, &waveData, &p2vm, errMsg)
+ == amdlibFAILURE)
+@@ -819,7 +819,7 @@
+ amdlibReleaseP2vmData(&p2vmData);
+
+ sprintf( szMessage, "Saving P2VM %s...", p2vmFile );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ if( amdlibSaveP2VM( p2vmFile, &p2vm, amdlibP2VM_UNKNOWN_ACC, errMsg)
+ == amdlibFAILURE )
+@@ -1214,7 +1214,7 @@
+ strcpy( szFilenameFlat, pszFilename );
+
+ sprintf ( szMessage, "FLAT FIELD identified %s", pszFilename );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+
+ cur_frame = cpl_frameset_find( framelist, "AMBER_BADPIX" );
+@@ -1228,7 +1228,7 @@
+ strcpy( szFilenameBadPix, pszFilename );
+
+ sprintf ( szMessage, "BAD PIXEL MAP identified %s", pszFilename );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+
+ /* Do not continue without BADPIX and FALTFIELD */
+@@ -1237,7 +1237,7 @@
+ iStatus = 2;
+ sprintf ( szMessage, "Support Frames needed: AMBER_BADPIX and "
+ "AMBER_FLAT." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* Close the amdlib logfile */
+ //if( fp )
+@@ -1257,7 +1257,7 @@
+ {
+ sprintf (szMessage, "Error: 10 Frames of type AMBER_3P2V are needed"
+ " or 5 Frames of type AMBER_2P2V are needed", pszFilename );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ iStatus = 666;
+ }
+@@ -1274,7 +1274,7 @@
+ */
+ sprintf ( szMessage, "Searching for Spectral Calibration (WAVE) Files... "
+ "(current status = %d)", iStatus );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ cur_frame = cpl_frameset_get_first( framelist );
+
+@@ -1293,7 +1293,7 @@
+ /* Add to Framelist */
+ sprintf ( szMessage, "%d. 3WAVE identified %s", i3TelFrames+1,
+ pszFilename );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ strcpy( szFilenameInWAVE[i3TelFrames], pszFilename );
+ i3TelFrames++;
+ }
+@@ -1308,7 +1308,7 @@
+ /* Add to Framelist */
+ sprintf ( szMessage, "%d. 2WAVE identified %s",
+ i2TelFrames+1, pszFilename );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ strcpy( szFilenameInWAVE[i2TelFrames], pszFilename );
+ i2TelFrames++;
+ }
+@@ -1324,12 +1324,12 @@
+ if( i3TelFrames == 4 && !iStatus )
+ {
+ sprintf (szMessage, "Computing new Spectral Calibration for 3 Telecopes");
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /*sprintf ( szMessage, "[%s][%s][%s][%s][%s][%s]",
+ * szFilenameBadPix, szFilenameFlat, szFilenameInWAVE[0],
+ * szFilenameInWAVE[1], szFilenameInWAVE[2], szFilenameInWAVE[3] );
+- cpl_msg_info( fctid, szMessage ); */
++ cpl_msg_info( fctid, "%s", szMessage ); */
+
+
+ if (amdlibComputeSpectralCalibration3T(szFilenameBadPix, szFilenameFlat,
+@@ -1339,7 +1339,7 @@
+ {
+ iStatus = 5;
+ sprintf ( szMessage, "Could not compute Spectral Calibration" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+ else
+ {
+@@ -1363,7 +1363,7 @@
+ {
+ sprintf ( szMessage, "Computing new Spectral Calibration for 2 "
+ "Telecopes (%s)...", szFilenameWave );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ if (amdlibComputeSpectralCalibration2T(szFilenameBadPix, szFilenameFlat,
+ szFilenameInWAVE[0], szFilenameInWAVE[1], szFilenameInWAVE[2],
+@@ -1395,7 +1395,7 @@
+ sprintf ( szMessage, "No new Spectral Calibration computed "
+ "(no 4 AMBER_WAVE files!). "
+ "Using Calibration from DET1-Key in Header." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+
+ /*
+@@ -1405,7 +1405,7 @@
+ */
+
+ sprintf ( szMessage, "Searching for 3P2V and 2P2V Files..." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ i3TelFrames = 0;
+ i2TelFrames = 0;
+@@ -1425,7 +1425,7 @@
+ {
+ /* Add to Framelist */
+ sprintf ( szMessage, "3P2V identified %s", pszFilename );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ strcpy( szFilenameInP2VM[i3TelFrames], pszFilename );
+ i3TelFrames++;
+ }
+@@ -1439,7 +1439,7 @@
+ {
+ /* Add to Framelist */
+ sprintf ( szMessage, "2P2V identified %s", pszFilename );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ strcpy( szFilenameInP2VM[i2TelFrames], pszFilename );
+ i2TelFrames++;
+ }
+@@ -1459,11 +1459,11 @@
+
+ /* Now make a DMD Product */
+ sprintf ( szMessage, "Create file and write header..." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ CreateProduct(fctid,szFilenameInP2VM[0],szFilenameP2VM,zeroframes);
+
+ sprintf ( szMessage, "Now computing P2VM for 3 Telescopes..." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ if(amdlibComputeP2vm3T_ESO(szFilenameBadPix, szFilenameFlat,
+ szFilenameInP2VM[0],szFilenameInP2VM[1],szFilenameInP2VM[2],
+@@ -1475,13 +1475,13 @@
+ )
+ {
+ sprintf ( szMessage, "P2VM not computed due to errors." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = 4;
+ }
+ else
+ {
+ sprintf ( szMessage, "P2VM produced: %s.", szFilenameP2VM );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = 0;
+
+ iWriteQC = 1;
+@@ -1493,7 +1493,7 @@
+ {
+ iStatus = 3;
+ sprintf ( szMessage, "10 Frames of type AMBER_3P2V are needed." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+
+ if( i2TelFrames == 5 )
+@@ -1502,11 +1502,11 @@
+
+ /* Now make a DMD Product */
+ sprintf ( szMessage, "Create file and write header..." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ CreateProduct(fctid,szFilenameInP2VM[0],szFilenameP2VM,zeroframes);
+
+ sprintf ( szMessage, "Now computing P2VM for 2 Telescopes..." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ if( amdlibComputeP2vm2T_ESO( szFilenameBadPix, szFilenameFlat,
+ szFilenameInP2VM[0],szFilenameInP2VM[1],szFilenameInP2VM[2],
+ szFilenameInP2VM[3],szFilenameInP2VM[4],
+@@ -1516,13 +1516,13 @@
+ )
+ {
+ sprintf ( szMessage, "P2VM not computed due to errors." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = 4;
+ }
+ else
+ {
+ sprintf ( szMessage, "P2VM produced: %s.", szFilenameP2VM );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = 0;
+
+ iWriteQC = 1;
+@@ -1535,7 +1535,7 @@
+ {
+ iStatus = 3;
+ sprintf ( szMessage, "5 Frames of type AMBER_2P2V are needed." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+
+ }
+@@ -1544,7 +1544,7 @@
+ iStatus = 2;
+ sprintf (szMessage,"Support Frames needed: "
+ "AMBER_BADPIX and AMBER_FLAT." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ } /* No Flat of BadPix */
+
+ /* Close the amdlib logfile */
+@@ -1571,7 +1571,7 @@
+ if( iWriteQC )
+ {
+ sprintf ( szMessage, "Writing QC log file." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* Reload the file to get the header */
+
+@@ -1611,7 +1611,7 @@
+ else
+ {
+ sprintf ( szMessage, "Error: Could not write QC log file." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = 1;
+ }
+
+--- a/recipes/amber_raw_to_fitsimage.c
++++ b/recipes/amber_raw_to_fitsimage.c
+@@ -363,7 +363,7 @@
+ */
+
+ sprintf( szMessage, "Extracted Header from file %s.", pszInfile );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* Create a set of frames with just this frame, so header will be correct */
+ /* frameSetTmp = cpl_frameset_new(); */
+@@ -409,7 +409,7 @@
+ sprintf( szMessage, "Warning: problem with product header. [%s]",
+ cpl_error_get_where() );
+
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ /* cpl_msg_info(cpl_func, cpl_error_get_message()); */
+ iStatus = 16;
+ }
+@@ -426,7 +426,7 @@
+ /* Error */
+ sprintf( szMessage, "Warning: problem with product header. [%s]",
+ cpl_error_get_where() );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = 16;
+ }
+ #endif
+@@ -461,7 +461,7 @@
+ ----------- */
+
+ sprintf ( szMessage, "Status: %d for %s", iStatus, szProduct );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ cpl_msg_info( fctid, "End of DataReduction");
+
+--- a/recipes/amber_SciCal.c
++++ b/recipes/amber_SciCal.c
+@@ -303,7 +303,7 @@
+
+ /*
+ sprintf( szMessage, "cpl_frame_set (\"%s\")", cpl_frame_get_filename(pframeSCIENCE[iProductNumber]) );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ */
+
+ /*
+@@ -326,7 +326,7 @@
+ */
+ pHeader = cpl_propertylist_load( szRawFile, 0 );
+ sprintf( szMessage, "Extracting product header from file %s for target named %s [%s].", szRawFile, cpl_propertylist_get_string( pHeader, "ESO OBS NAME" ), cpl_error_get_message() );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /*The ARCFILE is needed for the paf file in the selector and trf products*/
+ if (cpl_propertylist_has(pHeader, "ARCFILE") == 1)
+@@ -366,7 +366,7 @@
+ {
+ /* Error */
+ sprintf( szMessage, "Error in setting up the product header." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = 16;
+ }
+ #else
+@@ -381,7 +381,7 @@
+ {
+ /* Error */
+ sprintf( szMessage, "Error in setting up the product header." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = 16;
+ }
+ #endif
+@@ -389,7 +389,7 @@
+
+
+ sprintf( szMessage, "Header from file %s for target named %s [%s].", szRawFile, cpl_propertylist_get_string( pHeader, "ESO OBS NAME" ), cpl_error_get_message() );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* Destroy tmpFrameset and implicitly its contents */
+ cpl_frameset_delete( frameSetTmp );
+@@ -403,7 +403,7 @@
+ iError = CPL_ERROR_NONE;
+
+ sprintf( szMessage, "Creating product file%s...", szFilenameProduct );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /*
+ * Workaround:
+@@ -462,34 +462,34 @@
+
+ /* Load bad pixel map */
+ sprintf( szMessage, "Loading BAD PIXEL MAP %s ...", badPixelFile );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ if( amdlibLoadBadPixelMap( badPixelFile, errMsg) != amdlibSUCCESS)
+ {
+ printf ("Could not load bad pixel map '%s'\n", badPixelFile);
+- cpl_msg_info( fctid, errMsg );
++ cpl_msg_info( fctid, "%s", errMsg );
+ return (amdlibFAILURE);
+ }
+
+ /* Load flat field map */
+ sprintf( szMessage, "Loading FLAT FIELD %s ...", flatFieldFile );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ if( amdlibLoadFlatFieldMap( flatFieldFile, errMsg)!=amdlibSUCCESS)
+ {
+ printf ("Could not load Flat Field file '%s'n", flatFieldFile);
+- cpl_msg_info( fctid, errMsg );
++ cpl_msg_info( fctid, "%s", errMsg );
+ return (amdlibFAILURE);
+ }
+
+ /* Load P2VM */
+ sprintf( szMessage, "Loading P2VM %s ...", p2vmFile );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ if( amdlibLoadP2VM( p2vmFile, &p2vm, errMsg) == amdlibFAILURE)
+ {
+ printf ("Could not load P2VM file '%s'\n", p2vmFile);
+- cpl_msg_info( fctid, errMsg );
++ cpl_msg_info( fctid, "%s", errMsg );
+ return (amdlibFAILURE);
+ }
+
+@@ -497,7 +497,7 @@
+ if( amdlibGetWaveDataFromP2vm( &p2vm, &waveData, errMsg ) != amdlibSUCCESS)
+ {
+ printf ("Could not get wave data from P2VM file '%s'\n", p2vmFile);
+- cpl_msg_info( fctid, errMsg );
++ cpl_msg_info( fctid, "%s", errMsg );
+ return (amdlibFAILURE);
+ }
+
+@@ -505,7 +505,7 @@
+ if (strlen(darkFile) != 0)
+ {
+ sprintf( szMessage, "Loading DARK (BIAS) %s ...\n", darkFile );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ if (amdlibLoadRawData(darkFile, &rawData, errMsg) != amdlibSUCCESS)
+ {
+@@ -514,13 +514,13 @@
+ }
+ /* Compute pixel bias map */
+ sprintf( szMessage, "Computing PIXEL BIAS MAP..." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ if (amdlibGenerateDarkData(&rawData, &dark,
+ errMsg) != amdlibSUCCESS)
+ {
+ printf ("Could not generate pixel bias map\n");
+- cpl_msg_info( fctid, errMsg );
++ cpl_msg_info( fctid, "%s", errMsg );
+ return (amdlibFAILURE);
+ }
+ amdlibReleaseRawData(&rawData);
+@@ -528,16 +528,16 @@
+ else
+ {
+ sprintf( szMessage, "No PIXEL BIAS MAP available due to no DARK file." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* Load data file so that the false bias mimics its structure */
+ i=6;
+ sprintf( szMessage, "Getting PIXEL BIAS MAP from raw %s ...", inputFile );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ if (amdlibLoadRawData(inputFile, &rawData, errMsg) != amdlibSUCCESS)
+ {
+ sprintf( szMessage, "Could not load raw data file '%s'", inputFile);
+- cpl_msg_info( fctid, errMsg );
++ cpl_msg_info( fctid, "%s", errMsg );
+ return (amdlibFAILURE);
+ }
+ amdlibSetDarkData( &rawData, &dark, 0.0, amdlibTYPICAL_RON , errMsg);
+@@ -551,13 +551,13 @@
+ if (amdlibLoadRawData(skyFile, &rawData, errMsg) != amdlibSUCCESS)
+ {
+ printf ("Could not load sky file '%s'\n", skyFile);
+- cpl_msg_info( fctid, errMsg );
++ cpl_msg_info( fctid, "%s", errMsg );
+ return (amdlibFAILURE);
+ }
+ /* Equalize raw data */
+ if( amdlibCalibrateRawData( &dark, &rawData, errMsg) !=amdlibSUCCESS )
+ {
+- cpl_msg_info( fctid, errMsg );
++ cpl_msg_info( fctid, "%s", errMsg );
+ return (amdlibFAILURE);
+ }
+
+@@ -565,7 +565,7 @@
+ if (amdlibRawData2ScienceData(&rawData, &waveData, &sky, amdlibTRUE, errMsg) != amdlibSUCCESS)
+ {
+ printf ("Could not get science data\n");
+- cpl_msg_info( fctid, errMsg );
++ cpl_msg_info( fctid, "%s", errMsg );
+ return (amdlibFAILURE);
+ }
+ /* if in JHK Mode, split Science Data in rows accordingly */
+@@ -576,26 +576,26 @@
+ else
+ {
+ sprintf( szMessage, "No SKY will be used...\n" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ skyPtr = NULL;
+ }
+
+ /* Load data file */
+ sprintf( szMessage, "Loading RawData %s ...", inputFile );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ if (amdlibLoadRawData(inputFile, &rawData, errMsg) != amdlibSUCCESS)
+ {
+ sprintf( szMessage, "Could not load raw data file '%s'", inputFile );
+- cpl_msg_info( fctid, szMessage );
+- cpl_msg_info( fctid, errMsg );
++ cpl_msg_info( fctid, "%s", szMessage );
++ cpl_msg_info( fctid, "%s", errMsg );
+ return (amdlibFAILURE);
+ }
+ /* Equalize raw data */
+ sprintf( szMessage, "Equalizing Raw Data." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ if (amdlibCalibrateRawData(&dark, &rawData, errMsg) !=amdlibSUCCESS)
+ {
+- cpl_msg_info( fctid, errMsg );
++ cpl_msg_info( fctid, "%s", errMsg );
+ return (amdlibFAILURE);
+ }
+
+@@ -603,7 +603,7 @@
+ if (amdlibGetOiArrayFromRawData(&rawData, &array, errMsg) != amdlibSUCCESS)
+ {
+ sprintf( szMessage, "Warning -- Unable to retrieve OI_ARRAY information from input file");
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ amdlibReleaseOiArray(&array);
+ }
+
+@@ -611,26 +611,26 @@
+ if (amdlibAllocateOiTarget(&target, 1) != amdlibSUCCESS)
+ {
+ printf ("Could not Allocate Target Structure\n");
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ return (amdlibFAILURE);
+ }
+ if (amdlibGetOiTargetFromRawData(&rawData,&target) != amdlibSUCCESS)
+ {
+ printf ("Could not Add to Target Structure\n");
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ return (amdlibFAILURE);
+ }
+
+
+ /* Produce science data */
+ sprintf( szMessage, "Producing Science Data..." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ if (amdlibRawData2ScienceData(&rawData, &waveData, &scienceData, amdlibFALSE,
+ errMsg) != amdlibSUCCESS)
+ {
+ printf ("Could not get science data");
+- cpl_msg_info( fctid, errMsg );
++ cpl_msg_info( fctid, "%s", errMsg );
+ return (amdlibFAILURE);
+ }
+
+@@ -644,7 +644,7 @@
+ int nbChannels;
+
+ sprintf( szMessage, "Working on '%c' band", amdlibBandNumToStr(band));
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* Compute visibilities */
+ nbChannels = amdlibComputeVisibilities
+@@ -656,41 +656,41 @@
+ if (nbChannels == -1)
+ {
+ sprintf( szMessage, "Could NOT extract visibilities for '%c' band !", amdlibBandNumToStr(band));
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ return (amdlibFAILURE);
+ }
+ else if (nbChannels == 0)
+ {
+ sprintf( szMessage, "There is no channel for '%c' band", amdlibBandNumToStr(band));
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+ else
+ {
+ /* Print results */
+ sprintf( szMessage, "Band: %c", amdlibBandNumToStr(band) );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ if (vis2.nbBases == 1)
+ {
+ sprintf( szMessage, " VIS (err)");
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ sprintf( szMessage, "%12.3f (%8.03g)\n", imdVis2.vis12, imdVis2.sigmaVis12 );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+ else
+ {
+ sprintf( szMessage, "Global Averaged Visibilities Squared (using all Frames):");
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ sprintf( szMessage, " VIS 12 (err) VIS 23 (err) VIS 31 (err)");
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ sprintf( szMessage, "%12.3f(%8.03g) %12.3f(%8.03g) %12.3f(%8.03g)",
+ imdVis2.vis12, imdVis2.sigmaVis12, imdVis2.vis12, imdVis2.sigmaVis12, imdVis2.vis31, imdVis2.sigmaVis31 );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ sprintf( szMessage, "AverageClosurePhase (deg)= %8.03g (%8.03g)", imdVis3.averageClosure,imdVis3.averageClosureError );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ } /* 2 Tel or 3 Tel */
+
+ #ifdef NEVER_PERFORM_FRAME_SELECTION_USE_AMBER_SELECTOR_AFTERWARDS
+@@ -758,7 +758,7 @@
+ fFrame_GT_SNR2_Percent = 0.F;
+
+ sprintf( szMessage, "Number of Frames = %d", imdVis.nbFrames );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* Count Frames with Fringe SNR greater than 2 */
+ for(iFrame = 0; iFrame < imdVis.nbFrames; iFrame++)
+@@ -769,7 +769,7 @@
+ fFrame_GT_SNR2_Percent = (float)iFrame_GT_SNR2 / (float)imdVis.nbFrames;
+
+ sprintf( szMessage, "QC: %d of %d Frames having SNR greater than 2 = %0.2f percent", iFrame_GT_SNR2, imdVis.nbFrames, fFrame_GT_SNR2_Percent*100.0 );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ cpl_propertylist_append_long( qc_properties, "ESO QC FRAMES SELECTED SNRGT2", iFrame_GT_SNR2 );
+ cpl_propertylist_set_comment( qc_properties, "ESO QC FRAMES SELECTED SNRGT2", "Frames selected with SNR greater than 2 ");
+@@ -810,7 +810,7 @@
+ if (strlen(szFilenameProduct) != 0)
+ {
+ sprintf ( szMessage, "Now writing Scientific Data to %s...", szFilenameProduct );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+
+
+@@ -828,13 +828,13 @@
+ {
+ Status = amdlibFAILURE;
+ sprintf ( szMessage, "ERROR saving Scientific Data to %s.", szFilenameProduct );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ }
+ else
+ {
+ sprintf ( szMessage, "Scientific Data %s saved successfully.", szFilenameProduct );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* Now copy the file to tmp to be able to plot the files after the
+ originals are renamed by ESOREX
+@@ -1258,13 +1258,13 @@
+ iBinningOfFrames = 99999; /* Binning of all Frames */
+
+ sprintf ( szMessage, "BINNING of %d frames will be used", iBinningOfFrames );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ if( iBinningOfFrames == 1 )
+ {
+ errorType = amdlibTHEORETICAL_ERROR;
+ sprintf ( szMessage, "ERROR BAR calculation with amdlibTHEORETICAL_ERROR will be used for BINNING of 1 frame." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+
+
+@@ -1280,7 +1280,7 @@
+ strcpy( szFilenameFLAT, pszFilename );
+
+ sprintf ( szMessage, "FLAT FIELD identified %s", pszFilename );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+
+ cur_frame = cpl_frameset_find( framelist, "AMBER_BADPIX" );
+@@ -1294,7 +1294,7 @@
+ strcpy( szFilenameBADPIX, pszFilename );
+
+ sprintf ( szMessage, "BAD PIXEL MAP identified %s", pszFilename );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+
+ /* Try to load the optional SKY frame */
+@@ -1317,7 +1317,7 @@
+ strcpy( szFilenameSKY, pszFilename );
+
+ sprintf ( szMessage, "SKY identified %s", pszFilename );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ }
+
+@@ -1334,7 +1334,7 @@
+ strcpy( szFilenameP2VM, pszFilename );
+
+ sprintf ( szMessage, "P2VM identified %s", pszFilename );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ }
+ else
+@@ -1350,7 +1350,7 @@
+ strcpy( szFilenameP2VM, pszFilename );
+
+ sprintf ( szMessage, "P2VM identified %s", pszFilename );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+ }
+
+@@ -1369,7 +1369,7 @@
+ {
+ fclose( fpTmp );
+ sprintf ( szMessage, "latest pipeline P2VM identified %s", szFilenameP2VM );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+ }
+
+@@ -1396,7 +1396,7 @@
+ if( pszFilename && pszFileTag )
+ {
+ sprintf( szMessage, "Frame #%d [Current execution status=%d]", iFrameCount, iStatus );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* SCIENCE / CALIB DARK */
+ if(!strcmp( pszFileTag, "AMBER_DARK" ) ||
+@@ -1407,7 +1407,7 @@
+ strcpy( szFilenameDARK, pszFilename );
+
+ sprintf ( szMessage, "DARK identified %s", pszFilename );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iLoadedFrameCount++;
+ }
+
+@@ -1433,7 +1433,7 @@
+ strcpy( szFilenameSCIENCE[iReduction], pszFilename );
+ isFrameScience[iReduction] = 1;
+ sprintf ( szMessage, "SCIENCE identified %s", pszFilename );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iReduction++;
+ iLoadedFrameCount++;
+ } /* Status still OK */
+@@ -1447,7 +1447,7 @@
+ strcpy( szFilenameSCIENCE[iReduction], pszFilename );
+ isFrameScience[iReduction] = 0;
+ sprintf ( szMessage, "CALIB identified %s", pszFilename );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iReduction++;
+ iLoadedFrameCount++;
+ } /* Status still OK */
+@@ -1458,7 +1458,7 @@
+ else
+ {
+ sprintf( szMessage, "Missing FileName or Tag for Frame #%d", iFrameCount );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ } /* Filename and Tag present */
+
+ cur_frame = cpl_frameset_get_next( framelist );
+@@ -1471,7 +1471,7 @@
+ {
+ /* This is a science object frame we can reduce the data now */
+ sprintf( szMessage, "Reducing %s now... [Status=%d]", szFilenameSCIENCE[i], iStatus );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ cpl_msg_info( fctid, "Now calling high level data reduction amdlibExtractVisESO..." );
+ if( amdlibExtractVisESO( szFilenameBADPIX, szFilenameFLAT, szFilenameP2VM, szFilenameDARK, szFilenameSKY,
+@@ -1480,7 +1480,7 @@
+ )
+ {
+ sprintf( szMessage, "Error in Extracting Visibilities." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = 2;
+ }
+ else
+@@ -1503,7 +1503,7 @@
+ if( pframeSCIENCE[i] )
+ {
+ sprintf( szMessage, "cpl_frame_insert (\"%s\")", cpl_frame_get_filename(pframeSCIENCE[i]) );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ cpl_frameset_insert( framelist, pframeSCIENCE[i] );
+ }
+ }
+--- a/recipes/amber_detector.c
++++ b/recipes/amber_detector.c
+@@ -268,7 +268,7 @@
+ {
+ /* Error */
+ sprintf( szMessage, "Error in setting up the product header." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = 16;
+ }
+ #else
+@@ -283,7 +283,7 @@
+ {
+ /* Error */
+ sprintf( szMessage, "Error in setting up the product header." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = 16;
+ }
+ #endif
+@@ -487,7 +487,7 @@
+
+
+ sprintf( szMessage, "Using frames from %d to %d", iFrom, iTo );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+
+ /*
+@@ -516,7 +516,7 @@
+ iFrameCountFlat++;
+
+ sprintf( szMessage, "DETECTOR_FFM %d %s", iFrameCountFlat, pszFilename );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+
+ /* DETECTOR_DARK */
+@@ -527,7 +527,7 @@
+ iFrameCountDark++;
+
+ sprintf( szMessage, "DETECTOR_DARK %d %s", iFrameCountDark, pszFilename );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+ }
+
+@@ -541,9 +541,9 @@
+ iStatus = 1;
+
+ sprintf( szMessage, "Found %d of DARK and %d of FLAT frames.", iFrameCountDark, iFrameCountFlat );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ sprintf( szMessage, "Error: Please input 7 of each." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+
+ if( !iStatus )
+@@ -553,7 +553,7 @@
+ for( i=0; i<7 && !iStatus; i++ )
+ {
+ sprintf( szMessage, "amdmsCreateStatisticsAlgo for Darks #%d", i+1 );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsCreateStatisticsAlgo( &statEnv );
+
+@@ -582,7 +582,7 @@
+ statEnv->env.filter.aoiHeight = 512;
+
+ sprintf( szMessage, "amdmsAddFileToList: %s", szInputDark[i] );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* Prepare Input */
+ flags.content = amdmsIMAGING_DATA_CONTENT;
+@@ -616,13 +616,13 @@
+ amdmsAddFileToList( &(statEnv->env.outFiles), szTemp, flags);
+
+ sprintf( szMessage, "amdmsDoPixelStatistics" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = amdmsDoPixelStatistics( statEnv );
+ if( iStatus == amdmsSUCCESS )
+ iStatus = 0;
+
+ sprintf( szMessage, "Generating particle event maps: Status = %d", iStatus );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsDestroyStatisticsAlgo( &statEnv );
+ } /* All 7 darks */
+@@ -633,7 +633,7 @@
+ for( i=0; i<7 && !iStatus; i++ )
+ {
+ sprintf( szMessage, "amdmsCreateStatisticsAlgo for Flats #%d", i+1 );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsCreateStatisticsAlgo( &statEnv );
+
+@@ -663,7 +663,7 @@
+ statEnv->env.filter.aoiHeight = 512;
+
+ sprintf( szMessage, "amdmsAddFileToList: %s", szInputFlat[i] );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* Prepare Input */
+ flags.content = amdmsIMAGING_DATA_CONTENT;
+@@ -707,7 +707,7 @@
+ amdmsAddFileToList( &(statEnv->env.outFiles), szTemp, flags);
+
+ sprintf( szMessage, "amdmsDoPixelStatistics" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = amdmsDoPixelStatistics( statEnv );
+ if( iStatus == amdmsSUCCESS )
+ iStatus = 0;
+@@ -715,7 +715,7 @@
+ iStatus = 666; /* Error from amdmslib */
+
+ sprintf( szMessage, "Generating particle event maps: Status = %d", iStatus );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsDestroyStatisticsAlgo( &statEnv );
+ } /* All 7 flats */
+@@ -726,7 +726,7 @@
+ if( !iStatus )
+ {
+ sprintf( szMessage, "amdmsCreatePropertiesAlgo dark current maps for dark" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsCreatePropertiesAlgo( &ppEnv );
+
+@@ -765,7 +765,7 @@
+ amdmsAddFileToList( &(ppEnv->env.outFiles), szTemp, flags);
+
+ sprintf( szMessage, "amdmsDoProperties" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = amdmsDoProperties( ppEnv );
+ if( iStatus == amdmsSUCCESS )
+ iStatus = 0;
+@@ -773,7 +773,7 @@
+ iStatus = 666; /* Error from amdmslib */
+
+ sprintf( szMessage, "Generating dark current maps for dark: Status = %d", iStatus );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsDestroyPropertiesAlgo( &ppEnv );
+ } /* Status still OK */
+@@ -785,7 +785,7 @@
+ {
+ /* a) Darks --------------------------------------------------------------------*/
+ sprintf( szMessage, " amdmsCreateBadPixelAlgo bad pixel map 1 of 6" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsCreateBadPixelAlgo( &badpixelEnv );
+
+@@ -858,7 +858,7 @@
+ amdmsAddFileToList( &(badpixelEnv->env.outFiles), szTemp, flags);
+
+ sprintf( szMessage, "amdmsDoBadPixel" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = amdmsDoBadPixel( badpixelEnv );
+ if( iStatus == amdmsSUCCESS )
+ iStatus = 0;
+@@ -866,13 +866,13 @@
+ iStatus = 666; /* Error from amdmslib */
+
+ sprintf( szMessage, "Generating bad pixel maps for dark: Status = %d", iStatus );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsDestroyBadPixelAlgo( &badpixelEnv );
+
+ /* b) Flats --------------------------------------------------------------------*/
+ sprintf( szMessage, " amdmsCreateBadPixelAlgo bad pixel map 2 of 6" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsCreateBadPixelAlgo( &badpixelEnv );
+
+@@ -946,7 +946,7 @@
+ amdmsAddFileToList( &(badpixelEnv->env.outFiles), szTemp, flags);
+
+ sprintf( szMessage, "amdmsDoBadPixel" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = amdmsDoBadPixel( badpixelEnv );
+ if( iStatus == amdmsSUCCESS )
+ iStatus = 0;
+@@ -954,13 +954,13 @@
+ iStatus = 666; /* Error from amdmslib */
+
+ sprintf( szMessage, "Generating bad pixel maps for flat: Status = %d", iStatus );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsDestroyBadPixelAlgo( &badpixelEnv );
+
+ /* c) ---------------------------------------------------------------------*/
+ sprintf( szMessage, " amdmsCreateBadPixelAlgo bad pixel map 3 of 6" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsCreateBadPixelAlgo( &badpixelEnv );
+
+@@ -1059,7 +1059,7 @@
+ amdmsAddFileToList( &(badpixelEnv->env.outFiles), szTemp, flags);
+
+ sprintf( szMessage, "amdmsDoBadPixel" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = amdmsDoBadPixel( badpixelEnv );
+ if( iStatus == amdmsSUCCESS )
+ iStatus = 0;
+@@ -1067,13 +1067,13 @@
+ iStatus = 666; /* Error from amdmslib */
+
+ sprintf( szMessage, "Generating bad pixel maps for flat: Status = %d", iStatus );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsDestroyBadPixelAlgo( &badpixelEnv );
+
+ /* d) -----------------------------------------------------------------------*/
+ sprintf( szMessage, " amdmsCreateBadPixelAlgo bad pixel map 4 of 6" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsCreateBadPixelAlgo( &badpixelEnv );
+
+@@ -1143,7 +1143,7 @@
+ amdmsAddFileToList( &(badpixelEnv->env.outFiles), szTemp, flags);
+
+ sprintf( szMessage, "amdmsDoBadPixel" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = amdmsDoBadPixel( badpixelEnv );
+ if( iStatus == amdmsSUCCESS )
+ iStatus = 0;
+@@ -1151,13 +1151,13 @@
+ iStatus = 666; /* Error from amdmslib */
+
+ sprintf( szMessage, "Generating bad pixel maps for flat: Status = %d", iStatus );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsDestroyBadPixelAlgo( &badpixelEnv );
+
+ /* e) -----------------------------------------------------------------------*/
+ sprintf( szMessage, " amdmsCreateBadPixelAlgo bad pixel map 5 of 6" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsCreateBadPixelAlgo( &badpixelEnv );
+
+@@ -1224,7 +1224,7 @@
+ amdmsAddFileToList( &(badpixelEnv->env.outFiles), szTemp, flags);
+
+ sprintf( szMessage, "amdmsDoBadPixel" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = amdmsDoBadPixel( badpixelEnv );
+ if( iStatus == amdmsSUCCESS )
+ iStatus = 0;
+@@ -1232,13 +1232,13 @@
+ iStatus = 666; /* Error from amdmslib */
+
+ sprintf( szMessage, "Generating bad pixel maps for flat: Status = %d", iStatus );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsDestroyBadPixelAlgo( &badpixelEnv );
+
+ /* f) Finish --------------------------------------------------------------------*/
+ sprintf( szMessage, " amdmsCreateBadPixelAlgo bad pixel map 6 of 6" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsCreateBadPixelAlgo( &badpixelEnv );
+
+@@ -1347,7 +1347,7 @@
+ iStatus = 666; /* Error from amdmslib */
+
+ sprintf( szMessage, "Final stage -> Generating bad pixel maps for flat: Status = %d", iStatus );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+
+
+@@ -1361,7 +1361,7 @@
+ for( i=0; i<7 && !iStatus; i++ )
+ {
+ sprintf( szMessage, "amdmsCreateStatisticsAlgo for Flats #%d", i+1 );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsCreateStatisticsAlgo( &statEnv );
+
+@@ -1384,7 +1384,7 @@
+
+
+ sprintf( szMessage, "amdmsAddFileToList: %s", szInputFlat[i] );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* Prepare Input */
+ flags.content = amdmsIMAGING_DATA_CONTENT;
+@@ -1434,7 +1434,7 @@
+ amdmsAddFileToList( &(statEnv->env.outFiles), szTemp, flags);
+
+ sprintf( szMessage, "amdmsDoPixelStatistics" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = amdmsDoPixelStatistics( statEnv );
+ if( iStatus == amdmsSUCCESS )
+ iStatus = 0;
+@@ -1442,7 +1442,7 @@
+ iStatus = 666; /* Error from amdmslib */
+
+ sprintf( szMessage, "Generating pixel statistics: Status = %d", iStatus );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsDestroyStatisticsAlgo( &statEnv );
+ } /* All 7 flats */
+@@ -1452,7 +1452,7 @@
+ if( !iStatus )
+ {
+ sprintf( szMessage, "amdmsCreatePropertiesAlgo flatfield map" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsCreatePropertiesAlgo( &ppEnv );
+
+@@ -1544,7 +1544,7 @@
+
+
+ sprintf( szMessage, "amdmsDoProperties" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = amdmsDoProperties( ppEnv );
+ if( iStatus == amdmsSUCCESS )
+ iStatus = 0;
+@@ -1552,7 +1552,7 @@
+ iStatus = 666; /* Error from amdmslib */
+
+ sprintf( szMessage, "Generating flat field map: Status = %d", iStatus );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ amdmsDestroyPropertiesAlgo( &ppEnv );
+ }
+@@ -1586,11 +1586,11 @@
+
+ /* Add QC parameters */
+ sprintf( szMessage, "ESO QC BADPIX = %d", iBadPix );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ cpl_propertylist_append_int( qc_properties, "ESO QC BADPIX", iBadPix );
+
+ sprintf( szMessage, "ESO QC GOODPIX = %d", iGoodPix );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ cpl_propertylist_append_int( qc_properties, "ESO QC GOODPIX", iGoodPix );
+
+
+@@ -1600,7 +1600,7 @@
+ }
+
+ sprintf( szMessage, "ESO QC BADRATIO = %.2f", dBadRatio );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ cpl_propertylist_append_float( qc_properties, "ESO QC BADRATIO", dBadRatio );
+ cpl_propertylist_set_comment( qc_properties, "ESO QC BADRATIO", "Percentage of bad Pixels vs all Pixels");
+
+@@ -1644,7 +1644,7 @@
+ cpl_propertylist_delete( qcFromRawfile);
+
+ sprintf( szMessage, "First product is Bad Pixel Map: Status = %d", iStatus );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /*---------------------------------------------------------*/
+ strcpy( szProduct, "amber_eso_ffm.fits" );
+@@ -1665,7 +1665,7 @@
+ cpl_propertylist_delete( qc_properties);
+
+ sprintf( szMessage, "Second product is Flat Field Map: Status = %d", iStatus );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ } /* STatus still OK */
+
+--- a/recipes/amber_BeamPos.c
++++ b/recipes/amber_BeamPos.c
+@@ -314,7 +314,7 @@
+ {
+ /* Error */
+ sprintf( szMessage, "Error in setting up the product header." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = 16;
+ }
+ #else
+@@ -329,7 +329,7 @@
+ {
+ /* Error */
+ sprintf( szMessage, "Error in setting up the product header." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = 16;
+ }
+
+@@ -1116,7 +1116,7 @@
+ iFrameCount++; /* Count BEAMPOS-frames only */
+
+ sprintf( szMessage, "Frame #%d of 22 [Current execution status=%d]", iFrameCount, iStatus );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ if( iStatus == 0 )
+ {
+@@ -1124,7 +1124,7 @@
+ if( amdlibLoadRawData(pszFilename, &rawData, errMsg) != amdlibSUCCESS )
+ {
+ sprintf ( szMessage, "Could not load raw data file '%s'", pszFilename );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = 20;
+ }
+ else
+@@ -1144,7 +1144,7 @@
+ if( CalculateQCParams( pImage, &dPosX, &dPosY, &dSizeX, &dSizeY, &dFlux, &dAngle, &dPeakFlux) != 0 )
+ {
+ sprintf( szMessage, "Beam localization failed!" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ dPosX = 0;
+ dPosY = 0;
+ dSizeX = 0;
+@@ -1170,7 +1170,7 @@
+ sprintf( szProduct, "amber_beampos_%04d.fits", iFrameCount );
+
+ sprintf( szMessage, "%s %s", szProduct, szPrefix );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ pFrameProduct = cpl_frame_new();
+ cpl_frame_set_filename( pFrameProduct, szProduct );
+@@ -1184,60 +1184,60 @@
+
+ sprintf( szQCParameter, "%sX", szPrefix );
+ sprintf( szMessage, "%s = %.2f", szQCParameter, dPosX );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ cpl_propertylist_append_float( qc_properties, szQCParameter, dPosX );
+
+ sprintf( szQCParameter, "%sY", szPrefix );
+ sprintf( szMessage, "%s = %.2f", szQCParameter, dPosY );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ cpl_propertylist_append_float( qc_properties, szQCParameter, dPosY );
+
+
+ sprintf( szQCParameter, "%sSHX", szPrefix );
+ sprintf( szMessage, "%s = %.2f", szQCParameter, dOffsetX );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ cpl_propertylist_append_float( qc_properties, szQCParameter, dOffsetX );
+
+ sprintf( szQCParameter, "%sSHY", szPrefix );
+ sprintf( szMessage, "%s = %.2f", szQCParameter, dOffsetY );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ cpl_propertylist_append_float( qc_properties, szQCParameter, dOffsetY );
+
+ sprintf( szQCParameter, "%sSIZX", szPrefix );
+ sprintf( szMessage, "%s = %.2f", szQCParameter, dSizeX );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ cpl_propertylist_append_float( qc_properties, szQCParameter, dSizeX );
+
+ sprintf( szQCParameter, "%sSIZY", szPrefix );
+ sprintf( szMessage, "%s = %.2f", szQCParameter, dSizeY );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ cpl_propertylist_append_float( qc_properties, szQCParameter, dSizeY );
+
+ sprintf( szQCParameter, "%sFLUX", szPrefix );
+ sprintf( szMessage, "%s = %.2f", szQCParameter, dFlux );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ cpl_propertylist_append_float( qc_properties, szQCParameter, dFlux );
+
+ sprintf( szQCParameter, "%sPEAKFLUX", szPrefix );
+ sprintf( szMessage, "%s = %.2f", szQCParameter, dPeakFlux );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ cpl_propertylist_append_float( qc_properties, szQCParameter, dPeakFlux );
+
+ sprintf( szQCParameter, "%sANGLE", szPrefix );
+ sprintf( szMessage, "%s = %.2f", szQCParameter, dAngle );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ cpl_propertylist_append_float( qc_properties, szQCParameter, dAngle );
+
+ /* Save Product */
+ /*sprintf( szMessage, "Saving Product %s %s...", szProduct, szPrefix );
+- cpl_msg_info( fctid, szMessage );*/
++ cpl_msg_info( fctid, "%s", szMessage );*/
+
+ /*Adding the JMMC acknowledgements*/
+ amber_JMMC_acknowledgement(qc_properties);
+
+ cpl_image_save( pImage, szProduct, CPL_BPP_IEEE_FLOAT, qc_properties, CPL_IO_DEFAULT );
+ /*sprintf( szMessage, "cpl_frame_insert (\"%s\")", cpl_frame_get_filename(pFrameProduct) ); */
+- /*cpl_msg_info( fctid, szMessage ); */
++ /*cpl_msg_info( fctid, "%s", szMessage ); */
+ cpl_frameset_insert( framelist, pFrameProduct );
+
+
+@@ -1282,7 +1282,7 @@
+ else
+ {
+ sprintf( szMessage, "Missing FileName or Tag for Frame #%d", iFrameCount );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ } /* Filename and Tag present */
+
+ cur_frame = cpl_frameset_get_next( framelist );
+@@ -1291,7 +1291,7 @@
+ if( iFrameCount != 22 )
+ {
+ sprintf( szMessage, "Error: Please input 22 raw files of type AMBER_BEAMPOS", iFrameCount );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = 1;
+ }
+
+--- a/recipes/amber_ascii_export.c
++++ b/recipes/amber_ascii_export.c
+@@ -296,7 +296,7 @@
+ strcpy( szMethod, cpl_parameter_get_string( cur_param ) );
+
+ sprintf ( szMessage, "Using Method: %s", szMethod );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+
+ cpl_msg_info( fctid, "Start of DataReduction");
+@@ -318,7 +318,7 @@
+ if( pszFilename && pszFileTag )
+ {
+ sprintf( szMessage, "Frame #%d [Current execution status=%d]", iFrameCount, iStatus );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+
+
+@@ -395,7 +395,7 @@
+ iStatus = amdlibLoadOiFile( szFilnameOI, &insCfg, &array, &target, &photometry, &vis, &vis2, &vis3, &wave, &pst, &spectrum, errMsg );
+
+ /*sprintf( szMessage, "%d", iStatus );
+- cpl_msg_info( fctid, szMessage );*/
++ cpl_msg_info( fctid, "%s", szMessage );*/
+
+
+
+@@ -427,10 +427,10 @@
+ pHeader = cpl_propertylist_load( szFilnameOI, 0 );
+
+ sprintf( szMessage, "Extracting product header from file %s for target named %s [%s].", szFilnameOI, cpl_propertylist_get_string( pHeader, "ESO OBS NAME" ), cpl_error_get_message() );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ sprintf( szMessage, "Target observed on %s [%s].", cpl_propertylist_get_string( pHeader, "DATE-OBS" ), cpl_error_get_message() );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+
+
+@@ -443,17 +443,17 @@
+
+
+ sprintf ( szMessage, "Status: %d for input file %s [%s]", iStatus, szFilnameOI, errMsg );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* Count number of frames */
+ int iTotal = vis.nbFrames * vis.nbBases;
+ sprintf( szMessage, "Number of Frames = %d giving %d Visibilities", iTotal / vis.nbBases, iTotal );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+ /* Count frames for Photometry and Piston */
+
+ sprintf( szMessage, "Photometry: %d / Piston: %d", photometry.nbFrames, pst.nbFrames );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+
+ /* Count Frames with Fringe SNR greater than xxx */
+@@ -479,7 +479,7 @@
+ if (amdlibGetBand(wave.wlen[wave.nbWlen-1]) != band)
+ {
+ sprintf ( szMessage, "Sorry, frame selection is only possible for one band. This data contains more than one band" );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ iStatus = 666;
+ }
+ */
+@@ -507,7 +507,7 @@
+ }
+
+ sprintf ( szMessage, "New datetime format: %s", szFDATE);
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+
+ while (szFileName[iFName] != '\0')
+@@ -518,7 +518,7 @@
+ }
+
+ sprintf ( szMessage, "New filename format: %s", szFileName);
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+
+
+@@ -538,7 +538,7 @@
+ strcpy( szASCII1, szBuffer );
+
+ sprintf ( szMessage, "Yorick filename format: %s", szBuffer);
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+
+
+@@ -569,7 +569,7 @@
+ fp1 = fopen( szASCII1, "wt" );
+
+ sprintf ( szMessage, "Yorick file %s opened", szASCII1);
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+
+
+ }
+@@ -860,7 +860,7 @@
+ /* not an AMBER file */
+ iStatus = 2;
+ sprintf ( szMessage, "ERROR: Cannot read [%s]. OI table structure is not from AMBER or the file has been corrupted. [%s]", szFilnameOI, errMsg );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+ }
+ else /* found fitting frame ? */
+@@ -868,7 +868,7 @@
+ /* no fitting frame */
+ iStatus = 1;
+ sprintf ( szMessage, "ERROR: Current file doesn't contain SCIENCE_REDUCED or CALIB_REDUCED." );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ }
+
+
+@@ -877,7 +877,7 @@
+ else
+ {
+ sprintf( szMessage, "Missing FileName or Tag for Frame #%d", iFrameCount );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ } /* Filename and Tag present */
+
+ /* release memory */
+@@ -902,14 +902,14 @@
+ // {
+ /*
+ sprintf( szMessage, "cpl_frame_insert [%s]", cpl_frame_get_filename(pFrame ) );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ */
+ // cpl_frameset_insert( framelist, pFrame );
+ // }
+
+ /*
+ sprintf ( szMessage, "Status: %d for %s", iStatus, szProductfile );
+- cpl_msg_info( fctid, szMessage );
++ cpl_msg_info( fctid, "%s", szMessage );
+ */
+
+ cpl_msg_info( fctid, "End of DataReduction");
diff --git a/debian/patches/libadd_cpl.patch b/debian/patches/libadd_cpl.patch
index 1f4ee35..28fd991 100644
--- a/debian/patches/libadd_cpl.patch
+++ b/debian/patches/libadd_cpl.patch
@@ -1,24 +1,93 @@
Author: Ole Streicher <debian at liska.ath.cx>
Description: Add the cpl libraries to the recips.so and the test program
---- a/template/tests/Makefile.am
-+++ b/template/tests/Makefile.am
-@@ -32,7 +32,7 @@
- LIBTEMPLATE = $(top_builddir)/template/libtemplate.la
+--- a/recipes/Makefile.am
++++ b/recipes/Makefile.am
+@@ -40,66 +40,66 @@
- INCLUDES = $(all_includes)
--LDADD = $(LIBTEMPLATE)
-+LDADD = $(LIBTEMPLATE) $(LIBCPLCORE) $(LIBCPLUI)
+ amber_p2vm_la_SOURCES = amber_p2vm.c
- check_PROGRAMS = template_dfs-test
+-amber_p2vm_la_LIBADD = $(LIBAMBER)
++amber_p2vm_la_LIBADD = $(LIBAMBER) $(LIBCPLCORE) $(LIBCPLDFS) $(LIBCPLUI)
+ amber_p2vm_la_LDFLAGS = -module -avoid-version
+ amber_p2vm_la_DEPENDENCIES = $(LIBAMBER)
---- a/recipes/Makefile.am
-+++ b/recipes/Makefile.am
-@@ -36,7 +36,7 @@
- plugin_LTLIBRARIES = rrrecipe.la rrrecipe_calib.la
-
- rrrecipe_la_SOURCES = rrrecipe.c
--rrrecipe_la_LIBADD = $(LIBTEMPLATE)
-+rrrecipe_la_LIBADD = $(LIBTEMPLATE) $(LIBCPLCORE) $(LIBCPLDFS) $(LIBCPLUI)
- rrrecipe_la_LDFLAGS = -module -avoid-version
- rrrecipe_la_DEPENDENCIES = $(LIBTEMPLATE)
+ amber_raw_to_fitsimage_la_SOURCES = amber_raw_to_fitsimage.c
+
+-amber_raw_to_fitsimage_la_LIBADD = $(LIBAMBER)
++amber_raw_to_fitsimage_la_LIBADD = $(LIBAMBER) $(LIBCPLCORE) $(LIBCPLDFS) $(LIBCPLUI)
+ amber_raw_to_fitsimage_la_LDFLAGS = -module -avoid-version
+ amber_raw_to_fitsimage_la_DEPENDENCIES = $(LIBAMBER)
+
+ amber_SciCal_la_SOURCES = amber_SciCal.c
+
+-amber_SciCal_la_LIBADD = $(LIBAMBER)
++amber_SciCal_la_LIBADD = $(LIBAMBER) $(LIBCPLCORE) $(LIBCPLDFS) $(LIBCPLUI)
+ amber_SciCal_la_LDFLAGS = -module -avoid-version
+ amber_SciCal_la_DEPENDENCIES = $(LIBAMBER)
+
+ amber_selector_la_SOURCES = amber_selector.c
+
+-amber_selector_la_LIBADD = $(LIBAMBER)
++amber_selector_la_LIBADD = $(LIBAMBER) $(LIBCPLCORE) $(LIBCPLDFS) $(LIBCPLUI)
+ amber_selector_la_LDFLAGS = -module -avoid-version
+ amber_selector_la_DEPENDENCIES = $(LIBAMBER)
+
+ #amber_divider_la_SOURCES = amber_divider.c
+ #
+-#amber_divider_la_LIBADD = $(LIBAMBER)
++#amber_divider_la_LIBADD = $(LIBAMBER) $(LIBCPLCORE) $(LIBCPLDFS) $(LIBCPLUI)
+ #amber_divider_la_LDFLAGS = -module -avoid-version
+ #amber_divider_la_DEPENDENCIES = $(LIBAMBER)
+
+ amber_detector_la_SOURCES = amber_detector.c
+
+-amber_detector_la_LIBADD = $(LIBAMBER)
++amber_detector_la_LIBADD = $(LIBAMBER) $(LIBCPLCORE) $(LIBCPLDFS) $(LIBCPLUI)
+ amber_detector_la_LDFLAGS = -module -avoid-version
+ amber_detector_la_DEPENDENCIES = $(LIBAMBER)
+
+ amber_BeamPos_la_SOURCES = amber_BeamPos.c
+
+-amber_BeamPos_la_LIBADD = $(LIBAMBER)
++amber_BeamPos_la_LIBADD = $(LIBAMBER) $(LIBCPLCORE) $(LIBCPLDFS) $(LIBCPLUI)
+ amber_BeamPos_la_LDFLAGS = -module -avoid-version
+ amber_BeamPos_la_DEPENDENCIES = $(LIBAMBER)
+
+ amber_ascii_export_la_SOURCES = amber_ascii_export.c
+
+-amber_ascii_export_la_LIBADD = $(LIBAMBER)
++amber_ascii_export_la_LIBADD = $(LIBAMBER) $(LIBCPLCORE) $(LIBCPLDFS) $(LIBCPLUI)
+ amber_ascii_export_la_LDFLAGS = -module -avoid-version
+ amber_ascii_export_la_DEPENDENCIES = $(LIBAMBER)
+
+ amber_trf_la_SOURCES = amber_trf.c
+
+-amber_trf_la_LIBADD = $(LIBAMBER)
++amber_trf_la_LIBADD = $(LIBAMBER) $(LIBCPLCORE) $(LIBCPLDFS) $(LIBCPLUI)
+ amber_trf_la_LDFLAGS = -module -avoid-version
+ amber_trf_la_DEPENDENCIES = $(LIBAMBER)
+
+ amber_calibrate_la_SOURCES = amber_calibrate.c
+
+-amber_calibrate_la_LIBADD = $(LIBAMBER)
++amber_calibrate_la_LIBADD = $(LIBAMBER) $(LIBCPLCORE) $(LIBCPLDFS) $(LIBCPLUI)
+ amber_calibrate_la_LDFLAGS = -module -avoid-version
+ amber_calibrate_la_DEPENDENCIES = $(LIBAMBER)
+
+ amber_oimerge_la_SOURCES = amber_oimerge.c
+-amber_oimerge_la_LIBADD = $(LIBAMBER)
++amber_oimerge_la_LIBADD = $(LIBAMBER) $(LIBCPLCORE) $(LIBCPLDFS) $(LIBCPLUI)
+ amber_oimerge_la_LDFLAGS = -module -avoid-version
+ amber_oimerge_la_DEPENDENCIES = $(LIBAMBER)
+
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -32,7 +32,7 @@
+ LIBAMBER = $(top_builddir)/amber/libamber.la
+
+ INCLUDES = -I$(top_builddir)/amber
+-LDADD = $(LIBAMBER)
++LDADD = $(LIBAMBER) $(LIBCPLCORE) $(LIBCPLUI)
+
+ check_PROGRAMS =
diff --git a/debian/patches/series b/debian/patches/series
index e2c2220..3306368 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
libadd_cpl.patch
set_plugindir.patch
use-std-paths-for-cpl.patch
+format_security.patch
diff --git a/debian/patches/set_plugindir.patch b/debian/patches/set_plugindir.patch
index 9c9230a..45e2f81 100644
--- a/debian/patches/set_plugindir.patch
+++ b/debian/patches/set_plugindir.patch
@@ -2,7 +2,7 @@ Author: Ole Streicher <debian at liska.ath.cx>
Description: Set the plugin directory so that esorex and python-cpl can find it.
--- a/acinclude.m4
+++ b/acinclude.m4
-@@ -86,7 +86,7 @@
+@@ -91,7 +91,7 @@
[
if test -z "$plugindir"; then
diff --git a/debian/patches/use-std-paths-for-cpl.patch b/debian/patches/use-std-paths-for-cpl.patch
index ae95068..e212670 100644
--- a/debian/patches/use-std-paths-for-cpl.patch
+++ b/debian/patches/use-std-paths-for-cpl.patch
@@ -2,20 +2,62 @@ Author: Ole Streicher <debian at liska.ath.cx>
Description: Use standard path and name for cpl
--- a/m4macros/cpl.m4
+++ b/m4macros/cpl.m4
-@@ -41,7 +41,7 @@
+@@ -8,7 +8,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=""
+@@ -109,7 +109,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 \
+ $CFITSIODIR/lib32 $cpl_cfitsio_libdirs"
+@@ -556,6 +556,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 \
+@@ -742,6 +743,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 \
+@@ -976,6 +978,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 \
+@@ -1314,7 +1317,7 @@
AC_MSG_CHECKING([for CPL])
- cpl_check_cpl_header="cpl_macros.h"
-- cpl_check_cpl_lib="libcplcore.la"
+ cpl_check_cpl_header="cpl.h"
+- cpl_check_cpl_lib="libcplcore.a"
+ cpl_check_cpl_lib="libcplcore.so"
- cpl_includes=""
- cpl_libraries=""
-@@ -97,6 +97,7 @@
- cpl_libdirs="/opt/cpl/lib \
- /usr/local/lib \
- /usr/local/cpl/lib \
-+ /usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)
- /usr/lib"
+ cpl_incdirs=""
+ cpl_libdirs=""
+@@ -1391,6 +1394,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/lib $cpl_libdirs"
+ test -n "$CPLDIR" && \
+ cpl_libdirs="$CPLDIR/lib64 $CPLDIR/lib $CPLDIR/lib32 \
diff --git a/debian/watch b/debian/watch
index 4e895da..52be581 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,4 +1,4 @@
version=3
http://www.eso.org/sci/software/pipelines/ \
- .*/template-kit-(.*).tar.gz \
+ .*/amber-kit-(.*).tar.gz \
debian debian/repackage.sh
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/cpl-plugin-amber.git
More information about the debian-science-commits
mailing list