Mailman: sync with recent developments
This commit is contained in:
parent
869a1965b3
commit
7b744d074e
5 changed files with 27 additions and 14 deletions
|
@ -66,17 +66,13 @@ class Importer(object):
|
||||||
(list_is_new or not self.opts.new_only):
|
(list_is_new or not self.opts.new_only):
|
||||||
call(["sudo", "kittystore-import", "-p",
|
call(["sudo", "kittystore-import", "-p",
|
||||||
self.config["confdir"], "-s", "settings_admin",
|
self.config["confdir"], "-s", "settings_admin",
|
||||||
"-l", listaddr, "--continue", "--no-refresh",
|
"-l", listaddr, "--continue", "--no-sync-mailman",
|
||||||
archivefile])
|
archivefile])
|
||||||
if self.index_path:
|
if self.index_path:
|
||||||
call(["sudo", "chown", "mailman:apache", "-R", self.index_path])
|
call(["sudo", "chown", "mailman:apache", "-R", self.index_path])
|
||||||
call(["sudo", "chmod", "g+w", self.index_path])
|
call(["sudo", "chmod", "g+w", self.index_path])
|
||||||
if self.opts.no_archives:
|
call(["sudo", "kittystore-sync-mailman", "-p",
|
||||||
call(["sudo", "kittystore-refresh-cache", "-p",
|
self.config["confdir"], "-s", "settings_admin"])
|
||||||
self.config["confdir"], "-s", "settings_admin"])
|
|
||||||
else:
|
|
||||||
call(["sudo", "kittystore-refresh-cache", "-p",
|
|
||||||
self.config["confdir"], "-s", "settings_admin", "-f"])
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -18,9 +18,11 @@ def give_rights(dbhost, dbuser, dbpasswd, dbname):
|
||||||
conn = psycopg2.connect(host=dbhost, user=dbuser, password=dbpasswd,
|
conn = psycopg2.connect(host=dbhost, user=dbuser, password=dbpasswd,
|
||||||
database=dbname)
|
database=dbname)
|
||||||
cur = conn.cursor()
|
cur = conn.cursor()
|
||||||
|
# Database permissions
|
||||||
dbrightsquery = "GRANT CONNECT,TEMP ON DATABASE %s TO %sapp;" % (dbname, dbname)
|
dbrightsquery = "GRANT CONNECT,TEMP ON DATABASE %s TO %sapp;" % (dbname, dbname)
|
||||||
print dbrightsquery
|
print dbrightsquery
|
||||||
cur.execute(dbrightsquery)
|
cur.execute(dbrightsquery)
|
||||||
|
# Table permissions
|
||||||
cur.execute("""
|
cur.execute("""
|
||||||
SELECT 'GRANT SELECT,INSERT,UPDATE,DELETE,TRUNCATE ON ' || relname || ' TO %sapp;'
|
SELECT 'GRANT SELECT,INSERT,UPDATE,DELETE,TRUNCATE ON ' || relname || ' TO %sapp;'
|
||||||
FROM pg_class
|
FROM pg_class
|
||||||
|
@ -28,6 +30,17 @@ def give_rights(dbhost, dbuser, dbpasswd, dbname):
|
||||||
WHERE nspname = 'public' AND relkind IN ('r', 'v');
|
WHERE nspname = 'public' AND relkind IN ('r', 'v');
|
||||||
""" % dbname)
|
""" % dbname)
|
||||||
queries = [ q[0] for q in cur ]
|
queries = [ q[0] for q in cur ]
|
||||||
|
for query in queries:
|
||||||
|
print query
|
||||||
|
cur.execute(query)
|
||||||
|
# Sequence permissions
|
||||||
|
cur.execute("""
|
||||||
|
SELECT 'GRANT USAGE,SELECT,UPDATE ON ' || relname || ' TO %sapp;'
|
||||||
|
FROM pg_class
|
||||||
|
JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace
|
||||||
|
WHERE nspname = 'public' AND relkind = 'S';
|
||||||
|
""" % dbname)
|
||||||
|
queries = [ q[0] for q in cur ]
|
||||||
for query in queries:
|
for query in queries:
|
||||||
print query
|
print query
|
||||||
cur.execute(query)
|
cur.execute(query)
|
||||||
|
|
|
@ -13,7 +13,7 @@ INDEXDIR=$BASEDIR/kittystore_search_index
|
||||||
django-admin collectstatic --clear --noinput --pythonpath $CONFDIR --settings settings
|
django-admin collectstatic --clear --noinput --pythonpath $CONFDIR --settings settings
|
||||||
django-admin assets build --parse-templates --pythonpath $CONFDIR --settings settings
|
django-admin assets build --parse-templates --pythonpath $CONFDIR --settings settings
|
||||||
django-admin syncdb --pythonpath $CONFDIR --settings settings_admin
|
django-admin syncdb --pythonpath $CONFDIR --settings settings_admin
|
||||||
django-admin migrate hyperkitty --pythonpath $CONFDIR --settings settings_admin
|
django-admin migrate --pythonpath $CONFDIR --settings settings_admin
|
||||||
django-admin loaddata /etc/postorius/sites/default/initial-user.json --pythonpath $CONFDIR --settings settings_admin
|
django-admin loaddata /etc/postorius/sites/default/initial-user.json --pythonpath $CONFDIR --settings settings_admin
|
||||||
kittystore-updatedb --pythonpath $CONFDIR --settings settings_admin
|
kittystore-updatedb --pythonpath $CONFDIR --settings settings_admin
|
||||||
chown mailman:mailman -R $INDEXDIR
|
chown mailman:mailman -R $INDEXDIR
|
||||||
|
@ -21,3 +21,8 @@ chmod g+w -R $INDEXDIR
|
||||||
|
|
||||||
# Give database rights to the non-admin user
|
# Give database rights to the non-admin user
|
||||||
$BASEDIR/bin/pg-give-rights.py
|
$BASEDIR/bin/pg-give-rights.py
|
||||||
|
|
||||||
|
# Reload Apache to flush the python cache
|
||||||
|
systemctl reload httpd
|
||||||
|
# Restart Mailman3 since kittystore was updated
|
||||||
|
systemctl restart mailman3
|
||||||
|
|
|
@ -150,10 +150,6 @@
|
||||||
notify:
|
notify:
|
||||||
- reload apache
|
- reload apache
|
||||||
|
|
||||||
- name: copy the manage.py script
|
|
||||||
command: /bin/cp /etc/hyperkitty/sites/default/manage.py "{{ mailman_webui_confdir }}/manage.py"
|
|
||||||
creates="{{ mailman_webui_confdir }}/manage.py"
|
|
||||||
|
|
||||||
- name: create the kittystore plain text index dir
|
- name: create the kittystore plain text index dir
|
||||||
file: path="{{ mailman_webui_basedir }}/kittystore_search_index"
|
file: path="{{ mailman_webui_basedir }}/kittystore_search_index"
|
||||||
state=directory owner=mailman group=mailman mode=0755
|
state=directory owner=mailman group=mailman mode=0755
|
||||||
|
|
|
@ -220,9 +220,9 @@ AUTH_PROFILE_MODULE = 'hyperkitty.UserProfile'
|
||||||
# https://github.com/twaddington/django-gravatar
|
# https://github.com/twaddington/django-gravatar
|
||||||
#
|
#
|
||||||
# Gravatar base url.
|
# Gravatar base url.
|
||||||
#GRAVATAR_URL = 'http://www.gravatar.com/'
|
#GRAVATAR_URL = 'http://cdn.libravatar.org/'
|
||||||
# Gravatar base secure https url.
|
# Gravatar base secure https url.
|
||||||
#GRAVATAR_SECURE_URL = 'https://secure.gravatar.com/'
|
#GRAVATAR_SECURE_URL = 'https://seccdn.libravatar.org/'
|
||||||
# Gravatar size in pixels.
|
# Gravatar size in pixels.
|
||||||
#GRAVATAR_DEFAULT_SIZE = '80'
|
#GRAVATAR_DEFAULT_SIZE = '80'
|
||||||
# An image url or one of the following: 'mm', 'identicon', 'monsterid', 'wavatar', 'retro'.
|
# An image url or one of the following: 'mm', 'identicon', 'monsterid', 'wavatar', 'retro'.
|
||||||
|
@ -328,6 +328,9 @@ KITTYSTORE_SEARCH_INDEX = '{{ mailman_webui_basedir }}/kittystore_search_index'
|
||||||
# Use SSL when logged in
|
# Use SSL when logged in
|
||||||
USE_SSL = True
|
USE_SSL = True
|
||||||
|
|
||||||
|
# Only display mailing-lists from the same virtual host as the webserver
|
||||||
|
FILTER_VHOST = False
|
||||||
|
|
||||||
# WARNING: the KITTYSTORE_DEBUG variable below will output every SQL query.
|
# WARNING: the KITTYSTORE_DEBUG variable below will output every SQL query.
|
||||||
# That's a huge amount of text, don't enable it if you don't need to.
|
# That's a huge amount of text, don't enable it if you don't need to.
|
||||||
KITTYSTORE_DEBUG = False
|
KITTYSTORE_DEBUG = False
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue