Bug#894297: [PATCH] cyrus-sasl2: please add build-profile support
Karsten Merker
merker at debian.org
Wed Mar 28 14:53:43 UTC 2018
Package: cyrus-sasl2
Version: 2.1.27~101-g0780600+dfsg-3
Severity: wishlist
Tags: patch
X-Debbugs-CC: debian-riscv at lists.debian.org
User: debian-riscv at lists.debian.org
Usertags: riscv64
Hello,
we are in the process of bootstrapping a Debian port for the
riscv64 architecture (https://wiki.debian.org/RISC-V). The
cyrus-sasl2 package is part of the build-dependency chain for the
essential package set, so we need to build it to be able to
complete the bootstrap process.
Cyrus-sasl2 is involved in a circular dependency chain whose
untangling requires building the package in multiple steps with
reduced functionality and reduced build-dependencies. To achieve
that, debian/rules currently supports passing a number of options
(no-sql, no-ldap and no-gssapi) in $(DEB_BUILD_OPTIONS). This
mechanism has the limitation that it requires manually adjusting the
build-dependency list based on the options set and makes it hard to
autobuild the package in a bootstrapping context. The use of
build-profiles (https://wiki.debian.org/BuildProfileSpec) would make
this process quite a bit easier. Attached is a patch that adds
build-profile support to the packge while keeping the original
$(DEB_BUILD_OPTIONS)-based mechanism in place.
The build profile names follow the "extension namespace" conventions
from the build profile specification:
DEB_BUILD_OPTIONS -> build-profile name
-----------------------------------------
no-sql -> pkg.cyrus-sasl2.nosql
no-ldap -> pkg.cyrus-sasl2.noldap
no-gssapi -> pkg.cyrus-sasl2.nogssapi
It would be very helpful for our bootstrapping efforts if you could
upload a version of the cyrus-sasl2 package with this patch applied to
unstable in the near future. For a standard build the patch changes
nothing, so there should be no significant risk in applying it.
JFTR one thing that I have found while testing the patch: the three
options/profiles are in practice not completely independent from each
other. The main purpose of the no-gssapi option is to remove the
dependency on kerberos, but if the package is built with SQL support
(i.e. pkg.cyrus-sasl2.nogssapi is set but pkg.cyrus-sasl2.nosql is
not), libpq5 by default pulls in krb5 nonetheless. The same limitation
applies to the existing mechanism, so this isn't a regression compared
to what we have now. It definitely makes sense to have separate
options/profiles for no-gssapi and no-sql though, as postgresql
supports a stage1 build without krb5 for bootstrapping purposes and in
this case they are really independent from each other.
Regards,
Karsten
--
Gem. Par. 28 Abs. 4 Bundesdatenschutzgesetz widerspreche ich der Nutzung
sowie der Weitergabe meiner personenbezogenen Daten für Zwecke der
Werbung sowie der Markt- oder Meinungsforschung.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cyrus-sasl2-build-profile.patch
Type: text/x-diff
Size: 4439 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-cyrus-sasl2-debian-devel/attachments/20180328/90a5f530/attachment.patch>
More information about the Pkg-cyrus-sasl2-debian-devel
mailing list