diff -ruN rpmbuild-orig/SOURCES/qpid-3650.patch rpmbuild/SOURCES/qpid-3650.patch
--- rpmbuild-orig/SOURCES/qpid-3650.patch	1970-01-01 01:00:00.000000000 +0100
+++ rpmbuild/SOURCES/qpid-3650.patch	2015-03-19 21:06:32.827057155 +0100
@@ -0,0 +1,72 @@
+--- qpid/trunk/qpid/cpp/src/qpid/sys/rdma/RdmaIO.cpp	2011/04/29 20:06:47	1097934
++++ qpid/trunk/qpid/cpp/src/qpid/sys/rdma/RdmaIO.cpp	2014/06/10 21:55:45	1601779
+@@ -200,7 +200,11 @@
+             if (!buff) {
+                 Buffer* ob = getSendBuffer();
+                 // Have to send something as adapters hate it when you try to transfer 0 bytes
+-                *reinterpret_cast< uint32_t* >(ob->bytes()) = htonl(credit);
++                char* bytes = ob->bytes();
++                bytes[0] = 0xFF & (credit >> 24);
++                bytes[1] = 0xFF & (credit >> 16);
++                bytes[2] = 0xFF & (credit >>  8);
++                bytes[3] = 0xFF & (credit      );
+                 ob->dataCount(sizeof(uint32_t));
+                 qp->postSend(credit | IgnoreData, ob);        
+             } else if (credit > 0) {
+--- qpid/trunk/qpid/cpp/src/qpid/sys/rdma/RdmaClient.cpp	2014/06/11 17:35:36	1601968
++++ qpid/trunk/qpid/cpp/src/qpid/sys/rdma/RdmaClient.cpp	2014/06/11 17:47:37	1601969
+@@ -97,8 +97,8 @@
+         Rdma::Buffer* b = aio.getSendBuffer();
+         if (!b) break;
+         b->dataCount(msgsize);
+-        uint32_t* ip = reinterpret_cast<uint32_t*>(b->bytes());
+-        uint32_t* lip = ip + b->dataCount() / sizeof(uint32_t);
++        uint32_t* ip = b->words();
++        uint32_t* lip = ip + b->wordCount();
+         while (ip != lip) {*ip++ = *output; ++output;}
+         aio.queueWrite(b);
+         ++smsgs;
+@@ -116,8 +116,8 @@
+     
+     // Check message is unaltered
+     bool match = true;
+-    uint32_t* ip = reinterpret_cast<uint32_t*>(b->bytes());
+-    uint32_t* lip = ip + b->dataCount() / sizeof(uint32_t);
++    uint32_t* ip = b->words();
++    uint32_t* lip = ip + b->wordCount();
+     while (ip != lip) { if (*ip++ != *input) {match = false; break;} ++input;}
+     if (!match) {
+         cout << "Data doesn't match: at msg " << rmsgs << " byte " << rbytes-b->dataCount() << " (ish)\n";
+--- qpid/trunk/qpid/cpp/src/qpid/sys/rdma/rdma_wrap.h	2014/06/11 17:35:36	1601968
++++ qpid/trunk/qpid/cpp/src/qpid/sys/rdma/rdma_wrap.h	2014/06/11 17:47:37	1601969
+@@ -53,7 +53,9 @@
+         friend class QueuePairEvent;
+ 
+         char* bytes() const;
++        uint32_t* words() const;
+         int32_t byteCount() const;
++        int32_t wordCount() const;
+         int32_t dataCount() const;
+         void dataCount(int32_t);
+ 
+@@ -68,11 +70,20 @@
+       return (char*) sge.addr;
+     }
+ 
++    inline uint32_t* Buffer::words() const {
++        return (uint32_t*) sge.addr;
++    }
++
+     /** return the number of bytes available for application data */
+     inline int32_t Buffer::byteCount() const {
+         return bufferSize - reserved;
+     }
+ 
++    /** return the number of words available for application data */
++    inline int32_t Buffer::wordCount() const {
++        return (bufferSize - reserved) / sizeof(uint32_t);
++    }
++
+     inline int32_t Buffer::dataCount() const {
+         return sge.length;
+     }
diff -ruN rpmbuild-orig/SOURCES/qpidd-SystemInfo.cpp.patch rpmbuild/SOURCES/qpidd-SystemInfo.cpp.patch
--- rpmbuild-orig/SOURCES/qpidd-SystemInfo.cpp.patch	1970-01-01 01:00:00.000000000 +0100
+++ rpmbuild/SOURCES/qpidd-SystemInfo.cpp.patch	2015-03-19 21:06:32.827057155 +0100
@@ -0,0 +1,11 @@
+--- qpid/trunk/qpid/cpp/src/qpid/sys/posix/SystemInfo.cpp	2012/07/10 19:22:54	1359855
++++ qpid/trunk/qpid/cpp/src/qpid/sys/posix/SystemInfo.cpp	2012/08/10 13:30:44	1371695
+@@ -91,7 +91,7 @@
+                 // * The scope id is illegal in URL syntax
+                 // * Clients won't be able to use a link local address
+                 //   without adding their own (potentially different) scope id
+-                sockaddr_in6* sa6 = (sockaddr_in6*)(ifap->ifa_addr);
++                sockaddr_in6* sa6 = (sockaddr_in6*)((void*)ifap->ifa_addr);
+                 if (IN6_IS_ADDR_LINKLOCAL(&sa6->sin6_addr)) break;
+                 // Fallthrough
+             }
diff -ruN rpmbuild-orig/SOURCES/store-cpp-arm.patch rpmbuild/SOURCES/store-cpp-arm.patch
--- rpmbuild-orig/SOURCES/store-cpp-arm.patch	1970-01-01 01:00:00.000000000 +0100
+++ rpmbuild/SOURCES/store-cpp-arm.patch	2015-03-19 21:06:32.827057155 +0100
@@ -0,0 +1,22 @@
+--- store-0.14/lib/jrnl2/Configuration.hpp.orig	2014-02-17 11:15:54.881069287 +0000
++++ store-0.14/lib/jrnl2/Configuration.hpp	2014-02-17 11:16:54.103000560 +0000
+@@ -34,7 +34,7 @@
+ 
+ #include <stdint.h> // uint8_t
+ 
+-#if defined(__i386__) /* little endian, 32 bits */
++#if defined(__i386__) || defined(__arm__) /* little endian, 32 bits */
+   #define JRNL_LITTLE_ENDIAN
+ //  #define JRNL_32_BIT
+ #elif defined(__PPC__) || defined(__s390__)  /* big endian, 32 bits */
+--- store-0.14/lib/jrnl/jcfg.hpp.orig	2014-02-17 11:17:30.084173647 +0000
++++ store-0.14/lib/jrnl/jcfg.hpp	2014-02-17 11:17:50.904852557 +0000
+@@ -33,7 +33,7 @@
+ #ifndef mrg_journal_jcfg_hpp
+ #define mrg_journal_jcfg_hpp
+ 
+-#if defined(__i386__) /* little endian, 32 bits */
++#if defined(__i386__) || defined(__arm__) /* little endian, 32 bits */
+ #define JRNL_LITTLE_ENDIAN
+ #define JRNL_32_BIT
+ #elif defined(__PPC__) || defined(__s390__)  /* big endian, 32 bits */
diff -ruN rpmbuild-orig/SPECS/qpid-cpp.spec rpmbuild/SPECS/qpid-cpp.spec
--- rpmbuild-orig/SPECS/qpid-cpp.spec	2015-02-11 18:45:45.000000000 +0100
+++ rpmbuild/SPECS/qpid-cpp.spec	2015-03-19 21:28:18.678006725 +0100
@@ -78,7 +78,7 @@
 
 Name:           qpid-cpp
 Version:        0.18
