[emos] 01/37: 000403+dfsg.1-1 test

Alastair McKinstry mckinstry at moszumanska.debian.org
Sat Jun 27 08:14:30 UTC 2015


This is an automated email from the git hooks/post-receive script.

mckinstry pushed a commit to branch master
in repository emos.

commit 7b5fcd258f1697f028dbc9131b063cff2fece67b
Author: Alastair McKinstry <mckinstry at debian.org>
Date:   Thu May 7 13:05:44 2015 +0100

    000403+dfsg.1-1 test
---
 debian/build-shlib                        |  23 +++
 debian/changelog                          | 156 +++++++++++++++++
 debian/compat                             |   1 +
 debian/control                            |  47 +++++
 debian/copyright                          |  48 ++++++
 debian/libemos-data.dirs                  |   1 +
 debian/libemos-data.install               |   1 +
 debian/libemos-dev.dirs                   |   3 +
 debian/libemos-dev.docs                   |   1 +
 debian/libemos-dev.examples               |   5 +
 debian/libemos-dev.install                |   5 +
 debian/libemos0d.dirs                     |   1 +
 debian/libemos0d.install                  |   1 +
 debian/libemos0d.shlibs                   |   2 +
 debian/patches/bufrnum.patch              | 158 +++++++++++++++++
 debian/patches/config.patch               | 145 ++++++++++++++++
 debian/patches/emosnum.patch              | 133 ++++++++++++++
 debian/patches/huge.patch                 |  35 ++++
 debian/patches/little_endian.patch        | 277 ++++++++++++++++++++++++++++++
 debian/patches/pkgconfig.patch            |  75 ++++++++
 debian/patches/remove_sharedlib_dbg.patch |  31 ++++
 debian/patches/series                     |  10 ++
 debian/patches/shared.patch               |  31 ++++
 debian/patches/underscore_names.patch     |  16 ++
 debian/patches/wvqlid2.patch              |  18 ++
 debian/rules                              |  49 ++++++
 debian/source/format                      |   1 +
 debian/source/options                     |   1 +
 28 files changed, 1275 insertions(+)

