diff options
-rw-r--r-- | debian/changelog | 113 | ||||
-rw-r--r-- | debian/compat | 1 | ||||
-rw-r--r-- | debian/control | 69 | ||||
-rw-r--r-- | debian/copyright | 62 | ||||
-rw-r--r-- | debian/fuzzylite.1 | 39 | ||||
-rw-r--r-- | debian/fuzzylite.examples | 1 | ||||
-rw-r--r-- | debian/fuzzylite.install | 1 | ||||
-rw-r--r-- | debian/fuzzylite.manpages | 1 | ||||
-rw-r--r-- | debian/gbp.conf | 3 | ||||
-rw-r--r-- | debian/libfuzzylite-dev.install | 4 | ||||
-rw-r--r-- | debian/libfuzzylite6.0.install | 1 | ||||
-rw-r--r-- | debian/libfuzzylite6.0.lintian-overrides | 10 | ||||
-rw-r--r-- | debian/patches/fix-tests.patch | 42 | ||||
-rw-r--r-- | debian/patches/series | 2 | ||||
-rw-r--r-- | debian/patches/when-testing-large-float-numbers-for-equ.patch | 29 | ||||
-rwxr-xr-x | debian/rules | 26 | ||||
-rw-r--r-- | debian/salsa-ci.yml | 4 | ||||
-rw-r--r-- | debian/source/format | 1 | ||||
-rw-r--r-- | debian/watch | 3 |
19 files changed, 412 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..17a1204 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,113 @@ +fuzzylite (6.0+dfsg-3) UNRELEASED; urgency=medium + + * + + -- Johannes 'josch' Schauer <josch@debian.org> Fri, 23 Oct 2020 08:19:17 +0200 + +fuzzylite (6.0+dfsg-2) unstable; urgency=medium + + * instead of symlinking the examples directory, change the build directory + * set DPKG_EXPORT_BUILDFLAGS=1 for hardening + * add patch to fix unit test on i386 + + -- Johannes 'josch' Schauer <josch@debian.org> Sun, 03 Feb 2019 10:43:13 +0100 + +fuzzylite (6.0+dfsg-1) unstable; urgency=medium + + * new upstream version + * install examples in fuzzylite package + * SONAME change: replace libfuzzylite5.1v5 with libfuzzylite6.0 + * put libfuzzylite6.0 in section libs + * disable pkgkde-symbolshelper: too little gain for all the work + * use secure copyright-format-uri + + -- Johannes 'josch' Schauer <josch@debian.org> Sun, 27 Jan 2019 15:49:39 +0100 + +fuzzylite (5.1+dfsg-5) unstable; urgency=medium + + * update symbols file using "pkgkde-symbolshelper batchpatch -v '5.1' *.log" + and build logs for all architectures acquired via "getbuildlog fuzzylite + '5.1\+dfsg-4'" + + -- Johannes Schauer <josch@debian.org> Wed, 23 Nov 2016 22:48:59 +0000 + +fuzzylite (5.1+dfsg-4) unstable; urgency=medium + + * bump Standards-Version to 3.9.8 (no changes required) + * start using pkgkde-symbolshelper + * bump debhelper compat level to 10 + * d/rules: export DEB_BUILD_MAINT_OPTIONS = hardening=+all + + -- Johannes Schauer <josch@debian.org> Wed, 23 Nov 2016 17:55:13 +0000 + +fuzzylite (5.1+dfsg-3.1) unstable; urgency=medium + + * Non-maintainer upload, with maintainer permission + + [ Steve Langasek ] + * Fix up symbols file for symbols that are not part of the ABI and are + optimized away at -O3 (Closes: #819142). + + [ Gianfranco Costamagna ] + * Fix build failure with gcc-6 with upstream help (Closes: #811880) + * Update symbols. + + -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 13 Aug 2016 15:33:03 +0200 + +fuzzylite (5.1+dfsg-3) unstable; urgency=medium + + * let libfuzzylite5.1v5 replace libfuzzylite5.1 (Closes: #803357) + * add debian/libfuzzylite5.1v5.symbols.optional to deal with all the + libstdc++6/cxx11 junk symbols on 32 as well as on 64 bit arches + + -- Johannes Schauer <josch@debian.org> Sun, 01 Nov 2015 10:34:42 +0100 + +fuzzylite (5.1+dfsg-2) unstable; urgency=medium + + * start using dgit git repositories and change Vcs-Browser and Vcs-Git + field. + * replace package libfuzzylite5.1 by libfuzzylite5.1v5 because of libstdc++6 + ABI changes (closes: #799818) + + -- Johannes Schauer <josch@debian.org> Sun, 25 Oct 2015 22:27:15 +0100 + +fuzzylite (5.1+dfsg-1) unstable; urgency=medium + + * new upstream version (Closes: #777858) + * removed debian/patches/20140705-minor-improvements-on-building-script as + upstream integrated it. Adjust build options in d/rules accordingly. + * delete debian/patches/20140714-building-from-objects-just-once and + debian/patches/20141027-fix-some-spelling as they have been applied + upstream + * install usr/lib/*/pkgconfig/fuzzylite.pc in fuzzylite-dev + * SONAME bump from 5.0 to 5.1, so renaming libfuzzylite5.0 to + libfuzzylite5.1 + * add debian/patches/pkgconfig_installdir to install pkgconfig file in + correct location + + -- Johannes Schauer <josch@debian.org> Tue, 07 Jul 2015 11:12:00 +0200 + +fuzzylite (5.0+dfsg-3) unstable; urgency=medium + + * change my email in Uploaders field to josch@debian.org + * add Vcs-Browser and Vcs-Git fields + * d/watch: use repacksuffix and use dversionmangle instead of uversionmangle + * d/rules: add get-orig-source target + * change priority from extra to optional because it has no conflicts and is + not a debug package + + -- Johannes Schauer <josch@debian.org> Wed, 04 Feb 2015 14:14:39 +0100 + +fuzzylite (5.0+dfsg-2) unstable; urgency=medium + + * add patch 20141027-fix-some-spelling to fix some spelling mistakes until + the next upstream release + * bump Standards-Version to 3.9.6. No changes needed. + + -- Johannes Schauer <j.schauer@email.de> Sun, 16 Nov 2014 22:14:30 +0100 + +fuzzylite (5.0+dfsg-1) unstable; urgency=low + + * Initial release. (Closes: #761075) + + -- Johannes Schauer <j.schauer@email.de> Mon, 01 Sep 2014 21:25:35 +0200 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +10 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..9ecd518 --- /dev/null +++ b/debian/control @@ -0,0 +1,69 @@ +Source: fuzzylite +Section: misc +Priority: optional +Maintainer: Johannes 'josch' Schauer <josch@debian.org> +Standards-Version: 3.9.8 +Homepage: http://www.fuzzylite.com/cpp/ +Build-Depends: debhelper (>= 10), cmake +Vcs-Browser: https://browse.dgit.debian.org/fuzzylite.git/ +Vcs-Git: https://git.dgit.debian.org/fuzzylite + +Package: fuzzylite +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: fuzzy logic control binary + fuzzylite is a fuzzy logic control library which allows one to easily + create fuzzy logic controllers in a few steps utilizing object-oriented + programming. It supports five controller types (Mamdani, Takagi-Sugeno, + Larsen, Tsukamoto, Inverse Tsukamoto), 20 linguistic terms, five + integral and two weighted defuzzifiers, six hedge types, three import + types (FuzzyLite Language, Fuzzy Inference System and Fuzzy Control + Language) and six export types (C++, Java, FuzzyLite Language, FuzzyLite + Dataset, Fuzzy Inference System, Fuzzy Control Language). It comes + bundled with more than thirty examples for Mamdani, Takagi-Sugeno and + Tsukamoto controllers from fuzzylite, octave and matlab, each in all + supported export formats. + . + This package contains the runtime binary + + +Package: libfuzzylite6.0 +Architecture: any +Multi-Arch: same +Section: libs +Depends: ${misc:Depends}, ${shlibs:Depends} +Pre-Depends: ${misc:Pre-Depends} +Description: fuzzy logic control shared library + fuzzylite is a fuzzy logic control library which allows one to easily + create fuzzy logic controllers in a few steps utilizing object-oriented + programming. It supports five controller types (Mamdani, Takagi-Sugeno, + Larsen, Tsukamoto, Inverse Tsukamoto), 20 linguistic terms, five + integral and two weighted defuzzifiers, six hedge types, three import + types (FuzzyLite Language, Fuzzy Inference System and Fuzzy Control + Language) and six export types (C++, Java, FuzzyLite Language, FuzzyLite + Dataset, Fuzzy Inference System, Fuzzy Control Language). It comes + bundled with more than thirty examples for Mamdani, Takagi-Sugeno and + Tsukamoto controllers from fuzzylite, octave and matlab, each in all + supported export formats. + . + This package contains the shared library + +Package: libfuzzylite-dev +Architecture: any +Multi-Arch: same +Depends: ${misc:Depends}, libfuzzylite6.0 (= ${binary:Version}) +Section: libdevel +Description: fuzzy logic control development headers + fuzzylite is a fuzzy logic control library which allows one to easily + create fuzzy logic controllers in a few steps utilizing object-oriented + programming. It supports five controller types (Mamdani, Takagi-Sugeno, + Larsen, Tsukamoto, Inverse Tsukamoto), 20 linguistic terms, five + integral and two weighted defuzzifiers, six hedge types, three import + types (FuzzyLite Language, Fuzzy Inference System and Fuzzy Control + Language) and six export types (C++, Java, FuzzyLite Language, FuzzyLite + Dataset, Fuzzy Inference System, Fuzzy Control Language). It comes + bundled with more than thirty examples for Mamdani, Takagi-Sugeno and + Tsukamoto controllers from fuzzylite, octave and matlab, each in all + supported export formats. + . + This package contains the development headers diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..178a663 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,62 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: fuzzylite +Upstream-Contact: Juan Rada-Vilela <jcrada@fuzzylite.com> +Source: http://www.fuzzylite.com/cpp/ +Files-Excluded: + examples/mamdani/matlab + examples/takagi-sugeno/matlab + examples/original/mamdani/matlab + examples/original/takagi-sugeno/matlab + +Files: * +Copyright: 2010-2014 FuzzyLite Limited +License: LGPL-3+ + This file is part of fuzzylite. + . + fuzzylite 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. + . + fuzzylite 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. + . + On Debian and systems the full text of the GNU Lesser General Public License + version 3 can be found in the file /usr/share/common-licenses/LGPL-3 + +Files: + examples/original/takagi-sugeno/octave/*.fis + examples/original/mamdani/octave/*.fis +Copyright: + 2011-2012 L. Markowsky <lmarkov@users.sourceforge.net> +License: GPL-3+ + This file is part of the fuzzy-logic-toolkit. + . + The fuzzy-logic-toolkit 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. + . + The fuzzy-logic-toolkit 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. + . + On Debian and systems the full text of the GNU General Public License + version 3 can be found in the file /usr/share/common-licenses/GPL-3 + +Files: debian/* +Copyright: 2014 Johannes Schauer <j.schauer@email.de> +License: Expat + 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. diff --git a/debian/fuzzylite.1 b/debian/fuzzylite.1 new file mode 100644 index 0000000..22d08d0 --- /dev/null +++ b/debian/fuzzylite.1 @@ -0,0 +1,39 @@ +.TH fuzzylite 1 "October 26, 2014" "version 5.0" "USER COMMANDS" +.SH NAME +fuzzylite \- a fuzzy logic control library +.SH SYNOPSIS +.B fuzzylite +[\-i inputfile] [\-if format] [\-o outputfile] [\-of format] [\-example letter] [\-decimals number] [\-d datafile] [\-dmaximum number] [\-dheader boolean] [\-dinputs boolean] +.SH OPTIONS +.TP +\-i inputfile +file to import your engine from +.TP +\-if format +format of the file to import (fll | fis | fcl) +.TP +\-o outputfile +file to export your engine to +.TP +\-of format +format of the file to export (fll | fld | cpp | java | fis | fcl) +.TP +\-example letter +if not inputfile, built\-in example to use as engine: (m)amdani or (t)akagi\-sugeno +.TP +\-decimals number +number of decimals to write floating\-poing values +.TP +\-d datafile +if exporting to fld, file of input values to evaluate your engine on +.TP +\-dmaximum number +if exporting to fld without datafile, maximum number of results to export +.TP +\-dheader boolean +if true and exporting to fld, include headers +.TP +\-dinputs boolean +if true and exporting to fld, include input values +.SH AUTHOR +Juan Rada\-Vilela diff --git a/debian/fuzzylite.examples b/debian/fuzzylite.examples new file mode 100644 index 0000000..e39721e --- /dev/null +++ b/debian/fuzzylite.examples @@ -0,0 +1 @@ +examples/* diff --git a/debian/fuzzylite.install b/debian/fuzzylite.install new file mode 100644 index 0000000..6b42168 --- /dev/null +++ b/debian/fuzzylite.install @@ -0,0 +1 @@ +usr/bin/fuzzylite diff --git a/debian/fuzzylite.manpages b/debian/fuzzylite.manpages new file mode 100644 index 0000000..95928c0 --- /dev/null +++ b/debian/fuzzylite.manpages @@ -0,0 +1 @@ +debian/fuzzylite.1 diff --git a/debian/gbp.conf b/debian/gbp.conf new file mode 100644 index 0000000..2c255ee --- /dev/null +++ b/debian/gbp.conf @@ -0,0 +1,3 @@ +[import-orig] +pristine-tar = True +debian-branch = debian/sid diff --git a/debian/libfuzzylite-dev.install b/debian/libfuzzylite-dev.install new file mode 100644 index 0000000..f527373 --- /dev/null +++ b/debian/libfuzzylite-dev.install @@ -0,0 +1,4 @@ +usr/include +usr/lib/*/libfuzzylite-static.a +usr/lib/*/libfuzzylite.so +usr/lib/*/pkgconfig/fuzzylite.pc diff --git a/debian/libfuzzylite6.0.install b/debian/libfuzzylite6.0.install new file mode 100644 index 0000000..4512146 --- /dev/null +++ b/debian/libfuzzylite6.0.install @@ -0,0 +1 @@ +usr/lib/*/libfuzzylite.so.* diff --git a/debian/libfuzzylite6.0.lintian-overrides b/debian/libfuzzylite6.0.lintian-overrides new file mode 100644 index 0000000..fdda54a --- /dev/null +++ b/debian/libfuzzylite6.0.lintian-overrides @@ -0,0 +1,10 @@ +# In the words of the author of fuzzylite, Juan Rada-Vilela: +# +# The calls to exit() happen on static methods signalHandler and terminate, both +# of which are optionally configured by the program, not the library. The library +# will not use either of these methods unless a program explicitly asks these +# methods to be used. These are just handy/example methods. I would expect +# programs to provide their own handling of signals instead. +# +# See: https://github.com/fuzzylite/fuzzylite/issues/4 +libfuzzylite5.1v5 binary: shlib-calls-exit diff --git a/debian/patches/fix-tests.patch b/debian/patches/fix-tests.patch new file mode 100644 index 0000000..a737beb --- /dev/null +++ b/debian/patches/fix-tests.patch @@ -0,0 +1,42 @@ +From: Johannes 'josch' Schauer <josch@debian.org> +Date: Sun, 27 Jan 2019 14:05:51 +0100 +X-Dgit-Generated: 6.0+dfsg-1 17830de9acecb220eeb424413fcb3c06f05c3ad9 +Subject: fix tests + + +--- + +--- fuzzylite-6.0+dfsg.orig/fuzzylite/test/BenchmarkTest.cpp ++++ fuzzylite-6.0+dfsg/fuzzylite/test/BenchmarkTest.cpp +@@ -35,31 +35,10 @@ namespace fl { + std::vector<Example> examples; + examples.push_back(Example("mamdani/AllTerms", int(1e4))); + examples.push_back(Example("mamdani/SimpleDimmer", int(1e5))); +- examples.push_back(Example("mamdani/matlab/mam21", 128)); +- examples.push_back(Example("mamdani/matlab/mam22", 128)); +- examples.push_back(Example("mamdani/matlab/shower", 256)); +- examples.push_back(Example("mamdani/matlab/tank", 256)); +- examples.push_back(Example("mamdani/matlab/tank2", 512)); +- examples.push_back(Example("mamdani/matlab/tipper", 256)); +- examples.push_back(Example("mamdani/matlab/tipper1", int(1e5))); + examples.push_back(Example("mamdani/octave/investment_portfolio", 256)); + examples.push_back(Example("mamdani/octave/mamdani_tip_calculator", 256)); + examples.push_back(Example("takagi-sugeno/approximation", int(1e6))); + examples.push_back(Example("takagi-sugeno/SimpleDimmer", int(2e6))); +- examples.push_back(Example("takagi-sugeno/matlab/fpeaks", 512)); +- examples.push_back(Example("takagi-sugeno/matlab/invkine1", 256)); +- examples.push_back(Example("takagi-sugeno/matlab/invkine2", 256)); +- examples.push_back(Example("takagi-sugeno/matlab/juggler", 512)); +- examples.push_back(Example("takagi-sugeno/matlab/membrn1", 1024)); +- examples.push_back(Example("takagi-sugeno/matlab/membrn2", 512)); +- examples.push_back(Example("takagi-sugeno/matlab/slbb", 20)); +- examples.push_back(Example("takagi-sugeno/matlab/slcp", 20)); +- examples.push_back(Example("takagi-sugeno/matlab/slcp1", 15)); +- examples.push_back(Example("takagi-sugeno/matlab/slcpp1", 9)); +- examples.push_back(Example("takagi-sugeno/matlab/sltbu_fl", 128)); +- examples.push_back(Example("takagi-sugeno/matlab/sugeno1", int(2e6))); +- examples.push_back(Example("takagi-sugeno/matlab/tanksg", 1024)); +- examples.push_back(Example("takagi-sugeno/matlab/tippersg", 1024)); + examples.push_back(Example("takagi-sugeno/octave/cubic_approximator", int(2e6))); + examples.push_back(Example("takagi-sugeno/octave/heart_disease_risk", 1024)); + examples.push_back(Example("takagi-sugeno/octave/linear_tip_calculator", 1024)); diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..e44d37d --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,2 @@ +fix-tests.patch +when-testing-large-float-numbers-for-equ.patch diff --git a/debian/patches/when-testing-large-float-numbers-for-equ.patch b/debian/patches/when-testing-large-float-numbers-for-equ.patch new file mode 100644 index 0000000..230a3a1 --- /dev/null +++ b/debian/patches/when-testing-large-float-numbers-for-equ.patch @@ -0,0 +1,29 @@ +From: Johannes 'josch' Schauer <josch@debian.org> +Date: Sun, 3 Feb 2019 10:33:22 +0100 +X-Dgit-Generated: 6.0+dfsg-2 80960ae38da9db032dfbfec6405398653e8205ff +Subject: when testing large float numbers for equality, use a larger epsilon + + +--- + +--- fuzzylite-6.0+dfsg.orig/fuzzylite/test/BenchmarkTest.cpp ++++ fuzzylite-6.0+dfsg/fuzzylite/test/BenchmarkTest.cpp +@@ -96,7 +96,17 @@ namespace fl { + CHECK(Op::isEq(1.0, Benchmark::convert(1000.0, Benchmark::MilliSeconds, Benchmark::Seconds))); + FL_LOG(Benchmark::convert(1000.0, Benchmark::MilliSeconds, Benchmark::Seconds)); + +- CHECK(Op::isEq(35e9, Benchmark::convert(35, Benchmark::Seconds, Benchmark::NanoSeconds))); ++ scalar eps = ++#ifndef __i386__ ++ fuzzylite::macheps(); ++#else ++ // on i386, due to the 80bit x87 register, double floating point ++ // numbers are handled differently and thus the difference between ++ // 35e9 and the result of Benchmark::convert() will be 2.179e-6, ++ // which is greater than the default epsilon of 1e-6. ++ 1e-5; ++#endif ++ CHECK(Op::isEq(35e9, Benchmark::convert(35, Benchmark::Seconds, Benchmark::NanoSeconds), eps)); + CHECK(Op::isEq(35, Benchmark::convert(35e9, Benchmark::NanoSeconds, Benchmark::Seconds))); + } + diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..628231b --- /dev/null +++ b/debian/rules @@ -0,0 +1,26 @@ +#!/usr/bin/make -f + +export DEB_BUILD_MAINT_OPTIONS=hardening=+all +DPKG_EXPORT_BUILDFLAGS = 1 +include /usr/share/dpkg/buildflags.mk + +# for DEB_HOST_GNU_TYPE and DEB_HOST_MULTIARCH +include /usr/share/dpkg/architecture.mk + +# we build in a subdirectory of ./fuzzylite because the unit tests expect the +# ./examples directory to be two levels above, see +# https://github.com/fuzzylite/fuzzylite/issues/85 +%: + dh $@ --sourcedirectory=fuzzylite --builddirectory=fuzzylite/obj-$(DEB_HOST_GNU_TYPE) + +override_dh_auto_configure: + dh_auto_configure -- -DCMAKE_INSTALL_LIBDIR=lib/$(DEB_HOST_MULTIARCH) -DCMAKE_VERBOSE_MAKEFILE=true -DFL_CPP11=ON + +override_dh_install: + dh_install --fail-missing + +override_dh_auto_test: + dh_auto_test + +get-orig-source: + uscan --noconf --verbose --rename --destdir=$(CURDIR) --check-dirname-level=0 --force-download --repack --compression=xz --download-current-version diff --git a/debian/salsa-ci.yml b/debian/salsa-ci.yml new file mode 100644 index 0000000..33c3a64 --- /dev/null +++ b/debian/salsa-ci.yml @@ -0,0 +1,4 @@ +--- +include: + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml 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/watch b/debian/watch new file mode 100644 index 0000000..a38ab7f --- /dev/null +++ b/debian/watch @@ -0,0 +1,3 @@ +version=3 +opts="repacksuffix=+dfsg,dversionmangle=s/\+dfsg$//" \ + https://github.com/fuzzylite/fuzzylite/releases .*/v(\d[\d\.]*)\.tar\.gz |