Table of Contents
1 flatpakのインストール
flatpak.orgの手順の通り、ppaリポジトリからインストールします。
$ sudo add-apt-repository -y ppa:alexlarsson/flatpak $ sudo apt update -y $ sudo apt install -y flatpak
flatpakのインストール込みの以下のスクリプトを実行することで、geditが起動するようになります。Fedora 24の場合と同様、org.gnome.Platformとorg.gnome.Sdkのインストールで問題が発生するのを回避する為に、インストールを再実行しています。
#!/bin/sh
sudo add-apt-repository -y ppa:alexlarsson/flatpak
sudo apt update -y
sudo apt install -y flatpak
wget https://sdk.gnome.org/keys/gnome-sdk.gpg
flatpak --user remote-add --gpg-import=gnome-sdk.gpg gnome \
https://sdk.gnome.org/repo/
flatpak --user remote-add --gpg-import=gnome-sdk.gpg gnome-apps \
https://sdk.gnome.org/repo-apps/
flatpak_user_install()
{
flatpak --user list --runtime --app | grep ${2} > /dev/null && return 0
while : ; do
flatpak --user install $@ &
pid=$!
sleep 300
ps -p ${pid} | awk '{ print $1 }' | grep ${pid} > /dev/null || break
sudo kill -KILL ${pid}
done
}
flatpak --user install gnome-apps org.gnome.gedit stable
flatpak_user_install gnome org.gnome.Platform 3.20
flatpak_user_install gnome org.gnome.Sdk 3.20
sudo reboot
2 アプリケーションの作成
Fedora 24と同様です。ここでは作成するスクリプトを記載します。
2.1 flatpak buildなし(非推奨)
#!/bin/sh # Create directory for this package. mkdir shell mkdir shell/files mkdir shell/files/bin mkdir shell/export # Create the command in this package. cat <<EOF > shell/files/bin/shell.sh #!/bin/sh if [ \$# -eq 0 ]; then PS1="shell> " /bin/sh else echo "shell> \$@" eval "\$@" fi EOF chmod a+x shell/files/bin/shell.sh # Create the metadata in this package. cat <<EOF > shell/metadata [Application] name=com.example.shell runtime=org.gnome.Platform/x86_64/3.20 command=shell.sh [Context] filesystems=host; EOF # Create repository. flatpak build-export repo shell # Install this package to user. flatpak --user remote-add --no-gpg-verify example-repo repo flatpak --user install example-repo com.example.shell
2.2 flatpak buildあり(推奨)
#!/bin/sh
# Initialize flatpak build
flatpak build-init tetris com.hiroom2.tetris org.gnome.Sdk \
org.gnome.Platform 3.20
# Download source code
git clone https://github.com/hiroom2/tetris-sdl-and-ncurses
cd tetris-sdl-and-ncurses/
# Build source code via flatpak build
flatpak build ../tetris make all install DESTDIR=/app
cd ..
# Finalize flatpak build
flatpak build-finish tetris --command=ncurses
# Create repository.
flatpak build-export repo tetris
# Install this package to user.
flatpak --user remote-add --no-gpg-verify tetris-repo repo
flatpak --user install tetris-repo com.hiroom2.tetris