Package: yap
Version: 5.1.3-2
Severity: serious
Tags: patch
Justification: no longer builds from source

Ubuntu encountered a FTBFS with the Jaunty toolchain (gcc 4.3).  Specifically, 
open() calls with O_CREAT needed 3 arguments.
There was also an issue that required the use of -fno-stack-protector on i386.

You can see the downstream bug here: 
https://bugs.launchpad.net/ubuntu/+source/yap/+bug/246406
I filed an upstream patch about the open() issue here: 
http://sourceforge.net/tracker/?func=detail&aid=2800587&group_id=24437&atid=381485
A pared down ubuntu debdiff is attached.

-- System Information:
Debian Release: squeeze/sid
  APT prefers karmic-updates
  APT policy: (500, 'karmic-updates'), (500, 'karmic-security'), (500, 'karmic')
Architecture: i386 (i686)

Kernel: Linux 2.6.30-7-generic (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -u yap-5.1.3/debian/rules yap-5.1.3/debian/rules
--- yap-5.1.3/debian/rules
+++ yap-5.1.3/debian/rules
@@ -13,6 +13,11 @@
 
 DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+DEB_BUILD_ARCH      ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
+
+ifeq ($(DEB_BUILD_ARCH),i386)
+CFLAGS += -fno-stack-protector
+endif
 
 configure: config-stamp patch 
 
diff -u yap-5.1.3/debian/patches/00list yap-5.1.3/debian/patches/00list
--- yap-5.1.3/debian/patches/00list
+++ yap-5.1.3/debian/patches/00list
@@ -3,0 +4 @@
+04_ubuntu_toolchain_FTBFS
only in patch2:
unchanged:
--- yap-5.1.3.orig/debian/patches/04_ubuntu_toolchain_FTBFS.dpatch
+++ yap-5.1.3/debian/patches/04_ubuntu_toolchain_FTBFS.dpatch
@@ -0,0 +1,26 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 04_gcc_4.3.dpatch by  <[email protected]>
+## DP: Fix FTBFS with Ubuntu toolchain
+
+...@dpatch@
+diff -urNad yap-5.1.1~/C/alloc.c yap-5.1.1/C/alloc.c
+--- yap-5.1.1~/C/alloc.c	2006-03-24 18:15:18.000000000 +0100
++++ yap-5.1.1/C/alloc.c	2008-07-09 22:55:34.000000000 +0200
+@@ -796,7 +796,7 @@
+     itos(getpid(), &file[12]);
+ #endif /* HAVE_TMPNAM */
+ #endif /* HAVE_MKSTEMP */
+-    fd = open(file, O_CREAT|O_RDWR);
++    fd = open(file, O_CREAT|O_RDWR, 0644);
+     if (fd < 0) {
+       Yap_Error(FATAL_ERROR, TermNil, "mmap could not open %s", file);
+       return NULL;
+@@ -909,7 +909,7 @@
+     itos(getpid(), &file[12]);
+ #endif /* HAVE_TMPNAM */
+ #endif /* HAVE_MKSTEMP */
+-    fd = open(file, O_CREAT|O_RDWR);
++    fd = open(file, O_CREAT|O_RDWR, 0644);
+     if (fd < 0) {
+       Yap_ErrorMessage = Yap_ErrorSay;
+       snprintf4(Yap_ErrorMessage, MAX_ERROR_MSG_SIZE,

Reply via email to