From 3f6de1be60f30da7b9dc31e4e409e06189f6b271 Mon Sep 17 00:00:00 2001
From: SinTan1729 <sayantan.santra689@gmail.com>
Date: Wed, 23 Nov 2022 21:25:26 -0600
Subject: [PATCH] Add lure-update.sh

---
 README.md      |  2 +-
 lure-update.sh | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)
 create mode 100644 lure-update.sh

diff --git a/README.md b/README.md
index 1c5700c..535e9e3 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-![Number of scripts](https://img.shields.io/badge/number_of_scripts-30-blue)
+![Number of scripts](https://img.shields.io/badge/number_of_scripts-31-blue)
 # Random Scripts
 This repository is for random scripts I wrote mostly for personal use.
 
diff --git a/lure-update.sh b/lure-update.sh
new file mode 100644
index 0000000..9ad0afb
--- /dev/null
+++ b/lure-update.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+[ -f "$1" ] || echo "Please pass location of a list with github repo names"
+
+for f in $(cat "$1" | tr '\n' ' ')
+do
+	pkg="$(echo $f | cut -d '/' -f 2)"
+	version_new=$(lure info $pkg | grep version | awk '{printf $2}' | sed 's/[a-zA-Z]*//g')
+	[ "$version_new" == "" ] && version_new="$(curl -sL "https://api.github.com/repos/${f}/releases/latest" | jq -r '.tag_name' | sed 's/[a-zA-Z]*//g')"
+	version_present="$(dnf info $pkg 2>/dev/null | grep Version | awk '{printf $3}' | sed 's/[a-zA-Z]*//g')"
+	[ "$version_present" == "" ] && echo "$pkg isn't installed, skipping" && continue
+	if [ $(echo $version_present$'\n'$version_new | sort -V | tail -n1) != $version_present ]; then
+		echo "Upgrading $pkg"
+		lure install $pkg
+	else
+		echo "$pkg is up-to-date"
+	fi
+done