summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <sthibault@debian.org>2013-09-17 01:59:28 +0200
committerAndreas Beckmann <anbe@debian.org>2013-10-19 12:07:39 +0200
commit32cf2fac6cc94041768aa81861569460e745b12b (patch)
tree18ca76ba9bec6eb0509e27e130f3a653dd856021
parent7271a3ba14c1f26731b01c079f35985c8b1ec6d6 (diff)
downloadsendmail-32cf2fac6cc94041768aa81861569460e745b12b.tar.gz
fix FTBFS on HURD, part 2
-rw-r--r--debian/changelog1
-rw-r--r--debian/patches/8.14/8.14.4/hurd.patch72
-rw-r--r--debian/patches/8.14/8.14.4/series1
3 files changed, 74 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 36ae080..6f1ef12 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -9,6 +9,7 @@ sendmail (8.14.4-4.2) UNRELEASED; urgency=low
thanks to Masatake YAMATO. (Closes: #615477)
* kFreeBSD: Enable HASURANDOMDEV, thanks to Brian M. Carlson.
(Closes: #366087)
+ * Really fix FTBFS on HURD, thanks to Samuel Thibault. (Closes: #608525)
-- Andreas Beckmann <anbe@debian.org> Sat, 19 Oct 2013 02:41:51 +0200
diff --git a/debian/patches/8.14/8.14.4/hurd.patch b/debian/patches/8.14/8.14.4/hurd.patch
new file mode 100644
index 0000000..bcf261d
--- /dev/null
+++ b/debian/patches/8.14/8.14.4/hurd.patch
@@ -0,0 +1,72 @@
+From: Samuel Thibault <sthibault@debian.org>
+Subject: fix building for HURD
+
+--- ./include/sm/conf.h.original 2010-12-31 19:23:37.000000000 +0000
++++ ./include/sm/conf.h 2010-12-31 19:30:40.000000000 +0000
+@@ -1101,15 +1101,23 @@
+
+ # if defined(__GNU__) && !defined(NeXT)
+ # include <paths.h>
+-# define HASFCHMOD 1 /* has fchmod(2) call */
+-# define HASFCHOWN 1 /* has fchown(2) call */
++# define BSD 1 /* include BSD defines */
++# define HASSETREGID 1 /* use setregid(2) to set saved gid */
++# ifndef REQUIRES_DIR_FSYNC
++# define REQUIRES_DIR_FSYNC 1 /* requires fsync() on directory */
++# endif /* REQUIRES_DIR_FSYNC */
++# ifndef USESETEUID
++# define USESETEUID 0 /* has it due to POSIX, but doesn't work */
++# endif /* USESETEUID */
++# define SM_CONF_GETOPT 0 /* need a replacement for getopt(3) */
+ # define HASUNAME 1 /* has uname(2) call */
+ # define HASUNSETENV 1 /* has unsetenv(3) call */
+-# define HAS_ST_GEN 1 /* has st_gen field in stat struct */
+-# define HASSTRERROR 1 /* has strerror(3) */
++# define ERRLIST_PREDEFINED 1 /* don't declare sys_errlist */
+ # define GIDSET_T gid_t
+-# define SOCKADDR_LEN_T socklen_t
+-# define SOCKOPT_LEN_T socklen_t
++# define HAS_IN_H 1 /* GNU has netinet/in.h. */
++# ifndef USE_SIGLONGJMP
++# define USE_SIGLONGJMP 1 /* sigsetjmp needed for signal handling */
++# endif /* ! USE_SIGLONGJMP */
+ # if (__GLIBC__ == 2 && __GLIBC_MINOR__ > 1) || __GLIBC__ > 2
+ # define LA_TYPE LA_SUBR
+ # else /* (__GLIBC__ == 2 && __GLIBC_MINOR__ > 1) || __GLIBC__ > 2 */
+@@ -1118,11 +1126,34 @@
+ # define host_self mach_host_self
+ # endif /* (__GLIBC__ == 2 && __GLIBC_MINOR__ > 1) || __GLIBC__ > 2 */
+ # define SFS_TYPE SFS_STATFS
++# define SPT_PADCHAR '\0' /* pad process title with nulls */
++# ifndef HASURANDOMDEV
++# define HASURANDOMDEV 1 /* 2.0 (at least) has linux/drivers/char/random.c */
++# endif /* ! HASURANDOMDEV */
++# define HASSTRERROR 1 /* has strerror(3) */
++# ifndef TZ_TYPE
++# define TZ_TYPE TZ_NONE /* no standard for Linux */
++# endif /* ! TZ_TYPE */
++# ifndef _PATH_SENDMAILPID
++# define _PATH_SENDMAILPID "/var/run/sendmail.pid"
++# endif /* ! _PATH_SENDMAILPID */
++# include <sys/sysmacros.h>
++# undef atol /* wounded in <stdlib.h> */
++# if NETINET6
++# undef IPPROTO_ICMPV6 /* linux #defines, glibc enums */
++# if !defined(NEEDSGETIPNODE)
++ /* Have APIs in <netdb.h>, but no support in glibc */
++# define NEEDSGETIPNODE 1
++# endif /* (GLIBC_VERSION >= 0x201 && !defined(NEEDSGETIPNODE)) */
++# endif /* NETINET6 */
++# define HASFCHOWN 1 /* has fchown(2) call */
++# define HASFCHMOD 1 /* has fchmod(2) call */
++# define HAS_ST_GEN 1 /* has st_gen field in stat struct */
++# define SOCKADDR_LEN_T socklen_t
++# define SOCKOPT_LEN_T socklen_t
+ # define SPT_TYPE SPT_CHANGEARGV
+-# define ERRLIST_PREDEFINED 1 /* don't declare sys_errlist */
+ # define BSD4_4_SOCKADDR 1 /* has sa_len */
+ # define SIOCGIFCONF_IS_BROKEN 1 /* SIOCGFCONF doesn't work */
+-# define HAS_IN_H 1 /* GNU has netinet/in.h. */
+ /* GNU has no MAXPATHLEN; ideally the code should be changed to not use it. */
+ # define MAXPATHLEN 2048
+ # endif /* defined(__GNU__) && !defined(NeXT) */
diff --git a/debian/patches/8.14/8.14.4/series b/debian/patches/8.14/8.14.4/series
index 11bf8b3..07f526c 100644
--- a/debian/patches/8.14/8.14.4/series
+++ b/debian/patches/8.14/8.14.4/series
@@ -12,3 +12,4 @@ hard-code-lockf.patch
lock-mail-local.diff
fix_linkage
raise-max-daemons.patch
+hurd.patch