blob: a06741818003ccd21cb9a293ddfe5f36d0815002 (
plain)
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
post_install() {
# Create ulog user if not exists
if ! getent passwd ulog &>/dev/null; then
useradd -r -s /sbin/nologin -d /nonexistent -c "ulog service account" ulog
fi
# Add to serial port groups (Arch: uucp, Debian: dialout)
for group in uucp dialout tty; do
getent group "$group" &>/dev/null && usermod -aG "$group" ulog
done
# Set config file permissions (root:ulog 0640)
chown root:ulog /etc/ulog.conf
chmod 0640 /etc/ulog.conf
# Set config directory permissions
chown root:ulog /etc/ulog.d
chmod 0750 /etc/ulog.d
# Generate initial config
/usr/bin/ulog-genconfig
udevadm control --reload-rules
systemctl daemon-reload
echo ""
echo "ulog installed."
echo "Enable with: systemctl enable --now ulog.service ulog-rollover.timer ulog-genconfig.path"
echo "Config: /etc/ulog.conf or /etc/ulog.d/*.conf (root:ulog 0640)"
echo ""
}
post_upgrade() {
# Ensure user exists and has correct groups
if ! getent passwd ulog &>/dev/null; then
useradd -r -s /sbin/nologin -d /nonexistent -c "ulog service account" ulog
fi
# Add to serial port groups (Arch: uucp, Debian: dialout)
for group in uucp dialout tty; do
getent group "$group" &>/dev/null && usermod -aG "$group" ulog
done
# Ensure config permissions
chown root:ulog /etc/ulog.conf
chmod 0640 /etc/ulog.conf
# Ensure config directory permissions
if [[ -d /etc/ulog.d ]]; then
chown root:ulog /etc/ulog.d
chmod 0750 /etc/ulog.d
fi
# Regenerate config
/usr/bin/ulog-genconfig
udevadm control --reload-rules
systemctl daemon-reload
}
pre_remove() {
systemctl stop ulog.service ulog-rollover.timer ulog-genconfig.path 2>/dev/null || true
systemctl disable ulog.service ulog-rollover.timer ulog-genconfig.path 2>/dev/null || true
}
post_remove() {
rm -f /etc/udev/rules.d/99-ulog.rules
rm -f /usr/lib/systemd/system/ulog.service
udevadm control --reload-rules
systemctl daemon-reload
echo "ulog removed. Log files preserved in /var/log/ulog/. User 'ulog' not removed."
}
|