build: semver baslangici — versiyon tek kaynak pubspec.yaml (1.0.1), rebuild-deb.sh + installer.iss pubspec'tan turetir, eski 1.0.0 uretimleri kaldirildi

This commit is contained in:
Alhan committed 2026-08-03 12:06:57 +03:00
1 parent 35bbb0b885
commit 2e82a47ae3
7 files changed
+25 -25

No files matched your search

+7
View File
@@ -26,6 +26,13 @@ jobs:
run: | run: |
choco install innosetup --no-progress -y choco install innosetup --no-progress -y
- name: Sync version from pubspec.yaml
shell: pwsh
run: |
$version = (Select-String -Path pubspec.yaml -Pattern '^version:\s*([0-9]+\.[0-9]+\.[0-9]+)').Matches[0].Groups[1].Value
(Get-Content windows/installer.iss -Raw) -replace '#define MyAppVersion "[^"]+"', "#define MyAppVersion `"$version`"" | Set-Content windows/installer.iss
Write-Host "Inno Setup version: $version"
- name: Build Inno Setup installer - name: Build Inno Setup installer
shell: cmd shell: cmd
run: | run: |
+1 -1
View File
@@ -1,5 +1,5 @@
Package: imajviewer Package: imajviewer
Version: 1.0.0 Version: 1.0.1
Section: graphics Section: graphics
Priority: optional Priority: optional
Architecture: amd64 Architecture: amd64
BIN
View File
Binary file not shown.
+15 -22
View File
@@ -2,47 +2,40 @@
set -euo pipefail set -euo pipefail
APP=imajviewer APP=imajviewer
VERSION=1.0.0
DIST_DIR="$(cd "$(dirname "$0")" && pwd)" DIST_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJECT_DIR="$(dirname "$DIST_DIR")" PROJECT_DIR="$(dirname "$DIST_DIR")"
# Versiyon tek kaynak: pubspec.yaml ("1.0.1+2" → "1.0.1")
VERSION=$(grep -m1 '^version:' "${PROJECT_DIR}/pubspec.yaml" | sed -E 's/^version:[[:space:]]*([0-9]+\.[0-9]+\.[0-9]+).*/\1/')
RELEASE_DIR="${PROJECT_DIR}/build/linux/x64/release/bundle" RELEASE_DIR="${PROJECT_DIR}/build/linux/x64/release/bundle"
SRC_DIR="${PROJECT_DIR}/deb"
DEB="${DIST_DIR}/${APP}_${VERSION}_amd64.deb" DEB="${DIST_DIR}/${APP}_${VERSION}_amd64.deb"
# ── Geçici çalışma dizini ── # ── Geçici çalışma dizini ──
TMPDIR=$(mktemp -d) TMPDIR=$(mktemp -d)
trap "rm -rf $TMPDIR" EXIT trap "rm -rf $TMPDIR" EXIT
echo "• Eski .deb çıkartılıyor…" echo "• Kaynak deb/ ağacı kopyalanıyor…"
dpkg-deb -x "$DEB" "$TMPDIR/pkg" cp -a "$SRC_DIR/." "$TMPDIR/pkg"
echo "• Kontrol dosyaları kaynaktan kopyalanıyor…" echo "• Kontrol dosyasındaki versiyon güncelleniyor…"
mkdir -p "$TMPDIR/pkg/DEBIAN" sed -i "s/^Version: .*/Version: ${VERSION}/" "$TMPDIR/pkg/DEBIAN/control"
cp "${PROJECT_DIR}/deb/DEBIAN/control" "$TMPDIR/pkg/DEBIAN/control"
cp "${PROJECT_DIR}/deb/DEBIAN/postinst" "$TMPDIR/pkg/DEBIAN/postinst"
cp "${PROJECT_DIR}/deb/DEBIAN/prerm" "$TMPDIR/pkg/DEBIAN/prerm"
chmod 755 "$TMPDIR/pkg/DEBIAN/postinst" "$TMPDIR/pkg/DEBIAN/prerm" chmod 755 "$TMPDIR/pkg/DEBIAN/postinst" "$TMPDIR/pkg/DEBIAN/prerm"
echo "• Yeni release binary ve kütüphaneler kopyalanıyor…" echo "• Yeni release binary ve kütüphaneler kopyalanıyor…"
cp -r "$RELEASE_DIR"/* "$TMPDIR/pkg/usr/lib/${APP}/" cp -r "$RELEASE_DIR"/* "$TMPDIR/pkg/usr/lib/${APP}/"
echo "• Symlink güncelleniyor…" echo "• Symlink kontrol ediliyor…"
ln -sf "/usr/lib/${APP}/${APP}" "$TMPDIR/pkg/usr/bin/${APP}" ln -sfn "/usr/lib/${APP}/${APP}" "$TMPDIR/pkg/usr/bin/${APP}"
echo "• .desktop dosyası kaynaktan kopyalanıyor…" echo "• .desktop dosyası izinleri…"
DESKTOP_FILE="$TMPDIR/pkg/usr/share/applications/${APP}.desktop" chmod 644 "$TMPDIR/pkg/usr/share/applications/${APP}.desktop"
cp "${PROJECT_DIR}/deb/usr/share/applications/${APP}.desktop" "$DESKTOP_FILE"
chmod 644 "$DESKTOP_FILE"
echo "• MIME tanımı kaynaktan kopyalanıyor…" echo "• MIME tanımı izinleri…"
MIME_FILE="$TMPDIR/pkg/usr/share/mime/packages/${APP}.xml" chmod 644 "$TMPDIR/pkg/usr/share/mime/packages/${APP}.xml"
cp "${PROJECT_DIR}/deb/usr/share/mime/packages/${APP}.xml" "$MIME_FILE"
chmod 644 "$MIME_FILE"
echo "• İkonlar kopyalanıyor (index.theme hariç — hicolor-icon-theme sahipli)…" echo "• index.theme kaldırılıyor (hicolor-icon-theme sahipli)…"
mkdir -p "$TMPDIR/pkg/usr/share/icons/hicolor"
rm -f "$TMPDIR/pkg/usr/share/icons/hicolor/index.theme" rm -f "$TMPDIR/pkg/usr/share/icons/hicolor/index.theme"
cp -r "${PROJECT_DIR}/deb/usr/share/icons/hicolor/." "$TMPDIR/pkg/usr/share/icons/hicolor/"
find "$TMPDIR/pkg/usr/share/icons/hicolor" -type f -exec chmod 644 {} + find "$TMPDIR/pkg/usr/share/icons/hicolor" -type f -exec chmod 644 {} +
echo "• Plugin RUNPATH düzeltiliyor (\$ORIGIN)…" echo "• Plugin RUNPATH düzeltiliyor (\$ORIGIN)…"
@@ -54,4 +47,4 @@ echo "• Yeni .deb paketi oluşturuluyor…"
fakeroot dpkg-deb --build "$TMPDIR/pkg" "${DEB}.tmp" >/dev/null fakeroot dpkg-deb --build "$TMPDIR/pkg" "${DEB}.tmp" >/dev/null
mv "${DEB}.tmp" "$DEB" mv "${DEB}.tmp" "$DEB"
echo "✓ ${DEB} güncellendi ($(du -h "$DEB" | cut -f1))" echo "✓ ${DEB} oluşturuldu ($(du -h "$DEB" | cut -f1))"
+1 -1
View File
@@ -1,7 +1,7 @@
name: imajviewer name: imajviewer
description: "Ultra hafif görüntü izleyici" description: "Ultra hafif görüntü izleyici"
publish_to: 'none' publish_to: 'none'
version: 1.0.0+1 version: 1.0.1+2
msix_config: msix_config:
display_name: ImajViewer display_name: ImajViewer
+1 -1
View File
@@ -2,7 +2,7 @@
; Inno Setup 6 ; Inno Setup 6
#define MyAppName "ImajViewer" #define MyAppName "ImajViewer"
#define MyAppVersion "1.0.0" #define MyAppVersion "1.0.1"
#define MyAppPublisher "imajviewer" #define MyAppPublisher "imajviewer"
#define MyAppURL "https://git.softmediadesign.com/git_alhan/imajviewer" #define MyAppURL "https://git.softmediadesign.com/git_alhan/imajviewer"
#define MyAppExeName "imajviewer.exe" #define MyAppExeName "imajviewer.exe"