summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuben Undheim <ruben.undheim@gmail.com>2018-09-02 01:07:06 +0200
committerRuben Undheim <ruben.undheim@gmail.com>2018-09-02 01:07:06 +0200
commit5c7e76dd2aa03b2de042861730e44bd2bde4ae09 (patch)
treed2252c9222683e26f0de64996cff47d2f9bf5cba
parent4950c433f10aa481691c64d95b962791d724a42a (diff)
parent059219617d2a39e9969ff459891ebc1023747e86 (diff)
openems (0.0.35+dfsg.1-1) unstable; urgency=low
* Initial release (Closes: #830109) [dgit import unpatched openems 0.0.35+dfsg.1-1]
-rw-r--r--debian/CSXCAD.packinfo/DESCRIPTION7
-rw-r--r--debian/CSXCAD.packinfo/INDEX1
-rw-r--r--debian/CSXCAD.packinfo/NEWS1
-rw-r--r--debian/FIXME2
-rw-r--r--debian/README.source3
-rw-r--r--debian/changelog5
-rw-r--r--debian/compat1
-rw-r--r--debian/control131
-rw-r--r--debian/copyright162
-rw-r--r--debian/gbp.conf2
-rw-r--r--debian/libcsxcad0.install1
-rw-r--r--debian/libcsxcad0.shlibs1
-rw-r--r--debian/libnf2ff0.install1
-rw-r--r--debian/libnf2ff0.shlibs1
-rw-r--r--debian/libopenems-dev.install6
-rw-r--r--debian/libopenems0.install1
-rw-r--r--debian/libopenems0.shlibs1
-rw-r--r--debian/libqcsxcad0.install1
-rw-r--r--debian/libqcsxcad0.shlibs1
-rw-r--r--debian/man/AppCSXCAD.txt19
-rwxr-xr-xdebian/man/genmanpages.sh6
-rw-r--r--debian/man/nf2ff.txt16
-rw-r--r--debian/man/openEMS.txt21
-rw-r--r--debian/octave-openems.install5
-rw-r--r--debian/openEMS.packinfo/DESCRIPTION7
-rw-r--r--debian/openEMS.packinfo/INDEX1
-rw-r--r--debian/openEMS.packinfo/NEWS1
-rw-r--r--debian/openems.install3
-rw-r--r--debian/openems.manpages1
-rw-r--r--debian/patches/0001-Fix-path-to-binaries-for-Debian.patch90
-rw-r--r--debian/patches/0002-Spelling-fixes.patch338
-rw-r--r--debian/patches/0003-More-things-to-fix-build.patch38
-rw-r--r--debian/patches/0004-link-more.patch33
-rw-r--r--debian/patches/0005-Deletede-CVS-dir-lintian.patch73
-rw-r--r--debian/patches/0006-Don-t-exit-from-library.patch57
-rw-r--r--debian/patches/series6
-rwxr-xr-xdebian/rules64
-rw-r--r--debian/source/format1
-rw-r--r--debian/tests/control2
-rwxr-xr-xdebian/tests/octave-load10
-rw-r--r--debian/watch4
41 files changed, 1125 insertions, 0 deletions
diff --git a/debian/CSXCAD.packinfo/DESCRIPTION b/debian/CSXCAD.packinfo/DESCRIPTION
new file mode 100644
index 0000000..8419e33
--- /dev/null
+++ b/debian/CSXCAD.packinfo/DESCRIPTION
@@ -0,0 +1,7 @@
+Name: csxcad
+Version: 0.0.35
+Date: 2016-07-06
+Author: various authors
+Maintainer: Ruben Undheim <ruben.undheim@gmail.com>
+Title: Electromagnetic field solver
+Description: Signal processing tools, including filtering, windowing and display functions.
diff --git a/debian/CSXCAD.packinfo/INDEX b/debian/CSXCAD.packinfo/INDEX
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/debian/CSXCAD.packinfo/INDEX
@@ -0,0 +1 @@
+
diff --git a/debian/CSXCAD.packinfo/NEWS b/debian/CSXCAD.packinfo/NEWS
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/debian/CSXCAD.packinfo/NEWS
@@ -0,0 +1 @@
+
diff --git a/debian/FIXME b/debian/FIXME
new file mode 100644
index 0000000..6530c87
--- /dev/null
+++ b/debian/FIXME
@@ -0,0 +1,2 @@
+For some reason, it works fine when built in stretch, but fails with a segfault when built in sid.
+Figure out why.
diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 0000000..c6f5a31
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,3 @@
+The bundled library fparser has been removed from the source package.
+
+Also a few .HYP files for which the license was not found, have been removed.
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..ea08ac1
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+openems (0.0.35+dfsg.1-1) unstable; urgency=low
+
+ * Initial release (Closes: #830109)
+
+ -- Ruben Undheim <ruben.undheim@gmail.com> Sun, 02 Sep 2018 01:07:06 +0200
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..b4de394
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+11
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..8b87ea3
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,131 @@
+Source: openems
+Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
+Uploaders: Ruben Undheim <ruben.undheim@gmail.com>
+Section: electronics
+Priority: optional
+Build-Depends: debhelper (>= 11),
+ cmake,
+ libhdf5-dev,
+ libboost-all-dev,
+ libcgal-dev,
+ libcgal-qt5-dev,
+ libtinyxml-dev,
+ libvtk6-qt-dev,
+ libfparser-dev,
+# It is called octave-pkg-dev in stretch
+# and dh-octave in sid
+ dh-octave | octave-pkg-dev,
+ chrpath,
+ txt2man,
+ g++-7
+Standards-Version: 4.2.1
+Vcs-Browser: https://salsa.debian.org/science-team/openems
+Vcs-Git: https://salsa.debian.org/science-team/openems.git
+Homepage: http://openems.de
+
+Package: openems
+Architecture: any
+Depends: ${shlibs:Depends},
+ ${misc:Depends},
+ libopenems0 (= ${binary:Version}),
+ libcsxcad0 (= ${binary:Version}),
+ libqcsxcad0 (= ${binary:Version}),
+ libnf2ff0 (= ${binary:Version})
+Recommends: octave-openems
+Description: Electromagnetic simulator
+ This is a simulator for electromagnetic problems using the FDTD
+ (Finite-difference time-domain method) algorithm.
+ .
+ The FDTD algorithm is a popular algorithm for solving electromagnetic problems
+ in the time domain.
+
+Package: libopenems0
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends},
+ ${misc:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
+Description: Library for the electromagnetic simulator using the FDTD method
+ The finite difference time domain method is a popular numerical algorithm
+ for solving electromagnetic problems.
+ .
+ This package contains the library used by openEMS.
+
+Package: libcsxcad0
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends},
+ ${misc:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
+Description: Continuous Structure XML library for openEMS
+ A C++ library to describe geometrical objects and their physical or
+ non-physical properties.
+ .
+ openEMS is a simulator for electromagnetic problems using
+ the FDTD algorithm.
+
+Package: libqcsxcad0
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends},
+ ${misc:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
+Description: QT Gui Library for Visualization of Continuous Structure XML
+ Continuous structure XML (libcsxcad) is a way to describe geometrical objects
+ and their physical or non-physical properties. This library provides
+ functions to show this in a GUI.
+ .
+ openEMS is a simulator for electromagnetic problems using
+ the FDTD algorithm.
+
+Package: libnf2ff0
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends},
+ ${misc:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
+Description: Near-field to far-field transform library
+ This is a library for the near-field to far-field transform used
+ by openEMS.
+ .
+ It is needed by the nf2ff utility.
+ .
+ openEMS is a simulator for electromagnetic problems using
+ the FDTD algorithm.
+
+Package: libopenems-dev
+Architecture: any
+Section: libdevel
+Depends: ${misc:Depends},
+ libopenems0 (= ${binary:Version}),
+ libcsxcad0 (= ${binary:Version}),
+ libqcsxcad0 (= ${binary:Version}),
+ libnf2ff0 (= ${binary:Version}),
+ libfparser-dev
+Multi-Arch: same
+Description: Development files for openems
+ This package contains the development files for all
+ the libraries provided by openEMS.
+ .
+ openEMS is a simulator for electromagnetic problems using
+ the FDTD algorithm.
+
+Package: octave-openems
+Architecture: any
+Depends: ${shlibs:Depends},
+ ${misc:Depends},
+ openems,
+ octave,
+ epstool,
+ transfig
+Description: Octave interface for openems
+ This package contains the octave-files needed for
+ openEMS. The are installed such that they can be used
+ after running "pkg load openems" or "pkg load csxcad".
+ .
+ openEMS is a simulator for electromagnetic problems using
+ the FDTD algorithm.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..90f3977
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,162 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: openEMS
+Source: https://github.com/thliebig/openEMS
+Files-Excluded: fparser
+ hyp2mat/eagle/hairpinfilter/hairpinfilter.HYP
+ hyp2mat/eagle/notchfilter/notchfilter.HYP
+ hyp2mat/eagle/tutorial/msl.HYP
+
+Files: *
+Copyright: 2010-2016 Thorsten Liebig <Thorsten.Liebig@gmx.de>
+License: GPL-3+
+
+Files: CSXCAD/*
+ QCSXCAD/*
+Copyright: 2010-2016 Thorsten Liebig <Thorsten.Liebig@gmx.de>
+License: LGPL-3+
+
+Files: hyp2mat/*
+Copyright: 2012,2014 Koen De Vleeschauwer
+License: GPL-3+
+
+Files: openEMS/FDTD/engine_multithread.*
+ openEMS/FDTD/operator_sse.*
+ openEMS/tools/aligned_allocator.h
+ openEMS/tools/global.*
+Copyright: 2010 Sebastian Held <sebastian.held@gmx.de>
+License: GPL-3+
+
+Files: QCSXCAD/export_pov.*
+ QCSXCAD/export_x3d.*
+Copyright: 2010 Sebastian Held (sebastian.held@gmx.de)
+License: LGPL-3+
+
+Files: AppCSXCAD/linux/AppCSXCAD.spec
+ CSXCAD/linux/CSXCAD.spec
+ QCSXCAD/linux/QCSXCAD.spec
+ openEMS/linux/openEMS.spec
+Copyright: 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+License: MIT or GPL-3+
+
+Files: hyp2mat/eagle/hairpinfilter/demo_hairpin.m
+ hyp2mat/eagle/notchfilter/demo_notch.m
+ hyp2mat/eagle/tutorial/GetEpsilon.m
+ hyp2mat/eagle/tutorial/GetUnits.m
+ hyp2mat/eagle/tutorial/tutorial_hyp2mat.m
+Copyright: 2011,2012 Thorsten Liebig <thorsten.liebig@gmx.de>
+ 2012 Koen De Vleeschauwer
+License: GPL-3+
+
+Files: hyp2mat/lib/clipper.cpp
+Copyright: 2010-2013 Angus Johnson
+License: Boost_ver_1
+
+Files: CTB/*
+Copyright: 2006-2013 Sebastian Held, Thorsten Liebig
+License: BSD-2-clause
+
+Files: debian/*
+Copyright: 2016,2018 Ruben Undheim <ruben.undheim@gmail.com>
+License: GPL-3+
+
+
+License: GPL-3+
+ This package is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the complete text of the GNU General
+ Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
+
+
+License: LGPL-3+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+ .
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the complete text of the GNU Lesser General
+ Public License version 3 can be found in "/usr/share/common-licenses/LGPL-3".
+
+
+License: Boost_ver_1
+ Permission is hereby granted, free of charge, to any person or organization
+ obtaining a copy of the software and accompanying documentation covered by
+ this license (the "Software") to use, reproduce, display, distribute,
+ execute, and transmit the Software, and to prepare derivative works of the
+ Software, and to permit third-parties to whom the Software is furnished to
+ do so, all subject to the following:
+ .
+ The copyright notices in the Software and this entire statement, including
+ the above license grant, this restriction and the following disclaimer,
+ must be included in all copies of the Software, in whole or in part, and
+ all derivative works of the Software, unless such copies or derivative
+ works are solely in the form of machine-executable object code generated by
+ a source language processor.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+ SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+ FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+
+
+License: MIT
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in all
+ copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
+
+
+License: BSD-2-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ .
+ 1. Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 0000000..cec628c
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,2 @@
+[DEFAULT]
+pristine-tar = True
diff --git a/debian/libcsxcad0.install b/debian/libcsxcad0.install
new file mode 100644
index 0000000..5bcae99
--- /dev/null
+++ b/debian/libcsxcad0.install
@@ -0,0 +1 @@
+usr/lib/*/libCSXCAD.so.*
diff --git a/debian/libcsxcad0.shlibs b/debian/libcsxcad0.shlibs
new file mode 100644
index 0000000..d1cd130
--- /dev/null
+++ b/debian/libcsxcad0.shlibs
@@ -0,0 +1 @@
+libCSXCAD 0 libcsxcad0
diff --git a/debian/libnf2ff0.install b/debian/libnf2ff0.install
new file mode 100644
index 0000000..6224d65
--- /dev/null
+++ b/debian/libnf2ff0.install
@@ -0,0 +1 @@
+usr/lib/*/libnf2ff.so.*
diff --git a/debian/libnf2ff0.shlibs b/debian/libnf2ff0.shlibs
new file mode 100644
index 0000000..f919eb6
--- /dev/null
+++ b/debian/libnf2ff0.shlibs
@@ -0,0 +1 @@
+libnf2ff 0 libnf2ff0
diff --git a/debian/libopenems-dev.install b/debian/libopenems-dev.install
new file mode 100644
index 0000000..40ec33a
--- /dev/null
+++ b/debian/libopenems-dev.install
@@ -0,0 +1,6 @@
+usr/lib/*/libCS*.so
+usr/lib/*/libQCS*.so
+usr/lib/*/libope*.so
+usr/lib/*/libnf*.so
+usr/include/CSXCAD
+usr/include/QCSXCAD
diff --git a/debian/libopenems0.install b/debian/libopenems0.install
new file mode 100644
index 0000000..881bdfe
--- /dev/null
+++ b/debian/libopenems0.install
@@ -0,0 +1 @@
+usr/lib/*/libopenEMS.so.*
diff --git a/debian/libopenems0.shlibs b/debian/libopenems0.shlibs
new file mode 100644
index 0000000..d2fd3b9
--- /dev/null
+++ b/debian/libopenems0.shlibs
@@ -0,0 +1 @@
+libopenEMS 0 libopenems0
diff --git a/debian/libqcsxcad0.install b/debian/libqcsxcad0.install
new file mode 100644
index 0000000..342e622
--- /dev/null
+++ b/debian/libqcsxcad0.install
@@ -0,0 +1 @@
+usr/lib/*/libQCSXCAD.so.*
diff --git a/debian/libqcsxcad0.shlibs b/debian/libqcsxcad0.shlibs
new file mode 100644
index 0000000..eaf208a
--- /dev/null
+++ b/debian/libqcsxcad0.shlibs
@@ -0,0 +1 @@
+libQCSXCAD 0 libqcsxcad0
diff --git a/debian/man/AppCSXCAD.txt b/debian/man/AppCSXCAD.txt
new file mode 100644
index 0000000..13f4324
--- /dev/null
+++ b/debian/man/AppCSXCAD.txt
@@ -0,0 +1,19 @@
+NAME
+ AppCSXCAD - GUI for looking at geometries for openEMS
+
+SYNOPSIS
+ AppCSXCAD
+
+DESCRIPTION
+
+ Running the command launches a GUI
+
+OPTIONS
+
+
+
+AUTHOR
+ This manual page was written by Ruben Undheim <ruben.undheim@gmail.com> for the Debian project (and may be used by others).
+
+
+
diff --git a/debian/man/genmanpages.sh b/debian/man/genmanpages.sh
new file mode 100755
index 0000000..5ecfefd
--- /dev/null
+++ b/debian/man/genmanpages.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+
+txt2man -d "${CHANGELOG_DATE}" -t OPENEMS -s 1 openEMS.txt > openEMS.1
+txt2man -d "${CHANGELOG_DATE}" -t NF2FF -s 1 nf2ff.txt > nf2ff.1
+txt2man -d "${CHANGELOG_DATE}" -t APPCSXCAD -s 1 AppCSXCAD.txt > AppCSXCAD.1
diff --git a/debian/man/nf2ff.txt b/debian/man/nf2ff.txt
new file mode 100644
index 0000000..341e1dd
--- /dev/null
+++ b/debian/man/nf2ff.txt
@@ -0,0 +1,16 @@
+NAME
+ nf2ff - Near-field to Far-field Transformation for openEMS
+
+SYNOPSIS
+ nf2ff <nf2ff-xml-file>
+
+DESCRIPTION
+
+
+
+
+AUTHOR
+ This manual page was written by Ruben Undheim <ruben.undheim@gmail.com> for the Debian project (and may be used by others).
+
+
+
diff --git a/debian/man/openEMS.txt b/debian/man/openEMS.txt
new file mode 100644
index 0000000..2e7a1e2
--- /dev/null
+++ b/debian/man/openEMS.txt
@@ -0,0 +1,21 @@
+NAME
+ openEMS - Electromagnetic simulator using the FDTD algorithm
+
+SYNOPSIS
+ openEMS <FDTD_XML_FILE> [<options>...]
+
+DESCRIPTION
+
+
+OPTIONS
+
+ --disable-dumps Disable all field dumps for faster simulation
+ --debug-material Dump material distribution to a vtk file for debugging
+
+
+
+AUTHOR
+ This manual page was written by Ruben Undheim <ruben.undheim@gmail.com> for the Debian project (and may be used by others).
+
+
+
diff --git a/debian/octave-openems.install b/debian/octave-openems.install
new file mode 100644
index 0000000..09821d2
--- /dev/null
+++ b/debian/octave-openems.install
@@ -0,0 +1,5 @@
+usr/share/openEMS/matlab/* /usr/share/octave/packages/openems-0.0.35/
+usr/lib/*/octave
+usr/share/CSXCAD/matlab/* /usr/share/octave/packages/csxcad-0.0.35/
+debian/openEMS.packinfo/* /usr/share/octave/packages/openems-0.0.35/packinfo/
+debian/CSXCAD.packinfo/* /usr/share/octave/packages/csxcad-0.0.35/packinfo/
diff --git a/debian/openEMS.packinfo/DESCRIPTION b/debian/openEMS.packinfo/DESCRIPTION
new file mode 100644
index 0000000..9490323
--- /dev/null
+++ b/debian/openEMS.packinfo/DESCRIPTION
@@ -0,0 +1,7 @@
+Name: openems
+Version: 0.0.35
+Date: 2016-07-06
+Author: various authors
+Maintainer: Ruben Undheim <ruben.undheim@gmail.com>
+Title: Electromagnetic field solver
+Description: Signal processing tools, including filtering, windowing and display functions.
diff --git a/debian/openEMS.packinfo/INDEX b/debian/openEMS.packinfo/INDEX
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/debian/openEMS.packinfo/INDEX
@@ -0,0 +1 @@
+
diff --git a/debian/openEMS.packinfo/NEWS b/debian/openEMS.packinfo/NEWS
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/debian/openEMS.packinfo/NEWS
@@ -0,0 +1 @@
+
diff --git a/debian/openems.install b/debian/openems.install
new file mode 100644
index 0000000..cf3de4f
--- /dev/null
+++ b/debian/openems.install
@@ -0,0 +1,3 @@
+usr/bin/AppCSXCAD
+usr/bin/nf2ff
+usr/bin/openEMS
diff --git a/debian/openems.manpages b/debian/openems.manpages
new file mode 100644
index 0000000..13cdaf4
--- /dev/null
+++ b/debian/openems.manpages
@@ -0,0 +1 @@
+debian/man/*.1
diff --git a/debian/patches/0001-Fix-path-to-binaries-for-Debian.patch b/debian/patches/0001-Fix-path-to-binaries-for-Debian.patch
new file mode 100644
index 0000000..542589b
--- /dev/null
+++ b/debian/patches/0001-Fix-path-to-binaries-for-Debian.patch
@@ -0,0 +1,90 @@
+From: Ruben Undheim <ruben.undheim@gmail.com>
+Date: Wed, 6 Jul 2016 18:24:09 +0200
+Subject: Fix path to binaries for Debian
+
+---
+ CSXCAD/matlab/CSXGeomPlot.m | 16 +++++++++-------
+ openEMS/matlab/CalcNF2FF.m | 15 ++++++++-------
+ openEMS/matlab/private/invoke_openEMS.m | 16 +++++++++-------
+ 3 files changed, 26 insertions(+), 21 deletions(-)
+
+diff --git a/CSXCAD/matlab/CSXGeomPlot.m b/CSXCAD/matlab/CSXGeomPlot.m
+index df33c94..034f1a1 100644
+--- a/CSXCAD/matlab/CSXGeomPlot.m
++++ b/CSXCAD/matlab/CSXGeomPlot.m
+@@ -27,13 +27,15 @@ end
+ filename = mfilename('fullpath');
+ dir = fileparts( filename );
+
+-if isunix
+- AppCSXCAD_bin = searchBinary('AppCSXCAD.sh', ...
+- {[dir filesep '..' filesep '..' filesep 'AppCSXCAD' filesep], ...
+- [dir filesep '..' filesep '..' filesep '..' filesep 'bin' filesep]});
+-else % assume windows
+- AppCSXCAD_bin = searchBinary('AppCSXCAD.exe',[dir filesep '..' filesep]);
+-end
++%if isunix
++% AppCSXCAD_bin = searchBinary('AppCSXCAD.sh', ...
++% {[dir filesep '..' filesep '..' filesep 'AppCSXCAD' filesep], ...
++% [dir filesep '..' filesep '..' filesep '..' filesep 'bin' filesep]});
++%else % assume windows
++% AppCSXCAD_bin = searchBinary('AppCSXCAD.exe',[dir filesep '..' filesep]);
++%end
++
++AppCSXCAD_bin = '/usr/bin/AppCSXCAD';
+
+ command = [AppCSXCAD_bin ' --disableEdit ' args_string ' ' CSX_filename];
+ disp( ['invoking AppCSXCAD, exit to continue script...'] );
+diff --git a/openEMS/matlab/CalcNF2FF.m b/openEMS/matlab/CalcNF2FF.m
+index c80b52e..07cc849 100644
+--- a/openEMS/matlab/CalcNF2FF.m
++++ b/openEMS/matlab/CalcNF2FF.m
+@@ -98,13 +98,14 @@ struct_2_xml(nf2ff.xml,nf2ff_xml,'nf2ff');
+ m_filename = mfilename('fullpath');
+ dir_name = fileparts( m_filename );
+
+-if isunix
+- nf2ff_bin = searchBinary('nf2ff', ...
+- {[dir_name filesep '..' filesep 'nf2ff' filesep], ...
+- [dir_name filesep '..' filesep '..' filesep '..' filesep 'bin' filesep]}, 0);
+-else
+- nf2ff_bin = searchBinary('nf2ff.exe',[dir_name filesep '..' filesep], 0);
+-end
++%if isunix
++% nf2ff_bin = searchBinary('nf2ff', ...
++% {[dir_name filesep '..' filesep 'nf2ff' filesep], ...
++% [dir_name filesep '..' filesep '..' filesep '..' filesep 'bin' filesep]}, 0);
++%else
++% nf2ff_bin = searchBinary('nf2ff.exe',[dir_name filesep '..' filesep], 0);
++%end
++nf2ff_bin = '/usr/bin/nf2ff';
+
+ if ((exist(nf2ff.hdf5,'file') && (mode==0)) || (mode==2))
+ disp('CalcNF2FF: Reading nf2ff data only...')
+diff --git a/openEMS/matlab/private/invoke_openEMS.m b/openEMS/matlab/private/invoke_openEMS.m
+index afb2b46..8c4d79b 100644
+--- a/openEMS/matlab/private/invoke_openEMS.m
++++ b/openEMS/matlab/private/invoke_openEMS.m
+@@ -26,13 +26,15 @@ end
+ filename = mfilename('fullpath');
+ dir = fileparts( filename );
+
+-if isunix
+- openEMS_bin = searchBinary('openEMS.sh', ...
+- {[dir filesep '..' filesep '..' filesep], ... % try devel path
+- [dir filesep '..' filesep '..' filesep '..' filesep '..' filesep 'bin' filesep]}); % try (default) install path
+-else % assume windows
+- openEMS_bin = searchBinary('openEMS.exe', [dir filesep '..' filesep '..' filesep]);
+-end
++%if isunix
++% openEMS_bin = searchBinary('openEMS.sh', ...
++% {[dir filesep '..' filesep '..' filesep], ... % try devel path
++% [dir filesep '..' filesep '..' filesep '..' filesep '..' filesep 'bin' filesep]}); % try (default) install path
++%else % assume windows
++% openEMS_bin = searchBinary('openEMS.exe', [dir filesep '..' filesep '..' filesep]);
++%end
++
++openEMS_bin = '/usr/bin/openEMS';
+
+ command = [openEMS_bin ' ' opts];
+
diff --git a/debian/patches/0002-Spelling-fixes.patch b/debian/patches/0002-Spelling-fixes.patch
new file mode 100644
index 0000000..8ae0682
--- /dev/null
+++ b/debian/patches/0002-Spelling-fixes.patch
@@ -0,0 +1,338 @@
+From: Ruben Undheim <ruben.undheim@gmail.com>
+Date: Sat, 9 Jul 2016 11:12:02 +0200
+Subject: Spelling fixes
+
+---
+ CSXCAD/src/CSPrimPolyhedron.cpp | 4 ++--
+ CSXCAD/src/CSPrimPolyhedronReader.cpp | 2 +-
+ CSXCAD/src/CSRectGrid.cpp | 4 ++--
+ QCSXCAD/QCSGridEditor.cpp | 2 +-
+ QCSXCAD/QCSXCAD.cpp | 8 ++++----
+ QCSXCAD/QVTKStructure.cpp | 2 +-
+ openEMS/Common/processmodematch.cpp | 2 +-
+ openEMS/FDTD/extensions/operator_ext_upml.cpp | 2 +-
+ openEMS/FDTD/operator.cpp | 6 +++---
+ openEMS/tools/AdrOp.cpp | 22 +++++++++++-----------
+ openEMS/tools/ErrorMsg.cpp | 10 +++++-----
+ openEMS/tools/ExpenseLog.h | 2 +-
+ openEMS/tools/useful.cpp | 2 +-
+ openEMS/tools/vtk_file_writer.cpp | 4 ++--
+ 14 files changed, 36 insertions(+), 36 deletions(-)
+
+diff --git a/CSXCAD/src/CSPrimPolyhedron.cpp b/CSXCAD/src/CSPrimPolyhedron.cpp
+index 7eac505..9583b7e 100644
+--- a/CSXCAD/src/CSPrimPolyhedron.cpp
++++ b/CSXCAD/src/CSPrimPolyhedron.cpp
+@@ -183,11 +183,11 @@ bool CSPrimPolyhedron::BuildTree()
+ {
+ m_Dimension = 2;
+
+- //if structure is not closed due to invalud faces, mark it as 3D
++ //if structure is not closed due to invalid faces, mark it as 3D
+ if (m_InvalidFaces>0)
+ {
+ m_Dimension = 3;
+- std::cerr << "CSPrimPolyhedron::BuildTree: Warning, found polyhedron has invalud faces and is not a closed surface, setting to 3D solid anyway!" << std::endl;
++ std::cerr << "CSPrimPolyhedron::BuildTree: Warning, found polyhedron has invalid faces and is not a closed surface, setting to 3D solid anyway!" << std::endl;
+ }
+ }
+
+diff --git a/CSXCAD/src/CSPrimPolyhedronReader.cpp b/CSXCAD/src/CSPrimPolyhedronReader.cpp
+index ed224fd..c88c67e 100644
+--- a/CSXCAD/src/CSPrimPolyhedronReader.cpp
++++ b/CSXCAD/src/CSPrimPolyhedronReader.cpp
+@@ -77,7 +77,7 @@ bool CSPrimPolyhedronReader::Write2XML(TiXmlElement &elem, bool parameterised)
+ elem.SetAttribute("FileType","PLY");
+ break;
+ default:
+- elem.SetAttribute("FileType","Unkown");
++ elem.SetAttribute("FileType","Unknown");
+ break;
+ }
+ return CSPrimitives::Write2XML(elem,parameterised);
+diff --git a/CSXCAD/src/CSRectGrid.cpp b/CSXCAD/src/CSRectGrid.cpp
+index 50f2947..5b36dc2 100644
+--- a/CSXCAD/src/CSRectGrid.cpp
++++ b/CSXCAD/src/CSRectGrid.cpp
+@@ -78,7 +78,7 @@ std::string CSRectGrid::AddDiscLines(int direct, int numLines, double* vals, std
+ }
+ fParse.Parse(DistFunction,dirVar);
+ if (fParse.GetParseErrorType()!=FunctionParser::FP_NO_ERROR)
+- return std::string("An error occured parsing f(") + dirVar + std::string(") - Parser message:\n") + std::string(fParse.ErrorMsg());
++ return std::string("An error occurred parsing f(") + dirVar + std::string(") - Parser message:\n") + std::string(fParse.ErrorMsg());
+
+ double dValue=0;
+ bool error=false;
+@@ -88,7 +88,7 @@ std::string CSRectGrid::AddDiscLines(int direct, int numLines, double* vals, std
+ if (fParse.EvalError()!=0) error=true;
+ AddDiscLine(direct,dValue);
+ }
+- if (error) return std::string("An error occured evaluation the grid function f(") + dirVar + std::string(")!");
++ if (error) return std::string("An error occurred evaluation the grid function f(") + dirVar + std::string(")!");
+ }
+ return "";
+ }
+diff --git a/QCSXCAD/QCSGridEditor.cpp b/QCSXCAD/QCSGridEditor.cpp
+index 4e2210c..17d8ffe 100644
+--- a/QCSXCAD/QCSGridEditor.cpp
++++ b/QCSXCAD/QCSGridEditor.cpp
+@@ -237,7 +237,7 @@ void QCSGridEditor::BuildInHomogenDisc()
+ // if (fParse.EvalError()!=0) error=true;
+ // clGrid->AddDiscLine(i,dValue);
+ // }
+-// if (error) QMessageBox::warning(HomogenDisc,tr("Error evaluation grid function!"),QString(tr("An error occured evaluation the grid function f(%1)!").arg(coordVars.at(i))));
++// if (error) QMessageBox::warning(HomogenDisc,tr("Error evaluation grid function!"),QString(tr("An error occurred evaluation the grid function f(%1)!").arg(coordVars.at(i))));
+ // }
+ // clGrid->Sort(i);
+ // }
+diff --git a/QCSXCAD/QCSXCAD.cpp b/QCSXCAD/QCSXCAD.cpp
+index 4cd4a74..b9ef094 100644
+--- a/QCSXCAD/QCSXCAD.cpp
++++ b/QCSXCAD/QCSXCAD.cpp
+@@ -299,7 +299,7 @@ bool QCSXCAD::ReadNode(TiXmlNode* root)
+ if (root==NULL) return false;
+ clear();
+ QString msg(ReadFromXML(root));
+- if (msg.isEmpty()==false) QMessageBox::warning(this,tr("Geometry read error"),tr("An geometry read error occured!!\n\n")+msg,QMessageBox::Ok,QMessageBox::NoButton);
++ if (msg.isEmpty()==false) QMessageBox::warning(this,tr("Geometry read error"),tr("An geometry read error occurred!!\n\n")+msg,QMessageBox::Ok,QMessageBox::NoButton);
+ CSTree->UpdateTree();
+ CSTree->expandAll();
+ setModified();
+@@ -336,7 +336,7 @@ bool QCSXCAD::ReadFile(QString filename)
+ // QString msg(ReadFromXML(filename.toLatin1().constData()));
+ QString msg(ReadFromXML(root));
+ if (msg.isEmpty()==false)
+- QMessageBox::warning(this,tr("Geometry read error"),tr("An geometry read error occured!!\n\n")+msg,QMessageBox::Ok,QMessageBox::NoButton);
++ QMessageBox::warning(this,tr("Geometry read error"),tr("An geometry read error occurred!!\n\n")+msg,QMessageBox::Ok,QMessageBox::NoButton);
+
+ CSTree->UpdateTree();
+ CSTree->expandAll();
+@@ -720,7 +720,7 @@ void QCSXCAD::ExportGeometry()
+ if (qFilename==NULL) return;
+ if (!qFilename.endsWith(".xml")) qFilename+=".xml";
+
+- if (Write2XML(qFilename.toLatin1().data())==false) QMessageBox::warning(this,tr("Geometry Export"),tr("Unknown error occured! Geometry Export failed"),1,0);
++ if (Write2XML(qFilename.toLatin1().data())==false) QMessageBox::warning(this,tr("Geometry Export"),tr("Unknown error occurred! Geometry Export failed"),1,0);
+ }
+
+ void QCSXCAD::ExportGeometry_Povray()
+@@ -802,7 +802,7 @@ void QCSXCAD::ExportGeometry(QString dirname, int type)
+ StructureVTK->ExportProperty2PLY(uID,filename,clGrid.GetDeltaUnit());
+ break;
+ default:
+- QMessageBox::warning(this, "Export Dialog","Unkown export type, skipping...");
++ QMessageBox::warning(this, "Export Dialog","Unknown export type, skipping...");
+ return;
+ break;
+ }
+diff --git a/QCSXCAD/QVTKStructure.cpp b/QCSXCAD/QVTKStructure.cpp
+index 9482dde..8eea1e8 100644
+--- a/QCSXCAD/QVTKStructure.cpp
++++ b/QCSXCAD/QVTKStructure.cpp
+@@ -295,7 +295,7 @@ void QVTKStructure::RenderGridDir(int dir, unsigned int plane_pos)
+ uiQty[n]=CSGrid->GetQtyLines(n);
+ if ((int)plane_pos>=uiQty[dir])
+ {
+- cerr << "QVTKStructure::RenderGridDir: requested plane postion is out of range, resetting to max value!" << endl;
++ cerr << "QVTKStructure::RenderGridDir: requested plane position is out of range, resetting to max value!" << endl;
+ plane_pos = uiQty[dir]-1;
+ }
+
+diff --git a/openEMS/Common/processmodematch.cpp b/openEMS/Common/processmodematch.cpp
+index 620257d..7cd22f8 100644
+--- a/openEMS/Common/processmodematch.cpp
++++ b/openEMS/Common/processmodematch.cpp
+@@ -123,7 +123,7 @@ void ProcessModeMatch::InitProcess()
+ int res = m_ModeParser[n]->Parse(m_ModeFunction[ny], "x,y,z,rho,a,r,t");
+ if (res >= 0)
+ {
+- cerr << "ProcessModeMatch::InitProcess(): Warning, an error occured parsing the mode matching function (see below) ..." << endl;
++ cerr << "ProcessModeMatch::InitProcess(): Warning, an error occurred parsing the mode matching function (see below) ..." << endl;
+ cerr << m_ModeFunction[ny] << "\n" << string(res, ' ') << "^\n" << m_ModeParser[n]->ErrorMsg() << "\n";
+ SetEnable(false);
+ Reset();
+diff --git a/openEMS/FDTD/extensions/operator_ext_upml.cpp b/openEMS/FDTD/extensions/operator_ext_upml.cpp
+index fc46d85..d64c21c 100644
+--- a/openEMS/FDTD/extensions/operator_ext_upml.cpp
++++ b/openEMS/FDTD/extensions/operator_ext_upml.cpp
+@@ -280,7 +280,7 @@ bool Operator_Ext_UPML::SetGradingFunction(string func)
+ int res = m_GradingFunction->Parse(m_GradFunc.c_str(), "D,dl,W,Z,N");
+ if (res < 0) return true;
+
+- cerr << "Operator_Ext_UPML::SetGradingFunction: Warning, an error occured parsing the pml grading function (see below) ..." << endl;
++ cerr << "Operator_Ext_UPML::SetGradingFunction: Warning, an error occurred parsing the pml grading function (see below) ..." << endl;
+ cerr << func << "\n" << string(res, ' ') << "^\n" << m_GradingFunction->ErrorMsg() << "\n";
+ return false;
+ }
+diff --git a/openEMS/FDTD/operator.cpp b/openEMS/FDTD/operator.cpp
+index a7582aa..2dec2d3 100644
+--- a/openEMS/FDTD/operator.cpp
++++ b/openEMS/FDTD/operator.cpp
+@@ -450,7 +450,7 @@ Grid_Path Operator::FindPath(double start[], double stop[])
+ currPos[minDir]+=-1;
+ minPos[minDir]-=1;
+ }
+- //check validity of current postion
++ //check validity of current position
+ for (int n=0;n<3;++n)
+ if (currPos[n]>=numLines[n])
+ {
+@@ -1397,7 +1397,7 @@ bool Operator::AverageMatCellCenter(int ny, const unsigned int* pos, double* Eff
+ for (int n=0; n<4; ++n)
+ if (isnan(EffMat[n]) || isinf(EffMat[n]))
+ {
+- cerr << "Operator::" << __func__ << ": Error, an effective material parameter is not a valid result, this should NOT have happend... exit..." << endl;
++ cerr << "Operator::" << __func__ << ": Error, an effective material parameter is not a valid result, this should NOT have happened... exit..." << endl;
+ cerr << ny << "@" << n << " : " << pos[0] << "," << pos[1] << "," << pos[2] << endl;
+ exit(0);
+ }
+@@ -1510,7 +1510,7 @@ bool Operator::AverageMatQuarterCell(int ny, const unsigned int* pos, double* Ef
+ for (int n=0; n<4; ++n)
+ if (isnan(EffMat[n]) || isinf(EffMat[n]))
+ {
+- cerr << "Operator::" << __func__ << ": Error, An effective material parameter is not a valid result, this should NOT have happend... exit..." << endl;
++ cerr << "Operator::" << __func__ << ": Error, An effective material parameter is not a valid result, this should NOT have happened... exit..." << endl;
+ cerr << ny << "@" << n << " : " << pos[0] << "," << pos[1] << "," << pos[2] << endl;
+ exit(0);
+ }
+diff --git a/openEMS/tools/AdrOp.cpp b/openEMS/tools/AdrOp.cpp
+index 228f8de..23a7e87 100644
+--- a/openEMS/tools/AdrOp.cpp
++++ b/openEMS/tools/AdrOp.cpp
+@@ -28,15 +28,15 @@ AdrOp::AdrOp(unsigned int muiImax, unsigned int muiJmax, unsigned int muiKmax, u
+ fprintf(stderr,"Memory allocation failed!! exiting...");
+ exit(1);
+ }
+- error->SetMsg(1,"Adress Operator: Memory allocation failed!! exiting...");
+- error->SetMsg(2,"Adress Operator: Invalid Adress requested!! exiting...");
+- error->SetMsg(3,"Adress Operator: Invalid Position set!! exiting...");
+- error->SetMsg(4,"Adress Operator: Invalid jump or passing end of iteration!! exiting...");
+- error->SetMsg(5,"Adress Operator: 4D not yet implemented!! exiting...");
+- error->SetMsg(6,"Adress Operator: Position not set!! exiting...");
+- error->SetMsg(7,"Adress Operator: Cells not added to Adress Operator!! exiting...");
+- error->SetMsg(8,"Adress Operator: Invalid Node!! exiting...");
+- error->SetMsg(9,"Adress Operator: Grid invalid!! exiting...");
++ error->SetMsg(1,"Address Operator: Memory allocation failed!! exiting...");
++ error->SetMsg(2,"Address Operator: Invalid Address requested!! exiting...");
++ error->SetMsg(3,"Address Operator: Invalid Position set!! exiting...");
++ error->SetMsg(4,"Address Operator: Invalid jump or passing end of iteration!! exiting...");
++ error->SetMsg(5,"Address Operator: 4D not yet implemented!! exiting...");
++ error->SetMsg(6,"Address Operator: Position not set!! exiting...");
++ error->SetMsg(7,"Address Operator: Cells not added to Address Operator!! exiting...");
++ error->SetMsg(8,"Address Operator: Invalid Node!! exiting...");
++ error->SetMsg(9,"Address Operator: Grid invalid!! exiting...");
+
+ //if (muiImax<0) muiImax=0;
+ //if (muiJmax<0) muiJmax=0;
+@@ -50,7 +50,7 @@ AdrOp::AdrOp(unsigned int muiImax, unsigned int muiJmax, unsigned int muiKmax, u
+ else exit(-2);
+ if (muiKmax>0) uiDimension++;
+ if ( (muiLmax>0) && (muiKmax>0) ) uiDimension++;
+-// cout << "\n-----Adress Operator created: Dimension: " << uiDimension << "----" <<endl;
++// cout << "\n-----Address Operator created: Dimension: " << uiDimension << "----" <<endl;
+ uiImax=muiImax;
+ uiJmax=muiJmax;
+ uiKmax=muiKmax;
+@@ -109,7 +109,7 @@ AdrOp::AdrOp(AdrOp* origOP)
+
+ AdrOp::~AdrOp()
+ {
+-// cerr << "\n------Adress Operator deconstructed-----\n" << endl;
++// cerr << "\n------Address Operator deconstructed-----\n" << endl;
+ delete error;
+ error=NULL;
+ delete clCellAdr;
+diff --git a/openEMS/tools/ErrorMsg.cpp b/openEMS/tools/ErrorMsg.cpp
+index 9a1974c..ff01d49 100644
+--- a/openEMS/tools/ErrorMsg.cpp
++++ b/openEMS/tools/ErrorMsg.cpp
+@@ -60,14 +60,14 @@ void ErrorMsg::Error(unsigned int nr,char *chAddMsg)
+ if ((nr>0) && (nr<=NoMsg))
+ {
+ if (Msg[nr-1]!=NULL) fprintf(stderr,"%s",Msg[nr-1]);
+- else fprintf(stderr,"unkown error occured!! Error code: %d exiting...",nr);
++ else fprintf(stderr,"unknown error occurred!! Error code: %d exiting...",nr);
+ if (chAddMsg!=NULL) fprintf(stderr,"%s",chAddMsg);
+ getchar();
+ exit(nr);
+ }
+ else
+ {
+- fprintf(stderr,"unkown error occured!! Error code: %d exiting...",nr);
++ fprintf(stderr,"unknown error occurred!! Error code: %d exiting...",nr);
+ getchar();
+ exit(nr);
+ }
+@@ -78,14 +78,14 @@ void ErrorMsg::Error(unsigned int nr,int addNr)
+ if ((nr>0) && (nr<=NoMsg))
+ {
+ if (Msg[nr-1]!=NULL) fprintf(stderr,"%s",Msg[nr-1]);
+- else fprintf(stderr,"unkown error occured!! Error code: %d exiting...",nr);
++ else fprintf(stderr,"unknown error occurred!! Error code: %d exiting...",nr);
+ fprintf(stderr,"%d",addNr);
+ getchar();
+ exit(nr);
+ }
+ else
+ {
+- fprintf(stderr,"unkown error occured!! Error code: %d exiting...",nr);
++ fprintf(stderr,"unknown error occurred!! Error code: %d exiting...",nr);
+ getchar();
+ exit(nr);
+ }
+@@ -93,6 +93,6 @@ void ErrorMsg::Error(unsigned int nr,int addNr)
+
+ void ErrorMsg::ownError(void)
+ {
+- fprintf(stdout," Error occured by using Error Message class!! ... exiting...");
++ fprintf(stdout," Error occurred by using Error Message class!! ... exiting...");
+ exit(-1);
+ }
+diff --git a/openEMS/tools/ExpenseLog.h b/openEMS/tools/ExpenseLog.h
+index f8cc1ba..8aa1438 100644
+--- a/openEMS/tools/ExpenseLog.h
++++ b/openEMS/tools/ExpenseLog.h
+@@ -14,7 +14,7 @@ using namespace std;
+ ExpenseLog EL; \
+ ExpenseModule* EngineExpense=EL.AddModule("Static Engine Expenses"); \
+ ExpenseModule* PPExpense=EL.AddModule("Static Post Processing"); \
+-ExpenseModule* AdrOpExpense=EL.AddModule("Adress Operator");
++ExpenseModule* AdrOpExpense=EL.AddModule("Address Operator");
+ #define EXTERN_EXPENSE_DEFINE extern ExpenseLog EL;
+ #define ENGINEEXPENSE_DEFINE extern ExpenseModule* EngineExpense;
+ #define POSTPROCEXPENSE_DEFINE extern ExpenseModule* PPExpense;
+diff --git a/openEMS/tools/useful.cpp b/openEMS/tools/useful.cpp
+index 50aacfb..8e548f0 100644
+--- a/openEMS/tools/useful.cpp
++++ b/openEMS/tools/useful.cpp
+@@ -63,7 +63,7 @@ std::vector<unsigned int> AssignJobs2Threads(unsigned int jobs, unsigned int nrT
+ }
+
+ if (jobs>0)
+- std::cerr << "AssignJobs2Threads: Error, " << jobs << " remain to be assigned, this should not have happend..." << std::endl;
++ std::cerr << "AssignJobs2Threads: Error, " << jobs << " remain to be assigned, this should not have happened..." << std::endl;
+
+ if (RemoveEmpty)
+ {
+diff --git a/openEMS/tools/vtk_file_writer.cpp b/openEMS/tools/vtk_file_writer.cpp
+index 79c40f3..be6586f 100644
+--- a/openEMS/tools/vtk_file_writer.cpp
++++ b/openEMS/tools/vtk_file_writer.cpp
+@@ -70,7 +70,7 @@ void VTK_File_Writer::SetMeshLines(double const* const* lines, unsigned int cons
+ vtkRectilinearGrid* RectGrid = dynamic_cast<vtkRectilinearGrid*>(m_GridData);
+ if (RectGrid==NULL)
+ {
+- cerr << "VTK_File_Writer::SetMeshLines: Error, grid invalid, this should not have happend! " << endl;
++ cerr << "VTK_File_Writer::SetMeshLines: Error, grid invalid, this should not have happened! " << endl;
+ exit(1);
+ }
+ RectGrid->SetDimensions(count[0],count[1],count[2]);
+@@ -97,7 +97,7 @@ void VTK_File_Writer::SetMeshLines(double const* const* lines, unsigned int cons
+ vtkStructuredGrid* StructGrid = dynamic_cast<vtkStructuredGrid*>(m_GridData);
+ if (StructGrid==NULL)
+ {
+- cerr << "VTK_File_Writer::SetMeshLines: Error, grid invalid, this should not have happend! " << endl;
++ cerr << "VTK_File_Writer::SetMeshLines: Error, grid invalid, this should not have happened! " << endl;
+ exit(1);
+ }
+
diff --git a/debian/patches/0003-More-things-to-fix-build.patch b/debian/patches/0003-More-things-to-fix-build.patch
new file mode 100644
index 0000000..bf38fc7
--- /dev/null
+++ b/debian/patches/0003-More-things-to-fix-build.patch
@@ -0,0 +1,38 @@
+From: Ruben Undheim <ruben.undheim@gmail.com>
+Date: Sun, 20 Nov 2016 22:01:42 +0000
+Subject: More things to fix build
+
+---
+ CSXCAD/CMakeLists.txt | 4 ++--
+ openEMS/CMakeLists.txt | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CSXCAD/CMakeLists.txt b/CSXCAD/CMakeLists.txt
+index 9d516d5..d7670c1 100644
+--- a/CSXCAD/CMakeLists.txt
++++ b/CSXCAD/CMakeLists.txt
+@@ -90,9 +90,9 @@ INCLUDE_DIRECTORIES( ${fparser_INCLUDE_DIR} )
+ find_package(TinyXML REQUIRED)
+ ADD_DEFINITIONS( -DTIXML_USE_STL )
+
+-find_package(HDF5 1.8 COMPONENTS C HL REQUIRED)
++find_package(HDF5 1.8 COMPONENTS CXX HL REQUIRED)
+ INCLUDE_DIRECTORIES (${HDF5_INCLUDE_DIRS})
+-link_directories(${HDF5_LIBRARY_DIRS})
++link_directories(${HDF5_LIBRARIES})
+ # hdf5 compat
+ ADD_DEFINITIONS( -DH5_USE_16_API )
+
+diff --git a/openEMS/CMakeLists.txt b/openEMS/CMakeLists.txt
+index 898f280..5504590 100644
+--- a/openEMS/CMakeLists.txt
++++ b/openEMS/CMakeLists.txt
+@@ -108,7 +108,7 @@ find_package(TinyXML REQUIRED)
+ ADD_DEFINITIONS( -DTIXML_USE_STL )
+
+ # hdf5
+-find_package(HDF5 1.8 COMPONENTS C HL REQUIRED)
++find_package(HDF5 1.8 COMPONENTS CXX HL REQUIRED)
+ INCLUDE_DIRECTORIES (${HDF5_INCLUDE_DIRS})
+ link_directories(${HDF5_LIBRARIES})
+
diff --git a/debian/patches/0004-link-more.patch b/debian/patches/0004-link-more.patch
new file mode 100644
index 0000000..2c95033
--- /dev/null
+++ b/debian/patches/0004-link-more.patch
@@ -0,0 +1,33 @@
+From: Ruben Undheim <ruben.undheim@gmail.com>
+Date: Sun, 20 Nov 2016 22:40:17 +0000
+Subject: link more
+
+---
+ AppCSXCAD/CMakeLists.txt | 1 +
+ openEMS/CMakeLists.txt | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/AppCSXCAD/CMakeLists.txt b/AppCSXCAD/CMakeLists.txt
+index d5a72c9..2d4b11b 100644
+--- a/AppCSXCAD/CMakeLists.txt
++++ b/AppCSXCAD/CMakeLists.txt
+@@ -157,6 +157,7 @@ TARGET_LINK_LIBRARIES( AppCSXCAD
+ ${HDF5_HL_LIBRARIES}
+ ${QT_LIBRARIES}
+ ${vtk_LIBS}
++ hdf5_serial_hl
+ )
+
+ #
+diff --git a/openEMS/CMakeLists.txt b/openEMS/CMakeLists.txt
+index 5504590..794a498 100644
+--- a/openEMS/CMakeLists.txt
++++ b/openEMS/CMakeLists.txt
+@@ -184,6 +184,7 @@ TARGET_LINK_LIBRARIES( openEMS
+ ${Boost_LIBRARIES}
+ ${vtk_LIBS}
+ ${MPI_LIBRARIES}
++ hdf5_serial_hl
+ )
+
+ # main program
diff --git a/debian/patches/0005-Deletede-CVS-dir-lintian.patch b/debian/patches/0005-Deletede-CVS-dir-lintian.patch
new file mode 100644
index 0000000..78a91e4
--- /dev/null
+++ b/debian/patches/0005-Deletede-CVS-dir-lintian.patch
@@ -0,0 +1,73 @@
+From: Ruben Undheim <ruben.undheim@gmail.com>
+Date: Mon, 21 Nov 2016 00:08:20 +0100
+Subject: Deletede CVS dir (lintian)
+
+---
+ QCSXCAD/images/CVS/Entries | 40 ----------------------------------------
+ QCSXCAD/images/CVS/Repository | 1 -
+ QCSXCAD/images/CVS/Root | 1 -
+ 3 files changed, 42 deletions(-)
+ delete mode 100644 QCSXCAD/images/CVS/Entries
+ delete mode 100644 QCSXCAD/images/CVS/Repository
+ delete mode 100644 QCSXCAD/images/CVS/Root
+
+diff --git a/QCSXCAD/images/CVS/Entries b/QCSXCAD/images/CVS/Entries
+deleted file mode 100644
+index 3593808..0000000
+--- a/QCSXCAD/images/CVS/Entries
++++ /dev/null
+@@ -1,40 +0,0 @@
+-/GeoEdit.png/1.1/Mon Oct 20 07:11:47 2003/-kb/
+-/ParaSetup.png/1.1/Mon Oct 20 07:11:13 2003/-kb/
+-/Thumbs.db/1.2/Tue Jun 27 14:51:16 2006/-kb/
+-/accept.png/1.1/Mon Aug 29 14:17:00 2005/-kb/
+-/bulb.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/bulb_off.png/1.1/Wed Oct 11 20:48:27 2006/-kb/
+-/cancel.png/1.1/Mon Oct 20 07:16:21 2003/-kb/
+-/close.png/1.1/Mon Oct 20 07:16:25 2003/-kb/
+-/configure.png/1.1/Mon Oct 10 19:03:03 2005/-kb/
+-/down.png/1.1/Mon Oct 10 19:03:03 2005/-kb/
+-/edit.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/edit_add.png/1.1/Mon Oct 20 07:16:24 2003/-kb/
+-/edit_remove.png/1.1/Mon Oct 20 07:16:25 2003/-kb/
+-/editcopy.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/exit.png/1.1/Mon Oct 20 07:16:26 2003/-kb/
+-/failed.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/filenew.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/fileopen.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/filesave.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/filesaveas.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/folder.png/1.1/Fri Apr 4 12:47:44 2003/-kb/
+-/funct.png/1.1/Mon Oct 20 07:16:30 2003/-kb/
+-/hourglass.png/1.1/Wed Sep 28 17:56:00 2005/-kb/
+-/icon.gif/1.1/Sun Aug 28 21:13:00 2005/-kb/
+-/launch.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/qt-logo.png/1.1/Wed Dec 14 17:02:26 2005/-kb/
+-/reload.png/1.1/Mon Dec 16 23:41:14 2002/-kb/
+-/result_small.png/1.1/Mon Oct 20 07:16:29 2003/-kb/
+-/results.png/1.1/Mon Oct 20 07:11:58 2003/-kb/
+-/setup.png/1.1/Sun Aug 14 17:45:15 2005/-kb/
+-/simulation.png/1.1/Fri Jan 6 12:43:58 2006/-kb/
+-/simulation_icon.png/1.1/Fri Jan 6 14:24:45 2006/-kb/
+-/simulation_small.png/1.1/Thu Jun 29 20:43:26 2006/-kb/
+-/simulation_tr.png/1.1/Fri Jan 6 14:23:52 2006/-kb/
+-/up.png/1.1/Mon Oct 10 19:03:03 2005/-kb/
+-/viewmag+.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/viewmag-.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/viewmagfit.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/window_icon2.png/1.1/Mon Aug 29 14:17:00 2005/-kb/
+-/work.png/1.1/Mon Oct 20 07:14:09 2003/-kb/
+diff --git a/QCSXCAD/images/CVS/Repository b/QCSXCAD/images/CVS/Repository
+deleted file mode 100644
+index d336c21..0000000
+--- a/QCSXCAD/images/CVS/Repository
++++ /dev/null
+@@ -1 +0,0 @@
+-StaticSimulator/images
+diff --git a/QCSXCAD/images/CVS/Root b/QCSXCAD/images/CVS/Root
+deleted file mode 100644
+index 800d2fc..0000000
+--- a/QCSXCAD/images/CVS/Root
++++ /dev/null
+@@ -1 +0,0 @@
+-:extssh:coft@atex.ate.uni-duisburg.de:/srv/CVS
diff --git a/debian/patches/0006-Don-t-exit-from-library.patch b/debian/patches/0006-Don-t-exit-from-library.patch
new file mode 100644
index 0000000..7c95eb5
--- /dev/null
+++ b/debian/patches/0006-Don-t-exit-from-library.patch
@@ -0,0 +1,57 @@
+From: Ruben Undheim <ruben.undheim@gmail.com>
+Date: Mon, 21 Nov 2016 00:45:35 +0100
+Subject: Don't exit from library
+
+---
+ openEMS/tools/array_ops.cpp | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/openEMS/tools/array_ops.cpp b/openEMS/tools/array_ops.cpp
+index 8710b3c..7100f9a 100644
+--- a/openEMS/tools/array_ops.cpp
++++ b/openEMS/tools/array_ops.cpp
+@@ -73,7 +73,7 @@ f4vector* Create1DArray_v4sf(const unsigned int numLines)
+ if (MEMALIGN( (void**)&array, 16, sizeof(typeof(f4vector))*numLines ))
+ {
+ cerr << "cannot allocate aligned memory" << endl;
+- exit(3);
++ return 0;
+ }
+ for (unsigned int pos=0; pos<numLines; ++pos)
+ {
+@@ -95,7 +95,7 @@ f4vector*** Create3DArray_v4sf(const unsigned int* numLines)
+ if (MEMALIGN( (void**)&array, 16, sizeof(typeof(f4vector**))*numLines[0] ))
+ {
+ cerr << "cannot allocate aligned memory" << endl;
+- exit(3);
++ return 0;
+ }
+ //array = new f4vector**[numLines[0]];
+ for (pos[0]=0; pos[0]<numLines[0]; ++pos[0])
+@@ -103,7 +103,7 @@ f4vector*** Create3DArray_v4sf(const unsigned int* numLines)
+ if (MEMALIGN( (void**)&array[pos[0]], 16, sizeof(typeof(f4vector*))*numLines[1] ))
+ {
+ cerr << "cannot allocate aligned memory" << endl;
+- exit(3);
++ return 0;
+ }
+ //array[pos[0]] = new f4vector*[numLines[1]];
+ for (pos[1]=0; pos[1]<numLines[1]; ++pos[1])
+@@ -111,7 +111,7 @@ f4vector*** Create3DArray_v4sf(const unsigned int* numLines)
+ if (MEMALIGN( (void**)&array[pos[0]][pos[1]], 16, sizeof(typeof(f4vector))*numZ ))
+ {
+ cerr << "cannot allocate aligned memory" << endl;
+- exit(3);
++ return 0;
+ }
+ //array[pos[0]][pos[1]] = new f4vector[numZ];
+ for (pos[2]=0; pos[2]<numZ; ++pos[2])
+@@ -132,7 +132,7 @@ f4vector**** Create_N_3DArray_v4sf(const unsigned int* numLines)
+ if (MEMALIGN( (void**)&array, 16, sizeof(typeof(f4vector***))*3 ))
+ {
+ cerr << "cannot allocate aligned memory" << endl;
+- exit(3);
++ return 0;
+ }
+ //array = new f4vector***[3];
+ for (int n=0; n<3; ++n)
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..6107a1e
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,6 @@
+0001-Fix-path-to-binaries-for-Debian.patch
+0002-Spelling-fixes.patch
+0003-More-things-to-fix-build.patch
+0004-link-more.patch
+0005-Deletede-CVS-dir-lintian.patch
+0006-Don-t-exit-from-library.patch
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..94fd687
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,64 @@
+#!/usr/bin/make -f
+
+#export DH_VERBOSE=1
+
+include /usr/share/dpkg/pkg-info.mk
+
+export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
+
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+
+DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+CHANGELOG_DATE ?= $(shell LC_ALL=C date -u -d @$(SOURCE_DATE_EPOCH) +"%d %B %Y")
+
+DEBIAN_VERSION_SUFFIX = $(shell echo $(DEB_VERSION) | sed 's,.*\+\([0-9][0-9]*\).*,\1,')
+
+OCTAVE_BPATH = usr/lib/$(shell dpkg-architecture -qDEB_HOST_MULTIARCH)/octave/packages
+OCTAVE_HOSTTYPE = $(shell octave-config -p CANONICAL_HOST_TYPE)
+OCTAVE_API_VERSION = $(shell octave-config -p API_VERSION)
+OCTAVE_FULLBPATH = $(OCTAVE_BPATH)/openems-0.0.35/$(OCTAVE_HOSTTYPE)-$(OCTAVE_API_VERSION)
+
+%:
+ dh $@
+
+
+# Since some sub-folders depend on other sub-folders to be installed before
+# they can be configured, dh_auto_configure and dh_auto_build cannot be use for
+# configuration and build:
+override_dh_auto_configure:
+
+override_dh_auto_build:
+
+# openEMS is currently being forced to build with g++-7. The reason is some yet unknown bug which
+# causes crash when simulating when building with g++-8
+override_dh_auto_install:
+ cd CSXCAD && mkdir -p build && cd build && CXX=/usr/bin/g++-7 cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_SUFFIX=/$(DEB_HOST_MULTIARCH) .. && make && make install DESTDIR=../../debian/tmp
+ cd QCSXCAD && mkdir -p build && cd build && CXX=/usr/bin/g++-7 cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=/usr -DCSXCAD_ROOT_DIR=../debian/tmp/usr -DLIB_SUFFIX=/$(DEB_HOST_MULTIARCH) .. && make && make install DESTDIR=../../debian/tmp
+ cd openEMS && mkdir -p build && cd build && CXX=/usr/bin/g++-7 cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=/usr -DCSXCAD_ROOT_DIR=../debian/tmp/usr -DLIB_SUFFIX=/$(DEB_HOST_MULTIARCH) ..
+ cd openEMS/build && make
+ cd openEMS/build && make install DESTDIR=../../debian/tmp
+ cd AppCSXCAD && mkdir -p build && cd build && CXX=/usr/bin/g++-7 cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=/usr -DCSXCAD_ROOT_DIR=../debian/tmp/usr -DQCSXCAD_ROOT_DIR=../debian/tmp/usr -DLIB_SUFFIX=/$(DEB_HOST_MULTIARCH) ..
+ cd AppCSXCAD/build && make
+ cd AppCSXCAD/build && make install DESTDIR=../../debian/tmp
+ cd debian/tmp/usr/share/openEMS/matlab && CXX=/usr/bin/g++-7 CXXFLAGS="-g -O2 -fstack-protector-strong -Wformat -Werror=format-security" mkoctfile -lhdf5_cpp -DH5_USE_16_API -I/usr/include/hdf5/serial h5readatt_octave.cc
+ mkdir -p debian/tmp/$(OCTAVE_FULLBPATH)
+ mv debian/tmp/usr/share/openEMS/matlab/h5readatt_octave.oct debian/tmp/$(OCTAVE_FULLBPATH)/
+ rm debian/tmp/usr/share/openEMS/matlab/h5readatt_octave.o
+ rm debian/tmp/usr/share/openEMS/matlab/h5readatt_octave.cc
+ chrpath -d debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/*.so*
+ chrpath -d debian/tmp/usr/bin/AppCSXCAD
+ chrpath -d debian/tmp/usr/bin/nf2ff
+ chrpath -d debian/tmp/usr/bin/openEMS
+
+
+override_dh_auto_clean:
+ dh_auto_clean
+ $(RM) -r CSXCAD/build || true
+ $(RM) -r QCSXCAD/build || true
+ $(RM) -r openEMS/build || true
+ $(RM) -r AppCSXCAD/build || true
+ $(RM) debian/man/*.1
+
+override_dh_installman:
+ cd debian/man ; CHANGELOG_DATE="$(CHANGELOG_DATE)" ./genmanpages.sh
+ dh_installman
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/tests/control b/debian/tests/control
new file mode 100644
index 0000000..3392f2e
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,2 @@
+Tests: octave-load
+Depends: octave-openems
diff --git a/debian/tests/octave-load b/debian/tests/octave-load
new file mode 100755
index 0000000..637edef
--- /dev/null
+++ b/debian/tests/octave-load
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+
+octave --eval "pkg load openems"
+echo "Successfully loaded openems"
+octave --eval "pkg load csxcad"
+echo "Successfully loaded csxcad"
+
+echo "done"
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..38a8e63
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,4 @@
+version=3
+opts=dversionmangle=s/\+dfsg\.\d+//,\
+oversionmangle=s/$/\+dfsg\.1/ \
+http://openems.de/download/src/openEMS-v(\S+)\.tar\.(?:bz2|gz|xz)