mirror of https://github.com/koreader/koreader
[build] Add support for Debian packages (#4434)
* Add support for Debian packages * SDL: add device probepull/4443/head
parent
7055ffe7d6
commit
6de5927dc2
@ -0,0 +1,63 @@
|
||||
#!/bin/bash
|
||||
# Script to generate debian packages for KOReader
|
||||
|
||||
if [ -z "${1}" ]; then
|
||||
echo "${0}: can't find KOReader build, please specify a path"
|
||||
exit 1
|
||||
else
|
||||
INSTALL_DIR="${1}"
|
||||
VERSION="$(cut -f2 -dv "${1}/koreader/git-rev" | cut -f1,2 -d-)"
|
||||
fi
|
||||
|
||||
uname_to_debian() {
|
||||
if [ "$(uname -m)" == "x86_64" ]; then
|
||||
echo "amd64"
|
||||
elif [ "$(uname -m)" == "i686" ]; then
|
||||
echo "i686"
|
||||
elif [ "$(uname -m)" == "arm64" ]; then
|
||||
echo "aarch64"
|
||||
else
|
||||
echo "any"
|
||||
fi
|
||||
}
|
||||
|
||||
if [ -z "${2}" ]; then
|
||||
ARCH="$(uname_to_debian)"
|
||||
else
|
||||
ARCH="${2}"
|
||||
fi
|
||||
|
||||
command_exists() {
|
||||
type "$1" >/dev/null 2>/dev/null
|
||||
}
|
||||
|
||||
# Run only if dpkg-deb exists
|
||||
COMMAND="dpkg-deb"
|
||||
if command_exists "$COMMAND"; then
|
||||
mkdir -p "${INSTALL_DIR}/debian/DEBIAN"
|
||||
{
|
||||
echo "Section: graphics"
|
||||
echo "Priority: optional"
|
||||
echo "Depends: libsdl2-2.0-0"
|
||||
echo "Architecture: ${ARCH}"
|
||||
echo "Version: ${VERSION}"
|
||||
echo "Installed-Size: $(du -ks "${INSTALL_DIR}/debian/usr/" | cut -f 1)"
|
||||
|
||||
echo "Package: KOReader"
|
||||
echo "Maintainer: KOReader team"
|
||||
echo "Homepage: https://koreader.rocks"
|
||||
echo "Description: An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats"
|
||||
echo " KOReader is a document viewer application, originally created for Kindle e-ink readers."
|
||||
echo " It currently runs on Kindle, Kobo, PocketBook, Ubuntu Touch, Android and Linux devices"
|
||||
|
||||
} >"${INSTALL_DIR}/debian/DEBIAN/control"
|
||||
|
||||
(cd "${INSTALL_DIR}/.." \
|
||||
&& fakeroot dpkg-deb -b "${INSTALL_DIR}/debian" "koreader-${VERSION}-${ARCH}.deb")
|
||||
else
|
||||
echo "${COMMAND} not found, unable to build Debian package"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Name=KOReader
|
||||
Comment=KOReader is a document viewer
|
||||
Exec=koreader %u
|
||||
Icon=koreader
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Graphics;
|
||||
MimeType=application/pdf;application/x-cbz;application/epub+zip;image/vnd.djvu;text/plain;
|
@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
export LC_ALL="en_US.UTF-8"
|
||||
|
||||
# writable storage: ${HOME}/.config/koreader.
|
||||
export KO_MULTIUSER=1
|
||||
|
||||
if [ -z "${1}" ]; then
|
||||
ARGS="${HOME}"
|
||||
else
|
||||
if [ $# -eq 1 ] && [ -e "$(pwd)/${1}" ]; then
|
||||
ARGS="$(pwd)/${1}"
|
||||
else
|
||||
ARGS="${*}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# working directory of koreader
|
||||
KOREADER_DIR="/usr/lib/koreader"
|
||||
|
||||
# we're always starting from our working directory
|
||||
cd "${KOREADER_DIR}" || exit
|
||||
|
||||
# export load library path
|
||||
export LD_LIBRARY_PATH=${KOREADER_DIR}/libs:$LD_LIBRARY_PATH
|
||||
|
||||
# export external font directory
|
||||
export EXT_FONT_DIR="${HOME}/.config/koreader/fonts"
|
||||
[ ! -d "${EXT_FONT_DIR}" ] && mkdir -pv "${EXT_FONT_DIR}"
|
||||
|
||||
RETURN_VALUE=85
|
||||
while [ $RETURN_VALUE -eq 85 ]; do
|
||||
./reader.lua "${ARGS}"
|
||||
RETURN_VALUE=$?
|
||||
# do not restart with saved arguments
|
||||
ARGS="${HOME}"
|
||||
done
|
||||
|
||||
# remove the flag to avoid emulator confusion
|
||||
export -n KO_MULTIUSER
|
||||
|
||||
exit $RETURN_VALUE
|
||||
|
Loading…
Reference in New Issue