lightxdm
LOW
maintainer eserlxl
0 votes
scanned 2026-11-06 08:11:27.004022
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 © 2026 Eser KUBALI <eserlxl@gmail.com>
2
# SPDX-License-Identifier: GPL-3.0-or-later
3
#
4
# This file is part of lightxdm 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=lightxdm
11
pkgver=1.0.0
12
pkgrel=2
13
pkgdesc='Display-manager-free TTY1 login: your desktop starts and its keyring unlocks'
14
arch=('any')
15
url='https://github.com/eserlxl/lightXDM'
16
license=('GPL-3.0-or-later')
17
validpgpkeys=('2B0541BF62E91D538C55739DF677BC1E3BD7246E')
18
depends=('bash' 'sudo' 'gnupg' 'grep')
19
install='lightxdm.install'
20
source=("https://github.com/eserlxl/lightXDM/releases/download/v1.0.0/lightxdm-1.0.0.tar.gz" "https://github.com/eserlxl/lightXDM/releases/download/v1.0.0/lightxdm-1.0.0.tar.gz.sig")
21
b2sums=('326a83c22748687a637c98cc74bb741b0d645f5078e1b9abaa14d6309f0d8379d7d90d934a23cc4f3308b21ca11de8aa85fb166adc13eb76d4fd9c2834e45b71'
22
'SKIP')
23
24
build() {
25
# No build steps required
26
:
27
}
28
29
# Helper function to copy and rebase paths with optional exclusions
30
copy_tree() {
31
local src="$1" destbase="$2" mode="$3"
32
shift 3
33
[[ -d "$src" ]] || return 0
34
35
local abs_src
36
abs_src="$(realpath "$src" 2>/dev/null)" || return 0
37
38
# Patterns stay find arguments so install-YAML metacharacters are not executed.
39
local -a find_cmd=(find "$abs_src" \( -type f -o -type l \))
40
local exclude
41
for exclude in "$@"; do
42
# Trim whitespace
43
exclude="${exclude#"${exclude%%[! ]*}"}"
44
exclude="${exclude%"${exclude##*[! ]}"}"
45
if [[ -n "$exclude" ]]; then
46
find_cmd+=(-not -path "$abs_src/$exclude/*")
47
fi
48
done
49
find_cmd+=(-print0)
50
51
mapfile -d '' -t files < <("${find_cmd[@]}") || return 0
52
53
for file in "${files[@]}"; do
54
local relpath
55
relpath="$(realpath -s --relative-to="$abs_src" "$file")"
56
if [[ -L "$file" ]]; then
57
mkdir -p "$(dirname "$pkgdir/$destbase/$relpath")"
58
ln -s "$(readlink "$file")" "$pkgdir/$destbase/$relpath"
59
else
60
install -Dm"$mode" "$file" "$pkgdir/$destbase/$relpath"
61
fi
62
done
63
}
64
65
package() {
66
# Note: Tarball is created without subdirectory prefix, so no cd needed
67
# Install license file
68
for name in LICENSE LICENSE.txt LICENSE.md LICENCE COPYING COPYING.md; do
69
[[ -f "$name" ]] && install -Dm644 "$name" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" && break
70
done
71
72
# Copy sections based on configuration
73
copy_tree "bin" "usr/bin" "755"
74
copy_tree "dotfiles" "usr/share/$pkgname/dotfiles" "644"
75
copy_tree "pam" "usr/share/$pkgname/pam" "644"
76
copy_tree "docs" "usr/share/doc/$pkgname" "644"
77
install -Dm644 -t "$pkgdir/usr/share/$pkgname" install.sh uninstall.sh enable-autologin.sh
78
install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname" README.md
79
}
80
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-06 08:11:27 | Low | 1 |