- Package:
- src:freerdp3
- Source:
- src:freerdp3
- Submitter:
- Helmut Grohne
- Date:
- 2025-04-12 13:09:01 UTC
- Severity:
- normal
- Tags:
freerdp3 fails to cross build from source as a Debian package. The upstream build system has some support for cross building built into it. There are two tools that are to be run during build. They're sdl-common-res2bin and generate_argument_docbook. The build system takes care of importing these during cross building, but nothing supplies them in the Debian build. Generating these tools using CMake is a non-trivial affair as many of the dependencies cannot be disabled, so we'd massively increase Build-Depends for little value. I therefore propose manually building these two components. Doing so is a little fragile admittedly. A minor complication is that the upstream build system references generate_argument_docbook via its native path and that has to be patched. I'm attaching the resulting patch for your convenience. Please let me know if this is acceptable. Helmut
I'm commenting on a single aspect of the proposed patch
here, not about the bug itself. Please also note this
hunk isn't needed anymore, since I removed the affected
lines entirely.
On Wed, 2 Oct 2024 20:43:26 +0200 Helmut Grohne <helmut@subdivi.de> wrote:
..
@@ -133,11 +168,13 @@
-e "s$(xSEDx) $${o}=[^=]+=\.$(xSEDx)$(xSEDx)g;" \
obj-$(DEB_HOST_GNU_TYPE)/winpr/include/winpr/buildflags.h
+ifeq ($(filter nocheck,$(DEB_BUILD_OPTIONS)),)
execute_after_dh_auto_build:
dh_auto_build --builddirectory=debian/testtmp
execute_after_dh_auto_test:
dh_auto_test --builddirectory=debian/testtmp
+endif
This seems to be wrong way to do it, because debhelper doesn't
implement full make(1) machinery. If we're to do this, it should
be done like:
execute_after_dh_auto_build:
+ifeq ($(filter nocheck,$(DEB_BUILD_OPTIONS)),)
dh_auto_build --builddirectory=debian/testtmp
+endif
execute_after_dh_auto_test:
+ifeq ($(filter nocheck,$(DEB_BUILD_OPTIONS)),)
dh_auto_test --builddirectory=debian/testtmp
+endif
In other words: keep the targets, but make them empty
based on condition. Instead of conditionally hide the
targets, which confuses debhelper.
Thanks,
/mjt
sdl-common-res2bin and generate_argument_docbook were dropped upstream with 3.9.0. manpages and resources are now generated with cmake. Related upstream commits for reference: c3a5387187501d4b55b4d410b88622157cedbf11 - generate_argument_docbook fe590801a1b89f951eefae5184a610ce27349423 - sdl-common-res2bin