forked from aerocyber/sitemarker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build-flatpak.sh
47 lines (35 loc) · 1.14 KB
/
build-flatpak.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/bin/bash
# Build the Flutter app and package into an archive.
# Exit if any command fails
set -e
# Echo all commands for debug purposes
set -x
projectName=Sitemarker
archiveName=$projectName-linux-portable.tar.gz
baseDir=$(pwd)/build/flatpak/
projectId=io.github.aerocyber.sitemarker
executableName=sitemarker
flutter pub get
flutter build linux
cd build/linux/x64/release/bundle || exit
tar -czaf $archiveName ./*
mv $archiveName "$baseDir"/
# Extract portable Flutter build.
mkdir -p $projectName
tar -xf $baseDir/$projectName-linux-portable.tar.gz -C $projectName
cp -r $projectName /app/
chmod +x /app/$projectName/$executableName
mkdir -p /app/bin
ln -s /app/$projectName/$executableName /app/bin/$executableName
# Install the icon.
iconDir=/app/share/icons/hicolor/scalable/apps
mkdir -p $iconDir
cp -r assets/icons/$projectId.svg $iconDir/
# Install the desktop file.
desktopFileDir=/app/share/applications
mkdir -p $desktopFileDir
cp -r packaging/linux/$projectId.desktop $desktopFileDir/
# Install the AppStream metadata file.
metadataDir=/app/share/metainfo
mkdir -p $metadataDir
cp -r packaging/linux/$projectId.metainfo.xml $metadataDir/