Files
imajviewer/dist/rebuild-deb.sh
T

58 lines
2.1 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
set -euo pipefail
APP=imajviewer
VERSION=1.0.0
DIST_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJECT_DIR="$(dirname "$DIST_DIR")"
RELEASE_DIR="${PROJECT_DIR}/build/linux/x64/release/bundle"
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 "• 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"
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 "• .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 "• 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 "• İkonlar kopyalanıyor (index.theme hariç — hicolor-icon-theme sahipli)…"
mkdir -p "$TMPDIR/pkg/usr/share/icons/hicolor"
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)…"
for so in "$TMPDIR/pkg/usr/lib/${APP}/lib/"*.so; do
[ -f "$so" ] && patchelf --set-rpath '$ORIGIN' "$so" 2>/dev/null || true
done
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))"