From cec41bccaf6e76fa5fa6afec817a9a7c78abec14 Mon Sep 17 00:00:00 2001
From: Jeffery To <jeffery.to@gmail.com>
Date: Tue, 31 Mar 2020 03:20:27 +0800
Subject: [PATCH] mailman: Remove package

This version of mailman will cease to function once Python 2 is removed
from the feed. There does not appear to be any interest in updating this
package to a current version that uses Python 3.

This package will be added to the abandoned packages feed.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
---
 mail/mailman/Makefile                         | 129 ------------------
 mail/mailman/files/mailman.init               |  22 ---
 mail/mailman/patches/100-postfix.patch        |  11 --
 .../mailman/patches/200-nohostdnspython.patch |  67 ---------
 mail/mailman/patches/300-targetpython.patch   |  11 --
 mail/mailman/patches/400-modules.patch        |  33 -----
 6 files changed, 273 deletions(-)
 delete mode 100644 mail/mailman/Makefile
 delete mode 100644 mail/mailman/files/mailman.init
 delete mode 100644 mail/mailman/patches/100-postfix.patch
 delete mode 100644 mail/mailman/patches/200-nohostdnspython.patch
 delete mode 100644 mail/mailman/patches/300-targetpython.patch
 delete mode 100644 mail/mailman/patches/400-modules.patch

