Milestone 5: deliver embedded RDP sessions and lifecycle hardening
This commit is contained in:
30
third_party/FreeRDP/packaging/flatpak/build-bundle.sh
vendored
Executable file
30
third_party/FreeRDP/packaging/flatpak/build-bundle.sh
vendored
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash -xe
|
||||
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
|
||||
|
||||
MANIFEST=com.freerdp.FreeRDP
|
||||
|
||||
BUILD_BASE=$(mktemp -d)
|
||||
if [ $# -gt 0 ]; then
|
||||
BUILD_BASE=$1
|
||||
fi
|
||||
|
||||
echo "Using $BUILD_BASE as temporary build directory"
|
||||
REPO=$BUILD_BASE/repo
|
||||
BUILD=$BUILD_BASE/build
|
||||
STATE=$BUILD_BASE/state
|
||||
|
||||
BUILDER=$(which flatpak-builder)
|
||||
if [ ! -x "$BUILDER" ]; then
|
||||
echo "command 'flatpak-builder' could not be found, please install and add to PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
FLATPAK=$(which flatpak)
|
||||
if [ ! -x "$FLATPAK" ]; then
|
||||
echo "command 'flatpak' could not be found, please install and add to PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo --user
|
||||
flatpak-builder -v --repo=$REPO --state-dir=$STATE $BUILD $SCRIPT_DIR/$MANIFEST.json --force-clean --user --install-deps-from=flathub
|
||||
flatpak build-bundle -v $REPO $MANIFEST.flatpak $MANIFEST --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo
|
||||
121
third_party/FreeRDP/packaging/flatpak/com.freerdp.FreeRDP.json
vendored
Normal file
121
third_party/FreeRDP/packaging/flatpak/com.freerdp.FreeRDP.json
vendored
Normal file
@@ -0,0 +1,121 @@
|
||||
{
|
||||
"add-build-extensions": {
|
||||
"org.freedesktop.Platform.ffmpeg-full": {
|
||||
"add-ld-path": ".",
|
||||
"directory": "lib/ffmpeg",
|
||||
"version": "24.08"
|
||||
},
|
||||
"org.freedesktop.Platform.openh264": {
|
||||
"add-ld-path": ".",
|
||||
"directory": "lib/openh264",
|
||||
"version": "2.5.1"
|
||||
}
|
||||
},
|
||||
"app-id": "com.freerdp.FreeRDP",
|
||||
"build-options": {
|
||||
"cflags": "-O3",
|
||||
"cxxflags": "-O3"
|
||||
},
|
||||
"cleanup": [
|
||||
"*.a",
|
||||
"*.la",
|
||||
"/include",
|
||||
"/lib/cmake",
|
||||
"/lib/pkgconfig",
|
||||
"/sbin",
|
||||
"/share/doc",
|
||||
"/share/examples",
|
||||
"/share/man"
|
||||
],
|
||||
"command": "sdl-freerdp",
|
||||
"finish-args": [
|
||||
"--device=dri",
|
||||
"--share=ipc",
|
||||
"--socket=x11",
|
||||
"--share=network",
|
||||
"--socket=pulseaudio",
|
||||
"--socket=cups",
|
||||
"--socket=wayland",
|
||||
"--filesystem=xdg-download",
|
||||
"--talk-name=com.microsoft.identity.broker1",
|
||||
"--env=OPENSSL_CONF=/app/share/legacy-openssl.cnf"
|
||||
],
|
||||
"modules": [
|
||||
"modules/openssl.json",
|
||||
"modules/libusb.json",
|
||||
"modules/uriparser.json",
|
||||
"modules/cJSON.json",
|
||||
"modules/pcsc.json",
|
||||
"modules/krb5.json",
|
||||
"modules/opensc.json",
|
||||
"modules/SDL3.json",
|
||||
"modules/SDL3_image.json",
|
||||
"modules/SDL3_ttf.json",
|
||||
"modules/sso-mib.json",
|
||||
{
|
||||
"builddir": true,
|
||||
"buildsystem": "cmake-ninja",
|
||||
"cleanup": [],
|
||||
"config-opts": [
|
||||
"-DCMAKE_VERBOSE_MAKEFILE=ON",
|
||||
"-DCMAKE_BUILD_TYPE:STRING=Release",
|
||||
"-DCMAKE_INSTALL_LIBDIR:PATH=lib",
|
||||
"-DWITHOUT_FREERDP_3x_DEPRECATED=ON",
|
||||
"-DWITH_SSO_MIB=ON",
|
||||
"-DWITH_FREERDP_DEPRECATED_COMMANDLINE=ON",
|
||||
"-DCHANNEL_TSMF:BOOL=OFF",
|
||||
"-DCHANNEL_URBDRC:BOOL=ON",
|
||||
"-DCHANNEL_RDPECAM_CLIENT:BOOL=ON",
|
||||
"-DBUILD_TESTING:BOOL=OFF",
|
||||
"-DWITH_MANPAGES:BOOL=OFF",
|
||||
"-DWITH_KRB5:BOOL=ON",
|
||||
"-DWITH_PCSC:BOOL=ON",
|
||||
"-DWITH_SDL_IMAGE_DIALOGS:BOOL=ON",
|
||||
"-DWITH_INTERNAL_MD4:BOOL=ON",
|
||||
"-DWITH_INTERNAL_MD5:BOOL=ON",
|
||||
"-DWITH_INTERNAL_RC4:BOOL=ON",
|
||||
"-DWITH_PKCS11:BOOL=ON",
|
||||
"-DWITH_SWSCALE:BOOL=ON",
|
||||
"-DWITH_SERVER:BOOL=ON",
|
||||
"-DWITH_SAMPLE:BOOL=ON",
|
||||
"-DWITH_CUPS:BOOL=ON",
|
||||
"-DWITH_OPUS:BOOL=ON",
|
||||
"-DWITH_FUSE:BOOL=OFF",
|
||||
"-DWITH_FFMPEG:BOOL=ON",
|
||||
"-DWINPR_UTILS_IMAGE_PNG:BOOL=ON",
|
||||
"-DWINPR_UTILS_IMAGE_WEBP:BOOL=ON",
|
||||
"-DWINPR_UTILS_IMAGE_JPEG:BOOL=ON",
|
||||
"-DWITH_URIPARSER:BOOL=ON",
|
||||
"-DWITH_DSP_FFMPEG:BOOL=ON",
|
||||
"-DWITH_OSS:BOOL=OFF",
|
||||
"-DWITH_WEBVIEW:BOOL=OFF",
|
||||
"-DWITH_PULSE:BOOL=ON"
|
||||
],
|
||||
"name": "freerdp",
|
||||
"sources": [
|
||||
{
|
||||
"path": "../..",
|
||||
"type": "dir"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"build-commands": [
|
||||
"install -D legacy-openssl.cnf $FLATPAK_DEST/share/legacy-openssl.cnf",
|
||||
"mkdir -p /app/lib/ffmpeg",
|
||||
"mkdir -p /app/lib/openh264"
|
||||
],
|
||||
"buildsystem": "simple",
|
||||
"name": "wrapper",
|
||||
"sources": [
|
||||
{
|
||||
"path": "legacy-openssl.cnf",
|
||||
"type": "file"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"runtime": "org.freedesktop.Platform",
|
||||
"runtime-version": "24.08",
|
||||
"sdk": "org.freedesktop.Sdk"
|
||||
}
|
||||
12
third_party/FreeRDP/packaging/flatpak/legacy-openssl.cnf
vendored
Normal file
12
third_party/FreeRDP/packaging/flatpak/legacy-openssl.cnf
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
[openssl_init]
|
||||
providers = provider_sect
|
||||
|
||||
[provider_sect]
|
||||
default = default_sect
|
||||
legacy = legacy_sect
|
||||
|
||||
[default_sect]
|
||||
activate = 1
|
||||
|
||||
[legacy_sect]
|
||||
activate = 1
|
||||
33
third_party/FreeRDP/packaging/flatpak/modules/SDL3.json
vendored
Normal file
33
third_party/FreeRDP/packaging/flatpak/modules/SDL3.json
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"builddir": true,
|
||||
"buildsystem": "cmake-ninja",
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/*.la",
|
||||
"/lib/*.a",
|
||||
"/lib/cmake",
|
||||
"/share/aclocal",
|
||||
"/lib/pkgconfig"
|
||||
],
|
||||
"config-opts": [
|
||||
"-DCMAKE_VERBOSE_MAKEFILE=ON",
|
||||
"-DCMAKE_BUILD_TYPE:STRING=Release",
|
||||
"-DCMAKE_INSTALL_LIBDIR:PATH=lib"
|
||||
],
|
||||
"name": "SDL3",
|
||||
"sources": [
|
||||
{
|
||||
"sha256": "b7e7dc05011b88c69170fe18935487b2559276955e49113f8c1b6b72c9b79c1f",
|
||||
"type": "archive",
|
||||
"url":
|
||||
"https://github.com/libsdl-org/SDL/releases/download/release-3.2.14/SDL3-3.2.14.tar.gz",
|
||||
"x-checker-data": {
|
||||
"project-id": 4781,
|
||||
"stable-only": true,
|
||||
"type": "anitya",
|
||||
"url-template":
|
||||
"https://github.com/libsdl-org/SDL/releases/download/release-${version}/SDL3-${version}.tar.gz"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
33
third_party/FreeRDP/packaging/flatpak/modules/SDL3_image.json
vendored
Normal file
33
third_party/FreeRDP/packaging/flatpak/modules/SDL3_image.json
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"builddir": true,
|
||||
"buildsystem": "cmake-ninja",
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/*.la",
|
||||
"/lib/*.a",
|
||||
"/lib/cmake",
|
||||
"/share/aclocal",
|
||||
"/lib/pkgconfig"
|
||||
],
|
||||
"config-opts": [
|
||||
"-DCMAKE_VERBOSE_MAKEFILE=ON",
|
||||
"-DCMAKE_BUILD_TYPE:STRING=Release",
|
||||
"-DCMAKE_INSTALL_LIBDIR:PATH=lib"
|
||||
],
|
||||
"name": "SDL3_image",
|
||||
"sources": [
|
||||
{
|
||||
"sha256": "a725bd6d04261fdda0dd8d950659e1dc15a8065d025275ef460d32ae7dcfc182",
|
||||
"type": "archive",
|
||||
"url":
|
||||
"https://github.com/libsdl-org/SDL_image/releases/download/release-3.2.4/SDL3_image-3.2.4.tar.gz",
|
||||
"x-checker-data": {
|
||||
"project-id": 4781,
|
||||
"stable-only": true,
|
||||
"type": "anitya",
|
||||
"url-template":
|
||||
"https://github.com/libsdl-org/SDL_image/releases/download/release-${version}/SDL3_image-${version}.tar.gz"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
33
third_party/FreeRDP/packaging/flatpak/modules/SDL3_ttf.json
vendored
Normal file
33
third_party/FreeRDP/packaging/flatpak/modules/SDL3_ttf.json
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"builddir": true,
|
||||
"buildsystem": "cmake-ninja",
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/*.la",
|
||||
"/lib/*.a",
|
||||
"/lib/cmake",
|
||||
"/share/aclocal",
|
||||
"/lib/pkgconfig"
|
||||
],
|
||||
"config-opts": [
|
||||
"-DCMAKE_VERBOSE_MAKEFILE=ON",
|
||||
"-DCMAKE_BUILD_TYPE:STRING=Release",
|
||||
"-DCMAKE_INSTALL_LIBDIR:PATH=lib"
|
||||
],
|
||||
"name": "SDL3_ttf",
|
||||
"sources": [
|
||||
{
|
||||
"sha256": "63547d58d0185c833213885b635a2c0548201cc8f301e6587c0be1a67e1e045d",
|
||||
"type": "archive",
|
||||
"url":
|
||||
"https://github.com/libsdl-org/SDL_ttf/releases/download/release-3.2.2/SDL3_ttf-3.2.2.tar.gz",
|
||||
"x-checker-data": {
|
||||
"project-id": 4784,
|
||||
"stable-only": true,
|
||||
"type": "anitya",
|
||||
"url-template":
|
||||
"https://github.com/libsdl-org/SDL_ttf/releases/download/release-${version}/SDL3_ttf-${version}.tar.gz"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
27
third_party/FreeRDP/packaging/flatpak/modules/cJSON.json
vendored
Normal file
27
third_party/FreeRDP/packaging/flatpak/modules/cJSON.json
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"builddir": true,
|
||||
"buildsystem": "cmake-ninja",
|
||||
"cleanup": [],
|
||||
"config-opts": [
|
||||
"-DCMAKE_VERBOSE_MAKEFILE=ON",
|
||||
"-DCMAKE_BUILD_TYPE:STRING=Release",
|
||||
"-DCMAKE_INSTALL_LIBDIR:PATH=lib",
|
||||
"-DENABLE_CJSON_TEST:BOOL=OFF",
|
||||
"-DENABLE_CJSON_UTILS:BOOL=OFF"
|
||||
],
|
||||
"name": "cjson",
|
||||
"sources": [
|
||||
{
|
||||
"sha256": "3aa806844a03442c00769b83e99970be70fbef03735ff898f4811dd03b9f5ee5",
|
||||
"type": "archive",
|
||||
"url": "https://github.com/DaveGamble/cJSON/archive/refs/tags/v1.7.18.tar.gz",
|
||||
"x-checker-data": {
|
||||
"project-id": 21330,
|
||||
"stable-only": true,
|
||||
"type": "anitya",
|
||||
"url-template":
|
||||
"https://github.com/DaveGamble/cJSON/archive/refs/tags/v${version0}.${version1}.${version2}.tar.gz"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
19
third_party/FreeRDP/packaging/flatpak/modules/krb5.json
vendored
Normal file
19
third_party/FreeRDP/packaging/flatpak/modules/krb5.json
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"buildsystem": "autotools",
|
||||
"name": "krb5",
|
||||
"sources": [
|
||||
{
|
||||
"sha256": "6a516fd180bdfe11c0c0ad774999e1a66295253390475cbfa88835983cf39559",
|
||||
"type": "archive",
|
||||
"url": "https://kerberos.org/dist/krb5/1.22/krb5-1.22-beta1.tar.gz",
|
||||
"x-checker-data": {
|
||||
"project-id": 13287,
|
||||
"stable-only": true,
|
||||
"type": "anitya",
|
||||
"url-template":
|
||||
"https://kerberos.org/dist/krb5/${version0}.${version1}/krb5-${version0}.${version1}.${version2}.tar.gz"
|
||||
}
|
||||
}
|
||||
],
|
||||
"subdir": "src"
|
||||
}
|
||||
29
third_party/FreeRDP/packaging/flatpak/modules/libusb.json
vendored
Normal file
29
third_party/FreeRDP/packaging/flatpak/modules/libusb.json
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"cleanup": [
|
||||
"/lib/*.la",
|
||||
"/lib/pkgconfig",
|
||||
"/include"
|
||||
],
|
||||
"config-opts": [
|
||||
"--disable-static"
|
||||
],
|
||||
"name": "libusb",
|
||||
"post-install": [
|
||||
"install -Dm644 COPYING /app/share/licenses/libusb/COPYING"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"sha256": "966bb0d231f94a474eaae2e67da5ec844d3527a1f386456394ff432580634b29",
|
||||
"type": "archive",
|
||||
"url":
|
||||
"https://github.com/libusb/libusb/releases/download/v1.0.28/libusb-1.0.28.tar.bz2",
|
||||
"x-checker-data": {
|
||||
"project-id": 13287,
|
||||
"stable-only": true,
|
||||
"type": "anitya",
|
||||
"url-template":
|
||||
"https://github.com/libusb/libusb/releases/download/v${version}/libusb-${version}.tar.bz2"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
25
third_party/FreeRDP/packaging/flatpak/modules/opensc.json
vendored
Normal file
25
third_party/FreeRDP/packaging/flatpak/modules/opensc.json
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"buildsystem": "autotools",
|
||||
"cleanup": [],
|
||||
"config-opts": [
|
||||
"--disable-assert",
|
||||
"--disable-fuzzing",
|
||||
"--disable-man",
|
||||
"--disable-strict"
|
||||
],
|
||||
"name": "opensc",
|
||||
"sources": [
|
||||
{
|
||||
"sha256": "f16291a031d86e570394762e9f35eaf2fcbc2337a49910f3feae42d54e1688cb",
|
||||
"type": "archive",
|
||||
"url": "https://github.com/OpenSC/OpenSC/releases/download/0.26.1/opensc-0.26.1.tar.gz",
|
||||
"x-checker-data": {
|
||||
"project-id": 13287,
|
||||
"stable-only": true,
|
||||
"type": "anitya",
|
||||
"url-template":
|
||||
"https://github.com/OpenSC/OpenSC/releases/download/${version}/opensc-${version}.tar.gz"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
25
third_party/FreeRDP/packaging/flatpak/modules/openssl.json
vendored
Normal file
25
third_party/FreeRDP/packaging/flatpak/modules/openssl.json
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"build-commands": [
|
||||
"./config --prefix=/app --openssldir=/app --libdir=lib shared",
|
||||
"make -j ${FLATPAK_BUILDER_N_JOBS} build_sw",
|
||||
"make -j ${FLATPAK_BUILDER_N_JOBS} install_sw"
|
||||
],
|
||||
"buildsystem": "simple",
|
||||
"cleanup": [],
|
||||
"name": "openssl",
|
||||
"sources": [
|
||||
{
|
||||
"sha256": "344d0a79f1a9b08029b0744e2cc401a43f9c90acd1044d09a530b4885a8e9fc0",
|
||||
"type": "archive",
|
||||
"url":
|
||||
"https://github.com/openssl/openssl/releases/download/openssl-3.5.0/openssl-3.5.0.tar.gz",
|
||||
"x-checker-data": {
|
||||
"project-id": 13287,
|
||||
"stable-only": true,
|
||||
"type": "anitya",
|
||||
"url-template":
|
||||
"https://github.com/openssl/openssl/releases/download/openssl-${version}/openssl-${version}.tar.gz"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
29
third_party/FreeRDP/packaging/flatpak/modules/pcsc.json
vendored
Normal file
29
third_party/FreeRDP/packaging/flatpak/modules/pcsc.json
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"cleanup": [
|
||||
"/share/doc",
|
||||
"/share/man"
|
||||
],
|
||||
"config-opts": [
|
||||
"--disable-libsystemd",
|
||||
"--enable-pic",
|
||||
"--disable-libusb",
|
||||
"--enable-shared",
|
||||
"--disable-polkit",
|
||||
"--with-systemdsystemunitdir=/app/lib/systemd/"
|
||||
],
|
||||
"name": "pcsc",
|
||||
"sources": [
|
||||
{
|
||||
"sha256": "00b667aa71504ed1d39a48ad377de048c70dbe47229e8c48a3239ab62979c70f",
|
||||
"type": "archive",
|
||||
"url": "https://github.com/LudovicRousseau/PCSC/archive/refs/tags/2.3.3.tar.gz",
|
||||
"x-checker-data": {
|
||||
"project-id": 2611,
|
||||
"stable-only": true,
|
||||
"type": "anitya",
|
||||
"url-template":
|
||||
"https://github.com/LudovicRousseau/PCSC/archive/refs/tags/${version0}.${version1}.${version2}"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
32
third_party/FreeRDP/packaging/flatpak/modules/sso-mib.json
vendored
Normal file
32
third_party/FreeRDP/packaging/flatpak/modules/sso-mib.json
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"builddir": true,
|
||||
"buildsystem": "meson",
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/pkgconfig",
|
||||
"/bin"
|
||||
],
|
||||
"config-opts": [
|
||||
"-Ddefault_library=shared",
|
||||
"-Db_pie=true",
|
||||
"-Db_lto=true",
|
||||
"-Ddocumentation=false",
|
||||
"-Dexamples=false",
|
||||
"-Dpkgconfig.relocatable=true"
|
||||
],
|
||||
"name": "sso-mib",
|
||||
"sources": [
|
||||
{
|
||||
"sha256": "48c39c76e251ff844e7b8d4c2f1a7cea02fef55dfedd5d87ccf777b6d159db25",
|
||||
"type": "archive",
|
||||
"url": "https://github.com/siemens/sso-mib/archive/refs/tags/v0.5.0.tar.gz",
|
||||
"x-checker-data": {
|
||||
"project-id": 378306,
|
||||
"stable-only": true,
|
||||
"type": "anitya",
|
||||
"url-template":
|
||||
"https://github.com/siemens/sso-mib/archive/refs/tags/v${version}.tar.gz"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
28
third_party/FreeRDP/packaging/flatpak/modules/uriparser.json
vendored
Normal file
28
third_party/FreeRDP/packaging/flatpak/modules/uriparser.json
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"builddir": true,
|
||||
"buildsystem": "cmake-ninja",
|
||||
"cleanup": [],
|
||||
"config-opts": [
|
||||
"-DCMAKE_VERBOSE_MAKEFILE=ON",
|
||||
"-DCMAKE_BUILD_TYPE:STRING=Release",
|
||||
"-DCMAKE_INSTALL_LIBDIR:PATH=lib",
|
||||
"-DURIPARSER_BUILD_DOCS:BOOL=OFF",
|
||||
"-DURIPARSER_BUILD_TESTS:BOOL=OFF"
|
||||
],
|
||||
"name": "urlparser",
|
||||
"sources": [
|
||||
{
|
||||
"sha256": "1d71c054837ea32a31e462bce5a1af272379ecf511e33448e88100b87ff73b2e",
|
||||
"type": "archive",
|
||||
"url":
|
||||
"https://github.com/uriparser/uriparser/releases/download/uriparser-0.9.8/uriparser-0.9.8.tar.xz",
|
||||
"x-checker-data": {
|
||||
"project-id": 10160,
|
||||
"stable-only": true,
|
||||
"type": "anitya",
|
||||
"url-template":
|
||||
"https://github.com/uriparser/uriparser/releases/download/uriparser-${version0}.${version1}.${version2}/uriparser-${version0}.${version1}.${version2}.tar.xz"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user