Unverified Commit 95e20600 authored by IKEDA Soji's avatar IKEDA Soji Committed by GitHub
Browse files

Merge branch 'sympa-6.2' into sympa-6.2

parents ddc0c62d 5e44187a
---
name: Bug report
about: Create a report to help us improve
---
<!--- ↑↑ Provide a general summary of the issue in the Title above ↑↑ -->
Version
-------
<!-- Versions of Sympa and related software -->
Installation method
-------------------
<!-- How you installed Sympa: deb, rpm, ports, ... or source package -->
Expected behavior
-----------------
<!--- Tell us what should happen -->
Actual behavior
---------------
<!--- Tell us what happens instead of the expected behavior -->
Additional information
----------------------
<!--- You may also attach files using "selecting them" link below. -->
<!--- NOTE that you should not include sensitive information! -->
---
name: Feature request
about: Suggest an idea for this project
---
<!--- ↑↑ Provide a general summary of the issue in the Title above ↑↑ -->
Expected Behavior
-----------------
<!--- Tell us how it should work -->
Current Behavior
----------------
<!--- Explain the difference from current behavior -->
Possible Solution
-----------------
<!--- Not obligatory, but suggest ideas how to implement the addition or change -->
Context
-------
<!--- How has this issue affected you? What are you trying to accomplish? -->
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
---
name: Question
about: Ask community for help
---
<!--- ↑↑ Provide a general summary of the issue in the Title above ↑↑ -->
......@@ -35,6 +35,7 @@ Makefile
/default/list_aliases.tt2
/po/sympa/remove-potcdate.sed
/po/sympa/stamp-po
/po/web_help/remove-potcdate.sed
/po/web_help/stamp-po
/src/etc/script/sympa
/src/lib/Sympa/Constants.pm
......@@ -53,8 +54,6 @@ Makefile
# make dist
/sympa-*.tar.gz
/META.json
/sympa.spec
# perltidy
......@@ -62,3 +61,15 @@ Makefile
*.tdy
*.LOG
# GitHub
/.github
/.includepath
/.project
# Vim tmp file
*.sw?
# ctags
tags
ctags
......@@ -3,6 +3,7 @@ sudo: false
language: perl
perl:
- "5.26"
- "5.24"
- "5.22"
- "5.20"
......@@ -28,8 +29,10 @@ install:
- cpan-install --coverage
- cpanm --notest --quiet Test::Compile Test::Harness Test::More Test::Pod
- cpanm --notest --quiet Archive::Zip CGI Class::Singleton DBI DateTime::Format::Mail DateTime::TimeZone Digest::MD5 Encode File::Copy::Recursive File::NFSLock File::Path HTML::FormatText HTML::StripScripts::Parser HTML::TreeBuilder IO::File IO::Scalar LWP::UserAgent List::Util::XS Locale::Messages MHonArc::UTF8 MIME::Base64 MIME::Charset MIME::EncWords MIME::Lite::HTML MIME::Tools Mail::Address Net::CIDR Sys::Syslog Template Term::ProgressBar Text::LineFold Time::HiRes URI::Escape XML::LibXML
- cpanm --notest --quiet CGI::Fast FCGI
- cpanm --notest --quiet Unicode::CaseFold
- cpanm --notest --quiet SOAP::Lite Net::LDAP
- cpanm --installdeps . --with-develop
before_script:
- coverage-setup
......@@ -38,7 +41,8 @@ script:
- autoreconf -i
- ./configure
- cd src; make; cd ..
- make check-local TEST_FILES='t/compile_executables.t t/compile_modules.t t/parse_templates.t t/pod-syntax.t'
- make check-local TEST_FILES='xt/perltidy.t' || true
- make check-local TEST_FILES='t/compile_executables.t t/compile_modules.t t/Language.t t/parse_templates.t t/pod-syntax.t'
after_success:
- coverage-report
......
Contributing to Sympa
=====================
Please report bugs, suggest new features, translate user interface to your language, or enhance documentation, if you want to help the sympa community to deliver a more reliable version of Sympa.
How to report bugs / send patches
---------------------------------
We expect feedback by users and developers. You can submit issues and pull requests to the project on GitHub:
- [sympa project on GitHub](https://github.com/sympa-community/sympa)
If you have difficulty accessing GitHub site, you may send bug reports to the developers:
- [sympa-developpers mailing list](https://listes.renater.fr/sympa/info/sympa-developpers)
Note that your message will be open to the public.
How to translate user interface
-------------------------------
You may help us translating user interface of Sympa to your languages:
* [Translate Sympa](https://translate.sympa.org/)
To add or correct translations, you have to sign up.
More about translation, please see the [Translation Guide](https://translate.sympa.org/pages/help).
Incubating new documentation
-------------------------------
The site for development of Sympa documentation launced:
* [Incubating the new Sympa documentation site](https://github.com/sympa-community/sympa-community.github.io)
This site aims to renovate Sympa documentation. We expect inputs including addition, correction and suggestion from the community. For further details, please see the page "[Contributing for Sympa documentation](https://github.com/sympa-community/sympa-community.github.io/blob/master/CONTRIBUTING.md)".
----
[The Sympa Community](https://github.com/sympa-community)
Reference manual
================
This document is only a quick start.
For detailed installation / setup information, refer to the reference manual :
To install Sympa, see Sympa Administration Manual:
* https://www.sympa.org/manual/
Requirements
============
Sympa requires other applications to run :
* Perl and GCC C compiler. You may have to use Gnu make
* MTA (Sendmail, Postfix, exim and qmail supported)
* relational database (MySQL / MariaDB, PostgreSQL, Oracle Database and
SQLite supported)
* web server (Apache HTTP Server, nginx or another web server)
* FastCGI (e.g. mod_fcgid for Apache)
* many Perl modules : they may be installed by ``sympa_wizard.pl --check``
described below
Installing Sympa from sources
=============================
(If you get sources from git repository, first run: ``autoreconf -i``)
Create a dedicated user ``sympa``:``sympa`` (and it's home directory) and run
```
./configure (options); make; make install
```
Then check dependent modules
```
sympa_wizard.pl --check
```
This wizard will propose that you upgrade some CPAN modules.
In this case you'll need to be root.
Some Perl modules require additionnal libraries, for example :
- XML::LibXML requires libxml2 library and headers
- Net::SSLeay requires openssl libraries and headers
Setup
=====
1. Sympa setup
You can edit ``sympa.conf`` manually or run ``sympa_wizard.pl`` that will
help you create your configuration files.
2. Syslog setup (syslogd)
Default for Sympa is to log in 'local1' (you can configure this in
``sympa.conf``).
You should add the following line to your ``syslog.conf`` file :
```
local1.* /var/log/sympa
```
On Solaris (7 & 8) and True64, the '.*' level is not recognized in
``syslog.conf```.
You need to enumerate levels :
```
local1.info,local1.notice,local1.debug /var/log/sympa
```
3. Database setup (MySQL)
Your MySQL version MUST be at least 4.1.1 in order to run correctly with
Sympa.
db_xxx parameters in ``sympa.conf`` refer to your local database.
You'll have to create dedicated database user ``sympa``,
creata an empty database and provide access to this user.
Then create table structure:
```
sympa.pl --health_check
```
4. Mail aliases setup (Sendmail)
Sympa will use a dedicated alias file for its own mail aliases, default is
``/etc/mail/sympa_aliases``.
You have to configure your MTA (Sendmail, Postfix, ...) to use this file.
You should also create the main Sympa aliases ; they will look like this :
```
sympa: "| /home/sympa/bin/queue sympa@my.domain.org"
listmaster: "| /home/sympa/bin/queue listmaster@my.domain.org"
bounce+*: "| /home/sympa/bin/bouncequeue sympa@my.domain.org"
sympa-request: postmaster
sympa-owner: postmaster
```
(Later mailing lists aliases will be installed automatically by Sympa)
5. Web setup (Apache)
You should add these lines to your ``httpd.conf`` file :
```
Alias /static-sympa /home/sympa/static_content
ScriptAlias /sympa /home/sympa/bin/wwsympa-wrapper.fcgi
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
</IfModule>
```
To login with listmaster privileges, you should login on the web
interface with the email address you declared in ``sympa.conf``. To get an
initial password just hit the "First login" button.
* https://sympa-community.github.io/manual/install.html
# -*- indent-tabs-mode: nil; -*-
# vim:ft=perl:et:sw=4
# $Id$
use lib qw(src/lib);
use strict;
use warnings;
use CPAN::Meta '2.00';
use Sympa::Constants;
use Sympa::ModDef;
my $struct = {
# Required fields
abstract => 'Sympa is a powerful multilingual List Manager',
author => ['Sympa authors <sympa-authors@listes.renater.fr>'],
dynamic_config => 0,
license => [qw(gpl_2 gpl_3)],
name => 'sympa',
release_status => '', # See below
version => Sympa::Constants::VERSION(),
# Optional fields
no_index => {directory => [qw(po t www xt)],},
optional_features => {}, # See below
prereqs => {}, # See below
resources => {
homepage => 'https://www.sympa.org/',
bugtracker =>
{web => 'https://sourcesup.renater.fr/tracker/?group_id=23',},
repository => {
url => 'https://subversion.renater.fr/sympa',
type => 'svn',
},
},
};
$struct->{release_status} =
(Sympa::Constants::VERSION() =~ /\da/) ? 'unstable'
: (Sympa::Constants::VERSION() =~ /\db/) ? 'testing'
: 'stable';
$struct->{optional_features} = {optional_features()};
$struct->{prereqs} = {prereqs()};
my $meta = CPAN::Meta->create($struct);
print $meta->as_string;
exit 0;
sub optional_features {
my %features;
foreach my $mod (sort keys %Sympa::ModDef::cpan_modules) {
my $def = $Sympa::ModDef::cpan_modules{$mod};
next if $mod eq 'perl' or $def->{mandatory};
$features{$def->{package_name}}{description} = $def->{gettext_id}
if $def->{gettext_id};
$features{$def->{package_name}}{prereqs}{runtime}{requires}{$mod} =
$def->{required_version} || '0';
}
return %features;
}
sub prereqs {
my %requires;
foreach my $mod (sort keys %Sympa::ModDef::cpan_modules) {
my $def = $Sympa::ModDef::cpan_modules{$mod};
next unless $mod eq 'perl' or $def->{mandatory};
$requires{$mod} = $def->{required_version} || '0';
}
my %requires_perl =
('perl' => $Sympa::ModDef::cpan_modules{'perl'}->{required_version});
return (
configure => {requires => \%requires_perl},
build => {requires => \%requires_perl},
test => {
requires =>
{%requires, 'Test::Harness' => '0', 'Test::More' => '0'}
},
runtime => {requires => \%requires},
develop => {requires => {'CPAN::Meta' => '2.00'}},
);
}
......@@ -6,6 +6,9 @@
# Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
# 2006, 2007, 2008, 2009, 2010, 2011 Comite Reseau des Universites
# Copyright (c) 2011, 2012, 2013, 2014, 2015, 2016, 2017 GIP RENATER
# Copyright 2017, 2018 The Sympa Community. See the AUTHORS.md file at the
# top-level directory of this distribution and at
# <https://github.com/sympa-community/sympa.git>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
......@@ -21,11 +24,10 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
SUBDIRS = src default doc po www
if SMTPC
SUBDIRS += src/smtpc
endif
check_SCRIPTS = \
t/01_Conf.t \
t/02_Sympa_DatabaseManager.t \
t/Language.t \
t/LockedFile.t \
t/Regexps.t \
......@@ -52,37 +54,38 @@ check_DATA = \
t/pki/key/rousse_nopassword.pem \
t/pki/key/rousse_password.pem \
t/stub/Sympa/Constants.pm \
t/data/sympa.conf \
t/data/sympa.sqlite \
t/data/etc/auth.conf \
xt/perlcriticrc
noinst_SCRIPTS = \
xt/critic.t \
xt/fixme.t \
xt/fixme-todo.t \
xt/pod-coverage.t \
xt/pod-spelling.t
xt/pod-spelling.t \
xt/perltidy.t
EXTRA_DIST = \
AUTHORS.md \
important_changes.pl \
CONTRIBUTING.md \
cpanfile \
INSTALL.md \
META.json.pl \
META.json \
NEWS.md \
OChangeLog \
ONEWS \
README.md \
sympa.spec.pl \
sympa.spec \
etc_README \
$(check_SCRIPTS) $(check_DATA) \
$(noinst_SCRIPTS)
CLEANFILES = META.json previous_sympa_version sympa.spec sympa_wizard.pl.inst
CLEANFILES = sympa_wizard.pl.inst
MSGFMT=@MSGFMT@
.po.mo:
$(MSGFMT) -o $@ $<
check-local:
check-local: $(check_DATA)
[ -z "$(TEST_FILES)" ] && TEST_FILES="$(check_SCRIPTS)"; \
PERL5LIB=src/lib; export PERL5LIB; \
$(PERL) -MTest::Harness -e 'runtests @ARGV' $$TEST_FILES
......@@ -92,12 +95,7 @@ authorcheck:
PERL5LIB=src/lib; export PERL5LIB; \
$(PERL) -MTest::Harness -e 'runtests @ARGV' $$TEST_FILES
install-data-hook: installdir installconfig nextstep importantchanges
if SMTPC
-@chown $(USER) $(DESTDIR)$(bindir)/sympa_smtpc
-@chgrp $(GROUP) $(DESTDIR)$(bindir)/sympa_smtpc
-@chmod 750 $(DESTDIR)$(bindir)/sympa_smtpc
endif
install-data-hook: installdir installconfig nextstep
installdir:
@echo "Creating plugin directory"
......@@ -109,7 +107,7 @@ installdir:
done
@echo "Creating writable directories"
-@for dir in $(expldir) $(spooldir) $(bouncedir) $(arcdir) $(piddir) \
$(staticdir) $(staticdir)/js $(sysconfdir); do \
$(sysconfdir); do \
if [ ! -d $(DESTDIR)$$dir ] ; then \
echo "Creating $(DESTDIR)$$dir"; \
$(INSTALL) -d -m 755 $(DESTDIR)$$dir; \
......@@ -172,13 +170,14 @@ installconfig: installdir sympa_wizard.pl.inst
-e 's|--sysconfdir--|$(sysconfdir)|' \
-e 's|--defaultdir--|$(defaultdir)|' \
etc_README > $(DESTDIR)$(sysconfdir)/README; \
chmod 444 $(DESTDIR)$(sysconfdir)/README; \
chmod 644 $(DESTDIR)$(sysconfdir)/README; \
fi
@$(INSTALL_DATA) cpanfile $(DESTDIR)$(modulesdir)/;
nextstep:
@echo ""
@echo "** You can find documentation at:"
@echo "** http://www.sympa.org/manual/"
@echo "** https://sympa-community.github.io/manual/"
@echo ""
@echo "#########################################################"
@echo "# CHECK YOU HAVE ALL THE NEEDED MODULES:"
......@@ -195,14 +194,6 @@ nextstep:
@echo "# $(sbindir)/sympa.pl --upgrade"
@echo "#######################################################"
importantchanges:
@if test -f $(top_srcdir)/previous_sympa_version; then \
export PREVIOUS=`$(CAT) $(top_srcdir)/previous_sympa_version`; \
fi; \
$(PERL) $(top_srcdir)/important_changes.pl \
--current=$(VERSION) \
--previous=$${PREVIOUS};
uninstall-hook:
rm -f $(DESTDIR)$(confdir)/sympa.conf
rm -f $(DESTDIR)$(confdir)/wwsympa.conf
......@@ -210,11 +201,3 @@ uninstall-hook:
dist-hook:
$(MAKE) check
META.json: META.json.pl Makefile src/lib/Sympa/ModDef.pm
cd src/lib; $(MAKE) Sympa/Constants.pm
$(PERL) META.json.pl > META.json
sympa.spec: sympa.spec.pl Makefile src/lib/Sympa/ModDef.pm
cd src/lib; $(MAKE) Sympa/Constants.pm
$(PERL) sympa.spec.pl > sympa.spec
This diff is collapsed.
......@@ -10,7 +10,7 @@ lists. For a list with 20 000 subscribers, it takes 5 minutes to send a
message to 90% of subscribers, of course considering that the network is
available.
Documentation: https://www.sympa.org/manual/
Documentation: https://sympa-community.github.io/
------------------------------------------------------------------------------
......@@ -23,4 +23,35 @@ adapté aux grandes listes. Avec une liste de 20 000 abonnés, il faut 5
minutes pour envoyer un message à 90% des abonnés, lorsque le réseau est
disponible bien évidemment.
La documentation : https://www.sympa.org/manual/
La documentation : https://sympa-community.github.io/
------------------------------------------------------------------------------
Projects related to Sympa
-------------------------
- [Sympa](https://github.com/sympa-community/sympa)
Sympa, Mailing List Management Software
- [Sympa-Ansible](https://github.com/sympa-community/sympa-ansible)
Generic install of Sympa with Ansible
- [sympa-community.github.io](https://github.com/sympa-community/sympa-community.github.io)
Incubating the new Sympa documentation site
- [sympa-contribs](https://github.com/sympa-community/sympa-contribs)
A repository for contributions to Sympa that won't fit in the code but could be useful to others anyway
- [Translate Sympa](https://translate.sympa.org)
Translating user interface of Sympa to your languages
- More projects are found in the page below.
----
[The Sympa Community](https://github.com/sympa-community)
......@@ -7,6 +7,9 @@
# Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
# 2006, 2007, 2008, 2009, 2010, 2011 Comite Reseau des Universites
# Copyright (c) 2011, 2012, 2013, 2014, 2015, 2016, 2017 GIP RENATER
# Copyright 2017, 2018 The Sympa Community. See the AUTHORS.md file at the
# top-level directory of this distribution and at
# <https://github.com/sympa-community/sympa.git>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
......@@ -22,7 +25,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
AC_PREREQ(2.60)
AC_INIT(sympa, 6.2.19b.1, sympa-developpers@listes.renater.fr)
AC_INIT(sympa, 6.2.34, sympa-developpers@listes.renater.fr)
AM_INIT_AUTOMAKE([foreign -Wall -Werror 1.9 tar-pax])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AM_PO_SUBDIRS
......@@ -58,6 +61,8 @@ if test "$fhs" = "yes"; then
execcgidir=$libdir/sympa/cgi
expldir=$localstatedir/lib/sympa/list_data
staticdir=$localstatedir/lib/sympa/static_content
cssdir=$localstatedir/lib/sympa/static_content/css
picturesdir=$localstatedir/lib/sympa/static_content/pictures
spooldir=$localstatedir/spool/sympa
arcdir=$localstatedir/lib/sympa/arc
bouncedir=$localstatedir/lib/sympa/bounce
......@@ -91,6 +96,8 @@ else
expldir=$prefix/list_data
spooldir=$prefix/spool
staticdir=$prefix/static_content
cssdir=$prefix/static_content/css
picturesdir=$prefix/static_content/pictures
arcdir=$prefix/arc
bouncedir=$prefix/bounce
confdir=/etc/sympa
......@@ -109,28 +116,14 @@ AC_SUBST(execcgidir)
AC_SUBST(expldir)
AC_SUBST(spooldir)
AC_SUBST(staticdir)
AC_SUBST(cssdir)
AC_SUBST(picturesdir)
AC_SUBST(arcdir)
AC_SUBST(bouncedir)
AC_SUBST(localedir)
AC_SUBST(confdir)
AC_SUBST(docdir)
## Disable smtpc command line utility
AC_ARG_ENABLE(
smtpc,
AS_HELP_STRING(
[--disable-smtpc],
[do not install smtpc command line utility (default is yes)]
),
[case "$enableval" in
yes) smtpc=true;;
no) smtpc=false;;
*) smtpc=true;;
esac],
[smtpc=true]
)
AM_CONDITIONAL([SMTPC], [test x$smtpc = xtrue])
# allow user to redefine some of them
AC_ARG_WITH(
confdir,
......@@ -332,6 +325,24 @@ AC_ARG_WITH(
[staticdir="$withval"]
)
AC_ARG_WITH(
cssdir,
AS_HELP_STRING(
[--with-cssdir=DIR],
[generated css @<:@PREFIX/static_content/css@:>@]
),
[cssdir="$withval"]
)
AC_ARG_WITH(
picturesdir,
AS_HELP_STRING(
[--with-picturesdir=DIR],
[subscribers pictures @<:@PREFIX/static_content/pictures@:>@]
),
[picturesdir="$withval"]
)
CONFIG=$confdir/sympa.conf
AC_SUBST(CONFIG)
WWSCONFIG=$confdir/wwsympa.conf
......@@ -614,8 +625,4 @@ AC_CONFIG_FILES([
www/Makefile
])
AC_CONFIG_SUBDIRS([src/smtpc])
SMTPC_CONFIGURE_OPTIONS="--program-prefix=sympa_"
export SMTPC_CONFIGURE_OPTIONS
AC_OUTPUT
### Requirements
##
# Minimum version of Perl required.
# Notation suggested on https://metacpan.org/pod/Carton#PERL-VERSIONS