Merge ~sergiodj/ubuntu/+source/sendmail:disable-nix-fix-ftbfs into ubuntu/+source/sendmail:ubuntu/devel

Proposed by Sergio Durigan Junior
Status: Merged
Approved by: Sergio Durigan Junior
Approved revision: 34bfecd1b4b13a9ade80201dec99a37220a18f6d
Merged at revision: 34bfecd1b4b13a9ade80201dec99a37220a18f6d
Proposed branch: ~sergiodj/ubuntu/+source/sendmail:disable-nix-fix-ftbfs
Merge into: ubuntu/+source/sendmail:ubuntu/devel
Diff against target: 79 lines (+17/-6)
4 files modified
debian/changelog (+9/-0)
debian/configure.options (+2/-2)
debian/control (+4/-3)
debian/control.in (+2/-1)
Reviewer Review Type Date Requested Status
Athos Ribeiro (community) Approve
Ubuntu Foundations Team Pending
Canonical Server Core Reviewers Pending
Review via email: mp+402723@code.launchpad.net

Description of the change

This change disables NIS/NIS+ on sendmail and fixes an FTBFS that is Ubuntu-specific.

It all started when I noticed that sendmail was FTBFSing in the PPA I'm using for the OpenLDAP transition. A quick glance at the build logs told me that the problem was unrelated to the transition, and so I started investigating.

I could reproduce the FTBFS locally on Ubuntu, but could not make the package fail to build on Debian. I fired up a container where I could manually reproduce the build steps and notice what was really happening: the sendmail package has a "configure" script inside the debian/ directory, which is responsible for (duh) configuring the upstream sources. One of the steps involved in the execution of the "configure" was to generate a "control.new" file (by doing some variable substitutions in the "control.in" file), and then assert that "control.new" is exactly the same as the existing "control" file. On Debian they are the same. On Ubuntu they aren't.

I hacked the "configure" script to tell me exactly what differs between both files, and noticed that on Ubuntu the following line:

  This package supports REGEX, DB, NIS, NIS+, LDAP, DNS maps,

becomes:

  This package supports REGEX, DB, NIS, LDAP, DNS maps

So, no NIS+. Strange. I looked at "configure.ac" and noticed that, in order to check for NIS+, the script was checking for the presence of the "/usr/include/rpcsvc/nis.h" header, which does exist. However, "config.log" told me that the actual error was that gcc wasn't able to find "rpc/rpc.h". Aha!

Long story short, glibc >= 2.32 doesn't ship this file anymore. There is precedence for removing NIS/NIS+ support from packages due to this breakage; for example:

https://bugs.launchpad.net/ubuntu/+source/squid/+bug/1895694

As Balint wrote there, it may not be trivial/possible to port sendmail to use tirpc, and I don't know if it's a drop-in replacement. Also, NIS is deprecated and I don't think we should be offering it to our users.

Debian is still not affected by this because they're shipping glibc 2.31. They will be, and that's why I will *also* propose this change to Debian's sendmail (which unfortunately is orphaned, but that's another story). But for now, I think we should fix this in Ubuntu.

There's a PPA with the proposed changes here:

https://launchpad.net/~sergiodj/+archive/ubuntu/sendmail-ftbfs-nis

The good news after all this work is that I was able to confirm that sendmail is not affected by the openldap transition, so yay, I guess :-).

To post a comment you must log in.
Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :

LGTM

review: Approve
Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

Thanks! Uploaded & pushed:

$ git push pkg upload/8.15.2-22ubuntu1
Enumerating objects: 21, done.
Counting objects: 100% (21/21), done.
Delta compression using up to 8 threads
Compressing objects: 100% (15/15), done.
Writing objects: 100% (15/15), 1.93 KiB | 659.00 KiB/s, done.
Total 15 (delta 11), reused 0 (delta 0)
To ssh://git.launchpad.net/ubuntu/+source/sendmail
 * [new tag] upload/8.15.2-22ubuntu1 -> upload/8.15.2-22ubuntu1

