sendmail: update to 8.18.1
authorAleksey Vasilenko <[email protected]>
Thu, 18 Sep 2025 22:02:16 +0000 (01:02 +0300)
committerTianling Shen <[email protected]>
Sat, 20 Sep 2025 15:11:51 +0000 (23:11 +0800)
- Fix GCC 15 build with 2 patches from Gentoo [1][2]
- Refresh existing patch
- Extend 010-enable-nonroot-install.patch to remove "-o U -g G" from
  more install targets (fixes 'invalid user buildbot' in CI)

[1]: https://github.com/gentoo/gentoo/blob/master/mail-mta/sendmail/files/sendmail-8.18.1-c23-sm_strtoll.patch
[2]: https://github.com/gentoo/gentoo/blob/master/mail-mta/sendmail/files/sendmail-8.18.1-c23-ctime.patch

Co-authored-by: W. Michael Petullo <[email protected]>
Signed-off-by: Aleksey Vasilenko <[email protected]>
mail/sendmail/Makefile
mail/sendmail/patches/010-enable-nonroot-install.patch
mail/sendmail/patches/100-misc-os-musl-fixes.patch
mail/sendmail/patches/103-create-install-dirs.patch
mail/sendmail/patches/220-sm_strtoll.patch [new file with mode: 0644]
mail/sendmail/patches/230-ctime.patch [new file with mode: 0644]

index eb3fbc63ad02745946ad52caf00f1bb6e504a9b7..a7f5c61587e949904d80e3400ef4f2cadbf92c2e 100644 (file)
@@ -7,12 +7,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=sendmail
-PKG_VERSION:=8.16.1
-PKG_RELEASE:=2
+PKG_VERSION:=8.18.1
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME).$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=ftp://ftp.sendmail.org/pub/sendmail
-PKG_HASH:=7886d5dc4b436b86175f32b5b9c7305c80787749847e2909bf99123ecc4e64ba
+PKG_HASH:=cbf1f309c38e4806f7cf3ead24260f17d1fe8fb63256d13edb3cdd1a098f0770
 PKG_MAINTAINER:=W. Michael Petullo <[email protected]>
 
 PKG_LICENSE:=Sendmail
@@ -127,4 +127,3 @@ endef
 
 $(eval $(call BuildPackage,libmilter-sendmail))
 #$(eval $(call BuildPackage,sendmail))
-
index b734feb3d331849a2954525a252a6a63b440622f..f7c4135dbb4b0995e7f8a2cf8e9b14ec540ba7d7 100644 (file)
  bldFINISH
 --- a/sendmail/Makefile.m4
 +++ b/sendmail/Makefile.m4
