msmtp: msmtp-scripts: Backport "Enable PROVIDES and ALTERNATIVES"

Backports needed change from master for the next commit (a
combined cherry-pick and squash of required fixes to msmtp-scripts,
due to msmtp-scripts being broken on openwrt-19.07).

Use the PROVIDES mechanism so that msmtp and msmtp-nossl can be be
+depended-on and avoid generating a file level conflict.  Also use
alternatives for msmtp-mta and msmtpq-ng-mta with msmtp-mta since
we can only have one sendmail at a time.

(cherry-pick f76408af48)

Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
This commit is contained in:
Daniel F. Dickinson 2019-01-16 02:56:33 -05:00
parent 1d0c66755e
commit 2c51c7b18e
2 changed files with 14 additions and 10 deletions

View file

@ -41,7 +41,7 @@ endef
define Package/msmtpq-ng
$(call Package/msmtp-scripts/Default)
DEPENDS+= @(PACKAGE_msmtp||PACKAGE_msmtp-nossl)
DEPENDS+= +msmtp
TITLE+= (msmtpq-ng wrappers)
endef
@ -61,6 +61,12 @@ $(call Package/msmtp-scripts/Default)
TITLE+= (as MTA)
DEPENDS+=+msmtpq-ng
USERID:=msmtp=482:msmtp=482
ALTERNATIVES:=\
400:/usr/sbin/sendmail:/usr/bin/msmtpq-ng-mta \
400:/usr/lib/sendmail:/usr/bin/msmtpq-ng-mta \
400:/usr/sbin/mailq:/usr/bin/msmtpq-ng-queue-mta \
400:/usr/sbin/postqueue:/usr/bin/msmtpq-ng-queue-mta \
400:/usr/sbin/postsuper:/usr/sin/msmtpq-ng-queue-mta
endef
define Package/msmtp-queue-mta/conffiles
@ -126,11 +132,6 @@ define Package/msmtpq-ng-mta/install
$(INSTALL_BIN) $(PKG_BUILD_DIR)/msmtpq-ng-mta/msmtpq-ng-queue-mta $(1)/usr/bin/
$(INSTALL_DIR) $(1)/etc/crontabs
$(INSTALL_BIN) ./files/msmtpq-ng-mta.init $(1)/etc/init.d/msmtpq-ng-mta
ln -sf ../bin/msmtpq-ng-mta $(1)/usr/sbin/sendmail
ln -sf ../bin/msmtpq-ng-mta $(1)/usr/lib/sendmail
ln -sf ../bin/msmtpq-ng-queue-mta $(1)/usr/sbin/mailq
ln -sf ../bin/msmtpq-ng-queue-mta $(1)/usr/sbin/postqueue
ln -sf ../bin/msmtpq-ng-queue-mta $(1)/usr/sbin/postsuper
endef
define Package/msmtpq-ng-mta-smtpd/install

View file

@ -49,6 +49,7 @@ $(call Package/msmtp/Default)
DEPENDS+= +libgnutls +ca-bundle
TITLE+= (with SSL support)
VARIANT:=ssl
DEFAULT_VARIANT:=1
endef
define Package/msmtp/conffiles
@ -64,6 +65,7 @@ define Package/msmtp-nossl
$(call Package/msmtp/Default)
TITLE+= (without SSL support)
VARIANT:=nossl
PROVIDES:=msmtp
endef
define Package/msmtp-nossl/description
@ -74,7 +76,10 @@ endef
define Package/msmtp-mta
$(call Package/msmtp/Default)
TITLE+= (as MTA)
DEPENDS+=@(PACKAGE_msmtp||PACKAGE_msmtp-nossl)
DEPENDS+=+msmtp
ALTERNATIVES:=\
100:/usr/sbin/sendmail:/usr/bin/msmtp \
100:/usr/lib/sendmail:/usr/bin/msmtp
endef
define Package/msmtp-mta/description
@ -85,7 +90,7 @@ endef
define Package/msmtp-queue
$(call Package/msmtp/Default)
DEPENDS+= +bash @(PACKAGE_msmtp||PACKAGE_msmtp-nossl)
DEPENDS+= +bash +msmtp
TITLE+= (queue scripts)
endef
@ -119,8 +124,6 @@ endef
define Package/msmtp-mta/install
$(INSTALL_DIR) $(1)/usr/sbin $(1)/usr/lib
ln -sf ../bin/msmtp $(1)/usr/sbin/sendmail
ln -sf ../bin/msmtp $(1)/usr/lib/sendmail
endef
Package/msmtp-nossl/conffiles = $(Package/msmtp/conffiles)