cangjie-git

LOW
maintainer yms_hi 0 votes scanned 2026-08-27 09:33:21.393967
View on AUR
Why flagged

All sources are from official upstream repositories (atomgit.com/Cangjie, gitcode.com/Cangjie) and official Ubuntu archive mirrors (archive.ubuntu.com, ports.ubuntu.com) with pinned SHA256 checksums for the .deb files; the git sources have SKIP checksums which is normal for VCS sources. The vendored clang-15 toolchain is a legitimate workaround for an upstream build requirement, extracted and used only at build time. No obfuscation, exfiltration, or suspicious remote code execution patterns are present.

Triggered rules

Low Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

Low AI review downgraded a static finding llm_review

The static rules flagged this MEDIUM, but an AI model (anthropic/claude-sonnet-4.6) reviewed the full PKGBUILD and judged it LOW (confidence 80%): All sources are from official upstream repositories (atomgit.com/Cangjie, gitcode.com/Cangjie) and official Ubuntu archive mirrors (archive.ubuntu.com, ports.ubuntu.com) with pinned SHA256 checksums for the .deb files; the git sources have SKIP checksums which is normal for VCS sources. The vendored clang-15 toolchain is a legitimate workaround for an upstream build requirement, extracted and used only at build time. No obfuscation, exfiltration, or suspicious remote code execution patterns are present.

