Implement Flatpak build
This commit is contained in:
parent
3bf4148aca
commit
e04f1370d1
3 changed files with 63 additions and 36 deletions
|
|
@ -17,6 +17,7 @@ BRANDING_FOLDER=$SOURCE_FOLDER/browser/branding/librewolf;
|
||||||
ICON_FOLDER=$REPOSITORY_FOLDER/branding/icon/;
|
ICON_FOLDER=$REPOSITORY_FOLDER/branding/icon/;
|
||||||
PACKAGE_FILE="librewolf*.tar.bz2";
|
PACKAGE_FILE="librewolf*.tar.bz2";
|
||||||
APPIMAGE_RESOURCE_FOLDER=$SCRIPT_FOLDER/resources/appimage;
|
APPIMAGE_RESOURCE_FOLDER=$SCRIPT_FOLDER/resources/appimage;
|
||||||
|
FLATPAK_MANIFEST_FILE=$SCRIPT_FOLDER/resources/flatpak/io.gitlab.LibreWolf.json;
|
||||||
printf "SCRIPT_FOLDER: $SCRIPT_FOLDER\n";
|
printf "SCRIPT_FOLDER: $SCRIPT_FOLDER\n";
|
||||||
printf "REPOSITORY_FOLDER: $REPOSITORY_FOLDER\n";
|
printf "REPOSITORY_FOLDER: $REPOSITORY_FOLDER\n";
|
||||||
printf "SOURCE_FOLDER: $SOURCE_FOLDER\n";
|
printf "SOURCE_FOLDER: $SOURCE_FOLDER\n";
|
||||||
|
|
@ -24,6 +25,7 @@ printf "BRANDING_FOLDER: $BRANDING_FOLDER\n";
|
||||||
printf "ICON_FOLDER: $ICON_FOLDER\n";
|
printf "ICON_FOLDER: $ICON_FOLDER\n";
|
||||||
printf "PACKAGE_FILE: $PACKAGE_FILE\n";
|
printf "PACKAGE_FILE: $PACKAGE_FILE\n";
|
||||||
printf "APPIMAGE_RESOURCE_FOLDER: $APPIMAGE_RESOURCE_FOLDER\n";
|
printf "APPIMAGE_RESOURCE_FOLDER: $APPIMAGE_RESOURCE_FOLDER\n";
|
||||||
|
printf "FLATPAK_MANIFEST_FILE: $FLATPAK_MANIFEST_FILE\n";
|
||||||
|
|
||||||
printf "\n\n-------------------------------------- PREBUILD ---------------------------------------------\n";
|
printf "\n\n-------------------------------------- PREBUILD ---------------------------------------------\n";
|
||||||
|
|
||||||
|
|
@ -122,6 +124,8 @@ tar -xvf ./$PACKAGE_FILE;
|
||||||
printf "\nCopying librewolf settings to extracted binary tarball\n";
|
printf "\nCopying librewolf settings to extracted binary tarball\n";
|
||||||
cp -r $REPOSITORY_FOLDER/settings ./librewolf/settings;
|
cp -r $REPOSITORY_FOLDER/settings ./librewolf/settings;
|
||||||
|
|
||||||
|
printf "\n\n--------------------------------- BINARY TARBALL RECREATION --------------------------------------\n";
|
||||||
|
|
||||||
# Repacks the binary tarball
|
# Repacks the binary tarball
|
||||||
printf "\nRecompressing binary tarball\n";
|
printf "\nRecompressing binary tarball\n";
|
||||||
tar -jcvf ./$PACKAGE_FILE librewolf;
|
tar -jcvf ./$PACKAGE_FILE librewolf;
|
||||||
|
|
@ -161,10 +165,40 @@ printf "\nRemoving AppImage tool\n";
|
||||||
rm -f ./appimagetool;
|
rm -f ./appimagetool;
|
||||||
rm -rf ./squashfs-root;
|
rm -rf ./squashfs-root;
|
||||||
|
|
||||||
|
|
||||||
|
printf "\n\n---------------------------------------- FLATPAK BUILD --------------------------------------------\n";
|
||||||
|
|
||||||
|
# Install flatpak
|
||||||
|
printf "\nInstalling Flatpak Builder\n";
|
||||||
|
sudo add-apt-repository -y ppa:alexlarsson/flatpak;
|
||||||
|
sudo apt update;
|
||||||
|
sudo apt install -y flatpak flatpak-builder;
|
||||||
|
|
||||||
|
# Install build dependencies
|
||||||
|
printf "\nInstalling flatpak build dependencies\n";
|
||||||
|
flatpak install -y org.gnome.Platform//3.32 org.gnome.Sdk//3.32;
|
||||||
|
|
||||||
|
# Prepare for flatpak build
|
||||||
|
printf "\nPreparing files for flatpak build\n";
|
||||||
|
mkdir "source";
|
||||||
|
cp -r ./librewolf ./source/librewolf;
|
||||||
|
|
||||||
|
# Build Repo and standalone bundle
|
||||||
|
printf "\nBuilding flatpak repository and bundle\n";
|
||||||
|
flatpak-builder --repo=librewolf-flatpak-repo build-dir $FLATPAK_MANIFEST_FILE;
|
||||||
|
flatpak build-bundle librewolf-flatpak-repo LibreWolf.flatpak $FLATPAK_MANIFEST_FILE master;
|
||||||
|
|
||||||
|
# move repo and bundle to build output here
|
||||||
|
printf "\nMoving repository and bundle to build output folder\n";
|
||||||
|
mv libreWolf-flatpak-repo build_output;
|
||||||
|
mv LibreWolf.flatpak build_output;
|
||||||
|
|
||||||
|
# Clean up flatpak files
|
||||||
|
printf "\nCleaning up flatpak related files\n";
|
||||||
|
rm -rf ./build-dir;
|
||||||
|
rm -rf ./source;
|
||||||
|
rm -rf ./.flatpak-builder;
|
||||||
|
|
||||||
# Delete the extracted binary tarball folder
|
# Delete the extracted binary tarball folder
|
||||||
printf "\nDeleting extracted binary tarball folder\n";
|
printf "\nDeleting extracted binary tarball folder\n";
|
||||||
rm -rf ./librewolf;
|
rm -rf ./librewolf;
|
||||||
|
|
||||||
#printf "\n\n---------------------------------------- FLATPAK BUILD --------------------------------------------\n";
|
|
||||||
#sudo apt install flatpak-builder;
|
|
||||||
|
|
||||||
|
|
|
||||||
25
browser/linux/resources/flatpak/io.gitlab.LibreWolf.json
Normal file
25
browser/linux/resources/flatpak/io.gitlab.LibreWolf.json
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
{
|
||||||
|
"app-id": "io.gitlab.LibreWolf",
|
||||||
|
"runtime": "org.gnome.Platform",
|
||||||
|
"runtime-version": "3.32",
|
||||||
|
"sdk": "org.gnome.Sdk",
|
||||||
|
"command": "librewolf",
|
||||||
|
"modules": [{
|
||||||
|
"name": "librewolf",
|
||||||
|
"buildsystem": "simple",
|
||||||
|
"build-commands": [
|
||||||
|
"mkdir -p /app/share && mv librewolf -t /app/share",
|
||||||
|
"mkdir -p /app/bin && ln -s /app/share/librewolf/librewolf /app/bin/"
|
||||||
|
],
|
||||||
|
"sources": [{
|
||||||
|
"type": "dir",
|
||||||
|
"path": "source"
|
||||||
|
}]
|
||||||
|
}],
|
||||||
|
"finish-args": [
|
||||||
|
"--share=ipc", "--socket=x11", /* X11 + XShm access */
|
||||||
|
"--socket=wayland", /* Wayland access */
|
||||||
|
"--filesystem=home:rw", /* We want full fs access so we can read the files */
|
||||||
|
"--share=network" /* Needs to talk to the network: */
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
{
|
|
||||||
"app-id": "io.gitlab.LibreWolf",
|
|
||||||
"runtime": "org.gnome.Platform",
|
|
||||||
"runtime-version": "3.22",
|
|
||||||
"sdk": "org.gnome.Sdk",
|
|
||||||
"command": "librewolf",
|
|
||||||
"finish-args": [
|
|
||||||
/* X11 + XShm access */
|
|
||||||
"--share=ipc", "--socket=x11",
|
|
||||||
/* Wayland access */
|
|
||||||
"--socket=wayland",
|
|
||||||
/* We want full fs access so we can read the files */
|
|
||||||
"--filesystem=home:rw",
|
|
||||||
/* Needs to talk to the network: */
|
|
||||||
"--share=network"
|
|
||||||
],
|
|
||||||
"modules": [
|
|
||||||
{
|
|
||||||
"name": "librewolf",
|
|
||||||
"buildsystem": "simple",
|
|
||||||
"build-commands": [
|
|
||||||
"install -D hello.sh /app/bin/hello.sh"
|
|
||||||
],
|
|
||||||
"sources": [
|
|
||||||
{
|
|
||||||
"type": "file",
|
|
||||||
"path": "hello.sh"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
Loading…
Add table
Reference in a new issue