$ dput sendmail_8.15.2-22ubuntu1_source.changes
Trying to upload package to ubuntu
Checking signature on .changes
gpg: /home/sergio/work/sendmail/sendmail_8.15.2-22ubuntu1_source.changes: Valid signature from 106DA1C8C3CBBF14
Checking signature on .dsc
gpg: /home/sergio/work/sendmail/sendmail_8.15.2-22ubuntu1.dsc: Valid signature from 106DA1C8C3CBBF14
Uploading to ubuntu (via ftp to upload.ubuntu.com):
  Uploading sendmail_8.15.2-22ubuntu1.dsc: done.
  Uploading sendmail_8.15.2-22ubuntu1.debian.tar.xz: done.
  Uploading sendmail_8.15.2-22ubuntu1_source.buildinfo: done.
  Uploading sendmail_8.15.2-22ubuntu1_source.changes: done.
Successfully uploaded packages.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index fb8ca3b..f83026a 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,12 @@
6+sendmail (8.15.2-22ubuntu1) impish; urgency=medium
7+
8+ * d/configure.options: Disable NIS and NIS+. Fix FTBFS with
9+ glibc >= 2.32 due to missing "rpc/rpc.h".
10+ * d/control: Update description of sendmail and sendmail-bin to
11+ reflect the fact that NIS and NIS+ have been disabled.
12+
13+ -- Sergio Durigan Junior <sergio.durigan@canonical.com> Thu, 13 May 2021 17:58:13 -0400
14+
15 sendmail (8.15.2-22) unstable; urgency=medium
16
17 * QA upload.
18diff --git a/debian/configure.options b/debian/configure.options
19index 9775d2a..abe5b26 100644
20--- a/debian/configure.options
21+++ b/debian/configure.options
22@@ -80,9 +80,9 @@
23 # --enable-newdb=.........Allow NEWDB maps [auto]
24 --enable-newdb=yes
25 # --enable-nis=...........Allow NIS maps [auto]
26---enable-nis=auto
27+--enable-nis=no
28 # --enable-nisplus=.......Allow NISPLUS maps [auto]
29---enable-nisplus=auto
30+--enable-nisplus=no
31 # --enable-ldap=..........Allow LDAP maps [auto]
32 --enable-ldap=yes
33 # --enable-hesiod=........Allow HESIOD maps [auto]
34diff --git a/debian/control b/debian/control
35index 8b5691c..48fb980 100644
36--- a/debian/control
37+++ b/debian/control
38@@ -1,7 +1,8 @@
39 Source: sendmail
40 Priority: optional
41 Section: mail
42-Maintainer: Debian QA Group <packages@qa.debian.org>
43+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
44+XSBC-Original-Maintainer: Debian QA Group <packages@qa.debian.org>
45 Build-Depends-Indep:
46 groff,
47 bsdmainutils,
48@@ -57,7 +58,7 @@ Description: powerful, efficient, and scalable Mail Transport Agent
49 Sendmail includes *no* Mail User Agents (MUA), you'll have to
50 pick from the plethora of available MUAs (mutt, vm, etc.)
51 .
52- This package supports REGEX, DB, NIS, NIS+, LDAP, DNS maps,
53+ This package supports REGEX, DB, LDAP, DNS maps,
54 and has enabled TCPWrappers, IPv6, LockFile, SMTP AUTH(SASL), STARTTLS(SSL).
55
56 Package: rmail
57@@ -185,7 +186,7 @@ Description: powerful, efficient, and scalable Mail Transport Agent (metapackage
58 Sendmail includes *no* Mail User Agents (MUA), you'll have to
59 pick from the plethora of available MUAs (mutt, vm, etc.)
60 .
61- This package supports REGEX, DB, NIS, NIS+, LDAP, DNS maps,
62+ This package supports REGEX, DB, LDAP, DNS maps,
63 and has enabled TCPWrappers, IPv6, LockFile, SMTP AUTH(SASL), STARTTLS(SSL).
64 .
65 This package is to make installation/upgrading easier (Do NOT delete it)
66diff --git a/debian/control.in b/debian/control.in
67index f8838f3..9977bc5 100644
68--- a/debian/control.in
69+++ b/debian/control.in
70@@ -1,7 +1,8 @@
71 Source: sendmail
72 Priority: optional
73 Section: mail
74-Maintainer: Debian QA Group <packages@qa.debian.org>
75+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
76+XSBC-Original-Maintainer: Debian QA Group <packages@qa.debian.org>
77 Build-Depends-Indep:
78 groff,
79 bsdmainutils,

Subscribers

People subscribed via source and target branches