Milestone 5: deliver embedded RDP sessions and lifecycle hardening

This commit is contained in:
Keith Smith
2026-03-03 18:59:26 -07:00
parent 230a401386
commit 36006bd4aa
2941 changed files with 724359 additions and 77 deletions

View File

@@ -0,0 +1,24 @@
freerdp-nightly (3.0.0) unstable; urgency=low
* Update version to 3.0.0
-- FreeRDP <team@freerdp.com> Tue, 29 Jun 2020 10:26:12 +0100
freerdp-nightly (2.0.0) unstable; urgency=low
* Update version to 2.0.0
-- FreeRDP <team@freerdp.com> Tue, 17 Nov 2015 23:26:12 +0100
freerdp-nightly (1.2.1) unstable; urgency=low
* Update version to 1.2.1
-- FreeRDP <team@freerdp.com> Tue, 03 Feb 2015 13:44:33 +0100
freerdp-nightly (1.2.0) unstable; urgency=medium
* Initial version of freerdp-nightly
-- FreeRDP <team@freerdp.com> Wed, 07 Jan 2015 10:09:32 +0100

View File

@@ -0,0 +1 @@
10

View File

@@ -0,0 +1,120 @@
Source: freerdp-nightly
Section: x11
Priority: optional
Maintainer: FreeRDP <team@freerdp.com>
Build-Depends:
debhelper (>= 9),
cdbs,
dpkg-dev,
autotools-dev,
cmake,
pkg-config,
libssl-dev,
ninja-build,
zlib1g-dev,
libkrb5-dev | krb5-multidev | heimdal-multidev,
libxkbcommon-dev,
libxkbfile-dev,
libx11-dev,
libwayland-dev,
libxrandr-dev,
libxi-dev,
libxrender-dev,
libxext-dev,
libxinerama-dev,
libxfixes-dev,
libxcursor-dev,
libxv-dev,
libxdamage-dev,
libxtst-dev,
libcups2-dev,
libcairo2-dev,
libpcsclite-dev,
libasound2-dev,
libswscale-dev,
libpulse-dev,
libavformat-dev,
libavcodec-dev,
libavutil-dev,
libfuse3-dev,
libgsm1-dev,
libswresample-dev | libavresample-dev,
libusb-1.0-0-dev,
libudev-dev,
libfdk-aac-dev | libfaad-dev,
libsoxr-dev,
libdbus-glib-1-dev,
libpam0g-dev,
uuid-dev,
libjansson-dev (>= 2.13) | libjson-c-dev | libcjson-dev,
libsdl2-2.0-0,
libsdl2-dev,
libsdl2-ttf-dev,
libsdl2-image-dev,
libsdl3-0 | libsdl2-2.0-0,
libsdl3-dev | libsdl2-dev,
libsdl3-ttf-dev | libsdl2-ttf-dev,
libsdl3-image-dev | libsdl2-image-dev,
libsystemd-dev,
libwebkit2gtk-4.1-dev | libwebkit2gtk-4.0-dev,
liburiparser-dev,
libopus-dev,
libwebp-dev,
libpng-dev,
libjpeg-dev,
opensc-pkcs11,
libv4l-dev,
ocl-icd-dev,
ocl-icd-opencl-dev,
opencl-headers,
opencl-c-headers,
libasan5 | libasan6 | libasan8
Standards-Version: 3.9.5
Homepage: http://www.freerdp.com/
Vcs-Browser: http://github.com/FreeRDP/FreeRDP.git
Vcs-Git: git://github.com/FreeRDP/FreeRDP.git
Package: freerdp-nightly
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends}
Provides: freerdp
Description: RDP client for Windows Terminal Services (X11 client)
FreeRDP is a libre client/server implementation of the Remote
Desktop Protocol (RDP).
.
Currently, the FreeRDP client supports the following Windows Versions:
.
* Windows NT Server
* Windows 2000 Terminal Server
* Windows XP
* Windows 2003 Server
* Windows Vista
* Windows 2008/2008r2/2011SBS Server
* Windows 7
* Windows 2012 Server
* Windows 8
.
This package contains the X11 based client.
Package: freerdp-nightly-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: freerdp-nightly (= ${binary:Version}), ${misc:Depends}
Description: Free Remote Desktop Protocol library (development files)
FreeRDP is a libre client/server implementation of the Remote
Desktop Protocol (RDP).
.
This package contains the FreeRDP development files.
Package: freerdp-nightly-dbg
Section: debug
Priority: extra
Architecture: any
Depends:
freerdp-nightly (= ${binary:Version}), ${misc:Depends},
Description: RDP client for Windows Terminal Services (X11 client, debug symbols)
FreeRDP is a libre client/server implementation of the Remote
Desktop Protocol (RDP).
.
This package contains the debug symbols of the xfreerdp executable.