diff --git a/debian/build-shlib b/debian/build-shlib
new file mode 100644
index 0000000..527d477
--- /dev/null
+++ b/debian/build-shlib
@@ -0,0 +1,23 @@
+# Makefile to build the shared library.
+# Assumes R64 is passed on cmdline
+# This should be merged into upstream.
+
+SONAME=libemos$(R64).so.0d
+# SHLIBFLAGS= -Wl,-O1 -Wl,--version-script,emos.1.0.0.ver -Wl,-soname,$(SONAME)
+SHLIBFLAGS= -Wl,-O1 -Wl,-soname,$(SONAME) 
+LIBS= -lgrib_api -lgfortran  -lm
+
+# Hardening. -fPIE not working.
+# LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)
+LDFLAGS:=-Wl,-z,relro -Wl,-z,now
+
+ALL_OBJS=bufrdc/*.o crexdc/*.o fft/*.o gribex/*.o interpolation/*.o pbio/*.o grib_api_merging/*.o
+DUP_OBJS:=interpolation/fft99.o interpolation/qpassm.o interpolation/set99.o interpolation/rpassm.o
+OBJS=$(filter-out $(DUP_OBJS), $(wildcard $(ALL_OBJS)))
+
+
+# Compile into the shlib all but certain duplicated object files
+build: 
+	$(CC) -shared  -o debian/$(SONAME) $(LDFLAGS) $(SHLIBFLAGS) $(OBJS) -Wl,--as-needed $(LIBS)
+
+.PHONY: clean build
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..773c45d
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,156 @@
+emoslib (000403+dfsg.1-1) UNRELEASED; urgency=medium
+
+  * New upstream release
+
+ -- Alastair McKinstry <mckinstry at debian.org>  Thu, 07 May 2015 13:04:53 +0100
+
+emoslib (000392+dfsg.1-3) unstable; urgency=medium
+
+  * Acknowledge previously fixed bug (new version): Closes: #622860.
+  * Delete link to non-existent config.h file. Closes: #742684.
+  * Compress with xz.
+
+ -- Alastair McKinstry <mckinstry at debian.org>  Sun, 14 Sep 2014 07:01:40 +0100
+
+emoslib (000392+dfsg.1-2) unstable; urgency=medium
+
+  * Standards-Version: 3.9.5
+  * Include grib_api_merging/* into libemos* for MetView.
+
+ -- Alastair McKinstry <mckinstry at debian.org>  Thu, 12 Dec 2013 19:32:19 +0000
+
+emoslib (000392+dfsg.1-1) unstable; urgency=low
+
+  * New upstream release.  Now with Apache 2.0 license, not GPL.
+  * Standards-Version: 3.9.4; no changes required.
+  * debhelper depends >=9 now.
+  * Make -dev pkg multiarch: same, -data is m-a: foreign. Closes: #693599.
+  * Enable hardening in shared library; build all objects fortified.
+
+ -- Alastair McKinstry <mckinstry at debian.org>  Fri, 05 Apr 2013 05:25:57 +0100
+
+emoslib (000382+dfsg-2) unstable; urgency=low
+
+  * Don't hardcode quadmath; it breaks on some archs. Instead let it be
+    pulled in by -lgfortran.
+
+ -- Alastair McKinstry <mckinstry at debian.org>  Sun, 11 Dec 2011 14:33:21 +0000
+
+emoslib (000382+dfsg-1) unstable; urgency=low
+
+  * New upstream release.
+  * Nove from cdbs to debhelper 9
+  * Move to Multi-Arch.
+  * Standards-Version: 3.9.2
+  * Now build-depend on grib-api-1.9.9. 
+
+ -- Alastair McKinstry <mckinstry at debian.org>  Fri, 09 Dec 2011 16:18:04 +0000
+
+emoslib (000380+dfsg-3) unstable; urgency=low
+
+  * Fix for FTBFS on powerpc due to hard-coded max value.
+
+ -- Alastair McKinstry <mckinstry at debian.org>  Tue, 30 Mar 2010 10:21:14 +0100
+
+emoslib (000380+dfsg-2) unstable; urgency=low
+
+  * Move to Standards-Version: 3.8.4; no changes required. 
+  * Disable new function WVQLID2 in interpolation/ ; it requires an
+    external function that is not present, and causes the sharedlib
+    not to link. Closes: #571396. 
+  * Add DEP-3 tags to patches. 
+
+ -- Alastair McKinstry <mckinstry at debian.org>  Fri, 26 Feb 2010 13:59:04 +0000
+
+emoslib (000380+dfsg-1) unstable; urgency=low
+
+  * New upstream release. 
+  * remove_sharedllib_dbg patch now needed. Added file sharedlib.c to
+    interpolation/sources.linux
+
+ -- Alastair McKinstry <mckinstry at debian.org>  Thu, 21 Jan 2010 13:57:20 +0000
+
+emoslib (000371+dfsg-3) unstable; urgency=low
+
+  * Remove quilt rule, which conflicts with  source format 3. Closes: #561382. 
+
+ -- Alastair McKinstry <mckinstry at debian.org>  Thu, 17 Dec 2009 21:31:05 +0000
+
+emoslib (000371+dfsg-2) unstable; urgency=low
+
+  * Fix broken patch that lead to non-shared code. Closes: #559944. 
+  * Source format 3.0
+
+ -- Alastair McKinstry <mckinstry at debian.org>  Tue, 08 Dec 2009 13:38:29 +0000
+
+emoslib (000371+dfsg-1) unstable; urgency=low
+
+  * New upstream release: EMOS_00371 
+  * Move to standards: 3.8.3
+  * Patch largefile.patch needed for new sharedlib.c bug in 000371.
+  * Add underscore_names patch to add file to sources.linux in interpolation/ 
+
+ -- Alastair McKinstry <mckinstry at debian.org>  Mon, 07 Dec 2009 20:26:14 +0000
+
+emoslib (000370.dfsg.2-1) unstable; urgency=low
+
+  * Updated version emos_000370 contains the following fixes:
+      Latest Emos library 000370 is updated on 7.9.2009 due to changes of N320 Reduced Gaussian Grid definition.
+    
+      Beside of N320 there are two more changes:
+      * insane.F : set env variable INCREMENT_NO_LIMIT=1 to avoid check of limit for increment size
+      * wavexxx.F: Bug Fix for calculation of latitudes
+  * 
+
+ -- Alastair McKinstry <mckinstry at debian.org>  Mon, 14 Sep 2009 15:36:35 +0100
+
+emoslib (000370+dfsg-6) unstable; urgency=low
+
+  * Move to Standards-Version: 3.8.2. No changes required.
+  * DH_COMPAT=7 now. ditto.
+  * Prep. for building with source format 3.0  Closes: #538678.
+
+ -- Alastair McKinstry <mckinstry at debian.org>  Tue, 04 Aug 2009 16:30:25 +0100
+
+emoslib (000370+dfsg-5) unstable; urgency=low
+
+  * Add Build-Depends: automake. Text with pbuilder. Closes: #529993.
+
+ -- Alastair McKinstry <mckinstry at debian.org>  Fri, 22 May 2009 21:39:32 +0100
+
+emoslib (000370+dfsg-4) unstable; urgency=low
+
+  * Change -fpic to -fPIC to fix breakage on sparc and other arches. 
+  * Add little_endian.patch : use configure to detect endianness during build.
+    As a side-effect it adds GNU targets such as ChangeLog: I've added some
+    content from the ECMWF website.
+
+ -- Alastair McKinstry <mckinstry at debian.org>  Thu, 21 May 2009 20:31:30 +0100
+
+emoslib (000370+dfsg-3) unstable; urgency=low
+
+  * Remove -m32 compiler flag which causes build failures on most architectures. 
+
+ -- Alastair McKinstry <mckinstry at debian.org>  Wed, 20 May 2009 22:16:53 +0100
+
+emoslib (000370+dfsg-2) unstable; urgency=low
+
+  * Add dependency on gfortran. 
+
+ -- Alastair McKinstry <mckinstry at debian.org>  Tue, 19 May 2009 12:12:06 +0100
+
+emoslib (000370+dfsg-1) unstable; urgency=low
+
+  * New upstream release. Closes: #522755.
+  * Remove pdf documentation for dfsg release.
+  * Rename (unreleased) package names libemos0d to reflect its a debian-only
+    shared-library at the moment 
+    (see http://lists.debian.org/debian-devel/2009/03/msg01019.html)
+
+ -- Alastair McKinstry <mckinstry at debian.org>  Sat, 16 May 2009 23:32:19 +0100
+
+emoslib (000360-1) unstable; urgency=low
+
+  * Initial Debian release. 
+
+ -- Alastair McKinstry <mckinstry at debian.org>  Thu,  9 Apr 2009 16:15:52 +0100
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..b90db40
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,47 @@
+Source: emoslib
+Section: utils
+Priority: optional
+Maintainer: Alastair McKinstry <mckinstry at debian.org>
+Build-Depends: debhelper (>=9), dh-autoreconf (>= 4), gfortran, autoconf, automake, libgrib-api-dev (>= 1.9.9~)
+Standards-Version: 3.9.5
+Homepage: http://www.ecmwf.int/products/data/software/interpolation.html
+
+Package: libemos0d
+Section: libs
+Architecture: any
+Multi-Arch: same
+Depends: ${misc:Depends}, ${shlibs:Depends}, libemos-data
+Pre-Depends: ${misc:Pre-Depends}
+Description: ECMWF Interpolation Library
+ The Interpolation library (EMOSLIB) includes Interpolation software and GRIB, 
+ BUFR, CREX encoding/decoding routines. It is used by the ECMWF meteorological 
+ archival and retrieval system (MARS) and also by the ECMWF graphics 
+ package MetView.
+
+Package: libemos-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: libemos0d ( = ${binary:Version}), ${misc:Depends}
+Recommends: pkg-config
+Description: ECMWF Interpolation Library - development
+ The Interpolation library (EMOSLIB) includes Interpolation software and GRIB, 
+ BUFR, CREX encoding/decoding routines. It is used by the ECMWF meteorological 
+ archival and retrieval system (MARS) and also by the ECMWF graphics 
+ package MetView.
+ .
+ This package contains the static libraries and headers needed to build 
+ applications against libemos.
+
+Package: libemos-data
+Architecture: any
+Depends: ${misc:Depends}
+Multi-Arch: foreign
+Description: Data files for the ECMWF Interpolation library
+ The Interpolation library (EMOSLIB) includes Interpolation software and GRIB, 
+ BUFR, CREX encoding/decoding routines. It is used by the ECMWF meteorological 
+ archival and retrieval system (MARS) and also by the ECMWF graphics 
+ package MetView.
+ .
+ This package contains the data files needed by EMOSLIB.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..1b6f1ce
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,48 @@
+This package was debianized by Alastair McKinstry <mckinstry at debian.org>, on
+Mon,  6 Apr 2009 16:22:04 +0100.  It was downloaded from
+http://www.ecmwf.int/products/data/software/interpolation.html
+
+Upstream authors: ECMWF
+
+Copyright  © 1981-2013  European Centre for Medium-Range Weather Forecasts.
+
+Licensed under the Apache License 2.0. 
+The texts of the license can be found in /usr/share/common-licenses/Apache-2.0
+
+The Debian packaging is Copyright © 2009, Alastair McKinstry <mckinstry at debian.org>,
+is licensed under the terms of the GNU GPL version 3.
+
+
+This product mainly includes software developed by the 
+
+ Data and Services Section 
+
+ and  
+
+ Meteorological Visualisation Section
+
+at the 
+
+  "European Centre for Medium-Range Weather Forecasts" 
+           (ECMWF - http://www.ecmwf.int ).
+
+
+We would like to acknoledge the following contributions to Emoslib:
+
+- Files written by NCAR, the National Center for Atmospheric Research. 
+   bt_ibm_bal.bal
+   btibm.special
+
+- File kwprs1.F makes use of the
+   WMO Manual on Codes re GRIB Code.
+   http://www.nco.ncep.noaa.gov/pmb/docs/on388/appendixc.html.
+
+- File c2gene.F 
+  Algorithm used to determine groups is derived from Harry R. Glahn
+ (U.S. Met Service), from a working paper submitted to WMO SGDRC
+ in 1995.
+
+- File calcop.F 
+  Located in the materials contains the following citation:
+  Seber, G.A.F. (1979). Linear Regression Analyses.
+  John Wiley and Sons
diff --git a/debian/libemos-data.dirs b/debian/libemos-data.dirs
new file mode 100644
index 0000000..2b13577
--- /dev/null
+++ b/debian/libemos-data.dirs
@@ -0,0 +1 @@
+/usr/share/emos
diff --git a/debian/libemos-data.install b/debian/libemos-data.install
new file mode 100644
index 0000000..323e005
--- /dev/null
+++ b/debian/libemos-data.install
@@ -0,0 +1 @@
+usr/share/emos/*
diff --git a/debian/libemos-dev.dirs b/debian/libemos-dev.dirs
new file mode 100644
index 0000000..2d2fd1d
--- /dev/null
+++ b/debian/libemos-dev.dirs
@@ -0,0 +1,3 @@
+usr/include/pbio
+usr/include/interpolation
+usr/lib/
diff --git a/debian/libemos-dev.docs b/debian/libemos-dev.docs
new file mode 100644
index 0000000..a7328c9
--- /dev/null
+++ b/debian/libemos-dev.docs
@@ -0,0 +1 @@
+docs/*.pdf
diff --git a/debian/libemos-dev.examples b/debian/libemos-dev.examples
new file mode 100644
index 0000000..ec976f5
--- /dev/null
+++ b/debian/libemos-dev.examples
@@ -0,0 +1,5 @@
+examples/bufr
+examples/crex
+examples/fft
+examples/gribex
+examples/interpolation
diff --git a/debian/libemos-dev.install b/debian/libemos-dev.install
new file mode 100644
index 0000000..db474ba
--- /dev/null
+++ b/debian/libemos-dev.install
@@ -0,0 +1,5 @@
+pbio/*.h		usr/include/pbio
+gribex/*.h		usr/include/gribex
+interpolation/*.h	usr/include/interpolation
+usr/lib/*/*.a
+usr/lib/*/pkgconfig
diff --git a/debian/libemos0d.dirs b/debian/libemos0d.dirs
new file mode 100644
index 0000000..2964de6
--- /dev/null
+++ b/debian/libemos0d.dirs
@@ -0,0 +1 @@
+usr/lib/
diff --git a/debian/libemos0d.install b/debian/libemos0d.install
new file mode 100644
index 0000000..2c229ea
--- /dev/null
+++ b/debian/libemos0d.install
@@ -0,0 +1 @@
+usr/lib/*/*.0d
diff --git a/debian/libemos0d.shlibs b/debian/libemos0d.shlibs
new file mode 100644
index 0000000..67d3b40
--- /dev/null
+++ b/debian/libemos0d.shlibs
@@ -0,0 +1,2 @@
+libemos 0d libemos0d
+libemosR64 0d libemos0d
diff --git a/debian/patches/bufrnum.patch b/debian/patches/bufrnum.patch
new file mode 100644
index 0000000..4923354
--- /dev/null
+++ b/debian/patches/bufrnum.patch
@@ -0,0 +1,158 @@
+Description: Add BUFRNUM() function to bufrdc/ code. According to docs, each interface supplies
+ A function to describe its version number, but bufrnum was not present.
+Author: Alastair McKinstry <mckinstry at debian.org>
+Forwarded: no
+Last-Updated: 2009-04-17
+
+# From gribex/emoscyc.F, it appears that each interface has its own _CYCLE number,
+# emoscyc.F used BUFRNUM, but it was never defined; I've defined it here
+# matching gribnum, intpnum, etc.
+# -- AMCK, 2009-04-16
+diff -Nur -x '*.orig' -x '*~' emos/bufrdc/bufrnum.F emos.new/bufrdc/bufrnum.F
+--- emos/bufrdc/bufrnum.F	1970-01-01 01:00:00.000000000 +0100
++++ emos.new/bufrdc/bufrnum.F	2009-04-17 21:40:59.000000000 +0100
+@@ -0,0 +1,122 @@
++C 
++C 
++C Licensed under the GNU Lesser General Public License which
++C incorporates the terms and conditions of version 3 of the GNU
++C General Public License.
++C See LICENSE and gpl-3.0.txt for details.
++C
++
++      INTEGER FUNCTION BUFRNUM(KONOFF)
++C
++C---->
++C**** BUFRNUM
++C
++C     Purpose
++C     -------
++C
++C     Returns current BUFR_CYCLE version number.
++C
++C
++C     Interface
++C     ---------
++C
++C     INUM = BUFRNUM(KONOFF)
++C
++C     Input
++C     -----
++C
++C     KONOFF - switch for displayed message
++C              = 0 if display is required on the first call
++C              = non-zero if display is not required
++C
++C
++C     Output
++C     ------
++C
++C     Returns a 6-digit version number, aaabbc, where:
++C       aaa = 3-digit major number
++C       bb  = 2-digit minor number
++C       c   = 1-digit spare number (normally 0)
++C     
++C
++C     Method
++C     ------
++C
++C     Reads a 6-digit version number from the environment variable
++C     BUFR_CYCLE. If this does not give a 6-digit number, an internal
++C     hard-coded default value is used.
++C
++C     On the first call, the function (optionally) displays a message:
++C
++C       **************************************
++C       * BUFR_CYCLE version number = aaabbc *
++C       **************************************
++C     
++C
++C     Externals
++C     ---------
++C
++C     None.
++C     
++C
++C     Author
++C     ------
++C
++C     A.McKinstry    ICHEC     Apr 2009
++C
++C
++C----<
++C ------------------------------------------------------------------
++C*    Section 0.   Variables.
++C ------------------------------------------------------------------
++C
++C
++      IMPLICIT NONE
++C
++#include "grprs.h"
++C
++C     Function arguments
++C
++      INTEGER KONOFF
++C
++C     Local variables
++C
++      INTEGER INUMBER, ICOUNT, IOFFSET
++      SAVE INUMBER, ICOUNT
++      CHARACTER*38 CMESS
++      CHARACTER*20 YNUMBER
++C
++      DATA INUMBER/000010/, ICOUNT/0/
++      DATA CMESS/'* BUFR_CYCLE version number = ****** *'/
++C
++C ------------------------------------------------------------------
++C*    Section 1.   Initialise
++C ------------------------------------------------------------------
++C
++  100 CONTINUE
++C
++      IF( ICOUNT.EQ.0 ) THEN
++C
++C       See if the environment variable has an override value
++C
++        CALL GETENV( 'BUFR_CYCLE', YNUMBER)
++        IOFFSET = INDEX( YNUMBER, ' ')
++        IF( IOFFSET.EQ.7 ) THEN
++          READ(YNUMBER,'(I6.6)') INUMBER
++        ENDIF
++C
++C       First time through, display the message if required
++C
++        IF( KONOFF.EQ.0 ) THEN
++          WRITE(CMESS(31:36),'(I6.6)') INUMBER
++          WRITE(GRPRSM,*) '**************************************'
++          WRITE(GRPRSM,*) CMESS
++          WRITE(GRPRSM,*) '**************************************'
++        ENDIF
++        ICOUNT = 1
++      ENDIF
++C
++      BUFRNUM = INUMBER
++C
++      RETURN
++      END
+diff -Nur -x '*.orig' -x '*~' emos/bufrdc/grprs.h emos.new/bufrdc/grprs.h
+--- emos/bufrdc/grprs.h	1970-01-01 01:00:00.000000000 +0100
++++ emos.new/bufrdc/grprs.h	2009-04-17 21:41:47.000000000 +0100
+@@ -0,0 +1,7 @@
++C
++C     Common blocks holding default or user supplied values for printing.
++C
++      LOGICAL GRPRSET
++      INTEGER GRPRSM
++C
++      COMMON /GRPRSCM/ GRPRSM, GRPRSET
+diff -Nur -x '*.orig' -x '*~' emos/bufrdc/sources emos.new/bufrdc/sources
+--- emos/bufrdc/sources	2008-07-23 11:41:34.000000000 +0100
++++ emos.new/bufrdc/sources	2009-04-17 21:41:33.000000000 +0100
+@@ -3,6 +3,7 @@
+ #
+ 
+ SOURCES.F = \
++   bufrnum.F   \
+    bbuprs0.F   \
+    bbuprs1.F   \
+    bbuprs2.F   \
diff --git a/debian/patches/config.patch b/debian/patches/config.patch
new file mode 100644
index 0000000..8bff598
--- /dev/null
+++ b/debian/patches/config.patch
@@ -0,0 +1,145 @@
+Description: Create config variants used by Debian package.
+Author: Alastair McKinstry <mckinstry at debian.org>
+Forwarded: no
+Last-Updated: 2013-04-03
+
+===================================================================
+--- /dev/null   1970-01-01 00:00:00.000000000 +0000
++++ emoslib-000371+dfsg/configure.ac    2009-12-08 12:05:24.000000000 +0000
+@@ -0,0 +1,11 @@
++dnl Process this file with autoconf to produce a configure script.
++
++AC_INIT(configure.ac)
++AM_INIT_AUTOMAKE(emoslib, 000392)
++AM_CONFIG_HEADER(config.h)
++
++AC_CONFIG_FILES([Makefile pkgconfig/Makefile pkgconfig/emos.pc pkgconfig/emosR64.pc fft/Makefile])
++
++AC_C_BIGENDIAN
++
++AC_OUTPUT
+Index: emoslib-000392+dfsg/config/config.linux_gfortranA64
+===================================================================
+--- emoslib-000392+dfsg.orig/config/config.linux_gfortranA64	2011-12-09 13:28:47.000000000 +0000
++++ emoslib-000392+dfsg/config/config.linux_gfortranA64	2011-12-09 13:28:52.000000000 +0000
+@@ -17,7 +17,7 @@
+ FASTCFLAGS = $(CFLAGS)
+ #
+ FC      = gfortran
+-FFLAGS = $(DEBUG) $(PROFILE) $(CC_A32) -fcray-pointer -fno-second-underscore -Dlinux $(USE_NO_POINTERS) -Dgfortran -DLITTLE_ENDIAN -DINTEGER_IS_INT
++FFLAGS = $(DEBUG) $(PROFILE) $(CC_A32) -fcray-pointer -fno-second-underscore -Dlinux $(USE_NO_POINTERS) -Dgfortran -DLITTLE_ENDIAN -DINTEGER_IS_INT  -DTABLE_PATH=\"/usr/share/emos\" -D_FORTIFY_SOURCE=2
+ VECTFFLAGS = $(FFLAGS)
+ #              |
+ #              v
+Index: emoslib-000392+dfsg/config/config.linux_gfortran+picR64
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ emoslib-000392+dfsg/config/config.linux_gfortran+picR64	2011-12-09 13:38:53.000000000 +0000
+@@ -0,0 +1,26 @@
++#
++#   Configuration file for linux (32-bit reals).
++#
++AR      = ar
++ARFLAGS = rv
++#
++PROFILE=
++DEBUG = -O2
++USE_NO_POINTERS =
++LARGE_FILE = -Dlinux -DFOPEN64 -D_GNU_SOURCE
++CC_A32 = 
++#
++#
++CC      = gcc
++CFLAGS  = $(DEBUG) $(PROFILE) -DREAL_8 $(CC_A32) $(LOCAL_CFLAGS) $(LARGE_FILE)  -DTABLE_PATH=\"/usr/share/emos\" -fPIC  -D_FORTIFY_SOURCE=2 
++FASTCFLAGS = $(CFLAGS)
++#
++FC      = gfortran
++FFLAGS = $(DEBUG) $(PROFILE) $(CC_A32) -fdefault-real-8 -fcray-pointer -fno-second-underscore -Dlinux $(USE_NO_POINTERS) -DREAL_8 -DREAL_BIGGER_THAN_INTEGER -DTABLE_PATH=\"/usr/share/emos\" -fPIC -D_FORTIFY_SOURCE=2
++VECTFFLAGS = $(FFLAGS)
++#              |
++#              v
++#          32-bit reals
++#
++RANLIB  = /usr/bin/ranlib
++
+Index: emoslib-000392+dfsg/config/config.linux_gfortran+pic
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ emoslib-000392+dfsg/config/config.linux_gfortran+pic	2011-12-09 13:37:43.000000000 +0000
+@@ -0,0 +1,27 @@
++#
++#   Configuration file for linux (32-bit reals).
++#
++AR      = ar
++ARFLAGS = rv
++#
++PROFILE=
++DEBUG = -O2
++CC_A32 =
++USE_NO_POINTERS =
++LARGE_FILE = -Dlinux -DFOPEN64 -D_GNU_SOURCE
++#
++#
++#
++CC      = gcc
++CFLAGS  = $(DEBUG) $(PROFILE)  $(CC_A32) $(LOCAL_CFLAGS) $(LARGE_FILE) -DTABLE_PATH=\"/usr/share/emos\" -fPIC -D_FORTIFY_SOURCE=2
++FASTCFLAGS = $(CFLAGS)
++#
++FC      = gfortran
++FFLAGS = $(DEBUG) $(PROFILE) $(CC_A32) -fcray-pointer -fno-second-underscore -Dlinux $(USE_NO_POINTERS) -Dgfortran  -DTABLE_PATH=\"/usr/share/emos\" -fPIC -D_FORTIFY_SOURCE=2
++VECTFFLAGS = $(FFLAGS)
++#              |
++#              v
++#          32-bit reals
++#
++RANLIB  = /usr/bin/ranlib
++
+Index: emoslib-000392+dfsg/config/config.linux_gfortranR64
+===================================================================
+--- emoslib-000392+dfsg.orig/config/config.linux_gfortranR64	2011-12-09 13:28:47.000000000 +0000
++++ emoslib-000392+dfsg/config/config.linux_gfortranR64	2011-12-09 13:38:28.000000000 +0000
+@@ -7,17 +7,17 @@
+ PROFILE=
+ DEBUG = -O2
+ USE_NO_POINTERS =
+-LARGE_FILE = -Dlinux -DFOPEN64 -D_LARGEFILE64_SOURCE
++LARGE_FILE = -Dlinux -DFOPEN64 -D_LARGEFILE64_SOURCE -D_GNU_SOURCE
+ #CC_A32 = -m32
+ CC_A32 =
+ #
+ #
+ CC      = gcc
+-CFLAGS  = $(DEBUG) $(PROFILE) -DREAL_8 -DLITTLE_ENDIAN $(CC_A32) $(LOCAL_CFLAGS) $(LARGE_FILE)
++CFLAGS  = $(DEBUG) $(PROFILE) -DREAL_8 $(CC_A32) $(LOCAL_CFLAGS) $(LARGE_FILE) -D_FORTIFY_SOURCE=2
+ FASTCFLAGS = $(CFLAGS)
+ #
+ FC      = gfortran
+-FFLAGS = $(DEBUG) $(PROFILE) $(CC_A32) -fdefault-real-8 -fcray-pointer -fno-second-underscore -Dlinux $(USE_NO_POINTERS) -DREAL_8 -DREAL_BIGGER_THAN_INTEGER -Dgfortran -DLITTLE_ENDIAN
++FFLAGS = $(DEBUG) $(PROFILE) $(CC_A32) -fdefault-real-8 -fcray-pointer -fno-second-underscore -Dlinux $(USE_NO_POINTERS) -DREAL_8 -DREAL_BIGGER_THAN_INTEGER -DTABLE_PATH=\"/usr/share/emos\" -D_FORTIFY_SOURCE=2
+ VECTFFLAGS = $(FFLAGS)
+ #              |
+ #              v
+Index: emoslib-000392+dfsg/config/config.linux_gfortran
+===================================================================
+--- emoslib-000392+dfsg.orig/config/config.linux_gfortran	2011-12-09 13:28:47.000000000 +0000
++++ emoslib-000392+dfsg/config/config.linux_gfortran	2011-12-09 13:38:06.000000000 +0000
+@@ -9,16 +9,16 @@
+ #CC_A32 = -m32
+ CC_A32 =
+ USE_NO_POINTERS = 
+-LARGE_FILE = -Dlinux -DFOPEN64 -D_LARGEFILE64_SOURCE
++LARGE_FILE = -Dlinux -DFOPEN64 -D_LARGEFILE64_SOURCE -D_GNU_SOURCE
+ #
+ #
+ #
+ CC      = gcc
+-CFLAGS  = $(DEBUG) $(PROFILE) -DLITTLE_ENDIAN $(CC_A32) $(LOCAL_CFLAGS) $(LARGE_FILE)
++CFLAGS  = $(DEBUG) $(PROFILE)  $(CC_A32) $(LOCAL_CFLAGS) $(LARGE_FILE) -D_FORTIFY_SOURCE=2
+ FASTCFLAGS = $(CFLAGS)
+ #
+ FC      = gfortran
+-FFLAGS = $(DEBUG) $(PROFILE) $(CC_A32) -fcray-pointer -fno-second-underscore -Dlinux $(USE_NO_POINTERS) -Dgfortran -DLITTLE_ENDIAN
++FFLAGS = $(DEBUG) $(PROFILE) $(CC_A32) -fcray-pointer -fno-second-underscore -Dlinux $(USE_NO_POINTERS) -Dgfortran  -DTABLE_PATH=\"/usr/share/emos\" -D_FORTIFY_SOURCE=2
+ VECTFFLAGS = $(FFLAGS)
+ #              |
+ #              v
diff --git a/debian/patches/emosnum.patch b/debian/patches/emosnum.patch
new file mode 100644
index 0000000..e5aaa72
--- /dev/null
+++ b/debian/patches/emosnum.patch
@@ -0,0 +1,133 @@
+Author: Alastair McKinstry <mckinstry at debian.org>
+Description: An emosnum function is required for the shared library to work.
+ Referred to elsewhere in the code
+Last-Updated: 2011-09-13
+Forwarded: no
+
+Index: emoslib-000382+dfsg/gribex/emosnum.F
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ emoslib-000382+dfsg/gribex/emosnum.F	2011-09-13 16:28:41.000000000 +0100
+@@ -0,0 +1,122 @@
++C Copyright 1981-2007 ECMWF
++C 
++C Licensed under the GNU Lesser General Public License which
++C incorporates the terms and conditions of version 3 of the GNU
++C General Public License.
++C See LICENSE and gpl-3.0.txt for details.
++C
++
++      INTEGER FUNCTION EMOSNUM(KONOFF)
++C
++C---->
++C**** EMOSNUM
++C
++C     Purpose
++C     -------
++C
++C     Returns current EMOSLIB version number.
++C
++C
++C     Interface
++C     ---------
++C
++C     INUM = EMOSNUM(KONOFF)
++C
++C     Input
++C     -----
++C
++C     KONOFF - switch for displayed message
++C              = 0 if display is required on the first call
++C              = non-zero if display is not required
++C
++C
++C     Output
++C     ------
++C
++C     Returns a 6-digit version number, aaabbc, where:
++C       aaa = 3-digit major number
++C       bb  = 2-digit minor number
++C       c   = 1-digit spare number (normally 0)
++C     
++C
++C     Method
++C     ------
++C
++C     Reads a 6-digit version number from the environment variable
++C     EMOS_CYCLE. If this does not give a 6-digit number, an internal
++C     hard-coded default value is used.
++C
++C     On the first call, the function (optionally) displays a message:
++C
++C       ***********************************
++C       * EMOSLIB version number = aaabbc *
++C       ***********************************
++C     
++C
++C     Externals
++C     ---------
++C
++C     None.
++C     
++C
++C     Author
++C     ------
++C
++C     J.D.Chambers     ECMWF     May 1998
++C
++C
++C----<
++C ------------------------------------------------------------------
++C*    Section 0.   Variables.
++C ------------------------------------------------------------------
++C
++C
++      IMPLICIT NONE
++C
++#include "grprs.h"
++C
++C     Function arguments
++C
++      INTEGER KONOFF
++C
++C     Local variables
++C
++      INTEGER INUMBER, ICOUNT, IOFFSET
++      SAVE INUMBER, ICOUNT
++      CHARACTER*35 CMESS
++      CHARACTER*20 YNUMBER
++C
++      DATA INUMBER/000382/, ICOUNT/0/
++      DATA CMESS/'* EMOSLIB version number = ****** *'/
++C
++C ------------------------------------------------------------------
++C*    Section 1.   Initialise
++C ------------------------------------------------------------------
++C
++  100 CONTINUE
++C
++      IF( ICOUNT.EQ.0 ) THEN
++C
++C       See if the environment variable has an override value
++C
++        CALL GETENV( 'EMOS_CYCLE', YNUMBER)
++        IOFFSET = INDEX( YNUMBER, ' ')
++        IF( IOFFSET.EQ.7 ) THEN
++          READ(YNUMBER,'(I6.6)') INUMBER
++        ENDIF
++C
++C       First time through, display the message if required
++C
++        IF( KONOFF.EQ.0 ) THEN
++          WRITE(CMESS(28:33),'(I6.6)') INUMBER
++          WRITE(GRPRSM,*) '***********************************'
++          WRITE(GRPRSM,*) CMESS
++          WRITE(GRPRSM,*) '***********************************'
++        ENDIF
++        ICOUNT = 1
++      ENDIF
++C
++      EMOSNUM = INUMBER
++C
++      RETURN
++      END
diff --git a/debian/patches/huge.patch b/debian/patches/huge.patch
new file mode 100644
index 0000000..946f82d
--- /dev/null
+++ b/debian/patches/huge.patch
@@ -0,0 +1,35 @@
+Description: Use HUGE() rather than hard-code, to avoid FTBFS on powerpc gfortran
+Author: Alastair McKinstry <mckinstry at debian.org>
+Forwarded: no
+Last-Updated: 2010-03-10
+
+Index: emos.git/bufrdc/buens4.F
+===================================================================
+--- emos.git.orig/bufrdc/buens4.F	2010-02-24 10:52:48.000000000 +0000
++++ emos.git/bufrdc/buens4.F	2011-12-09 12:35:25.000000000 +0000
+@@ -138,8 +138,8 @@
+ C
+       IF(KERR.GT.0) RETURN
+ C
+-      R4=3.4028235e+38
+-      R8=1.7976931348623157D+308
++      R4=HUGE(R4)
++      R8=HUGE(R8)
+ C
+ C*          1.1  KEEP POINTERS TO THE BEGINING OF THE SECTION.
+ C                ---------------------------------------------
+Index: emos.git/bufrdc/buexs4.F
+===================================================================
+--- emos.git.orig/bufrdc/buexs4.F	2009-11-13 10:30:25.000000000 +0000
++++ emos.git/bufrdc/buexs4.F	2011-12-09 12:35:25.000000000 +0000
+@@ -148,8 +148,8 @@
+ C
+       IF(KERR.GT.0) RETURN
+ C
+-      R4=3.4028235e+38
+-      R8=1.7976931348623157D+308
++      R4=HUGE(R4)
++      R8=HUGE(R8)
+ C
+       IF(OMULTI) THEN
+          IF(NSUBSET.EQ.1) JCV = 0
diff --git a/debian/patches/little_endian.patch b/debian/patches/little_endian.patch
new file mode 100644
index 0000000..529b27e
--- /dev/null
+++ b/debian/patches/little_endian.patch
@@ -0,0 +1,277 @@
+Description: Use configure to detect endianness rather than setting in config files.
+ Don't use LITTLE_ENDIAN as it is defined in Linux header files (even on non-LITTLE_ENDIAN platforms)
+Author: Alastair McKinstry <mckinstry at debian.org>
+Last-Updated: 2011-12-09
+Forwarded: no
+
+Index: emoslib-000392+dfsg.1/gribex/ecloc1.F
+===================================================================
+--- emoslib-000392+dfsg.1.orig/gribex/ecloc1.F	2013-04-04 17:14:58.000000000 +0100
++++ emoslib-000392+dfsg.1/gribex/ecloc1.F	2013-04-04 17:14:58.000000000 +0100
+@@ -69,7 +69,7 @@
+ C     DSGNBT  - decode sign bit
+ C     ELDEFS  - encode ECMWF section 1, local usage definitions
+ C     DLDEFS  - decode ECMWF section 1, local usage definitions
+-#ifdef LITTLE_ENDIAN
++#if !defined(WORDS_BIGENDIAN)
+ C     SWAP4   - swap order of characters in the experiment version
+ #endif
+ C
+Index: emoslib-000392+dfsg.1/gribex/fortranInterface.c
+===================================================================
+--- emoslib-000392+dfsg.1.orig/gribex/fortranInterface.c	2013-04-04 17:14:58.000000000 +0100
++++ emoslib-000392+dfsg.1/gribex/fortranInterface.c	2013-04-04 17:14:58.000000000 +0100
+@@ -9,6 +9,7 @@
+ * nor does it submit to any jurisdiction.
+ */
+ 
++#include "config.h"
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -180,7 +181,7 @@
+ 
+ fortint ldefnum(fortint* centre, fortint* subcentre, fortint* number) {
+ int shift = (sizeof(fortint)-1)*8;
+-#ifdef LITTLE_ENDIAN
++#if !defined(WORDS_BIGENDIAN)
+   return ((*centre*1000000) + (*subcentre*1000) + (*number & 0xff));
+ #else
+   return ((*centre*1000000) + (*subcentre*1000) + ((*number>>shift) & 0xff));
+@@ -223,7 +224,7 @@
+       for( loop = 7; loop >= missing; loop-- ) value[loop] = value[loop-missing];
+       for( loop = 0; loop < missing; loop++ ) value[loop] = '0';
+     }
+-#ifdef LITTLE_ENDIAN
++#if !defined(WORDS_BIGENDIAN)
+     p = value[0];
+     value[0] = value[6];
+     value[6] = p;
+Index: emoslib-000392+dfsg.1/gribex/grprs1b.F
+===================================================================
+--- emoslib-000392+dfsg.1.orig/gribex/grprs1b.F	2013-04-04 17:14:58.000000000 +0100
++++ emoslib-000392+dfsg.1/gribex/grprs1b.F	2013-04-04 17:14:58.000000000 +0100
+@@ -88,6 +88,7 @@
+ C
+       IMPLICIT NONE
+ C
++#include "config.h"
+ #include "grprs.h"
+ #include "grbcom.h"
+ C
+@@ -519,7 +520,7 @@
+           WRITE(GRPRSM,1105) KSEC1(44)
+           WRITE(HVERSION, '(A8)' ) KSEC1(45)
+           WRITE(GRPRSM,1106)
+-#ifdef LITTLE_ENDIAN
++#if !defined(WORDS_BIGENDIAN)
+      X      HVERSION(8:8),
+      X      HVERSION(7:7),
+      X      HVERSION(6:6),
+@@ -711,7 +712,7 @@
+           WRITE(GRPRSM,1803) KSEC1(44)
+           WRITE(HVERSION, '(A8)' ) KSEC1(45)
+           WRITE(GRPRSM,1804)
+-#ifdef LITTLE_ENDIAN
++#if !defined(WORDS_BIGENDIAN)
+      X      HVERSION(8:8),
+      X      HVERSION(7:7),
+      X      HVERSION(6:6),
+@@ -728,7 +729,7 @@
+           DO JLOOP = 1, KSEC1(46)
+             WRITE(HVERSION, '(A8)' ) KSEC1(46+JLOOP)
+             WRITE(GRPRSM,1806)
+-#ifdef LITTLE_ENDIAN
++#if  !defined(WORDS_BIGENDIAN)
+      X      HVERSION(8:8),
+      X      HVERSION(7:7),
+      X      HVERSION(6:6),
+@@ -789,7 +790,7 @@
+           WRITE(GRPRSM,2115) KSEC1(56)
+           WRITE(GRPRSM,2116) KSEC1(57)
+           WRITE(HVERSION, '(A8)' ) KSEC1(58)
+-#ifdef LITTLE_ENDIAN
++#if !defined(WORDS_BIGENDIAN)
+           WRITE(GRPRSM,2117) HVERSION(5:5)
+ #else
+           WRITE(GRPRSM,2117) HVERSION(8:8)
+Index: emoslib-000392+dfsg.1/gribex/grprs1.F
+===================================================================
+--- emoslib-000392+dfsg.1.orig/gribex/grprs1.F	2013-04-04 17:14:58.000000000 +0100
++++ emoslib-000392+dfsg.1/gribex/grprs1.F	2013-04-04 17:14:58.000000000 +0100
+@@ -168,6 +168,7 @@
+ C
+       IMPLICIT NONE
+ C
++#include "config.h"
+ #include "grprs.h"
+ #include "grbcom.h"
+ C
+@@ -949,7 +950,7 @@
+           WRITE(GRPRSM,2115) KSEC1(56)
+           WRITE(GRPRSM,2116) KSEC1(57)
+           WRITE(HVERSION, '(A8)' ) KSEC1(58)
+-#ifdef LITTLE_ENDIAN
++#if !defined(WORDS_BIGENDIAN)
+           WRITE(GRPRSM,2117) HVERSION(5:5)
+ #else
+           WRITE(GRPRSM,2117) HVERSION(8:8)
+Index: emoslib-000392+dfsg.1/Makefile.am
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ emoslib-000392+dfsg.1/Makefile.am	2013-04-04 17:14:58.000000000 +0100
+@@ -0,0 +1,20 @@
++# Makefile for libemos
++#
++R64 = reals
++TARGETS = all clean
++LIBRARY = libemos$(R64).a
++SHELL=/bin/sh
++SUBDIRS = gribex interpolation bufrdc crexdc pbio fft bufrtables
++
++all :
++	@for name in $(SUBDIRS); do\
++       ( echo "*************************"; \
++       echo "*** Make in $$name "; \
++       echo "*************************"; \
++	cd $$name ; make LIB=emos ; ) done
++
++clean   :
++	@for name in $(SUBDIRS); do\
++       ( echo "*** Clean in $$name ***" ;cd $$name ; make clean ); \
++       done
++	rm -f $(LIBRARY)
+Index: emoslib-000392+dfsg.1/NEWS
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ emoslib-000392+dfsg.1/NEWS	2013-04-04 17:14:58.000000000 +0100
+@@ -0,0 +1,9 @@
++EMOSLIB
++
++The routines included in the software library EMOSLIB were developed in the Meteorological Application Section at the European Centre for Medium-Range Weather Forecasts, Reading, U.K. They are used for:
++
++    * encoding and decoding BUFR products
++    * encoding and decoding GRIB products
++    * handling pure binary unix files
++    * interpolating fields
++    * handling files of GRIB products in an indexed manner
+Index: emoslib-000392+dfsg.1/ChangeLog
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ emoslib-000392+dfsg.1/ChangeLog	2013-04-04 17:14:58.000000000 +0100
+@@ -0,0 +1,115 @@
++Changes in 000371
++=================
++ Latest Emos library 000370 is updated on 7.9.2009 due to changes of N320 Reduced Gaussian Grid definition.
++
++BUFR routines
++
++    * Check on section 4 size and actual data size. The check will be performed only is variable CHECK_S4=true is set.
++    * For bufr Edition 4 section 3 and 4 can have odd number of bytes
++    * Compression on character string
++    * Fix for bufr creation for multi-subset uncompressed case with different delayed replications in the subsets and if soft return error code -28 was returned from previous subset
++    * IEEE change for big/little endian
++    * bufren.F: Bug fix uncompress multi subset packing
++
++Interpolation software
++
++    * intfb.F: bug fix memory allocation for double interpolation
++    * hsp2gg2.F: new function to determine gaussian number and spectral truncation based on output resolution of rotated lat-lon field. It is done to save computation time for high resolution
++    * sharelib.c, sharedll.c, sharedgg.c: added set of functions to support shared memory handling
++    * krg2rgu.F: increased JPACK = 1500000, JPMAXNG=1280
++    * hsp2gg.F : Match T255 and T213 against N128 instead of N160
++
++Changes in 000370
++=================
++
++BUFR routines
++
++ * bufr_repack_206t205.F: KELEM changed from 2000 to 16000
++ * bufr_split.F added handling of BUFR subtypes 216 and 217
++ *  buprt.F - Prints full name of 64 characters and better control of code/flag table printing
++ * buens3.F - Bug fix to reset ksec3(4) flag for compression.
++ * added bustop.F - A new routine used by mbufr_mars_filter.F to force stopping expansion after certain number of elements.
++ * bufr_split.F: Program modified to create maximum 255 files to split 255 possible bufr subtypes.
++
++Gribex routines
++
++ * grchk1.F: added class 17 la LACE ALADIN,18 yt YOTC
++
++Interpolation software
++
++ * igplsm.F: commented check if less then zero because of bitmaped fields
++ * auresol.F : deleted 1023 and added 2047 truncation
++ * intuvxh.F intuvgh.F: NINT instead of INT for calculation of NLON NLAT
++ * iagcntl.F iarcntl.F: added env variable LSM_REAL to allow real values of lsm
++ * intvect.F: reseting OUTLEN for V wind component
++ * kintrg.F: Bug fix for reduced gaussian to reduced gaussian interpolation. Set env varible RG2RG_COMP in order to get compatible result with previous Emos libraries
++ * intout.F: softer criteria for non global fields instead of AND - OR
++
++Changes in 000360
++=================
++
++BUFR routines
++
++ * bufrtools/bufr_split.F: subtype 241 GTS IASI added
++ * A new variable USE_TABLE_C introduced. When set to true bufr software will load code and flag tables. There are subroutines to get the meaning of the code and flag values.
++ * buprt.F has been modified to print code/flag values meaning
++ * New subroutine buget_opera_image.F to handle radar image data up to 10 mega pixels particularly suitable for Opera composite radar images ( rain rates).
++ * Subroutine bufrex.f has been modified to handle delayed repetitions
++ * Missing value indicator rvind=1.7D38 and eps=10D-8 are used in consistent way.
++ * parameter.F modified. JELEM=320000 set
++ * Example decode_bufr_image.F is available in the examples directory.
++ * Bufr tables updated.
++ * Bufr user's Guide updated
++
++Gribex routines
++
++ * getsetValues.c: rename copyName to copyNameLoc due to multiple definition in shared library
++ * gribtemplates: added localDefinitionTemplate_098_000_031
++ * grchk1.F: added stream 1040 Ensemble Forecast Hindcast Statistics (EFHS)
++ * grchk1.F: added stream 1240 Eurosip Monthly Means, 1241 Eurosip Hindcast Monthly Means
++ * dmesec2 emesec2: Bug fix decode/encode Mercator data
++
++Interpolation software
++
++ * intfb.F: bug fix to avoid multiple memory allocation before rg2rgy routine
++ * kintrg.F: parameter number 43 - Soil type to be procesed with nearest neighbour interpolation
++ * hirlsm.F hll2ll hrg2gg: Added completely new checking for nearest neighbour processing
++ * iglsmd.c : added env varibale LSM_10MIN to force processing of lsm with 10min file
++ * hsp2gg.F :Added checking for a automatic truncation T1279 -> N640
++ * w251idx.F wvqlint.F, wvqlidx.F:allow upto 0.1 degree resolution
++ * hirlsm.F : Neaarest Neighbour interpolation modified
++ * hntfaph.F : added check weather to enable lsm processing
++ * oceanp.c: increased JP_GUESS = 519840 to allow for 0.25*0.25 interpolated grid
++ * kintrg.F : set JPMAXNG to 1280 to allow N640 
++
++Changes in 000350
++=================
++
++BUFR routines
++
++ * Introduction of 209YYY operator to represent IEEE 32/64 bit floating point numbers.
++ * The software now keeps in memory maximum 10 tables which speeds up parallel processing in some cases.
++ * ctable.F btable.F dtable.F: The unit number used to open file for bufr tables was changed to use any free unit number
++
++Gribex routines
++
++ * calcop.F: packcf.F unpackcf.F : Increased maximum Truncation to be handled to T2047
++ * grchk1.F: added class 16 dt (Data Targeting System)
++ * gribtemplate:
++     added - localDefinitionTemplate_214_098_245
++     updated - localDefinitionTemplate_098_235_015, localDefinitionTemplate_098_235_004, localDefinitionTemplate_098_235_016
++
++Interpolation software
++
++ * islproc.F hirlam.F igtog.F igtogr.F irgtog.F: parameter .43 - Soil type to be procesed with nearest neighbour
++ * intout.F: forsing bilinear interpolation for rotation setting keyword interpolation to "bilinear"
++ * wv2didx.F: Bug fix calculation of indexes along each latitude in iregular lat-lon if it input field is not global, treating separetly cases for global and non globa input field
++ * wv2dint.F: Bug fix generating latitutes for input field
++ * jgetgg.F: added 640 reduced gaussian definition
++ * hgenll.F: NINT instead of INT for calculation of NLON NLAT
++
++PBIO routines
++
++ * pbio.c: Bug fix - setvbuf to be called every time new file is open
++ * jopnggsm.c: Bug fix - calculation of coefficient file size
++ * gbyte_alpha.c: Bug fix for 64 bits packing
diff --git a/debian/patches/pkgconfig.patch b/debian/patches/pkgconfig.patch
new file mode 100644
index 0000000..c76defa
--- /dev/null
+++ b/debian/patches/pkgconfig.patch
@@ -0,0 +1,75 @@
+Description: Create pkg-config files for EMOS libraries
+Author: Alastair McKinstry <mckinstry at debian.org>
+Last-Updated: 2011-12-09
+Forwarded: no
+
+# Add a pkgconfig directory to emoslib, which installs emos.pc and
+# emosR64.pc files.
+# -- Alastair McKinstry, 2009-05-16
+diff -Nur -x '*.orig' -x '*~' emos/install emos.new/install
+--- emos/install	2006-02-24 16:23:32.000000000 +0000
++++ emos.new/install	2009-04-17 21:52:20.000000000 +0100
+@@ -41,6 +41,9 @@
+ done
+ 
+ cp libemos$R64.a $INSTALL_DIR/.
++
++make -C pkgconfig
++
+ echo
+ 
+ echo "*******************************************************************"
+diff -Nur -x '*.orig' -x '*~' emos/pkgconfig/emos.pc.in emos.new/pkgconfig/emos.pc.in
+--- emos/pkgconfig/emos.pc.in	1970-01-01 01:00:00.000000000 +0100
++++ emos.new/pkgconfig/emos.pc.in	2009-04-17 14:56:25.000000000 +0100
+@@ -0,0 +1,10 @@
++prefix=@prefix@
++exec_prefix=${prefix}
++libdir=@libdir@
++
++Name: emos
++Description: ECMWF interpolation library 
++Version: @VERSION@
++Libs:  -L${libdir} -lemos 
++Libs.private: -$L{libdir} -lemos -lgfortran -lm
++CFlags: -I${prefix}/include/pbio -I${prefix}/include/interpolation -I${prefix}/include/gribex
+diff -Nur -x '*.orig' -x '*~' emos/pkgconfig/emosR64.pc.in emos.new/pkgconfig/emosR64.pc.in
+--- emos/pkgconfig/emosR64.pc.in	1970-01-01 01:00:00.000000000 +0100
++++ emos.new/pkgconfig/emosR64.pc.in	2009-04-17 14:56:39.000000000 +0100
+@@ -0,0 +1,10 @@
++prefix=@prefix@
++exec_prefix=${prefix}
++libdir=@libdir@
++
++Name: emosR64
++Description: ECMWF interpolation library 
++Version: @VERSION@
++Libs:  -L${libdir} -lemosR64
++Libs.private: -$L{libdir} -lemosR64 -lgfortran -lm
++CFlags: -I${prefix}/include/pbio -I${prefix}/include/interpolation -I${prefix}/include/gribex
+diff -Nur -x '*.orig' -x '*~' emos/pkgconfig/Makefile.in emos.new/pkgconfig/Makefile.in
+--- emos/pkgconfig/Makefile.in	1970-01-01 01:00:00.000000000 +0100
++++ emos.new/pkgconfig/Makefile.in	2009-04-17 21:53:44.000000000 +0100
+@@ -0,0 +1,22 @@
++#
++#                                 Makefile for libemos/pkgconfig
++#
++#
++#
++INSTALL = @INSTALL@
++INSTALL_DATA= @INSTALL_DATA@
++prefix=@prefix@
++pkgconfigdir=@libdir@/pkgconfig
++
++TARGETS      = all clean install
++
++all:  
++
++clean:
++
++install:
++	mkdir -p $(pkgconfigdir)
++	$(INSTALL_DATA) emos.pc         $(pkgconfigdir)
++	$(INSTALL_DATA) emosR64.pc      $(pkgconfigdir)
++
++.PHONY: all clean install
diff --git a/debian/patches/remove_sharedlib_dbg.patch b/debian/patches/remove_sharedlib_dbg.patch
new file mode 100644
index 0000000..f537b66
--- /dev/null
+++ b/debian/patches/remove_sharedlib_dbg.patch
@@ -0,0 +1,31 @@
+Description: Remove unnused references, that for some reason collide when linking in shared_lib.c
+Author: Alastair McKinstry <mckinstry at debian.org>
+Forwarded: no
+Last-Updated: 2011-12-09
+
+Index: emoslib-000382+dfsg/interpolation/sharedgg.c
+===================================================================
+--- emoslib-000382+dfsg.orig/interpolation/sharedgg.c	2011-12-09 12:37:35.000000000 +0000
++++ emoslib-000382+dfsg/interpolation/sharedgg.c	2011-12-09 12:50:15.000000000 +0000
+@@ -29,8 +29,6 @@
+ #include <sys/ipc.h>
+ #include <sys/shm.h>
+ 
+-extern int sharedlib_dbg;
+-
+ #ifndef CRAY
+ #ifdef FORTRAN_NO_UNDERSCORE
+ #define SHAREDLL sharedll
+Index: emoslib-000382+dfsg/interpolation/sharedll.c
+===================================================================
+--- emoslib-000382+dfsg.orig/interpolation/sharedll.c	2011-12-09 12:37:35.000000000 +0000
++++ emoslib-000382+dfsg/interpolation/sharedll.c	2011-12-09 12:50:15.000000000 +0000
+@@ -29,8 +29,6 @@
+ #include <sys/ipc.h>
+ #include <sys/shm.h>
+ 
+-extern int sharedlib_dbg;
+-
+ #ifndef CRAY
+ #ifdef FORTRAN_NO_UNDERSCORE
+ #define SHAREDLL sharedll
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..15708e3
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,10 @@
+huge.patch
+config.patch
+bufrnum.patch
+pkgconfig.patch
+little_endian.patch
+shared.patch
+underscore_names.patch
+remove_sharedlib_dbg.patch
+wvqlid2.patch
+# emosnum.patch
diff --git a/debian/patches/shared.patch b/debian/patches/shared.patch
new file mode 100644
index 0000000..0d46de6
--- /dev/null
+++ b/debian/patches/shared.patch
@@ -0,0 +1,31 @@
+Description: Don't set external variables;  is not allowed by Gcc.
+Author: Alastair McKinstry <mckinstry at debian.org>
+Last-Updated: 2011-12-09
+Forwarded: no
+
+Index: emoslib-000371+dfsg/interpolation/sharedgg.c
+===================================================================
+--- emoslib-000371+dfsg.orig/interpolation/sharedgg.c	2009-12-06 12:58:59.000000000 +0000
++++ emoslib-000371+dfsg/interpolation/sharedgg.c	2009-12-06 12:59:04.000000000 +0000
+@@ -29,7 +29,7 @@
+ #include <sys/ipc.h>
+ #include <sys/shm.h>
+ 
+-extern int sharedlib_dbg = 0;
++extern int sharedlib_dbg;
+ 
+ #ifndef CRAY
+ #ifdef FORTRAN_NO_UNDERSCORE
+Index: emoslib-000371+dfsg/interpolation/sharedll.c
+===================================================================
+--- emoslib-000371+dfsg.orig/interpolation/sharedll.c	2009-12-06 12:58:12.000000000 +0000
++++ emoslib-000371+dfsg/interpolation/sharedll.c	2009-12-06 12:58:16.000000000 +0000
+@@ -29,7 +29,7 @@
+ #include <sys/ipc.h>
+ #include <sys/shm.h>
+ 
+-extern int sharedlib_dbg = 0;
++extern int sharedlib_dbg;
+ 
+ #ifndef CRAY
+ #ifdef FORTRAN_NO_UNDERSCORE
diff --git a/debian/patches/underscore_names.patch b/debian/patches/underscore_names.patch
new file mode 100644
index 0000000..e10dee1
--- /dev/null
+++ b/debian/patches/underscore_names.patch
@@ -0,0 +1,16 @@
+Description: Include file left our of sources.linux in interpolation.
+Author: Alastair McKInstry <mckinstry at debian.org>
+Last-Updated: 2011-12-10
+Forwarded: no
+
+Index: emoslib-000371+dfsg/interpolation/sources.linux
+===================================================================
+--- emoslib-000371+dfsg.orig/interpolation/sources.linux	2009-12-07 20:24:00.000000000 +0000
++++ emoslib-000371+dfsg/interpolation/sources.linux	2009-12-07 20:24:41.000000000 +0000
+@@ -265,4 +265,5 @@
+    my_ialloc.c \
+    rddefs.c    \
+    showmap.c   \
+-   soffset.c
++   soffset.c   \
++   rename_unlink.c 
diff --git a/debian/patches/wvqlid2.patch b/debian/patches/wvqlid2.patch
new file mode 100644
index 0000000..ce37388
--- /dev/null
+++ b/debian/patches/wvqlid2.patch
@@ -0,0 +1,18 @@
+Description: Don' include wclin2 function(s), as they require an external function wvqlid2()
+ Which is not available yet.
+Author: Alastair McKInstry <mckinstry at debian.org>
+Bug-Debian: http://bugs.debian.org/571396
+Last-Updated: 2010-02-26
+
+Index: emoslib-000392+dfsg.1/interpolation/sources.linux
+===================================================================
+--- emoslib-000392+dfsg.1.orig/interpolation/sources.linux	2013-04-04 17:16:29.000000000 +0100
++++ emoslib-000392+dfsg.1/interpolation/sources.linux	2013-04-04 17:16:29.000000000 +0100
+@@ -252,7 +252,6 @@
+    wv2dxx2.F  \
+    wvqlidx.F  \
+    wvqlint.F  \
+-   wvqlin2.F  \
+    xrotate.F  \
+    xyz2ll.F   \
+    gasetup.F  \
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..83115e5
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,49 @@
+#!/usr/bin/make -f
+
+# export DH_VERBOSE=1
+
+# The magic debhelper  rule
+%:
+	dh $@  --with autoreconf
+
+DESTDIR:=`pwd`/debian/tmp/
+DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+LIBDIR:=/usr/lib/$(DEB_HOST_MULTIARCH)
+SUBDIRS=" gribex interpolation bufrdc crexdc pbio fft bufrtables grib_api_merging" 
+override_dh_auto_clean:
+	$(MAKE) ARCH=linux CNAME=_gfortran clean
+	rm -f libemos* debian/libemos*.so.* gribex/config.h
+	rm -f .r64 .emos bufrdc/*.o fft/*.o grib_api_merging/*.o
+	find bufrtables -type l -delete
+
+override_dh_auto_test:
+	@echo "Tests not available"
+
+override_dh_auto_build:
+	( cd gribex && ln -sf ../config.h config.h )
+	# First build libemos.a
+	$(MAKE) SUBDIRS=$(SUBDIRS) ARCH=linux CNAME=_gfortran A64= R64= GRIB_API_MERGING=grib_api_merging clean all
+	# Then rebuild pic for objects ...
+	$(MAKE) SUBDIRS=$(SUBDIRS) ARCH=linux CNAME=_gfortran+pic A64= R64= GRIB_API_MERGING=grib_api_merging clean all
+	# Link them into libemos.so
+	$(MAKE) -f debian/build-shlib R64= DESTDIR=$(DESTDIR) LIBDIR=$(LIBDIR)
+	# And repeat for 64-bit reals.
+	$(MAKE) SUBDIRS=$(SUBDIRS) ARCH=linux CNAME=_gfortran R64=R64 A64= GRIB_API_MERGING=grib_api_merging clean all 
+	$(MAKE) SUBDIRS=$(SUBDIRS) ARCH=linux CNAME=_gfortran+pic  R64=R64 A64= GRIB_API_MERGING=grib_api_merging clean all 
+	$(MAKE) -f debian/build-shlib R64=R64 DESTDIR=$(DESTDIR) LIBDIR=$(LIBDIR)
+
+override_dh_auto_install:
+	chmod a-x examples/*/*
+	mkdir -p $(DESTDIR)/$(LIBDIR)
+	mv libemos* debian/libemos*.0d  $(DESTDIR)/$(LIBDIR)
+	echo "" > .r64
+	echo "$(DESTDIR)/usr/share/emos" > .emos
+	ls bufrtables/*000* > .list/bufrtables
+	mkdir -p $(DESTDIR)/usr/share/emos
+	./install
+	find $(DESTDIR)/usr/share -type f -exec chmod 644 {} \;
+	$(MAKE) -C pkgconfig install prefix=$(DESTDIR)/usr
+	find debian -name config.h -delete
+	# multi-arch
+	dh_link -p  libemos-dev $(LIBDIR)/libemos.so.0d $(LIBDIR)/libemos.so
+	dh_link -p  libemos-dev $(LIBDIR)/libemosR64.so.0d $(LIBDIR)/libemosR64.so
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/options b/debian/source/options
new file mode 100644
index 0000000..b7bc1f2
--- /dev/null
+++ b/debian/source/options
@@ -0,0 +1 @@
+compression = "xz"

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/emos.git



More information about the debian-science-commits mailing list