From 1a57c7c9f200c4e44f6ed470913e35aebf943e54 Mon Sep 17 00:00:00 2001 From: susmit Date: Jan 24 2016 16:11:19 +0000 Subject: reintroduce big endian patch --- diff --git a/1ddc13d4628fd233e8e14656209e0fee6e475a7d.patch b/1ddc13d4628fd233e8e14656209e0fee6e475a7d.patch new file mode 100644 index 0000000..577480b --- /dev/null +++ b/1ddc13d4628fd233e8e14656209e0fee6e475a7d.patch @@ -0,0 +1,112 @@ +From 1ddc13d4628fd233e8e14656209e0fee6e475a7d Mon Sep 17 00:00:00 2001 +From: Marcin Juszkiewicz +Date: Mon, 16 Nov 2015 10:20:44 +0100 +Subject: [PATCH] name: Fix test cases for Name::compare + +Previously, the test cases incorrectly assumed that Name::compare returns -1, 0, or 1 + +Change-Id: I8a68912ae4cd97144f5149159672434710dded99 +Refs: #3347 +--- + tests/unit-tests/name.t.cpp | 88 ++++++++++++++++++++++----------------------- + 1 file changed, 44 insertions(+), 44 deletions(-) + +diff --git a/tests/unit-tests/name.t.cpp b/tests/unit-tests/name.t.cpp +index 0531f59..96732fd 100644 +--- a/tests/unit-tests/name.t.cpp ++++ b/tests/unit-tests/name.t.cpp +@@ -403,50 +403,50 @@ BOOST_AUTO_TEST_CASE(ImplicitSha256Digest) + + BOOST_AUTO_TEST_CASE(Compare) + { +- BOOST_CHECK_EQUAL( 0, Name("/A") .compare(Name("/A"))); +- BOOST_CHECK_EQUAL( 0, Name("/A") .compare(Name("/A"))); +- BOOST_CHECK_EQUAL(-1, Name("/A") .compare(Name("/B"))); +- BOOST_CHECK_EQUAL( 1, Name("/B") .compare(Name("/A"))); +- BOOST_CHECK_EQUAL(-1, Name("/A") .compare(Name("/AA"))); +- BOOST_CHECK_EQUAL( 1, Name("/AA") .compare(Name("/A"))); +- BOOST_CHECK_EQUAL(-1, Name("/A") .compare(Name("/A/C"))); +- BOOST_CHECK_EQUAL( 1, Name("/A/C").compare(Name("/A"))); +- +- BOOST_CHECK_EQUAL( 0, Name("/Z/A/Y") .compare(1, 1, Name("/A"))); +- BOOST_CHECK_EQUAL( 0, Name("/Z/A/Y") .compare(1, 1, Name("/A"))); +- BOOST_CHECK_EQUAL(-1, Name("/Z/A/Y") .compare(1, 1, Name("/B"))); +- BOOST_CHECK_EQUAL( 1, Name("/Z/B/Y") .compare(1, 1, Name("/A"))); +- BOOST_CHECK_EQUAL(-1, Name("/Z/A/Y") .compare(1, 1, Name("/AA"))); +- BOOST_CHECK_EQUAL( 1, Name("/Z/AA/Y") .compare(1, 1, Name("/A"))); +- BOOST_CHECK_EQUAL(-1, Name("/Z/A/Y") .compare(1, 1, Name("/A/C"))); +- BOOST_CHECK_EQUAL( 1, Name("/Z/A/C/Y").compare(1, 2, Name("/A"))); +- +- BOOST_CHECK_EQUAL( 0, Name("/Z/A") .compare(1, Name::npos, Name("/A"))); +- BOOST_CHECK_EQUAL( 0, Name("/Z/A") .compare(1, Name::npos, Name("/A"))); +- BOOST_CHECK_EQUAL(-1, Name("/Z/A") .compare(1, Name::npos, Name("/B"))); +- BOOST_CHECK_EQUAL( 1, Name("/Z/B") .compare(1, Name::npos, Name("/A"))); +- BOOST_CHECK_EQUAL(-1, Name("/Z/A") .compare(1, Name::npos, Name("/AA"))); +- BOOST_CHECK_EQUAL( 1, Name("/Z/AA") .compare(1, Name::npos, Name("/A"))); +- BOOST_CHECK_EQUAL(-1, Name("/Z/A") .compare(1, Name::npos, Name("/A/C"))); +- BOOST_CHECK_EQUAL( 1, Name("/Z/A/C").compare(1, Name::npos, Name("/A"))); +- +- BOOST_CHECK_EQUAL( 0, Name("/Z/A/Y") .compare(1, 1, Name("/X/A/W"), 1, 1)); +- BOOST_CHECK_EQUAL( 0, Name("/Z/A/Y") .compare(1, 1, Name("/X/A/W"), 1, 1)); +- BOOST_CHECK_EQUAL(-1, Name("/Z/A/Y") .compare(1, 1, Name("/X/B/W"), 1, 1)); +- BOOST_CHECK_EQUAL( 1, Name("/Z/B/Y") .compare(1, 1, Name("/X/A/W"), 1, 1)); +- BOOST_CHECK_EQUAL(-1, Name("/Z/A/Y") .compare(1, 1, Name("/X/AA/W"), 1, 1)); +- BOOST_CHECK_EQUAL( 1, Name("/Z/AA/Y") .compare(1, 1, Name("/X/A/W"), 1, 1)); +- BOOST_CHECK_EQUAL(-1, Name("/Z/A/Y") .compare(1, 1, Name("/X/A/C/W"), 1, 2)); +- BOOST_CHECK_EQUAL( 1, Name("/Z/A/C/Y").compare(1, 2, Name("/X/A/W"), 1, 1)); +- +- BOOST_CHECK_EQUAL( 0, Name("/Z/A/Y") .compare(1, 1, Name("/X/A"), 1)); +- BOOST_CHECK_EQUAL( 0, Name("/Z/A/Y") .compare(1, 1, Name("/X/A"), 1)); +- BOOST_CHECK_EQUAL(-1, Name("/Z/A/Y") .compare(1, 1, Name("/X/B"), 1)); +- BOOST_CHECK_EQUAL( 1, Name("/Z/B/Y") .compare(1, 1, Name("/X/A"), 1)); +- BOOST_CHECK_EQUAL(-1, Name("/Z/A/Y") .compare(1, 1, Name("/X/AA"), 1)); +- BOOST_CHECK_EQUAL( 1, Name("/Z/AA/Y") .compare(1, 1, Name("/X/A"), 1)); +- BOOST_CHECK_EQUAL(-1, Name("/Z/A/Y") .compare(1, 1, Name("/X/A/C"), 1)); +- BOOST_CHECK_EQUAL( 1, Name("/Z/A/C/Y").compare(1, 2, Name("/X/A"), 1)); ++ BOOST_CHECK_EQUAL(Name("/A") .compare(Name("/A")), 0); ++ BOOST_CHECK_EQUAL(Name("/A") .compare(Name("/A")), 0); ++ BOOST_CHECK_LT (Name("/A") .compare(Name("/B")), 0); ++ BOOST_CHECK_GT (Name("/B") .compare(Name("/A")), 0); ++ BOOST_CHECK_LT (Name("/A") .compare(Name("/AA")), 0); ++ BOOST_CHECK_GT (Name("/AA") .compare(Name("/A")), 0); ++ BOOST_CHECK_LT (Name("/A") .compare(Name("/A/C")), 0); ++ BOOST_CHECK_GT (Name("/A/C").compare(Name("/A")), 0); ++ ++ BOOST_CHECK_EQUAL(Name("/Z/A/Y") .compare(1, 1, Name("/A")), 0); ++ BOOST_CHECK_EQUAL(Name("/Z/A/Y") .compare(1, 1, Name("/A")), 0); ++ BOOST_CHECK_LT (Name("/Z/A/Y") .compare(1, 1, Name("/B")), 0); ++ BOOST_CHECK_GT (Name("/Z/B/Y") .compare(1, 1, Name("/A")), 0); ++ BOOST_CHECK_LT (Name("/Z/A/Y") .compare(1, 1, Name("/AA")), 0); ++ BOOST_CHECK_GT (Name("/Z/AA/Y") .compare(1, 1, Name("/A")), 0); ++ BOOST_CHECK_LT (Name("/Z/A/Y") .compare(1, 1, Name("/A/C")), 0); ++ BOOST_CHECK_GT (Name("/Z/A/C/Y").compare(1, 2, Name("/A")), 0); ++ ++ BOOST_CHECK_EQUAL(Name("/Z/A") .compare(1, Name::npos, Name("/A")), 0); ++ BOOST_CHECK_EQUAL(Name("/Z/A") .compare(1, Name::npos, Name("/A")), 0); ++ BOOST_CHECK_LT (Name("/Z/A") .compare(1, Name::npos, Name("/B")), 0); ++ BOOST_CHECK_GT (Name("/Z/B") .compare(1, Name::npos, Name("/A")), 0); ++ BOOST_CHECK_LT (Name("/Z/A") .compare(1, Name::npos, Name("/AA")), 0); ++ BOOST_CHECK_GT (Name("/Z/AA") .compare(1, Name::npos, Name("/A")), 0); ++ BOOST_CHECK_LT (Name("/Z/A") .compare(1, Name::npos, Name("/A/C")), 0); ++ BOOST_CHECK_GT (Name("/Z/A/C").compare(1, Name::npos, Name("/A")), 0); ++ ++ BOOST_CHECK_EQUAL(Name("/Z/A/Y") .compare(1, 1, Name("/X/A/W"), 1, 1), 0); ++ BOOST_CHECK_EQUAL(Name("/Z/A/Y") .compare(1, 1, Name("/X/A/W"), 1, 1), 0); ++ BOOST_CHECK_LT (Name("/Z/A/Y") .compare(1, 1, Name("/X/B/W"), 1, 1), 0); ++ BOOST_CHECK_GT (Name("/Z/B/Y") .compare(1, 1, Name("/X/A/W"), 1, 1), 0); ++ BOOST_CHECK_LT (Name("/Z/A/Y") .compare(1, 1, Name("/X/AA/W"), 1, 1), 0); ++ BOOST_CHECK_GT (Name("/Z/AA/Y") .compare(1, 1, Name("/X/A/W"), 1, 1), 0); ++ BOOST_CHECK_LT (Name("/Z/A/Y") .compare(1, 1, Name("/X/A/C/W"), 1, 2), 0); ++ BOOST_CHECK_GT (Name("/Z/A/C/Y").compare(1, 2, Name("/X/A/W"), 1, 1), 0); ++ ++ BOOST_CHECK_EQUAL(Name("/Z/A/Y") .compare(1, 1, Name("/X/A"), 1), 0); ++ BOOST_CHECK_EQUAL(Name("/Z/A/Y") .compare(1, 1, Name("/X/A"), 1), 0); ++ BOOST_CHECK_LT (Name("/Z/A/Y") .compare(1, 1, Name("/X/B"), 1), 0); ++ BOOST_CHECK_GT (Name("/Z/B/Y") .compare(1, 1, Name("/X/A"), 1), 0); ++ BOOST_CHECK_LT (Name("/Z/A/Y") .compare(1, 1, Name("/X/AA"), 1), 0); ++ BOOST_CHECK_GT (Name("/Z/AA/Y") .compare(1, 1, Name("/X/A"), 1), 0); ++ BOOST_CHECK_LT (Name("/Z/A/Y") .compare(1, 1, Name("/X/A/C"), 1), 0); ++ BOOST_CHECK_GT (Name("/Z/A/C/Y").compare(1, 2, Name("/X/A"), 1), 0); + } + + BOOST_AUTO_TEST_CASE(ZeroLengthComponentCompare) diff --git a/libndn-cxx.spec b/libndn-cxx.spec index dfa4ae9..0de6ebd 100644 --- a/libndn-cxx.spec +++ b/libndn-cxx.spec @@ -1,10 +1,13 @@ Name: libndn-cxx Version: 0.4.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ library implementing Named Data Networking primitives License: LGPLv3+ and (BSD or LGPLv3+) and (GPLv3+ or LGPLv3+) URL: http://named-data.net/downloads/ Source0: http://named-data.net/downloads/ndn-cxx-0.4.0.tar.bz2 +# Fix tests on AArch64 (backport from upstream) +Patch0: 1ddc13d4628fd233e8e14656209e0fee6e475a7d.patch + BuildRequires: sqlite-devel cryptopp-devel boost-devel pkgconfig openssl-devel BuildRequires: boost-python-devel python-devel python2-devel @@ -21,6 +24,7 @@ developing applications that use %{name}. %prep %setup -qn ndn-cxx-%{version} +%patch0 -p1 %build @@ -57,9 +61,19 @@ build/unit-tests %{_libdir}/pkgconfig/libndn-cxx.pc %changelog +* Sun Jan 24 2016 Susmit Shannigrahi - 0.4.0-2 +- Reinsert AArch64 patch + * Fri Jan 8 2016 Susmit Shannigrahi - 0.4.0-1 - Package for 0.4.0 release +* Thu Nov 26 2015 Marcin Juszkiewicz - 0.3.4-6 +- Fix build on AArch64 with upstream fix + +* Tue Nov 10 2015 Marcin Juszkiewicz - 0.3.4-5 +- Fix FTBFS on AArch64. Developer assumed that memcmp() returns -1/0/1 instead + of reading what C/C++ standard says about it. + * Thu Oct 15 2015 Susmit Shannigrahi - 0.3.4-4 - Fix unused-direct-shlib-dependency warning - Add missing sysconfigdir