Source: netatalk
Version: 2.2.6-1
Tags: patch upstream
User: helm...@debian.org
Usertags: rebootstrap

The cross compilation specific Berkeley DB detection code in netatalk
does not work on systems with a multiarch path layout (such as Debian).
Consequently, a cross build fails to find Berkeley DB. The attached
patch removes assumptions on the filesystem layout by leveraging
AC_CHECK_LIB. After applying it (and autoreconfing), netatalk cross
builds successfully. Please consider applying it.

Helmut
--- netatalk-2.2.6.orig/macros/db3-check.m4
+++ netatalk-2.2.6/macros/db3-check.m4
@@ -63,20 +63,13 @@
         ],[
             AC_MSG_RESULT(no)
         ],[
-            bdblibs=`ls $bdblibdir/lib$lib.* 2>/dev/null`
-            for bdblib in $bdblibs ; do
-                echo "Testing for lib file $bdblib" >&AS_MESSAGE_LOG_FD
-                if test -f "$bdblib" ; then
-                    AC_MSG_RESULT([yes (cross-compiling)])
-                    atalk_cv_bdb_version="yes"
-                    atalk_cv_lib_db="-l$lib"
-                    break
-                fi
-            done
-            if test "x$atalk_cv_bdb_version" = "xyes" ; then
-                break
-            fi
-            AC_MSG_RESULT([no (cross-compiling)])
+            AC_CHECK_LIB([$lib],[db_version],[
+                AC_MSG_RESULT([yes (cross-compiling)])
+                atalk_cv_bdb_version=yes
+                atalk_cv_lib_db="-l$lib"
+            ],[
+                AC_MSG_RESULT([no (cross-compiling)])
+            ])
         ])
     done
     LIBS="$savedlibs"

Reply via email to