diff options
author | Richard A Nelson (Rick) <cowboy@debian.org> | 2007-05-29 02:21:00 +0000 |
---|---|---|
committer | Andreas Beckmann <debian@abeckmann.de> | 2012-10-01 19:59:16 +0200 |
commit | 125b7ee29030f9f48cd5790dd318d03e8d51626c (patch) | |
tree | 12932771a6afcd7de2474de9a59837c112bd2312 | |
parent | 5f9f63b182081abcafc869a3fdfb164d3260431a (diff) | |
download | sendmail-125b7ee29030f9f48cd5790dd318d03e8d51626c.tar.gz |
Imported Debian patch 8.14.1-6debian/8.14.1-6
51 files changed, 722 insertions, 2168 deletions
diff --git a/debian/Makefile.in b/debian/Makefile.in index aab8526..0ff62fd 100644 --- a/debian/Makefile.in +++ b/debian/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,15 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = . am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -36,14 +32,18 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ +subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in \ $(top_srcdir)/./build/debian/libmilter-dev.dirs.in \ + $(top_srcdir)/./build/debian/libmilter-dev.links.in \ $(top_srcdir)/./build/debian/libmilter-dev.postrm.in \ $(top_srcdir)/./build/debian/libmilter-dev.preinst.in \ - $(top_srcdir)/./build/debian/libmilter0.dirs.in \ - $(top_srcdir)/./build/debian/libmilter0.postrm.in \ - $(top_srcdir)/./build/debian/libmilter0.preinst.in \ + $(top_srcdir)/./build/debian/libmilter.dirs.in \ + $(top_srcdir)/./build/debian/libmilter.links.in \ + $(top_srcdir)/./build/debian/libmilter.lintian-overrides.in \ + $(top_srcdir)/./build/debian/libmilter.postrm.in \ + $(top_srcdir)/./build/debian/libmilter.preinst.in \ $(top_srcdir)/./build/debian/rmail.dirs.in \ $(top_srcdir)/./build/debian/rmail.postrm.in \ $(top_srcdir)/./build/debian/rmail.preinst.in \ @@ -52,7 +52,6 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(top_srcdir)/./build/debian/sendmail-base.postrm.in \ $(top_srcdir)/./build/debian/sendmail-base.preinst.in \ $(top_srcdir)/./build/debian/sendmail-base.prerm.in \ - $(top_srcdir)/./build/debian/sendmail-bin.conffiles.in \ $(top_srcdir)/./build/debian/sendmail-bin.dirs.in \ $(top_srcdir)/./build/debian/sendmail-bin.postinst.in \ $(top_srcdir)/./build/debian/sendmail-bin.postrm.in \ @@ -100,32 +99,35 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ ./build/config.guess ./build/config.sub ./build/depcomp \ ./build/install-sh ./build/missing ./build/mkinstalldirs \ AUTHORS COPYING ChangeLog INSTALL NEWS TODO -subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno configure.status.lineno + configure.lineno config.status.lineno mkinstalldirs = $(SHELL) $(top_srcdir)/./build/mkinstalldirs CONFIG_CLEAN_FILES = build/autoconf.mk build/autoconf.pl \ build/autoconf.sh build/debian/changelog.sh \ build/debian/changelog build/update_chaos build/site.config.m4 \ - build/debian/control.m4 libmilter0.dirs libmilter0.postrm \ - libmilter0.preinst libmilter-dev.dirs libmilter-dev.postrm \ - libmilter-dev.preinst rmail.dirs rmail.postrm rmail.preinst \ - sendmail.dirs sendmail-base.dirs sendmail-base.postinst \ - sendmail-base.postrm sendmail-base.preinst sendmail-base.prerm \ - sendmail-doc.dirs sendmail-doc.postrm sendmail-doc.preinst \ - sendmail-cf.dirs sendmail-cf.postrm sendmail-cf.preinst \ - sendmail-bin.conffiles sendmail.cron.daily sendmail-bin.dirs \ - sendmail.init.d sendmail-bin.postinst sendmail-bin.postrm \ - sendmail-bin.preinst sendmail-bin.prerm sendmail-bin.suid \ - sensible-mda.dirs sensible-mda.postrm sensible-mda.preinst \ - cf/debian/autoconf.m4 cf/debian/sendmail.mc \ - cf/debian/submit.mc cf/domain/debian-msp.m4 \ - cf/domain/debian-mta.m4 cf/hack/debian_auth.m4 \ - cf/hack/virthost_by_ip.m4 cf/ostype/debian.m4 \ + build/debian/control.m4 libmilter${sm_libmilter_version}.dirs \ + libmilter${sm_libmilter_version}.links \ + libmilter${sm_libmilter_version}.lintian-overrides \ + libmilter${sm_libmilter_version}.postrm \ + libmilter${sm_libmilter_version}.preinst libmilter-dev.dirs \ + libmilter-dev.links libmilter-dev.postrm libmilter-dev.preinst \ + rmail.dirs rmail.postrm rmail.preinst sendmail.dirs \ + sendmail-base.dirs sendmail-base.postinst sendmail-base.postrm \ + sendmail-base.preinst sendmail-base.prerm sendmail-doc.dirs \ + sendmail-doc.postrm sendmail-doc.preinst sendmail-cf.dirs \ + sendmail-cf.postrm sendmail-cf.preinst sendmail.cron.daily \ + sendmail-bin.dirs sendmail.init.d sendmail-bin.postinst \ + sendmail-bin.postrm sendmail-bin.preinst sendmail-bin.prerm \ + sendmail-bin.suid sensible-mda.dirs sensible-mda.postrm \ + sensible-mda.preinst cf/debian/autoconf.m4 \ + cf/debian/sendmail.mc cf/debian/submit.mc \ + cf/domain/debian-msp.m4 cf/domain/debian-mta.m4 \ + cf/hack/debian_auth.m4 cf/hack/virthost_by_ip.m4 \ + cf/ostype/debian.m4 \ examples/dhcp3/dhclient-exit-hooks.d/sendmail \ examples/network/if-down.d/sendmail \ examples/network/if-up.d/sendmail \ @@ -135,6 +137,8 @@ CONFIG_CLEAN_FILES = build/autoconf.mk build/autoconf.pl \ local/bug/sendmail/script SOURCES = DIST_SOURCES = +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) @@ -150,8 +154,6 @@ GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -180,6 +182,8 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ +GREP = @GREP@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -190,9 +194,8 @@ LIBS = @LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -205,22 +208,17 @@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SM_CPYRT = @SM_CPYRT@ SM_DATE = @SM_DATE@ -SM_ENABLE_AUTH_FALSE = @SM_ENABLE_AUTH_FALSE@ -SM_ENABLE_AUTH_TRUE = @SM_ENABLE_AUTH_TRUE@ -SM_ENABLE_LDAP_FALSE = @SM_ENABLE_LDAP_FALSE@ -SM_ENABLE_LDAP_TRUE = @SM_ENABLE_LDAP_TRUE@ -SM_ENABLE_TLS_FALSE = @SM_ENABLE_TLS_FALSE@ -SM_ENABLE_TLS_TRUE = @SM_ENABLE_TLS_TRUE@ SM_MAXVERS = @SM_MAXVERS@ SM_MINVERS = @SM_MINVERS@ SM_VERS = @SM_VERS@ STRIP = @STRIP@ VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ -ac_ct_STRIP = @ac_ct_STRIP@ ac_version = @ac_version@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -233,32 +231,40 @@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ buildtree = @buildtree@ datadir = @datadir@ +datarootdir = @datarootdir@ docdir = @docdir@ +dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ +htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ sm_auth_lib = @sm_auth_lib@ sm_badepends = @sm_badepends@ sm_build_arch = @sm_build_arch@ sm_custom = @sm_custom@ +sm_custom_s = @sm_custom_s@ sm_databases = @sm_databases@ sm_date = @sm_date@ sm_depends = @sm_depends@ @@ -268,8 +274,6 @@ sm_editmap_envdef = @sm_editmap_envdef@ sm_editmap_libs = @sm_editmap_libs@ sm_enable_auth = @sm_enable_auth@ sm_enable_bind = @sm_enable_bind@ -sm_enable_dev = @sm_enable_dev@ -sm_enable_doc = @sm_enable_doc@ sm_enable_hesiod = @sm_enable_hesiod@ sm_enable_ipv6 = @sm_enable_ipv6@ sm_enable_ldap = @sm_enable_ldap@ @@ -293,6 +297,7 @@ sm_incdirs = @sm_incdirs@ sm_ldap_lib = @sm_ldap_lib@ sm_libmilter_envdef = @sm_libmilter_envdef@ sm_libmilter_libs = @sm_libmilter_libs@ +sm_libmilter_version = @sm_libmilter_version@ sm_libs = @sm_libs@ sm_libsm_envdef = @sm_libsm_envdef@ sm_libsm_libs = @sm_libsm_libs@ @@ -331,12 +336,15 @@ sm_version_math = @sm_version_math@ sm_version_minor = @sm_version_minor@ sm_version_r = @sm_version_r@ sm_version_v = @sm_version_v@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ # # AutoMake @@ -403,14 +411,20 @@ build/site.config.m4: $(top_builddir)/config.status $(top_srcdir)/build/site.con cd $(top_builddir) && $(SHELL) ./config.status $@ build/debian/control.m4: $(top_builddir)/config.status $(top_srcdir)/build/debian/control.m4.in cd $(top_builddir) && $(SHELL) ./config.status $@ -libmilter0.dirs: $(top_builddir)/config.status $(top_srcdir)/./build/debian/libmilter0.dirs.in +libmilter${sm_libmilter_version}.dirs: $(top_builddir)/config.status $(top_srcdir)/./build/debian/libmilter.dirs.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +libmilter${sm_libmilter_version}.links: $(top_builddir)/config.status $(top_srcdir)/./build/debian/libmilter.links.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +libmilter${sm_libmilter_version}.lintian-overrides: $(top_builddir)/config.status $(top_srcdir)/./build/debian/libmilter.lintian-overrides.in cd $(top_builddir) && $(SHELL) ./config.status $@ -libmilter0.postrm: $(top_builddir)/config.status $(top_srcdir)/./build/debian/libmilter0.postrm.in +libmilter${sm_libmilter_version}.postrm: $(top_builddir)/config.status $(top_srcdir)/./build/debian/libmilter.postrm.in cd $(top_builddir) && $(SHELL) ./config.status $@ -libmilter0.preinst: $(top_builddir)/config.status $(top_srcdir)/./build/debian/libmilter0.preinst.in +libmilter${sm_libmilter_version}.preinst: $(top_builddir)/config.status $(top_srcdir)/./build/debian/libmilter.preinst.in cd $(top_builddir) && $(SHELL) ./config.status $@ libmilter-dev.dirs: $(top_builddir)/config.status $(top_srcdir)/./build/debian/libmilter-dev.dirs.in cd $(top_builddir) && $(SHELL) ./config.status $@ +libmilter-dev.links: $(top_builddir)/config.status $(top_srcdir)/./build/debian/libmilter-dev.links.in + cd $(top_builddir) && $(SHELL) ./config.status $@ libmilter-dev.postrm: $(top_builddir)/config.status $(top_srcdir)/./build/debian/libmilter-dev.postrm.in cd $(top_builddir) && $(SHELL) ./config.status $@ libmilter-dev.preinst: $(top_builddir)/config.status $(top_srcdir)/./build/debian/libmilter-dev.preinst.in @@ -445,8 +459,6 @@ sendmail-cf.postrm: $(top_builddir)/config.status $(top_srcdir)/./build/debian/s cd $(top_builddir) && $(SHELL) ./config.status $@ sendmail-cf.preinst: $(top_builddir)/config.status $(top_srcdir)/./build/debian/sendmail-cf.preinst.in cd $(top_builddir) && $(SHELL) ./config.status $@ -sendmail-bin.conffiles: $(top_builddir)/config.status $(top_srcdir)/./build/debian/sendmail-bin.conffiles.in - cd $(top_builddir) && $(SHELL) ./config.status $@ sendmail.cron.daily: $(top_builddir)/config.status $(top_srcdir)/./build/debian/sendmail.cron.daily.in cd $(top_builddir) && $(SHELL) ./config.status $@ sendmail-bin.dirs: $(top_builddir)/config.status $(top_srcdir)/./build/debian/sendmail-bin.dirs.in @@ -503,7 +515,6 @@ examples/tls/starttls.m4: $(top_builddir)/config.status $(top_srcdir)/examples/t cd $(top_builddir) && $(SHELL) ./config.status $@ local/bug/sendmail/script: $(top_builddir)/config.status $(top_srcdir)/local/bug/sendmail/script.in cd $(top_builddir) && $(SHELL) ./config.status $@ -uninstall-info-am: # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -536,8 +547,7 @@ $(RECURSIVE_TARGETS): $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: +$(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ @@ -639,24 +649,22 @@ distclean-tags: distdir: $(DISTFILES) $(am__remove_distdir) - mkdir $(distdir) - $(mkdir_p) $(distdir)/./build/debian $(distdir)/./local $(distdir)/build $(distdir)/build/debian $(distdir)/cf/debian $(distdir)/cf/domain $(distdir)/cf/hack $(distdir)/cf/ostype $(distdir)/examples/dhcp3/dhclient-exit-hooks.d $(distdir)/examples/network/if-down.d $(distdir)/examples/network/if-up.d $(distdir)/examples/ppp/ip-down.d $(distdir)/examples/ppp/ip-up.d $(distdir)/examples/resolvconf/update-libc.d $(distdir)/examples/sasl $(distdir)/examples/tls $(distdir)/local $(distdir)/local/bug/sendmail $(distdir)/sensible_mda - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + test -d $(distdir) || mkdir $(distdir) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -670,7 +678,7 @@ distdir: $(DISTFILES) list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ @@ -678,6 +686,8 @@ distdir: $(DISTFILES) $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -685,7 +695,7 @@ distdir: $(DISTFILES) -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz @@ -760,7 +770,7 @@ distcheck: dist $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ @@ -829,12 +839,20 @@ info-am: install-data-am: +install-dvi: install-dvi-recursive + install-exec-am: +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -855,23 +873,25 @@ ps: ps-recursive ps-am: -uninstall-am: uninstall-info-am +uninstall-am: -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ - check-am clean clean-generic clean-recursive ctags \ - ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \ - dist-tarZ dist-zip distcheck distclean distclean-generic \ - distclean-recursive distclean-tags distcleancheck distdir \ +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am am--refresh check check-am clean clean-generic \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-generic distclean-tags distcleancheck distdir \ distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-info-am + mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ + tags-recursive uninstall uninstall-am # # Debian targets, phase out diff --git a/debian/README.dbs b/debian/README.dbs deleted file mode 100644 index 946bac0..0000000 --- a/debian/README.dbs +++ /dev/null @@ -1,20 +0,0 @@ -This package uses a form of source build based on DBS. To setup the -source, run "debian/rules setup". This will extract the pristine source in -build-dir/, apply patches from debian/patches/ and split the package -scripts from debian/packages.d/ into their component files. - -A few cavaets. Modifying the source in build-tree/ or the package files in -debian/, will not be preserved after the "clean" target is run. Actual -files for packages are in debian/packages.d/ and will be regerated after -being modified. - -To create patches for the source, you can remember several steps. There -are two targes for handling source. The "unpack" target, will simply -unpack the tarball(s) into build-tree/ and "patch" will apply all patches -from debian/patches/. If you make any changes you can generate a new patch -using the "make_patch" target. This will move your current sources under -build-tree/, unpack the source+patches again, and then generate a diff -between the two. Note, you should run the "clean" target in the -build-tree/ source before doing this, to get a clean patch. - -Ben diff --git a/debian/build/autoconf.mk b/debian/build/autoconf.mk index c99bc5a..a471b0f 100644 --- a/debian/build/autoconf.mk +++ b/debian/build/autoconf.mk @@ -2,7 +2,7 @@ #------------------------------------------------------------------------------ # vim: syntax=make # -# $Sendmail: autoconf.mk,v 8.14.1 2007-05-22 16:57:59 cowboy Exp $ +# $Sendmail: autoconf.mk,v 8.14.1 2007-06-23 16:49:51 cowboy Exp $ # # Copyright (c) 1998-2007 Richard Nelson. All Rights Reserved. # @@ -16,7 +16,7 @@ # on Debian slink, potato, woody, testing, sid, ... # but the generated file is customized to the version noted above. # -# Richard Nelson <cowboy@debian.org> 2007-05-22 16:57:59 (-0700) +# Richard Nelson <cowboy@debian.org> 2007-06-23 16:49:51 (-0700) #------------------------------------------------------------------------------ #SHELL := /bin/sh -x @@ -28,26 +28,33 @@ exec_prefix = /usr bindir = ${DESTDIR}/usr/bin sbindir = ${DESTDIR}/usr/sbin libexecdir = ${DESTDIR}/usr/lib/sm.bin -datadir = ${DESTDIR}/usr/share sysconfdir = ${DESTDIR}/etc sharedstatedir = ${DESTDIR}/usr/com localstatedir = ${DESTDIR}/var libdir = ${DESTDIR}/usr/lib includedir = ${DESTDIR}/usr/include +oldincludedir = ${DESTDIR}/usr/include +datarootdir = ${DESTDIR}/usr/share +datadir = ${DESTDIR}/usr/share infodir = ${DESTDIR}/usr/share/info mandir = ${DESTDIR}/usr/share/man -srcdir = /home/src/sendmail/sendmail-8.14.1/debian/build +docdir = ${DESTDIR}/usr/share/doc +srcdir = . abs_srcdir = /home/src/sendmail/sendmail-8.14.1/debian/build -top_srcdir = /home/src/sendmail/sendmail-8.14.1/debian +top_srcdir = .. abs_top_srcdir = /home/src/sendmail/sendmail-8.14.1/debian builddir = . -abs_builddir = /u/src/sendmail/sendmail-8.14.1/debian/build +abs_builddir = /home/src/sendmail/sendmail-8.14.1/debian/build top_builddir = .. -abs_top_builddir = /u/src/sendmail/sendmail-8.14.1/debian -VPATH = /home/src/sendmail/sendmail-8.14.1/debian/build +abs_top_builddir = /home/src/sendmail/sendmail-8.14.1/debian -docdir = ${DESTDIR}/usr/share/doc + +# My private variables buildtree = build-tree/sendmail-8.14.1 +sm_custom = +sm_custom_s = +sm_version = 8.14.1 +sm_revision = # I like to preserve timestamps... INSTALL := /usr/bin/install -c -p @@ -61,33 +68,33 @@ INSTALL_DATA := ${INSTALL} -m 644 INSTALL_SCRIPT := ${INSTALL} -m 0755 # AutoConfig generated -AC_CC := x86_64-linux-gnu-gcc -AC_CFLAGS := -fpie -fstack-protector-all -Wl,-z,relro -Wl,-z,now -AC_DEFS := -DPACKAGE_NAME=\"Sendmail\" -DPACKAGE_TARNAME=\"sendmail\" -DPACKAGE_VERSION=\"8.14.1\" -DPACKAGE_STRING=\"Sendmail\ 8.14.1\" -DPACKAGE_BUGREPORT=\"bug/reportbug\ or\ sendmail@packages.debian.org\" -DPACKAGE=\"sendmail\" -DVERSION=\"8.14.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_REGEX_H=1 -DHAVE_DB_H=1 -DHAVE_DB_185_H=1 -DHAVE_RPCSVC_YPCLNT_H=1 -DHAVE_RPCSVC_NIS_H=1 -DHAVE_LDAP_H=1 -DHAVE_RESOLV_H=1 -DHAVE_TCPD_H=1 -DHAVE_NETINET_IP6_H=1 -DHAVE_GETADDRINFO=1 -DHAVE_MAILLOCK_H=1 -DHAVE_SASL_SASL_H=1 -DHAVE_OPENSSL_SSL_H=1 -AC_LDFLAGS := -AC_LIBS := +#AC_CC := cc +#AC_CFLAGS := -g -Wall -O2 -fPIC -fstack-protector-all +#AC_DEFS := -DPACKAGE_NAME=\"Sendmail\" -DPACKAGE_TARNAME=\"sendmail\" -DPACKAGE_VERSION=\"8.14.1\" -DPACKAGE_STRING=\"Sendmail\ 8.14.1\" -DPACKAGE_BUGREPORT=\"bug/reportbug\ or\ sendmail@packages.debian.org\" -DPACKAGE=\"sendmail\" -DVERSION=\"8.14.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_REGEX_H=1 -DHAVE_DB_H=1 -DHAVE_DB_185_H=1 -DHAVE_RPCSVC_YPCLNT_H=1 -DHAVE_RPCSVC_NIS_H=1 -DHAVE_LDAP_H=1 -DHAVE_RESOLV_H=1 -DHAVE_TCPD_H=1 -DHAVE_NETINET_IP6_H=1 -DHAVE_GETADDRINFO=1 -DHAVE_MAILLOCK_H=1 -DHAVE_SASL_SASL_H=1 -DHAVE_OPENSSL_SSL_H=1 +#AC_LDFLAGS := -pie -Wl,-z,noexecstack,-z,relro,-z,now -Wl,--warn-shared-textrel -pie -Wl,-z,noexecstack,-z,relro,-z,now -Wl,--warn-shared-textrel +#AC_LIBS := # Private AutoConfig generated sm_libmilter_version := 1 # Define standard compile/install flags (skip if not yet configured) DUMMY_CC := $(shell echo '-CC-' | tr '-' '@') -ifeq ("cc", "${AC_CC}") - ifeq ("y", "$(shell test -x /usr/bin/gcc-3.2 && echo 'y' || echo 'n')") - AC_CC := gcc-3.2 - else - ifeq ("y", "$(shell test -x /usr/bin/gcc-3.1 && echo 'y' || echo 'n')") - AC_CC := gcc-3.1 - endif - endif - endif -ifneq ("${DUMMY_CC}", "${AC_CC}") - CC := ${AC_CC} - #DEFS := ${AC_DEFS} ${DEFINES} - DEFS := ${DEFINES} - LDFLAGS := ${AC_LDFLAGS} - LIBS := ${AC_LIBS} - endif +#ifeq ("cc", "${AC_CC}") +# ifeq ("y", "$(shell test -x /usr/bin/gcc-3.2 && echo 'y' || echo 'n')") +# AC_CC := gcc-3.2 +# else +# ifeq ("y", "$(shell test -x /usr/bin/gcc-3.1 && echo 'y' || echo 'n')") +# AC_CC := gcc-3.1 +# endif +# endif +# endif +#ifneq ("${DUMMY_CC}", "${AC_CC}") +# CC := ${AC_CC} +# #DEFS := ${AC_DEFS} ${DEFINES} +# DEFS := ${DEFINES} +# LDFLAGS := ${AC_LDFLAGS} +# LIBS := ${AC_LIBS} +# endif ifeq (,${CFLAGS}) CFLAGS := -O2 -g -Wall ${DEFS} endif @@ -96,6 +103,6 @@ ifeq (,${CFLAGS}) #ifeq ("arm", "${DEB_HOST_ARCH}") # override CFLAGS := -O0 -Wall # endif -ifneq (,$(findstring noopt,${DEB_BUILD_OPTIONS})) - override CFLAGS += -O0 - endif +#ifneq (,$(findstring noopt,${DEB_BUILD_OPTIONS})) +# override CFLAGS += -O0 +# endif diff --git a/debian/build/autoconf.mk.in b/debian/build/autoconf.mk.in index 344dbd4..2df76c0 100644 --- a/debian/build/autoconf.mk.in +++ b/debian/build/autoconf.mk.in @@ -28,14 +28,17 @@ exec_prefix = @exec_prefix@ bindir = ${DESTDIR}@bindir@ sbindir = ${DESTDIR}@sbindir@ libexecdir = ${DESTDIR}@libexecdir@ -datadir = ${DESTDIR}@datadir@ sysconfdir = ${DESTDIR}@sysconfdir@ sharedstatedir = ${DESTDIR}@sharedstatedir@ localstatedir = ${DESTDIR}@localstatedir@ libdir = ${DESTDIR}@libdir@ includedir = ${DESTDIR}@includedir@ +oldincludedir = ${DESTDIR}@oldincludedir@ +datarootdir = ${DESTDIR}@datarootdir@ +datadir = ${DESTDIR}@datadir@ infodir = ${DESTDIR}@infodir@ mandir = ${DESTDIR}@mandir@ +docdir = ${DESTDIR}@docdir@ srcdir = @srcdir@ abs_srcdir = @abs_srcdir@ top_srcdir = @top_srcdir@ @@ -46,8 +49,12 @@ top_builddir = @top_builddir@ abs_top_builddir = @abs_top_builddir@ VPATH = @srcdir@ -docdir = ${DESTDIR}@docdir@ +# My private variables buildtree = @buildtree@ +sm_custom = @sm_custom@ +sm_custom_s = @sm_custom_s@ +sm_version = @sm_version@ +sm_revision = @sm_revision@ # I like to preserve timestamps... INSTALL := @INSTALL@ -p @@ -61,33 +68,33 @@ INSTALL_DATA := @INSTALL_DATA@ INSTALL_SCRIPT := @INSTALL_SCRIPT@ -m 0755 # AutoConfig generated -AC_CC := @CC@ -AC_CFLAGS := @CFLAGS@ -AC_DEFS := @CPPFLAGS@ @DEFS@ -AC_LDFLAGS := @LDFLAGS@ -AC_LIBS := @LIBS@ +#AC_CC := @CC@ +#AC_CFLAGS := @CFLAGS@ +#AC_DEFS := @CPPFLAGS@ @DEFS@ +#AC_LDFLAGS := @LDFLAGS@ +#AC_LIBS := @LIBS@ # Private AutoConfig generated sm_libmilter_version := @sm_libmilter_version@ # Define standard compile/install flags (skip if not yet configured) DUMMY_CC := $(shell echo '-CC-' | tr '-' '@') -ifeq ("cc", "${AC_CC}") - ifeq ("y", "$(shell test -x /usr/bin/gcc-3.2 && echo 'y' || echo 'n')") - AC_CC := gcc-3.2 - else - ifeq ("y", "$(shell test -x /usr/bin/gcc-3.1 && echo 'y' || echo 'n')") - AC_CC := gcc-3.1 - endif - endif - endif -ifneq ("${DUMMY_CC}", "${AC_CC}") - CC := ${AC_CC} - #DEFS := ${AC_DEFS} ${DEFINES} - DEFS := ${DEFINES} - LDFLAGS := ${AC_LDFLAGS} - LIBS := ${AC_LIBS} - endif +#ifeq ("cc", "${AC_CC}") +# ifeq ("y", "$(shell test -x /usr/bin/gcc-3.2 && echo 'y' || echo 'n')") +# AC_CC := gcc-3.2 +# else +# ifeq ("y", "$(shell test -x /usr/bin/gcc-3.1 && echo 'y' || echo 'n')") +# AC_CC := gcc-3.1 +# endif +# endif +# endif +#ifneq ("${DUMMY_CC}", "${AC_CC}") +# CC := ${AC_CC} +# #DEFS := ${AC_DEFS} ${DEFINES} +# DEFS := ${DEFINES} +# LDFLAGS := ${AC_LDFLAGS} +# LIBS := ${AC_LIBS} +# endif ifeq (,${CFLAGS}) CFLAGS := -O2 -g -Wall ${DEFS} endif @@ -96,6 +103,6 @@ ifeq (,${CFLAGS}) #ifeq ("arm", "${DEB_HOST_ARCH}") # override CFLAGS := -O0 -Wall # endif -ifneq (,$(findstring noopt,${DEB_BUILD_OPTIONS})) - override CFLAGS += -O0 - endif +#ifneq (,$(findstring noopt,${DEB_BUILD_OPTIONS})) +# override CFLAGS += -O0 +# endif diff --git a/debian/build/autoconf.pl.in b/debian/build/autoconf.pl.in index 96ad3af..befa8d8 100644 --- a/debian/build/autoconf.pl.in +++ b/debian/build/autoconf.pl.in @@ -17,12 +17,14 @@ BEGIN { $bindir = "@bindir@"; $sbindir = "@sbindir@"; $libexecdir = "@libexecdir@"; - $datadir = "@datadir@"; $sysconfdir = "@sysconfdir@"; $sharedstatedir = "@sharedstatedir@"; $localstatedir = "@localstatedir@"; $libdir = "@libdir@"; $includedir = "@includedir@"; + $oldincludedir = "@oldincludedir@"; + $datarootdir = "@datarootdir@"; + $datadir = "@datadir@"; $infodir = "@infodir@"; $mandir = "@mandir@"; $docdir = "@docdir@"; diff --git a/debian/build/autoconf.sh.in b/debian/build/autoconf.sh.in index cac3d18..30b1514 100644 --- a/debian/build/autoconf.sh.in +++ b/debian/build/autoconf.sh.in @@ -10,12 +10,14 @@ exec_prefix="@exec_prefix@"; bindir="@bindir@"; sbindir="@sbindir@"; libexecdir="@libexecdir@"; -datadir="@datadir@"; sysconfdir="@sysconfdir@"; sharedstatedir="@sharedstatedir@"; localstatedir="@localstatedir@"; libdir="@libdir@"; includedir="@includedir@"; +oldincludedir="@oldincludedir@"; +datarootdir="@datarootdir@"; +datadir="@datadir@"; infodir="@infodir@"; mandir="@mandir@"; docdir="@docdir@"; diff --git a/debian/build/debian/changelog.sh.in b/debian/build/debian/changelog.sh.in index 08517e8..8b95f68 100644 --- a/debian/build/debian/changelog.sh.in +++ b/debian/build/debian/changelog.sh.in @@ -20,13 +20,13 @@ PACKAGE='sendmail'; # Remove old combined changelog rm -f build/debian/changelog; -echo "Building @PACKAGE_NAME@ @sm_custom@@sm_version@@sm_revision@(@sm_version_math@) changelog."; +echo "Building @PACKAGE_NAME@ @sm_version@@sm_custom_s@@sm_revision@ (@sm_version_math@) changelog."; # # Start with Custom changelog (if any) if [ -n "@sm_custom@" ]; then - if [ -f @sm_custom@changelog ]; then - cat @sm_custom@changelog \ + if [ -f @sm_custom@.changelog ]; then + cat @sm_custom@.changelog \ >> build/debian/changelog; fi; fi; @@ -61,8 +61,9 @@ else if [ -z "@sm_custom@" ]; then mv build/debian/changelog build/debian/changelog.in; else - sed -e \ - '1s/sendmail (@sm_version_v@/sendmail (@sm_custom@@sm_version_v@/' \ + sed \ + -e '1s/sendmail (@sm_version@-/sendmail (@sm_version@@sm_custom_s@-/' \ + -e '1s/sendmail (@sm_custom@.@sm_version@-/sendmail (@sm_version@@sm_custom_s@-/' \ build/debian/changelog \ > build/debian/changelog.in; rm build/debian/changelog; diff --git a/debian/build/debian/control.m4.in b/debian/build/debian/control.m4.in index 6fd5782..ff3b11f 100644 --- a/debian/build/debian/control.m4.in +++ b/debian/build/debian/control.m4.in @@ -24,7 +24,7 @@ Section: mail Maintainer: Richard A Nelson (Rick) <cowboy@debian.org> Standards-Version: 3.7.2 Build-Depends-Indep: groff, bsdmainutils -Build-Depends: make (>> 3.79.1-14), m4, patch, debhelper (>= 4.1.68), linux-kernel-headers @sm_badepends@ +Build-Depends: make (>> 3.79.1-14), m4, cdbs, patchutils, dh-buildinfo, debhelper (>= 5), linux-libc-dev (>= 2.6.21-3) | linux-kernel-headers @sm_badepends@ Build-Conflicts: libbind-dev, bind-dev, fakeroot (<< 0.4.5)]]dnl dnl # dnl # The arch=any package: sendmail-bin @@ -132,9 +132,9 @@ Description: Sendmail Mail Filter API (Milter) Homepage: http://www.sendmail.org]]dnl dnl # dnl # The arch=any package: libmilter-dev -dnl # Only built if MILTER is enabled *AND* the -dev packages are wanted +dnl # Only built if MILTER is enabled dnl # -ifelse([[@sm_enable_dev@]], [[yes]], [[[[ +[[ Package: libmilter-dev Architecture: any @@ -152,12 +152,12 @@ Description: Sendmail Mail Filter API (Milter) . The documentation on building a Milter is in the sendmail-doc package. . - Homepage: http://www.sendmail.org]]]])]])dnl + Homepage: http://www.sendmail.org]]]])dnl dnl # dnl # The arch=all package: sendmail-doc -dnl # Only built if the -doc packages are wanted +dnl # Always built dnl # -ifelse([[@sm_enable_doc@]], [[yes]], [[[[ +[[ Package: sendmail-doc Architecture: all @@ -178,7 +178,7 @@ Description: powerful, efficient, and scalable Mail Transport Agent . Other files include the references for smrsh and libmilter. . - Homepage: http://www.sendmail.org]]]])dnl + Homepage: http://www.sendmail.org]]dnl dnl # dnl # The arch=all package: sendmail dnl # Always built @@ -241,7 +241,8 @@ dnl # Package: sendmail-cf Architecture: all Section: mail -Suggests: sendmail-doc, m4 +Suggests: sendmail-doc +Depends: m4 Description: powerful, efficient, and scalable Mail Transport Agent Sendmail is an alternative Mail Transport Agent (MTA) for Debian. It is suitable for handling sophisticated mail diff --git a/debian/build/debian/control.m4.in.save b/debian/build/debian/control.m4.in.save deleted file mode 100644 index 0fe5795..0000000 --- a/debian/build/debian/control.m4.in.save +++ /dev/null @@ -1,143 +0,0 @@ -dnl #-------------------------------------------------------------------------- -dnl # $Sendmail: control.m4,v @sm_version@ @sm_date@ @sm_time@ cowboy Exp $ -dnl # -dnl # Copyright (c) 1998-@SM_CPYRT@ Richard Nelson. All Rights Reserved. -dnl # -dnl # @configure_input@ -dnl # -dnl # Debian control.m4 for sendmail @sm_version@@sm_revision@(@sm_version_math@) -dnl # -dnl # Note: the .in file supports @SM_MINVERS@ - @SM_MAXVERS@, but the generated -dnl # file is customized to the version noted above. -dnl # -dnl # Note: Exercise care in the feeding of this file, especially wrt quoting! -dnl # -dnl #-------------------------------------------------------------------------- -changequote([[, ]])dnl -dnl # -dnl # The source description -dnl # Always built -dnl # -[[Source: sendmail -Priority: extra -Section: mail -Maintainer: Richard A Nelson (Rick) <cowboy@debian.org> -Standards-Version: 3.5.9.0 -Build-Depends-Indep: groff, bsdmainutils -Build-Depends: m4, patch, debhelper (>= 1.1.17)@sm_badepends@]] -Build-Conflicts: libbind-dev, bind-dev -dnl # -dnl # The first arch=any package description -dnl # Always built -dnl # -[[ -Package: sendmail -Architecture: any -Section: mail -Replaces: mail-transport-agent, sendmail-tls -Provides: mail-transport-agent -Conflicts: mail-transport-agent -Depends: adduser, m4, ${shlibs:Depends}, ${perl:Depends}@sm_depends@ -Recommends: @sm_recommends@ -Suggests: sendmail-doc (>= ${Source-Version}), mail-reader, procmail | mailagent | maildrop | deliver, make, logcheck @sm_suggests@ -Description: A powerful, efficient, and scalable Mail Transport Agent - Sendmail is an alternative Mail Transport Agent (MTA) for Debian. - It is suitable for handling sophisticated mail configurations, - although this means that its configuration can also be complex. - Fortunately, easy thing can be done easily, and complex things - are possible, even if not easily understood ;) Sendmail is the *ONLY* - MTA with a Turing complete language to control *ALL* aspects of delivery! - . - Sendmail provides Security and SPAM/UCE/UBE protection via several means:]]dnl -ifelse([[@sm_enable_tls@]], [[yes]], [[ - - STARTTLS(SSL) RFC2487 encryption for mail reception/delivery. - - STARTTLS(SSL) authentication (certificate based) for access/relay control.]])dnl -ifelse([[@sm_enable_auth@]], [[yes]], [[ - - SMTP AUTH (SASL/PAM) authentication for access/relay control.]])[[ - - ACCESS database (by IP/host) for access/relay control. - - Use of varied Realtime Blackhole Lists (RBL) to prevent access. - - Integration of LOGCHECK rules to fine-tune logging. - - Inboard POSIX Regular Expression processing of *all* headers.]]dnl -ifelse([[@sm_enable_milter@]], [[yes]], [[ - - Ability (via MILTER) to scan/change headers *and* body of *ALL* mail - A site may utilize zero, one, or more MILTERs.]])[[ - - Reduced SUID exposures by running SGID smmsp/mail where possible. - . - Sendmail provides Performance and Scalability by: - - Allowing multiple queues, with the ability to tune both interval and - queue runners on a queue by queue basis. - - Providing (a Debian exclusive) an easy to configure means of queue-aging - to improve throughput by not continually retrying failed deliveries.]]dnl -ifelse([[@sm_enable_ldap@]], [[yes]], [[ - - Allowing most all maps/databases to be obtained via LDAP; reducing the - number of used databases and simplifying the maintenance of Sendmail.]])[[ - - Reducing the file I/O where possible by buffering files in memory. - . - Sendmail provides site enhanced site configuration/customization by: - - Allowing the listener (usually port 25) to run as a daemon or via INETD. - - Allowing the queue runner (mail delivery) to run as a daemon or via CRON. - - Automagically updating configuration and databases on upgrades. - - Providing a Turing complete language for site customization of mail - handling.]]dnl -ifelse([[@sm_enable_milter@]], [[yes]],[[ - - Providing a means (MILTER) for a site to scan/change all email - both - incoming and outgoing. A site can write their own MILTER, or may use - any of those found on internet. To write your own MILTER, you'll need - to install the optional milter-dev package.]])[[ - - Providing extensive documentation via the sendmail-doc (optional) package. - - Providing an inboard Mail Delivery Agent (MDA) (mail.local), but supporting - procmail, mailagent, maildrop, or deliver automatically if installed. - Sendmail will also deliver to anythings else (cyrus, etc) if asked to. - . - Sendmail includes *no* Mail User Agents (MUA), you'll have to - pick from the plethora of available MUAs (mutt, vm, etc.) - . - This package supports @sm_databases@ maps, - and has enabled @sm_features@.]]dnl -dnl # -dnl # The second arch=any package (libmilter-dev) -dnl # Only built if MILTER is enabled -dnl # -ifelse([[@sm_enable_dev@]], [[yes]], dnl -ifelse([[@sm_enable_milter@]], [[yes]], [[ - -Package: libmilter-dev -Architecture: any -Section: libdevel -Suggests: sendmail-doc (>= ${Source-Version}) -Description: Sendmail Mail Filter API (Milter) - The Sendmail Mail Filter API (Milter) is designed to allow third-party - programs access to mail messages as they are being processed in order - to filter meta-information(headers) and content. - . - The Debian Sendmail package is built to support libmilter. - . - This is the libmilter static library and include files for development. - . - The documentation on building a Milter is in the sendmail-doc package.]]))dnl -dnl # -dnl # The first (and only) arch=all (sendmail-doc) -dnl # -ifelse([[@sm_enable_doc@]], [[yes]], [[ - -Package: sendmail-doc -Architecture: all -Section: doc -Description: A powerful, efficient, and scalable Mail Transport Agent - Sendmail is an alternative Mail Transport Agent (MTA) for - Debian. It is suitable for handling sophisticated mail - configurations, although this means that its configuration - can also be complex. - . - Because of the complexity, you may find yourself wanting to peruse - the documentation files included herein. The main files are: - 1) cf.README.gz -- A reference for all things in sendmail.{mc,cf} - 2) op.{ps,txt}.gz -- The care and feeding of Sendmail. - 3) faq.txt.gz -- Sendmail FAQ, current as of the package date. - . - Other files include the references for smrsh and libmilter.]])dnl -dnl # -dnl # Provide the requisite trailing newline -dnl # - - diff --git a/debian/build/debian/sendmail-bin.conffiles.in b/debian/build/debian/sendmail-bin.conffiles.in deleted file mode 100644 index a5ba4ad..0000000 --- a/debian/build/debian/sendmail-bin.conffiles.in +++ /dev/null @@ -1,13 +0,0 @@ -@sysconfdir@/cron.daily/sendmail -@sysconfdir@/init.d/sendmail -@sysconfdir@/logcheck/ignore.d.paranoid/sendmail -@sysconfdir@/logcheck/ignore.d.server/sendmail -@sysconfdir@/logcheck/ignore.d.workstation/sendmail -@sysconfdir@/logcheck/violations.ignore.d/logcheck-sendmail -@sysconfdir@/mail/peers/provider -@sysconfdir@/mail/helpfile -@sysconfdir@/mail/service.switch -@sysconfdir@/mail/service.switch-nodns -@sysconfdir@/pam.d/smtp -@sysconfdir@/ppp/ip-up.d/sendmail -@sysconfdir@/ppp/ip-down.d/sendmail diff --git a/debian/build/site.config.m4.in b/debian/build/site.config.m4.in index 93b5267..a5c8c95 100644 --- a/debian/build/site.config.m4.in +++ b/debian/build/site.config.m4.in @@ -42,8 +42,6 @@ # Packages and build dependancies (Debian packages) #------------------------------------------------------------------ #Sendmail: sendmail -#Sendmail-doc: @sm_enable_doc@ -#Libmilter-dev: @sm_enable_dev@ #Build-Depends: @sm_badepends@ #Depends: @sm_depends@ #Recommends: @sm_recommends@ @@ -164,8 +162,8 @@ define(`confOPTIMIZE', `@CFLAGS@')dnl #Optimization define(`confCCOPTS', `')dnl #CC options define(`confCCOPTS_SO' `-fPIC')dnl #Shared libraries define(`confLD', confCC)dnl #Linker -define(`confLDOPTS', `')dnl #Linker opts -define(`confLDOPTS_SO', `-shared -Wl')dnl #linker shared lib +define(`confLDOPTS', `@LDFLAGS@')dnl #Linker opts +define(`confLDOPTS_SO', `-shared -fPIC @LDFLAGS@')dnl #linker shared lib define(`confLIBDIRS', `')dnl #-L linker flags define(`confMTCCOPTS', `-D_REENTRANT')dnl #Multi-thread cc opts define(`confMTLDOPTS', `-lpthread')dnl #Multi-thread ld opts diff --git a/debian/build/version.c b/debian/build/version.c index 6c02acf..f09a9a0 100644 --- a/debian/build/version.c +++ b/debian/build/version.c @@ -1 +1,2 @@ char Version[] = "8.l4.1"; + diff --git a/debian/cf/Makefile.in b/debian/cf/Makefile.in index 28cdd94..29e946a 100644 --- a/debian/cf/Makefile.in +++ b/debian/cf/Makefile.in @@ -154,6 +154,7 @@ sm_auth_lib = @sm_auth_lib@ sm_badepends = @sm_badepends@ sm_build_arch = @sm_build_arch@ sm_custom = @sm_custom@ +sm_custom_s = @sm_custom_s@ sm_databases = @sm_databases@ sm_date = @sm_date@ sm_depends = @sm_depends@ @@ -163,8 +164,6 @@ sm_editmap_envdef = @sm_editmap_envdef@ sm_editmap_libs = @sm_editmap_libs@ sm_enable_auth = @sm_enable_auth@ sm_enable_bind = @sm_enable_bind@ -sm_enable_dev = @sm_enable_dev@ -sm_enable_doc = @sm_enable_doc@ sm_enable_hesiod = @sm_enable_hesiod@ sm_enable_ipv6 = @sm_enable_ipv6@ sm_enable_ldap = @sm_enable_ldap@ diff --git a/debian/changelog b/debian/changelog index c6fa5fe..331cfe4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,61 @@ +sendmail (8.14.1-6) unstable; urgency=low + + * The `ironclad or die` release, using newer gcc/binutils + features to further reduce the exploit footprint of an + application. Thanks to Marc-Christian Petersen + Read more about all that good stuff at: + http://www.gentoo.org/proj/en/hardened/hardened-toolchain.xml#RELRO + + * Create an ELF "PT_GNU_RELRO" segment header in the object. + Or in other words: built with "-z relro" + + * When generating an executable or shared library, mark it to tell + the dynamic linker to resolve all symbols when the program is + started, or when the shared library is linked to using dlopen, + instead of deferring function call resolution to the point when + the function is first called. + Or in other words: built with "-z now" + + * Emit extra code to check for buffer overflows, such as stack + smashing attacks. This is done by adding a guard variable to + functions with vulnerable objects. This includes functions + that call alloca, and functions with buffers larger than 8 + bytes. The guards are initialized when a function is entered + and then checked when the function exits. If a guard check + fails, an error message is printed and the program exits. + Or in other words: built with "-fstack-protector-all" + + * Compiled as PIE (Position Independant Executable) + This assists PAX enabled kernels, with ASLR, and is also needed + for GRSecurity. Even with stock kernels, this makes the memory + mapping less static, hindering attacks. + + -- Richard A Nelson (Rick) <cowboy@debian.org> Tue, 29 May 2007 02:21:00 -0000 + +sendmail (8.14.1-5) private; urgency=low + + * DH_COMPAT = 5 + + * Tweak LSB setup of /etc/init.d/sendmail such that stop/start + when DAEMON_MODE=None is not an error + + * Clean up rules file abit, more to go (I love deleting suff) + + drop sm_conf/sm_conf_opt from debian/rules + + drop old private copy of dbs and use cdbs (not cleanly) + + drop support of older sendmail versions (8.8.8+) + + drop support for building on older debian versions (slink+) + + drop split debian directory kluge + + drop smX support - it requires a complete revamp + + * Things are still complicated by upstream not using autoconf/makefile + builds, but I have used them in support - much of that work remains and + will not be removed in the near term + + * Add alternative build-depend for linux-libc-dev (which will depcrecate + linux-kernel-headers) + + -- Richard A Nelson (Rick) <cowboy@debian.org> Wed, 23 May 2007 05:00:00 -0000 + sendmail (8.14.1-4) unstable; urgency=low * Fix occasional mailq failures caused by set -e and lsb scripts :( diff --git a/debian/compat b/debian/compat index b8626c4..7ed6ff8 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -4 +5 diff --git a/debian/configure b/debian/configure index 89efc07..2d38e39 100644 --- a/debian/configure +++ b/debian/configure @@ -729,6 +729,7 @@ sm_version_beta sm_version_math sm_revision sm_custom +sm_custom_s buildtree sm_dist_name sm_dist_vers @@ -806,8 +807,6 @@ sm_ldap_lib sm_hesiod_parms sm_ffr sm_m4_ffr -sm_enable_doc -sm_enable_dev sm_enable_shm sm_enable_milter sm_enable_regex @@ -1441,8 +1440,6 @@ Optional Features: --enable-auth=..........Allow SMTP auth [auto] --enable-tls=...........Allow TLS/SSL [auto] --enable-shm=...........Allow shared memory [auto] - --enable-doc=...........Build sendmail-doc pkg - --enable-dev=...........Build libmilter-dev pkg --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors @@ -1450,7 +1447,6 @@ Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-buildtree=.......Build directory [.] - --with-docdir=..........Document directory [PREFIX/doc] --with-revision=........Package revision [''] --with-custom=..........Custom package name [''] @@ -2674,15 +2670,7 @@ sm_version_math=`expr 65536 \* $sm_version_v \ if test "${with_buildtree+set}" = set; then withval=$with_buildtree; buildtree="$withval" else - docdir='.' -fi - - -# Check whether --with-docdir was given. -if test "${with_docdir+set}" = set; then - withval=$with_docdir; docdir="$withval" -else - docdir='${prefix}/doc' + buildtree='.' fi @@ -2813,20 +2801,6 @@ else sm_enable_shm=auto fi -# Check whether --enable-doc was given. -if test "${enable_doc+set}" = set; then - enableval=$enable_doc; sm_enable_doc="$enableval" -else - sm_enable_doc=auto -fi - -# Check whether --enable-dev was given. -if test "${enable_dev+set}" = set; then - enableval=$enable_dev; sm_enable_dev="$enableval" -else - sm_enable_dev=auto -fi - #------------------------------------------------------------------- # Resolve variables for sendmail Makefiles and .m4 where @@ -2841,22 +2815,23 @@ eval exec_prefix="${exec_prefix}"; eval bindir="${bindir}"; eval sbindir="${sbindir}"; eval libexecdir="${libexecdir}"; -eval datadir="${datadir}"; eval sysconfdir="${sysconfdir}"; eval sharedstatedir="${sharedstatedir}"; eval localstatedir="${localstatedir}"; eval libdir="${libdir}"; eval includedir="${includedir}"; eval oldincludedir="${oldincludedir}"; +eval datarootdir="${datarootdir}"; +eval datadir="${datadir}"; eval infodir="${infodir}"; eval mandir="${mandir}"; +eval docdir="${docdir}"; eval srcdir="${srcdir}"; -test -n "$sm_custom" && sm_custom="${sm_custom}."; +test -n "$sm_custom" && sm_custom_s="+${sm_custom}"; eval buildtree="${buildtree}"; -eval docdir="${docdir}"; #------------------------------------------------------------------- # Determine Distribution and version to build for @@ -2909,7 +2884,7 @@ echo "${ECHO_T}$DEBIAN, using debhelper v$DEBIAN_DH" >&6; } #------------------------------------------------------------------- echo "" -echo "Sendmail ${sm_custom}${sm_version}${sm_revision} (${sm_version_math}) \ +echo "Sendmail ${sm_version}${sm_custom_s}${sm_revision} (${sm_version_math}) \ on ${sm_dist_name} ${sm_dist_vers} ${sm_build_arch}/${sm_host_arch}."; echo "Generated by Autoconf ${ac_version}, Automake ${am_version}."; echo ""; @@ -4735,7 +4710,6 @@ sm_hesiod_parms=''; sm_ffr=''; sm_m4_ffr=''; - #------------------------------------------------------------------- # Override default/specified values #------------------------------------------------------------------- @@ -10453,8 +10427,6 @@ ac_config_files="$ac_config_files sendmail-cf.postrm:./build/debian/sendmail-cf. ac_config_files="$ac_config_files sendmail-cf.preinst:./build/debian/sendmail-cf.preinst.in" -ac_config_files="$ac_config_files sendmail-bin.conffiles:./build/debian/sendmail-bin.conffiles.in" - ac_config_files="$ac_config_files sendmail.cron.daily:./build/debian/sendmail.cron.daily.in" ac_config_files="$ac_config_files sendmail-bin.dirs:./build/debian/sendmail-bin.dirs.in" @@ -11209,7 +11181,6 @@ do "sendmail-cf.dirs") CONFIG_FILES="$CONFIG_FILES sendmail-cf.dirs:./build/debian/sendmail-cf.dirs.in" ;; "sendmail-cf.postrm") CONFIG_FILES="$CONFIG_FILES sendmail-cf.postrm:./build/debian/sendmail-cf.postrm.in" ;; "sendmail-cf.preinst") CONFIG_FILES="$CONFIG_FILES sendmail-cf.preinst:./build/debian/sendmail-cf.preinst.in" ;; - "sendmail-bin.conffiles") CONFIG_FILES="$CONFIG_FILES sendmail-bin.conffiles:./build/debian/sendmail-bin.conffiles.in" ;; "sendmail.cron.daily") CONFIG_FILES="$CONFIG_FILES sendmail.cron.daily:./build/debian/sendmail.cron.daily.in" ;; "sendmail-bin.dirs") CONFIG_FILES="$CONFIG_FILES sendmail-bin.dirs:./build/debian/sendmail-bin.dirs.in" ;; "sendmail.init.d") CONFIG_FILES="$CONFIG_FILES sendmail.init.d:./build/debian/sendmail.init.d.in:./local/sendmail.in" ;; @@ -11414,10 +11385,10 @@ sm_version_beta!$sm_version_beta$ac_delim sm_version_math!$sm_version_math$ac_delim sm_revision!$sm_revision$ac_delim sm_custom!$sm_custom$ac_delim +sm_custom_s!$sm_custom_s$ac_delim buildtree!$buildtree$ac_delim sm_dist_name!$sm_dist_name$ac_delim sm_dist_vers!$sm_dist_vers$ac_delim -DEBIAN!$DEBIAN$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then @@ -11459,6 +11430,7 @@ _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF +DEBIAN!$DEBIAN$ac_delim DEBIAN_DH!$DEBIAN_DH$ac_delim DEB_BUILD_ARCH!$DEB_BUILD_ARCH$ac_delim DEB_BUILD_GNU_CPU!$DEB_BUILD_GNU_CPU$ac_delim @@ -11532,8 +11504,6 @@ sm_ldap_lib!$sm_ldap_lib$ac_delim sm_hesiod_parms!$sm_hesiod_parms$ac_delim sm_ffr!$sm_ffr$ac_delim sm_m4_ffr!$sm_m4_ffr$ac_delim -sm_enable_doc!$sm_enable_doc$ac_delim -sm_enable_dev!$sm_enable_dev$ac_delim sm_enable_shm!$sm_enable_shm$ac_delim sm_enable_milter!$sm_enable_milter$ac_delim sm_enable_regex!$sm_enable_regex$ac_delim @@ -11556,6 +11526,7 @@ SM_ENABLE_AUTH_TRUE!$SM_ENABLE_AUTH_TRUE$ac_delim SM_ENABLE_AUTH_FALSE!$SM_ENABLE_AUTH_FALSE$ac_delim sm_enable_tls!$sm_enable_tls$ac_delim SM_ENABLE_TLS_TRUE!$SM_ENABLE_TLS_TRUE$ac_delim +SM_ENABLE_TLS_FALSE!$SM_ENABLE_TLS_FALSE$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then @@ -11597,12 +11568,11 @@ _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF -SM_ENABLE_TLS_FALSE!$SM_ENABLE_TLS_FALSE$ac_delim LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 3; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 2; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 diff --git a/debian/configure.ac b/debian/configure.ac index 34704b2..4655b90 100644 --- a/debian/configure.ac +++ b/debian/configure.ac @@ -231,9 +231,7 @@ AC_SUBST(sm_version_beta) AC_SUBST(sm_version_math) # #------------------------------------------------------------------- AC_ARG_WITH(buildtree, [[ --with-buildtree=.......Build directory [.]]], - [buildtree="$withval"], [docdir='.']) -AC_ARG_WITH(docdir, [[ --with-docdir=..........Document directory [PREFIX/doc]]], - [docdir="$withval"], [docdir='${prefix}/doc']) + [buildtree="$withval"], [buildtree='.']) AC_ARG_WITH(revision, [[ --with-revision=........Package revision ['']]], [sm_revision="$withval"], [sm_revision='']) AC_ARG_WITH(custom, [[ --with-custom=..........Custom package name ['']]], @@ -270,10 +268,6 @@ AC_ARG_ENABLE(tls, [[ --enable-tls=...........Allow TLS/SSL [auto]]], [sm_enable_tls="$enableval"], [sm_enable_tls=auto]) AC_ARG_ENABLE(shm, [[ --enable-shm=...........Allow shared memory [auto]]], [sm_enable_shm="$enableval"], [sm_enable_shm=auto]) -AC_ARG_ENABLE(doc, [[ --enable-doc=...........Build sendmail-doc pkg]], - [sm_enable_doc="$enableval"], [sm_enable_doc=auto]) -AC_ARG_ENABLE(dev, [[ --enable-dev=...........Build libmilter-dev pkg]], - [sm_enable_dev="$enableval"], [sm_enable_dev=auto]) #------------------------------------------------------------------- # Resolve variables for sendmail Makefiles and .m4 where @@ -288,22 +282,23 @@ eval exec_prefix="${exec_prefix}"; eval bindir="${bindir}"; eval sbindir="${sbindir}"; eval libexecdir="${libexecdir}"; -eval datadir="${datadir}"; eval sysconfdir="${sysconfdir}"; eval sharedstatedir="${sharedstatedir}"; eval localstatedir="${localstatedir}"; eval libdir="${libdir}"; eval includedir="${includedir}"; eval oldincludedir="${oldincludedir}"; +eval datarootdir="${datarootdir}"; +eval datadir="${datadir}"; eval infodir="${infodir}"; eval mandir="${mandir}"; +eval docdir="${docdir}"; eval srcdir="${srcdir}"; AC_SUBST(sm_revision) -test -n "$sm_custom" && sm_custom="${sm_custom}."; -AC_SUBST(sm_custom) +test -n "$sm_custom" && sm_custom_s="+${sm_custom}"; +AC_SUBST(sm_custom) AC_SUBST(sm_custom_s) eval buildtree="${buildtree}"; AC_SUBST(buildtree) -eval docdir="${docdir}"; AC_SUBST(docdir) #------------------------------------------------------------------- # Determine Distribution and version to build for @@ -353,7 +348,7 @@ else #------------------------------------------------------------------- AC_SUBST(sm_build_arch) AC_SUBST(sm_host_arch) echo "" -echo "Sendmail ${sm_custom}${sm_version}${sm_revision} (${sm_version_math}) \ +echo "Sendmail ${sm_version}${sm_custom_s}${sm_revision} (${sm_version_math}) \ on ${sm_dist_name} ${sm_dist_vers} ${sm_build_arch}/${sm_host_arch}."; echo "Generated by Autoconf ${ac_version}, Automake ${am_version}."; echo ""; @@ -438,7 +433,6 @@ sm_ldap_lib=''; AC_SUBST(sm_ldap_lib) sm_hesiod_parms=''; AC_SUBST(sm_hesiod_parms) sm_ffr=''; AC_SUBST(sm_ffr) sm_m4_ffr=''; AC_SUBST(sm_m4_ffr) -AC_SUBST(sm_enable_doc) AC_SUBST(sm_enable_dev) #------------------------------------------------------------------- # Override default/specified values @@ -1685,7 +1679,6 @@ AC_CONFIG_FILES([sendmail-cf.postrm:./build/debian/sendmail-cf.postrm.in], [chmod a+x ./sendmail-cf.postrm]) AC_CONFIG_FILES([sendmail-cf.preinst:./build/debian/sendmail-cf.preinst.in], [chmod a+x ./sendmail-cf.preinst]) -AC_CONFIG_FILES([sendmail-bin.conffiles:./build/debian/sendmail-bin.conffiles.in]) AC_CONFIG_FILES([sendmail.cron.daily:./build/debian/sendmail.cron.daily.in], [chmod a+x ./sendmail.cron.daily]) AC_CONFIG_FILES([sendmail-bin.dirs:./build/debian/sendmail-bin.dirs.in]) diff --git a/debian/configure.options b/debian/configure.options index fbc46b3..f120564 100644 --- a/debian/configure.options +++ b/debian/configure.options @@ -1,138 +1,132 @@ -# `configure' configures Debian Sendmail to adapt to many kinds of systems. -# -# Usage: ./configure [OPTION]... [VAR=VALUE]... -# -# To assign environment variables (e.g., CC, CFLAGS...), specify them as -# VAR=VALUE. See below for descriptions of some of the useful variables. -# -# Defaults for the options are specified in brackets. -# -# Configuration: -# -h, --help display this help and exit -# --help=short display options specific to this package -# --help=recursive display the short help of all the included packages -# -V, --version display version information and exit -# -q, --quiet, --silent do not print `checking...' messages -# --cache-file=FILE cache test results in FILE [disabled] -# -C, --config-cache alias for `--cache-file=config.cache' -# -n, --no-create do not create output files -# --srcdir=DIR find the sources in DIR [configure dir or `..'] -# -# Installation directories: -# --prefix=PREFIX install architecture-independent files in PREFIX [/usr] ---prefix=/usr -# --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] -# -# By default, `make install' will install all the files in -# `/usr/bin', `/usr/lib' etc. You can specify -# an installation prefix other than `/usr' using `--prefix', -# for instance `--prefix=$HOME'. -# -# For better control, use the options below. -# -# Fine tuning of the installation directories: -# --bindir=DIR user executables [EPREFIX/bin] -# --sbindir=DIR system admin executables [EPREFIX/sbin] -# --libexecdir=DIR program executables [EPREFIX/libexec] ---libexecdir=/usr/lib/sm.bin -# --datadir=DIR read-only architecture-independent data [PREFIX/share] ---datadir=${DATA_DIR} -# --sysconfdir=DIR read-only single-machine data [PREFIX/etc] ---sysconfdir=/etc -# --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] -# --localstatedir=DIR modifiable single-machine data [PREFIX/var] ---localstatedir=/var -# --libdir=DIR object code libraries [EPREFIX/lib] -# --includedir=DIR C header files [PREFIX/include] -# --oldincludedir=DIR C header files for non-gcc [/usr/include] -# --infodir=DIR info documentation [PREFIX/info] ---infodir=${DATA_DIR}/info -# --mandir=DIR man documentation [PREFIX/man] ---mandir=${DATA_DIR}/man -# -# Program names: -# --program-prefix=PREFIX prepend PREFIX to installed program names -# --program-suffix=SUFFIX append SUFFIX to installed program names -# --program-transform-name=PROGRAM run sed PROGRAM on installed program names -# -# System types: -# --build=BUILD configure for building on BUILD [guessed] ---build=${DEB_BUILD_GNU_TYPE} -# --host=HOST cross-compile to build programs to run on HOST [BUILD] ---host=${DEB_HOST_GNU_TYPE} -# --target=TARGET configure for building compilers for TARGET [HOST] -# -# Optional Features: -# --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) -# --enable-FEATURE[=ARG] include FEATURE [ARG=yes] -# --enable-maintainer-mode enable make rules and dependencies not useful -# (and sometimes confusing) to the casual installer -#--enable-maintainer-mode -# --enable-regex=.........Allow REGEX maps [auto] +#`configure' configures Sendmail 8.14.1 to adapt to many kinds of systems. +# +#Usage: ./configure [OPTION]... [VAR=VALUE]... +# +#To assign environment variables (e.g., CC, CFLAGS...), specify them as +#VAR=VALUE. See below for descriptions of some of the useful variables. +# +#Defaults for the options are specified in brackets. +# +#Configuration: +# -h, --help display this help and exit +# --help=short display options specific to this package +# --help=recursive display the short help of all the included packages +# -V, --version display version information and exit +# -q, --quiet, --silent do not print `checking...' messages +# --cache-file=FILE cache test results in FILE [disabled] +# -C, --config-cache alias for `--cache-file=config.cache' +# -n, --no-create do not create output files +# --srcdir=DIR find the sources in DIR [configure dir or `..'] +# +#Installation directories: +# --prefix=PREFIX install architecture-independent files in PREFIX +# [/usr] +# --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX +# [PREFIX] +# +#By default, `make install' will install all the files in +#`/usr/bin', `/usr/lib' etc. You can specify +#an installation prefix other than `/usr' using `--prefix', +#for instance `--prefix=$HOME'. +# +#For better control, use the options below. +# +#Fine tuning of the installation directories: +# --bindir=DIR user executables [EPREFIX/bin] +# --sbindir=DIR system admin executables [EPREFIX/sbin] +# --libexecdir=DIR program executables [EPREFIX/libexec] +# --sysconfdir=DIR read-only single-machine data [PREFIX/etc] +# --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] +# --localstatedir=DIR modifiable single-machine data [PREFIX/var] +# --libdir=DIR object code libraries [EPREFIX/lib] +# --includedir=DIR C header files [PREFIX/include] +# --oldincludedir=DIR C header files for non-gcc [/usr/include] +# --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] +# --datadir=DIR read-only architecture-independent data [DATAROOTDIR] +# --infodir=DIR info documentation [DATAROOTDIR/info] +# --localedir=DIR locale-dependent data [DATAROOTDIR/locale] +# --mandir=DIR man documentation [DATAROOTDIR/man] +# --docdir=DIR documentation root [DATAROOTDIR/doc/sendmail] +--docdir="\$${datarootdir}/doc" +# --htmldir=DIR html documentation [DOCDIR] +# --dvidir=DIR dvi documentation [DOCDIR] +# --pdfdir=DIR pdf documentation [DOCDIR] +# --psdir=DIR ps documentation [DOCDIR] +# +#Program names: +# --program-prefix=PREFIX prepend PREFIX to installed program names +# --program-suffix=SUFFIX append SUFFIX to installed program names +# --program-transform-name=PROGRAM run sed PROGRAM on installed program names +# +#System types: +# --build=BUILD configure for building on BUILD [guessed] +# --host=HOST cross-compile to build programs to run on HOST [BUILD] +# --target=TARGET configure for building compilers for TARGET [HOST] +# +#Optional Features: +# --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) +# --enable-FEATURE[=ARG] include FEATURE [ARG=yes] +# --enable-maintainer-mode enable make rules and dependencies not useful +# (and sometimes confusing) to the casual installer +# --enable-regex=.........Allow REGEX maps [auto] --enable-regex=yes -# --enable-ndbm=..........Allow NDBM maps [no] +# --enable-ndbm=..........Allow NDBM maps [auto] --enable-ndbm=no -# --enable-newdb=.........Allow NEWDB maps [yes] +# --enable-newdb=.........Allow NEWDB maps [auto] --enable-newdb=yes -# --enable-nis=...........Allow NIS maps [auto] +# --enable-nis=...........Allow NIS maps [auto] --enable-nis=auto -# --enable-nisplus=.......Allow NISPLUS maps [auto] +# --enable-nisplus=.......Allow NISPLUS maps [auto] --enable-nisplus=auto -# --enable-ldap=..........Allow LDAP maps [yes] +# --enable-ldap=..........Allow LDAP maps [auto] --enable-ldap=yes -# --enable-hesiod=........Allow HESIOD maps [no] +# --enable-hesiod=........Allow HESIOD maps [auto] --enable-hesiod=no -# --enable-tcpd=..........Allow TCP wrappers [auto] +# --enable-tcpd=..........Allow TCP wrappers [auto] --enable-tcpd=yes -# --enable-bind=..........Allow BIND usage [no] +# --enable-bind=..........Allow BIND usage [auto] --enable-bind=no -# --enable-ipv6=..........Allow IPv6 usage [auto] +# --enable-ipv6=..........Allow IPv6 usage [auto] --enable-ipv6=auto -# --enable-maillock=......Allow maillock [yes] +# --enable-maillock=......Allow maillock [auto] --enable-maillock=yes -# --enable-milter=........Allow milter [auto] +# --enable-milter=........Allow milter [auto] --enable-milter=yes -# --enable-sfio=..........Allow SFIO usage [no] +# --enable-sfio=..........Allow SFIO usage [auto] --enable-sfio=no -# --enable-auth=..........Allow SMTP auth [auto] +# --enable-auth=..........Allow SMTP auth [auto] --enable-auth=yes -# --enable-tls=...........Allow TLS/SSL [auto] +# --enable-tls=...........Allow TLS/SSL [auto] --enable-tls=yes -# --enable-shm=...........Allow shared memory [auto] +# --enable-shm=...........Allow shared memory [auto] --enable-shm=yes -# --enable-doc=...........Build sendmail-doc pkg [yes] ---enable-doc=${ENABLE_DOC} -# --enable-dev=...........Build libmilter-dev pkg [yes] ---enable-dev=${ENABLE_DEV} -# --disable-dependency-tracking speeds up one-time build -# --enable-dependency-tracking do not reject slow dependency extractors -# -# Optional Packages: -# --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] -# --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) -# --with-buildtree=.......Build directory [.] ---with-buildtree=${BUILD_TREE} -# --with-docdir=..........Document directory [PREFIX/doc] ---with-docdir=${DATA_DIR}/doc -# --with-revision=........Package revision [''] +# --disable-dependency-tracking speeds up one-time build +# --enable-dependency-tracking do not reject slow dependency extractors +# +#Optional Packages: +# --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] +# --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) +# --with-buildtree=.......Build directory [.] +--with-buildtree=${DEB_SRCDIR} +# --with-revision=........Package revision [''] --with-revision=${version_debian} -# --with-custom=..........Custom package revision [''] -#--with-custom= +# --with-custom=..........Custom package name [''] # -# Some influential environment variables: -# CC C compiler command -# CFLAGS C compiler flags -# LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a -# nonstandard directory <lib dir> -# CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have -# headers in a nonstandard directory <include dir> -# CPP C preprocessor +#Some influential environment variables: +# CC C compiler command +# CFLAGS C compiler flags +# LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a +# nonstandard directory <lib dir> +# LIBS libraries to pass to the linker, e.g. -l<library> +# CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if +# you have headers in a nonstandard directory <include dir> +# CPP C preprocessor # -# Use these variables to override the choices made by `configure' or to help -# it to find libraries and programs with nonstandard names/locations. +#Use these variables to override the choices made by `configure' or to help +#it to find libraries and programs with nonstandard names/locations. # -# Report bugs to <bug/reportbug or sendmail@packages.debian.org>. +#Report bugs to <bug/reportbug or sendmail@packages.debian.org>. # # Don't touch these! ---srcdir=${pwd_dir}/debian +--srcdir=${SRC_DIR} ${SM_CONF_OPT} diff --git a/debian/control b/debian/control index 81778eb..7803deb 100644 --- a/debian/control +++ b/debian/control @@ -4,7 +4,7 @@ Section: mail Maintainer: Richard A Nelson (Rick) <cowboy@debian.org> Standards-Version: 3.7.2 Build-Depends-Indep: groff, bsdmainutils -Build-Depends: make (>> 3.79.1-14), m4, patch, debhelper (>= 4.1.68), linux-kernel-headers , libdb4.5-dev, libldap2-dev, libwrap0-dev, liblockfile-dev, libsasl2-dev, libssl-dev +Build-Depends: make (>> 3.79.1-14), m4, cdbs, patchutils, dh-buildinfo, debhelper (>= 5), linux-libc-dev (>= 2.6.21-3) | linux-kernel-headers , libdb4.5-dev, libldap2-dev, libwrap0-dev, liblockfile-dev, libsasl2-dev, libssl-dev Build-Conflicts: libbind-dev, bind-dev, fakeroot (<< 0.4.5) Package: sendmail-bin @@ -176,7 +176,8 @@ Description: powerful, efficient, and scalable Mail Transport Agent Package: sendmail-cf Architecture: all Section: mail -Suggests: sendmail-doc, m4 +Suggests: sendmail-doc +Depends: m4 Description: powerful, efficient, and scalable Mail Transport Agent Sendmail is an alternative Mail Transport Agent (MTA) for Debian. It is suitable for handling sophisticated mail diff --git a/debian/examples/Makefile.in b/debian/examples/Makefile.in index 31881cf..6b9876e 100644 --- a/debian/examples/Makefile.in +++ b/debian/examples/Makefile.in @@ -173,6 +173,7 @@ sm_auth_lib = @sm_auth_lib@ sm_badepends = @sm_badepends@ sm_build_arch = @sm_build_arch@ sm_custom = @sm_custom@ +sm_custom_s = @sm_custom_s@ sm_databases = @sm_databases@ sm_date = @sm_date@ sm_depends = @sm_depends@ @@ -182,8 +183,6 @@ sm_editmap_envdef = @sm_editmap_envdef@ sm_editmap_libs = @sm_editmap_libs@ sm_enable_auth = @sm_enable_auth@ sm_enable_bind = @sm_enable_bind@ -sm_enable_dev = @sm_enable_dev@ -sm_enable_doc = @sm_enable_doc@ sm_enable_hesiod = @sm_enable_hesiod@ sm_enable_ipv6 = @sm_enable_ipv6@ sm_enable_ldap = @sm_enable_ldap@ @@ -298,7 +297,7 @@ nobase_dist_sysconf_DATA = dhcp3/dhclient-exit-hooks.d/sendmail \ logcheck/ignore.d.paranoid/sendmail \ logcheck/ignore.d.server/sendmail \ logcheck/ignore.d.workstation/sendmail \ - logcheck/violations.ignore.d/sendmail \ + logcheck/violations.ignore.d/logcheck-sendmail \ network/if-down.d/sendmail network/if-up.d/sendmail pam.d/smtp \ ppp/ip-down.d/sendmail ppp/ip-up.d/sendmail \ resolvconf/update-libc.d/sendmail @@ -594,7 +593,7 @@ install-exec-hook: chmod 0755 ${DESTDIR}${sbindir}/checksendmail; if [ -f ${top_srcdir}/../${buildtree}/contrib/buildvirtuser ]; then \ $(INSTALL_SCRIPT) ${top_srcdir}/../${buildtree}/contrib/buildvirtuser \ - ${DESTDIR}${pkgdatadir}; \ + ${DESTDIR}${pkgdatadir}/; \ fi; sed 's?/bin/perl?/usr/bin/perl?g' \ ${top_srcdir}/../${buildtree}/contrib/passwd-to-alias.pl \ diff --git a/debian/examples/logcheck/violations.ignore.d/sendmail b/debian/examples/logcheck/violations.ignore.d/logcheck-sendmail index a501752..a501752 100644 --- a/debian/examples/logcheck/violations.ignore.d/sendmail +++ b/debian/examples/logcheck/violations.ignore.d/logcheck-sendmail diff --git a/debian/libmilter-dev.links b/debian/libmilter-dev.links deleted file mode 100644 index 445183e..0000000 --- a/debian/libmilter-dev.links +++ /dev/null @@ -1,3 +0,0 @@ -usr/share/bug/sendmail usr/share/bug/libmilter-dev -usr/lib/libmilter.so.1 usr/lib/libmilter/libmilter.so.1 -usr/lib/libmilter/libmilter.so.1 usr/lib/libmilter/libmilter.so diff --git a/debian/libmilter1.dirs b/debian/libmilter0.dirs index b2f5da8..a0e05a3 100644 --- a/debian/libmilter1.dirs +++ b/debian/libmilter0.dirs @@ -1,5 +1,5 @@ ./DEBIAN ./usr/lib/libmilter -./usr/share/doc/libmilter1 +./usr/share/doc/sendmail/libmilter0 ./usr/share/bug ./usr/share/lintian/overrides diff --git a/debian/libmilter0.links b/debian/libmilter0.links new file mode 100644 index 0000000..4968d51 --- /dev/null +++ b/debian/libmilter0.links @@ -0,0 +1 @@ +usr/share/bug/sendmail usr/share/bug/libmilter0 diff --git a/debian/libmilter0.lintian-overrides b/debian/libmilter0.lintian-overrides new file mode 100644 index 0000000..f4df27b --- /dev/null +++ b/debian/libmilter0.lintian-overrides @@ -0,0 +1,4 @@ +libmilter0: description-synopsis-starts-with-a-capital-letter +libmilter0: postinst-has-useless-call-to-ldconfig +libmilter0: postrm-has-useless-call-to-ldconfig +libmilter0: non-dev-pkg-with-shlib-symlink diff --git a/debian/libmilter1.postrm b/debian/libmilter0.postrm index dd9b983..bce8f3f 100644 --- a/debian/libmilter1.postrm +++ b/debian/libmilter0.postrm @@ -25,13 +25,13 @@ # set -e; -PACKAGE=libmilter1; +PACKAGE=libmilter0; case "$1" in remove) # /usr/share/doc/$PACKAGE is a symlink to /usr/share/doc/sendmail - rm -f /usr/share/doc/$PACKAGE 2>/dev/null || true; - rmdir /usr/share/doc/sendmail 2>/dev/null || true; + rm -f /usr/share/doc/sendmail/$PACKAGE 2>/dev/null || true; + rmdir /usr/share/doc/sendmail/sendmail 2>/dev/null || true; ;; purge) diff --git a/debian/libmilter1.preinst b/debian/libmilter0.preinst index f396aee..6de8cea 100644 --- a/debian/libmilter1.preinst +++ b/debian/libmilter0.preinst @@ -15,31 +15,31 @@ # set -e; -PACKAGE=libmilter1; +PACKAGE=libmilter0; case "$1" in install) # DPKG doesn't overwrite directories with symlinks... - if [ -d /usr/share/doc/$PACKAGE ]; then - rm -rf /usr/share/doc/$PACKAGE; + if [ -d /usr/share/doc/sendmail/$PACKAGE ]; then + rm -rf /usr/share/doc/sendmail/$PACKAGE; fi; - if [ ! -d /usr/share/doc/sendmail ]; then - mkdir -p /usr/share/doc/sendmail; - chmod a+rx /usr/share/doc/sendmail; + if [ ! -d /usr/share/doc/sendmail/sendmail ]; then + mkdir -p /usr/share/doc/sendmail/sendmail; + chmod a+rx /usr/share/doc/sendmail/sendmail; fi; - ln -sf sendmail /usr/share/doc/$PACKAGE; + ln -sf sendmail /usr/share/doc/sendmail/$PACKAGE; ;; upgrade) # DPKG doesn't overwrite directories with symlinks... - if [ -d /usr/share/doc/$PACKAGE ]; then - rm -rf /usr/share/doc/$PACKAGE; + if [ -d /usr/share/doc/sendmail/$PACKAGE ]; then + rm -rf /usr/share/doc/sendmail/$PACKAGE; fi; - if [ ! -d /usr/share/doc/sendmail ]; then - mkdir -p /usr/share/doc/sendmail; - chmod a+rx /usr/share/doc/sendmail; + if [ ! -d /usr/share/doc/sendmail/sendmail ]; then + mkdir -p /usr/share/doc/sendmail/sendmail; + chmod a+rx /usr/share/doc/sendmail/sendmail; fi; - ln -sf sendmail /usr/share/doc/$PACKAGE; + ln -sf sendmail /usr/share/doc/sendmail/$PACKAGE; ;; abort-upgrade) diff --git a/debian/libmilter1.links b/debian/libmilter1.links deleted file mode 100644 index 9f6597f..0000000 --- a/debian/libmilter1.links +++ /dev/null @@ -1 +0,0 @@ -usr/share/bug/sendmail usr/share/bug/libmilter1 diff --git a/debian/libmilter1.lintian-overrides b/debian/libmilter1.lintian-overrides deleted file mode 100644 index 6e12b65..0000000 --- a/debian/libmilter1.lintian-overrides +++ /dev/null @@ -1,4 +0,0 @@ -libmilter1: description-synopsis-starts-with-a-capital-letter -libmilter1: postinst-has-useless-call-to-ldconfig -libmilter1: postrm-has-useless-call-to-ldconfig -libmilter1: non-dev-pkg-with-shlib-symlink diff --git a/debian/local/Makefile.in b/debian/local/Makefile.in index 12734df..cbd9fec 100644 --- a/debian/local/Makefile.in +++ b/debian/local/Makefile.in @@ -188,6 +188,7 @@ sm_auth_lib = @sm_auth_lib@ sm_badepends = @sm_badepends@ sm_build_arch = @sm_build_arch@ sm_custom = @sm_custom@ +sm_custom_s = @sm_custom_s@ sm_databases = @sm_databases@ sm_date = @sm_date@ sm_depends = @sm_depends@ @@ -197,8 +198,6 @@ sm_editmap_envdef = @sm_editmap_envdef@ sm_editmap_libs = @sm_editmap_libs@ sm_enable_auth = @sm_enable_auth@ sm_enable_bind = @sm_enable_bind@ -sm_enable_dev = @sm_enable_dev@ -sm_enable_doc = @sm_enable_doc@ sm_enable_hesiod = @sm_enable_hesiod@ sm_enable_ipv6 = @sm_enable_ipv6@ sm_enable_ldap = @sm_enable_ldap@ diff --git a/debian/local/sendmail.in b/debian/local/sendmail.in index 6e8a11d..b95baf7 100644 --- a/debian/local/sendmail.in +++ b/debian/local/sendmail.in @@ -198,7 +198,7 @@ start_mta () { # Check if we're going to run a daemon (and how many): daemon_check || result=$?; if [ "$result" -ne 0 ]; then - return $result; + return 0; fi; # # Mark restarted for communication betwixt here and /etc/mail/Makefile diff --git a/debian/patches/8.14/8.14.1/dpatch.004 b/debian/patches/8.14/8.14.1/control_c.patch index 578d178..578d178 100644 --- a/debian/patches/8.14/8.14.1/dpatch.004 +++ b/debian/patches/8.14/8.14.1/control_c.patch diff --git a/debian/patches/8.14/8.14.1/cyrusv2.m4.debian-patch b/debian/patches/8.14/8.14.1/cyrusv2.m4.debian.patch index 7ddbbe8..7ddbbe8 100644 --- a/debian/patches/8.14/8.14.1/cyrusv2.m4.debian-patch +++ b/debian/patches/8.14/8.14.1/cyrusv2.m4.debian.patch diff --git a/debian/patches/8.14/8.14.1/ldap_url_search.p0 b/debian/patches/8.14/8.14.1/ldap_url_search.patch index 5175ec9..5175ec9 100644 --- a/debian/patches/8.14/8.14.1/ldap_url_search.p0 +++ b/debian/patches/8.14/8.14.1/ldap_url_search.patch diff --git a/debian/patches/8.14/8.14.1/dpatch.001 b/debian/patches/8.14/8.14.1/local_procmail.patch index fabaa06..fabaa06 100644 --- a/debian/patches/8.14/8.14.1/dpatch.001 +++ b/debian/patches/8.14/8.14.1/local_procmail.patch diff --git a/debian/patches/8.14/8.14.1/dpatch.002 b/debian/patches/8.14/8.14.1/mailer_cyrus.patch index 4f52c19..4f52c19 100644 --- a/debian/patches/8.14/8.14.1/dpatch.002 +++ b/debian/patches/8.14/8.14.1/mailer_cyrus.patch diff --git a/debian/patches/8.14/8.14.1/dpatch.005 b/debian/patches/8.14/8.14.1/mailer_fax.patch index c779634..c779634 100644 --- a/debian/patches/8.14/8.14.1/dpatch.005 +++ b/debian/patches/8.14/8.14.1/mailer_fax.patch diff --git a/debian/patches/8.14/8.14.1/dpatch.003 b/debian/patches/8.14/8.14.1/rmail.odi.patch index 19c3c05..19c3c05 100644 --- a/debian/patches/8.14/8.14.1/dpatch.003 +++ b/debian/patches/8.14/8.14.1/rmail.odi.patch diff --git a/debian/patches/8.14/client_helo.patch b/debian/patches/8.14/client_helo.patch deleted file mode 100644 index b83bc81..0000000 --- a/debian/patches/8.14/client_helo.patch +++ /dev/null @@ -1,152 +0,0 @@ -#------------------------------------------------------------------------------ -# Who: -# Richard Nelson <cowboy@{cavein,debian}.org> -# What: -# 1) New macro ${client_helo} containing the EHLO/HELO text (or null) -# 2) New ruleset check_helo called after the EHLO/HELO and before the -# milter callout. This ruleset invocation and handling are modeled -# after the existing check_* rulesets -# Why: -# 0) $s is transient, and not set until MAIL FROM: is seen - I want the -# ability to check the EHLO/HELO string elsewere (like check_vrfy). -# ${client_helo} is set upon seeing the EHLO/HELO command and -# remains valid forever. -# 1) There is an IBM internal system check routine for AIX and Linux that -# I'm thinking will soon be a requirement to pass its audit... Like -# all such tools, it is limited - it requires that vrfy,expn are -# disabled... well, I don't do that... if you can relay through the -# box, then you can query it. If you can't relay, you get 5.7.1 ! -# using the new macro - I can specifically deny the scanner - even -# though other traffic is unaffected. -# 2) It can provide the same function as -DPICKY_HELO_CHECK, dynamically -# by making those checks in the new check_helo ruleset - as outlined -# below (NOT RECOMMENDED) -# 3) It can be passed to the milters, if they choose (like mimedefang) -# to apparently not support the helo callout -# 4) I was bored stiff being in the bowels of a COBOL compiler and -# needed a sanity break :) -# Design questions: -# Testing: -# 1) Running on three boxes, two of which make use of the macro and -# ruleset to block. The new function works great - and no ill -# affects seen on any of the boxes. -# Documentation: -# See below for the new macro and ruleset -# TODO: -# add to milter macro specifications -# Changes: -# 1) deliver.c -- remove client_helo from the envelope like all the -# other client_* macros -# 2) srvrsmtp.c -# A) A new boolean variable indicating that the helo string is valid -# gothelo is not sufficient here... the new scope is very small... -# B) A new character pointer holding the helo string address -# C) After obtaining a valid helo string, or accepting an invalid -# one, create a copy of the string for permanence -# D) Update the client_helo macro variable with the helo string -#------------------------------------------------------------------------------ -#5.2. D -- Define Macro -# ... -# ${client_helo} -# The string specified by the SMTP client on the EHLO/HELO -# command, or null if no EHLO/HELO was seen. Defined in the -# SMTP server only. Unlike the $s macro, which is transient -# and not available in all rulesets, the {client_helo} macro -# is available to all rulesets after the EHLO/HELO greeting. -# ... -#------------------------------------------------------------------------------ -#5.1.4.?. check_helo -# -# The check_helo ruleset is passed the address -# or name parameter of the SMTP EHLO/HELO command. It can -# accept or reject the address. Note that rejecting mail -# based upon this check is a violation of the standards! -# -# One could impliment an improved -PICKY_HELO_CHECK test -# here by checking the values of {client_name}, {client_addr}, -# against {client_helo} and {daemon_addr}. -#------------------------------------------------------------------------------ -diff -c 'deliver.orig' 'deliver.c' -Index: ./deliver.orig -Prereq: 8.1010 -*** ./sendmail-8.14.0.Beta4/sendmail/deliver.c Tue Aug 10 17:50:11 2004 ---- ./deliver.c Tue Aug 10 17:44:04 2004 -*************** -*** 1363,1368 **** ---- 1363,1369 ---- - macdefine(&e->e_macro, A_PERM, macid("{client_addr}"), ""); - macdefine(&e->e_macro, A_PERM, macid("{client_port}"), ""); - macdefine(&e->e_macro, A_PERM, macid("{client_resolve}"), ""); -+ macdefine(&e->e_macro, A_PERM, macid("{client_helo}"), ""); - } - - SM_TRY -diff -c 'srvrsmtp.orig' 'srvrsmtp.c' -Index: ./srvrsmtp.orig -Prereq: 8.957 -*** ./sendmail-8.14.0.Beta4/sendmail/srvrsmtp.c Tue Aug 10 17:50:23 2004 ---- ./srvrsmtp.c Tue Aug 10 17:42:54 2004 -*************** -*** 444,449 **** ---- 444,451 ---- - char *volatile protocol; /* sending protocol */ - char *volatile sendinghost; /* sending hostname */ - char *volatile peerhostname; /* name of SMTP peer or "localhost" */ -+ char *volatile helo_name; /* client_helo string */ -+ bool helo_accept = false; /* helo/ehlo command accepted */ - auto char *delimptr; - char *id; - volatile unsigned int n_badcmds = 0; /* count of bad commands */ -*************** -*** 1976,1981 **** ---- 1978,1987 ---- - { - q = "pleased to meet you"; - sendinghost = sm_strdup_x(p); -+ helo_accept = true; -+ helo_name = sm_strdup_x(p); -+ macdefine(&e->e_macro, A_PERM, macid("{client_helo}"), -+ helo_name); - } - else if (!AllowBogusHELO) - { -*************** -*** 1989,1994 **** ---- 1995,2004 ---- - else - { - q = "accepting invalid domain name"; -+ helo_accept = true; -+ helo_name = sm_strdup_x(p); -+ macdefine(&e->e_macro, A_PERM, macid("{client_helo}"), -+ helo_name); - } - - if (gothelo) -*************** -*** 1996,2001 **** ---- 2006,2028 ---- - CLEAR_STATE(cmdbuf); - } - -+ if (helo_accept) { -+ if (rscheck("check_helo", helo_name, -+ NULL, e, RSF_RMCOMM|RSF_COUNT, 3, -+ NULL, e->e_id) != EX_OK || -+ Errors > 0) -+ sm_exc_raisenew_x(&EtypeQuickAbort, 1); -+ -+ if (MaxMessageSize > 0 && -+ (e->e_msgsize > MaxMessageSize || -+ e->e_msgsize < 0)) -+ { -+ usrerr("552 5.2.3 Message size exceeds fixed maximum message size (%ld)", -+ MaxMessageSize); -+ sm_exc_raisenew_x(&EtypeQuickAbort, 1); -+ } -+ } -+ - #if MILTER - if (smtp.sm_milterlist && smtp.sm_milterize && - !bitset(EF_DISCARD, e->e_flags)) - diff --git a/debian/patches/contrib/etrn.patch01 b/debian/patches/contrib/etrn.patch01 deleted file mode 100644 index 616c748..0000000 --- a/debian/patches/contrib/etrn.patch01 +++ /dev/null @@ -1,42 +0,0 @@ ---- sendmail-8.12.5/contrib/etrn.pl.mwe Tue Jul 9 11:17:50 2002 -+++ sendmail-8.12.5/contrib/etrn.pl Tue Jul 9 11:33:13 2002 -@@ -81,12 +81,13 @@ - while (<CF>){ - if (/^Fw.*$/){ # look for a line starting with "Fw" - $cwfile = $_; -- chop($cwfile); -- $optional = /^Fw-o/; -- $cwfile =~ s,^Fw[^/]*,,; # extract the file name -- -+ chomp($cwfile); -+ ($optional,$cwfile,$comment_delim) = /^Fw(-o)?\s*(\S*)\s*(?:\s%(.*))?$/; -+ if (!$comment_delim) $comment_delim = '[^#]'; -+ $comment_delim =~ s/[\\](.)/$1/g; # unescape - if (-r $cwfile) { -- push (@cwfiles, $cwfile); -+ push (@cwfiles, {'file' => $cwfile, 'nocomment' => $comment_delim}); -+ - } else { - die "$cwfile is not readable" unless $optional; - } -@@ -103,16 +104,16 @@ - - for $cwfile (@cwfiles) { - $0 = "$av0 - reading $cwfile"; -- if (open(CW, "<$cwfile")){ -+ if (open(CW, "<$cwfile->{'file'}")){ - while (<CW>){ -- next if /^\#/; -+ next unless /^$cwfile->{'nocomment'}/; - $thishost = $_; -- chop($thishost); -+ chomp($thishost); - push(@hosts, $thishost) unless $thishost =~ $hostname; - } - close(CW); - } else { -- die "open $cwfile: $!"; -+ die "open $cwfile->{'file'}: $!"; - } - } - } diff --git a/debian/rules b/debian/rules index 1245151..18cd9a5 100755 --- a/debian/rules +++ b/debian/rules @@ -2,153 +2,64 @@ #------------------------------------------------------------------------------ # vim: syntax=make # -# $Sendmail: rules,v 8.12.10 2003-07-13 21:46:03 cowboy Exp $ -# -# Copyright (c) 1998-2007 Richard Nelson. All Rights Reserved. -# -# ./rules. Generated from rules.in by configure. -# -# Rules file for Sendmail 8.12.10-6(527370) -# on Debian testing/unstable -# via Debhelper V4.1 -# -# Note: the .in file supports Sendmail 8.7.6 - 8.12.10 -# on Debian slink, potato, woody, testing, sid, ... -# but the generated file is customized to the version noted above. -# -# The only thing to watch for is to make sure the changelog correctly -# reflects the appropriate version and distribution! -# -# To support private builds: -# 1) use the environment variables (defaults shown first): -# CC=gcc|gcc-3.0..........-- choose compiler -# CFLAGS='-O2 -Wall [-g]'.-- choose compile options -# DEFINES=''..............-- additional -Dxxx -# SM_CONF=''..............-- Site local customization -# SM_CONF_OPT=''..........-- additional configure options -# SM_BUILD_OPT=''.........-- additional build options -# 2) Build the package using your normal setup: -# A) [fakeroot] debian/rules binary -# B) debuild -rfakeroot -# C) dpkg-buildpackage -rfakeroot -uc -us -# -# DEB_BUILD_OPTIONS (global Debian package build options) -# Debian specific, and common across package options -# noopt - Do *NOT* compile with optimization (force -O0) -# nostrip - Do *NOT* strip binaries (for debugging) -# -# SM_CONF -# A quick means to customize the Debian Sendmail package according -# to your sites guidelines ! -# 1) Choose a configuration name (ie FooBar) -# 2) cp debian/configure.options debian/FooBar.options -# 3) $(EDIT) debian/FooBar.options to taste -# 4) mkdir debian/FooBar.patches -# 5) add any local patches in that directory - following -# the style in debian/patches style (ie, 8.13/8.13.3 subdirectory) -# 6) cp debian/changelog debian/FooBar.changelog -# 7) $(EDIT) debian/FooBar.changelog, delete everything after the -# 1st null line (but leave that null!!!) -# 8) Update debian/FooBar.changelog to show your updates -# 9) SM_CONF="FooBar" debian/rules configure ** IMPORTANT *** -# 10) build the package (SM_CONF="FooBar" dpkg-buildpackage or debuild) -# -# -# SM_CONF_OPT -# Additional configure options and/or overrides may be specified thusly: -# 1) export SM_CONF_OPT='--enable-shm=no' -# dpkg-buildpackage -rfakeroot -uc -us -# 2) SM_CONF_OPT='--enable-shm=no' dpkg-buildpackage -# 3) debuild -e SM_CONF_OPT='--enable-shm=no' -# etc... -# -# SM_BUILD_OPT -# 1) export SM_BUILD_OPT='nodoc' -# dpkg-buildpackage -rfakeroot -uc -us -# 2) SM_BUILD_OPT='nodoc' dpkg-buildpackage -rfakeroot -uc -us -# 3) debuild -e SM_BUILD_OPT='nodoc' -e CLFAGS='-O3 Wall' -# etc... -# -# Supported options values for SM_BUILD_OPT: -# nodev Disable generation of libmilter-dev package -# nodoc Disable generation of sendmail-doc package -# -# This make file uses scripts from the DBS (0.8) package :( -# -# Richard Nelson <cowboy@debian.org> 2007-05-22 22:39:00 (+0000) +# $Sendmail: rules,v 8.14.1 2007-05-27 18:30:00 cowboy Exp $ #------------------------------------------------------------------------------ -#SHELL := /bin/sh -x - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 -# This is the debhelper compatibility version to use. (we'll set it later) -#export DH_COMPAT=4 - -# This has to be exported to make some magic below work. -export DH_OPTIONS - -# PIE support -#CFLAGS += -fpie --warn-shared-textrel -#export CFLAGS -#LDFLAGS += -pie -#export LDFLAGS +# CDBS crud +#include /usr/share/cdbs/1/class/makefile.mk +include /usr/share/cdbs/1/class/autotools.mk +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/rules/simple-patchsys.mk +# Overridden below, but needed now +DEB_TAR_SRCDIR := . +include /usr/share/cdbs/1/rules/tarball.mk # Make it even harder to exploit sendmail. # Well, almost impossible now 8-) -#CFLAGS += -fstack-protector-all -Wl,-z,relro -Wl,-z,now -#export CFLAGS -#LDOPTS += -Wl,-z,relro -Wl,-z,now -#export LDOPTS - -# Support separate debian directory -ifeq (yes, $(shell test -d debian && echo 'yes')) - debian_dir := ./debian - pwd_dir := $(shell pwd) -else - debian_dir := . - pwd_dir := $(shell pwd)/.. - SM_CONF_OPT += --enable-maintainer-mode - endif - -# Determine build,host architectures (via dpkg-architecture) -ifeq (, ${DEB_BUILD_ARCH}) - ifeq (yes, $(shell test -x /usr/bin/dpkg-architecture && echo 'yes')) - include ${debian_dir}/scripts/dpkg-arch.mk - endif - endif - -# Check for cross-compilation -ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) - ifneq (, $(DEB_BUILD_GNU_TYPE)) - endif - endif - -# will want path info for some things... Like patches/changelogs... -pwd_string := $(shell expr "${pwd_dir}" : '.*-\([X?0-9.].*\)') -ifeq (, $(findstring +,${pwd_string})) - pwd_version := ${pwd_string} -else - pwd_version := $(shell expr "${pwd_string}" : '.*+\([0-9.].*\)') - endif -ifneq (, $(findstring Final,${pwd_version})) - pwd_version := $(shell expr "${pwd_version}" : '\(.*\)\.Final') +# * Compile all with -fPIC (works for pic or pie objects) +# * Link with either -pie or -shared +MY_CFLAGS := -fPIC -fstack-protector-all +CFLAGS += ${MY_CFLAGS} +export CFLAGS +MY_LDFLAGS := -Wl,-z,noexecstack,-z,relro,-z,now -Wl,--warn-shared-textrel +LDFLAGS += -pie ${MY_LDFLAGS} +export LDFLAGS + +# Obtain package/version information from the path (debian/changelog is walkabout) +ifneq (y, $(shell test -f debian/changelog && echo 'y')) + DIRNAME = $(shell basename $(CURDIR)) + DEB_SOURCE_PACKAGE = $(shell expr "$(DIRNAME)" : '\(.*\)-') + DEB_VERSION = $(shell expr "$(DIRNAME)" : '.*-\(.*\)') + DEB_NOEPOCH_VERSION = $(shell echo $(DEB_VERSION) | cut -d: -f2-) + DEB_UPSTREAM_VERSION = $(shell echo $(DEB_NOEPOCH_VERSION) | sed 's/-[^-]*$$//') endif -pwd_major := $(shell expr "${pwd_version}" : '\([0-9]*\.[0-9]*\)') -# get package/version information from the changelog -package := $(shell (cd ${debian_dir}/.. >/dev/null && \ - dpkg-parsechangelog 2>/dev/null) | awk '/^Source:/ {print $$2}') -version_string := $(shell (cd ${debian_dir}/.. >/dev/null && \ - dpkg-parsechangelog 2>/dev/null) | awk '/^Version:/ {print $$2}') -# Remove local site name from version string -ifneq (, ${SM_CONF}) -ifneq (, $(findstring ${SM_CONF}.,${version_string})) - version_string := $(shell expr "${version_string}" : "${SM_CONF}.\(.*\)") -endif -endif +# strip of a optionally added data (ie: upstream+cvs-debian) +DEB_UPSTREAM_TARBALL_VERSION := $(shell echo $(DEB_UPSTREAM_VERSION) | sed 's/+[^-]*//') +DEB_TAR_SRCDIR := $(DEB_SOURCE_PACKAGE)-$(DEB_UPSTREAM_TARBALL_VERSION) +DEB_SRCDIR := $(_cdbs_tarball_dir)/$(DEB_TAR_SRCDIR) +DEB_BUILDDIR := $(DEB_SRCDIR) +DEB_DESTDIR = $(CURDIR)/debian/$(DEB_SOURCE_PACKAGE) +DEB_PATCHDIRS = debian/patches/${version_major}/${version_string} +DEB_DBG_PACKAGES = libmilter$(sm_libmilter_version)-dbg +DEB_DBG_PACKAGE_libmilter$(sm_libmilter_version) = libmilter$(sm_libmilter_version)-dbg +DEB_DH_INSTALL_CRON_ARGS = --name=$(DEB_SOURCE_PACKAGE) +DEB_DH_INSTALLINIT_ARGS = --name=$(DEB_SOURCE_PACKAGE) +DEB_UPDATE_RCD_PARAMS = --update-rcd-params="defaults 21 19" +# autoconf/make are mine, not upstream (yet) :( +DEB_CONFIGURE_LIBEXECDIR ="\$${prefix}/lib/sm.bin" +DEB_AC_AUX_DIR = $(CURDIR)/debian/build +DEB_CONFIGURE_SCRIPT = $(CURDIR)/debian/configure +DEB_CONFIGURE_INVOKE = cd $(CURDIR)/debian \ + && $(DEB_CONFIGURE_SCRIPT_ENV) $(DEB_CONFIGURE_SCRIPT) $(DEB_CONFIGURE_NORMAL_ARGS) +DEB_MAKE_INVOKE = +DEB_MAKE_BUILD_TARGET = +DEB_MAKE_INSTALL_TARGET = +DEB_INSTALL_CHANGELOGS_ALL = $(DEB_SRCDIR)/RELEASE_NOTES + +version_string := ${DEB_VERSION} version_full := $(shell expr "${version_string}" : '\([^-]*\)') -version_debian := $(shell expr "${version_string}" : '[^-]*\(-.*\)') +version_debian := $(shell expr "${version_string}" : '.*\(-.*\)$$') version := ${version_full} version_major := $(shell expr "${version_full}" : '\([0-9]*\.[0-9]*\)') version_minor := $(shell expr "${version_full}" : '[0-9]*\.[0-9]*\.\(.*\)') @@ -163,343 +74,140 @@ ifneq (, $(findstring +,${version_minor})) endif endif -# Many things depend upon which release (slink, potato, woody, etc.) -PKG_DIR := ${debian_dir}/${package}-bin -DATA_DIR := /usr/share -ifeq (v4, $(shell (cd ${debian_dir}/.. >/dev/null && dh_testversion 4.0.0 2>/dev/null && echo 'v4'))) - DH_COMPAT := 4 -else - ifeq (v3, $(shell (cd ${debian_dir}/.. >/dev/null && dh_testversion 3.0.0 2>/dev/null && echo 'v3'))) - DH_COMPAT := 3 - else - ifeq (v2, $(shell (cd ${debian_dir}/.. >/dev/null && dh_testversion 2.0.40 2>/dev/null && echo 'v2'))) - DH_COMPAT := 2 - else - DH_COMPAT := 1 - PKG_DIR := ${debian_dir}/tmp - DATA_DIR := /usr - endif - endif - endif -export DH_COMPAT - -# the dbs rules -TAR_DIR := ${package}-${version} -# Handle the case where the changelog is newer that what we're building -ifneq (yes, $(shell test -e ${debian_dir}/../${TAR_DIR}.tar.gz && echo 'yes')) - TAR_DIR := ${package}-${pwd_version} - endif -SOURCE_DIR := build-tree -BUILD_TREE := ${SOURCE_DIR}/${TAR_DIR} -PATCH_DIR := ${debian_dir}/patches/${version_major}/${version} -SCRIPT_DIR := ${debian_dir}/scripts -STAMP_DIR := ${debian_dir}/build/stampdir - -# Include Debian Autoconf settings -ifeq (yes, $(shell test -e ${debian_dir}/build/autoconf.mk && echo 'yes')) - include ${debian_dir}/build/autoconf.mk -else - include ${debian_dir}/build/autoconf.mk.in - endif - -# these are strictly for my own consuption -PKG_DOC := ${debian_dir}/${package}-doc${docdir}/${package}-doc -PACKAGES := sendmail sendmail-base sendmail-cf sendmail-doc \ - libmilter-dev rmail sensible-mda -SM_SUBDIRS := editmap libmilter mail.local mailstats \ +# Some variables that should be removed in favour of DEB_* above +SRC_DIR := $(CURDIR)/debian +PKG_DIR := debian/${DEB_SOURCE_PACKAGE}-bin +PKG_DOC = debian/${DEB_SOURCE_PACKAGE}-doc${docdir}/${DEB_SOURCE_PACKAGE}-doc +SM_SUBDIRS := editmap libmilter mail.local mailstats \ makemap praliases rmail sendmail smrsh vacation -# + # We want delayed interpretation of the options ! -ifeq (yes, $(shell test -x /usr/bin/debuild && echo 'yes')) +ifeq (y, $(shell test -x /usr/bin/debuild && echo 'y')) DEB_BUILD = \ - SM_BUILD_OPT="${SM_BUILD_OPT}" \ - SM_CONF="${SM_CONF}" \ - SM_CONF_OPT="${SM_CONF_OPT}" \ DEB_BUILD_OPTIONS="${DEB_BUILD_OPTIONS}" \ - debuild -e SM_CONF -e SM_CONF_OPT -e SM_BUILD_OPT + debuild --linda else DEB_BUILD = \ - SM_BUILD_OPT="${SM_BUILD_OPT}" \ - SM_CONF="${SM_CONF}" \ - SM_CONF_OPT="${SM_CONF_OPT}" \ DEB_BUILD_OPTIONS="${DEB_BUILD_OPTIONS}" \ dpkg-buildpackage endif -# Process build-time options: -# 1) options from SM_BUILD_OPT (Prior to configure) -# 2) defaults (Prior to configure) -ENABLE_INDEP := yes -ENABLE_ARCH := yes -ENABLE_LIB := yes -ENABLE_BIN := yes -ifneq (, $(findstring nodev,${SM_BUILD_OPT})) - ENABLE_DEV := no -else - ENABLE_DEV := yes - endif -ifneq (, $(findstring nodoc,${SM_BUILD_OPT})) - ENABLE_DOC := no -else - ENABLE_DOC := yes - endif -# -# Summarize above options into -INDEP and -ARCH for this Makefile -ENABLE_INDEP := ${ENABLE_DOC} -ifeq (no, ${ENABLE_BIN}) - ifeq (no, ${ENABLE_LIB}) - ifeq (no, ${ENABLE_DEV}) - ENABLE_ARCH := no - endif - endif - endif - # Now that all that is out of the way, read the desired configuration # settings -ifeq (, ${SM_CONF}) - CONF_NAME = ${debian_dir}/configure.options +CONF_NAME = debian/configure.options +$(eval CONFIG_OPTS := $(shell grep -v "^\#" ${CONF_NAME})) +DEB_CONFIGURE_EXTRA_FLAGS = $(CONFIG_OPTS) + +# Include Debian Autoconf settings +ifeq (y, $(shell test -e debian/build/autoconf.mk && echo 'y')) + include debian/build/autoconf.mk else - ifneq (y, $(shell test -e debian/${SM_CONF}.options && echo 'y')) - CONF_NAME := $(error Create ${SM_CONF}.options from configure.options) - endif - ifneq (y, $(shell test -e debian/${SM_CONF}.changelog && echo 'y')) - CONF_NAME := $(error Create ${SM_CONF}.changelog from changelog) + ifeq (y, $(shell test -e build/autoconf.mk && echo 'y')) + include build/autoconf.mk + else + include debian/build/autoconf.mk.in endif - CONF_NAME = ${debian_dir}/${SM_CONF}.options - SM_CONF_OPT += --with-custom=${SM_CONF} -endif -$(eval CONFIG_OPTS := $(shell grep -v "^\#" ${CONF_NAME})) + endif -all: +# Default rule +all:: @echo 'Please specify a real target in the future...'; - $(MAKE) -f ${debian_dir}/rules \ - version_string=${pwd_string} \ - SM_BUILD_OPT="${SM_BUILD_OPT}" \ - SM_CONF="${SM_CONF}" \ - SM_CONF_OPT="${SM_CONF_OPT}" \ + $(MAKE) -f debian/rules \ DEB_BUILD_OPTIONS="${DEB_BUILD_OPTIONS}" \ - binary-all; - + binary; + -#------------------------------------------------------------------------------ -# Rules to maintain the external Debian directory -#------------------------------------------------------------------------------ #------------- -.PHONY: refresh-dbs -refresh-dbs: - @echo 'updating debian/scripts directory...'; - cp -af /usr/share/dbs/* ${SCRIPT_DIR}/; - chmod a-w ${SCRIPT_DIR}/*; +# Normalize CDBS rules +.PHONY: unpack +unpack:: pre-build +.PHONY: patch +patch:: apply-patches +.PHONY: configure +configure:: common-configure-arch common-configure-indep + #------------- +# Maintainer only rule... copy external debian directory here .PHONY: refresh-debian -refresh-debian: +refresh-debian:: @dh_testdir; @echo 'updating debian directory ...'; sudo $(RM) -r debian; sudo cp -a ../debian ./; - sudo $(RM) -rf ${SOURCE_DIR} ${STAMP_DIR}; - # Remove some local configuration - $(RM) -r debian/CaveIn.changelog \ - debian/CaveIn.options \ - debian/CaveIn.patches; + sudo $(RM) -rf ${_cdbs_tarball_dir}; + # Remove local testing configuration # Make sure directories are writeable by the owner (mine aren't) chmod -R ug+w debian; - -(cd ${debian_dir} && aclocal); - -(cd ${debian_dir} && autoconf); - -(cd ${debian_dir} && automake); - # Force a configure here, using $${PWD} so the changelog, etc. + -(cd debian && aclocal); + -(cd debian && autoconf); + -(cd debian && automake); + # Force a configure here, using $(CURDIR) so the changelog, etc. # wind up with the right version numbers - $(MAKE) -f ${debian_dir}/rules \ - version_string="${pwd_string}" \ - SM_BUILD_OPT="${SM_BUILD_OPT}" \ - SM_CONF="" \ - SM_CONF_OPT="${SM_CONF_OPT}" \ + $(MAKE) -f debian/rules \ DEB_BUILD_OPTIONS="${DEB_BUILD_OPTIONS}" \ configure; - # Need to save this - /bin/mv ${debian_dir}/build/autoconf.mk \ - ${debian_dir}/build/autoconf.mk.save; - -(cd ${debian_dir} && $(MAKE) distclean;) - # Need to save this - /bin/mv ${debian_dir}/build/autoconf.mk.save \ - ${debian_dir}/build/autoconf.mk; - $(RM) -r ${debian_dir}/autom4te.cache; + # Need to save these + /bin/mv -f debian/build/autoconf.mk \ + debian/build/autoconf.mk.save; + /bin/mv -f debian/changelog \ + debian/changelog.save; + -(cd debian && $(MAKE) distclean;) + # Need to save these + /bin/mv -f debian/build/autoconf.mk.save \ + debian/build/autoconf.mk; + /bin/mv -f debian/changelog.save \ + debian/changelog; + $(RM) -r debian/autom4te.cache; # Remove pieces not needed for further building - find ${debian_dir}/patches -type d -a ! -name 'patches' \ - -a ! -name 'contrib' \ - -a ! -name "${pwd_major}" \ - -a ! -name "${pwd_version}" \ + find debian/patches -type d -a ! -name 'patches' \ + -a ! -name "${version_major}" \ + -a ! -name "${DEB_UPSTREAM_TARBALL_VERSION}" \ | xargs -r $(RM) -r; - $(RM) -r ${debian_dir}/bugs ${debian_dir}/private; - find ${debian_dir} -type f -name '*.am' | xargs -r $(RM); + $(RM) -r debian/bugs debian/private; + /usr/bin/find debian -type f -name '*.am' | xargs -r $(RM); $(RM) \ - ${debian_dir}/aclocal.m4 \ - ${debian_dir}/build/*.m4; - $(MAKE) -f ${debian_dir}/rules clean-debian; + debian/aclocal.m4 \ + debian/build/*.m4; + $(MAKE) -f debian/rules clean-debian; #------------- +# Maintainer only rule... cleanup & setup for general package .PHONY: clean-debian -clean-debian: +clean-debian:: @echo 'cleaning debian directory...'; - #-(cd ${debian_dir} && $(MAKE) -f Makefile maintainer-clean;) - #-(cd ${debian_dir} && $(MAKE) -f Makefile distclean;) - find ${debian_dir} -name '*~' -o -name '\.*\.swp' \ - | xargs -r rm; - $(RM) ${debian_dir}/*.sav ${debian_dir}/build/*.sav; - $(RM) ${STAMP_DIR}/autotools ${STAMP_DIR}/configure; + #-(cd debian && $(MAKE) -f Makefile maintainer-clean;) + #-(cd debian && $(MAKE) -f Makefile distclean;) + find debian -name '*~' -o -name '\.*\.swp' \ + | xargs -r $(RM); + $(RM) debian/*.sav debian/build/*.sav; + $(RM) debian/stamp-*; #------------- +# Maintainer only rule... must be run in external debian directory .PHONY: refresh-faq -refresh-faq: +refresh-faq:: @echo 'Refreshing FAQ' - @chmod u+w ${debian_dir}/faq.txt; - (cd ${debian_dir} && wget --passive-ftp --timestamping \ + @chmod u+w faq.txt; + (wget --passive-ftp --timestamping \ --cache=off http://www.sendmail.org/faq/faq.txt;); - @chmod a-w ${debian_dir}/faq.txt; + @chmod a-w faq.txt; @echo 'Refreshing Misc' - @chmod u+w ${debian_dir}/cf/feature/rhsbl.m4; - (cd ${debian_dir}/cf/feature && wget --passive-ftp --timestamping \ + @chmod u+w cf/feature/rhsbl.m4; + (cd cf/feature && wget --passive-ftp --timestamping \ --cache=off http://www.megacity.org/software_downloads/rhsbl.m4;); - @chmod u-w ${debian_dir}/cf/feature/rhsbl.m4; + @chmod u-w cf/feature/rhsbl.m4; #------------- .PHONY: world -world: +world:: # Debian build daemons don't (for the nonce) support build-indep, # so this rule allows *me* to build both arch and indep portions # of sendmail in one go (so I don't forget). @dh_testdir; - #time $(MAKE) -f ${debian_dir}/rules parts; time ${DEB_BUILD}; -.PHONY: parts -parts: - $(MAKE) -f ${debian_dir}/rules info; - fakeroot $(MAKE) -f ${debian_dir}/rules clean; - $(MAKE) -f ${debian_dir}/rules configure; - fakeroot $(MAKE) -f ${debian_dir}/rules binary-all; - -.PHONY: test -test: - @dh_testdir; - $(MAKE) -f ${debian_dir}/rules clean-debian; - fakeroot $(MAKE) -f ${debian_dir}/rules clean; - $(MAKE) -f ${debian_dir}/rules \ - ENABLE_DEV=no ENABLE_DOC=no \ - CFLAGS='-O2 -Wall' DEB_BUILD_OPTIONS='nostrip' configure; - #time ${DEB_BUILD} -rfakeroot -d -us -uc; - time $(MAKE) -f ${debian_dir}/rules build-arch; - -.PHONY: print -print: - @dh_testdir; - -(cd ${BUILD_TREE}/.. && \ - for file in `find . -name 'README'`; do \ - lpr $$file; \ - done; ); - -(cd ${BUILD_TREE}/.. && \ - lpr */KNOWNBUGS; \ - lpr */RELEASE_NOTES; \ - lpr */sendmail/SECURITY; \ - lpr */sendmail/TUNING; \ - lpr */sendmail/TRACEFLAGS; \ - lpr */doc/op/op.ps; \ - lpr */cf/feature/nullclient.m4; \ - lpr */cf/feature/msp.m4; \ - ); - -(cd ${debian_dir} && \ - lpr ../../${debian_dir}/configure.ac; \ - lpr ../../${debian_dir}/build/rules.in; \ - lpr build/site.config.m4.in; \ - lpr cf/hack/msp_nullclient.m4; \ - ); - - -#------------------------------------------------------------------------------ -# Misc rules -#------------------------------------------------------------------------------ -#------------- -${STAMP_DIR}: - mkdir -p ${STAMP_DIR}; - - -#------------------------------------------------------------------------------ -# Autoconf rules -#------------------------------------------------------------------------------ -#------------- -${debian_dir}/config.status: ${debian_dir}/configure - # *** *** *** configure changed ?!? *** *** *** - if [ -e ${debian_dir}/config.status ]; then \ - chmod ug+x ${debian_dir}/config.status; \ - (cd ${debian_dir} && ./config.status --recheck;) \ - fi; - -#------------- -${debian_dir}/configure: ${debian_dir}/configure.ac - # *** *** *** configure.ac changed ?!? *** *** *** - cp -af ${debian_dir}/configure.ac \ - ${debian_dir}/configure.in; - (cd ${debian_dir} && autoconf;); - $(RM) ${debian_dir}/configure.in; - chmod ug+x ${debian_dir}/configure; - -#------------- -.PHONY: autotools -autotools: ${STAMP_DIR} ${STAMP_DIR}/autotools -${STAMP_DIR}/autotools: - - #Add here commands to setup the autotools environment - - # Make sure we have the latest available config.{guess,sub} - # Allow the package to override either by faking the date... - if [ -e /usr/share/misc/config.guess ] \ - && [ -e ${debian_dir}/build/config.guess ]; then \ - chmod ug+x ${debian_dir}/build/config.guess; \ - OLDDATEGUESS=`${debian_dir}/build/config.guess -t | tr -d - `; \ - NEWDATEGUESS=`/usr/share/misc/config.guess -t | tr -d - `; \ - if [ "$$OLDDATEGUESS" -lt "$$NEWDATEGUESS" ]; then \ - if [ ! -e ${debian_dir}/build/config.guess.sav ]; then \ - cp -pf ${debian_dir}/build/config.guess \ - ${debian_dir}/build/config.guess.sav;\ - fi; \ - if [ -e ${debian_dir}/build/config.guess.sav ]; then \ - cp -pf /usr/share/misc/config.guess \ - ${debian_dir}/build/config.guess; \ - fi; \ - fi; \ - fi; - if [ -e /usr/share/misc/config.sub ] \ - && [ -e ${debian_dir}/build/config.sub ]; then \ - chmod ug+x ${debian_dir}/build/config.sub; \ - OLDDATESUB=`${debian_dir}/build/config.sub -t | tr -d - `; \ - NEWDATESUB=`/usr/share/misc/config.sub -t | tr -d - `; \ - if [ "$$OLDDATESUB" -lt "$$NEWDATESUB" ]; then \ - if [ ! -e ${debian_dir}/build/config.sub.sav ]; then \ - cp -pf ${debian_dir}/build/config.sub \ - ${debian_dir}/build/config.sub.sav; \ - fi; \ - if [ -e ${debian_dir}/build/config.sub.sav ]; then \ - cp -pf /usr/share/misc/config.sub \ - ${debian_dir}/build/config.sub; \ - fi; \ - fi; \ - fi; - - # Make sure that some autotools stuff is executable. - chmod ug+x \ - ${debian_dir}/build/config.guess \ - ${debian_dir}/build/config.sub \ - ${debian_dir}/build/depcomp \ - ${debian_dir}/build/install-sh \ - ${debian_dir}/build/missing \ - ${debian_dir}/build/mkinstalldirs \ - ; - - touch ${STAMP_DIR}/autotools; - - #------------------------------------------------------------------------------ # Build/Package check rules @@ -507,20 +215,17 @@ ${STAMP_DIR}/autotools: #------------- .PHONY: info info: - #-------------------------------------------------------------------- # The following information will be used for this run: - # SM_CONF = ${SM_CONF} - # Source = ${package} ${pwd_string} - # Package = ${package} ${version_string} - # Version = ${version_major}.${version_minor}${version_debian} - # BuildTree = ${BUILD_TREE} - # PatchDir = ${PATCH_DIR} + # Source = ${DEB_SOURCE_PACKAGE} + # Package = ${DEB_SOURCE_PACKAGE} ${DEB_VERSION} + # ${version_string}${sm_custom_s}${version_debian} + # Upstream V = ${DEB_UPSTREAM_TARBALL_VERSION} + # BuildTree = ${DEB_SRCDIR} # Arch = ${DEB_BUILD_ARCH} on ${DEB_HOST_ARCH} # Options # configure = ${CONFIG_OPTS} # config opt = ${SM_CONF_OPT} - # build opt = ${SM_BUILD_OPT} # ENABLE_INDEP= ${ENABLE_INDEP} # ENABLE_ARCH = ${ENABLE_ARCH} # ENABLE_DEV = ${ENABLE_DEV} @@ -533,62 +238,38 @@ info: #-------------------------------------------------------------------- #------------- -.PHONY: buildinfo -buildinfo: - @echo ''; - @dpkg -l \ - debhelper \ - dpkg-dev \ - gcc \ - 'libc6*' \ - binutils \ - ldso \ - make \ - m4 \ - libdb4 libdb4-dev \ - libdb3 libdb3-dev \ - libdb2 libdb2-dev \ - libwrap0 libwrap0-dev \ - libldap2 libldap2-dev \ - libopenldap1 libopenldap-dev \ - umich-libldap umich-libldap-dev \ - libsasl2 libsasl2-dev \ - libsasl7 libsasl-dev \ - openssl libssl-dev 'libssl0*' \ - ${BUILD_INFO} \ - 2> /dev/null \ - | awk '$$1 == "ii" { printf("%s-%s\n", $$2, $$3) }' \ - | tee ${debian_dir}/buildinfo; - @echo ''; - @chmod 644 ${debian_dir}/buildinfo; - -#------------- .PHONY: pristine -pristine: - @dh_testdir; - #$(MAKE) -f ${debian_dir}/rules info; +pristine:: + #-------------------------------------------------------------------- + # pristine: # # Fail if there are any modifications to the original # tarball, other than the debian directory - if [ -f ../${package}_${version_string}.diff.gz ]; then \ - zgrep -e "^\+\+\+ " ../${package}_${version_string}.diff.gz \ - | sed -e "/^\+\+\+ ${package}-${version}\/debian\/.*$$/d" - \ + @dh_testdir; + if [ -f ../${DEB_SOURCE_PACKAGE}_${DEB_VERSION}.diff.gz ]; then \ + zgrep -e "^\+\+\+ " ../${DEB_SOURCE_PACKAGE}_${DEB_VERSION}.diff.gz \ + | sed -e "/^\+\+\+ $(CURRDIR)\/debian\/.*$$/d" - \ | [ ! -z - ]; \ fi; - + # # Check for presence of TLS (crypto) enablement and bitch if found @if (grep -qEe '^#TLS:[[:space:]]*yes' \ - ${debian_dir}/build/site.config.m4); then \ + debian/build/site.config.m4); then \ echo '** ** --------------------------------------------------- ** **';\ echo '** ** This package contains crypto support ! Be careful ! ** **';\ echo '** ** --------------------------------------------------- ** **';\ fi; + #-------------------------------------------------------------------- + #------------- -.PHONY: verify -verify: - @dh_testdir; +.PHONY: verify-tarball +verify-tarball:: + #-------------------------------------------------------------------- + # verify_tarball: + # # Verifying the md5 summs and signed files + @dh_testdir; @for file in $$(find . -maxdepth 1 -name '*.md5'); do \ echo "Checking MD5 source: $$file."; \ cat $$file; \ @@ -605,6 +286,7 @@ verify: rm $$part; \ fi; \ done; + #-------------------------------------------------------------------- #------------------------------------------------------------------------------ @@ -612,377 +294,162 @@ verify: #------------------------------------------------------------------------------ #------------- .PHONY: clean -clean: - @dh_testdir; - @dh_testroot; - - # Add here commands to clean up after the build process. - #-$(MAKE) clean; - #-$(MAKE) distclean; - - # First, remove any patches, and source directories - #$(MAKE) -f ${debian_dir}/sys-build.mk source.clean; - +clean:: + #-------------------------------------------------------------------- + # clean: + # # Need to save this - /bin/mv ${debian_dir}/build/autoconf.mk \ - ${debian_dir}/build/autoconf.mk.save; - + /bin/mv debian/build/autoconf.mk \ + debian/build/autoconf.mk.save; # Local stuff - -if [ -f ${debian_dir}/Makefile ]; then \ - (cd ${debian_dir} && $(MAKE) -f Makefile clean;) \ + -if [ -f debian/Makefile ]; then \ + (cd debian && $(MAKE) -f Makefile clean;) \ fi; - # Debian stuff - $(RM) -r ${SOURCE_DIR} ${STAMP_DIR}; + $(RM) -r ${_cdbs_tarball_dir}; $(RM) \ - ${debian_dir}/config.log \ - ${debian_dir}/config.status \ - ${debian_dir}/*.buildinfo.Debian \ - ${debian_dir}/*.debhelper \ - ${debian_dir}/build/debian/changelog.in \ - ${debian_dir}/build/debian/control \ + debian/config.log \ + debian/config.status \ + debian/*.debhelper \ + debian/build/debian/changelog.in \ + debian/build/debian/control \ ; - for file in tmp ${PACKAGES};do \ - $(RM) -r ${debian_dir}/$$file; \ + for file in tmp ${DEB_PACKAGES};do \ + $(RM) -r debian/$$file; \ done; - -ifeq (3, $(shell test ${DH_COMPAT} -ge 3 && echo '3')) - # Debhelper V3 conffile handling - prevent duplicates - for file in $$(find ${debian_dir} -maxdepth 1 -type f \ - -name '*\.conffiles\.sav'); do \ - mv $$file $$(echo "$$file" | sed -e 's?\.sav$$??'); \ - done; -endif - # Restore pre-existing config.{guess,sub} - -if [ -e ${debian_dir}/build/config.sub.sav ]; then \ - cp -pf ${debian_dir}/build/config.sub.sav \ - ${debian_dir}/build/config.sub \ - && $(RM) ${debian_dir}/build/config.sub.sav; \ - fi; - -if [ -e ${debian_dir}/build/config.guess.sav ]; then \ - cp -pf ${debian_dir}/build/config.guess.sav \ - ${debian_dir}/build/config.guess \ - && $(RM) ${debian_dir}/build/config.guess.sav; \ - fi; - - # Cleanup after build (for pristine source, smaller diffs) - #find .. -name ${package}*.asc -size 0 -maxdepth 1 -exec rm {} ';'; - dh_clean; - # Need to save this - /bin/mv ${debian_dir}/build/autoconf.mk.save \ - ${debian_dir}/build/autoconf.mk; - - -#------------- -.PHONY: setup -setup: ${STAMP_DIR}/setup -${STAMP_DIR}/setup: ${STAMP_DIR}/patch - $(MAKE) -f ${debian_dir}/rules info -# Support separate debian directory -ifeq (yes, $(shell test -d debian && echo 'yes')) - touch ${STAMP_DIR}/setup; -endif - -.PHONY: patch -patch: ${STAMP_DIR}/patch -${STAMP_DIR}/patch: unpack -# patch source -ifeq (yes, $(shell test -d debian && echo 'yes')) - @dh_testdir; -ifeq (yes, $(shell test -d debian/${SM_CONF}.patches && echo 'yes')) - cp -af debian/${SM_CONF}.patches/* debian/patches/; -endif - $(MAKE) -f ${SCRIPT_DIR}/dbs-build.mk \ - BUILD_TREE="${BUILD_TREE}" \ - TAR_DIR="${TAR_DIR}" \ - STAMP_DIR="${STAMP_DIR}" \ - PATCH_DIR="${PATCH_DIR}" \ - SCRIPT_DIR="${SCRIPT_DIR}" \ - ${STAMP_DIR}/patch; - #touch ${STAMP_DIR}/patch; -endif - -.PHONY: unpack -unpack: ${STAMP_DIR}/unpack -${STAMP_DIR}/unpack: - $(MAKE) -f ${debian_dir}/rules info; -# unpack source -ifeq (yes, $(shell test -d debian && echo 'yes')) - @dh_testdir; - $(MAKE) -f ${SCRIPT_DIR}/dbs-build.mk \ - BUILD_TREE="${BUILD_TREE}" \ - TAR_DIR="${TAR_DIR}" \ - STAMP_DIR="${STAMP_DIR}" \ - PATCH_DIR="${PATCH_DIR}" \ - SCRIPT_DIR="${SCRIPT_DIR}" \ - ${STAMP_DIR}/unpack; - #touch ${STAMP_DIR}/unpack; -endif - - -#------------- -.PHONY: configure -configure: ${STAMP_DIR}/configure -${STAMP_DIR}/configure: ${STAMP_DIR}/setup ${STAMP_DIR}/autotools - $(MAKE) -f ${debian_dir}/rules info; - #Add here commands to configure the package. - #./configure --prefix=/usr - # Use autoconf to handle varying degrees of library support - # NOTE: options values are Yes/No/Auto, but auto isn't always - # used herein, as it can cause problems to be ignored - # so it is only used on items of lesser importance - chmod ug+x ${debian_dir}/configure; - (cd ${debian_dir} && \ - ./configure \ - ${CONFIG_OPTS} \ - ${SM_CONF_OPT} \ - ;); - # CC="${CC}" CFLAGS="${CFLAGS} -# Force a re-read of the rules file (to pull configure settings) -ifeq (yes, $(shell test -d debian && echo 'yes')) - touch debian/rules; -endif -ifeq (3, $(shell test ${DH_COMPAT} -ge 3 && echo '3')) - # Debhelper V3 conffile handling - prevent duplicates - for file in $$(find ${debian_dir} -maxdepth 1 -type f \ - -name '*.conffiles'); do \ - mv $$file $$file.sav; \ - done; -endif -ifeq (smX, ${package}) - (cd ${BUILD_TREE} && \ - CFLAGS="-DSM_USE_TLS -DSM_USE_SASL ${CFLAGS}" \ - ./configure \ - --libexecdir=/usr/lib/sm.bin \ - --datarootdir= \ - --datadir=${DATA_DIR} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --infodir=${DATA_DIR}/info \ - --mandir=${DATA_DIR}/man \ - --enable-TLS \ - --enable-SASL \ - --enable-pmilter \ - ) -endif - touch ${STAMP_DIR}/configure; - - -#------------- -.PHONY: build-indep -build-indep: ${STAMP_DIR}/build-indep -${STAMP_DIR}/build-indep: ${STAMP_DIR}/configure -# Skip work if nothing to do... -ifeq (yes, ${ENABLE_INDEP}) - @dh_testdir; -ifeq (smX,${package}) -else - # Add here commands to build/compile the documentation/package. - #$(MAKE) doc; - # Only valid on newer (8.11+) Sendmails - #(cd ${BUILD_TREE}/doc/op/ && make op.txt); - # So we'll do it by hand... - $(RM) ${BUILD_TREE}/doc/op/op.txt; - pic -C ${BUILD_TREE}/doc/op/op.me | eqn -C -Tascii \ - | GROFF_NO_SGR=1 groff -Tascii -me | ul -t dumb > ${BUILD_TREE}/doc/op/op.txt; - # Debian stuff - (cd ${debian_dir} && $(MAKE) -f Makefile build-indep;) -endif -endif - touch ${STAMP_DIR}/build-indep; + /bin/mv debian/build/autoconf.mk.save \ + debian/build/autoconf.mk; + #-------------------------------------------------------------------- #------------- -.PHONY: build-arch -build-arch: ${STAMP_DIR}/build-arch -${STAMP_DIR}/build-arch: ${STAMP_DIR}/configure -# Skip work if nothing to do... -ifeq (yes, ${ENABLE_ARCH}) - @dh_testdir; - # Add here commands to compile the package. - # $(MAKE); +common-build-indep:: + #-------------------------------------------------------------------- + # build-indep: # -ifeq (smX,${package}) - (cd ${BUILD_TREE} && make) - #(cd ${BUILD_TREE} && make -i check >check.log 2>&1) -else - # Place our m4 configuration files for the sendmail build to use - if [ -d ${BUILD_TREE}/devtools/Site ]; then \ - cp -f ${debian_dir}/build/site.config.m4 \ - ${BUILD_TREE}/devtools/Site/; \ - fi; - # Finally, build the whole enchilada (we'll let sendmail figure - # which, if any of the dependant libraries each component needs) - for subdir in ${SM_SUBDIRS}; do \ - if [ -d ${BUILD_TREE}/$${subdir} ]; then \ - (cd ${BUILD_TREE}/$${subdir} && ./Build -S;); \ - fi; \ - if [ -d ${BUILD_TREE}/libmilter ]; then \ - (cd ${BUILD_TREE}/obj*/libmilter && \ - gcc -shared -pthread -o libmilter.so.${sm_libmilter_version} \ - -Wl,-soname,libmilter.so.${sm_libmilter_version} \ - ${LDOPTS} \ - main.o engine.o listener.o handler.o comm.o \ - smfi.o signal.o sm_gethost.o errstring.o strl.o;); \ - fi; \ - done; + # sendmail operations guide + (cd ${DEB_SRCDIR}/doc/op/ && GROFF_NO_SGR=1 make op.txt); # Debian stuff - (cd ${debian_dir} && $(MAKE) -f Makefile build-arch;) - # Remove our config m4 files - $(RM) ${BUILD_TREE}/devtools/Site/site.config.m4; -endif -endif - touch ${STAMP_DIR}/build-arch; + (cd debian && $(MAKE) -f Makefile build-indep;) + #-------------------------------------------------------------------- #------------- -.PHONY: check-arch -check-arch: ${STAMP_DIR}/check-arch -${STAMP_DIR}/check-arch: ${STAMP_DIR}/build-arch -# Skip work if nothing to do... -ifeq (yes, ${ENABLE_ARCH}) - @dh_testdir; - # Add here commands to compile the package. - # $(MAKE); +common-install-indep:: + #-------------------------------------------------------------------- + # install-indep # -ifeq (smX,${package}) - (cd ${BUILD_TREE} && make -i check >check.log 2>&1) -else -endif -endif - touch ${STAMP_DIR}/check-arch; - - -#------------- -.PHONY: install-indep -install-indep: ${STAMP_DIR}/install-indep -${STAMP_DIR}/install-indep: DH_OPTIONS=-i -${STAMP_DIR}/install-indep: ${STAMP_DIR}/build-indep -# Skip work if nothing to do... -ifeq (yes, ${ENABLE_INDEP}) - @dh_testdir; - @dh_testroot; - #dh_clean -k; - dh_installdirs; - if [ -x /usr/bin/dh_link ]; then dh_link; fi; -ifeq (smX,${package}) -else - # Add here commands to install the documentation/package. - #$(MAKE) prefix=`pwd`/${PKG_DIR}/usr install; # sendmail operations guide and other documentation - $(INSTALL_DATA) ${BUILD_TREE}/doc/op/op.ps ${PKG_DOC}/op; - $(INSTALL_DATA) ${BUILD_TREE}/doc/op/op.txt ${PKG_DOC}/op; - $(INSTALL_DATA) ${BUILD_TREE}/README ${PKG_DOC}/; - $(INSTALL_DATA) ${BUILD_TREE}/KNOWNBUGS ${PKG_DOC}/; - $(INSTALL_DATA) ${BUILD_TREE}/cf/README ${PKG_DOC}/cf.README; + $(INSTALL_DATA) ${DEB_SRCDIR}/doc/op/op.ps ${PKG_DOC}/op; + $(INSTALL_DATA) ${DEB_SRCDIR}/doc/op/op.txt ${PKG_DOC}/op; + $(INSTALL_DATA) ${DEB_SRCDIR}/README ${PKG_DOC}/; + $(INSTALL_DATA) ${DEB_SRCDIR}/KNOWNBUGS ${PKG_DOC}/; + $(INSTALL_DATA) ${DEB_SRCDIR}/cf/README ${PKG_DOC}/cf.README; $(INSTALL_DATA) debian/README.Debian.sendmail \ ${PKG_DOC}/sendmail/README.Debian; - $(INSTALL_DATA) ${BUILD_TREE}/sendmail/README \ + $(INSTALL_DATA) ${DEB_SRCDIR}/sendmail/README \ ${PKG_DOC}/sendmail/; - if [ -f ${BUILD_TREE}/sendmail/SECURITY ]; then \ - $(INSTALL_DATA) ${BUILD_TREE}/sendmail/SECURITY \ - ${PKG_DOC}/sendmail/SECURITY; \ - fi; - $(INSTALL_DATA) ${BUILD_TREE}/sendmail/TRACEFLAGS \ + $(INSTALL_DATA) ${DEB_SRCDIR}/sendmail/SECURITY \ + ${PKG_DOC}/sendmail/SECURITY; \ + $(INSTALL_DATA) ${DEB_SRCDIR}/sendmail/TRACEFLAGS \ ${PKG_DOC}/sendmail/TRACEFLAGS; - if [ -f ${BUILD_TREE}/sendmail/TUNING ]; then \ - $(INSTALL_DATA) ${BUILD_TREE}/sendmail/TUNING \ - ${PKG_DOC}/sendmail/TUNING; \ - fi; + $(INSTALL_DATA) ${DEB_SRCDIR}/sendmail/TUNING \ + ${PKG_DOC}/sendmail/TUNING; \ sed -e "s?/usr/libexec?${libexecdir}?g" \ -e "s?/usr/ucb/vacation?${libexecdir}/vacation.sendmail?g" \ -e "s?/usr/adm/sm.bin?/etc/mail/smrsh?g" \ - ${BUILD_TREE}/smrsh/README \ + ${DEB_SRCDIR}/smrsh/README \ > ${PKG_DOC}/smrsh.README; $(INSTALL_DATA) debian/faq.txt ${PKG_DOC}/; -ifeq (yes, ${ENABLE_DEV}) # libmilter-dev package - if [ -d ${BUILD_TREE}/libmilter ]; then \ + if [ -d ${DEB_SRCDIR}/libmilter ]; then \ $(INSTALL_DATA) debian/README.Debian.libmilter-dev \ ${PKG_DOC}/libmilter/README.Debian; \ - $(INSTALL_DATA) ${BUILD_TREE}/libmilter/README \ + $(INSTALL_DATA) ${DEB_SRCDIR}/libmilter/README \ ${PKG_DOC}/libmilter/README; \ - if [ -d ${BUILD_TREE}/libmilter/docs ]; then \ - cp -a ${BUILD_TREE}/libmilter/docs/* \ - ${PKG_DOC}/libmilter/html; \ - fi; \ + cp -a ${DEB_SRCDIR}/libmilter/docs/* \ + ${PKG_DOC}/libmilter/html; \ fi; -endif # Debian stuff - (cd ${debian_dir}/cf && \ + (cd debian/cf && \ $(MAKE) -f Makefile install-indep \ - DESTDIR="${top_srcdir}/sendmail-cf";); - (cd ${debian_dir}/examples && \ + DESTDIR="${SRC_DIR}/sendmail-cf";); + (cd debian/examples && \ $(MAKE) -f Makefile install-indep \ - DESTDIR="${top_srcdir}/sendmail-base";); - (cd ${debian_dir}/local && \ + DESTDIR="${SRC_DIR}/sendmail-base";); + (cd debian/local && \ $(MAKE) -f Makefile install-indep \ - DESTDIR="${top_srcdir}/sendmail-base";); - # Multiple package fixup - #dh_movefiles -i --sourcedir debian/${package}; - # Actions from binary-common - # - dh_fixperms; - # - # Cleanup misc permissions, etc... (fakeroot, dh_fixperms, etc.) + DESTDIR="${SRC_DIR}/sendmail-base";); # Install Lintian overrides $(INSTALL_DATA) -g root -m 644 \ debian/build/debian/sendmail-base.lintian-overrides \ debian/sendmail-base/usr/share/lintian/overrides/sendmail-base; -endif -endif - touch ${STAMP_DIR}/install-indep; + #-------------------------------------------------------------------- #------------- -.PHONY: install-arch -install-arch: ${STAMP_DIR}/install-arch -${STAMP_DIR}/install-arch: DH_OPTIONS=-a -${STAMP_DIR}/install-arch: ${STAMP_DIR}/build-arch -# Skip work if nothing to do... -ifeq (yes, ${ENABLE_ARCH}) - @dh_testdir; - @dh_testroot; - #dh_clean -k; - dh_installdirs; - if [ -x /usr/bin/dh_link ]; then dh_link; fi; - # Add here commands to install the package into ${PKG_DIR}. - #$(MAKE) prefix=`pwd`/${PKG_DIR}/usr install; +common-build-arch:: + #-------------------------------------------------------------------- + # build-arch + # + # Place our m4 configuration files for the sendmail build to use + cp -f debian/build/site.config.m4 \ + ${DEB_SRCDIR}/devtools/Site/; \ + # Finally, build the whole enchilada (we'll let sendmail figure + # which, if any of the dependant libraries each component needs) + for subdir in ${SM_SUBDIRS}; do \ + if [ -d ${DEB_SRCDIR}/$${subdir} ]; then \ + (cd ${DEB_SRCDIR}/$${subdir} && ./Build -S;); \ + fi; \ + done; + if [ -d ${DEB_SRCDIR}/libmilter ]; then \ + (cd ${DEB_SRCDIR}/obj*/libmilter && \ + gcc -shared -pthread \ + -o libmilter.so.${sm_libmilter_version} \ + -fPIC ${MY_CFLAGS} \ + -Wl,-soname,libmilter.so.${sm_libmilter_version} \ + ${MY_LDFLAGS} \ + *.o;); \ + fi; \ + # Debian stuff + (cd debian && $(MAKE) -f Makefile build-arch;) + # Remove our config m4 files + $(RM) ${DEB_SRCDIR}/devtools/Site/site.config.m4; + #-------------------------------------------------------------------- + + +#------------- +common-install-arch:: + #-------------------------------------------------------------------- + # install-arch + # # sendmail install proper... with a little help ;-} - #$(MAKE) install DESTDIR="$${pwd}/${PKG_DIR}"; + #$(MAKE) install DESTDIR="$(CURDIR)/${PKG_DIR}"; # Finally, install the whole enchilada -ifeq (smX,${package}) -else for subdir in ${SM_SUBDIRS}; do \ - if [ -d ${BUILD_TREE}/$${subdir} ]; then \ + if [ -d ${DEB_SRCDIR}/$${subdir} ]; then \ if [ "$${subdir}" = 'libmilter' ]; then \ - (cd ${BUILD_TREE}/obj*/$${subdir} && \ + (cd ${DEB_SRCDIR}/obj*/$${subdir} && \ $(INSTALL) libmilter.so.${sm_libmilter_version} \ - ../../../../debian/libmilter${sm_libmilter_version}/usr/lib/; \ + ../../../../debian/libmilter${sm_libmilter_version}${libdir}; \ ); \ elif [ "$${subdir}" = 'mail.local' ] \ || [ "$${subdir}" = 'rmail' ]; then \ - (cd ${BUILD_TREE}/obj*/$${subdir} && \ + (cd ${DEB_SRCDIR}/obj*/$${subdir} && \ $(MAKE) force-install \ DESTDIR="../../../../${PKG_DIR}";); \ else \ - (cd ${BUILD_TREE}/obj*/$${subdir} && \ + (cd ${DEB_SRCDIR}/obj*/$${subdir} && \ $(MAKE) install \ DESTDIR="../../../../${PKG_DIR}";); \ fi; \ fi; \ done; - # Support older Sendmail (below 8.10.0) - if [ -f ${PKG_DIR}${sysconfdir}/mail/sendmail.hf ]; then \ - mv -f ${PKG_DIR}${sysconfdir}/mail/sendmail.hf \ - ${PKG_DIR}${sysconfdir}/mail/helpfile; \ - $(RM) ${PKG_DIR}${localstatedir}/lib/sendmail/sendmail.st; \ - fi; - # FHS says that rmail belongs in ${sbindir} - and we now put + # FHS says that rmail belongs in \${sbindir} - and we now put # it there, but in the rmail package ! - mv ${PKG_DIR}${libexecdir}/rmail ${debian_dir}/rmail/${sbindir}/; - mv ${PKG_DIR}${mandir}/man8/rmail.8 ${debian_dir}/rmail/${mandir}/man8/; + mv ${PKG_DIR}${libexecdir}/rmail debian/rmail${sbindir}/; + mv ${PKG_DIR}${mandir}/man8/rmail.8 debian/rmail${mandir}/man8/; # Sendmail alias handling... # NOTE: whilst smptd is a valid alias for sendmail, we don't create # one so that we can co-exists with smtpd (a firewall frontend) @@ -1003,8 +470,8 @@ else ${PKG_DIR}${mandir}/man1/mailq.sendmail.1; mv ${PKG_DIR}${mandir}/man1/newaliases.1 \ ${PKG_DIR}${mandir}/man8/newaliases.sendmail.8; - (cd ${PKG_DIR}${mandir}/man8 && for file in \ - hoststat.8.gz purgestat.8.gz \ + (cd ${PKG_DIR}${mandir}/man8 && \ + for file in hoststat.8.gz purgestat.8.gz \ ; do \ ln -sf sendmail-mta.8.gz $$file; \ done;); @@ -1021,75 +488,53 @@ else ln -s ../lib/sm.bin/praliases ${PKG_DIR}${sbindir}/praliases; # Special handling of vacation - Debian has a seperate package # with a different version (sigh) keep our copy just in case... - if [ -d ${BUILD_TREE}/vacation ]; then \ - mv ${PKG_DIR}${libexecdir}/vacation \ - ${PKG_DIR}${libexecdir}/vacation.sendmail; \ - mv ${PKG_DIR}${mandir}/man1/vacation.1 \ - ${PKG_DIR}${mandir}/man1/vacation.sendmail.1; \ - fi; + mv ${PKG_DIR}${libexecdir}/vacation \ + ${PKG_DIR}${libexecdir}/vacation.sendmail; \ + mv ${PKG_DIR}${mandir}/man1/vacation.1 \ + ${PKG_DIR}${mandir}/man1/vacation.sendmail.1; \ # Correct some paths in upstream man pages sed -e "s?/usr/adm/sm.bin?${sysconfdir}/mail/smrsh?g" \ -e "s?sm.bin?${sysconfdir}/mail/smrsh?g" \ - ${BUILD_TREE}/smrsh/smrsh.8 \ - > ${BUILD_TREE}/smrsh/smrsh.8.new; - mv ${BUILD_TREE}/smrsh/smrsh.8.new ${BUILD_TREE}/smrsh/smrsh.8; + ${DEB_SRCDIR}/smrsh/smrsh.8 \ + > ${DEB_SRCDIR}/smrsh/smrsh.8.new; + mv ${DEB_SRCDIR}/smrsh/smrsh.8.new ${DEB_SRCDIR}/smrsh/smrsh.8; sed -e "s?/etc/mail/statistics?${localstatedir}/lib/sendmail/sendmail.st?g"\ - ${BUILD_TREE}/sendmail/sendmail.8 \ - > ${BUILD_TREE}/sendmail/sendmail.8.new; - mv ${BUILD_TREE}/sendmail/sendmail.8.new \ + ${DEB_SRCDIR}/sendmail/sendmail.8 \ + > ${DEB_SRCDIR}/sendmail/sendmail.8.new; + mv ${DEB_SRCDIR}/sendmail/sendmail.8.new \ ${PKG_DIR}${mandir}/man8/sendmail.sendmail.8; - rm ${BUILD_TREE}/sendmail/sendmail.8; + $(RM) ${DEB_SRCDIR}/sendmail/sendmail.8; # Debian stuff - (cd ${debian_dir}/sensible_mda && \ + (cd debian/sensible_mda && \ $(MAKE) -f Makefile install-arch \ - DESTDIR="${top_srcdir}/sensible-mda";); + DESTDIR="${SRC_DIR}/sensible-mda";); # libmilter-dev package -ifeq (yes, ${ENABLE_DEV}) - if [ -d ${BUILD_TREE}/libmilter ]; then \ - (cd ${BUILD_TREE}/obj*/libmilter && \ + if [ -d ${DEB_SRCDIR}/libmilter ]; then \ + (cd ${DEB_SRCDIR}/obj*/libmilter && \ $(MAKE) install \ DESTDIR="../../../../debian/libmilter-dev";); \ - $(INSTALL_PROGRAM) ${BUILD_TREE}/obj.*/libmilter/libmilter.a \ + $(INSTALL_PROGRAM) ${DEB_SRCDIR}/obj.*/libmilter/libmilter.a \ debian/libmilter-dev${libdir}/libmilter/; \ - $(INSTALL_DATA) ${BUILD_TREE}/include/libmilter/mfapi.h \ + $(INSTALL_DATA) ${DEB_SRCDIR}/include/libmilter/mfapi.h \ debian/libmilter-dev${includedir}/libmilter/; \ - if [ -f ${BUILD_TREE}/include/libmilter/mfdef.h ]; then \ - $(INSTALL_DATA) ${BUILD_TREE}/include/libmilter/mfdef.h \ + if [ -f ${DEB_SRCDIR}/include/libmilter/mfdef.h ]; then \ + $(INSTALL_DATA) ${DEB_SRCDIR}/include/libmilter/mfdef.h \ debian/libmilter-dev${includedir}/libmilter/; \ fi; \ - $(INSTALL_PROGRAM) ${BUILD_TREE}/obj.*/libsmutil/libsmutil.a \ + $(INSTALL_PROGRAM) ${DEB_SRCDIR}/obj.*/libsmutil/libsmutil.a \ debian/libmilter-dev${libdir}/libmilter/; \ - if [ -d ${BUILD_TREE}/libsm ]; then \ - $(INSTALL_PROGRAM) ${BUILD_TREE}/obj.*/libsm/libsm.a \ + if [ -d ${DEB_SRCDIR}/libsm ]; then \ + $(INSTALL_PROGRAM) ${DEB_SRCDIR}/obj.*/libsm/libsm.a \ debian/libmilter-dev${libdir}/libmilter/; \ fi; \ fi; -endif - # Multiple package fixup - #dh_movefiles -a --sourcedir debian/${package}; - # - dh_fixperms; - # - # Cleanup misc permissions, etc... (fakeroot, dh_fixperms, etc.) - # - # You may want to make some executables suid here. - chown root:mail ${PKG_DIR}${libexecdir}/sendmail; - chmod 02755 ${PKG_DIR}${libexecdir}/sendmail; - chown root:mail ${PKG_DIR}${libexecdir}/mailstats; - chmod 02755 ${PKG_DIR}${libexecdir}/mailstats; - chmod 04755 debian/sensible-mda/usr/sbin/sensible-mda; - # Special case Perl for Debian Slink (2.1), debhelper v1 - if [ ! -x /usr/bin/dh_perl ]; then \ - echo 'perl:Depends=perl5|perl' >> debian/substvars; fi; # Install Lintian overrides $(INSTALL_DATA) -g root -m 644 \ debian/libmilter${sm_libmilter_version}.lintian-overrides \ debian/libmilter${sm_libmilter_version}/usr/share/lintian/overrides/libmilter${sm_libmilter_version}; -ifeq (yes, ${ENABLE_DEV}) $(INSTALL_DATA) -g root -m 644 \ debian/build/debian/libmilter-dev.lintian-overrides \ debian/libmilter-dev/usr/share/lintian/overrides/libmilter-dev; -endif $(INSTALL_DATA) -g root -m 644 \ debian/build/debian/rmail.lintian-overrides \ debian/rmail/usr/share/lintian/overrides/rmail; @@ -1099,132 +544,42 @@ endif $(INSTALL_DATA) -g root -m 644 \ debian/build/debian/sendmail-bin.lintian-overrides \ debian/sendmail-bin/usr/share/lintian/overrides/sendmail-bin; -ifeq (, $(findstring nostrip,${DEB_BUILD_OPTIONS})) - dh_strip --keep-debug; -endif - # Remove unneeded debugging information - rm -rf debian/sendmail-bin/usr/lib/debug; - rm -rf debian/sensible-mda/usr/lib/debug; - rm -rf debian/rmail/usr/lib/debug; -endif - dh_makeshlibs; # -V "libmilter0 (>= ${version_major}.${version_minor})"; - dh_shlibdeps; -endif - touch ${STAMP_DIR}/install-arch; - - -#------------- -# This single target is used to build all the packages, all at once, or -# one at a time. So keep in mind: any options passed to commands here will -# affect _all_ packages. Anything you want to only affect one package -# should be put in another target, such as the install target. -# -# Must not depend on anything. This is to be called by -# binary-arch/binary-indep in another 'make' thread. -.PHONY: binary-common -binary-common: - @dh_testdir; - @dh_testroot; - # Document what we're building against - if [ -x /usr/bin/dh_buildinfo ]; then \ - dh_buildinfo; \ - dh_installdocs; \ - else \ - $(MAKE) -f ${debian_dir}/rules buildinfo; \ - dh_installdocs -A ${debian_dir}/buildinfo; \ - fi; - # Done in install-xxx, but still need to get rid of *.debhelper !!! - #dh_clean -k; - dh_installchangelogs -k ${BUILD_TREE}/RELEASE_NOTES; - dh_installcron --name=${package}; - if [ -x /usr/bin/dh_installdebconf ]; then dh_installdebconf; fi; - #dh_installemacsen; - #dh_installexamples; - #if [ -x /usr/bin/dh_installinfo ]; then dh_installinfo; fi; - dh_installinit --name=${package} --update-rcd-params="defaults 21 19"; - if [ -x /usr/bin/dh_installlogrotate ]; then \ - dh_installlogrotate --name=${package}; fi; - if [ -x /usr/bin/dh_installman ]; then dh_installman; fi; - #dh_installmenu; - #dh_installmime; - #dh_undocumented; - if [ -x /usr/bin/dh_installpam ]; then dh_installpam; fi; - #dh_strip; #-- done in install-arch - dh_compress; - #dh_fixperms; #-- done in install-xxx - # Need to special case this now that we're using dynamic uid/gid - #if [ -x /usr/sbin/suidregister -a -s /etc/suid.conf ]; then - # dh_suidregister; fi; - # - # Cleanup misc permissions, etc... (fakeroot, dh_fixperms, etc.) - # Done in install-xxx - # - # You may want to make some executables suid here. - # Done in install-xxx - # - #dh_makeshlibs -V; #-- done in install-arch - #dh_shlibdeps; #-- done in install-arch - dh_installdeb; - if [ -x /usr/bin/dh_perl ]; then dh_perl; fi - dh_gencontrol; - dh_md5sums; - dh_builddeb; - $(MAKE) -f ${debian_dir}/rules pristine; - - -#------------- -# Build architecture independant packages using the common target. -# (Uncomment this next line if you have such packages.) -.PHONY: binary-indep -binary-indep: ${STAMP_DIR}/build-indep ${STAMP_DIR}/install-indep - -# Skip work if nothing to do... -ifeq (yes, ${ENABLE_INDEP}) - $(MAKE) -f ${debian_dir}/rules DH_OPTIONS=-i binary-common; -endif + #-------------------------------------------------------------------- #------------- -# Build architecture dependant packages using the common target. -.PHONY: binary-arch -binary-arch: ${STAMP_DIR}/build-arch ${STAMP_DIR}/install-arch - -# Skip work if nothing to do... -ifeq (yes, ${ENABLE_ARCH}) - $(MAKE) -f ${debian_dir}/rules DH_OPTIONS=-a binary-common; -endif +# CDBS host dh_fixperms fixup +binary-predeb/sendmail-bin:: + #-------------------------------------------------------------------- + # Proper ownership/modes + chown root:mail ${PKG_DIR}${libexecdir}/sendmail; + chmod 02755 ${PKG_DIR}${libexecdir}/sendmail; + chown root:mail ${PKG_DIR}${libexecdir}/mailstats; + chmod 02755 ${PKG_DIR}${libexecdir}/mailstats; + #-------------------------------------------------------------------- +binary-predeb/sensible-mda:: + #-------------------------------------------------------------------- + # Proper ownership/modes + chmod 04755 debian/sensible-mda/usr/sbin/sensible-mda; + #-------------------------------------------------------------------- -#------------- -# Any other binary targets build just one binary package at a time. -.PHONY: binary-% -binary-%: - $(MAKE) -f ${debian_dir}/rules binary-common DH_OPTIONS=-p$*; +binary-predeb/libmilter$(sm_libmilter_version)-dbg:: + #-------------------------------------------------------------------- + # Remove unneeded debugging information + $(RM) -r debian/libmilter$(sm_libmilter_version)-dbg/usr/lib/debug/usr/sbin; + $(RM) -r debian/libmilter$(sm_libmilter_version)-dbg/usr/lib/debug/usr/lib/sm.bin; + #-------------------------------------------------------------------- #------------- -# Below here is fairly generic really +# after the directories are created but before dh_compress is run. +common-binary-post-install-arch:: + #-------------------------------------------------------------------- + # Obtain build dependancy information + dh_buildinfo + #-------------------------------------------------------------------- -.PHONY: FORCE -FORCE: ; +binary-makedeb-IMPL/sendmail:: verify-tarball pristine -source diff: - @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false -# Due to buildd not (for the nonce) supporting build-arch, kluge next rules -# so that buildd ONLY build/install *-arch packages -.PHONY: build -build: build-arch -.PHONY: build-all -build-all: build-indep build-arch -.PHONY: check check-all -check: check-arch -check-all: check-arch -.PHONY: install -install: install-arch -.PHONY: binary -binary: binary-all -.PHONY: binary-all -binary-all: binary-indep binary-arch -.SUFFIXES: -.PRECIOUS: ${debian_dir}/rule diff --git a/debian/scripts/dbs-build.mk b/debian/scripts/dbs-build.mk deleted file mode 100644 index 075b61a..0000000 --- a/debian/scripts/dbs-build.mk +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/bin/make -f -# Separate tarball/patch build system by Adam Heath <doogie@debian.org> -# Modified by Ben Collins <bcollins@debian.org> - -SHELL = /bin/bash -e -SOURCE_DIR = build-tree -STAMP_DIR = stampdir -PATCH_DIR = debian/patches -SCRIPT_DIR = /usr/share/dbs - -patched = $(STAMP_DIR)/patch -unpacked = $(STAMP_DIR)/unpack - -ifdef TAR_DIR - BUILD_TREE = $(SOURCE_DIR)/$(TAR_DIR) -else - BUILD_TREE = $(SOURCE_DIR) -endif - -dh_mak_deps = $(shell DH_COMPAT=$(DH_COMPAT) perl $(SCRIPT_DIR)/dbs_split makedeps) -dh_gen_deps = $(shell DH_COMPAT=$(DH_COMPAT) perl $(SCRIPT_DIR)/dbs_split gendeps) - -$(dh_mak_deps): $(dh_gen_deps) - perl $(SCRIPT_DIR)/dbs_split - -setup: $(dh_mak_deps) - dh_testdir - @-up-scripts - $(MAKE) -f debian/rules $(unpacked) $(patched) - -$(patched)/: $(STAMP_DIR)/created $(unpacked) - test -d $(STAMP_DIR)/patches || mkdir -p $(STAMP_DIR)/patches - @if [ -d "$(PATCH_DIR)" ]; then \ - mkdir -p $(STAMP_DIR)/log/patches; \ - for f in `(cd $(PATCH_DIR); find -type f ! -name 'chk-*') | sort | \ - sed s,'./',,g`; do \ - stampfile=$(STAMP_DIR)/patches/$$f; \ - log=$(STAMP_DIR)/log/patches/$$f; \ - if [ ! -e $$stampfile ]; then \ - echo -n "Applying patch $(PATCH_DIR)/$$f ... "; \ - if $(SHELL) $(SCRIPT_DIR)/file2cat $(PATCH_DIR)/$$f | \ - (cd $(SOURCE_DIR);patch -p0 --no-backup-if-mismatch) > $$log 2>&1; then \ - echo successful.; \ - touch $$stampfile; \ - else \ - echo "failed! (check $$log for reason)"; \ - exit 1; \ - fi; \ - else \ - echo Already applied $(PATCH_DIR)/$$f.; \ - fi; \ - done; \ - fi - touch $@ - -unpacked: $(unpacked) -$(unpacked): $(STAMP_DIR)/created - mkdir -p $(STAMP_DIR)/sources $(SOURCE_DIR) $(STAMP_DIR)/log/sources - @for f in `find . -maxdepth 1 -type f -name \*.tgz -o -name \*.tar.gz -o \ - -name \*.tar.bz -o -name \*.tar.bz2 | sort | sed s,'./',,g`; do \ - stampfile=$(STAMP_DIR)/sources/`basename $$f`; \ - log=$(STAMP_DIR)/log/sources/`basename $$f`; \ - if [ ! -e $$stampfile ]; then \ - echo -n "Extracting source $$f ... "; \ - if $(SHELL) $(SCRIPT_DIR)/file2cat $$f | \ - (cd $(SOURCE_DIR); tar xv) > $$log 2>&1; then \ - echo successful.; \ - touch $$stampfile; \ - else \ - echo failed!; \ - exit 1; \ - fi; \ - else \ - echo Already unpacked $$f.; \ - fi; \ - done - touch $@ - -make_patch: - mv $(BUILD_TREE) $(BUILD_TREE).new - rm -rf $(STAMP_DIR) - $(MAKE) -f debian/rules $(unpacked) $(patched) -ifndef TAR_DIR - diff -urN $(BUILD_TREE) $(BUILD_TREE).new > new.diff -else - (cd $(SOURCE_DIR) && diff -urN $(TAR_DIR) $(TAR_DIR).new || true) > new.diff -endif - rm -rf $(BUILD_TREE) - mv $(BUILD_TREE).new $(BUILD_TREE) - @echo; ls -l new.diff - -$(STAMP_DIR)/created: - test -d $(STAMP_DIR) || mkdir $(STAMP_DIR) - touch $(STAMP_DIR)/created diff --git a/debian/scripts/dbs_split b/debian/scripts/dbs_split deleted file mode 100644 index 13f4d82..0000000 --- a/debian/scripts/dbs_split +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/perl - -$control = 'debian/control'; -if ( -d 'debian/packages.d' ) { - $dir = 'debian/packages.d'; -} else { - $dir = 'debian'; -} -$needclean = 0; -$needlist = 0; -$needdeps = 0; - -if (defined($ENV{'DH_COMPAT'})) { - $dh = $ENV{'DH_COMPAT'}; -} else { - $dh = 0; -} - -if (@ARGV) { - $temp = shift; - if ($temp eq "clean") { $needclean = 1; } - elsif ($temp eq "makedeps") { $needlist = 1; } - elsif ($temp eq "gendeps") { $needdeps = 1; } -} - -@packages = (); -$first_package = ""; - -open (CONTROL, "< $control"); - -while (<CONTROL>) { - if (m/^Package:/) { - $package = (split)[1]; - if ($first_package eq "" and $dh < 2) { - $first_package = $package; - } - if ( -f "${dir}/${package}.in" ) { - push @packages, $package; - } - } -} - -close CONTROL; - -while (@packages) { - $package = shift(@packages); - $inhead = 1; - $opened = 0; - if ($needdeps) { - print "${dir}/${package}.in "; - next; - } - open (IN, "< ${dir}/${package}.in"); - while (<IN>) { - if (m/^\%(.*)\%$/) { - if ($needclean) { - if ($package ne $first_package) { - system("rm -f debian/${package}.${1}"); - } else { - system("rm -f debian/${1}"); - } - } elsif ($needlist) { - if ($package ne $first_package) { - print "debian/${package}.${1} "; - } else { - print "debian/${1} "; - } - } else { - $inhead = 0; - if ($opened) { close OUT; } else { $opened = 1; } - if ($package ne $first_package) { - open OUT, "> debian/${package}.${1}"; - } else { - open OUT, "> debian/${1}"; - } - } - } elsif (!$inhead) { - print OUT $_; - } - } - close OUT; - close IN; -} diff --git a/debian/scripts/dpkg-arch.mk b/debian/scripts/dpkg-arch.mk deleted file mode 100644 index 4a3ab3d..0000000 --- a/debian/scripts/dpkg-arch.mk +++ /dev/null @@ -1,7 +0,0 @@ -# see dpkg-architecture(8) -DEB_BUILD_ARCH := $(shell dpkg-architecture -qDEB_BUILD_ARCH) -DEB_BUILD_GNU_CPU := $(shell dpkg-architecture -qDEB_BUILD_GNU_CPU) -DEB_BUILD_GNU_SYSTEM := $(shell dpkg-architecture -qDEB_BUILD_GNU_SYSTEM) -DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) -DEB_HOST_GNU_SYSTEM := $(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM) -DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) diff --git a/debian/scripts/file2cat b/debian/scripts/file2cat deleted file mode 100644 index d95d77e..0000000 --- a/debian/scripts/file2cat +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -if [ "$1" = "" ]; then - echo "Usage: file2cat <file>" - exit 1 -fi - -case "$1" in - *.gz|*.Z|*.tgz) cmd=zcat;; - *.bz|*.bz2) cmd=bzcat;; - *) cmd=cat;; -esac -$cmd $1 diff --git a/debian/sensible_mda/Makefile.in b/debian/sensible_mda/Makefile.in index e24cf2a..21e8812 100644 --- a/debian/sensible_mda/Makefile.in +++ b/debian/sensible_mda/Makefile.in @@ -175,6 +175,7 @@ sm_auth_lib = @sm_auth_lib@ sm_badepends = @sm_badepends@ sm_build_arch = @sm_build_arch@ sm_custom = @sm_custom@ +sm_custom_s = @sm_custom_s@ sm_databases = @sm_databases@ sm_date = @sm_date@ sm_depends = @sm_depends@ @@ -184,8 +185,6 @@ sm_editmap_envdef = @sm_editmap_envdef@ sm_editmap_libs = @sm_editmap_libs@ sm_enable_auth = @sm_enable_auth@ sm_enable_bind = @sm_enable_bind@ -sm_enable_dev = @sm_enable_dev@ -sm_enable_doc = @sm_enable_doc@ sm_enable_hesiod = @sm_enable_hesiod@ sm_enable_ipv6 = @sm_enable_ipv6@ sm_enable_ldap = @sm_enable_ldap@ diff --git a/debian/sensible_mda/sensible-mda.c.in b/debian/sensible_mda/sensible-mda.c.in index 40489a5..d23d243 100644 --- a/debian/sensible_mda/sensible-mda.c.in +++ b/debian/sensible_mda/sensible-mda.c.in @@ -22,7 +22,7 @@ */ #ifndef lint -static char id[] = "@(#)$Id: sensible-mda.c,v @sm_version@ @sm_date@ @sm_time@ cowboy Exp $"; +static const char id[] = "@(#)$Id: sensible-mda.c,v @sm_version@ @sm_date@ @sm_time@ cowboy Exp $"; #endif /* ! lint */ #include <stdio.h> diff --git a/debian/sensible_mda/sensible-mda.c.old b/debian/sensible_mda/sensible-mda.c.old deleted file mode 100644 index 269efc0..0000000 --- a/debian/sensible_mda/sensible-mda.c.old +++ /dev/null @@ -1,281 +0,0 @@ -/* - * sensible-mda.c - * Copyright (c) 1998, Johnie Ingram. - * Copyright (c) 1998-2001 Richard Nelson <cowboy@debian.org>. - * Time-stamp: <2000/08/28 12:00:00 cowboy> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - */ - -# ifndef lint -static char id[] = "@(#)$Id: sensible-mda.c,v 03.00.01 2001/08/24 12:00:00 cowboy Exp $"; -# endif /* ! lint */ - -#include <stdio.h> -#include <stdlib.h> -#include <sys/stat.h> -#include <unistd.h> -#include <pwd.h> -#include <sys/types.h> -#include <sysexits.h> -#include <string.h> -#include <syslog.h> - -// TODO: declare -x TCPREMOTEIP="$3" - -# define min(a, b) ((a) < (b) ? (a) : (b)) - -#define DEBUG 0 - -#define PROCMAIL "/usr/bin/procmail" -#define MAILDROP "/usr/bin/maildrop" -#define DELIVER "/usr/bin/deliver" -#define MAIL_LOCAL "/usr/lib/sm.bin/mail.local" - -#define PROCMAILRCS "/etc/procmailrcs/" - -static void help(void); -static unsigned char program[32]; - -static struct stat MDA_stat; -static struct stat procmailrc_stat; -static int done = 1; -static struct passwd* passwd_entry; -static uid_t euid; - -extern int errno; - -int -main (int argc, char *argv[]) -{ - - char *procmailrc; - char *str_pos; - int exec_rc; - - (void) openlog( "sensible-mda", LOG_PID+LOG_PERROR, LOG_MAIL ); - - /*---------------------------------------------------------------- - * Obtain program name - *----------------------------------------------------------------*/ - str_pos = strrchr(argv[0], '/'); - if ( str_pos ) - str_pos++; - else - str_pos = argv[0]; - (void) strncpy(program, str_pos, - min(strlen(str_pos), sizeof(program)-1)); - program[sizeof(program)-1] = '\0'; - - #if DEBUG - int arg_index; - int str_len; - str_len = 0; - for ( arg_index = 0; arg_index < argc; arg_index++ ) - str_len += strlen( argv[arg_index] ) + 1; - str_pos = malloc( str_len + 1); - str_pos[0] = '\0'; - for ( arg_index = 0; arg_index < argc; arg_index++ ) { - (void) strcat( str_pos, argv[arg_index] ); - (void) strcat( str_pos, " " ); - }; - (void) syslog( LOG_INFO, "Parms: %s\n", str_pos ); - (void) free(str_pos); - #endif - - /*---------------------------------------------------------------- - * Parse input to determine to whom to speak and who we are... - * Must have at least three parameters unless first is ?,-?,/?. - *----------------------------------------------------------------*/ - if (argc >= 2 && - (strcmp(argv[1],"?") == 0 || strcmp(argv[1],"-?") == 0 || - strcmp(argv[1],"/?") == 0 || strcmp(argv[1],"\\?") == 0 || - strcmp(argv[1],"-h") == 0 || strcmp(argv[1],"--help") == 0)) { - (void) printf( "%s - Help\n", program ); - help(); - (void) closelog( ); - return (EX_USAGE); - }; - if (argc < 3) { - (void) syslog( LOG_ERR, "%s - Required parameters elided.\n", - program ); - help(); - (void) closelog( ); - return (EX_USAGE); - }; - - euid = geteuid(); - - /*---------------------------------------------------------------- - * 1st: try delivery via PROCMAIL - *----------------------------------------------------------------*/ - if (!lstat(PROCMAIL, &MDA_stat)) { - if (MDA_stat.st_mode & S_ISUID) { - procmailrc=malloc(strlen(PROCMAILRCS)+strlen(argv[2])+1); - sprintf(procmailrc,"%s%s",PROCMAILRCS,argv[2]); - passwd_entry=getpwnam(argv[2]); - /* - * If argv[2] is a valid user & - * /etc/procmailrcs/argv[2] exists & is owned by argv[2] - */ - if (passwd_entry && - !stat(procmailrc, &procmailrc_stat) && - procmailrc_stat.st_uid==passwd_entry->pw_uid) { - done = 0; - (void) syslog( LOG_INFO, "MDA: %s\n", PROCMAIL ); - exec_rc = execl (PROCMAIL, PROCMAIL, "-t", - "-f", argv[1], "-m", procmailrc, "-a", argv[3], NULL); - (void) syslog( LOG_INFO, "%s did not execute %i,%i\n", - PROCMAIL, - exec_rc, - errno ); - return (EX_TEMPFAIL); - } - else { - done = 0; - #if DEBUG - (void) syslog( LOG_INFO, "MDA: %s\n", PROCMAIL ); - #endif - exec_rc = execl (PROCMAIL, PROCMAIL, "-t", - "-f", argv[1], "-a", argv[3], "-d", argv[2], NULL); - (void) syslog( LOG_INFO, "%s did not execute %i,%i\n", - PROCMAIL, - exec_rc, - errno ); - return (EX_TEMPFAIL); - }; - } - else - (void) syslog( LOG_INFO, "%s is not setuid!\n", PROCMAIL ); - }; - - /*---------------------------------------------------------------- - * 2nd: try delivery via MAILDROP - *----------------------------------------------------------------*/ - if (done && !lstat(MAILDROP, &MDA_stat)) { - if ( (euid == 0) || - (MDA_stat.st_mode & S_ISUID) - ) { - done = 0; - #if DEBUG - (void) syslog( LOG_INFO, "MDA: %s\n", MAILDROP ); - #endif - exec_rc = execl (MAILDROP, MAILDROP, - "-f", argv[1], "-d", argv[2], NULL); - (void) syslog( LOG_INFO, "%s did not execute %i,%i\n", - MAILDROP, - exec_rc, - errno ); - return (EX_TEMPFAIL); - } - else - (void) syslog( LOG_INFO, "%s is not setuid!\n", MAILDROP ); - }; - - - /*---------------------------------------------------------------- - * 3rd: try delivery via DELIVER - *----------------------------------------------------------------*/ - if (done && !lstat(DELIVER, &MDA_stat)) { - if ( (euid == 0) || - (MDA_stat.st_mode & S_ISUID) - ) { - done = 0; - #if DEBUG - (void) syslog( LOG_INFO, "MDA: %s\n", DELIVER ); - #endif - exec_rc = execl (DELIVER, DELIVER, - "-r", argv[1], argv[2], NULL); - (void) syslog( LOG_INFO, "%s did not execute %i,%i\n", - DELIVER, - exec_rc, - errno ); - return (EX_TEMPFAIL); - } - else - (void) syslog( LOG_INFO, "%s is not setuid!\n", DELIVER ); - }; - - /*---------------------------------------------------------------- - * 4th: try delivery via MAIL.LOCAL - *----------------------------------------------------------------*/ - if (done && !lstat(MAIL_LOCAL, &MDA_stat)) { - if ( (euid == 0) || - (MDA_stat.st_mode & S_ISUID) - ) { - done = 0; - #if DEBUG - (void) syslog( LOG_INFO, "MDA: %s\n", MAIL_LOCAL ); - #endif - exec_rc = execl (MAIL_LOCAL, MAIL_LOCAL, - "-f", argv[1], argv[2], NULL); - (void) syslog( LOG_INFO, "%s did not execute %i,%i\n", - MAIL_LOCAL, - exec_rc, - errno ); - return (EX_TEMPFAIL); - } - else - (void) syslog( LOG_INFO, "%s is not setuid!\n", MAIL_LOCAL ); - }; - - (void) syslog( LOG_ERR, "No MDA was found (or was suid)! Tried: " - "%s, %s, %s, and %s.\n", - PROCMAIL, - MAILDROP, - DELIVER, - MAIL_LOCAL - ); - - (void) closelog( ); - - return (EX_TEMPFAIL); - }; - - -/*------------------------------------------------------------------- - * Help... - *-------------------------------------------------------------------*/ -static void help(void) { - - (void) printf("\n%s - Help information.\n\n" - "%s:\n" - "\tA general MTA->MDA wrapper to isolate the MTA from\n" - "\tthe vagaries of MDA installation and invocation.\n" - "\nSupported MTAs:\n" - "\tsendmail\n" - "\nSupported MDAs:\n" - "\tprocmail, maildrop, deliver, mail.local\n" - "\nCalled by:\n" - "\tSendmail\n" - "\tYou - " - "Go directly to jail, do not pass GO, " - "do not collect $200!\n" - "\nSyntax:\n" - "\t%s <from:$g> <user:$u> [<detail:$h>]" - "[<client:${client_addr}>]\n" - "\nCalls:\n" - "\tprocmail:\t procmail -t -f <from>" - "-a <detail> -d <to>\n" - "\tmaildrop:\t maildrop -f <from> -d <to>\n" - "\tdeliver:\t deliver -r <from> <to>\n" - "\tmail.local:\t mail.local -f <from> <to>\n" - "\n" - ,program, program, program - ); - return; - }; - diff --git a/debian/sources b/debian/sources index 63cfbc1..e5f346e 100644 --- a/debian/sources +++ b/debian/sources @@ -1 +1 @@ -upstream tar sendmail.8.13.1.tar.gz +upstream tar sendmail.8.14.1.tar.gz diff --git a/debian/watch b/debian/watch index e4483e3..6506b9d 100644 --- a/debian/watch +++ b/debian/watch @@ -1,10 +1,7 @@ -# format version number, currently 2; this line is compulsory! -version=2 +# format version number, currently 3; this line is compulsory! +version=3 # Line continuations are performed with \ - -# This the format for an FTP site: # Full-site-with-pattern [Version [Action]] -# NOTE...NOTE...NOTE...NOTE: This requires the --no-symlink option opts=pasv ftp://ftp.sendmail.org/pub/sendmail/sendmail\.(.*)\.tar\.gz debian opts=pasv ftp://ftp.sendmail.org/pub/sendmail/sendmail\.(.*)\.tar(\.gz)?\.sig debian diff --git a/sendmail.8.14.1.tar.gz.cdbs-config_list b/sendmail.8.14.1.tar.gz.cdbs-config_list new file mode 100644 index 0000000..1089c76 --- /dev/null +++ b/sendmail.8.14.1.tar.gz.cdbs-config_list @@ -0,0 +1,2 @@ +sendmail-8.14.1/include/sm/config.h +sendmail-8.14.1/libsm/config.c |