diff --git a/mail/mailman/Makefile b/mail/mailman/Makefile
deleted file mode 100644
index d1c41ac25..000000000
--- a/mail/mailman/Makefile
+++ /dev/null
@@ -1,129 +0,0 @@
-#
-# Copyright (C) 2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=mailman
-PKG_VERSION:=2.1.29
-PKG_RELEASE:=2
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
-PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
-PKG_HASH:=838872713601e8a124146e550f53709482c1ef168f1e16d201465c651cbf0d2c
-
-PKG_MAINTAINER:=Denis Shulyaka <Shulyaka@gmail.com>
-PKG_LICENSE:=GPL-2.0-or-later
-PKG_LICENSE_FILES:=gnu-COPYING-GPL
-PKG_CPE_ID:=cpe:2.3:a:gnu:mailman
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/mailman
-  SECTION:=mail
-  CATEGORY:=Mail
-  TITLE:=The GNU Mailing List Manager
-  URL:=https://www.gnu.org/software/mailman/
-  DEPENDS:=+postfix +python +uhttpd +python-dns
-endef
-
-define Package/mailman/description
- Mailman is free software for managing electronic mail discussion and e-newsletter lists.
-endef
-
-prefix=/usr/local/mailman
-
-define Package/mailman/conffiles
-$(prefix)/Mailman/mm_cfg.py
-endef
-
-CONFIGURE_ARGS += \
-	--prefix="$(prefix)" \
-	--exec-prefix="$(prefix)" \
-	--with-username="root" \
-	--with-groupname="root" \
-	--with-mail-gid="nogroup" \
-	--with-cgi-gid="root" \
-	--without-permcheck \
-
-define Build/Compile
-endef
-
-define Package/mailman/install
-	$(INSTALL_DIR) $(1)$(prefix)
-	cd $(PKG_BUILD_DIR); $(MAKE) DESTDIR=$(1) install
-	$(INSTALL_DIR) $(1)/etc/init.d
-	$(INSTALL_BIN) ./files/mailman.init $(1)/etc/init.d/mailman
-	$(INSTALL_DIR) $(1)/usr/www
-	ln -s $(prefix)/cgi-bin/ $(1)/usr/www/mailman
-	ln -s $(prefix)/archives/public/ $(1)/usr/www/pipermail
-	ln -s $(prefix)/icons $(1)/usr/www/icons
-endef
-
-define Package/mailman/postinst
-#!/bin/sh
-# check if we are on real system
-if [ -z "$${IPKG_INSTROOT}" ]; then
-
- if [ `postconf alias_maps | grep -ci mailman` -eq 0 ]
- then
-  postconf -e "`postconf alias_maps`, cdb:$(prefix)/data/aliases"
- fi
- cd $(prefix)
- hostname=`cat /proc/sys/kernel/hostname`
- if [ ! -f data/aliases ]
- then
-  ./bin/genaliases
- fi
- newaliases
- if [ `grep -c DEFAULT_URL_HOST Mailman/mm_cfg.py` -eq 0 ]
- then
-  echo "DEFAULT_EMAIL_HOST = '$$hostname'" >> Mailman/mm_cfg.py
-  echo "DEFAULT_URL_HOST = '$$hostname'" >> Mailman/mm_cfg.py
-  echo "add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)" >> Mailman/mm_cfg.py
-  echo "QRUNNERS.remove(('NewsRunner',1))" >> Mailman/mm_cfg.py
- fi
- if [ `./bin/list_lists | grep -ci mailman` -eq 0 ]
- then
-  ./bin/newlist --urlhost=$$hostname --emailhost=$$hostname --quiet mailman root@$$hostname mailman
-  ./bin/config_list -i data/sitelist.cfg mailman
-  echo "NOTE: A default site-wide mailing list Mailman with password 'mailman' has been created. Please review it and change the password."
-  ./bin/mmsitepass mailman
-  echo "NOTE: The default site password 'mailman' has been created."
- fi
- # /etc/init.d/mailman enable
- if [ `ps | grep "mailman/bin/qrunner" | grep -cv grep` -gt 0 ]
- then
-  $(prefix)/bin/mailmanctl -q restart
- fi
- if [ `grep -c mailman /etc/config/uhttpd` -eq 0 ]
- then #we assume that the server is not configured yet, thus print out some help for the first time:
-  echo "NOTE: Please set the site password using $(prefix)/bin/mmsitepass <your-site-password>"
-  echo "Please add uhttpd config section to your /etc/config/uhttpd like this:"
-  echo "config uhttpd mailman"
-  echo "	list listen_http	0.0.0.0:80"
-  echo "	option home		/usr/www"
-  echo "	option cgi_prefix	/mailman"
-  echo "	no_symlinks		0"
-  echo "Don't forget to setup firewall for accessing this website!"
-  echo "To add a mailing list go to http://$$hostname/mailman/create."
- fi
-fi
-endef
-
-define Package/mailman/prerm
-#!/bin/sh
-# check if we are on real system
-if [ -z "$${IPKG_INSTROOT}" ]; then
-
- if [ `ps | grep "mailman/bin/qrunner" | grep -cv grep` -gt 0 ]
- then
-  $(prefix)/bin/mailmanctl stop
- fi
-fi
-endef
-
-$(eval $(call BuildPackage,mailman))
diff --git a/mail/mailman/files/mailman.init b/mail/mailman/files/mailman.init
deleted file mode 100644
index f68a45676..000000000
--- a/mail/mailman/files/mailman.init
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2014 OpenWrt.org
-
-START=50
-STOP=50
-
-PYTHON=/usr/bin/python
-MAILMANHOME=/usr/local/mailman
-MAILMANCTL=$MAILMANHOME/bin/mailmanctl
-
-start() {
-	#rm -f $MAILMANHOME/locks/*
-	$PYTHON $MAILMANCTL -s -q start
-}
-
-stop() {
-	$PYTHON $MAILMANCTL -q stop
-}
-
-restart() {
-	$PYTHON $MAILMANCTL -q restart
-}
diff --git a/mail/mailman/patches/100-postfix.patch b/mail/mailman/patches/100-postfix.patch
deleted file mode 100644
index 318991148..000000000
--- a/mail/mailman/patches/100-postfix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Mailman/Defaults.py.in
-+++ b/Mailman/Defaults.py.in
-@@ -506,7 +506,7 @@ SMTPLIB_DEBUG_LEVEL = 0
- # standard out (or send an email to the site list owner) for manual twiddling
- # of an /etc/aliases style file.  Use 'Postfix' if you are using the Postfix
- # MTA -- but then also see POSTFIX_STYLE_VIRTUAL_DOMAINS.
--MTA = 'Manual'
-+MTA = 'Postfix'
- 
- # If you set MTA='Postfix', then you also want to set the following variable,
- # depending on whether you're using virtual domains in Postfix, and which
diff --git a/mail/mailman/patches/200-nohostdnspython.patch b/mail/mailman/patches/200-nohostdnspython.patch
deleted file mode 100644
index abadeb8c0..000000000
--- a/mail/mailman/patches/200-nohostdnspython.patch
+++ /dev/null
@@ -1,67 +0,0 @@
---- a/configure
-+++ b/configure
-@@ -2255,35 +2255,35 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $version" >&5
- $as_echo "$version" >&6; }
- 
--# See if dnspython is installed.
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dnspython" >&5
--$as_echo_n "checking dnspython... " >&6; }
--
--cat > conftest.py <<EOF
--try:
--    import dns.resolver
--    res = 'ok'
--except ImportError:
--    res = 'no'
--fp = open("conftest.out", "w")
--fp.write("%s\n" % res)
--fp.close()
--EOF
--
--$PYTHON conftest.py
--havednspython=`cat conftest.out`
--rm -f conftest.out conftest.py
--if test "$havednspython" = "no"
--then
--    as_fn_error $? "
--
--***** dnspython not found. It is required for the new
--***** dmarc_moderation_action featurer. Get it from
--***** <http://www.dnspython.org/> or
--***** <https://pypi.python.org/pypi/dnspython/>" "$LINENO" 5
--fi
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $havednspython" >&5
--$as_echo "$havednspython" >&6; }
-+## See if dnspython is installed.
-+#{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dnspython" >&5
-+#$as_echo_n "checking dnspython... " >&6; }
-+#
-+#cat > conftest.py <<EOF
-+#try:
-+#    import dns.resolver
-+#    res = 'ok'
-+#except ImportError:
-+#    res = 'no'
-+#fp = open("conftest.out", "w")
-+#fp.write("%s\n" % res)
-+#fp.close()
-+#EOF
-+#
-+#$PYTHON conftest.py
-+#havednspython=`cat conftest.out`
-+#rm -f conftest.out conftest.py
-+#if test "$havednspython" = "no"
-+#then
-+#    as_fn_error $? "
-+#
-+#***** dnspython not found. It is required for the new
-+#***** dmarc_moderation_action featurer. Get it from
-+#***** <http://www.dnspython.org/> or
-+#***** <https://pypi.python.org/pypi/dnspython/>" "$LINENO" 5
-+#fi
-+#{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $havednspython" >&5
-+#$as_echo "$havednspython" >&6; }
- 
- # Check the email package version.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's email package" >&5
diff --git a/mail/mailman/patches/300-targetpython.patch b/mail/mailman/patches/300-targetpython.patch
deleted file mode 100644
index 49957c05d..000000000
--- a/mail/mailman/patches/300-targetpython.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/configure
-+++ b/configure
-@@ -3957,6 +3957,8 @@ fi
- $as_echo "$URLHOST" >&6; }
- rm -f conftest.out conftest.py
- 
-+PYTHON=/usr/bin/python
-+
- # Checks for libraries.
- 
- for ac_func in strerror setregid syslog
diff --git a/mail/mailman/patches/400-modules.patch b/mail/mailman/patches/400-modules.patch
deleted file mode 100644
index 63cc8f9da..000000000
--- a/mail/mailman/patches/400-modules.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/Mailman/MailList.py
-+++ b/Mailman/MailList.py
-@@ -30,7 +30,7 @@ import re
- import shutil
- import socket
- import urllib
--import cPickle
-+import pickle as cPickle
- 
- from cStringIO import StringIO
- from UserDict import UserDict
---- a/misc/paths.py.in
-+++ b/misc/paths.py.in
-@@ -71,14 +71,14 @@ sys.path.append(distdir)
- # In a normal interactive Python environment, the japanese.pth and korean.pth
- # files would be imported automatically.  But because we inhibit the importing
- # of the site module, we need to be explicit about importing these codecs.
--if not jaok:
--    import japanese
-+#if not jaok:
-+#    import japanese
- # As of KoreanCodecs 2.0.5, you had to do the second import to get the Korean
- # codecs installed, however leave the first import in there in case an upgrade
- # changes this.
--if not kook:
--    import korean
--    import korean.aliases
-+#if not kook:
-+#    import korean
-+#    import korean.aliases
- # Arabic and Hebrew (RFC-1556) encoding aliases. (temporary solution)
- import encodings.aliases
- encodings.aliases.aliases.update({