fix(packaging): Debian-Paket-Abhängigkeiten, AppStream-Metadaten und reproduzierbares AppImage-Build
This commit is contained in:
@@ -0,0 +1,18 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Version=1.0
|
||||||
|
Name=ink-notes
|
||||||
|
GenericName=Notizbuch- & Inking-App
|
||||||
|
Comment=Latenzoptimierte Vektor-Notizen mit Stylus, Stift & Geometrie-Erkennung
|
||||||
|
Exec=ink-notes %F
|
||||||
|
Icon=eu.pansi.ink-notes
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
Categories=Office;Graphics;Utility;
|
||||||
|
Keywords=Note;Notiz;Pen;Stift;Ink;Inking;Stylus;Drawing;Zeichnen;PDF;Vector;
|
||||||
|
StartupWMClass=ink-notes
|
||||||
|
MimeType=application/x-inknotes;
|
||||||
|
Actions=NewWindow;
|
||||||
|
|
||||||
|
[Desktop Action NewWindow]
|
||||||
|
Name=Neues Fenster
|
||||||
|
Exec=ink-notes
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<component type="desktop-application">
|
||||||
|
<id>eu.pansi.ink-notes</id>
|
||||||
|
<metadata_license>CC0-1.0</metadata_license>
|
||||||
|
<project_license>MIT</project_license>
|
||||||
|
<name>ink-notes</name>
|
||||||
|
<summary>Latenzoptimierte Vektor-Notizbuch- und Inking-App für Linux</summary>
|
||||||
|
<description>
|
||||||
|
<p>
|
||||||
|
ink-notes ist eine hardwarebeschleunigte, hochperformante Notizbuch- und Inking-Anwendung für Linux,
|
||||||
|
geschrieben in Rust mit wgpu. Sie bietet minimale Eingabelatenz mit Stylus, Touchpad oder Maus.
|
||||||
|
</p>
|
||||||
|
<p>Hauptmerkmale:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Zwei-Stufen-Inking-Modell: Echtzeit-Glättung mit 1€-Filter und akausale Ecken-Erhaltung</li>
|
||||||
|
<li>Automatische Geometrie- und Formerkennung (Geraden, Rechtecke, Kreise, Koordinatensysteme, Polygone)</li>
|
||||||
|
<li>Stufenloser Viewport mit cursor-zentriertem Zoom (25% bis 500%) und Panning</li>
|
||||||
|
<li>Objektauswahl, Lasso, Skalieren, stufenloses Drehen und Multicolor-Umfärbung</li>
|
||||||
|
<li>Multi-Dokumenten- und Notizbuch-Verwaltung mit atomarem Autosave</li>
|
||||||
|
<li>Vektor-PDF-Export für Druck und Weitergabe</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
<launchable type="desktop-id">eu.pansi.ink-notes.desktop</launchable>
|
||||||
|
<provides>
|
||||||
|
<binary>ink-notes</binary>
|
||||||
|
</provides>
|
||||||
|
<categories>
|
||||||
|
<category>Office</category>
|
||||||
|
<category>Graphics</category>
|
||||||
|
<category>Utility</category>
|
||||||
|
</categories>
|
||||||
|
<developer id="eu.pansi">
|
||||||
|
<name>Harald</name>
|
||||||
|
</developer>
|
||||||
|
<url type="homepage">https://gitea.pansi.eu/harald/ink-notes</url>
|
||||||
|
<url type="bugtracker">https://gitea.pansi.eu/harald/ink-notes/issues</url>
|
||||||
|
<content_rating type="oars-1.1" />
|
||||||
|
</component>
|
||||||
@@ -4,7 +4,7 @@ Name=ink-notes
|
|||||||
GenericName=Notizbuch- & Inking-App
|
GenericName=Notizbuch- & Inking-App
|
||||||
Comment=Latenzoptimierte Vektor-Notizen mit Stylus, Stift & Geometrie-Erkennung
|
Comment=Latenzoptimierte Vektor-Notizen mit Stylus, Stift & Geometrie-Erkennung
|
||||||
Exec=ink-notes %F
|
Exec=ink-notes %F
|
||||||
Icon=ink-notes
|
Icon=eu.pansi.ink-notes
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Type=Application
|
Type=Application
|
||||||
Categories=Office;Graphics;Utility;
|
Categories=Office;Graphics;Utility;
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
<li>Vektor-PDF-Export für Druck und Weitergabe</li>
|
<li>Vektor-PDF-Export für Druck und Weitergabe</li>
|
||||||
</ul>
|
</ul>
|
||||||
</description>
|
</description>
|
||||||
<launchable type="desktop-id">ink-notes.desktop</launchable>
|
<launchable type="desktop-id">eu.pansi.ink-notes.desktop</launchable>
|
||||||
<provides>
|
<provides>
|
||||||
<binary>ink-notes</binary>
|
<binary>ink-notes</binary>
|
||||||
</provides>
|
</provides>
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
<developer id="eu.pansi">
|
<developer id="eu.pansi">
|
||||||
<name>Harald</name>
|
<name>Harald</name>
|
||||||
</developer>
|
</developer>
|
||||||
<url type="homepage">https://farmersdog.pansi.eu/harald/ink-notes</url>
|
<url type="homepage">https://gitea.pansi.eu/harald/ink-notes</url>
|
||||||
<url type="bugtracker">https://farmersdog.pansi.eu/harald/ink-notes/issues</url>
|
<url type="bugtracker">https://gitea.pansi.eu/harald/ink-notes/issues</url>
|
||||||
<content_rating type="oars-1.1" />
|
<content_rating type="oars-1.1" />
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
+48
-11
@@ -18,11 +18,22 @@ APPDIR="${ROOT_DIR}/target/AppDir"
|
|||||||
CACHE_DIR="${ROOT_DIR}/target/tools"
|
CACHE_DIR="${ROOT_DIR}/target/tools"
|
||||||
APPIMAGETOOL="${CACHE_DIR}/appimagetool-x86_64.AppImage"
|
APPIMAGETOOL="${CACHE_DIR}/appimagetool-x86_64.AppImage"
|
||||||
|
|
||||||
|
# Pinned appimagetool Release & SHA-256 Hash
|
||||||
|
APPIMAGETOOL_VERSION="1.9.1"
|
||||||
|
APPIMAGETOOL_URL="https://github.com/AppImage/appimagetool/releases/download/${APPIMAGETOOL_VERSION}/appimagetool-x86_64.AppImage"
|
||||||
|
APPIMAGETOOL_SHA256="ed4ce84f0d9caff66f50bcca6ff6f35aae54ce8135408b3fa33abfc3cb384eb0"
|
||||||
|
|
||||||
echo "=== [1/5] Stelle Release-Binary sicher (ink-notes v${VERSION}) ==="
|
echo "=== [1/5] Stelle Release-Binary sicher (ink-notes v${VERSION}) ==="
|
||||||
if [ ! -f "target/release/ink-notes" ]; then
|
if [ ! -f "target/release/ink-notes" ]; then
|
||||||
cargo build --release
|
cargo build --release
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Prüfe glibc-Mindestversion
|
||||||
|
echo "=== Prüfe glibc-Symbolversionen ==="
|
||||||
|
MAX_GLIBC=$(objdump -T "target/release/ink-notes" | grep "GLIBC_" | sed -e 's/.*GLIBC_//' | cut -d')' -f1 | sort -V | tail -n 1 || echo "unknown")
|
||||||
|
echo "Höchste benötigte glibc-Symbolversion: GLIBC_${MAX_GLIBC}"
|
||||||
|
echo "Hinweis: ink-notes nutzt den Host-Grafikstack (Vulkan ICD, Wayland/X11) und glibc >= ${MAX_GLIBC}."
|
||||||
|
|
||||||
# Sicherstellen, dass das PNG-Icon existiert
|
# Sicherstellen, dass das PNG-Icon existiert
|
||||||
if [ ! -f "assets/ink-notes.png" ]; then
|
if [ ! -f "assets/ink-notes.png" ]; then
|
||||||
echo "Generiere PNG-Icon..."
|
echo "Generiere PNG-Icon..."
|
||||||
@@ -41,15 +52,20 @@ mkdir -p "${APPDIR}/usr/share/metainfo"
|
|||||||
cp "target/release/ink-notes" "${APPDIR}/usr/bin/ink-notes"
|
cp "target/release/ink-notes" "${APPDIR}/usr/bin/ink-notes"
|
||||||
chmod 755 "${APPDIR}/usr/bin/ink-notes"
|
chmod 755 "${APPDIR}/usr/bin/ink-notes"
|
||||||
|
|
||||||
cp "packaging/ink-notes.desktop" "${APPDIR}/usr/share/applications/ink-notes.desktop"
|
# Desktop-Datei
|
||||||
cp "packaging/ink-notes.desktop" "${APPDIR}/ink-notes.desktop"
|
cp "packaging/eu.pansi.ink-notes.desktop" "${APPDIR}/usr/share/applications/eu.pansi.ink-notes.desktop"
|
||||||
|
cp "packaging/eu.pansi.ink-notes.desktop" "${APPDIR}/eu.pansi.ink-notes.desktop"
|
||||||
|
ln -sf "eu.pansi.ink-notes.desktop" "${APPDIR}/ink-notes.desktop"
|
||||||
|
|
||||||
cp "assets/ink-notes.svg" "${APPDIR}/usr/share/icons/hicolor/scalable/apps/ink-notes.svg"
|
# Icons
|
||||||
cp "assets/ink-notes.png" "${APPDIR}/usr/share/icons/hicolor/256x256/apps/ink-notes.png"
|
cp "assets/ink-notes.svg" "${APPDIR}/usr/share/icons/hicolor/scalable/apps/eu.pansi.ink-notes.svg"
|
||||||
cp "assets/ink-notes.png" "${APPDIR}/ink-notes.png"
|
cp "assets/ink-notes.png" "${APPDIR}/usr/share/icons/hicolor/256x256/apps/eu.pansi.ink-notes.png"
|
||||||
ln -sf "ink-notes.png" "${APPDIR}/.DirIcon"
|
cp "assets/ink-notes.png" "${APPDIR}/eu.pansi.ink-notes.png"
|
||||||
|
ln -sf "eu.pansi.ink-notes.png" "${APPDIR}/.DirIcon"
|
||||||
|
|
||||||
cp "packaging/ink-notes.metainfo.xml" "${APPDIR}/usr/share/metainfo/eu.pansi.ink-notes.metainfo.xml"
|
# Metainfo
|
||||||
|
cp "packaging/eu.pansi.ink-notes.metainfo.xml" "${APPDIR}/usr/share/metainfo/eu.pansi.ink-notes.metainfo.xml"
|
||||||
|
cp "packaging/eu.pansi.ink-notes.metainfo.xml" "${APPDIR}/usr/share/metainfo/eu.pansi.ink-notes.appdata.xml"
|
||||||
|
|
||||||
# AppRun Skript erstellen
|
# AppRun Skript erstellen
|
||||||
cat <<'EOF' > "${APPDIR}/AppRun"
|
cat <<'EOF' > "${APPDIR}/AppRun"
|
||||||
@@ -62,11 +78,32 @@ exec "${SELF_DIR}/usr/bin/ink-notes" "$@"
|
|||||||
EOF
|
EOF
|
||||||
chmod 755 "${APPDIR}/AppRun"
|
chmod 755 "${APPDIR}/AppRun"
|
||||||
|
|
||||||
echo "=== [3/5] Hole appimagetool (gecacht in ${CACHE_DIR}) ==="
|
echo "=== [3/5] Hole & verifiziere gepinntes appimagetool v${APPIMAGETOOL_VERSION} ==="
|
||||||
mkdir -p "${CACHE_DIR}"
|
mkdir -p "${CACHE_DIR}"
|
||||||
if [ ! -f "${APPIMAGETOOL}" ]; then
|
|
||||||
echo "Lade appimagetool herunter..."
|
need_download=true
|
||||||
curl -fsSL -o "${APPIMAGETOOL}" "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage"
|
if [ -f "${APPIMAGETOOL}" ]; then
|
||||||
|
CURRENT_HASH=$(sha256sum "${APPIMAGETOOL}" | cut -d' ' -f1)
|
||||||
|
if [ "${CURRENT_HASH}" = "${APPIMAGETOOL_SHA256}" ]; then
|
||||||
|
need_download=false
|
||||||
|
else
|
||||||
|
echo "Gecachtes appimagetool hat ungültigen Hash. Lade neu herunter..."
|
||||||
|
rm -f "${APPIMAGETOOL}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${need_download}" = true ]; then
|
||||||
|
echo "Lade appimagetool v${APPIMAGETOOL_VERSION} herunter..."
|
||||||
|
curl -fsSL -o "${APPIMAGETOOL}.tmp" "${APPIMAGETOOL_URL}"
|
||||||
|
DOWNLOAD_HASH=$(sha256sum "${APPIMAGETOOL}.tmp" | cut -d' ' -f1)
|
||||||
|
if [ "${DOWNLOAD_HASH}" != "${APPIMAGETOOL_SHA256}" ]; then
|
||||||
|
echo "FEHLER: SHA256-Prüfsumme für appimagetool stimmt nicht überein!"
|
||||||
|
echo "Erwartet: ${APPIMAGETOOL_SHA256}"
|
||||||
|
echo "Erhalten: ${DOWNLOAD_HASH}"
|
||||||
|
rm -f "${APPIMAGETOOL}.tmp"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
mv "${APPIMAGETOOL}.tmp" "${APPIMAGETOOL}"
|
||||||
chmod +x "${APPIMAGETOOL}"
|
chmod +x "${APPIMAGETOOL}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
+96
-20
@@ -16,7 +16,7 @@ ARCH="amd64"
|
|||||||
DEB_NAME="${PKG_NAME}_${VERSION}_${ARCH}.deb"
|
DEB_NAME="${PKG_NAME}_${VERSION}_${ARCH}.deb"
|
||||||
STAGING_DIR="${ROOT_DIR}/target/deb_staging"
|
STAGING_DIR="${ROOT_DIR}/target/deb_staging"
|
||||||
|
|
||||||
echo "=== [1/4] Baue Release-Binary mit Cargo (ink-notes v${VERSION}) ==="
|
echo "=== [1/5] Baue Release-Binary mit Cargo (ink-notes v${VERSION}) ==="
|
||||||
cargo build --release
|
cargo build --release
|
||||||
|
|
||||||
# Sicherstellen, dass das PNG-Icon existiert
|
# Sicherstellen, dass das PNG-Icon existiert
|
||||||
@@ -25,7 +25,23 @@ if [ ! -f "assets/ink-notes.png" ]; then
|
|||||||
python3 scripts/generate_png_icon.py
|
python3 scripts/generate_png_icon.py
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "=== [2/4] Erstelle Paketstruktur in ${STAGING_DIR} ==="
|
echo "=== [2/5] Ermittle tatsächliche Abhängigkeiten (ldd & dpkg-shlibdeps) ==="
|
||||||
|
echo "Linker-Abhängigkeiten (ldd):"
|
||||||
|
ldd target/release/ink-notes
|
||||||
|
|
||||||
|
if command -v dpkg-shlibdeps >/dev/null 2>&1; then
|
||||||
|
echo "Ermittle automatische shlibdeps via dpkg-shlibdeps..."
|
||||||
|
TEMP_CONTROL_DIR="$(mktemp -d)"
|
||||||
|
mkdir -p "${TEMP_CONTROL_DIR}/debian"
|
||||||
|
echo "Source: ${PKG_NAME}" > "${TEMP_CONTROL_DIR}/debian/control"
|
||||||
|
(
|
||||||
|
cd "${TEMP_CONTROL_DIR}"
|
||||||
|
dpkg-shlibdeps -O "${ROOT_DIR}/target/release/ink-notes" 2>/dev/null || true
|
||||||
|
)
|
||||||
|
rm -rf "${TEMP_CONTROL_DIR}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "=== [3/5] Erstelle Paketstruktur in ${STAGING_DIR} ==="
|
||||||
rm -rf "${STAGING_DIR}"
|
rm -rf "${STAGING_DIR}"
|
||||||
mkdir -p "${STAGING_DIR}/DEBIAN"
|
mkdir -p "${STAGING_DIR}/DEBIAN"
|
||||||
mkdir -p "${STAGING_DIR}/usr/bin"
|
mkdir -p "${STAGING_DIR}/usr/bin"
|
||||||
@@ -33,44 +49,104 @@ mkdir -p "${STAGING_DIR}/usr/share/applications"
|
|||||||
mkdir -p "${STAGING_DIR}/usr/share/icons/hicolor/scalable/apps"
|
mkdir -p "${STAGING_DIR}/usr/share/icons/hicolor/scalable/apps"
|
||||||
mkdir -p "${STAGING_DIR}/usr/share/icons/hicolor/256x256/apps"
|
mkdir -p "${STAGING_DIR}/usr/share/icons/hicolor/256x256/apps"
|
||||||
mkdir -p "${STAGING_DIR}/usr/share/metainfo"
|
mkdir -p "${STAGING_DIR}/usr/share/metainfo"
|
||||||
|
mkdir -p "${STAGING_DIR}/usr/share/doc/${PKG_NAME}"
|
||||||
|
|
||||||
# 2. Dateien kopieren
|
# Dateien kopieren
|
||||||
cp "target/release/ink-notes" "${STAGING_DIR}/usr/bin/ink-notes"
|
cp "target/release/ink-notes" "${STAGING_DIR}/usr/bin/ink-notes"
|
||||||
|
|
||||||
|
# Desktop-Dateien (sowohl mit AppStream ID als auch Legacy Name)
|
||||||
|
cp "packaging/eu.pansi.ink-notes.desktop" "${STAGING_DIR}/usr/share/applications/eu.pansi.ink-notes.desktop"
|
||||||
|
cp "packaging/eu.pansi.ink-notes.desktop" "${STAGING_DIR}/usr/share/applications/ink-notes.desktop"
|
||||||
|
|
||||||
|
# Icons (eu.pansi.ink-notes & ink-notes)
|
||||||
|
cp "assets/ink-notes.svg" "${STAGING_DIR}/usr/share/icons/hicolor/scalable/apps/eu.pansi.ink-notes.svg"
|
||||||
|
cp "assets/ink-notes.svg" "${STAGING_DIR}/usr/share/icons/hicolor/scalable/apps/ink-notes.svg"
|
||||||
|
cp "assets/ink-notes.png" "${STAGING_DIR}/usr/share/icons/hicolor/256x256/apps/eu.pansi.ink-notes.png"
|
||||||
|
cp "assets/ink-notes.png" "${STAGING_DIR}/usr/share/icons/hicolor/256x256/apps/ink-notes.png"
|
||||||
|
|
||||||
|
# AppStream Metainfo
|
||||||
|
cp "packaging/eu.pansi.ink-notes.metainfo.xml" "${STAGING_DIR}/usr/share/metainfo/eu.pansi.ink-notes.metainfo.xml"
|
||||||
|
|
||||||
|
# Debian doc: copyright
|
||||||
|
cat <<'EOF' > "${STAGING_DIR}/usr/share/doc/ink-notes/copyright"
|
||||||
|
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
|
Upstream-Name: ink-notes
|
||||||
|
Upstream-Contact: Harald <harald@pansi.eu>
|
||||||
|
Source: https://gitea.pansi.eu/harald/ink-notes
|
||||||
|
|
||||||
|
Files: *
|
||||||
|
Copyright: 2026 Harald Pansi <harald@pansi.eu>
|
||||||
|
License: MIT
|
||||||
|
|
||||||
|
License: MIT
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
.
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
.
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Debian doc: changelog.gz
|
||||||
|
CHANGELOG_TMP="$(mktemp)"
|
||||||
|
cat <<EOF > "${CHANGELOG_TMP}"
|
||||||
|
ink-notes (${VERSION}-1) stable; urgency=medium
|
||||||
|
|
||||||
|
* Release v${VERSION}.
|
||||||
|
* Low-latency vector inking with two-stage pipeline.
|
||||||
|
* Shape recognition and infinite canvas with zoom/pan.
|
||||||
|
* Multi-notebook management and PDF export.
|
||||||
|
|
||||||
|
-- Harald <harald@pansi.eu> $(date -R)
|
||||||
|
EOF
|
||||||
|
gzip -n -9 -c "${CHANGELOG_TMP}" > "${STAGING_DIR}/usr/share/doc/ink-notes/changelog.gz"
|
||||||
|
rm -f "${CHANGELOG_TMP}"
|
||||||
|
|
||||||
|
# Berechtigungen penibel setzen
|
||||||
|
find "${STAGING_DIR}" -type d -exec chmod 755 {} +
|
||||||
|
find "${STAGING_DIR}/usr/share" -type f -exec chmod 644 {} +
|
||||||
|
chmod 755 "${STAGING_DIR}/DEBIAN"
|
||||||
chmod 755 "${STAGING_DIR}/usr/bin/ink-notes"
|
chmod 755 "${STAGING_DIR}/usr/bin/ink-notes"
|
||||||
|
|
||||||
cp "packaging/ink-notes.desktop" "${STAGING_DIR}/usr/share/applications/ink-notes.desktop"
|
# DEBIAN/control Datei generieren
|
||||||
chmod 644 "${STAGING_DIR}/usr/share/applications/ink-notes.desktop"
|
|
||||||
|
|
||||||
cp "assets/ink-notes.svg" "${STAGING_DIR}/usr/share/icons/hicolor/scalable/apps/ink-notes.svg"
|
|
||||||
chmod 644 "${STAGING_DIR}/usr/share/icons/hicolor/scalable/apps/ink-notes.svg"
|
|
||||||
|
|
||||||
cp "assets/ink-notes.png" "${STAGING_DIR}/usr/share/icons/hicolor/256x256/apps/ink-notes.png"
|
|
||||||
chmod 644 "${STAGING_DIR}/usr/share/icons/hicolor/256x256/apps/ink-notes.png"
|
|
||||||
|
|
||||||
cp "packaging/ink-notes.metainfo.xml" "${STAGING_DIR}/usr/share/metainfo/eu.pansi.ink-notes.metainfo.xml"
|
|
||||||
chmod 644 "${STAGING_DIR}/usr/share/metainfo/eu.pansi.ink-notes.metainfo.xml"
|
|
||||||
|
|
||||||
# 3. DEBIAN/control Datei generieren
|
|
||||||
cat <<EOF > "${STAGING_DIR}/DEBIAN/control"
|
cat <<EOF > "${STAGING_DIR}/DEBIAN/control"
|
||||||
Package: ${PKG_NAME}
|
Package: ${PKG_NAME}
|
||||||
Version: ${VERSION}
|
Version: ${VERSION}
|
||||||
Architecture: ${ARCH}
|
Architecture: ${ARCH}
|
||||||
Maintainer: Harald <harald@pansi.eu>
|
Maintainer: Harald <harald@pansi.eu>
|
||||||
Installed-Size: $(du -ks "${STAGING_DIR}/usr" | cut -f1)
|
Installed-Size: $(du -ks "${STAGING_DIR}/usr" | cut -f1)
|
||||||
Depends: libc6, libx11-6, libxcursor1, libxrandr2, libxi6, libxkbcommon0
|
Depends: libc6 (>= 2.38), libgcc-s1, libvulkan1, mesa-vulkan-drivers | vulkan-icd, libwayland-client0, libx11-6, libxcursor1, libxrandr2, libxi6, libxkbcommon0, xdg-utils
|
||||||
Section: utils
|
Section: utils
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Homepage: https://farmersdog.pansi.eu/harald/ink-notes
|
Homepage: https://gitea.pansi.eu/harald/ink-notes
|
||||||
Description: Latenzoptimierte Vektor-Notizbuch- und Inking-App für Linux
|
Description: Latenzoptimierte Vektor-Notizbuch- und Inking-App für Linux
|
||||||
ink-notes kombiniert minimale Stylus-Latenz mit GPU-Hardwarebeschleunigung (wgpu),
|
ink-notes kombiniert minimale Stylus-Latenz mit GPU-Hardwarebeschleunigung (wgpu),
|
||||||
stufenlosem Viewport, Geometrie- und Formerkennung, Objekt-Transformationen,
|
stufenlosem Viewport, Geometrie- und Formerkennung, Objekt-Transformationen,
|
||||||
Multi-Dokumenten-Verwaltung und Vektor-PDF-Export.
|
Multi-Dokumenten-Verwaltung und Vektor-PDF-Export.
|
||||||
EOF
|
EOF
|
||||||
|
chmod 644 "${STAGING_DIR}/DEBIAN/control"
|
||||||
|
|
||||||
echo "=== [3/4] Schnüre .deb-Paket mit dpkg-deb ==="
|
echo "=== [4/5] Schnüre .deb-Paket mit dpkg-deb ==="
|
||||||
dpkg-deb --build --root-owner-group "${STAGING_DIR}" "${ROOT_DIR}/target/${DEB_NAME}"
|
dpkg-deb --build --root-owner-group "${STAGING_DIR}" "${ROOT_DIR}/target/${DEB_NAME}"
|
||||||
|
|
||||||
echo "=== [4/4] Paket erfolgreich erstellt: target/${DEB_NAME} ==="
|
echo "=== [5/5] Paket erfolgreich erstellt: target/${DEB_NAME} ==="
|
||||||
ls -lh "${ROOT_DIR}/target/${DEB_NAME}"
|
ls -lh "${ROOT_DIR}/target/${DEB_NAME}"
|
||||||
dpkg-deb -I "${ROOT_DIR}/target/${DEB_NAME}"
|
dpkg-deb -I "${ROOT_DIR}/target/${DEB_NAME}"
|
||||||
|
|
||||||
|
if command -v lintian >/dev/null 2>&1; then
|
||||||
|
echo "=== Prüfe Paket mit lintian ==="
|
||||||
|
lintian "${ROOT_DIR}/target/${DEB_NAME}" || true
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Fertig!"
|
echo "Fertig!"
|
||||||
|
|||||||
Reference in New Issue
Block a user