]> gitweb.morketsmerke.org Git - immudex.git/commitdiff
Poprawienie usługi odświeżania list pakietów. Poprawienie estetytki wyświetlanych...
authorxf0r3m <jakubstasinski@protonmail.com>
Sun, 10 Nov 2024 14:52:43 +0000 (15:52 +0100)
committerxf0r3m <jakubstasinski@protonmail.com>
Sun, 10 Nov 2024 14:52:43 +0000 (15:52 +0100)
files/immudex_updates.service [new file with mode: 0644]
tools/bin/immudex-updates [new file with mode: 0755]
tools/sbin/immudex-packages-update [new file with mode: 0755]

diff --git a/files/immudex_updates.service b/files/immudex_updates.service
new file mode 100644 (file)
index 0000000..c7a65c8
--- /dev/null
@@ -0,0 +1,10 @@
+[Unit]
+Description=Refresh Debian packages list
+After=network-online.target
+Before=display-manager.service
+[Service]
+Type=OneShot
+ExecStart=/usr/local/sbin/immudex-packages-update
+RemainAfterExit=yes
+[Install]
+WantedBy=multi-user.target
diff --git a/tools/bin/immudex-updates b/tools/bin/immudex-updates
new file mode 100755 (executable)
index 0000000..1da9cf8
--- /dev/null
@@ -0,0 +1,61 @@
+#!/bin/bash
+
+RED="\e[31m";
+GREEN="\e[32m";
+YELLOW="\e[33m";
+ENDCOLOR="\e[0m";
+
+function getVerFromRSSFeed() {
+  URL=$1;
+  echo $(curl $URL 2> /dev/null | grep '<title>' | sed -n '2p' | sed -e 's/<title>//g' -e 's,</title>,,g' | awk '{printf $1}')
+}
+echo "Obtaining updates information:";
+echo "  |";
+if [ -x /usr/bin/librewolf ]; then
+  URL="https://codeberg.org/librewolf/source/tags.rss";
+  newLibrewolfVer=$(getVerFromRSSFeed $URL);
+  currentLibrewolfVer=$(librewolf -V | awk '{printf $3}');
+  if ! [ "$currentLibrewolfVer" = "$newLibrewolfVer" ]; then
+    echo -e "  \`- New Librewolf version (${GREEN}${newLibrewolfVer}${ENDCOLOR}) is available.";
+    echo "  |";
+  fi
+fi
+
+if [ -x /usr/local/bin/ncspot ]; then
+  URL="https://github.com/hrkfdn/ncspot/releases.atom";
+  newNcspotVer=$(getVerFromRSSFeed $URL);
+  currentNcspotVer=$(ncspot -V | awk '{printf $2}');
+  if ! [ "$currentNcspotVer" = "$newNcspotVer" ]; then
+    echo -e "  \`- New ncspot version (${GREEN}${newNcspotVer}${ENDCOLOR}) is available.";
+    echo "  |";
+  fi
+fi
+
+if [ -x /usr/local/bin/nu ]; then
+  URL="https://github.com/nushell/nushell/releases.atom";
+  newNushellVer=$(getVerFromRSSFeed $URL);
+  currentNushellVer=$(nu -v | awk '{printf $1}');
+  if ! [ "$currentNushellVer" = "$NewNushellVer" ]; then
+    echo -e "  \`- New nushell version (${GREEN}${newNushellVer}${ENDCOLOR}) is available.";
+    echo "  |";
+  fi
+fi
+
+debianVersion=$(cut -d "." -f 1 /etc/debian_version);
+URL="https://micronews.debian.org/feeds/feed.rss";
+newDebianVersion=$(curl $URL 2>/dev/null | grep -o "Updated Debian ${debianVersion}: ${debianVersion}.[0-9]*" | sed -n '1p' | awk '{printf $4}');
+if ! [ "$newDebianVersion" = "$(cat /etc/debian_version)" ]; then
+  echo -e "  \`- New Debian version (${YELLOW}${newDebianVersion}${ENDCOLOR}).";
+  echo "  |";
+fi
+
+packagesToUpdate=$(expr $(apt list --upgradable 2> /dev/null | wc -l) - 1);
+if [ $packagesToUpdate -lt 0 ]; then packagesToUpdate=0; fi
+
+if [ $packagesToUpdate -lt 10 ]; then color=${GREEN};
+elif [ $packagesToUpdate -lt 50 ]; then color=${YELLOW};
+else color=${RED};
+fi
+
+echo -e "  \`- ${color}${packagesToUpdate}${ENDCOLOR} packages ready to update."; 
+echo "}";
diff --git a/tools/sbin/immudex-packages-update b/tools/sbin/immudex-packages-update
new file mode 100755 (executable)
index 0000000..18f625b
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+apt-get update;