summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/release.yml14
-rw-r--r--Makefile13
-rw-r--r--build.ps17
-rw-r--r--install.sh17
4 files changed, 35 insertions, 16 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 7ba6be0..31a4251 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -194,10 +194,20 @@ jobs:
WINGET_TOKEN: ${{ secrets.WINGET_TOKEN }}
run: |
$version = "${{ github.ref_name }}".TrimStart('v')
- $url = "https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/DPIBreak-$version-x86_64-pc-windows-msvc.zip"
+ $url = "https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/dpibreak-$version-x86_64-pc-windows-msvc.zip"
+ $out = Join-Path $env:RUNNER_TEMP "winget"
./wingetcreate.exe update Dilluti0n.DPIBreak `
--version $version `
--urls $url `
- --submit `
+ --out $out
+
+ # Update RelativeFilePath on Dilluti0n.DPIBreak.installer.yaml
+ $installer = Get-ChildItem -Path $out -Recurse -Filter '*.installer.yaml' `
+ | Select-Object -First 1
+ (Get-Content $installer.FullName) `
+ -replace '(RelativeFilePath:).*', "`$1 dpibreak-$version\dpibreak.exe" `
+ | Set-Content $installer.FullName
+
+ ./wingetcreate.exe submit $installer.Directory.FullName `
--token $env:WINGET_TOKEN
diff --git a/Makefile b/Makefile
index 8943190..6caf031 100644
--- a/Makefile
+++ b/Makefile
@@ -63,11 +63,12 @@ build:
cargo build --release --locked --target "$(BUILD_TARGET)"
DIST_ELEMS = $(PROG) $(MAN) README.md CHANGELOG COPYING Makefile
-DISTDIR = dist
-DISTNAME = $(PROJECT)-$(VERSION)-$(BUILD_TARGET)
-TARBALL = $(DISTDIR)/$(DISTNAME).tar.gz
-SHA256 = $(TARBALL).sha256
-BUILDINFO = $(DISTDIR)/$(DISTNAME).buildinfo
+DISTDIR = dist
+DISTNAME = $(PROG)-$(VERSION)
+ARCHIVE = $(PROG)-$(VERSION)-$(BUILD_TARGET)
+TARBALL = $(DISTDIR)/$(ARCHIVE).tar.gz
+SHA256 = $(TARBALL).sha256
+BUILDINFO = $(DISTDIR)/$(ARCHIVE).buildinfo
tarball: $(SHA256) $(BUILDINFO)
@@ -86,7 +87,7 @@ $(TARBALL): build $(DIST_ELEMS) | $(DISTDIR)/$(DISTNAME)
-czf "$@" "$(DISTNAME)"
$(SHA256): $(TARBALL)
- { cd $(DISTDIR) && sha256sum "$(DISTNAME).tar.gz"; } > "$@"
+ { cd $(DISTDIR) && sha256sum "$(ARCHIVE).tar.gz"; } > "$@"
$(BUILDINFO): $(TARGET) | $(DISTDIR)
{ \
diff --git a/build.ps1 b/build.ps1
index 4db5977..2771ac3 100644
--- a/build.ps1
+++ b/build.ps1
@@ -55,11 +55,12 @@ try {
$SourceDateEpoch = git log -1 --format=%ct
$DistDir = Join-Path $ScriptRoot "dist"
-$DistName = "$($ProjectName)-$($ProjectVersion)-$($BuildTarget)"
+$DistName = "$($ProgramName)-$($ProjectVersion)"
+$Archive = "$($ProgramName)-$($ProjectVersion)-$($BuildTarget)"
$DistPath = Join-Path $DistDir $DistName
-$ZipBallPath = Join-Path $DistDir "$($DistName).zip"
+$ZipBallPath = Join-Path $DistDir "$($Archive).zip"
$Sha256Path = "$($ZipBallPath).sha256"
-$BuildInfoPath = Join-Path $DistDir "$($DistName).buildinfo"
+$BuildInfoPath = Join-Path $DistDir "$($Archive).buildinfo"
# List of files to include in the distribution archive.
# Note: Renaming for COPYING and CHANGELOG is handled during the copy process.
diff --git a/install.sh b/install.sh
index 0092465..fccacc7 100644
--- a/install.sh
+++ b/install.sh
@@ -1,15 +1,16 @@
# SPDX-FileCopyrightText: 2026 Dilluti0n <[email protected]>
# SPDX-License-Identifier: GPL-3.0-or-later
-#
+
# DPIBreak install script
# CHANGELOG:
+# v1.4 - Support for new tarball/exdir naming (since DPIBreak v0.6.2)
# v1.3 - Fix to prevent tarball fetch and install logs from appearing during uninstallation
# v1.2 - Remove -v on tar, fix/add logs and add SVERSION variable
# v1.1 - Remove make dependency
set -eu
-SVERSION='v1.3'
+SVERSION='v1.4'
PROJECT='DPIBreak'
REPO='dilluti0n/dpibreak'
LINUX='Linux'
@@ -90,8 +91,8 @@ do_install() {
[ "$ARCH" = "$AMD64" ] || die "$ARCH: not supported. Only $AMD64 is supported."
TAG=$(get_tag)
- TARBALL="$PROJECT-${TAG#v}-$ARCH-unknown-linux-musl.tar.gz"
- EXDIR="${TARBALL%.tar.gz}"
+ TARBALL="$PROG-${TAG#v}-$ARCH-unknown-linux-musl.tar.gz"
+ EXDIR="$PROG-${TAG#v}"
URI="https://github.com/$REPO/releases/download/$TAG/$TARBALL"
WORKDIR=$(mktemp -d)
trap 'rm -rf "$WORKDIR"' EXIT
@@ -100,7 +101,13 @@ do_install() {
curl -fsSL --retry 3 --connect-timeout 5 -o "$TARBALL" "$URI" \
|| die Failed to download $URI
tar -xzf "$TARBALL"
- cd "$EXDIR" || die Failed to enter directory: $EXDIR
+
+ if ! cd "$EXDIR"; then
+ echo Tarball might be older than v0.6.2. Falling back to legacy path... >&2
+ EXDIR_LEGACY="$PROJECT-${TAG#v}-$ARCH-unknown-linux-musl"
+ cd "$EXDIR_LEGACY" || die Failed to enter directory: both $EXDIR \
+ and legacy $EXDIR_LEGACY
+ fi
do_sudo install -Dm755 "$PROG" "$PREFIX/bin/$PROG"
do_sudo install -Dm644 "$MAN" "$MANPREFIX/man1/$MAN"