-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstall
executable file
·49 lines (41 loc) · 1.09 KB
/
install
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
#!/bin/bash
confirm_libxml2_xsl()
{
local -a lxml
local -a lxsl
lxml=( $( ldconfig -p | grep libxml2 - ) )
lxsl=( $( ldconfig -p | grep libxslt - ) )
[ "${#lxml[@]}" -gt 0 ] && [ "${#lxsl[@]}" -gt 0 ]
}
confirm_python_library()
{
local re="\b$1\b"
local cmd="help(\"modules\")"
local -a libs
libs=( $( python -c "${cmd}" 2>/dev/null | grep -o $re - ) )
[ "${#libs[@]}" -eq 1 ]
}
confirm_python_bindings()
{
if confirm_python_library "libxml2"; then
if confirm_python_library "libxslt"; then
return 0
else
echo "Missing python library libxslt"
fi
else
echo "Missing python library libxml2"
fi
return 1
}
if confirm_libxml2_xsl; then
if confirm_python_bindings; then
cp -sf "${PWD}/pxml2ods" "/usr/local/bin/pxml2ods"
else
echo "Cannot install until python bindings are installed:"
echo "sudo apt-get install python-libxml2 python-libxslt1"
fi
else
echo "Cannot install until libxml libraries are installed:"
echo "sudo apt-get install libxml2 libxslt"
fi