snap: added all the files required for building snap package
This commit is contained in:
parent
0e9d5b3872
commit
31f00fda0e
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright © 2021 Canonical Ltd.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
|
@ -0,0 +1,13 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=ET: Legacy
|
||||||
|
GenericName=World War II first-person shooter
|
||||||
|
Comment=World War II first-person shooter
|
||||||
|
Icon=${SNAP}/usr/local/share/icons/hicolor/scalable/apps/etl.svg
|
||||||
|
Exec=etlegacy.etl
|
||||||
|
Terminal=false
|
||||||
|
MimeType=x-scheme-handler/et;
|
||||||
|
Categories=Game;ActionGame;
|
||||||
|
StartupNotify=false
|
||||||
|
Keywords=team-based;multiplayer;tactical;WWII;enemy;territory;etl;etlegacy;
|
||||||
|
PrefersNonDefaultGPU=true
|
|
@ -0,0 +1,20 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
daemon=$(snapctl get daemon)
|
||||||
|
case "$daemon" in
|
||||||
|
true)
|
||||||
|
# start the daemon
|
||||||
|
if snapctl services "$SNAP_INSTANCE_NAME" | grep -q inactive; then
|
||||||
|
snapctl start --enable "$SNAP_INSTANCE_NAME" 2>&1 || true
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
false)
|
||||||
|
# stop the daemon
|
||||||
|
snapctl stop --disable "$SNAP_INSTANCE_NAME" 2>&1 || true
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "ERROR: Set 'daemon' to one of true|false"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
|
@ -0,0 +1,11 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -x
|
||||||
|
|
||||||
|
if [ "$(snapctl get daemon)" = "" ]
|
||||||
|
then
|
||||||
|
if grep -q -e snap_core= -e snapd_recovery_mode= /proc/cmdline
|
||||||
|
then snapctl set daemon=true
|
||||||
|
else snapctl set daemon=false
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -x
|
||||||
|
|
||||||
|
if [ "$(snapctl get daemon)" = "" ]
|
||||||
|
then
|
||||||
|
if grep -q -e snap_core= -e snapd_recovery_mode= /proc/cmdline
|
||||||
|
then snapctl set daemon=true
|
||||||
|
else snapctl set daemon=false
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
|
@ -0,0 +1,177 @@
|
||||||
|
name: etlegacy
|
||||||
|
summary: FPS Game
|
||||||
|
description: |
|
||||||
|
Welcome to ET: Legacy, an open source project that aims to create a fully compatible client
|
||||||
|
and server for the popular online FPS game Wolfenstein: Enemy Territory - whose gameplay
|
||||||
|
is still considered unmatched by many, despite its great age.
|
||||||
|
adopt-info: etl
|
||||||
|
|
||||||
|
base: core22
|
||||||
|
compression: lzo
|
||||||
|
confinement: strict
|
||||||
|
|
||||||
|
apps:
|
||||||
|
etl:
|
||||||
|
command-chain: &_command-chain
|
||||||
|
- bin/graphics-core22-wrapper
|
||||||
|
- bin/wayland-launch
|
||||||
|
command: &_command bin/run
|
||||||
|
plugs: &_plugs
|
||||||
|
- opengl
|
||||||
|
- wayland
|
||||||
|
- hardware-observe
|
||||||
|
- audio-playback
|
||||||
|
- joystick
|
||||||
|
- network
|
||||||
|
- alsa
|
||||||
|
environment: &_environment
|
||||||
|
PULSE_SERVER: unix:$XDG_RUNTIME_DIR/../pulse/native
|
||||||
|
PULSE_SYSTEM: 1
|
||||||
|
PULSE_RUNTIME_PATH: /var/run/pulse
|
||||||
|
LD_LIBRARY_PATH: ${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}${SNAP}/usr/lib/${SNAPCRAFT_ARCH_TRIPLET}:${SNAP}/usr/lib/${SNAPCRAFT_ARCH_TRIPLET}/pulseaudio
|
||||||
|
|
||||||
|
etlded:
|
||||||
|
command: bin/runded
|
||||||
|
plugs:
|
||||||
|
- hardware-observe
|
||||||
|
- network
|
||||||
|
- network-bind
|
||||||
|
environment:
|
||||||
|
LD_LIBRARY_PATH: ${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}${SNAP}/usr/lib/${SNAPCRAFT_ARCH_TRIPLET}
|
||||||
|
|
||||||
|
daemon:
|
||||||
|
daemon: simple
|
||||||
|
restart-delay: 3s
|
||||||
|
restart-condition: always
|
||||||
|
command-chain: *_command-chain
|
||||||
|
command: *_command
|
||||||
|
plugs: *_plugs
|
||||||
|
environment: *_environment
|
||||||
|
|
||||||
|
# This is one of four snippets that relate to providing the userspace graphics needed by your application.
|
||||||
|
# You can treat this as "magic" so long as you don't need to make changes.
|
||||||
|
# On the Mir website there's a lot more detail on [the graphics-core22 Snap interface](https://mir-server.io/docs/the-graphics-core22-snap-interface) and it's use.
|
||||||
|
plugs:
|
||||||
|
graphics-core22:
|
||||||
|
interface: content
|
||||||
|
target: $SNAP/graphics
|
||||||
|
default-provider: mesa-core22
|
||||||
|
|
||||||
|
environment:
|
||||||
|
# Other, generally useful environment settings...
|
||||||
|
# XDG config
|
||||||
|
XDG_CACHE_HOME: $SNAP_USER_COMMON/.cache
|
||||||
|
XDG_CONFIG_HOME: $SNAP_USER_DATA/.config
|
||||||
|
XDG_CONFIG_DIRS: $SNAP/etc/xdg
|
||||||
|
XDG_DATA_DIRS: $SNAP/usr/local/share:$SNAP/usr/share
|
||||||
|
# XKB config
|
||||||
|
XKB_CONFIG_ROOT: $SNAP/usr/share/X11/xkb
|
||||||
|
|
||||||
|
# The `layout` ensures that files can be found by applications where they are expected by the toolkit or application.
|
||||||
|
layout:
|
||||||
|
/usr/share/libdrm:
|
||||||
|
bind: $SNAP/graphics/libdrm
|
||||||
|
/usr/share/drirc.d:
|
||||||
|
symlink: $SNAP/graphics/drirc.d
|
||||||
|
# Other, generally useful paths
|
||||||
|
/usr/share/fonts:
|
||||||
|
bind: $SNAP/usr/share/fonts
|
||||||
|
/usr/share/icons:
|
||||||
|
bind: $SNAP/usr/share/icons
|
||||||
|
/usr/share/sounds:
|
||||||
|
bind: $SNAP/usr/share/sounds
|
||||||
|
/etc/fonts:
|
||||||
|
bind: $SNAP/etc/fonts
|
||||||
|
/usr/share/alsa:
|
||||||
|
bind: $SNAP/usr/share/alsa
|
||||||
|
|
||||||
|
parts:
|
||||||
|
etl:
|
||||||
|
plugin: cmake
|
||||||
|
cmake-parameters:
|
||||||
|
- -DCROSS_COMPILE32=OFF
|
||||||
|
- -DBUNDLED_LIBS=OFF
|
||||||
|
- -DRENDERER_DYNAMIC=OFF
|
||||||
|
- -DINSTALL_OMNIBOT=OFF
|
||||||
|
- -DBUILD_MOD_PK3=OFF
|
||||||
|
source-type: git
|
||||||
|
source-branch: master
|
||||||
|
source: https://github.com/etlegacy/etlegacy
|
||||||
|
parse-info: [usr/local/share/metainfo/com.etlegacy.ETLegacy.metainfo.xml]
|
||||||
|
build-packages:
|
||||||
|
- g++
|
||||||
|
- gcc
|
||||||
|
- make
|
||||||
|
- libcurl4-openssl-dev
|
||||||
|
- libsdl2-dev
|
||||||
|
- liblua5.4-dev
|
||||||
|
- libopenal-dev
|
||||||
|
- libtheora-dev
|
||||||
|
- libglew-dev
|
||||||
|
- libogg-dev
|
||||||
|
- libvorbis-dev
|
||||||
|
- libgl1-mesa-dev
|
||||||
|
- freeglut3-dev
|
||||||
|
- zlib1g-dev
|
||||||
|
- libminizip-dev
|
||||||
|
- libturbojpeg0-dev
|
||||||
|
- libssl-dev
|
||||||
|
- libcjson-dev
|
||||||
|
- libfreetype6-dev
|
||||||
|
- libpng-dev
|
||||||
|
- libsqlite3-dev
|
||||||
|
- libx11-dev
|
||||||
|
- libc-devtools
|
||||||
|
- libc6-dev
|
||||||
|
- nasm
|
||||||
|
- zip
|
||||||
|
|
||||||
|
stage-packages:
|
||||||
|
- libsdl2-2.0-0
|
||||||
|
- libcjson1
|
||||||
|
- libcurl4
|
||||||
|
- libminizip1
|
||||||
|
- libtheora-bin
|
||||||
|
- libvorbisfile3
|
||||||
|
- libglew2.2
|
||||||
|
- libgl1
|
||||||
|
- libglu1-mesa
|
||||||
|
- freeglut3
|
||||||
|
- libjpeg8
|
||||||
|
- libstdc++6
|
||||||
|
- liblua5.4-0
|
||||||
|
- libsqlite3-0
|
||||||
|
- wget
|
||||||
|
- curl
|
||||||
|
- unzip
|
||||||
|
|
||||||
|
# Some utility scripts for setting up the Wayland environment
|
||||||
|
setup:
|
||||||
|
plugin: dump
|
||||||
|
source: wayland-launch
|
||||||
|
override-build: |
|
||||||
|
# The plugs needed to run Wayland. (wayland-launch checks them, setup.sh connects them)
|
||||||
|
# You may add further plugs here if you want these options
|
||||||
|
PLUGS="opengl wayland graphics-core22 hardware-observe audio-playback joystick network"
|
||||||
|
sed --in-place "s/%PLUGS%/$PLUGS/g" $CRAFT_PART_BUILD/bin/wayland-launch
|
||||||
|
sed --in-place "s/%PLUGS%/$PLUGS/g" $CRAFT_PART_BUILD/bin/setup.sh
|
||||||
|
craftctl default
|
||||||
|
stage-packages:
|
||||||
|
- inotify-tools
|
||||||
|
|
||||||
|
graphics-core22:
|
||||||
|
after:
|
||||||
|
# Your application packaging
|
||||||
|
- setup
|
||||||
|
source: https://github.com/MirServer/graphics-core22.git
|
||||||
|
plugin: dump
|
||||||
|
override-prime: |
|
||||||
|
craftctl default
|
||||||
|
${CRAFT_PART_SRC}/bin/graphics-core22-cleanup mesa-core22 nvidia-core22
|
||||||
|
cd "$CRAFT_PRIME/usr/share/"
|
||||||
|
rm -rf bug drirc.d glvnd libdrm lintian man
|
||||||
|
rm -rf applications apport bash-completion dbus-1 doc-base doc gtk-doc\
|
||||||
|
help pkgconfig libthai metainfo themes thumbnailers xml
|
||||||
|
prime:
|
||||||
|
- bin/graphics-core22-wrapper
|
||||||
|
|
|
@ -0,0 +1,53 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
pack_downloader() {
|
||||||
|
if [ -f /usr/bin/curl ]; then
|
||||||
|
curl -P ${SNAP_USER_DATA}/.etlegacy/etmain $1
|
||||||
|
else
|
||||||
|
wget -P ${SNAP_USER_DATA}/.etlegacy/etmain $1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
for dir in */ ;
|
||||||
|
do
|
||||||
|
if [ ! -d ${SNAP_USER_DATA}/.etlegacy ]; then
|
||||||
|
mkdir ${SNAP_USER_DATA}/.etlegacy
|
||||||
|
|
||||||
|
if [ ! -d ${SNAP_USER_DATA}/.etlegacy/etmain ]; then
|
||||||
|
mkdir ${SNAP_USER_DATA}/.etlegacy/etmain
|
||||||
|
cp -R ${SNAP}/usr/local/lib/etlegacy/etmain ${SNAP_USER_DATA}/.etlegacy
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d ${SNAP_USER_DATA}/.etlegacy/legacy ]; then
|
||||||
|
mkdir ${SNAP_USER_DATA}/.etlegacy/legacy
|
||||||
|
cp -R ${SNAP}/usr/local/lib/etlegacy/legacy ${SNAP_USER_DATA}/.etlegacy
|
||||||
|
wget `curl https://www.etlegacy.com/download | grep "All supported archive" | grep -Eoi '<a [^>]+>' | grep -Eo 'href=\"[^\\\"]+\"' | grep -Eo '(http|https):\/\/[^\"]+'` -O ${SNAP_USER_DATA}/.etlegacy/etl.zip
|
||||||
|
unzip ${SNAP_USER_DATA}/.etlegacy/etl.zip -d ${SNAP_USER_DATA}/.etlegacy/etl
|
||||||
|
mv ${SNAP_USER_DATA}/.etlegacy/etl/*.pk3 ${SNAP_USER_DATA}/.etlegacy/legacy
|
||||||
|
rm -rf ${SNAP_USER_DATA}/.etlegacy/etl
|
||||||
|
rm -rf ${SNAP_USER_DATA}/.etlegacy/*.zip
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f ${SNAP_USER_DATA}/.etlegacy/etmain/pak0.pk3 ]; then
|
||||||
|
pack_downloader https://mirror.etlegacy.com/etmain/pak0.pk3
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f ${SNAP_USER_DATA}/.etlegacy/etmain/pak1.pk3 ]; then
|
||||||
|
pack_downloader https://mirror.etlegacy.com/etmain/pak1.pk3
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f ${SNAP_USER_DATA}/.etlegacy/etmain/pak2.pk3 ]; then
|
||||||
|
pack_downloader https://mirror.etlegacy.com/etmain/pak2.pk3
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
case "${SNAP_ARCH}" in
|
||||||
|
amd64)
|
||||||
|
${SNAP}/usr/local/bin/etl.x86_64 ;;
|
||||||
|
arm64)
|
||||||
|
# We will launch etl with prefix since snapcraft compiled it with it.
|
||||||
|
${SNAP}/usr/local/bin/etl.aarch64 ;;
|
||||||
|
esac
|
||||||
|
|
|
@ -0,0 +1,53 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
pack_downloader() {
|
||||||
|
if [ -f /usr/bin/curl ]; then
|
||||||
|
curl -P ${SNAP_USER_DATA}/.etlded/etmain $1
|
||||||
|
else
|
||||||
|
wget -P ${SNAP_USER_DATA}/.etlded/etmain $1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
for dir in */ ;
|
||||||
|
do
|
||||||
|
if [ ! -d ${SNAP_USER_DATA}/.etlded ]; then
|
||||||
|
mkdir ${SNAP_USER_DATA}/.etlded
|
||||||
|
|
||||||
|
if [ ! -d ${SNAP_USER_DATA}/.etlded/etmain ]; then
|
||||||
|
mkdir ${SNAP_USER_DATA}/.etlded/etmain
|
||||||
|
cp -R ${SNAP}/usr/local/lib/etlegacy/etmain ${SNAP_USER_DATA}/.etlded
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d ${SNAP_USER_DATA}/.etlded/legacy ]; then
|
||||||
|
mkdir ${SNAP_USER_DATA}/.etlded/legacy
|
||||||
|
cp -R ${SNAP}/usr/local/lib/etlegacy/legacy ${SNAP_USER_DATA}/.etlded
|
||||||
|
wget `curl https://www.etlegacy.com/download | grep "All supported archive" | grep -Eoi '<a [^>]+>' | grep -Eo 'href=\"[^\\\"]+\"' | grep -Eo '(http|https):\/\/[^\"]+'` -O ${SNAP_USER_DATA}/.etlded/etl.zip
|
||||||
|
unzip ${SNAP_USER_DATA}/.etlded/etl.zip -d ${SNAP_USER_DATA}/.etlded/etl
|
||||||
|
mv ${SNAP_USER_DATA}/.etlded/etl/*.pk3 ${SNAP_USER_DATA}/.etlded/legacy
|
||||||
|
rm -rf ${SNAP_USER_DATA}/.etlded/etl
|
||||||
|
rm -rf ${SNAP_USER_DATA}/.etlded/*.zip
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f ${SNAP_USER_DATA}/.etlded/etmain/pak0.pk3 ]; then
|
||||||
|
pack_downloader https://mirror.etlegacy.com/etmain/pak0.pk3
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f ${SNAP_USER_DATA}/.etlded/etmain/pak1.pk3 ]; then
|
||||||
|
pack_downloader https://mirror.etlegacy.com/etmain/pak1.pk3
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f ${SNAP_USER_DATA}/.etlded/etmain/pak2.pk3 ]; then
|
||||||
|
pack_downloader https://mirror.etlegacy.com/etmain/pak2.pk3
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
case "${SNAP_ARCH}" in
|
||||||
|
amd64)
|
||||||
|
${SNAP}/usr/local/bin/etlded.x86_64 +set fs_homepath ${SNAP_USER_DATA}/.etlded +set g_protect 1 +set omnibot_enable 1 +set omnibot_path "${SNAP_USER_DATA}/.etlded/legacy/omni-bot" +exec etl_server.cfg ;;
|
||||||
|
arm64)
|
||||||
|
# We will launch etl with prefix since snapcraft compiled it with it.
|
||||||
|
${SNAP}/usr/local/bin/etlded.aarch64 +set fs_homepath ${SNAP_USER_DATA}/.etlded +set g_protect 1 +set omnibot_enable 1 +set omnibot_path "${SNAP_USER_DATA}/.etlded/legacy/omni-bot" +exec etl_server.cfg ;;
|
||||||
|
esac
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
SNAP_INSTANCE_NAME="$(readlink -f $0 | cut -f 3 -d /)"
|
||||||
|
|
||||||
|
snap_connect_harder() {
|
||||||
|
# Note the available slot providers
|
||||||
|
if ! snap connections ${SNAP_INSTANCE_NAME} | grep --quiet "^content.*${SNAP_INSTANCE_NAME}:$1.*$"; then
|
||||||
|
available_providers="$(snap interface "$1" | sed -e '1,/slots:/d')"
|
||||||
|
else
|
||||||
|
available_providers="$(snap interface content | sed -e '1,/slots:/d' | grep "$1")"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# For wayland try some well known providers
|
||||||
|
if [ "wayland" = "$1" ]; then
|
||||||
|
for PROVIDER in ubuntu-frame mir-kiosk; do
|
||||||
|
if echo "$available_providers" | grep --quiet "\- ${PROVIDER}"; then
|
||||||
|
sudo snap connect "${SNAP_INSTANCE_NAME}:$1" "${PROVIDER}:$1"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Warning: Failed to connect '$1'. Please connect manually, available providers are:\n$available_providers"
|
||||||
|
}
|
||||||
|
|
||||||
|
for PLUG in %PLUGS%; do
|
||||||
|
if ! snap connections ${SNAP_INSTANCE_NAME} | grep --quiet "^.*${SNAP_INSTANCE_NAME}:${PLUG}.*${PLUG}.*$"; then
|
||||||
|
sudo snap connect "${SNAP_INSTANCE_NAME}:${PLUG}" 2> /dev/null || snap_connect_harder ${PLUG}
|
||||||
|
fi
|
||||||
|
done
|
|
@ -0,0 +1,46 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
for PLUG in %PLUGS%; do
|
||||||
|
if ! snapctl is-connected ${PLUG}
|
||||||
|
then
|
||||||
|
echo "WARNING: ${PLUG} interface not connected! Please run: /snap/${SNAP_INSTANCE_NAME}/current/bin/setup.sh"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if ! command -v inotifywait > /dev/null
|
||||||
|
then
|
||||||
|
echo "ERROR: inotifywait could not be found, mir-kiosk-snap-launch expects:"
|
||||||
|
echo " . . : stage-packages:"
|
||||||
|
echo " . . : - inotify-tools"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
wait_for()
|
||||||
|
{
|
||||||
|
until
|
||||||
|
until
|
||||||
|
inotifywait --event create "$(dirname "$1")"&
|
||||||
|
inotify_pid=$!
|
||||||
|
[ -e "$1" ] || sleep 2 && [ -e "$1" ]
|
||||||
|
do
|
||||||
|
wait "${inotify_pid}"
|
||||||
|
done
|
||||||
|
kill "${inotify_pid}"
|
||||||
|
[ -O "$1" ]
|
||||||
|
do
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
real_xdg_runtime_dir=$(dirname "${XDG_RUNTIME_DIR}")
|
||||||
|
export WAYLAND_DISPLAY="${real_xdg_runtime_dir}/${WAYLAND_DISPLAY:-wayland-0}"
|
||||||
|
|
||||||
|
# On core systems may need to wait for real XDG_RUNTIME_DIR
|
||||||
|
wait_for "${real_xdg_runtime_dir}"
|
||||||
|
wait_for "${WAYLAND_DISPLAY}"
|
||||||
|
|
||||||
|
mkdir -p "$XDG_RUNTIME_DIR" -m 700
|
||||||
|
unset DISPLAY
|
||||||
|
|
||||||
|
exec "$@"
|
Loading…
Reference in New Issue