Source: a2jmidid Version: 8~dfsg0-1 Severity: normal Tags: patch User: [email protected]
Dear Maintainer, The package a2jmidid fails to build from source on ppc64el due to the error in subject. Following is the full log: https://buildd.debian.org/status/fetch.php?pkg=a2jmidid&arch=ppc64el&ver=8~dfsg0-1&stamp=1410448768 That is due to the usage of the sys header ucontext.h by sigsegv.c. It tries to use a struct defined for powerpc 32-bit within ucontext.h, but there is a condition that does not allow so. I worked around the aforementioned situation by adding a condition that uses the 64-bit struct defined. I just added the conditions following the same pattern and logic so the package builds successfully. Please add your considerations over the patch. Thanks and regards. Fernando -- System Information: Debian Release: jessie/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: ppc64el (ppc64le) Kernel: Linux 3.16-trunk-powerpc64le (SMP w/32 CPU cores) Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Shell: /bin/sh linked to /bin/dash
diff -Nru a2jmidid-8~dfsg0/debian/changelog a2jmidid-8~dfsg0/debian/changelog --- a2jmidid-8~dfsg0/debian/changelog 2012-08-02 11:20:39.000000000 +0000 +++ a2jmidid-8~dfsg0/debian/changelog 2014-11-11 16:23:45.000000000 +0000 @@ -1,3 +1,10 @@ +a2jmidid (8~dfsg0-1ppc64el1) UNRELEASED; urgency=medium + + * sigsegv.c: added condition to use ucontext.h for ppc64, which wasn't being covered. + This fixes ftbfs on ppc64el + + -- Fernando Seiti Furusato <[email protected]> Tue, 11 Nov 2014 16:22:32 +0000 + a2jmidid (8~dfsg0-1) unstable; urgency=low * New upstream release: diff -Nru a2jmidid-8~dfsg0/debian/patches/ppc64-sigsegv.patch a2jmidid-8~dfsg0/debian/patches/ppc64-sigsegv.patch --- a2jmidid-8~dfsg0/debian/patches/ppc64-sigsegv.patch 1970-01-01 00:00:00.000000000 +0000 +++ a2jmidid-8~dfsg0/debian/patches/ppc64-sigsegv.patch 2014-11-11 16:24:16.000000000 +0000 @@ -0,0 +1,19 @@ +Description: Following the same variable and struct usage within sys header + file ucontext.h to cover powerpc 64 bit archs. +Author: Fernando Seiti Furusato <[email protected]> + +--- a2jmidid-8~dfsg0.orig/sigsegv.c ++++ a2jmidid-8~dfsg0/sigsegv.c +@@ -94,8 +94,11 @@ static void signal_segv(int signum, sigi + #if !defined(__alpha__) && !defined(__ia64__) && !defined(__FreeBSD_kernel__) && !defined(__arm__) && !defined(__hppa__) && !defined(__sh__) + for(i = 0; i < NGREG; i++) + a2j_error("reg[%02d] = 0x" REGFORMAT, i, +-#if defined(__powerpc__) ++#if defined(__powerpc__) && !defined(__powerpc64__) + ucontext->uc_mcontext.uc_regs[i] ++/* just following the variable type and member logic as the ones used here to cover ppc64*/ ++#elif defined(__powerpc64__) ++ ucontext->uc_mcontext.gp_regs[i] + #elif defined(__sparc__) && defined(__arch64__) + ucontext->uc_mcontext.mc_gregs[i] + #else diff -Nru a2jmidid-8~dfsg0/debian/patches/series a2jmidid-8~dfsg0/debian/patches/series --- a2jmidid-8~dfsg0/debian/patches/series 2012-08-02 11:19:38.000000000 +0000 +++ a2jmidid-8~dfsg0/debian/patches/series 2014-11-11 16:20:18.000000000 +0000 @@ -1 +1,2 @@ shebangs.diff +ppc64-sigsegv.patch

