You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.7 KiB
54 lines
1.7 KiB
#!/usr/bin/env bash |
|
|
|
set -euo pipefail |
|
|
|
cd "$(dirname "${BASH_SOURCE[0]}")" |
|
|
|
readonly OUT="${1:-../../build/devilutionx.ipk}" |
|
readonly IN="${2:-../../build/devilutionx.dge}" |
|
|
|
readonly PKG_TARGET=devilutionx |
|
readonly TMP="tmp/${PKG_TARGET}" |
|
|
|
pkg_control_get() { |
|
sed -n control -e 's/^.*'"$1"': //p' |
|
} |
|
|
|
readonly PKG_SECTION="$(pkg_control_get Section)" |
|
readonly PKG_INSTALL_DIR="home/retrofw/${PKG_SECTION}/${PKG_TARGET}" |
|
readonly PKG_LOCAL_DIR="home/retrofw/.local/share/diasurgical/devilution" |
|
readonly PKG_MENU_LNK_OUT="home/retrofw/apps/gmenu2x/sections/${PKG_SECTION}/${PKG_TARGET}.lnk" |
|
|
|
echo 1>&2 Packaging ${OUT} from ${TMP}... |
|
|
|
set -x |
|
rm -rf "${TMP}" |
|
mkdir -p "${TMP}" |
|
|
|
# data.tar.gz |
|
mkdir -p "${TMP}/root/${PKG_INSTALL_DIR}" "${TMP}/root/${PKG_LOCAL_DIR}" |
|
cp "$IN" "${TMP}/root/${PKG_INSTALL_DIR}/${PKG_TARGET}.dge" |
|
cp ../resources/Diablo_32.png "${TMP}/root/${PKG_INSTALL_DIR}/devilutionx.png" |
|
cp devilutionx.man.txt ../resources/CharisSILB.ttf ../resources/LICENSE.CharisSILB.txt "${TMP}/root/${PKG_INSTALL_DIR}" |
|
cp diablo.ini "${TMP}/root/${PKG_LOCAL_DIR}/diablo.ini" |
|
mkdir -p "${TMP}/root/$(dirname "$PKG_MENU_LNK_OUT")" |
|
printf "%s\n" \ |
|
"title=DevilutionX" \ |
|
"description=$(pkg_control_get Description)" \ |
|
"exec=/${PKG_INSTALL_DIR}/${PKG_TARGET}.dge" \ |
|
> "${TMP}/root/${PKG_MENU_LNK_OUT}" |
|
tar --owner=0 --group=0 -czvf "${TMP}/data.tar.gz" -C "${TMP}/root/" . |
|
|
|
# control.tar.gz |
|
sed -e "s/^Version:.*/Version: $(date +%Y%m%d)/" control > "${TMP}/control" |
|
printf "%s\n" \ |
|
"/$PKG_MENU_LNK_OUT" \ |
|
"/${PKG_LOCAL_DIR}/diablo.ini" \ |
|
>> ${TMP}/conffiles |
|
tar --owner=0 --group=0 -czvf "${TMP}/control.tar.gz" -C "${TMP}/" control conffiles |
|
|
|
printf '2.0\n' > "${TMP}/debian-binary" |
|
ar r "$OUT" \ |
|
"${TMP}/control.tar.gz" \ |
|
"${TMP}/data.tar.gz" \ |
|
"${TMP}/debian-binary"
|
|
|