Compare commits

..

3 Commits

Author SHA1 Message Date
081691d1bb moved sed from PKGBUILD to push.sh
All checks were successful
Update Package Version / update (push) Successful in 25s
2026-04-10 18:44:05 +02:00
2edbc6943d no updates is not an error 2026-04-10 15:57:16 +02:00
1eadebf0a5 added workflow 2026-04-10 15:46:45 +02:00
6 changed files with 144 additions and 22 deletions

View File

@@ -1,7 +1,7 @@
pkgbase = open-video-downloader-appimage pkgbase = open-video-downloader-appimage
pkgdesc = A cross-platform GUI for youtube-dl made in Rust with Tauri and Vue + Typescript pkgdesc = A cross-platform GUI for youtube-dl made in Rust with Tauri and Vue + Typescript
pkgver = 3.2.1 pkgver = 3.2.0
pkgrel = 2 pkgrel = 1
url = https://github.com/jely2002/youtube-dl-gui url = https://github.com/jely2002/youtube-dl-gui
arch = x86_64 arch = x86_64
license = AGPL3 license = AGPL3
@@ -9,11 +9,11 @@ pkgbase = open-video-downloader-appimage
conflicts = open-video-downloader conflicts = open-video-downloader
options = !strip options = !strip
options = !debug options = !debug
source = open-video-downloader-3.2.1.AppImage::https://github.com/jely2002/youtube-dl-gui/releases/download/app-v3.2.1/Open.Video.Downloader_3.2.1_amd64.AppImage source = open-video-downloader-3.2.0.AppImage::https://github.com/jely2002/youtube-dl-gui/releases/download/app-v3.2.0/Open.Video.Downloader_3.2.0_amd64.AppImage
source = open-video-downloader.desktop source = open-video-downloader.desktop
source = open-video-downloader.png source = open-video-downloader.png
sha256sums = 6c4147806427f852a2df4d9cbcf9535ab9b44d56225f8c824d0440a2eca1db97 sha256sums = dffee4cfef50e8edb9be4136d5650b123e49b8a1ffd959ff3d2c42502fc391e3
sha256sums = 74fbe0ac6c80ebf9f7fa19dc57a999e785375838f7941adfc739bcbd0df5d91e sha256sums = c08c2abedcf2b7a1692c1968babf69671e5ecf77eb2d607a8fdcf25a7d490a2d
sha256sums = 188992cbe106d0dd6e7b9c219020118a1246c3657c828f86e463617c3d6214cb sha256sums = 188992cbe106d0dd6e7b9c219020118a1246c3657c828f86e463617c3d6214cb
pkgname = open-video-downloader-appimage pkgname = open-video-downloader-appimage

View File

@@ -1,8 +0,0 @@
# Autoupdater manifest - consumed by aur/.autoupdate
srchost="github"
srcmntr="jely2002"
srcname="youtube-dl-gui"
verstrip="app-v"
gui="true"
desktop="Open Video Downloader.desktop"
icon="Open Video Downloader.png"

View File

