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:
37
dist/rebuild-deb.sh
vendored
37
dist/rebuild-deb.sh
vendored
@@ -2,47 +2,40 @@
|
||||
set -euo pipefail
|
||||
|
||||
APP=imajviewer
|
||||
VERSION=1.0.0
|
||||
DIST_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
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"
|
||||
SRC_DIR="${PROJECT_DIR}/deb"
|
||||
DEB="${DIST_DIR}/${APP}_${VERSION}_amd64.deb"
|
||||
|
||||
# ── Geçici çalışma dizini ──
|
||||
TMPDIR=$(mktemp -d)
|
||||
trap "rm -rf $TMPDIR" EXIT
|
||||
|
||||
echo "• Eski .deb çıkartılıyor…"
|
||||
dpkg-deb -x "$DEB" "$TMPDIR/pkg"
|
||||
echo "• Kaynak deb/ ağacı kopyalanıyor…"
|
||||
cp -a "$SRC_DIR/." "$TMPDIR/pkg"
|
||||
|
||||
echo "• Kontrol dosyaları kaynaktan kopyalanıyor…"
|
||||
mkdir -p "$TMPDIR/pkg/DEBIAN"
|
||||
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"
|
||||
echo "• Kontrol dosyasındaki versiyon güncelleniyor…"
|
||||
sed -i "s/^Version: .*/Version: ${VERSION}/" "$TMPDIR/pkg/DEBIAN/control"
|
||||
chmod 755 "$TMPDIR/pkg/DEBIAN/postinst" "$TMPDIR/pkg/DEBIAN/prerm"
|
||||
|
||||
echo "• Yeni release binary ve kütüphaneler kopyalanıyor…"
|
||||
cp -r "$RELEASE_DIR"/* "$TMPDIR/pkg/usr/lib/${APP}/"
|
||||
|
||||
echo "• Symlink güncelleniyor…"
|
||||
ln -sf "/usr/lib/${APP}/${APP}" "$TMPDIR/pkg/usr/bin/${APP}"
|
||||
echo "• Symlink kontrol ediliyor…"
|
||||
ln -sfn "/usr/lib/${APP}/${APP}" "$TMPDIR/pkg/usr/bin/${APP}"
|
||||
|
||||
echo "• .desktop dosyası kaynaktan kopyalanıyor…"
|
||||
DESKTOP_FILE="$TMPDIR/pkg/usr/share/applications/${APP}.desktop"
|
||||
cp "${PROJECT_DIR}/deb/usr/share/applications/${APP}.desktop" "$DESKTOP_FILE"
|
||||
chmod 644 "$DESKTOP_FILE"
|
||||
echo "• .desktop dosyası izinleri…"
|
||||
chmod 644 "$TMPDIR/pkg/usr/share/applications/${APP}.desktop"
|
||||
|
||||
echo "• MIME tanımı kaynaktan kopyalanıyor…"
|
||||
MIME_FILE="$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 "• MIME tanımı izinleri…"
|
||||
chmod 644 "$TMPDIR/pkg/usr/share/mime/packages/${APP}.xml"
|
||||
|
||||
echo "• İkonlar kopyalanıyor (index.theme hariç — hicolor-icon-theme sahipli)…"
|
||||
mkdir -p "$TMPDIR/pkg/usr/share/icons/hicolor"
|
||||
echo "• index.theme kaldırılıyor (hicolor-icon-theme sahipli)…"
|
||||
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 {} +
|
||||
|
||||
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
|
||||
mv "${DEB}.tmp" "$DEB"
|
||||
|
||||
echo "✓ ${DEB} güncellendi ($(du -h "$DEB" | cut -f1))"
|
||||
echo "✓ ${DEB} oluşturuldu ($(du -h "$DEB" | cut -f1))"
|
||||
|
||||
Reference in New Issue
Block a user