--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: Hurd: make apr "work" better
- From: Pino Toscano <pino@debian.org>
- Date: Sun, 22 Jan 2012 17:11:53 +0100
- Message-id: <20120122161153.18988.86348.reportbug@localhost.localdomain>
Package: apr
Version: 1.4.5-1.1
Severity: important
Tags: patch
User: debian-hurd@lists.debian.org
Usertags: hurd
Hi,
at the moment, the shared memory and file locking parts of apr don't
work correctly on GNU/Hurd.
The problem is that there are some methods for shared memory and file
locking that are not implemented on Hurd, yet, causing failures in the
test suite (which is currently disabled for Hurd). Luckly, there are
few methods which actually work, so we can temporarly force their usage.
Furthermore, there is a small issue in the way arch-specific hints are
set, making the Hurd ones not used.
* hurd_fix-hints.diff
This patch, which could be sent upstream, fixes the set of predefined
hints for Hurd: usually the $host string is "i686-unknown-gnu0.3" or
"i486-pc-gnu", so the "GNU" string won't match anywhere; furthermore,
since the proposed string could be too broad (potentially matching
also the kFreeBSD string, e.g. "i686-unknown-kfreebsd8.2-gnu"), it has
been moved as very last check.
* hurd_shm_flock.diff
This patch disables all the methods for shared memory and file locking
found by the configure checks, forcing the only working ones.
This patch should stay Debian-specific, as it is not that suitable for
upstream inclusion. (As you can guess, ideally all of those
non-working methods should be ideally fixed in Hurd...)
* debian_enabletests.diff
This patch reenables the test suite on Hurd, which should pass now
with the above patches. (Note that testsockets will still fail, but
a testsockets+testsock run failure is ignored; the bug is a wrong
errno code set in hurd's version of socket() in glibc, and it has
been reported already.)
Thanks,
--
Pino
--- a/build/apr_hints.m4
+++ b/build/apr_hints.m4
@@ -129,9 +129,6 @@
esac
APR_ADDTO(CPPFLAGS, [-D_REENTRANT -D_GNU_SOURCE])
;;
- *-GNU*)
- APR_ADDTO(CPPFLAGS, [-DHURD -D_GNU_SOURCE])
- ;;
*-lynx-lynxos)
APR_ADDTO(CPPFLAGS, [-D__NO_INCLUDE_WARN__ -DLYNXOS])
APR_ADDTO(LIBS, [-lbsd])
@@ -479,6 +476,9 @@
;;
esac
;;
+ *-*-gnu*)
+ APR_ADDTO(CPPFLAGS, [-D_REENTRANT -D_GNU_SOURCE])
+ ;;
esac
fi
--- a/configure.in
+++ b/configure.in
@@ -1189,6 +1189,13 @@
APR_DECISION_OVERRIDE(USE_SHMEM_SHMGET_ANON)
;;
esac
+case $host_os in
+ gnu* )
+ haveshmgetanon="0"
+ havemmapanon="0"
+ APR_DECISION_OVERRIDE(USE_SHMEM_MMAP_ZERO)
+ ;;
+esac
APR_END_DECISION
AC_DEFINE_UNQUOTED($ac_decision)
@@ -1257,6 +1264,13 @@
fi
;;
esac
+case $host_os in
+ gnu* )
+ havemmapshm="0"
+ haveshmget="0"
+ APR_DECISION_OVERRIDE(USE_SHMEM_MMAP_TMP)
+ ;;
+esac
APR_END_DECISION
AC_DEFINE_UNQUOTED($ac_decision)
@@ -2216,6 +2230,12 @@
if test "x$apr_lock_method" != "x"; then
APR_DECISION_FORCE($apr_lock_method)
fi
+case $host_os in
+ gnu* )
+ hasfcntlser="0"
+ APR_DECISION_OVERRIDE(USE_FLOCK_SERIALIZE)
+ ;;
+esac
APR_END_DECISION
AC_DEFINE_UNQUOTED($ac_decision)
--- a/debian/rules
+++ b/debian/rules
@@ -69,11 +69,6 @@
TEST_TARGET =
endif
-# disable tests on hurd until they are fixed (#530286)
-ifeq (hurd, $(DEB_BUILD_ARCH_OS))
- TEST_TARGET =
-endif
-
SHELL=/bin/bash
$(BUILDDIR)/config.status: patch-stamp
--- End Message ---
--- Begin Message ---
Source: apr
Source-Version: 1.4.6-2
We believe that the bug you reported is fixed in the latest version of
apr, which is due to be installed in the Debian FTP archive:
apr_1.4.6-2.debian.tar.gz
to main/a/apr/apr_1.4.6-2.debian.tar.gz
apr_1.4.6-2.dsc
to main/a/apr/apr_1.4.6-2.dsc
libapr1-dbg_1.4.6-2_i386.deb
to main/a/apr/libapr1-dbg_1.4.6-2_i386.deb
libapr1-dev_1.4.6-2_i386.deb
to main/a/apr/libapr1-dev_1.4.6-2_i386.deb
libapr1_1.4.6-2_i386.deb
to main/a/apr/libapr1_1.4.6-2_i386.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 656880@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Stefan Fritsch <sf@debian.org> (supplier of updated apr package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Sun, 20 May 2012 21:39:17 +0200
Source: apr
Binary: libapr1 libapr1-dev libapr1-dbg
Architecture: source i386
Version: 1.4.6-2
Distribution: unstable
Urgency: low
Maintainer: Debian Apache Maintainers <debian-apache@lists.debian.org>
Changed-By: Stefan Fritsch <sf@debian.org>
Description:
libapr1 - Apache Portable Runtime Library
libapr1-dbg - Apache Portable Runtime Library - Debugging Symbols
libapr1-dev - Apache Portable Runtime Library - Development Headers
Closes: 656880 664299
Changes:
apr (1.4.6-2) unstable; urgency=low
.
* Enable use of some new APIs. The minimal required linux kernel version is
now 2.6.28.
* Improvements for Hurd (closes: #656880):
- Re-enable test suite
- Update build hints, disable non-working shm and flock methods. Thanks to
Pino Toscano for the patches.
* Switch VCS to git.
* Switch to source format 3.0, debhelper 9. Thanks to Jari Aalto for the
patch. Closes: #664299
* Remove sendfile LFS patch that was only necessary for 2.4 kernels.
* Fix some lintian warnings (dh_prep, build-indep/build-arch targets).
* Bump Standards-Version (no changes).
Checksums-Sha1:
d2070582c258b037017866c0f4023420449e7406 1416 apr_1.4.6-2.dsc
24478019cb6e40db833f3bdf1acbc4db30809fc8 18255 apr_1.4.6-2.debian.tar.gz
eadbe7eaab1ba952b2caa0a3a45ce3ad92994a54 100020 libapr1_1.4.6-2_i386.deb
d1cf568a6b4cdccdc49a1d633f613ccfb723a43d 1078300 libapr1-dev_1.4.6-2_i386.deb
c28c0719b59dfcb96a4de45d8605b44b504a8b1b 27178 libapr1-dbg_1.4.6-2_i386.deb
Checksums-Sha256:
7e03802f1a45dc88f4ebe9463c8c1cc7c64324951b003f4e7283aa89b7842c14 1416 apr_1.4.6-2.dsc
8f0102e33a570ed48ab54cd369197a941c1d2428c92a3d276a55807791b678fd 18255 apr_1.4.6-2.debian.tar.gz
8c19adc6bbb4505e2c72a99dfc78659b1bf63ab2a36288dda34a2a41348659b4 100020 libapr1_1.4.6-2_i386.deb
f5ef64d4f2f2810d5ac9ad028ebe5fb0c5966a7a211e42f84e19b054c93e7cf7 1078300 libapr1-dev_1.4.6-2_i386.deb
580a16f4e4e07d14cb4e70237c73b6dad6736bdc4d5dc2969b7378bc968a37ff 27178 libapr1-dbg_1.4.6-2_i386.deb
Files:
5987d931319b1764b6201c40e1434d42 1416 libs optional apr_1.4.6-2.dsc
bbd821aa472b23d32d29a9e2d7a305ad 18255 libs optional apr_1.4.6-2.debian.tar.gz
b38e1d1c916d57342f7ff70b8709209c 100020 libs optional libapr1_1.4.6-2_i386.deb
1abdb95310905ebe8c2eb2b091c338c8 1078300 libdevel optional libapr1-dev_1.4.6-2_i386.deb
1f95d8586bbd0141c17a8550b295ede6 27178 debug extra libapr1-dbg_1.4.6-2_i386.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iD8DBQFPuUsDbxelr8HyTqQRAhIhAKDJZKQmcLgbmf9NvNF/m2BVypcTsQCdHr+6
ZgPfr9tiRHDy5aEEWDJi6AI=
=PcpG
-----END PGP SIGNATURE-----
--- End Message ---