View File

@@ -0,0 +1 @@
freerdp-nightly-dbg: no-copyright-file new-package-should-close-itp-bug dir-or-file-in-opt package-name-doesnt-match-sonames

View File

@@ -0,0 +1,3 @@
opt/freerdp-nightly/lib/pkgconfig
opt/freerdp-nightly/lib/cmake
opt/freerdp-nightly/include

View File

@@ -0,0 +1 @@
freerdp-nightly-dev: no-copyright-file dir-or-file-in-opt

View File

@@ -0,0 +1,6 @@
opt/freerdp-nightly/lib/*.so*
opt/freerdp-nightly/lib/freerdp3/proxy/*.so*
opt/freerdp-nightly/bin
opt/freerdp-nightly/share/man/man1/*
opt/freerdp-nightly/share/man/man7/*
opt/freerdp-nightly/share/FreeRDP/FreeRDP3/*

View File

@@ -0,0 +1 @@
freerdp-nightly: no-copyright-file new-package-should-close-itp-bug dir-or-file-in-opt package-name-doesnt-match-sonames

View File

@@ -0,0 +1 @@
freerdp-nightly source: no-debian-copyright

View File

@@ -0,0 +1,92 @@
#!/usr/bin/make -f
NULL =
DEB_HOST_ARCH=$(shell dpkg-architecture -qDEB_HOST_ARCH)
DEB_FDK_SUPPORT=$(shell dpkg-query -s libfdk-aac-dev 2>&1 >/dev/null; echo $$?)
DEB_SDL3_SUPPORT=$(shell dpkg-query -s libsdl3-dev libsdl3-image-dev libsdl3-ttf-dev 2>&1 >/dev/null; echo $$?)
ifeq ($(DEB_FDK_SUPPORT),0)
AAC_SUPPORT = -DWITH_FDK_AAC=ON
endif
ifeq ($(DEB_SDL3_SUPPORT),0)
SDL3_SUPPORT = -DWITH_CLIENT_SDL3=ON
else
SDL3_SUPPORT = -DWITH_CLIENT_SDL3=OFF
endif
SANITIZE_ADDRESS = -DWITH_SANITIZE_ADDRESS=ON
DEB_CMAKE_EXTRA_FLAGS := -GNinja \
-DCMAKE_SKIP_RPATH=FALSE \
-DCMAKE_SKIP_INSTALL_RPATH=FALSE \
-DWITH_PULSE=ON \
-DWITH_CHANNELS=ON \
-DWITH_AAD=ON \
-DWITH_CUPS=ON \
-DWITH_KRB5=ON \
-DWITH_PCSC=ON \
-DWITH_FFMPEG=ON \
-DWITH_OPUS=ON \
-DWITH_DSP_FFMPEG=ON \
-DWITH_FREERDP_DEPRECATED_COMMANDLINE=ON \
-DWITH_SERVER=ON \
-DWITH_WAYLAND=ON \
-DWITH_CAIRO=ON \
-DWITH_URIPARSER=ON \
-DWINPR_UTILS_IMAGE_PNG=ON \
-DWINPR_UTILS_IMAGE_WEBP=ON \
-DWINPR_UTILS_IMAGE_JPEG=ON \
-DWITH_INTERNAL_RC4=ON \
-DWITH_INTERNAL_MD4=ON \
-DWITH_INTERNAL_MD5=ON \
-DWITH_WEBVIEW=ON \
-DBUILD_TESTING=ON \
-DWITH_KEYBOARD_LAYOUT_FROM_FILE=ON \
-DWITH_TIMEZONE_FROM_FILE=ON \
-DSDL_USE_COMPILED_RESOURCES=OFF \
-DWITH_SDL_IMAGE_DIALOGS=ON \
-DWITH_CLIENT_SDL_VERSIONED=ON \
-DRDTK_FORCE_STATIC_BUILD=ON \
-DUWAC_FORCE_STATIC_BUILD=ON \
-DWITH_BINARY_VERSIONING=ON \
-DWITH_RESOURCE_VERSIONING=ON \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_C_FLAGS="-O1" \
-DCMAKE_CXX_FLAGS="-O1" \
-DCMAKE_INSTALL_PREFIX=/opt/freerdp-nightly/ \
-DCMAKE_INSTALL_INCLUDEDIR=include \
-DCMAKE_INSTALL_LIBDIR=lib \
-DNO_CMAKE_PACKAGE_REGISTRY=ON \
-DWINPR_USE_LEGACY_RESOURCE_DIR=OFF \
-DWINPR_USE_VENDOR_PRODUCT_CONFIG_DIR=ON \
-DFREERDP_USE_VENDOR_PRODUCT_CONFIG_DIR=ON \
-DSAMPLE_USE_VENDOR_PRODUCT_CONFIG_DIR=ON \
-DSDL_USE_VENDOR_PRODUCT_CONFIG_DIR=ON \
-DCHANNEL_RDP2TCP=ON \
-DCHANNEL_RDP2TCP_CLIENT=ON \
-DCHANNEL_RDPECAM=ON \
-DCHANNEL_RDPECAM_CLIENT=ON \
-DCHANNEL_RDPEAR=ON \
-DCHANNEL_RDPEAR_CLIENT=ON \
-DCHANNEL_SSHAGENT=ON \
-DCHANNEL_SSHAGENT_CLIENT=ON \
-DCMAKE_CTEST_ARGUMENTS="-DExperimentalTest;--output-on-failure;--no-compress-output" \
$(AAC_SUPPORT) \
$(SDL3_SUPPORT) \
$(SANITIZE_ADDRESS) \
$(NULL)
%:
dh $@ --parallel
override_dh_auto_configure:
dh_auto_configure -- $(DEB_CMAKE_EXTRA_FLAGS)
override_dh_shlibdeps:
dh_shlibdeps -l /opt/freerdp-nightly/lib/
override_dh_strip:
dh_strip --dbg-package=freerdp-nightly-dbg
override_dh_missing:
dh_missing --fail-missing

View File

@@ -0,0 +1 @@
3.0 (native)

View 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

View 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"
}

View 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

View 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"
}
}
]
}

View 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"
}
}
]
}

View 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"
}
}
]
}

View 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"
}
}
]
}

View 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"
}

View 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"
}
}
]
}

View 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"
}
}
]
}

View 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"
}
}
]
}

View 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}"
}
}
]
}

View 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"
}
}
]
}

View 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"
}
}
]
}

View File

@@ -0,0 +1,13 @@
# files are on purpose in /opt - vendor package
addFilter("dir-or-file-in-opt")
# required in this case that the binaries work
addFilter("binary-or-shlib-defines-rpath")
# ldconfig run not required
addFilter("library-without-ldconfig-postin")
addFilter("library-without-ldconfig-postun")
# keep debug symbols and so directly in the package
addFilter("unstripped-binary-or-object /opt/freerdp-nightly/lib64/*")
addFilter("unstripped-binary-or-object /opt/freerdp-nightly/bin/*")
addFilter("no-documentation")
addFilter("manpage-not-compressed")
addFilter("suse-filelist-forbidden-opt")

View File

@@ -0,0 +1,274 @@
#
# spec file for package freerdp-nightly
#
# Copyright (c) 2015 Bernhard Miklautz <bernhard.miklautz@shacknet.at>
#
# Bugs and comments https://github.com/FreeRDP/FreeRDP/issues
%global __cmake_builddir 1
%define _build_id_links none
%define INSTALL_PREFIX /opt/freerdp-nightly/
# do not add provides for libs provided by this package
# or it could possibly mess with system provided packages
# which depend on freerdp libs
%global __provides_exclude_from ^%{INSTALL_PREFIX}.*$
# do not require our own libs
%global __requires_exclude ^(libfreerdp.*|libwinpr.*|librdtk.*|libuwac.*).*$
# no debug package
%global debug_package %{nil}
Name: freerdp-nightly
Version: 3.0
Release: 0
License: ASL 2.0
Summary: Free implementation of the Remote Desktop Protocol (RDP)
Url: http://www.freerdp.com
Group: Productivity/Networking/Other
Source0: %{name}-%{version}.tar.bz2
Source1: source_version
Source2: webview.tar.bz2
BuildRequires: clang
BuildRequires: cmake >= 3.13.0
BuildRequires: libxkbfile-devel
BuildRequires: libX11-devel
BuildRequires: libXrandr-devel
BuildRequires: libXi-devel
BuildRequires: libXrender-devel
BuildRequires: libXext-devel
BuildRequires: libXinerama-devel
BuildRequires: libXfixes-devel
BuildRequires: libXcursor-devel
BuildRequires: libXv-devel
BuildRequires: libXdamage-devel
BuildRequires: libXtst-devel
BuildRequires: cups-devel
BuildRequires: cairo-devel
BuildRequires: pcsc-lite-devel
BuildRequires: zlib-devel
BuildRequires: krb5-devel
BuildRequires: uriparser-devel
BuildRequires: libpng-devel
BuildRequires: libwebp-devel
BuildRequires: fuse3-devel
BuildRequires: pam-devel
BuildRequires: libicu-devel
BuildRequires: libv4l-devel
# (Open)Suse
%if %{defined suse_version}
BuildRequires: libswscale-devel
BuildRequires: cJSON-devel
BuildRequires: uuid-devel
BuildRequires: libSDL2-devel
BuildRequires: libSDL2_ttf-devel
BuildRequires: libSDL2_image-devel
BuildRequires: pkg-config
BuildRequires: libopenssl-devel
BuildRequires: alsa-devel
BuildRequires: libpulse-devel
BuildRequires: libusb-1_0-devel
BuildRequires: libudev-devel
BuildRequires: dbus-1-glib-devel
BuildRequires: wayland-devel
BuildRequires: libavutil-devel
BuildRequires: libavcodec-devel
BuildRequires: libavformat-devel
BuildRequires: libswresample-devel
BuildRequires: libopus-devel
BuildRequires: libjpeg62-devel
%endif
# fedora 21+
%if 0%{?fedora} >= 37 || 0%{defined rhel}
BuildRequires: cjson-devel
BuildRequires: uuid-devel
BuildRequires: opus-devel
BuildRequires: ((SDL3-devel and SDL3_ttf-devel and SDL3_image-devel) or (SDL2-devel and SDL2_ttf-devel and SDL2_image-devel))
BuildRequires: pkgconfig
BuildRequires: openssl-devel
BuildRequires: alsa-lib-devel
BuildRequires: pulseaudio-libs-devel
BuildRequires: libusbx-devel
BuildRequires: systemd-devel
BuildRequires: dbus-glib-devel
BuildRequires: libjpeg-turbo-devel
BuildRequires: libasan
BuildRequires: compiler-rt
BuildRequires: (webkit2gtk4.1-devel or webkit2gtk4.0-devel)
BuildRequires: libjpeg-turbo-devel
BuildRequires: wayland-devel
%endif
%if 0%{?fedora} || 0%{?rhel} > 8
BuildRequires: (fdk-aac-devel or fdk-aac-free-devel)
BuildRequires: (noopenh264-devel or openh264-devel)
%endif
%if 0%{?fedora} >= 36 || 0%{?rhel} >= 8
BuildRequires: (ffmpeg-free-devel or ffmpeg-devel)
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
FreeRDP is a open and free implementation of the Remote Desktop Protocol (RDP).
This package provides nightly master builds of all components.
%package devel
Summary: Development Files for %{name}
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
%description devel
This package contains development files necessary for developing applications
based on freerdp and winpr.
%prep
%setup -q
mkdir -p %{_builddir}
cd %{_builddir}
cp %{_sourcedir}/source_version freerdp-nightly-%{version}/.source_version
tar xf %{_sourcedir}/webview.tar.bz2 -C freerdp-nightly-%{version}/external/
%build
%cmake \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_SKIP_RPATH=FALSE \
-DCMAKE_SKIP_INSTALL_RPATH=FALSE \
-DWITH_FREERDP_DEPRECATED_COMMANDLINE=ON \
-DWITH_PULSE=ON \
-DWITH_CHANNELS=ON \
-DWITH_CUPS=ON \
-DWITH_PCSC=ON \
-DWITH_JPEG=ON \
-DWITH_OPUS=ON \
-DWITH_OPENH264=ON \
-DWITH_OPENH264_LOADING=ON \
-DWITH_INTERNAL_RC4=ON \
-DWITH_INTERNAL_MD4=ON \
-DWITH_INTERNAL_MD5=ON \
-DWITH_KEYBOARD_LAYOUT_FROM_FILE=ON \
-DWITH_TIMEZONE_FROM_FILE=ON \
-DSDL_USE_COMPILED_RESOURCES=OFF \
-DWITH_SDL_IMAGE_DIALOGS=ON \
-DWITH_BINARY_VERSIONING=ON \
-DWITH_RESOURCE_VERSIONING=ON \
-DWINPR_USE_VENDOR_PRODUCT_CONFIG_DIR=ON \
-DFREERDP_USE_VENDOR_PRODUCT_CONFIG_DIR=ON \
-DSAMPLE_USE_VENDOR_PRODUCT_CONFIG_DIR=ON \
-DSDL_USE_VENDOR_PRODUCT_CONFIG_DIR=ON \
-DWINPR_USE_LEGACY_RESOURCE_DIR=OFF \
-DRDTK_FORCE_STATIC_BUILD=ON \
-DUWAC_FORCE_STATIC_BUILD=ON \
%if 0%{?fedora} || 0%{?rhel} > 8
-DWITH_FDK_AAC=ON \
%endif
%if 0%{?fedora} >= 36 || 0%{?rhel} >= 9 || 0%{?suse_version}
-DWITH_FFMPEG=ON \
-DWITH_DSP_FFMPEG=ON \
%endif
%if 0%{?rhel} <= 8
-DALLOW_IN_SOURCE_BUILD=ON \
%endif
%if 0%{?rhel} >= 8 || 0%{defined suse_version}
-DWITH_WEBVIEW=OFF \
%endif
%if 0%{?fedora} >= 41
-DWITH_CLIENT_SDL3=OFF \
-DWITH_WEBVIEW=ON \
%endif
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DWITH_SANITIZE_ADDRESS=ON \
-DWITH_KRB5=ON \
-DCHANNEL_URBDRC=ON \
-DCHANNEL_URBDRC_CLIENT=ON \
-DCHANNEL_RDP2TCP=ON \
-DCHANNEL_RDP2TCP_CLIENT=ON \
-DCHANNEL_RDPECAM=ON \
-DCHANNEL_RDPECAM_CLIENT=ON \
-DCHANNEL_RDPEAR=ON \
-DCHANNEL_RDPEAR_CLIENT=ON \
-DCHANNEL_SSHAGENT=ON \
-DCHANNEL_SSHAGENT_CLIENT=ON \
-DWITH_SERVER=ON \
-DWITH_CAIRO=ON \
-DBUILD_TESTING=ON \
-DBUILD_TESTING_NO_H264=ON \
-DCMAKE_CTEST_ARGUMENTS="-DExperimentalTest;--output-on-failure;--no-compress-output" \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_C_FLAGS="-O1" \
-DCMAKE_CXX_FLAGS="-O1" \
-DCMAKE_INSTALL_PREFIX=%{INSTALL_PREFIX} \
-DCMAKE_INSTALL_LIBDIR=%{_lib}
%cmake_build
%ctest
%cmake_install
export NO_BRP_CHECK_RPATH true
%files
%defattr(-,root,root)
%dir %{INSTALL_PREFIX}
%dir %{INSTALL_PREFIX}/%{_lib}
%dir %{INSTALL_PREFIX}/bin
%dir %{INSTALL_PREFIX}/share/
%dir %{INSTALL_PREFIX}/share/man/
%dir %{INSTALL_PREFIX}/share/man/man1
%dir %{INSTALL_PREFIX}/share/man/man7
%dir %{INSTALL_PREFIX}/share/FreeRDP/FreeRDP3
%dir %{INSTALL_PREFIX}/%{_lib}/freerdp3/proxy/
%{INSTALL_PREFIX}/%{_lib}/*.so.*
%{INSTALL_PREFIX}/%{_lib}/freerdp3/proxy/*.so
%{INSTALL_PREFIX}/bin/*
%{INSTALL_PREFIX}/share/man/man1/*
%{INSTALL_PREFIX}/share/man/man7/*
%{INSTALL_PREFIX}/share/FreeRDP/FreeRDP3/*
%files devel
%defattr(-,root,root)
%{INSTALL_PREFIX}/%{_lib}/*.so
%{INSTALL_PREFIX}/include/
%{INSTALL_PREFIX}/%{_lib}/pkgconfig/
%{INSTALL_PREFIX}/%{_lib}/cmake/
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%changelog
* Thu May 15 2025 FreeRDP Team <team@freerdp.com> - 3.15.0-1
- update dependencies, fix build paths
* Thu Oct 10 2024 FreeRDP Team <team@freerdp.com> - 3.10.0-1
- update resource locations, utilize new settings
* Wed Apr 10 2024 FreeRDP Team <team@freerdp.com> - 3.0.0-5
- Fix exclusion of libuwac and librdtk
* Fri Feb 09 2024 FreeRDP Team <team@freerdp.com> - 3.0.0-4
- Deactivate ASAN due to issues with clang
* Fri Feb 09 2024 FreeRDP Team <team@freerdp.com> - 3.0.0-3
- Fix dependencies for alma, suse and rhel
* Thu Dec 21 2023 FreeRDP Team <team@freerdp.com> - 3.0.0-2
- Add new manpages
- Use new CMake options
* Wed Dec 20 2023 FreeRDP Team <team@freerdp.com> - 3.0.0-2
- Exclude libuwac and librdtk
- Allow ffmpeg-devel or ffmpeg-free-devel as dependency
* Tue Dec 19 2023 FreeRDP Team <team@freerdp.com> - 3.0.0-1
- Disable build-id
- Update build dependencies
* Wed Nov 15 2023 FreeRDP Team <team@freerdp.com> - 3.0.0-0
- Update build dependencies
* Wed Feb 7 2018 FreeRDP Team <team@freerdp.com> - 2.0.0-0
- Update version information and support for OpenSuse 42.1
* Tue Feb 03 2015 FreeRDP Team <team@freerdp.com> - 1.2.1-0
- Update version information
* Fri Jan 23 2015 Bernhard Miklautz <bmiklautz+freerdp@shacknet.at> - 1.2.0-0
- Initial version

View File

@@ -0,0 +1,23 @@
#!/bin/bash -xe
SCRIPT_PATH=$(dirname "${BASH_SOURCE[0]}")
SCRIPT_PATH=$(realpath "$SCRIPT_PATH")
BUILD_DEPS=$(/usr/bin/which dpkg-checkbuilddeps)
BUILD_PKG=$(/usr/bin/which dpkg-buildpackage)
if [ -z "$BUILD_DEPS" ] || [ -z "$BUILD_PKG" ]; then
echo "dpkg-buildpackage [$BUILD_PKG] and dpkg-checkbuilddeps [$BUILD_DEPS] required"
echo "Install with 'sudo apt install dpkg-dev'"
exit 1
fi
# First create a link to the debian/control folder
cd "$SCRIPT_PATH/../.."
./packaging/scripts/prepare_deb_freerdp-nightly.sh
# Check all dependencies are installed
$BUILD_DEPS "debian/control"
# And finally build the package
$BUILD_PKG

View File

@@ -0,0 +1,12 @@
#!/bin/bash -xe
#
# Create a RPM package
SCRIPT_PATH=$(dirname "${BASH_SOURCE[0]}")
SCRIPT_PATH=$(realpath "$SCRIPT_PATH")
mkdir -p ~/rpmbuild/SOURCES/
$SCRIPT_PATH/prepare_rpm_freerdp-nightly.sh
git archive --format=tar --prefix=freerdp-nightly-3.0/ HEAD --output ~/rpmbuild/SOURCES/freerdp-nightly-3.0.tar.bz2
cp source_version ~/rpmbuild/SOURCES/
rpmbuild -ba "$SCRIPT_PATH/../rpm/freerdp-nightly.spec"

View File

@@ -0,0 +1,8 @@
#!/bin/sh
if [ ! -d external/webview ]; then
git clone -b navigation-listener --depth=1 https://github.com/akallabeth/webview external/webview
fi
ln -s packaging/deb/freerdp-nightly debian
git rev-parse --short HEAD >.source_version

View File

@@ -0,0 +1,18 @@
#!/bin/bash -xe
RPMBUILD_BASE="~/rpmbuild/SOURCES"
if [ $# -gt 0 ]; then
RPMBUILD_BASE="$1"
fi
if [ ! -d external/webview ]; then
git clone -b navigation-listener --depth=1 https://github.com/akallabeth/webview external/webview
fi
(
cd external/webview
mkdir -p "$RPMBUILD_BASE"
git archive --format=tar --prefix=webview/ HEAD --output $RPMBUILD_BASE/webview.tar.bz2
)
git rev-parse --short HEAD >source_version

View File

@@ -0,0 +1,22 @@
message("PRELOADING windows cache")
set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "nightly default")
set(CMAKE_WINDOWS_VERSION "WIN7" CACHE STRING "windows build version")
set(BUILD_SHARED_LIBS OFF CACHE BOOL "build static linked executable")
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded" CACHE STRING "MSVC runtime to use")
set(OPENSSL_USE_STATIC_LIBS ON CACHE BOOL "link OpenSSL static")
set(CHANNEL_URBDRC OFF CACHE BOOL "we do not build libusb support")
set(WITH_CLIENT_SDL ON CACHE BOOL "build with SDL client")
set(WITH_SERVER ON CACHE BOOL "Build with server support")
set(WITH_SHADOW OFF CACHE BOOL "Do not build shadow server")
set(WITH_PROXY ON CACHE BOOL "Build proxy server")
set(WITH_PLATFORM_SERVER OFF CACHE BOOL "Do not build platform server")
set(WITH_INTERNAL_MD4 ON CACHE BOOL "nightly default")
set(WITH_INTERNAL_MD5 ON CACHE BOOL "nightly default")
set(WITH_INTERNAL_RC4 ON CACHE BOOL "nightly default")
set(WITH_FFMPEG OFF CACHE BOOL "nightly default")
set(WITH_SWSCALE OFF CACHE BOOL "nightly default")
set(WITH_WEBVIEW ON CACHE BOOL "nightly default")
set(ZLIB_USE_STATIC_LIBS ON CACHE BOOL "ci default")
set(WITH_SDL_IMAGE_DIALOGS ON CACHE BOOL "nightly default")
set(SDL_USE_COMPILED_RESOURCES ON CACHE BOOL "nightly default")
set(WITH_SDL_LINK_SHARED OFF CACHE BOOL "nightly default")