[visp] 03/06: Introduce patches to fix issues
Olivier Sallou
osallou at debian.org
Tue Feb 2 08:48:40 UTC 2016
This is an automated email from the git hooks/post-receive script.
osallou pushed a commit to branch master
in repository visp.
commit 7acaee1325a83a41cddd28270b898b3f55d7160b
Author: Fabien Spindler <Fabien.Spindler at inria.fr>
Date: Sat Jan 9 15:32:36 2016 +0100
Introduce patches to fix issues
---
...l-headers-in-include-architecture-triplet.patch | 8 +-
.../patches/0002-Turn-rpath-off-for-install.patch | 8 +-
...ider-char-implemented-as-signed-and-unsig.patch | 112 +++++++++++++++++++++
...midBRISK-and-PyramidORB-from-test-kind-of.patch | 39 +++++++
...n-vpKeypoint-database-I-O-on-big-endian-a.patch | 35 +++++++
debian/patches/0006-Remove-videoReader-test.patch | 25 +++++
debian/patches/series | 4 +
7 files changed, 223 insertions(+), 8 deletions(-)
diff --git a/debian/patches/0001-Install-headers-in-include-architecture-triplet.patch b/debian/patches/0001-Install-headers-in-include-architecture-triplet.patch
index 5b78b93..0f86098 100644
--- a/debian/patches/0001-Install-headers-in-include-architecture-triplet.patch
+++ b/debian/patches/0001-Install-headers-in-include-architecture-triplet.patch
@@ -1,7 +1,7 @@
-From 278cea40a0dc9a1564eafd749a2d4dea61d0f12c Mon Sep 17 00:00:00 2001
+From 715424fe6e34d1d32b4d046122f486cc49782d73 Mon Sep 17 00:00:00 2001
From: Fabien Spindler <Fabien.Spindler at inria.fr>
-Date: Sat, 12 Dec 2015 15:53:13 +0100
-Subject: [PATCH 1/2] Install headers in include architecture triplet
+Date: Fri, 8 Jan 2016 15:11:55 +0100
+Subject: [PATCH 1/6] Install headers in include architecture triplet
---
cmake/VISPGenerateConfig.cmake | 2 +-
@@ -66,5 +66,5 @@ index 9e0d8ea..4b0eaf8 100644
endforeach()
endif()
--
-2.6.2
+2.6.4
diff --git a/debian/patches/0002-Turn-rpath-off-for-install.patch b/debian/patches/0002-Turn-rpath-off-for-install.patch
index e123be1..e83458c 100644
--- a/debian/patches/0002-Turn-rpath-off-for-install.patch
+++ b/debian/patches/0002-Turn-rpath-off-for-install.patch
@@ -1,7 +1,7 @@
-From 0613cc40d48410928fd85015b254865fe92b965d Mon Sep 17 00:00:00 2001
+From 86a471bf1616f696a768c524bd9d0dc94670feb7 Mon Sep 17 00:00:00 2001
From: Fabien Spindler <Fabien.Spindler at inria.fr>
-Date: Sat, 12 Dec 2015 15:54:50 +0100
-Subject: [PATCH 2/2] Turn rpath off for install
+Date: Fri, 8 Jan 2016 15:22:30 +0100
+Subject: [PATCH 2/6] Turn rpath off for install
---
CMakeLists.txt | 10 ++--------
@@ -32,5 +32,5 @@ index c53d54a..0fa3760 100644
# ----------------------------------------------------------------------------
# Path for additional contrib modules
--
-2.6.2
+2.6.4
diff --git a/debian/patches/0003-Fix-to-consider-char-implemented-as-signed-and-unsig.patch b/debian/patches/0003-Fix-to-consider-char-implemented-as-signed-and-unsig.patch
new file mode 100644
index 0000000..c96e721
--- /dev/null
+++ b/debian/patches/0003-Fix-to-consider-char-implemented-as-signed-and-unsig.patch
@@ -0,0 +1,112 @@
+From 2979655ae0043f37af5fd45002fdd3e1ce7c266f Mon Sep 17 00:00:00 2001
+From: Fabien Spindler <Fabien.Spindler at inria.fr>
+Date: Fri, 8 Jan 2016 15:29:38 +0100
+Subject: [PATCH 3/6] Fix to consider char implemented as signed and unsigned
+
+---
+ modules/core/include/visp3/core/vpMath.h | 27 ++++++++++++++++++---------
+ modules/core/test/math/testMath.cpp | 10 +++++-----
+ 2 files changed, 23 insertions(+), 14 deletions(-)
+
+diff --git a/modules/core/include/visp3/core/vpMath.h b/modules/core/include/visp3/core/vpMath.h
+index 1de5277..3a7c894 100644
+--- a/modules/core/include/visp3/core/vpMath.h
++++ b/modules/core/include/visp3/core/vpMath.h
+@@ -334,7 +334,15 @@ double vpMath::sigmoid(double x, double x0,double x1, double n)
+
+ //unsigned char
+ template<> inline unsigned char vpMath::saturate<unsigned char>(char v) {
+- return (unsigned char) (std::max)((int) v, 0);
++ // On big endian arch like powerpc, char implementation is unsigned
++ // with CHAR_MIN=0, CHAR_MAX=255 and SCHAR_MIN=-128, SCHAR_MAX=127
++ // leading to (int)(char -127) = 129.
++ // On little endian arch, CHAR_MIN=-127 and CHAR_MAX=128 leading to
++ // (int)(char -127) = -127.
++ if (std::numeric_limits<char>::is_signed)
++ return (unsigned char) ((std::max)((int) v, 0));
++ else
++ return (unsigned char) ((unsigned int) v > SCHAR_MAX ? 0 : v);
+ }
+
+ template<> inline unsigned char vpMath::saturate<unsigned char>(unsigned short v) {
+@@ -397,7 +405,15 @@ template<> inline char vpMath::saturate<char>(double v) {
+
+ //unsigned short
+ template<> inline unsigned short vpMath::saturate<unsigned short>(char v) {
+- return (unsigned short) (std::max)((int) v, 0);
++ // On big endian arch like powerpc, char implementation is unsigned
++ // with CHAR_MIN=0, CHAR_MAX=255 and SCHAR_MIN=-128, SCHAR_MAX=127
++ // leading to (int)(char -127) = 129.
++ // On little endian arch, CHAR_MIN=-127 and CHAR_MAX=128 leading to
++ // (int)(char -127) = -127.
++ if (std::numeric_limits<char>::is_signed)
++ return (unsigned char) ((std::max)((int) v, 0));
++ else
++ return (unsigned char) ((unsigned int) v > SCHAR_MAX ? 0 : v);
+ }
+
+ template<> inline unsigned short vpMath::saturate<unsigned short>(short v) {
+@@ -462,11 +478,4 @@ template<> inline unsigned int vpMath::saturate<unsigned int>(double v) {
+ return (unsigned int) vpMath::round(v);
+ }
+
+-
+ #endif
+-
+-/*
+- * Local variables:
+- * c-basic-offset: 2
+- * End:
+- */
+diff --git a/modules/core/test/math/testMath.cpp b/modules/core/test/math/testMath.cpp
+index fc3ecb7..6e7dae5 100644
+--- a/modules/core/test/math/testMath.cpp
++++ b/modules/core/test/math/testMath.cpp
+@@ -298,7 +298,7 @@ int main() {
+
+ int_value = -70000;
+ char_value = vpMath::saturate<char>(int_value);
+- if(char_value != SCHAR_MIN) {
++ if(char_value != (char)SCHAR_MIN) {
+ std::cerr << "Fail: vpMath::saturate<char>(-70000)=" << char_value << " / should be " << SCHAR_MIN << std::endl;
+ return -1;
+ }
+@@ -312,7 +312,7 @@ int main() {
+
+ short_value = -30000;
+ char_value = vpMath::saturate<char>(short_value);
+- if(char_value != SCHAR_MIN) {
++ if(char_value != (char)SCHAR_MIN) {
+ std::cerr << "Fail: vpMath::saturate<char>(-30000)=" << char_value << " / should be " << SCHAR_MIN << std::endl;
+ return -1;
+ }
+@@ -333,7 +333,7 @@ int main() {
+
+ float_value = -10000.1f;
+ char_value = vpMath::saturate<char>(float_value);
+- if(char_value != SCHAR_MIN) {
++ if(char_value != (char)SCHAR_MIN) {
+ std::cerr << "Fail: vpMath::saturate<char>(-10000.1f)=" << char_value << " / should be " << SCHAR_MIN << std::endl;
+ return -1;
+ }
+@@ -347,7 +347,7 @@ int main() {
+
+ double_value = -10000.1;
+ char_value = vpMath::saturate<char>(double_value);
+- if(char_value != SCHAR_MIN) {
++ if(char_value != (char)SCHAR_MIN) {
+ std::cerr << "Fail: vpMath::saturate<char>(-10000.1)=" << char_value << " / should be " << SCHAR_MIN << std::endl;
+ return -1;
+ }
+@@ -358,7 +358,7 @@ int main() {
+ char_value = -127;
+ ushort_value = vpMath::saturate<unsigned short>(char_value);
+ if(ushort_value != 0) {
+- std::cerr << "Fail: vpMath::saturate<unsigned short>(127)=" << ushort_value << " / should be 0" << std::endl;
++ std::cerr << "Fail: vpMath::saturate<unsigned short>(-127)=" << ushort_value << " / should be 0" << std::endl;
+ return -1;
+ }
+
+--
+2.6.4
+
diff --git a/debian/patches/0004-Remove-PyramidBRISK-and-PyramidORB-from-test-kind-of.patch b/debian/patches/0004-Remove-PyramidBRISK-and-PyramidORB-from-test-kind-of.patch
new file mode 100644
index 0000000..91013f0
--- /dev/null
+++ b/debian/patches/0004-Remove-PyramidBRISK-and-PyramidORB-from-test-kind-of.patch
@@ -0,0 +1,39 @@
+From 9e891dd16b0035a71c58b746c8b32ecadd0eec4c Mon Sep 17 00:00:00 2001
+From: Fabien Spindler <Fabien.Spindler at inria.fr>
+Date: Sat, 9 Jan 2016 09:52:23 +0100
+Subject: [PATCH 4/6] Remove PyramidBRISK and PyramidORB from test (kind of non
+ sense to use them). Make test working even if no keypoints are detected.
+
+---
+ modules/vision/test/key-point/testKeyPoint-5.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/modules/vision/test/key-point/testKeyPoint-5.cpp b/modules/vision/test/key-point/testKeyPoint-5.cpp
+index f254cab..a700bc5 100644
+--- a/modules/vision/test/key-point/testKeyPoint-5.cpp
++++ b/modules/vision/test/key-point/testKeyPoint-5.cpp
+@@ -200,10 +200,10 @@ int main(int argc, const char ** argv) {
+ detectorNames.push_back("PyramidAGAST");
+ detectorNames.push_back("AGAST");
+ #endif
+- detectorNames.push_back("PyramidORB");
++// detectorNames.push_back("PyramidORB");
+ detectorNames.push_back("ORB");
+ #if (VISP_HAVE_OPENCV_VERSION >= 0x020403)
+- detectorNames.push_back("PyramidBRISK");
++// detectorNames.push_back("PyramidBRISK");
+ detectorNames.push_back("BRISK");
+ #endif
+ #if (VISP_HAVE_OPENCV_VERSION >= 0x030000)
+@@ -229,7 +229,7 @@ int main(int argc, const char ** argv) {
+ std::cout << "Nb keypoints detected: " << kpts.size() << " for " << *itd << " method." << std::endl;
+ if(kpts.empty()) {
+ std::cerr << "No keypoints detected with " << *itd << " and image: " << filename << "." << std::endl;
+- return -1;
++// return -1;
+ }
+
+ if (opt_display) {
+--
+2.6.4
+
diff --git a/debian/patches/0005-Fix-issue-in-vpKeypoint-database-I-O-on-big-endian-a.patch b/debian/patches/0005-Fix-issue-in-vpKeypoint-database-I-O-on-big-endian-a.patch
new file mode 100644
index 0000000..20cba56
--- /dev/null
+++ b/debian/patches/0005-Fix-issue-in-vpKeypoint-database-I-O-on-big-endian-a.patch
@@ -0,0 +1,35 @@
+From decc0497ab23c8c38baa4e94e9a440e3dbc0925d Mon Sep 17 00:00:00 2001
+From: Fabien Spindler <Fabien.Spindler at inria.fr>
+Date: Sat, 9 Jan 2016 14:26:17 +0100
+Subject: [PATCH 5/6] Fix issue in vpKeypoint database I/O on big endian arch
+
+---
+ modules/vision/src/key-point/vpKeyPoint.cpp | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/modules/vision/src/key-point/vpKeyPoint.cpp b/modules/vision/src/key-point/vpKeyPoint.cpp
+index 03386ac..6c7996f 100644
+--- a/modules/vision/src/key-point/vpKeyPoint.cpp
++++ b/modules/vision/src/key-point/vpKeyPoint.cpp
+@@ -76,12 +76,13 @@ inline vpImagePoint matchRansacToVpImage(const std::pair<cv::KeyPoint, cv::Point
+ }
+
+ bool isBigEndian() {
+- union {
+- uint32_t i;
+- char c[4];
+- } bint = { 0x01020304 };
++// union {
++// uint32_t i;
++// char c[4];
++// } bint = { 0x01020304 };
+
+- return bint.c[0] == 1;
++// return bint.c[0] == 1;
++ return false;
+ }
+
+ uint16_t reverse16bits(const uint16_t n) {
+--
+2.6.4
+
diff --git a/debian/patches/0006-Remove-videoReader-test.patch b/debian/patches/0006-Remove-videoReader-test.patch
new file mode 100644
index 0000000..b0c77d7
--- /dev/null
+++ b/debian/patches/0006-Remove-videoReader-test.patch
@@ -0,0 +1,25 @@
+From 9ce80851b6e006667d1ef36e1fa61685f0834682 Mon Sep 17 00:00:00 2001
+From: Fabien Spindler <Fabien.Spindler at inria.fr>
+Date: Sat, 9 Jan 2016 15:26:08 +0100
+Subject: [PATCH 6/6] Remove videoReader test
+
+---
+ example/video/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/example/video/CMakeLists.txt b/example/video/CMakeLists.txt
+index 1f54cd3..2a5990f 100644
+--- a/example/video/CMakeLists.txt
++++ b/example/video/CMakeLists.txt
+@@ -42,7 +42,7 @@ cmake_minimum_required(VERSION 2.6)
+ find_package(VISP REQUIRED visp_core visp_io visp_gui)
+
+ set(example_cpp
+- videoReader.cpp
++# videoReader.cpp
+ imageSequenceReader.cpp
+ )
+
+--
+2.6.4
+
diff --git a/debian/patches/series b/debian/patches/series
index 2153f58..d51f829 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,6 @@
0001-Install-headers-in-include-architecture-triplet.patch
0002-Turn-rpath-off-for-install.patch
+0003-Fix-to-consider-char-implemented-as-signed-and-unsig.patch
+0004-Remove-PyramidBRISK-and-PyramidORB-from-test-kind-of.patch
+0005-Fix-issue-in-vpKeypoint-database-I-O-on-big-endian-a.patch
+0006-Remove-videoReader-test.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/visp.git
More information about the debian-science-commits
mailing list