-@@ -68,7 +68,7 @@ ifdef(`confNO_STATISTICS_INSTALL',, `bld
+@@ -55,8 +55,6 @@ ${DESTDIR}${MSPQ}:
+       @echo "You must have set up a new user ${MSPQOWN} and a new group ${GBINGRP}"
+       @echo "as explained in sendmail/SECURITY."
+       mkdir -p ${DESTDIR}${MSPQ}
+-      chown ${MSPQOWN} ${DESTDIR}${MSPQ}
+-      chgrp ${GBINGRP} ${DESTDIR}${MSPQ}
+       chmod 0770 ${DESTDIR}${MSPQ}
+ divert(0)
+@@ -68,7 +66,7 @@ ifdef(`confNO_STATISTICS_INSTALL',, `bld
  divert(bldTARGETS_SECTION)
  
  install-set-user-id: bldCURRENT_PRODUCT ifdef(`confNO_HELPFILE_INSTALL',, `install-hf') ifdef(`confNO_STATISTICS_INSTALL',, `install-st') ifdef(`confNO_MAN_BUILD',, `install-docs')
        for i in ${sendmailTARGET_LINKS}; do \
                rm -f $$i; \
                ${LN} ${LNOPTS} ${M`'BINDIR}/sendmail $$i; \
-@@ -76,7 +76,7 @@ install-set-user-id: bldCURRENT_PRODUCT
+@@ -76,7 +74,7 @@ install-set-user-id: bldCURRENT_PRODUCT
  
  define(`confMTA_LINKS', `${DESTDIR}${UBINDIR}/newaliases ${DESTDIR}${UBINDIR}/mailq ${DESTDIR}${UBINDIR}/hoststat ${DESTDIR}${UBINDIR}/purgestat')
  install-sm-mta: bldCURRENT_PRODUCT
        for i in confMTA_LINKS; do \
                rm -f $$i; \
                ${LN} ${LNOPTS} ${M`'BINDIR}/sm-mta $$i; \
-@@ -84,14 +84,14 @@ install-sm-mta: bldCURRENT_PRODUCT
+@@ -84,14 +82,14 @@ install-sm-mta: bldCURRENT_PRODUCT
  
  install-hf:
        if [ ! -d ${DESTDIR}${HFDIR} ]; then mkdir -p ${DESTDIR}${HFDIR}; else :; fi
index db6e7b56f9e5465f0f0eb76a453fa215e5fcc820..3e664ea0a125b038ab5a99a543f62f302f9bee97 100644 (file)
@@ -28,7 +28,7 @@
  # endif
  
  /**********************************************************************
-@@ -1484,7 +1484,9 @@ extern void              *malloc();
+@@ -1485,7 +1485,9 @@ extern void              *malloc();
  #  define SM_CONF_GETOPT      0       /* need a replacement for getopt(3) */
  #  define HASUNAME    1       /* use System V uname(2) system call */
  #  define HASUNSETENV 1       /* has unsetenv(3) call */
@@ -39,7 +39,7 @@
  #  define GIDSET_T    gid_t   /* from <linux/types.h> */
  #  ifndef HASGETUSERSHELL
  #   define HASGETUSERSHELL 0  /* getusershell(3) broken in Slackware 2.0 */
-@@ -1522,6 +1524,7 @@ extern void              *malloc();
+@@ -1523,6 +1525,7 @@ extern void              *malloc();
  #  if defined(__GLIBC__) && defined(__GLIBC_MINOR__)
  #   define HASSTRERROR        1       /* has strerror(3) */
  #  endif
index 7c81d32aa09bb429387349ad10e3b50510eb5fd2..8e4d3d3d92714f0397150f248a55aa9e23f56772 100644 (file)
@@ -1,6 +1,6 @@
 --- a/sendmail/Makefile.m4
 +++ b/sendmail/Makefile.m4
-@@ -71,6 +71,7 @@ install-set-user-id: bldCURRENT_PRODUCT
+@@ -69,6 +69,7 @@ install-set-user-id: bldCURRENT_PRODUCT
        ${INSTALL} -c -m ${S`'BINMODE} bldCURRENT_PRODUCT ${DESTDIR}${M`'BINDIR}
        for i in ${sendmailTARGET_LINKS}; do \
                rm -f $$i; \
@@ -8,7 +8,7 @@
                ${LN} ${LNOPTS} ${M`'BINDIR}/sendmail $$i; \
        done
  
-@@ -79,6 +80,7 @@ install-sm-mta: bldCURRENT_PRODUCT
+@@ -77,6 +78,7 @@ install-sm-mta: bldCURRENT_PRODUCT
        ${INSTALL} -c -m ${M`'BINMODE} bldCURRENT_PRODUCT ${DESTDIR}${M`'BINDIR}/sm-mta
        for i in confMTA_LINKS; do \
                rm -f $$i; \
diff --git a/mail/sendmail/patches/220-sm_strtoll.patch b/mail/sendmail/patches/220-sm_strtoll.patch
new file mode 100644 (file)
index 0000000..af3c41a
--- /dev/null
@@ -0,0 +1,29 @@
+Bug: https://bugs.gentoo.org/944460
+
+--- a/libsm/vfscanf.c
++++ b/libsm/vfscanf.c
+@@ -240,13 +240,13 @@ literal:
+                       /* FALLTHROUGH */
+                 case 'd':
+                       c = CT_INT;
+-                      ccfn = (ULONGLONG_T (*)())sm_strtoll;
++                      ccfn = (ULONGLONG_T (*)(const char *, char **, int))sm_strtoll;
+                       base = 10;
+                       break;
+                 case 'i':
+                       c = CT_INT;
+-                      ccfn = (ULONGLONG_T (*)())sm_strtoll;
++                      ccfn = (ULONGLONG_T (*)(const char *, char **, int))sm_strtoll;
+                       base = 0;
+                       break;
+@@ -324,7 +324,7 @@ literal:
+                       if (isupper(c))
+                               flags |= LONG;
+                       c = CT_INT;
+-                      ccfn = (ULONGLONG_T (*)()) sm_strtoll;
++                      ccfn = (ULONGLONG_T (*)(const char *, char **, int)) sm_strtoll;
+                       base = 10;
+                       break;
+               }
diff --git a/mail/sendmail/patches/230-ctime.patch b/mail/sendmail/patches/230-ctime.patch
new file mode 100644 (file)
index 0000000..5901af6
--- /dev/null
@@ -0,0 +1,13 @@
+Bug: https://bugs.gentoo.org/945726
+
+--- a/mailstats/mailstats.c
++++ b/mailstats/mailstats.c
+@@ -65,7 +65,7 @@ main(argc, argv)
+       char sfilebuf[MAXPATHLEN];
+       char buf[MAXLINE];
+       struct statistics stats;
+-      extern char *ctime();
++      extern char *ctime(const time_t *);
+       extern char *optarg;
+       extern int optind;
+ # define MSOPTS "cC:f:opP"