Package: mailman3-core
Version: 3.1.1-4
Severity: normal

Dear Maintainer,

Many thanks for your work on these packages. I'm following up from bug 891553.

I have attempted to install mailman3-suite, and allowed automatic configuration 
using mysql. I think this was the default presented choice.
This configuration failed, with this error transcript.

Errors were encountered while processing:
 mailman3-suite
E: Sub-process /usr/bin/dpkg returned an error code (1)
Setting up mailman3-suite (0+20170523-10) ...
Determining localhost credentials from /etc/mysql/debian.cnf: succeeded.
dbconfig-common: writing config to /etc/dbconfig-common/mailman3-suite.conf
mailman3suite already exists and has privileges on mailman3suite.
creating database mailman3suite: already exists.
dbconfig-common: flushing administrative password
Traceback (most recent call last):
  File "/usr/bin/django-admin", line 21, in <module>
    management.execute_from_command_line()
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", 
line 364, in execute_from_command_line
    utility.execute()
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", 
line 338, in execute
    django.setup()
  File "/usr/lib/python2.7/dist-packages/django/__init__.py", line 27, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/usr/lib/python2.7/dist-packages/django/apps/registry.py", line 108, in 
populate
    app_config.import_models()
  File "/usr/lib/python2.7/dist-packages/django/apps/config.py", line 202, in 
import_models
    self.models_module = import_module(models_module_name)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/usr/lib/python2.7/dist-packages/hyperkitty/models/__init__.py", line 
27, in <module>
    from .category import ThreadCategoryg
  File "/usr/lib/python2.7/dist-packages/hyperkitty/models/category.py", line 
30, in <module>
    class ThreadCategory(models.Model):
  File "/usr/lib/python2.7/dist-packages/django/db/models/base.py", line 124, 
in __new__
    new_class.add_to_class('_meta', Options(meta, app_label))
  File "/usr/lib/python2.7/dist-packages/django/db/models/base.py", line 325, 
in add_to_class
    value.contribute_to_class(cls, name)
  File "/usr/lib/python2.7/dist-packages/django/db/models/options.py", line 
214, in contribute_to_class
    self.db_table = truncate_name(self.db_table, 
connection.ops.max_name_length())
  File "/usr/lib/python2.7/dist-packages/django/db/__init__.py", line 33, in 
__getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "/usr/lib/python2.7/dist-packages/django/db/utils.py", line 211, in 
__getitem__
    backend = load_backend(db['ENGINE'])
  File "/usr/lib/python2.7/dist-packages/django/db/utils.py", line 115, in 
load_backend
    return import_module('%s.base' % backend_name)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/usr/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", 
line 30, in <module>
    'Did you install mysqlclient or MySQL-python?' % e
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No 
module named MySQLdb.
Did you install mysqlclient or MySQL-python?
dpkg: error processing package mailman3-suite (--configure):
 installed mailman3-suite package post-installation script subprocess returned 
error exit status 1
Errors were encountered while processing:
 mailman3-suite

So I'm guessing there is a missing dependency here. I tried installing 
python-mysqldb, but this provided a different error:

Errors were encountered while processing:
 mailman3-suite
E: Sub-process /usr/bin/dpkg returned an error code (1)
Setting up mailman3-suite (0+20170523-10) ...
Determining localhost credentials from /etc/mysql/debian.cnf: succeeded.
dbconfig-common: writing config to /etc/dbconfig-common/mailman3-suite.conf
mailman3suite already exists and has privileges on mailman3suite.
creating database mailman3suite: already exists.
dbconfig-common: flushing administrative password
Traceback (most recent call last):
  File "/usr/bin/django-admin", line 21, in <module>
    management.execute_from_command_line()
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", 
line 364, in execute_from_command_line
    utility.execute()
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", 
line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 
283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 
330, in execute
    output = self.handle(*args, **options)
  File 
"/usr/lib/python2.7/dist-packages/django/core/management/commands/migrate.py", 
line 204, in handle
    fake_initial=fake_initial,
  File "/usr/lib/python2.7/dist-packages/django/db/migrations/executor.py", 
line 115, in migrate
    state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, 
fake_initial=fake_initial)
  File "/usr/lib/python2.7/dist-packages/django/db/migrations/executor.py", 
line 145, in _migrate_all_forwards
    state = self.apply_migration(state, migration, fake=fake, 
fake_initial=fake_initial)
  File "/usr/lib/python2.7/dist-packages/django/db/migrations/executor.py", 
line 244, in apply_migration
    state = migration.apply(state, schema_editor)
  File "/usr/lib/python2.7/dist-packages/django/db/migrations/migration.py", 
