Hi Anatoli, On Mon, 23 Nov 2020, at 4:26 AM, Anatoli wrote: > do the binaries/libs themselves change or is that new binaries/libs > appear for each enabled feature?
Both. > In other words, is it possible to make a single build and then package > everything in 3 package variants (for each configure options group) If you've built it with everything included, then there is no particular advantage to packaging up subsets of that. You might think "we can avoid bloat by excluding the features we don't need", but in this case all the APIs to support those features would still be in libcyrus, you would just be missing binaries. You could have achieved the same effect by just not running those services in cyrus.conf > or should there be 3 different builds? This is plausible, but now consider that as a deployment's needs grow and they need to add features, they will need to reinstall (vs just changing config). And if you don't have a package that provides the specific set of features they now need, they either need to build their own Cyrus from source (negating any benefit of providing packages), or they need to use the "all the bells and whistles" package anyway (obsoleting the separate packages). > >From my experience, there are separate binaries for each feature (like > >httpd, idled, timsieved, etc.), so it would be possible to prepare different > >packages by just building it with a complete set of configure args and then > >including necessary files for each package flavor, but maybe I'm missing > >something? (Discussed above.) > I've never packaged cyrus-imapd for others, so no experience here. > Maybe it also makes sense to add other packaging combinations > (objectstore, xapian, DBs, ldap, clamav, kerberos)? If there are > cyrus-imapd package maintainers reading this, could you please share > your experience? I would simply provide one package with all the stable/non-experimental features enabled, and admins can just not use the features they don't need. (If deployments need experimental features, they should really be tracking git master, not using a system package.) Cheers, ellie ------------------------------------------ Cyrus: Devel Permalink: https://cyrus.topicbox.com/groups/devel/T5acbcb9536dc47c3-Ma1273fb2e602325194cb49d5 Delivery options: https://cyrus.topicbox.com/groups/devel/subscription