1 higher static finding superseded - not the current verdict (shown for transparency)
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:93 source=("cangjie_compiler::git+https://atomgit.com/Cangjie/cangjie_compiler.git#branch=main"

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: yms_hi <yms_hi@Outlook.com>
2#
3# Builds the Cangjie COMPILER SUITE from upstream main branches:
4# * cangjie_compiler: cjc frontend + bundled patched LLVM backend
5# * cangjie_runtime: native runtime libraries
6# * stdlib: standard library modules (bootstrapped with the cjc
7# built in step one, exactly like upstream's own guide)
8# Tools such as cjpm/cjfmt/lspserver/cjdb are deliberately NOT built
9# ("compiler only" scope, matching how the companion cangjie-lts-bin package
10# splits 'compiler' vs 'tools').
11#
12# NOTE ON CLANG 15
13# ----------------
14# Upstream mandates building with a clang >= 15.0.4 && < 16 as host compiler,
15# neither Arch nor AUR ships one, and llvm.org provides no prebuilt Linux
16# binaries for 15.x either. This PKGBUILD therefore vendors a self-contained
17# clang-15 toolchain at build time:
18# * Ubuntu Noble (LTS, supported until ~2029) pool .debs for clang-15 +
19# LLVM-15 utilities, extracted into $srcdir (URLs + SHA256 pinned below).
20# * Matching GCC-13 C++ headers/libs (libstdc++-13-dev/libgcc-13-dev),
21# because old clang cannot parse modern libstdc++ headers shipped by Arch.
22# * Wrappers exporting LD_LIBRARY_PATH, adding `-nostdinc++` + `-isystem`
23# GCC-13 include dirs and `-B` crt dir (-nostdinc++ also prevents the old
24# driver's auto-detected modern GCC C++ dirs from breaking `#include_next`
25# in libstdc++'s C-compat shims such as <cfenv>), so build.py picks them
26# up from PATH directly.
27# Only libedit comes from Arch repos (Debian sonames differ: shim provided).
28# Additional compatibility shims shipped in this package dir:
29# * incfix: termio_compat.h (-include injected; glibc>=2.42 dropped struct
30# termio which compiler-rt still sizes) + linux/scc.h overlay include dir
31# (uapi header dropped from Arch's linux-api-headers).
32# * cangjie-flatbuffers-buildtargets.patch: pin the upstream-pinned
33# flatbuffers fork build to flatc+flatbuffers targets so its broken
34# 'flattests' target never builds.
35#
36#
37# Requirements for building: disk ~10 GB in $srcdir, RAM >= 8 GiB recommended.
38
39# Ubuntu deb inventory (identical index order for both architectures):
40# clang-15 clang driver binaries/symlinks
41# libclang-common-15-dev real driver executables + builtin headers/resources
42# libclang-cpp15t64 libclang-cpp.so.15
43# libllvm15t64 libLLVM-15.so.1
44# llvm-15 llvm-ar/llvm-ranlib/... utilities (for CMAKE_AR)
45# linux-libc-dev userspace headers; supplies linux/scc.h (compiler-rt
46# needs it, Arch's uapi set no longer installs it)
47# libgcc-13-dev crtbegin*/libgcc statics for --gcc-style linking
48# libstdc++-13-dev C++17 headers compatible with clang-15
49
50_tc_base_llvmtoolchain="https://archive.ubuntu.com/ubuntu/pool/universe/l/llvm-toolchain-15"
51_tc_base_gcc13="https://archive.ubuntu.com/ubuntu/pool/main/g/gcc-13"
52_tc_ports_llvmtoolchain="https://ports.ubuntu.com/ubuntu-ports/pool/universe/l/llvm-toolchain-15"
53_tc_ports_gcc13="https://ports.ubuntu.com/ubuntu-ports/pool/main/g/gcc-13"
54
55_tc_sources_x86_64=(
56 "clang-15_15.0.7-14build3_amd64.deb::${_tc_base_llvmtoolchain}/clang-15_15.0.7-14build3_amd64.deb"
57 "libclang-common-15-dev_15.0.7-14build3_amd64.deb::${_tc_base_llvmtoolchain}/libclang-common-15-dev_15.0.7-14build3_amd64.deb"
58 "libclang-cpp15t64_15.0.7-14build3_amd64.deb::${_tc_base_llvmtoolchain}/libclang-cpp15t64_15.0.7-14build3_amd64.deb"
59 "libllvm15t64_15.0.7-14build3_amd64.deb::${_tc_base_llvmtoolchain}/libllvm15t64_15.0.7-14build3_amd64.deb"
60 "llvm-15_15.0.7-14build3_amd64.deb::${_tc_base_llvmtoolchain}/llvm-15_15.0.7-14build3_amd64.deb"
61 "linux-libc-dev_6.8.0-31.31_amd64.deb::https://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-libc-dev_6.8.0-31.31_amd64.deb"
62 "libgcc-13-dev_13.2.0-23ubuntu4_amd64.deb::${_tc_base_gcc13}/libgcc-13-dev_13.2.0-23ubuntu4_amd64.deb"
63 "libstdc++-13-dev_13.2.0-23ubuntu4_amd64.deb::${_tc_base_gcc13}/libstdc++-13-dev_13.2.0-23ubuntu4_amd64.deb"
64)
65
66_tc_sources_aarch64=(
67 "clang-15_15.0.7-14build3_arm64.deb::${_tc_ports_llvmtoolchain}/clang-15_15.0.7-14build3_arm64.deb"
68 "libclang-common-15-dev_15.0.7-14build3_arm64.deb::${_tc_ports_llvmtoolchain}/libclang-common-15-dev_15.0.7-14build3_arm64.deb"
69 "libclang-cpp15t64_15.0.7-14build3_arm64.deb::${_tc_ports_llvmtoolchain}/libclang-cpp15t64_15.0.7-14build3_arm64.deb"
70 "libllvm15t64_15.0.7-14build3_arm64.deb::${_tc_ports_llvmtoolchain}/libllvm15t64_15.0.7-14build3_arm64.deb"
71 "llvm-15_15.0.7-14build3_arm64.deb::${_tc_ports_llvmtoolchain}/llvm-15_15.0.7-14build3_arm64.deb"
72 "linux-libc-dev_6.8.0-31.31_arm64.deb::https://ports.ubuntu.com/ubuntu-ports/pool/main/l/linux/linux-libc-dev_6.8.0-31.31_arm64.deb"
73 "libgcc-13-dev_13.2.0-23ubuntu4_arm64.deb::${_tc_ports_gcc13}/libgcc-13-dev_13.2.0-23ubuntu4_arm64.deb"
74 "libstdc++-13-dev_13.2.0-23ubuntu4_arm64.deb::${_tc_ports_gcc13}/libstdc++-13-dev_13.2.0-23ubuntu4_arm64.deb"
75)
76
77_pkgver_fallback="1.3.0.alpha.02"
78
79pkgname=cangjie-git
80pkgver=1.3.0.alpha.02.r23.gc30fdb75c6
81pkgrel=1
82arch=('x86_64' 'aarch64')
83pkgdesc="Cangjie compiler built from main branch (frontend + bundled patched LLVM backend, compiler only)"
84url="https://cangjie-lang.cn/"
85license=('Apache-2.0')
86depends=('openssl' 'gcc-libs')
87makedepends=('git' 'python' 'cmake>=3.16.5' 'ninja' 'binutils' 'libedit')
88provides=('cangjie-compiler')
89conflicts=('cangjie-compiler')
90options=('!lto')
91
92# Only the .debs matching the building architecture are downloaded.
93source=("cangjie_compiler::git+https://atomgit.com/Cangjie/cangjie_compiler.git#branch=main"
94 "cangjie_runtime::git+https://atomgit.com/Cangjie/cangjie_runtime.git#branch=main")
95
96case "${CARCH}" in
97 x86_64)
98 source+=("${_tc_sources_x86_64[@]}"
99 'termio_compat.h'
100 'cangjie-flatbuffers-buildtargets.patch'
101 'cangjie-llvm-hosted.patch')
102 sha256sums=('SKIP'
103 'SKIP'
104 'd7c0987187f9c3d782019c25b46fd93917daade274ca1b3cadf4dcc464daf1da'
105 '59184ebbb1945cfd07fd839accf2723fa032879de4fab900a87c5e49ae20cfe0'
106 'f8d97bedcaefa5db1bf4b7ee2fb30fabc27b9cabd80c0fc3cd56811829023aaa'
107 'a486f3bdd974133edb049b5f3396f9e75cf7894b9e91008407bec9885a2f33d9'
108 '0e5a8a1fc3cf9b21a0b262d39d53dd411c72e5df400a54787cde53210591bf70'
109 '21c631ba4da3d38d92a133e28a8a14278e1e00174ed135a20661d1e532e05ca5'
110 'd36c9acb969dd37fdc0496120715d8bba67a5cc43a0c2569717314e6ad80020c'
111 '0e34b7a6ad0d9db6c718301a0c30a077590decbb31099d0fd6ac957222d77a94'
112 'a754ee61be70ae6f0ddd80cfb7d0650659ab159dc23494beb792af0a750810d0'
113 'b01e3b29f18e93dbb0d9beabfe0cc09c297778d4ff0980416f888b7ff6fc1ef7'
114 '0ff28621d39418d51a93de899f75ddc9f0d0507ad3f342ee49c1b731235fbe7d')
115 ;;
116 aarch64)
117 source+=("${_tc_sources_aarch64[@]}"
118 'termio_compat.h'
119 'cangjie-flatbuffers-buildtargets.patch'
120 'cangjie-llvm-hosted.patch')
121 sha256sums=('SKIP'
122 'SKIP'
123 '73c476da00aacd008c1ac4df085d7b9d8a2306aa2200902c66fe42a02313bac8'
124 '6c97dc7c9b909c5d96a0404053a981e87b1dfc50cb8015a87c085c160d4f95a4'
125 '7401c3dc40e417ad066319c823a1280f9a462717a0f990331349fc35d9cab5b5'
126 'be03535c7b350f0854777c673260ae945bb23d90e4e1991913d1da4966d96130'
127 '4784f954ded3f1188894f5da43d661bfa12c1bd1de18865f0d9f3e8634379ba0'
128 '7fd438efa44a794b438e7dde7ac280166fb8d4b1cf7846393ce019714d8bb3e3'
129 'f8faa5fee7174ec5fdd3eecbc27f38d530f7b500ad6763e2b57a9ac88622dc37'
130 '30707afa137c328dd99c76e752068f144b124b655f4ddc649d42931e48b1acd4'
131 'a754ee61be70ae6f0ddd80cfb7d0650659ab159dc23494beb792af0a750810d0'
132 'b01e3b29f18e93dbb0d9beabfe0cc09c297778d4ff0980416f888b7ff6fc1ef7'
133 '0ff28621d39418d51a93de899f75ddc9f0d0507ad3f342ee49c1b731235fbe7d')
134 ;;
135esac
136
137pkgver() {
138 cd "${srcdir}/cangjie_compiler" 2>/dev/null || {
139 printf '%s\n' "${_pkgver_fallback}"
140 return 0
141 }
142
143 local _desc
144 if ! _desc="$(git describe --long --tags --match='v*' 2>/dev/null)"; then
145 # no tag reachable: fall back to commit-count form
146 printf '%s.r%s.g%s\n' \
147 "${_pkgver_fallback}" \
148 "$(git rev-list --count HEAD)" \
149 "$(git rev-parse --short HEAD)"
150 return 0
151 fi
152
153 printf '%s\n' "${_desc}" |
154 sed -e 's/^v//' \
155 -e 's/-\([0-9]\{1,\}-g[a-f0-9]\{7,\}\)$/.r\1/' \
156 -e 's/-/./g'
157}
158
159prepare() {
160 local _ma _tgt_bin="${srcdir}/hosttoolchain/bin"
161
162 case "${CARCH}" in
163 x86_64) _ma="x86_64-linux-gnu";;
164 aarch64) _ma="aarch64-linux-gnu";;
165 *) return 1;;
166 esac
167
168 ## 1) Extract the vendored clang-15/GCC-13 toolchain from the debs.
169 msg2 "Extracting vendored clang-15 toolchain..."
170 mkdir -p "${_tgt_bin}" "${srcdir}/hosttoolchain/compat"
171 local _deb
172 for _deb in ./*.deb; do
173 bsdtar -xOf "${_deb}" data.tar.zst | bsdtar -C "${srcdir}/hosttoolchain" -xf -
174 done
175
176 # Debian ships soname libedit.so.2 while Arch provides libedit.so.0.
177 ln -sf /usr/lib/libedit.so.0 "${srcdir}/hosttoolchain/compat/libedit.so.2"
178
179 # linux/scc.h vanished from modern kernel uapi sets (Arch's linux-api-headers);
180 # compiler-rt's sanitizer tables still include it. Overlay include dir with
181 # that single header from the vendored linux-libc-dev + termio_compat.h
182 # (glibc >= 2.42 dropped struct termio; compiler-rt still sizes it).
183 mkdir -p "${srcdir}/hosttoolchain/incfix/linux"
184 install -m644 termio_compat.h "${srcdir}/hosttoolchain/incfix/termio_compat.h"
185 ln -sf "../../usr/include/linux/scc.h" \
186 "${srcdir}/hosttoolchain/incfix/linux/scc.h"
187
188 # Pin the pinned flatbuffers fork to the targets cangjie actually consumes;
189 # its flattests target ignores FLATBUFFERS_BUILD_TESTS=OFF.
190 patch -d "${srcdir}/cangjie_compiler" -Np1 -s \
191 < "${srcdir}/cangjie-flatbuffers-buildtargets.patch"
192
193 # glibc>=2.42 + -ffreestanding hides malloc/strtol declarations inside
194 # compiler-rt sanitizer builds; keep __STDC_HOSTED__=1 there.
195 # (Applied AFTER the patched-LLVM clone below.)
196
197 ## 2) Generate wrapper scripts; PATH ordering makes build.py pick them up.
198 msg2 "Generating clang-15 wrapper scripts..."
199 for _wname in clang clang++; do
200 if [ "${_wname}" = "clang" ]; then
201 # Plain-C / ASM entry point: no C++ standard-library injection here.
202 # (.S targets in LLVM would otherwise receive -include/-isystem C++ flags
203 # and fail inside the integrated assembler.)
204cat > "${_tgt_bin}/${_wname}" <<WRAPPER_EOF
205#!/bin/sh
206TCROOT="\${TCROOT:-${srcdir}/hosttoolchain}"
207export LD_LIBRARY_PATH="\$TCROOT/compat:\$TCROOT/usr/lib/${_ma}:\$TCROOT/usr/lib/llvm-15/lib\${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}"
208exec "\$TCROOT/usr/lib/llvm-15/bin/${_wname}" \\
209 -Wno-unused-command-line-argument \\
210 -B "\$TCROOT/usr/lib/gcc/${_ma}/13" \\
211 "\$@"
212WRAPPER_EOF
213 else
214cat > "${_tgt_bin}/${_wname}" <<WRAPPER_EOF
215#!/bin/sh
216TCROOT="\${TCROOT:-${srcdir}/hosttoolchain}"
217export LD_LIBRARY_PATH="\$TCROOT/compat:\$TCROOT/usr/lib/${_ma}:\$TCROOT/usr/lib/llvm-15/lib\${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}"
218exec "\$TCROOT/usr/lib/llvm-15/bin/${_wname}" \\
219 -nostdinc++ \\
220 -Wno-unused-command-line-argument \\
221 -isystem "\$TCROOT/incfix" \\
222 -isystem "\$TCROOT/usr/include/c++/13" \\
223 -isystem "\$TCROOT/usr/include/${_ma}/c++/13" \\
224 -isystem "\$TCROOT/usr/include/backward" \\
225 -B "\$TCROOT/usr/lib/gcc/${_ma}/13" \\
226 -include "\$TCROOT/incfix/termio_compat.h" \\
227 "\$@"
228WRAPPER_EOF
229 fi
230done
231 for _w in llvm-ar llvm-ranlib; do
232 cat > "${_tgt_bin}/${_w}" <<WRAPPER_EOF
233#!/bin/sh
234TCROOT="\${TCROOT:-${srcdir}/hosttoolchain}"
235export LD_LIBRARY_PATH="\$TCROOT/compat:\$TCROOT/usr/lib/${_ma}:\$TCROOT/usr/lib/llvm-15/lib\${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}"
236exec "\$TCROOT/usr/lib/llvm-15/bin/${_w}" "\$@"
237WRAPPER_EOF
238 done
239 chmod +x "${_tgt_bin}"/*
240
241 ## 3) Pre-fetch the patched-LLVM fork referenced by third_party/CMakeLists.txt
242 ## (cmake would otherwise clone it itself into the build dir).
243 msg2 "Fetching cangjie patched-LLVM fork..."
244 if [ ! -d "${srcdir}/cangjie_compiler/third_party/llvm-project" ]; then
245 git -C "${srcdir}/cangjie_compiler" \
246 clone --depth 1 --branch main \
247 https://gitcode.com/Cangjie/llvm-project.git \
248 third_party/llvm-project
249 fi
250
251 ## 4) Apply llvm-fork fixups (after the clone exists).
252 # Idempotent: skip when a previous run already patched these files
253 # (the nested llvm fork is untracked by makepkg's git checkout).
254 local _llvmdir="${srcdir}/cangjie_compiler/third_party/llvm-project"
255 if ! grep -qs '__STDC_HOSTED__=1' "${_llvmdir}/compiler-rt/lib/dfsan/CMakeLists.txt"; then
256 patch -d "${_llvmdir}" -Np1 -s \
257 < "${srcdir}/cangjie-llvm-hosted.patch"
258 fi
259}
260
261build() {
262 export PATH="${srcdir}/hosttoolchain/bin:${PATH}"
263 export TCROOT="${srcdir}/hosttoolchain"
264 # Neutralize makepkg-injected flags: sub-projects (demangler, flatbuffers,
265 # llvm...) inherit them via environment and upstream expects its own flag set.
266 unset CFLAGS CXXFLAGS CPPFLAGS LDFLAGS CMAKE_C_FLAGS CMAKE_CXX_FLAGS
267
268 local _jobs _ncpu
269 _ncpu="$(nproc)"
270 if [[ "${MAKEFLAGS}" =~ -j([0-9]+) ]]; then
271 _jobs="${BASH_REMATCH[1]}"
272 else
273 # linking LLVM is memory hungry; cap the default on big machines
274 _jobs=$(( _ncpu > 8 ? 8 : _ncpu ))
275 fi
276
277 # SDK version (cjc --version, runtime & stdlib alike) per policy:
278 # <last v* tag without leading v> + '+' + <8-hex head hash>
279 local _sdk_ver _ctag _chash _arch _rt_out
280 case "${CARCH}" in
281 x86_64) _arch="x86_64";;
282 aarch64) _arch="aarch64";;
283 esac
284
285 cd "${srcdir}/cangjie_compiler"
286
287 _ctag="$(git describe --tags --abbrev=0 --match='v*' 2>/dev/null || true)"
288 _chash="$(git rev-parse --short=8 HEAD)"
289 if [ -n "${_ctag}" ]; then
290 _sdk_ver="${_ctag#v}+${_chash}"
291 else
292 _sdk_ver="${_pkgver_fallback}+${_chash}"
293 fi
294 msg2 "SDK/cjc version: ${_sdk_ver}"
295
296 ## Stage A: compiler frontend + bundled patched LLVM backend.
297 python3 build.py build -t release \
298 --product cjc \
299 -v "${_sdk_ver}" \
300 --no-tests \
301 --jobs "${_jobs}"
302 python3 build.py install
303
304 ## Stage B: native runtime libraries.
305 cd "${srcdir}/cangjie_runtime/runtime"
306 python3 build.py build -t release -v "${_sdk_ver}"
307 python3 build.py install
308
309 ## Merge runtime outputs into the compiler tree BEFORE building stdlib,
310 ## exactly like upstream's SDK guide ("cp -R output/common/<...>/{lib,runtime}
311 ## cangjie_compiler/output/"): lib/runtime each carry an arch subdir which
312 ## lands at output/lib/linux_<arch>_cjnative/, output/runtime/lib/...
313 local _rt_out="${srcdir}/cangjie_runtime/runtime/output/common/linux_release_${_arch}"
314 mkdir -p "${srcdir}/cangjie_compiler/output/lib" \
315 "${srcdir}/cangjie_compiler/output/runtime/lib"
316 cp -aT "${_rt_out}/lib" "${srcdir}/cangjie_compiler/output/lib"
317 cp -aT "${_rt_out}/runtime" "${srcdir}/cangjie_compiler/output/runtime"
318
319
320 ## Stage C: standard library, bootstrapped with the cjc from stage A
321 ## (same sequence as upstream's SDK build guide).
322 local _rt_out="${srcdir}/cangjie_runtime/runtime/output/common/linux_release_${_arch}"
323 (
324 source "${srcdir}/cangjie_compiler/output/envsetup.sh"
325 cd "${srcdir}/cangjie_runtime/stdlib"
326 # Fresh configure: a previous attempt may have left a CMakeCache with
327 # different --target-lib values.
328 rm -rf build
329 python3 build.py build -t release \
330 --target-lib="${srcdir}/cangjie_runtime/runtime/output"
331 python3 build.py install
332 )
333
334 ## Final merge of stdlib output over the compiler tree (upstream:
335 ## "cp -R output/* cangjie_compiler/output/"). This becomes the SDK root.
336 cp -aT "${srcdir}/cangjie_runtime/stdlib/output/." "${srcdir}/cangjie_compiler/output/"
337}
338
339package() {
340 local _opt="${pkgdir}/opt/cangjie-git"
341
342 install -d "${_opt}" \
343 "${pkgdir}/usr/share/licenses/${pkgname}" \
344 "${pkgdir}/usr/share/doc/${pkgname}"
345
346 msg2 "Installing compiler suite output..."
347 cp -a "${srcdir}/cangjie_compiler/output/." "${_opt}/"
348
349 # Normalize permissions (keep exec bits via X).
350 find "${_opt}" -type d -exec chmod 755 {} +
351 find "${_opt}" -type f -exec chmod u+rwX,go+rX,go-w {} +
352
353 install -Dm644 "${srcdir}/cangjie_compiler/LICENSE" \
354 "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
355 install -Dm644 "${srcdir}/cangjie_runtime/LICENSE" \
356 "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE-runtime"
357 install -Dm644 "${srcdir}/cangjie_compiler/Open_Source_Software_Notice.docx" \
358 "${pkgdir}/usr/share/licenses/${pkgname}/Open_Source_Software_Notice.docx"
359 install -Dm644 "${srcdir}/cangjie_compiler/README.md" \
360 "${pkgdir}/usr/share/doc/${pkgname}/README.md"
361
362 echo "Usage: source /opt/cangjie-git/envsetup.sh && cjc -v" \
363 > "${pkgdir}/usr/share/doc/${pkgname}/USAGE"
364}
365
366# vim:set ts=2 sw=2 et:
367

Scan history

Scanned at (UTC)SeverityRules
2026-08-27 09:33:21 Low 3
2026-08-27 09:31:53 Medium 2

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion