mirror of
https://github.com/MiyooCFW/buildroot.git
synced 2025-09-27 22:24:19 +03:00
Merge from bittboy/buildroot@db180c0
This commit is contained in:
55
package/ejabberd/check-erlang-lib
Executable file
55
package/ejabberd/check-erlang-lib
Executable file
@@ -0,0 +1,55 @@
|
||||
#!/bin/sh -e
|
||||
# Helper to bypass AC_ERLANG_CHECK_LIB
|
||||
#
|
||||
# Ejabberd releases do not download specific versions of its erlang
|
||||
# dependencies. Instead, it clones the master branch of a git
|
||||
# repository and asks erl to provide the library version. However,
|
||||
# the target erl program cannot be called from the host. So, this
|
||||
# script aims at finding the library version installed on the target,
|
||||
# without calling erlang.
|
||||
|
||||
usage() {
|
||||
cat <<EOF
|
||||
Usage:
|
||||
$0 library
|
||||
Look for Erlang's library in TARGET_DIR/usr/lib/erlang/lib.
|
||||
|
||||
If the library is found, it returns the path to the latest version,
|
||||
relative to TARGET_DIR. Otherwise, it returns "not found".
|
||||
|
||||
If there are several versions, it returns an error because it does not
|
||||
know which one Erlang uses.
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
die () {
|
||||
echo "$@" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
usage
|
||||
exit 0
|
||||
else
|
||||
library="$1"
|
||||
fi
|
||||
|
||||
target_dir="${TARGET_DIR:-output/target}"
|
||||
|
||||
[ -d "$target_dir" ] || die "TARGET_DIR is not a directory. Please \
|
||||
specify the TARGET_DIR environment variable."
|
||||
|
||||
case "$(ls -1d -- "$target_dir/usr/lib/erlang/lib/$library-"* | wc -l)" in
|
||||
0)
|
||||
echo "not found"
|
||||
;;
|
||||
1)
|
||||
echo "$target_dir/usr/lib/erlang/lib/$library-"* \
|
||||
| sed -e "s,^$target_dir,,"
|
||||
;;
|
||||
*)
|
||||
die "Several versions of $library have been found. Please \
|
||||
remove the unused ones."
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user