1
0
mirror of https://git.openwrt.org/feed/packages.git synced 2024-06-13 10:59:13 +02:00
openwrt-packages/mail/sendmail/Makefile
Val Kulkov 928ae83f19 opendkim: DKIM signing and verifying emails
The OpenDKIM package provides a service for signing and verifying
DomainKeys Identified Mail (DKIM) signatures. OpenDKIM consists of
a library that implements the DKIM service and a milter-based
filter application that can plug in to any milter-aware MTA, such
as Postfix or Sendmail, to provide that service to sufficiently
recent sendmail MTAs and other MTAs that support the milter
protocol.

This submission provides three new packages:
- libopendkim, a library for signing and verifying DKIM signatures,
- opendkim, the server application and the genkey script,
- opendkim-tools, a set of tools for configuring and testing OpenDKIM.

While at it, add PKG_BUILD_DEPENDS statement to sendmail's Makefile.
Travis CI buildbot sometimes fails to compile libopenssl before
starting to build sendmail. Since sendmail depends on libopenssl, the
whole Travis CI build process fails. Setting PKG_BUILD_DEPENDS
to "openssl", the directory name of libopenssl's Makefile, fixes the
problem.

Signed-off-by: Val Kulkov <val.kulkov@gmail.com>
2018-01-31 10:07:07 -05:00

135 lines
4.8 KiB
Makefile

#
# Copyright (C) 2017 Val Kulkov <val.kulkov@gmail.com>
#
# This is free software, licensed under the GNU General Public License v3.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=sendmail
PKG_VERSION:=8.15.2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME).$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://artfiles.org/sendmail.org/pub/sendmail/ \
ftp://ftp.cs.berkeley.edu/ucb/sendmail/ \
http://www.netgull.com/sendmail/
PKG_HASH:=24f94b5fd76705f15897a78932a5f2439a32b1a2fdc35769bb1a5f5d9b4db439
PKG_MAINTAINER:=Val Kulkov <val.kulkov@gmail.com>
PKG_LICENSE:=Sendmail
PKG_LICENSE_FILES:=LICENSE
PKG_INSTALL:=1
PKG_BUILD_DEPENDS:=openssl
include $(INCLUDE_DIR)/package.mk
TARGET_OS:=OpenWrt
SITECONFIG:=site.$(TARGET_OS).m4
#
# Uncomment the following sections that are currently commented out
# to enable building and packaging Sendmail executables and default
# configuration files into the "sendmail" package.
#
# Note that in this edition of the "sendmail" package:
# 1. No init script is provided to start the Sendmail daemon.
# 2. The initial configuration files in /etc/mail are likely inadequate
# for running the Sendmail daemon on your LEDE/OpenWrt device.
# 3. You may have to "opkg install m4" to build Sendmail configuration files
# from customized mc files on your LEDE/OpenWrt device using m4, or
# alternatively you may use a Linux computer to build configuration
# files from customized mc files.
# 4. Compiling and building the "sendmail" package will likely fail at
# the packaging stage if you have already selected and built the "ssmtp"
# package. "ssmtp" installs /usr/sbin/sendmail in the form of a symlink
# to /usr/sbin/ssmtp. Where /usr/sbin/sendmail is already present,
# copying the sendmail executable into /usr/sbin/sendmail results in
# an error:
# cp: not writing through dangling symlink
# ...
# lede/source/include/toplevel.mk:206: recipe for target 'package/feeds/packages/libmilter/compile' failed
#
# ANYONE WHO IS READING THIS MAKEFILE AND WHO HAS THE KNOWLEDGE AND DESIRE
# TO COMPLETE PORTING OF SENDMAIL TO LEDE/OPENWRT PLATFORM IS ENCOURAGED
# TO DO SO AND TAKE OVER THE MAINTAINERSHIP OF THIS PACKAGE FROM VAL KULKOV.
#
#define Package/sendmail
# SECTION:=mail
# CATEGORY:=Mail
# DEPENDS:=+libopenssl
# TITLE:=A general purpose internetwork mail routing facility
# URL:=http://sendmail.org/
#endef
#
#define Package/sendmail/description
# Sendmail is a general purpose internetwork email routing facility that
# supports many kinds of mail-transfer and delivery methods, including
# the Simple Mail Transfer Protocol (SMTP) used for email transport over
# the Internet.
#endef
#
#define Package/sendmail/conffiles
#/etc/mail/helpfile
#/etc/mail/sendmail.cf
#/etc/mail/submit.cf
#/etc/mail/statistics
#endef
define Package/libmilter-sendmail
SECTION:=libs
CATEGORY:=Libraries
DEPENDS:=+libpthread
TITLE:=The sendmail Mail Filter API (Milter) library
URL:=http://sendmail.org/
endef
define Package/libmilter-sendmail/description
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 and content.
endef
TARGET_CFLAGS += $(FPIC)
define Build/Prepare
$(Build/Prepare/Default)
$(CP) files/lm_getver.c $(PKG_BUILD_DIR)/libmilter/
$(CP) files/$(SITECONFIG) $(PKG_BUILD_DIR)/devtools/Site/
$(CP) files/$(TARGET_OS) $(PKG_BUILD_DIR)/devtools/OS/
$(CP) files/sharedlibrary.m4 $(PKG_BUILD_DIR)/devtools/M4/UNIX/
$(CP) $(PKG_BUILD_DIR)/cf/cf/generic-linux.mc $(PKG_BUILD_DIR)/cf/cf/sendmail.mc
$(SED) 's@TARGET_CC@$(TARGET_CC)@g' $(PKG_BUILD_DIR)/devtools/Site/$(SITECONFIG)
$(SED) 's@TARGET_CFLAGS@$(TARGET_CFLAGS)@g' $(PKG_BUILD_DIR)/devtools/Site/$(SITECONFIG)
endef
define Build/Compile
$(call Build/Compile/Default,)
$(MAKE_VARS) $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/libmilter $(MAKE_FLAGS) all
$(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR)/libmilter $(MAKE_FLAGS) DESTDIR="$(PKG_INSTALL_DIR)" install
$(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR)/cf/cf $(MAKE_FLAGS) DESTDIR="$(PKG_INSTALL_DIR)" install-cf
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/libmilter $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/include/libmilter/* $(1)/usr/include/libmilter/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libmilter.so* $(1)/usr/lib/
endef
define Package/libmilter-sendmail/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libmilter.so* $(1)/usr/lib/
endef
#define Package/sendmail/install
# $(INSTALL_DIR) $(1)/etc/mail $(1)/usr/bin $(1)/usr/sbin
# $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/mail/* $(1)/etc/mail/
# $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
# $(CP) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin/
#endef
$(eval $(call BuildPackage,libmilter-sendmail))
#$(eval $(call BuildPackage,sendmail))