-
Notifications
You must be signed in to change notification settings - Fork 0
/
check-deps
executable file
·61 lines (47 loc) · 1.12 KB
/
check-deps
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/bin/sh
EXIT_VALUE=0
PROGRAM_NAME="check-deps"
fatal()
{
echo "${PROGRAM_NAME}: fatal: $1" 1>&2
exit 1
}
error()
{
echo "${PROGRAM_NAME}: error: $1" 1>&2
}
info()
{
echo "${PROGRAM_NAME}: info: $1" 1>&2
}
require_fail()
{
PACKAGE_NAME="$1"
PACKAGE_URL="$2"
MODULE_NAME="$3"
FILE_NAME="$4"
error "${PACKAGE_NAME} (${PACKAGE_URL}) required but not located" 1>&2
error "SYSDEPS module ${MODULE_NAME}, file ${FILE_NAME}" 1>&2
EXIT_VALUE=1
}
required()
{
MODULE_NAME="$1"
FILE_NAME="$2"
PACKAGE_NAME="$3"
./sd-status-is "${MODULE_NAME}" succeeded
if [ $? -ne 0 ]
then
package_url=`cat modules/${MODULE_NAME}/package_url` || package_url="missing URL"
require_fail "${PACKAGE_NAME}" "${package_url}" "${MODULE_NAME}" "${FILE_NAME}"
fi
}
cd SYSDEPS || fatal "could not change directory to SYSDEPS"
required c_string-flags flags-c_string "C_String"
required c_string-libs-S libs-c_string-S "C_String"
if [ ${EXIT_VALUE} -ne 0 ]
then
info "See the documentation on SYSDEPS if you do not understand how to fix this problem"
info "http://coreland.ath.cx/code/sysdeps"
fi
exit ${EXIT_VALUE}