From c2d19915a7c5d0fdbc46d3cfc91d5690bce8ea3f Mon Sep 17 00:00:00 2001 From: xf0r3m Date: Sun, 10 Nov 2024 15:52:43 +0100 Subject: [PATCH] =?utf8?q?Poprawienie=20us=C5=82ugi=20od=C5=9Bwie=C5=BCani?= =?utf8?q?a=20list=20pakiet=C3=B3w.=20Poprawienie=20estetytki=20wy=C5=9Bwi?= =?utf8?q?etlanych=20danych=20prze=20skrypt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- files/immudex_updates.service | 10 +++++ tools/bin/immudex-updates | 61 ++++++++++++++++++++++++++++++ tools/sbin/immudex-packages-update | 3 ++ 3 files changed, 74 insertions(+) create mode 100644 files/immudex_updates.service create mode 100755 tools/bin/immudex-updates create mode 100755 tools/sbin/immudex-packages-update diff --git a/files/immudex_updates.service b/files/immudex_updates.service new file mode 100644 index 0000000..c7a65c8 --- /dev/null +++ b/files/immudex_updates.service @@ -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 index 0000000..1da9cf8 --- /dev/null +++ b/tools/bin/immudex-updates @@ -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 '' | sed -n '2p' | sed -e 's/<title>//g' -e 's,,,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 index 0000000..18f625b --- /dev/null +++ b/tools/sbin/immudex-packages-update @@ -0,0 +1,3 @@ +#!/bin/bash + +apt-get update; -- 2.39.5