summaryrefslogtreecommitdiff
path: root/raveos-updater
diff options
context:
space:
mode:
authorNippy <nippy@Nippy-Mac-mini.local>2026-11-01 18:39:32 +0100
committerNippy <nippy@Nippy-Mac-mini.local>2026-11-01 18:39:32 +0100
commit4022c43f6790dfc009c5559a9693c87231a59817 (patch)
treefbec78fb4ea26bb7ee013613a67ce845fe24e42c /raveos-updater
parentd495fd2de972641747991aeee247a532891e3211 (diff)
downloadRaveOS-PKGBUILD-4022c43f6790dfc009c5559a9693c87231a59817.tar.gz
RaveOS-PKGBUILD-4022c43f6790dfc009c5559a9693c87231a59817.zip
tools fix, updater törlésHEADmain
Diffstat (limited to 'raveos-updater')
-rw-r--r--raveos-updater/PKGBUILD28
-rw-r--r--raveos-updater/check.py83
-rw-r--r--raveos-updater/raveos-updater162
-rw-r--r--raveos-updater/raveos-updater.desktop12
-rw-r--r--raveos-updater/raveos-updater.hook11
-rw-r--r--raveos-updater/raveos-updater.install20
-rw-r--r--raveos-updater/raveos-updater.service6
-rw-r--r--raveos-updater/raveos-updater.timer10
8 files changed, 0 insertions, 332 deletions
diff --git a/raveos-updater/PKGBUILD b/raveos-updater/PKGBUILD
deleted file mode 100644
index 7c795c1..0000000
--- a/raveos-updater/PKGBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Maintainer: nippy <nippy@tuta.io>
-
-pkgname=raveos-updater
-pkgver=1.0.0
-pkgrel=3
-pkgdesc="RaveOS update checker background service and tray indicator"
-arch=('any')
-url="https://git.rp1.hu/RaveOS"
-license=('GPL')
-depends=('python' 'python-pyqt6' 'pacman')
-install="${pkgname}.install"
-source=()
-sha256sums=()
-
-package() {
- install -Dm755 "${startdir}/check.py" \
- "${pkgdir}/usr/lib/raveos-updater/check.py"
- install -Dm755 "${startdir}/raveos-updater" \
- "${pkgdir}/usr/bin/raveos-updater"
- install -Dm644 "${startdir}/raveos-updater.service" \
- "${pkgdir}/usr/lib/systemd/system/raveos-updater.service"
- install -Dm644 "${startdir}/raveos-updater.timer" \
- "${pkgdir}/usr/lib/systemd/system/raveos-updater.timer"
- install -Dm644 "${startdir}/raveos-updater.hook" \
- "${pkgdir}/usr/share/libalpm/hooks/raveos-updater.hook"
- install -Dm644 "${startdir}/raveos-updater.desktop" \
- "${pkgdir}/etc/xdg/autostart/raveos-updater.desktop"
-}
diff --git a/raveos-updater/check.py b/raveos-updater/check.py
deleted file mode 100644
index 79a0ba3..0000000
--- a/raveos-updater/check.py
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/usr/bin/env python3
-"""RaveOS frissítés-ellenőrző.
-
-A raveos-core-repo szinkron adatbázisából kiolvassa a RaveOS saját
-csomagjainak legfrissebb verzióját, összeveti a telepített verziókkal,
-és a /var/lib/raveos-updater/status.json fájlba írja az eredményt.
-
-Használat:
- check.py # pacman -Sy után ellenőriz (root; a systemd timer hívja)
- check.py --no-sync # nem szinkronizál, a meglévő DB-t használja (pacman hook)
-"""
-
-import json
-import os
-import subprocess
-import sys
-from datetime import datetime
-
-REPO = "raveos-core-repo"
-STATUS_DIR = "/var/lib/raveos-updater"
-STATUS_FILE = os.path.join(STATUS_DIR, "status.json")
-
-
-def run(args):
- return subprocess.run(args, capture_output=True, text=True)
-
-
-def main():
- sync = "--no-sync" not in sys.argv[1:]
- error = None
-
- if sync:
- r = run(["pacman", "-Sy", "--noconfirm"])
- if r.returncode != 0:
- error = "sync failed"
-
- installed = {}
- repo = {}
-
- try:
- for line in run(["pacman", "-Q"]).stdout.splitlines():
- name, _, version = line.partition(" ")
- if version:
- installed[name] = version
-
- for line in run(["pacman", "-Sl", REPO]).stdout.splitlines():
- parts = line.split()
- if len(parts) >= 3:
- repo[parts[1]] = parts[2]
- except FileNotFoundError:
- error = "pacman not found"
-
- updates = []
- for name, newver in sorted(repo.items()):
- oldver = installed.get(name)
- if oldver is None:
- continue
- r = run(["vercmp", newver, oldver])
- try:
- newer = int(r.stdout.strip()) > 0
- except (ValueError, AttributeError):
- continue
- if newer:
- updates.append({"name": name, "old": oldver, "new": newver})
-
- status = {
- "count": len(updates),
- "checked": datetime.now().astimezone().isoformat(timespec="seconds"),
- "updates": updates,
- }
- if error:
- status["error"] = error
-
- os.makedirs(STATUS_DIR, exist_ok=True)
- tmp = STATUS_FILE + ".tmp"
- with open(tmp, "w", encoding="utf-8") as f:
- json.dump(status, f, ensure_ascii=False, indent=2)
- os.replace(tmp, STATUS_FILE)
- os.chmod(STATUS_FILE, 0o644)
-
-
-if __name__ == "__main__":
- main()
diff --git a/raveos-updater/raveos-updater b/raveos-updater/raveos-updater
deleted file mode 100644
index ebbb8e3..0000000
--- a/raveos-updater/raveos-updater
+++ /dev/null
@@ -1,162 +0,0 @@
-#!/usr/bin/env python3
-"""RaveOS Update Indicator - tálca-jelző.
-
-Önálló (DE-független) tálca-alkalmazás. A /var/lib/raveos-updater/status.json
-fájlt olvassa, amit a háttérszolgáltatás (check.py + systemd timer) állít elő.
-A jobb felső tálcán egy ikon mutatja, ha van elérhető RaveOS frissítés.
-
-Első verzió: GNOME (Qt6 SNI tálca az AppIndicator kiegészítővel).
-Később Plasma/Hyprland/COSMIC is ugyanezt a status.json-t használja.
-"""
-
-import json
-import os
-import shlex
-import shutil
-import subprocess
-import sys
-
-from PyQt6.QtCore import Qt, QTimer
-from PyQt6.QtGui import QAction, QBrush, QColor, QFont, QIcon, QPainter, QPen, QPixmap
-from PyQt6.QtWidgets import QApplication, QMenu, QSystemTrayIcon
-
-STATUS_FILE = "/var/lib/raveos-updater/status.json"
-CHECK_CMD = "/usr/lib/raveos-updater/check.py"
-APP_NAME = "RaveOS Update Indicator"
-
-
-def read_status():
- try:
- with open(STATUS_FILE, encoding="utf-8") as f:
- return json.load(f)
- except Exception:
- return None
-
-
-def make_icon(count):
- pm = QPixmap(64, 64)
- pm.fill(Qt.GlobalColor.transparent)
- p = QPainter(pm)
- p.setRenderHint(QPainter.RenderHint.Antialiasing)
-
- if count:
- p.setBrush(QBrush(QColor("#23e06b")))
- p.setPen(QPen(QColor("#12833c"), 3))
- else:
- p.setBrush(QBrush(QColor("#5a5a5a")))
- p.setPen(QPen(QColor("#3a3a3a"), 3))
- p.drawEllipse(6, 6, 52, 52)
-
- p.setPen(QColor("#ffffff"))
- if count:
- font = QFont()
- font.setBold(True)
- font.setPixelSize(30)
- p.setFont(font)
- p.drawText(pm.rect(), Qt.AlignmentFlag.AlignCenter, str(count) if count < 100 else "99")
- else:
- pen = QPen(QColor("#ffffff"), 7)
- pen.setCapStyle(Qt.PenCapStyle.RoundCap)
- pen.setJoinStyle(Qt.PenJoinStyle.RoundJoin)
- p.setPen(pen)
- p.drawLine(18, 33, 28, 43)
- p.drawLine(28, 43, 47, 20)
- p.end()
- return QIcon(pm)
-
-
-def spawn_terminal(cmd):
- candidates = [
- ["kgx", "-e", "bash", "-c", cmd],
- ["gnome-terminal", "--", "bash", "-c", cmd],
- ["konsole", "-e", "bash", "-c", cmd],
- ["xterm", "-e", "bash", "-c", cmd],
- ]
- for c in candidates:
- if shutil.which(c[0]):
- subprocess.Popen(c, start_new_session=True)
- return True
- return False
-
-
-class Updater:
- def __init__(self, app):
- self.app = app
- self.tray = QSystemTrayIcon()
- self.tray.setToolTip(APP_NAME)
- self.menu = QMenu()
- self.tray.setContextMenu(self.menu)
- self.refresh()
- self.tray.show()
- self.app.processEvents()
-
- self.timer = QTimer()
- self.timer.timeout.connect(self.refresh)
- self.timer.start(60_000)
-
- def refresh(self):
- st = read_status()
- self.menu.clear()
-
- if st is None:
- self.tray.setIcon(make_icon(0))
- self._add("RaveOS állapot ismeretlen", enabled=False)
- self._add("(az ellenőrzés még nem futott le)", enabled=False)
- elif st.get("error"):
- self.tray.setIcon(make_icon(0))
- self._add("RaveOS ellenőrzés sikertelen", enabled=False)
- self._add(st["error"], enabled=False)
- else:
- count = st.get("count", 0)
- self.tray.setIcon(make_icon(count))
- if count:
- self._add(f"{count} RaveOS frissítés elérhető", enabled=False)
- self.tray.setToolTip(f"{APP_NAME}: {count} frissítés elérhető")
- self.menu.addSeparator()
- for u in st.get("updates", []):
- self._add(f"{u['name']} {u['old']} → {u['new']}", enabled=False)
- else:
- self._add("RaveOS naprakész", enabled=False)
- self.tray.setToolTip(f"{APP_NAME}: naprakész")
- checked = st.get("checked", "")
- if checked:
- self._add("Ellenőrizve: " + checked.replace("T", " ")[:16], enabled=False)
-
- self.menu.addSeparator()
- self._add("Frissítés most", self._update_now)
- self._add("Ellenőrzés most", self._check_now)
- self._add("Kilépés", self.app.quit)
-
- def _add(self, text, callback=None, enabled=True):
- act = QAction(text, self.menu)
- act.setEnabled(enabled)
- if callback:
- act.triggered.connect(callback)
- self.menu.addAction(act)
- return act
-
- def _update_now(self):
- spawn_terminal("rave upgrade; exec bash")
-
- def _check_now(self):
- if shutil.which("pkexec"):
- subprocess.Popen(["pkexec", CHECK_CMD], start_new_session=True)
- else:
- subprocess.Popen(["sudo", CHECK_CMD], start_new_session=True)
-
-
-def main():
- app = QApplication(sys.argv)
- app.setApplicationName(APP_NAME)
- app.setQuitOnLastWindowClosed(False)
-
- if not QSystemTrayIcon.isSystemTrayAvailable():
- print("RaveOS Update Indicator: nincs elérhető tálca (SNI) a jelenlegi környezetben.",
- file=sys.stderr)
-
- Updater(app)
- sys.exit(app.exec())
-
-
-if __name__ == "__main__":
- main()
diff --git a/raveos-updater/raveos-updater.desktop b/raveos-updater/raveos-updater.desktop
deleted file mode 100644
index 501f8c7..0000000
--- a/raveos-updater/raveos-updater.desktop
+++ /dev/null
@@ -1,12 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=RaveOS Update Indicator
-Name[hu]=RaveOS Frissítésjelző
-Comment=Shows when RaveOS package updates are available
-Comment[hu]=Jelzi, ha elérhető RaveOS frissítés
-Exec=/usr/bin/raveos-updater
-Icon=raveos-updater
-Terminal=false
-NoDisplay=true
-X-GNOME-Autostart-enabled=true
-StartupNotify=false
diff --git a/raveos-updater/raveos-updater.hook b/raveos-updater/raveos-updater.hook
deleted file mode 100644
index ebc1583..0000000
--- a/raveos-updater/raveos-updater.hook
+++ /dev/null
@@ -1,11 +0,0 @@
-[Trigger]
-Operation = Install
-Operation = Upgrade
-Operation = Remove
-Type = Package
-Target = *
-
-[Action]
-Description = Refreshing RaveOS update status
-When = PostTransaction
-Exec = /usr/lib/raveos-updater/check.py --no-sync
diff --git a/raveos-updater/raveos-updater.install b/raveos-updater/raveos-updater.install
deleted file mode 100644
index f2993fd..0000000
--- a/raveos-updater/raveos-updater.install
+++ /dev/null
@@ -1,20 +0,0 @@
-_enable() {
- if command -v systemctl >/dev/null 2>&1; then
- systemctl daemon-reload >/dev/null 2>&1 || true
- systemctl enable --now raveos-updater.timer >/dev/null 2>&1 || true
- fi
-}
-
-post_install() {
- _enable
-}
-
-post_upgrade() {
- _enable
-}
-
-pre_remove() {
- if command -v systemctl >/dev/null 2>&1; then
- systemctl disable --now raveos-updater.timer >/dev/null 2>&1 || true
- fi
-}
diff --git a/raveos-updater/raveos-updater.service b/raveos-updater/raveos-updater.service
deleted file mode 100644
index 118c71e..0000000
--- a/raveos-updater/raveos-updater.service
+++ /dev/null
@@ -1,6 +0,0 @@
-[Unit]
-Description=RaveOS update check service
-
-[Service]
-Type=oneshot
-ExecStart=/usr/lib/raveos-updater/check.py
diff --git a/raveos-updater/raveos-updater.timer b/raveos-updater/raveos-updater.timer
deleted file mode 100644
index 9ab66a9..0000000
--- a/raveos-updater/raveos-updater.timer
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=RaveOS update check timer
-
-[Timer]
-OnBootSec=5min
-OnUnitActiveSec=2h
-Persistent=true
-
-[Install]
-WantedBy=timers.target