@@ -0,0 +1,32 @@
---
name: Update Package Version
concurrency:
group: update-package-version
cancel-in-progress: false
on:
schedule:
- cron: "0 0 * * *"
defaults:
run:
shell: bash
jobs:
update:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- run: |
git config --global user.name "${GIT_NAME}"
git config --global user.email "${GIT_EMAIL}"
git config --global credential.helper store
echo "https://${GIT_EMAIL//@/%40}:${GIT_TOKEN}@git.bjphoster.com" > ~/.git-credentials
source PKGBUILD
./push.sh $(curl -L -H "Accept: application/vnd.github+json" https://api.github.com/repos/${_srcmntr}/${_srcname}/releases/latest | jq ".tag_name" | sed 's|"||g;s|app-v||')
env:
GIT_NAME: ${{ secrets.GIT_NAME }}
GIT_EMAIL: ${{ secrets.GIT_EMAIL }}
GIT_TOKEN: ${{ secrets.GIT_TOKEN }}

View File

@@ -5,8 +5,8 @@ _srcname="youtube-dl-gui"
_srcmntr="jely2002" _srcmntr="jely2002"
pkgname="${_pkgname}-appimage" pkgname="${_pkgname}-appimage"
pkgver="3.2.1" pkgver="3.2.0"
pkgrel="2" pkgrel="1"
pkgdesc="A cross-platform GUI for youtube-dl made in Rust with Tauri and Vue + Typescript" pkgdesc="A cross-platform GUI for youtube-dl made in Rust with Tauri and Vue + Typescript"
url="https://github.com/${_srcmntr}/${_srcname}" url="https://github.com/${_srcmntr}/${_srcname}"
arch=("x86_64") arch=("x86_64")
@@ -22,15 +22,11 @@ conflicts=("open-video-downloader")
provides=("open-video-downloader") provides=("open-video-downloader")
sha256sums=( sha256sums=(
"6c4147806427f852a2df4d9cbcf9535ab9b44d56225f8c824d0440a2eca1db97" "dffee4cfef50e8edb9be4136d5650b123e49b8a1ffd959ff3d2c42502fc391e3"
"74fbe0ac6c80ebf9f7fa19dc57a999e785375838f7941adfc739bcbd0df5d91e" "c08c2abedcf2b7a1692c1968babf69671e5ecf77eb2d607a8fdcf25a7d490a2d"
"188992cbe106d0dd6e7b9c219020118a1246c3657c828f86e463617c3d6214cb" "188992cbe106d0dd6e7b9c219020118a1246c3657c828f86e463617c3d6214cb"
) )
prepare() {
sed -i -e '/^X-AppImage-/d' "${srcdir}/${_pkgname}.desktop"
}
package() { package() {
install -Dm755 "${srcdir}/${_archive}" \ install -Dm755 "${srcdir}/${_archive}" \
"${pkgdir}/usr/bin/${_pkgname}" "${pkgdir}/usr/bin/${_pkgname}"

View File

@@ -1,7 +1,7 @@
[Desktop Entry] [Desktop Entry]
Categories= Categories=
Comment=Download videos from all over the web. Comment=Download videos from all over the web.
Exec=open-video-downloader %U Exec=open-video-downloader
StartupWMClass=open-video-downloader StartupWMClass=open-video-downloader
Icon=open-video-downloader Icon=open-video-downloader
Name=Open Video Downloader Name=Open Video Downloader

102
push.sh Executable file
View File

@@ -0,0 +1,102 @@
#!/usr/bin/env bash
# Variables
gui=true
desktop="Open Video Downloader.desktop"
icon="open-video-downloader.png"
# Get version
oldver=$(grep -E "^pkgver=" PKGBUILD | sed 's/pkgver="//;s/"//')
if [ $# -eq 1 ]; then
pkgver="${1}"
else
echo "Old version: ${oldver}"
read -p "New version: " pkgver
fi
# Check version
if [ "${pkgver}" = "${oldver}" ] && [ -z "${FORCE_REBUILD}" ]; then
echo >/dev/stderr "Error: same (old) version specified - update aborted"
exit
fi
# Get variables from PKGBUILD
url=$(sed -n '/^source=(/,/)/p' PKGBUILD | grep -oE 'https?://[^"]+')
pkgname=$(grep -E "^pkgname=" PKGBUILD | sed 's/pkgname="//;s/"//')
_pkgname=$(grep -E "^_pkgname=" PKGBUILD | sed 's/_pkgname="//;s/"//')
_srcname=$(grep -E "^_srcname=" PKGBUILD | sed 's/_srcname="//;s/"//')
_srcmntr=$(grep -E "^_srcmntr=" PKGBUILD | sed 's/_srcmntr="//;s/"//')
_archive=$(grep -E "^_archive=" PKGBUILD | sed 's/_archive="//;s/"//')
pkgrel=$(grep -E "^pkgrel=" PKGBUILD | sed 's/pkgrel="//;s/"//')
aur_url="ssh://aur@aur.archlinux.org/${pkgname}.git"
if [ "${gui}" = "true" ] && [ -n "${_pkgname}" ]; then
newdesktop="${_pkgname}.desktop"
newicon="${_pkgname}.png"
else
newdesktop="${package}.desktop"
newicon="${package}.png"
fi
# Perform variable substitution
url="${url//\$\{pkgname\}/$pkgname}"
url="${url//\$\{_pkgname\}/$_pkgname}"
url="${url//\$\{_srcname\}/$_srcname}"
url="${url//\$\{_srcmntr\}/$_srcmntr}"
url="${url//\$\{pkgver\}/$pkgver}"
_archive="${_archive//\$\{pkgname\}/$pkgname}"
_archive="${_archive//\$\{_pkgname\}/$_pkgname}"
_archive="${_archive//\$\{pkgver\}/$pkgver}"
aur_url="${aur_url//\$\{_pkgname\}/$_pkgname}"
# Download archive
wget -O ${_archive} "${url}"
# Extract icon / .desktop files if appimage
if printf '%s' "${_archive,,}" | grep -qi "appimage"; then
chmod +x "${_archive}"
"./${_archive}" --appimage-extract
cp "squashfs-root/${desktop}" "${newdesktop}"
cp "squashfs-root/${icon}" "${newicon}"
sed -i -e '/^X-AppImage-/d;/^$/d' "${newdesktop}"
if [ -L "squashfs-root" ]; then
rm -rf $(readlink -f squashfs-root) squashfs-root
fi
fi
# Calculate checksums
sha256bin=$(sha256sum ${_archive} | awk '{print $1}')
if [ "${gui}" = "true" ]; then
sha256dsk=$(sha256sum ${newdesktop} | awk '{print $1}')
sha256ico=$(sha256sum ${newicon} | awk '{print $1}')
fi
# Yoink the archive - unnecessary anymore
rm -f ${_archive}
# Update PKGBUILD with new values
sed -i -E "s/^pkgver=\"[^\"]+\"/pkgver=\"$pkgver\"/" PKGBUILD
if [ "${gui}" = "true" ]; then
sed -i '/^sha256sums=(/,/^)/c\
sha256sums=(\
"'"$sha256bin"'"\
"'"$sha256dsk"'"\
"'"$sha256ico"'"\
)' PKGBUILD
else
sed -i -E "s/^sha256sums=\(\"[^\"]+\"\)/sha256sums=(\"$sha256bin\")/" PKGBUILD
fi
# Update .SRCINFO
makepkg --printsrcinfo > .SRCINFO
# Create git message with correct variable
if [ -n "$_pkgname" ]; then
commit_msg="Updated ${pkgname//\$\{_pkgname\}/_pkgname} to ${pkgver}-${pkgrel}"
else
commit_msg="Updated ${pkgname} to ${pkgver}-${pkgrel}"
fi
if [ -z "${NO_GIT_PUSH}" ]; then
# In case of fire, git commit, git push, leave building
git add .
git commit -m "Updated ${pkgname} to ${pkgver}-${pkgrel}"
git remote add aur ${aur_url}
git push origin main
git push aur main:master
fi