-Release:        38%{?dist}
+Release:        38%{?dist}.redsleeve
 Summary:        Libraries for Qpid C++ client applications
 Group:          System Environment/Libraries
 License:        ASL 2.0
@@ -101,6 +101,9 @@
 # Patches specific to RHEL 7:
 Patch8:         qpidd-service-rhel7.patch
 Patch9:         store-db4-rhel7.patch
+Patch10001:	qpidd-SystemInfo.cpp.patch
+Patch10002:	qpid-3650.patch
+Patch10003:	store-cpp-arm.patch
 %if %{fedora}
 Patch1:         so_number.patch
 %endif
@@ -667,6 +670,11 @@
 %patch10 -p2
 %patch11 -p2
 %patch12 -p2
+%patch10001 -p3
+%patch10002 -p3
+pushd %{_builddir}/store-%{store_version}
+%patch10003 -p1
+popd
 
 # Store patch
 pushd ../store-%{version}
@@ -933,6 +941,12 @@
 # ===
 
 %changelog
+* Thu Mar 19 2015 Jacco LIgthart <jacco@redsleeve.org> - 0.18-38.redsleeve
+- added three patches:
+- http://mail-archives.apache.org/mod_mbox/qpid-commits/201208.mbox/%3C20120810133045.1F3DB238890D@eris.apache.org%3E
+- https://www.marc.info/?l=fedora-extras-commits&m=140251254230780&w=2
+- endianness patch for store
+
 * Wed Feb 11 2015 Mike Cressman ,mcressma@redhat.com> - 0.18-38
 - BZ 1189391 - anonymous access to qpidd cannot be prevented
 - BZ 1189392 - qpidd can be crashed by unauthenticated user
