mirror of
https://github.com/koreader/koreader.git
synced 2025-12-24 12:14:05 +01:00
SDL: add flatpak flavor (#11833)
* ship metadata with generic linux binaries * append release version & data at build time
This commit is contained in:
5
Makefile
5
Makefile
@@ -3,11 +3,12 @@ KOR_BASE?=base
|
|||||||
|
|
||||||
include $(KOR_BASE)/Makefile.defs
|
include $(KOR_BASE)/Makefile.defs
|
||||||
|
|
||||||
|
RELEASE_DATE := $(shell git show -s --format=format:"%cd" --date=short HEAD)
|
||||||
# We want VERSION to carry the version of the KOReader main repo, not that of koreader-base
|
# We want VERSION to carry the version of the KOReader main repo, not that of koreader-base
|
||||||
VERSION:=$(shell git describe HEAD)
|
VERSION := $(shell git describe HEAD)
|
||||||
# Only append date if we're not on a whole version, like v2018.11
|
# Only append date if we're not on a whole version, like v2018.11
|
||||||
ifneq (,$(findstring -,$(VERSION)))
|
ifneq (,$(findstring -,$(VERSION)))
|
||||||
VERSION:=$(VERSION)_$(shell git show -s --format=format:"%cd" --date=short HEAD)
|
VERSION := $(VERSION)_$(RELEASE_DATE)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# releases do not contain tests and misc data
|
# releases do not contain tests and misc data
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ function DataStorage:getDataDir()
|
|||||||
local package_name = app_id:match("^(.-)_")
|
local package_name = app_id:match("^(.-)_")
|
||||||
-- confined ubuntu app has write access to this dir
|
-- confined ubuntu app has write access to this dir
|
||||||
data_dir = string.format("%s/%s", os.getenv("XDG_DATA_HOME"), package_name)
|
data_dir = string.format("%s/%s", os.getenv("XDG_DATA_HOME"), package_name)
|
||||||
elseif os.getenv("APPIMAGE") or os.getenv("KO_MULTIUSER") then
|
elseif os.getenv("APPIMAGE") or os.getenv("FLATPAK") or os.getenv("KO_MULTIUSER") then
|
||||||
if os.getenv("XDG_CONFIG_HOME") then
|
if os.getenv("XDG_CONFIG_HOME") then
|
||||||
data_dir = string.format("%s/%s", os.getenv("XDG_CONFIG_HOME"), "koreader")
|
data_dir = string.format("%s/%s", os.getenv("XDG_CONFIG_HOME"), "koreader")
|
||||||
if lfs.attributes(os.getenv("XDG_CONFIG_HOME"), "mode") ~= "directory" then
|
if lfs.attributes(os.getenv("XDG_CONFIG_HOME"), "mode") ~= "directory" then
|
||||||
|
|||||||
@@ -120,6 +120,12 @@ local Desktop = Device:extend{
|
|||||||
hasExitOptions = notOSX,
|
hasExitOptions = notOSX,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local Flatpak = Device:extend{
|
||||||
|
model = "Flatpak",
|
||||||
|
isDesktop = yes,
|
||||||
|
canExternalDictLookup = no,
|
||||||
|
}
|
||||||
|
|
||||||
local Emulator = Device:extend{
|
local Emulator = Device:extend{
|
||||||
model = "Emulator",
|
model = "Emulator",
|
||||||
isEmulator = yes,
|
isEmulator = yes,
|
||||||
@@ -436,6 +442,8 @@ io.write("Starting SDL in " .. SDL.getBasePath() .. "\n")
|
|||||||
-------------- device probe ------------
|
-------------- device probe ------------
|
||||||
if os.getenv("APPIMAGE") then
|
if os.getenv("APPIMAGE") then
|
||||||
return AppImage
|
return AppImage
|
||||||
|
elseif os.getenv("FLATPAK") then
|
||||||
|
return Flatpak
|
||||||
elseif os.getenv("KO_MULTIUSER") then
|
elseif os.getenv("KO_MULTIUSER") then
|
||||||
return Desktop
|
return Desktop
|
||||||
elseif os.getenv("UBUNTU_APPLICATION_ISOLATION") then
|
elseif os.getenv("UBUNTU_APPLICATION_ISOLATION") then
|
||||||
|
|||||||
@@ -7,9 +7,9 @@ update: all
|
|||||||
# remove old package if any
|
# remove old package if any
|
||||||
rm -f koreader-appimage-$(MACHINE)-$(VERSION).appimage
|
rm -f koreader-appimage-$(MACHINE)-$(VERSION).appimage
|
||||||
$(SYMLINK) $(abspath $(APPIMAGE_DIR)/AppRun) $(INSTALL_DIR)/koreader/
|
$(SYMLINK) $(abspath $(APPIMAGE_DIR)/AppRun) $(INSTALL_DIR)/koreader/
|
||||||
$(SYMLINK) $(abspath $(APPIMAGE_DIR)/koreader.appdata.xml) $(INSTALL_DIR)/koreader/
|
|
||||||
$(SYMLINK) $(abspath $(APPIMAGE_DIR)/koreader.desktop) $(INSTALL_DIR)/koreader/
|
$(SYMLINK) $(abspath $(APPIMAGE_DIR)/koreader.desktop) $(INSTALL_DIR)/koreader/
|
||||||
$(SYMLINK) $(abspath resources/koreader.png) $(INSTALL_DIR)/koreader/
|
$(SYMLINK) $(abspath resources/koreader.png) $(INSTALL_DIR)/koreader/
|
||||||
|
sed -e 's/%%VERSION%%/$(VERSION)/' -e 's/%%DATE%%/$(RELEASE_DATE)/' $(APPIMAGE_DIR)/koreader.appdata.xml >$(INSTALL_DIR)/koreader/koreader.appdata.xml
|
||||||
# TODO at best this is DebUbuntu specific
|
# TODO at best this is DebUbuntu specific
|
||||||
$(SYMLINK) /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 $(INSTALL_DIR)/koreader/libs/libSDL2.so
|
$(SYMLINK) /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 $(INSTALL_DIR)/koreader/libs/libSDL2.so
|
||||||
# required for our stock Ubuntu SDL even though we don't use sound
|
# required for our stock Ubuntu SDL even though we don't use sound
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ update: all
|
|||||||
$(INSTALL_DIR)/linux/share/applications \
|
$(INSTALL_DIR)/linux/share/applications \
|
||||||
$(INSTALL_DIR)/linux/share/doc/koreader \
|
$(INSTALL_DIR)/linux/share/doc/koreader \
|
||||||
$(INSTALL_DIR)/linux/share/man/man1
|
$(INSTALL_DIR)/linux/share/man/man1
|
||||||
|
sed -e 's/%%VERSION%%/$(VERSION)/' -e 's/%%DATE%%/$(RELEASE_DATE)/' $(PLATFORM_DIR)/appimage/koreader.appdata.xml >$(INSTALL_DIR)/linux/koreader.appdata.xml
|
||||||
cp -pv resources/koreader.png $(INSTALL_DIR)/linux/share/pixmaps
|
cp -pv resources/koreader.png $(INSTALL_DIR)/linux/share/pixmaps
|
||||||
cp -pv $(LINUX_DIR)/koreader.desktop $(INSTALL_DIR)/linux/share/applications
|
cp -pv $(LINUX_DIR)/koreader.desktop $(INSTALL_DIR)/linux/share/applications
|
||||||
cp -pv $(LINUX_DIR)/copyright COPYING $(INSTALL_DIR)/linux/share/doc/koreader
|
cp -pv $(LINUX_DIR)/copyright COPYING $(INSTALL_DIR)/linux/share/doc/koreader
|
||||||
|
|||||||
@@ -50,5 +50,8 @@
|
|||||||
<category>Viewer</category>
|
<category>Viewer</category>
|
||||||
<category>Literature</category>
|
<category>Literature</category>
|
||||||
</categories>
|
</categories>
|
||||||
|
<releases>
|
||||||
|
<release version="%%VERSION%%" date="%%DATE%%"/>
|
||||||
|
</releases>
|
||||||
<content_rating type="oars-1.1"/>
|
<content_rating type="oars-1.1"/>
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ fi
|
|||||||
mkdir -p tmp-debian/usr
|
mkdir -p tmp-debian/usr
|
||||||
chmod 0755 tmp-debian/usr
|
chmod 0755 tmp-debian/usr
|
||||||
tar -xf "${1}" -C tmp-debian/usr
|
tar -xf "${1}" -C tmp-debian/usr
|
||||||
|
rm -f tmp-debian/usr/koreader.appdata.xml
|
||||||
ARCH="$(echo "${1}" | cut -d '-' -f3)"
|
ARCH="$(echo "${1}" | cut -d '-' -f3)"
|
||||||
VERSION="$(cut -f2 -dv "tmp-debian/usr/lib/koreader/git-rev" | cut -f1,2 -d-)"
|
VERSION="$(cut -f2 -dv "tmp-debian/usr/lib/koreader/git-rev" | cut -f1,2 -d-)"
|
||||||
DEB_ARCH="$(uname_to_debian "${ARCH}")"
|
DEB_ARCH="$(uname_to_debian "${ARCH}")"
|
||||||
|
|||||||
Reference in New Issue
Block a user