Package: tokyocabinet
Severity: important

Dear Maintainer,

on hurd tokyocabinet fails because hurd does not have the msync syscall.

The log can be found here:
https://buildd.debian.org/status/fetch.php?pkg=tokyocabinet&arch=hurd-i386&ver=1.4.37-6.1&stamp=1304440721

The attached patch will conditionally compile not to use msync on hurd.

I intend to ask for a NMU because of this issue.

Best regards
coldtobi


-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 
'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.1.4 (SMP w/3 CPU cores)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
# From: Tobias Frost <[email protected]>
# Subject: Disable msync calls on hurd
--- a/tcfdb.c
+++ b/tcfdb.c
@@ -1129,10 +1129,12 @@
   tcfdbdumpmeta(fdb, hbuf);
   memcpy(fdb->map, hbuf, FDBOPAQUEOFF);
   if(phys){
+#ifndef __GNU__
     if(msync(fdb->map, fdb->limsiz, MS_SYNC) == -1){
       tcfdbsetecode(fdb, TCEMMAP, __FILE__, __LINE__, __func__);
       err = true;
     }
+#endif
     if(fsync(fdb->fd) == -1){
       tcfdbsetecode(fdb, TCESYNC, __FILE__, __LINE__, __func__);
       err = true;
--- a/tchdb.c
+++ b/tchdb.c
@@ -1336,10 +1336,12 @@
   memcpy(hdb->map, hbuf, HDBOPAQUEOFF);
   if(phys){
     size_t xmsiz = (hdb->xmsiz > hdb->msiz) ? hdb->xmsiz : hdb->msiz;
+#ifndef __GNU__
     if(msync(hdb->map, xmsiz, MS_SYNC) == -1){
       tchdbsetecode(hdb, TCEMMAP, __FILE__, __LINE__, __func__);
       err = true;
     }
+#endif
     if(fsync(hdb->fd) == -1){
       tchdbsetecode(hdb, TCESYNC, __FILE__, __LINE__, __func__);
       err = true;

Reply via email to