line 129, in apply
    operation.database_forwards(self.app_label, schema_editor, old_state, 
project_state)
  File 
"/usr/lib/python2.7/dist-packages/django/db/migrations/operations/fields.py", 
line 221, in database_forwards
    schema_editor.alter_field(from_model, from_field, to_field)
  File "/usr/lib/python2.7/dist-packages/django/db/backends/base/schema.py", 
line 515, in alter_field
    old_db_params, new_db_params, strict)
  File "/usr/lib/python2.7/dist-packages/django/db/backends/base/schema.py", 
line 690, in _alter_field
    params,
  File "/usr/lib/python2.7/dist-packages/django/db/backends/base/schema.py", 
line 120, in execute
    cursor.execute(sql, params)
  File "/usr/lib/python2.7/dist-packages/django/db/backends/utils.py", line 64, 
in execute
    return self.cursor.execute(sql, params)
  File "/usr/lib/python2.7/dist-packages/django/db/utils.py", line 94, in 
__exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/usr/lib/python2.7/dist-packages/django/db/backends/utils.py", line 64, 
in execute
    return self.cursor.execute(sql, params)
  File "/usr/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", 
line 101, in execute
    return self.cursor.execute(query, args)
  File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 250, in 
execute
    self.errorhandler(self, exc, value)
  File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 50, in 
defaulterrorhandler
    raise errorvalue
django.db.utils.OperationalError: (1071, 'Specified key was too long; max key 
length is 767 bytes')
dpkg: error processing package mailman3-suite (--configure):
 installed mailman3-suite package post-installation script subprocess returned 
error exit status 1
Errors were encountered while processing:
 mailman3-suite

In the meantime there are cron errors as below:

Date: Wed, 28 Feb 2018 01:30:01 +0000
From: Cron Daemon <[email protected]>
To: [email protected]
Subject: Cron <list@oldgondolin> command -v django-admin >/dev/null && 
django-admin runjobs minutely --pythonpath
        /usr/share/mailman3-suite --settings settings

Traceback (most recent call last):
  File "/usr/bin/django-admin", line 21, in <module>
    management.execute_from_command_line()
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", 
line 364, in execute_from_command_line
    utility.execute()
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", 
line 338, in execute
    django.setup()
  File "/usr/lib/python2.7/dist-packages/django/__init__.py", line 22, in setup
    configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
  File "/usr/lib/python2.7/dist-packages/django/utils/log.py", line 75, in 
configure_logging
    logging_config_func(logging_settings)
  File "/usr/lib/python2.7/logging/config.py", line 794, in dictConfig
    dictConfigClass(config).configure()
  File "/usr/lib/python2.7/logging/config.py", line 576, in configure
    '%r: %s' % (name, e))
ValueError: Unable to configure handler 'file': [Errno 13] Permission denied: 
'/var/log/mailman3/mailman-suite.log'
 
I also ended up commenting out line 33 in /etc/init.d/mailman3-core because 
otherwise I got the following error:

oldgondolin:/etc/init.d# /etc/init.d/mailman3-core start
/etc/init.d/mailman3-core: line 33: .: filename argument required
.: usage: . filename [arguments]


If it's useful to split these bugs if I haven't misunderstood something, please 
let me know, and I will file accordingly.

Kind regards,

CT.




