debian packaging that work ???

This commit is contained in:
Stepland 2023-08-04 17:14:32 +02:00
parent 447404dbf9
commit 90880e55db
7 changed files with 75 additions and 1 deletions

1
debian_packaging/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
package

23
debian_packaging/build_deb.sh Executable file
View File

@ -0,0 +1,23 @@
#!/bin/bash
set -euxo pipefail
SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")"
if (( $# < 3 )); then
echo "usage : $0 EXECUTABLE ASSETS ICON "
exit 1
fi
EXECUTABLE="$1"
ASSETS="$2"
ICON="$3"
PACKAGE_DIR="${SCRIPT_DIR}/package"
rm -rf "${PACKAGE_DIR}"
mkdir -p "${PACKAGE_DIR}"
cp "${SCRIPT_DIR}/f.e.i.s-control" "${SCRIPT_DIR}/f.e.i.s.desktop" "${SCRIPT_DIR}/postinst" "${SCRIPT_DIR}/postrm" "${PACKAGE_DIR}"
cp "${EXECUTABLE}" "${PACKAGE_DIR}/f.e.i.s"
cp "${ICON}" "${PACKAGE_DIR}/f.e.i.s.svg"
tar --create --gzip --owner root --group root --mode="u=rwX,g=rwX,o=rX" --file "${PACKAGE_DIR}/assets.tar.gz" "${ASSETS}"
cd "${PACKAGE_DIR}"
equivs-build f.e.i.s-control

View File

@ -0,0 +1,18 @@
Package: f.e.i.s
Version: 2.0.0
Section: misc
Priority: optional
Homepage: https://gitlab.com/square-game-liberation-front/F.E.I.S
Standards-Version: 3.9.2
Maintainer: Stepland <Stepland@hotmail.fr>
Depends: libsfml-system2.5 (>= 2.5.1), libsfml-window2.5 (>= 2.5.1), libsfml-graphics2.5 (>= 2.5.1), libsfml-audio2.5 (>= 2.5.1), libopenal1, libgmp10, libaubio5
Architecture: amd64
Description: jubeat chart editor
F.E.I.S is a GUI chart editor for jubeat and its simulators, inspired by ArrowVortex
Links: /opt/f.e.i.s/bin/f.e.i.s /usr/bin/f.e.i.s
Files: f.e.i.s /opt/f.e.i.s/bin
assets.tar.gz /opt/f.e.i.s/bin
f.e.i.s.desktop /usr/share/applications
f.e.i.s.svg /usr/share/icons/hicolor/scalable/apps
Postinst: postinst
Postrm: postrm

View File

@ -0,0 +1,8 @@
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=F.E.I.S
Comment=Jubeat chart editor
Exec=f.e.i.s
Icon=f.e.i.s
Terminal=false

16
debian_packaging/postinst Normal file
View File

@ -0,0 +1,16 @@
#!/bin/bash
# update icons
/bin/touch --no-create /usr/share/icons/hicolor &>/dev/null || true
/usr/bin/gtk-update-icon-cache /usr/share/icons/* &>/dev/null || true
# extract assets
tar \
--extract \
--gzip \
--directory /opt/f.e.i.s/bin \
--file /opt/f.e.i.s/bin/assets.tar.gz
rm -f /opt/f.e.i.s/bin/assets.tar.gz
mkdir -p /opt/f.e.i.s/bin/settings
chmod 777 /opt/f.e.i.s/bin/settings

8
debian_packaging/postrm Normal file
View File

@ -0,0 +1,8 @@
#!/bin/bash
# update icons
/bin/touch --no-create /usr/share/icons/hicolor &>/dev/null || true
/usr/bin/gtk-update-icon-cache /usr/share/icons/* &>/dev/null || true
# remove extracted assets not tracked by the .deb package
rm -rf /opt/f.e.i.s/bin/assets

View File

@ -21,7 +21,7 @@ gl_dep = dependency('gl')
deps += [gl_dep]
openal_dep = dependency('openal')
deps += [openal_dep]
mpdecpp_dep = dependency('mpdec++', fallback: ['mpdecimal', 'mpdecpp_dep'])
mpdecpp_dep = dependency('mpdec++', fallback: ['mpdecimal', 'mpdecpp_dep'], static: true)
deps += [mpdecpp_dep]
gmp_dep = dependency('gmp')
deps += [gmp_dep]