aurgen
LOW
maintainer eserlxl
0 votes
scanned 2026-10-20 17:28:05.182546
Why flagged
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
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.
PKGBUILD
1
# Copyright © 2025 Eser KUBALI <eserlxl@gmail.com>
2
# SPDX-License-Identifier: GPL-3.0-or-later
3
#
4
# This file is part of aurgen and is licensed under
5
# the GNU General Public License v3.0 or later.
6
# See the LICENSE file in the project root for details.
7
8
# Maintainer: Eser KUBALI <eserlxl@gmail.com>
9
10
pkgname=aurgen
11
pkgver=1.9.2
12
pkgrel=1
13
pkgdesc='Generate, test and publish AUR packages for GitHub projects'
14
arch=('any')
15
url='https://github.com/eserlxl/aurgen'
16
license=('GPL-3.0-or-later')
17
validpgpkeys=('2B0541BF62E91D538C55739DF677BC1E3BD7246E')
18
depends=('curl' 'jq' 'util-linux' 'bash' 'coreutils' 'diffutils' 'findutils' 'gawk' 'git' 'gnupg' 'grep' 'gzip' 'make' 'pacman' 'pacman-contrib' 'sed' 'tar')
19
makedepends=()
20
optdepends=('github-cli: create GitHub releases and upload assets in aur mode' 'shellcheck: lint mode' 'namcap: PKGBUILD checks in test mode' 'bubblewrap: sandboxed make install for runtime dependency detection')
21
source=("https://github.com/eserlxl/aurgen/releases/download/v1.9.2/aurgen-1.9.2.tar.gz" "https://github.com/eserlxl/aurgen/releases/download/v1.9.2/aurgen-1.9.2.tar.gz.sig")
22
b2sums=('d82c8097a7458f5d88df00da5fde64f89c67fee0bac1bd2d90b114c2ca076313fba140997bfb45096a609e3e074b34e7dde2d644a60f319e4d3f2e03ff153b6c'
23
'SKIP')
24
25
build() {
26
# No build steps required
27
:
28
}
29
30
# Helper function to copy and rebase paths with optional exclusions
31
copy_tree() {
32
local src="$1" destbase="$2" mode="$3"
33
shift 3
34
[[ -d "$src" ]] || return 0
35
36
local abs_src
37
abs_src="$(realpath "$src" 2>/dev/null)" || return 0
38
39
# Patterns stay find arguments so install-YAML metacharacters are not executed.
40
local -a find_cmd=(find "$abs_src" -maxdepth 5 -type f)
41
local exclude
42
for exclude in "$@"; do
43
# Trim whitespace
44
exclude="${exclude#"${exclude%%[! ]*}"}"
45
exclude="${exclude%"${exclude##*[! ]}"}"
46
if [[ -n "$exclude" ]]; then
47
find_cmd+=(-not -path "$abs_src/$exclude/*")
48
fi
49
done
50
find_cmd+=(-print0)
51
52
mapfile -d '' -t files < <("${find_cmd[@]}") || return 0
53
54
for file in "${files[@]}"; do
55
local relpath
56
relpath="$(realpath --relative-to="$abs_src" "$file")"
57
install -Dm"$mode" "$file" "$pkgdir/$destbase/$relpath"
58
done
59
}
60
61
package() {
62
# Note: Tarball is created without subdirectory prefix, so no cd needed
63
# Install license file
64
for name in LICENSE LICENSE.txt COPYING; do
65
[[ -f "$name" ]] && install -Dm644 "$name" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" && break
66
done
67
68
# Copy sections based on configuration
69
copy_tree "bin" "usr/bin" "755"
70
copy_tree "lib" "usr/lib/$pkgname" "644"
71
copy_tree "etc" "etc/$pkgname" "644"
72
copy_tree "share" "usr/share/$pkgname" "644"
73
copy_tree "include" "usr/include/$pkgname" "644"
74
copy_tree "local" "usr/local/$pkgname" "644"
75
copy_tree "var" "var/$pkgname" "644"
76
copy_tree "opt" "opt/$pkgname" "644" '[]'
77
echo "$pkgver" > "$pkgdir/usr/lib/$pkgname/VERSION"
78
}
79
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-20 17:28:05 | Low | 1 |