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>lilik-openwrt-22.03
@ -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)) |
@ -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 | |||||
} |
@ -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 |
@ -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 |
@ -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 |
@ -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({ |