forked from SynoCommunity/spksrc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathspksrc.service.create_links
58 lines (54 loc) · 1.92 KB
/
spksrc.service.create_links
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
# Create links for cli binaries
service_create_links ()
{
for cmd in ${SPK_COMMANDS}
do
if [ -e "${SYNOPKG_PKGDEST}/${cmd}" ]; then
mkdir -p "$(dirname /usr/local/${cmd})"
echo "create link: /usr/local/${cmd} -> ${SYNOPKG_PKGDEST}/${cmd}"
ln -s "${SYNOPKG_PKGDEST}/${cmd}" "/usr/local/${cmd}"
fi
done
for item in ${SPK_USR_LOCAL_LINKS}
do
_target=$(echo ${item} | sed "s/.*://g")
_link=/usr/local/$(echo ${item} | sed "s/:.*//g")/${_target##*/}
if [ -e "${SYNOPKG_PKGDEST}/${_target}" ]; then
mkdir -p "$(dirname ${_link})"
echo "create link: ${_link} -> ${SYNOPKG_PKGDEST}/${_target}"
ln -s "${SYNOPKG_PKGDEST}/${_target}" "${_link}"
fi
done
}
# Remove links created for cli binaries
service_remove_links ()
{
for cmd in ${SPK_COMMANDS}
do
if [ -L "/usr/local/${cmd}" ]; then
if [ "$(readlink /usr/local/${cmd})" == "${SYNOPKG_PKGDEST}/${cmd}" ]; then
echo "remove link: /usr/local/${cmd} -> ${SYNOPKG_PKGDEST}/${cmd}"
rm -f "/usr/local/${cmd}"
else
echo "skip remove link: /usr/local/${cmd} -> $(readlink /usr/local/${cmd})"
fi
else
echo "link to remove not found: /usr/local/${cmd}"
fi
done
for item in ${SPK_USR_LOCAL_LINKS}
do
_target=$(echo ${item} | sed "s/.*://g")
_link=/usr/local/$(echo ${item} | sed "s/:.*//g")/${_target##*/}
if [ -L "${_link}" ]; then
if [ "$(readlink ${_link})" == "${SYNOPKG_PKGDEST}/${_target}" ]; then
echo "remove link: ${_link} -> ${SYNOPKG_PKGDEST}/${_target}"
rm -f "${_link}"
else
echo "skip remove link: ${_link} -> $(readlink ${_link})"
fi
else
echo "link to remove not found: ${_link}"
fi
done
}