cinnamon-aliveos
maintainer twilight0
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package repackages an official Arch Linux cinnamon package with custom patches and replacements, but does not introduce untrusted remote code execution or malicious payloads; the main risks are from SKIP'd checksums on local scripts and deviation from upstream, which are low-severity for an AUR package.
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
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 95%): The package repackages an official Arch Linux cinnamon package with custom patches and replacements, but does not introduce untrusted remote code execution or malicious payloads; the main risks are from SKIP'd checksums on local scripts and deviation from upstream, which are low-severity for an AUR package.
PKGBUILD
1
# Maintainer: Twilight0 <twilight0@vivaldi.net>
2
3
pkgname=cinnamon-aliveos
4
pkgver=6.6.9
5
pkgrel=1
6
pkgdesc="Cinnamon desktop environment for AliveOS (without Nemo, with Dory integration and custom enhancements)"
7
arch=('x86_64')
8
url="https://github.com/linuxmint/cinnamon"
9
license=('GPL-2.0-or-later')
10
depends=('accountsservice' 'at-spi2-core' 'bash' 'cairo' 'cinnamon-control-center'
11
'cinnamon-desktop' 'cinnamon-menus' 'cinnamon-screensaver' 'cinnamon-session'
12
'cinnamon-settings-daemon' 'cinnamon-translations' 'cjs' 'dconf'
13
'evolution-data-server' 'gcr' 'gdk-pixbuf2' 'glib2' 'glibc'
14
'gnome-backgrounds' 'gnome-themes-extra' 'gsound' 'gstreamer' 'gtk3'
15
'hicolor-icon-theme' 'libgcc' 'libgirepository' 'libglvnd' 'libibus'
16
'libical' 'libkeybinder3' 'libnm' 'libnotify' 'libsecret' 'libx11'
17
'libxfixes' 'libxml2' 'mate-polkit' 'muffin' 'network-manager-applet' 'pango'
18
'papirus-icon-theme' 'polkit' 'python' 'python-cairo' 'python-gobject'
19
'python-pam' 'python-pexpect' 'python-pillow' 'python-psutil'
20
'python-pyinotify' 'python-pytz' 'python-requests' 'python-setproctitle'
21
'python-tinycss2' 'python-xapp' 'sound-theme-freedesktop' 'timezonemap'
22
'upower' 'xapp' 'xdg-desktop-portal-xapp')
23
makedepends=()
24
optdepends=('blueman: Bluetooth support'
25
'cinnamon-translations: i1n'
26
'gnome-terminal: X terminal emulator'
27
'gnome-panel: fallback mode'
28
'ibus: input method support'
29
'metacity: fallback mode'
30
'switcheroo-control: GPU offloading'
31
'system-config-printer: printer settings'
32
'touchegg: touch gestures'
33
'wget: cover download support in audio applet')
34
conflicts=('cinnamon' 'nemo' 'cinnamon-no-nemo')
35
provides=("cinnamon=$pkgver")
36
replaces=('cinnamon-no-nemo')
37
backup=('etc/xdg/cinnamon-session/sessions/cinnamon.session')
38
source=("cinnamon-$pkgver-$pkgrel-x86_64.pkg.tar.zst::https://archlinux.org/packages/extra/x86_64/cinnamon/download"
39
'cinnamon.session'
40
'gwl-grouping-heuristics.patch'
41
'inline-reply-notifications.patch'
42
'zenity-session-quit.py'
43
'zenity-run-dialog.py')
44
sha256sums=('5f09a128f937eff0edd78047eddeae911de1b216c49640e55338a21570c97224'
45
'1b46a3e8720269ba2c5abf3604835a7aff527abbb1bb401121f8626f74427255'
46
'f89390f4af9e81219e6e0fa88d61044053dab66b42d53a4748b5d5d82009573a'
47
'a71adbacde83112333df881cc839299df51ca18b9507b95df0430a39cb0f449e'
48
'SKIP'
49
'SKIP')
50
51
# Disable strip and debug to speed up repackaging
52
options=('!strip' '!debug' 'emptydirs')
53
54
prepare() {
55
# Extract the official package
56
mkdir -p extracted
57
cd extracted
58
tar -xf "$srcdir/cinnamon-$pkgver-$pkgrel-x86_64.pkg.tar.zst"
59
60
# Apply custom PR patches
61
patch -Np1 -i "$srcdir/gwl-grouping-heuristics.patch"
62
patch -Np1 -i "$srcdir/inline-reply-notifications.patch"
63
}
64
65
package() {
66
# Copy extracted files
67
cp -a extracted/* "$pkgdir/"
68
69
# Replace cinnamon.session with dory version
70
install -Dm644 "$srcdir/cinnamon.session" \
71
"$pkgdir/etc/xdg/cinnamon-session/sessions/cinnamon.session"
72
73
# Also install to usr/share as fallback
74
if [ -d "$pkgdir/usr/share/cinnamon-session/sessions" ]; then
75
install -Dm644 "$srcdir/cinnamon.session" \
76
"$pkgdir/usr/share/cinnamon-session/sessions/cinnamon.session"
77
fi
78
79
# Remove nemo-related files if any exist
80
rm -f "$pkgdir/usr/share/applications/nemo.desktop" 2>/dev/null || true
81
rm -f "$pkgdir/usr/share/applications/nemo-autostart.desktop" 2>/dev/null || true
82
rm -f "$pkgdir/usr/share/applications/nemo-autorun-software.desktop" 2>/dev/null || true
83
rm -f "$pkgdir/etc/xdg/autostart/nemo-autostart.desktop" 2>/dev/null || true
84
85
# Disable GTK portal usage - use native file chooser (Dory) instead
86
install -Dm644 /dev/stdin "$pkgdir/etc/profile.d/gtk-no-portal.sh" << 'EOF'
87
export GTK_USE_PORTAL=0
88
EOF
89
90
# Patch cs_actions.py to use Dory layout editor instead of Nemo
91
sed -i \
92
-e 's|nemo-action-layout-editor|dory-action-layout-editor|' \
93
-e 's|nemo/layout-editor|dory/layout-editor|' \
94
-e 's|nemo_action_layout_editor|dory_action_layout_editor|' \
95
-e 's|NemoActionsOrganizer|DoryActionsOrganizer|' \
96
-e 's|\.local/share/nemo/actions|.local/share/dory/actions|' \
97
"$pkgdir/usr/share/cinnamon/cinnamon-settings/modules/cs_actions.py"
98
99
# Override session quit dialog with GTK3 Zenity dialog
100
install -Dm755 "$srcdir/zenity-session-quit.py" \
101
"$pkgdir/usr/share/cinnamon-session/cinnamon-session-quit.py"
102
install -Dm755 "$srcdir/zenity-session-quit.py" \
103
"$pkgdir/usr/bin/cinnamon-session-quit"
104
105
# Override run dialog with GTK3 Zenity run dialog
106
install -Dm755 "$srcdir/zenity-run-dialog.py" \
107
"$pkgdir/usr/bin/zenity-run-dialog.py"
108
109
# Patch main.js to route Alt+F2 runDialog, ShowEndSessionDialog, Polkit authentication, NetworkManager secrets, and Keyring prompts to GTK3 helpers
110
if [ -f "$pkgdir/usr/share/cinnamon/js/ui/main.js" ]; then
111
sed -i \
112
-e 's|runDialog = new RunDialog.RunDialog();|runDialog = { open: function() { Util.spawnCommandLine("/usr/bin/zenity-run-dialog.py"); return true; }, close: function() {}, destroy: function() {} };|' \
113
-e 's|function showEndSessionDialog(mode) {|function showEndSessionDialog(mode) { Util.spawnCommandLine("/usr/bin/cinnamon-session-quit"); return;|' \
114
-e 's|PolkitAuthenticationAgent.init();|// PolkitAuthenticationAgent.init();|' \
115
-e 's|networkAgent = new NetworkAgent.NetworkAgent();|// networkAgent = new NetworkAgent.NetworkAgent();|' \
116
-e 's|KeyringPrompt.init();|// KeyringPrompt.init();|' \
117
"$pkgdir/usr/share/cinnamon/js/ui/main.js"
118
fi
119
120
121
}
122
Changes since previous scan
--- PKGBUILD @ 2026-07-31 00:14+++ PKGBUILD @ 2026-08-03 00:08@@ -14,7 +14,7 @@ 'gnome-backgrounds' 'gnome-themes-extra' 'gsound' 'gstreamer' 'gtk3' 'hicolor-icon-theme' 'libgcc' 'libgirepository' 'libglvnd' 'libibus' 'libical' 'libkeybinder3' 'libnm' 'libnotify' 'libsecret' 'libx11'- 'libxfixes' 'libxml2' 'muffin' 'network-manager-applet' 'pango'+ 'libxfixes' 'libxml2' 'mate-polkit' 'muffin' 'network-manager-applet' 'pango' 'papirus-icon-theme' 'polkit' 'python' 'python-cairo' 'python-gobject' 'python-pam' 'python-pexpect' 'python-pillow' 'python-psutil' 'python-pyinotify' 'python-pytz' 'python-requests' 'python-setproctitle'@@ -38,11 +38,15 @@ source=("cinnamon-$pkgver-$pkgrel-x86_64.pkg.tar.zst::https://archlinux.org/packages/extra/x86_64/cinnamon/download" 'cinnamon.session' 'gwl-grouping-heuristics.patch'- 'inline-reply-notifications.patch')+ 'inline-reply-notifications.patch'+ 'zenity-session-quit.py'+ 'zenity-run-dialog.py') sha256sums=('5f09a128f937eff0edd78047eddeae911de1b216c49640e55338a21570c97224' '1b46a3e8720269ba2c5abf3604835a7aff527abbb1bb401121f8626f74427255' 'f89390f4af9e81219e6e0fa88d61044053dab66b42d53a4748b5d5d82009573a'- 'a71adbacde83112333df881cc839299df51ca18b9507b95df0430a39cb0f449e')+ 'a71adbacde83112333df881cc839299df51ca18b9507b95df0430a39cb0f449e'+ 'SKIP'+ 'SKIP') # Disable strip and debug to speed up repackaging options=('!strip' '!debug' 'emptydirs')@@ -91,5 +95,28 @@ -e 's|NemoActionsOrganizer|DoryActionsOrganizer|' \ -e 's|\.local/share/nemo/actions|.local/share/dory/actions|' \ "$pkgdir/usr/share/cinnamon/cinnamon-settings/modules/cs_actions.py"++ # Override session quit dialog with GTK3 Zenity dialog+ install -Dm755 "$srcdir/zenity-session-quit.py" \+ "$pkgdir/usr/share/cinnamon-session/cinnamon-session-quit.py"+ install -Dm755 "$srcdir/zenity-session-quit.py" \+ "$pkgdir/usr/bin/cinnamon-session-quit"++ # Override run dialog with GTK3 Zenity run dialog+ install -Dm755 "$srcdir/zenity-run-dialog.py" \+ "$pkgdir/usr/bin/zenity-run-dialog.py"++ # Patch main.js to route Alt+F2 runDialog, ShowEndSessionDialog, Polkit authentication, NetworkManager secrets, and Keyring prompts to GTK3 helpers+ if [ -f "$pkgdir/usr/share/cinnamon/js/ui/main.js" ]; then+ sed -i \+ -e 's|runDialog = new RunDialog.RunDialog();|runDialog = { open: function() { Util.spawnCommandLine("/usr/bin/zenity-run-dialog.py"); return true; }, close: function() {}, destroy: function() {} };|' \+ -e 's|function showEndSessionDialog(mode) {|function showEndSessionDialog(mode) { Util.spawnCommandLine("/usr/bin/cinnamon-session-quit"); return;|' \+ -e 's|PolkitAuthenticationAgent.init();|// PolkitAuthenticationAgent.init();|' \+ -e 's|networkAgent = new NetworkAgent.NetworkAgent();|// networkAgent = new NetworkAgent.NetworkAgent();|' \+ -e 's|KeyringPrompt.init();|// KeyringPrompt.init();|' \+ "$pkgdir/usr/share/cinnamon/js/ui/main.js"+ fi++ } Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 21:18:45 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 15:12:02 | LOW | 2 |