packages/mail/postfix/patches/500-crosscompile.patch
Jo-Philipp Wich abcadcbede postfix: fix musl compatibility
The current package patches `makedefs` to probe for the existance
of the `nsl` and `resolv` libraries but uses the wrong variables
for the prefix, leading to `makedefs` probing the host directories,
not the staging dir ones.

Replace `$PKG_BUILD_DIR` with `$STAGING_DIR` to perform the library
tests in the correct directory.

Fixes the following error spotted by doing test builds against musl
which does not provide a `libnsl`:

    .../mips-openwrt-linux-musl/bin/ld: cannot find -lnsl
    collect2: error: ld returned 1 exit status
    make: *** [master] Error 1

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-06-26 14:55:33 +02:00

27 lines
762 B
Diff

--- a/makedefs
+++ b/makedefs
@@ -190,9 +190,9 @@ error() {
case $# in
# Officially supported usage.
- 0) SYSTEM=`(uname -s) 2>/dev/null`
- RELEASE=`(uname -r) 2>/dev/null`
- VERSION=`(uname -v) 2>/dev/null`
+ 0) SYSTEM="Linux"
+ RELEASE="3.10.18"
+ VERSION="OpenWRT"
case "$VERSION" in
dcosx*) SYSTEM=$VERSION;;
esac;;
@@ -522,9 +522,9 @@ EOF
esac
for name in nsl resolv
do
- for lib in /usr/lib64 /lib64 /usr/lib /usr/lib/* /lib /lib/*
+ for lib in /usr/lib64 /usr/lib64/* /usr/lib /usr/lib/* /lib /lib/*
do
- test -e $lib/lib$name.a -o -e $lib/lib$name.so && {
+ test -e $STAGING_DIR/$lib/lib$name.a -o -e $STAGING_DIR/$lib/lib$name.so && {
SYSLIBS="$SYSLIBS -l$name"
break
}