Control: tags -1 + patch intrigeri asked me to split this into merge requests and update the bug.
On Fri, Mar 05, 2021 at 01:07:45PM +0100, Helmut Grohne wrote: > 1. Build-Depends are a problem. perl is not installable for the host > architecture. perl is used here to build a perl extension. As such it > should instead depend on perl-xs-dev (which currently is a virtual > package). We're in the process of transitioning all perl extensions > to this dependency and apparmor is till missing. Simple, right? Since the perl bindings are gone, what is left is dropping the perl dependency (as perl-base is essential): https://salsa.debian.org/apparmor-team/apparmor/-/merge_requests/19 > 2. Build-Depends: python3 is not installable either. The usual way here > is to replace python(.*)-dev with libpython\1-dev, python\1-dev:any > and annotating the interpreter dependencies :any. https://salsa.debian.org/apparmor-team/apparmor/-/merge_requests/20 > 3. The PERL_VENDORARCH variable is computed for the build architecture. > The snippet is common to many perl extensions and the replacement is > not nice. We're in the process of moving this to a more central > place, but in the mean time please include the snippet from the > attached patch to mae it use the host's perl config. Obsolete due to perl bindings being removed. > 4. Then it uses AC_CHECK_FILE to locate a header. Bad idea. > AC_CHECK_FILE is for host files, not for build files. Please use test > -e instead. https://gitlab.com/apparmor/apparmor/-/merge_requests/728 is included in Debian already. > 5. In the end, I couldn't figure out how to make the perl extension > cross buildable. Instead, I offer the addition of a noperl build > profile to make any progress here. Obsolete due to perl bindings being removed. > 6. The configure script assumes that $PYTHON-config is right. > Unfortunately, the Python interpreter is not usually prefixed with a > triplet whereas the -config tool is. Thus we get the build > architecture python-config here, but we should use the host one. > AC_PATH_TOOL is required here. https://gitlab.com/apparmor/apparmor/-/merge_requests/729 is included in Debian already. > 7. It fails linking -lz. This is an issue with python3.9 actually and > reported separately as #984580. Has been fixed in the Python packaging. However, we have a new issue. 8. The binutils and parser subdirectories are built with plain make and thus lack cross tool invocations. The obvious solution is using dh_auto_build. Also changehat/mod_apparmor is implicitly built by make install and thus affected by the same problem. https://salsa.debian.org/apparmor-team/apparmor/-/merge_requests/21 And once you include those three merge requests, cross building apparmor should just work. Helmut