-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 4.14.0-2-686-pae (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages mailman3-core depends on:
ii  dbconfig-sqlite3            2.0.9
ii  debconf [debconf-2.0]       1.5.65
ii  logrotate                   3.11.0-0.1
ii  lsb-base                    9.20170808
ii  python3                     3.6.4-1
ii  python3-aiosmtpd            1.1-5
ii  python3-alembic             0.9.7-1
ii  python3-dnspython           1.15.0-1
ii  python3-falcon              1.0.0-2+b2
ii  python3-flufl.bounce        2.3-4
ii  python3-flufl.i18n          2.0.1-1
ii  python3-flufl.lock          3.2-1
ii  python3-lazr.config         2.2-1
ii  python3-passlib             1.7.1-1
ii  python3-public              0.5-1
ii  python3-pymysql             0.7.11-1
ii  python3-requests            2.18.4-1
ii  python3-sqlalchemy          1.1.11+ds1-1
ii  python3-zope.component      4.3.0-1
ii  python3-zope.configuration  4.0.3-3
ii  python3-zope.event          4.2.0-1
ii  python3-zope.interface      4.3.2-1+b1
ii  ucf                         3.0036

Versions of packages mailman3-core recommends:
ii  exim4-daemon-heavy [mail-transport-agent]  4.90-3
ii  lynx                                       2.8.9dev16-2

Versions of packages mailman3-core suggests:
ii  default-mysql-server                        1.0.3
pn  mailman3-core-doc                           <none>
ii  mariadb-server-10.1 [virtual-mysql-server]  1:10.1.29-6

-- Configuration Files:
/etc/init.d/mailman3-core changed:
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Mailman3 Core program"
NAME=mailman3-core
DAEMON=/usr/bin/mailman
DAEMON_ARGS="-C /etc/mailman3/mailman.cfg start"
PIDDIR=/run/mailman3
PIDFILE=${PIDDIR}/master.pid
SCRIPTNAME=/etc/init.d/$NAME
USER=list
GROUP=list
[ -x "$DAEMON" ] || exit 0
[ ! -d ${PIDDIR} ] && (mkdir -p ${PIDDIR} && chown ${USER}:${GROUP} ${PIDDIR})
. /lib/init/vars.sh
. /lib/lsb/init-functions
do_start()
{
        
        # Return
        #   0 if daemon has been started
        #   1 if daemon was already running
        #   2 if daemon could not be started
        start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON 
--test > /dev/null \
                || return 1
        start-stop-daemon --start --quiet --pidfile $PIDFILE --chuid 
${USER}:${GROUP} --exec $DAEMON -- \
                $DAEMON_ARGS \
                || return 2
        # Add code here, if necessary, that waits for the process to be ready
        # to handle requests from services started subsequently which depend
        # on this one.  As a last resort, sleep for some time.
        
}
do_stop()
{
        
    start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE 
--name $NAME
    RETVAL="$?"
    [ "$RETVAL" = 2 ] && return 2
        # Wait for children to finish too if this is a daemon that forks
        # and if the daemon is only ever run from this initscript.
        # If the above conditions are not satisfied then add some other code
        # that waits for the process to drop all resources that could be
        # needed by services started subsequently.  A last resort is to
        # sleep for some time.
        start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec 
$DAEMON
        [ "$?" = 2 ] && return 2
        # Many daemons don't delete their pidfiles when they exit.
        rm -f $PIDFILE
        
        return "$RETVAL"
}
do_reload() {
        #
        # If the daemon can reload its configuration without
        # restarting (for example, when it is sent a SIGHUP),
        # then implement that here.
        #
    start-stop-daemon --stop --signal HUP --quiet --pidfile $PIDFILE --name 
$NAME
        return 0
}
case "$1" in
  start)
        [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
        do_start
        case "$?" in
                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        esac
        ;;
  stop)
        [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
        do_stop
        case "$?" in
                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        esac
        ;;
  status)
        status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
        ;;
  reload|force-reload)
        log_daemon_msg "Reloading $DESC" "$NAME"
        do_reload
        log_end_msg $?
        ;;
  restart)
        log_daemon_msg "Restarting $DESC" "$NAME"
        do_stop
        case "$?" in
          0|1)
                do_start
                case "$?" in
                        0) log_end_msg 0 ;;
                        1) log_end_msg 1 ;; # Old process is still running
                        *) log_end_msg 1 ;; # Failed to start
                esac
                ;;
          *)
                # Failed to stop
                log_end_msg 1
                ;;
        esac
        ;;
  *)
        echo "$SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
        exit 3
        ;;
esac
:


-- debconf information:
  mailman3-core/pgsql/authmethod-user: password
* mailman3-core/config_hyperkitty: true
  mailman3-core/db/basepath:
  mailman3-core/remote/newhost:
* mailman3-core/init_service_failed:
  mailman3-core/internal/reconfiguring: false
  mailman3-core/pgsql/admin-user: postgres
  mailman3-core/passwords-do-not-match:
* mailman3-core/database-type: mysql
  mailman3-core/upgrade-backup: true
  mailman3-core/dbconfig-upgrade: true
  mailman3-core/pgsql/manualconf:
  mailman3-core/upgrade-error: abort
  mailman3-core/install-error: abort
  mailman3-core/internal/skip-preseed: false
  mailman3-core/dbconfig-reinstall: false
  mailman3-core/remote/host: localhost
* mailman3-core/mysql/admin-user: root
  mailman3-core/purge: false
  mailman3-core/db/app-user: mailman3@localhost
  mailman3-core/db/dbname: mailman3
  mailman3-core/mysql/method: Unix socket
  mailman3-core/pgsql/authmethod-admin: ident
  mailman3-core/remove-error: abort
* mailman3-core/dbconfig-install: true
  mailman3-core/pgsql/changeconf: false
  mailman3-core/pgsql/method: TCP/IP
  mailman3-core/missing-db-package-error: abort
  mailman3-core/dbconfig-remove: true
  mailman3-core/remote/port:
  mailman3-core/pgsql/no-empty-passwords:

Reply via email to