Source: aespipe
Severity: normal
Tags: patch
User: [email protected]

Dear Maintainer,

The package aespipe fails to build from source on ppc64el.
That is due to an endianness definition within aes.c file, which assumes 
all powerpc as big endian, thus failing in the tests.

https://buildd.debian.org/status/fetch.php?pkg=aespipe&arch=ppc64el&ver=2.4c-1&stamp=1408470847

The patch attached adds 2 lines to aes.c with checking the __LITTLE_ENDIAN__
preprocessor macro. I am not sure if this would be the ideal, although it works.

Thanks and regards.
Fernando


-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: ppc64el (ppc64le)

Kernel: Linux 3.13-1-powerpc64le (SMP w/4 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -Nru aespipe-2.4c/debian/changelog aespipe-2.4c/debian/changelog
--- aespipe-2.4c/debian/changelog	2011-02-23 17:59:24.000000000 +0000
+++ aespipe-2.4c/debian/changelog	2014-09-03 20:20:09.000000000 +0000
@@ -1,3 +1,10 @@
+aespipe (2.4c-1ppc64el1) UNRELEASED; urgency=medium
+
+  * Changed endianness definition in aes.c since powerpc is not exclusively
+    big endian. 
+
+ -- Fernando Seiti Furusato <[email protected]>  Wed, 03 Sep 2014 20:19:33 +0000
+
 aespipe (2.4c-1) unstable; urgency=low
 
   * New upstream version
diff -Nru aespipe-2.4c/debian/patches/fix-endianness-detection.patch aespipe-2.4c/debian/patches/fix-endianness-detection.patch
--- aespipe-2.4c/debian/patches/fix-endianness-detection.patch	1970-01-01 00:00:00.000000000 +0000
+++ aespipe-2.4c/debian/patches/fix-endianness-detection.patch	2014-09-03 20:19:08.000000000 +0000
@@ -0,0 +1,13 @@
+Index: aespipe-2.4c/aes.c
+===================================================================
+--- aespipe-2.4c.orig/aes.c	2004-07-06 18:20:59.000000000 +0000
++++ aespipe-2.4c/aes.c	2014-09-03 20:19:02.820002772 +0000
+@@ -103,6 +103,8 @@
+ # define INTERNAL_BYTE_ORDER 1
+ # undef DATA_ALWAYS_ALIGNED
+ # define DATA_ALWAYS_ALIGNED 1  /* unaligned access is always ok */
++#elif defined(__LITTLE_ENDIAN__) && (defined(__ppc__)||defined(__ppc)||defined(__PPC__)||defined(__PPC)||defined(__powerpc__)||defined(__powerpc)||defined(__POWERPC__)||defined(__POWERPC)||defined(__PowerPC__)||defined(__PowerPC)||defined(__ppc64__)||defined(__ppc64)||defined(__PPC64__)||defined(__PPC64)||defined(__powerpc64__)||defined(__powerpc64)||defined(__s390__)||defined(__s390))
++# define INTERNAL_BYTE_ORDER 1
+ #elif defined(__ppc__)||defined(__ppc)||defined(__PPC__)||defined(__PPC)||defined(__powerpc__)||defined(__powerpc)||defined(__POWERPC__)||defined(__POWERPC)||defined(__PowerPC__)||defined(__PowerPC)||defined(__ppc64__)||defined(__ppc64)||defined(__PPC64__)||defined(__PPC64)||defined(__powerpc64__)||defined(__powerpc64)||defined(__s390__)||defined(__s390)
+ # define INTERNAL_BYTE_ORDER 2
+ # undef DATA_ALWAYS_ALIGNED
diff -Nru aespipe-2.4c/debian/patches/series aespipe-2.4c/debian/patches/series
--- aespipe-2.4c/debian/patches/series	2011-02-23 17:59:38.000000000 +0000
+++ aespipe-2.4c/debian/patches/series	2014-09-03 20:18:08.000000000 +0000
@@ -1 +1,2 @@
 debian-changes-2.4c-1
+fix-endianness-detection.patch

Reply via email to