epics-base
MEDIUM
maintainer craftingDragon7
0 votes
scanned 2026-09-22 09:37:47.929419
Why flagged
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
Triggered rules
Medium
source=() URL on a non-standard host
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:14
source=("https://epics-controls.org/download/base/base-${pkgver}.tar.gz"{,.asc}
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Julian Houba <info at craftingdragon dot ch>
2
# Contributor: Grey Christoforo <first name at last name dot net>
3
# Contributor: Rafael Silva <perigoso at riseup dot net>
4
5
pkgname='epics-base'
6
pkgver=7.0.10
7
pkgrel=2
8
pkgdesc="Experimental Physics and Industrial Control System"
9
arch=('x86_64')
10
url="https://epics-controls.org"
11
license=('LicenseRef-EPICS-Open-License')
12
groups=('epics')
13
depends=('readline' 'ncurses' 'perl')
14
source=("https://epics-controls.org/download/base/base-${pkgver}.tar.gz"{,.asc}
15
'01_install_permissions.patch'
16
'02_no_rpath.patch'
17
)
18
sha512sums=('94b238ff014feb5c8550659b13891699b181454bbf784bb365e366aebd2c840e59a31d97a854f2e32027fbd7bfc10377935225440198dc0930535721b73244ed'
19
'SKIP'
20
'8d8ea744e1bd011c0a01c645a37cd29c420830389ce340820975ea798c6138ce28d7d5e066fe503025fb353a2e19c1a33169a3d5777414e60b42eb5b3874091a'
21
'394b023fe3003e61701c8c31d44c17281297a3b67f3bbe604e9191f38267986c34b06fe24eae5e778a29b466b022bdce5d4d0f4061da9c91a44467f1e0d266a3')
22
validpgpkeys=('4B688BF5CAF9452CBD5BE86FD306120EEACB4576') # Andrew Johnson (Argonne)
23
24
prepare() {
25
cd "base-${pkgver}"
26
27
# apply patches
28
patch --forward --strip=1 --input="${srcdir}/01_install_permissions.patch"
29
patch --forward --strip=1 --input="${srcdir}/02_no_rpath.patch"
30
31
# install files to staging area
32
echo "INSTALL_LOCATION=${srcdir}/staging/usr/lib/epics" >'configure/CONFIG_SITE.local'
33
34
# final install location
35
echo 'FINAL_LOCATION=/usr/lib/epics' >>'configure/CONFIG_SITE.local'
36
37
# get the EPICS_HOST_ARCH and write it to a file
38
echo $(perl -CSD src/tools/EpicsHostArch.pl) >"${srcdir}/EPICS_HOST_ARCH"
39
}
40
41
build() {
42
cd "base-${pkgver}"
43
44
# get the EPICS_HOST_ARCH and set it as an environment variable
45
export EPICS_HOST_ARCH=$(cat "${srcdir}/EPICS_HOST_ARCH")
46
47
# export the library path for the linker at build time
48
export LD_LIBRARY_PATH="${srcdir}/staging/usr/lib/epics/lib/${EPICS_HOST_ARCH}"
49
50
# export perl library path for build time resolution
51
# export PERL5LIB="${srcdir}/staging/usr/lib/epics/lib/perl"
52
53
# build and install to staging area, "-s" for silent build
54
make -s
55
}
56
57
package() {
58
cd "staging/usr/lib/epics"
59
60
# everything is installed relative to EPICS_BASE and linked to the system paths
61
# because a lot of the EPICS tools and epics modules expect the files to be in these locations
62
63
# get the EPICS_HOST_ARCH and set it as an local variable
64
local EPICS_HOST_ARCH=$(cat "${srcdir}/EPICS_HOST_ARCH")
65
local EPICS_BASE="${pkgdir}/usr/lib/epics"
66
67
# install library files and link them to the system library path
68
install -dm755 "${EPICS_BASE}/lib/${EPICS_HOST_ARCH}"
69
cp -P "lib/${EPICS_HOST_ARCH}"/*.so* "${EPICS_BASE}/lib/${EPICS_HOST_ARCH}"
70
for lib in "${EPICS_BASE}/lib/${EPICS_HOST_ARCH}"/*.so*; do
71
ln -sr "${lib}" "${pkgdir}/usr/lib/"
72
done
73
74
# install perl modules and link them to the system perl path
75
cp -r lib/perl "${EPICS_BASE}/lib"
76
local PERL_VERSION=$(perl -V:version | perl -pe '($_)=/([0-9]+([.][0-9]+)?)/')
77
install -dm755 "${pkgdir}/usr/lib/perl5/${PERL_VERSION}/vendor_perl" "${pkgdir}/usr/share/perl5/vendor_perl"
78
for module in DBD EPICS CA.pm DBD.pm; do
79
ln -sr "${EPICS_BASE}/lib/perl/${module}" "${pkgdir}/usr/share/perl5/vendor_perl"
80
done
81
for lib in $(find "${EPICS_BASE}/lib/perl" -name '*.so'); do
82
ln -sr "${lib}" "${pkgdir}/usr/lib/perl5/${PERL_VERSION}/vendor_perl"
83
done
84
85
# Install bin files and link the public EPICS commands to the system path.
86
install -dm755 "${EPICS_BASE}/bin/${EPICS_HOST_ARCH}" "${pkgdir}/usr/bin"
87
cp -P "bin/${EPICS_HOST_ARCH}"/* "${EPICS_BASE}/bin/${EPICS_HOST_ARCH}"
88
for bin in \
89
caConnTest caEventRate caRepeater caget cainfo camonitor caput casw catime \
90
pvcall pvget pvinfo pvlist pvmonitor pvput \
91
iocLogServer makeBpt msi softIoc softIocPVA; do
92
ln -sr "${EPICS_BASE}/bin/${EPICS_HOST_ARCH}/${bin}" "${pkgdir}/usr/bin"
93
done
94
95
# install include files and link them to the system include path
96
install -dm755 "${pkgdir}/usr/include/epics"
97
cp -r include "${EPICS_BASE}"
98
ln -sr -t "${pkgdir}/usr/include/epics" "${EPICS_BASE}/include"
99
100
# cfg, configure, db, dbd are installe to EPICS_BASE and don't have appropriate system locations
101
install -dm755 "${pkgdir}/usr/share/epics"
102
cp -rt "${EPICS_BASE}" cfg configure db dbd templates
103
for dir in db dbd templates; do
104
ln -sr "${EPICS_BASE}/${dir}" "${pkgdir}/usr/share/epics"
105
done
106
107
# install pkgconfig files to the system path
108
install -Dm644 -t "${pkgdir}/usr/lib/pkgconfig" lib/pkgconfig/epics-base{,"-${EPICS_HOST_ARCH}"}.pc
109
110
# install docs
111
install -dm755 "${pkgdir}/usr/share/doc/epics"
112
cp -r html "${pkgdir}/usr/share/doc/epics"
113
114
# install LICENSE file
115
install -Dm644 "${srcdir}/base-${pkgver}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
116
117
# install a env file to set the EPICS_HOST_ARCH and EPICS_BASE
118
printf '# Entries in this file set the host environment for EPICS\nEPICS_HOST_ARCH="%s"\nEPICS_BASE="/usr/lib/epics"\n' \
119
"${EPICS_HOST_ARCH}" |
120
install -Dm644 /dev/stdin "${pkgdir}/usr/lib/environment.d/10-epics-base.conf"
121
122
# Patch epics config_site local install location to current folder (.)
123
sed -i "s|${srcdir}/staging/usr/lib/epics|./usr/lib/epics|g" "${pkgdir}/usr/lib/epics/configure/CONFIG_SITE.local"
124
125
# TODO: makepkg complains the package contains references to $srcdir
126
}
127
Changes since previous scan
--- PKGBUILD @ 2026-06-19 23:51+++ PKGBUILD @ 2026-09-22 09:37@@ -4,7 +4,7 @@ pkgname='epics-base' pkgver=7.0.10-pkgrel=1+pkgrel=2 pkgdesc="Experimental Physics and Industrial Control System" arch=('x86_64') url="https://epics-controls.org"@@ -82,14 +82,13 @@ ln -sr "${lib}" "${pkgdir}/usr/lib/perl5/${PERL_VERSION}/vendor_perl" done - # install bin files and link non internal binaries to system path+ # Install bin files and link the public EPICS commands to the system path. install -dm755 "${EPICS_BASE}/bin/${EPICS_HOST_ARCH}" "${pkgdir}/usr/bin" cp -P "bin/${EPICS_HOST_ARCH}"/* "${EPICS_BASE}/bin/${EPICS_HOST_ARCH}"- for bin in caget caput cainfo camonitor caRepeater casw pvget pvinfo pvlist pvput caEventRate; do- ln -sr "${EPICS_BASE}/bin/${EPICS_HOST_ARCH}/${bin}" "${pkgdir}/usr/bin"- done-- for bin in softIoc softIocPVA; do+ for bin in \+ caConnTest caEventRate caRepeater caget cainfo camonitor caput casw catime \+ pvcall pvget pvinfo pvlist pvmonitor pvput \+ iocLogServer makeBpt msi softIoc softIocPVA; do ln -sr "${EPICS_BASE}/bin/${EPICS_HOST_ARCH}/${bin}" "${pkgdir}/usr/bin" done Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-22 09:37:47 | Medium | 1 |
| 2026-06-19 23:51:18 | Clean | 2 |
| 2026-06-19 22:34:54 | Medium | 1 |