[Pkg-mlmmj-devel] Bug#821533: mlmmj-php-web, mlmmj-php-web-admin: PHP 7.0 Transition
Chris Knadle
Chris.Knadle at coredump.us
Wed May 25 21:51:40 UTC 2016
The PHP 5 -> 7 transition: there was one eregi() call and one ereg() call
which are functions deprecated in PHP 5.3.-0 removed from PHP 7.0.0. With
those fixed the mlmmj-php-web and mlmmj-php-web-admin packages work fine.
debdiff attached.
-- Chris
--
Chris Knadle
Chris.Knadle at coredump.us
-------------- next part --------------
diffstat for mlmmj-1.2.18.1 mlmmj-1.2.18.1
README.source | 1
changelog | 30 ++++++++++++++++
control | 13 +++----
copyright | 6 +--
docs | 1
patches/05_fix_displayed_full_paths.diff | 6 +--
patches/06_fix-php-web-for-php7.diff | 35 +++++++++++++++++++
patches/07_fix-crontab-suggestions.diff | 56 +++++++++++++++++++++++++++++++
patches/series | 4 +-
rules | 44 ++++++++++++++++++------
10 files changed, 170 insertions(+), 26 deletions(-)
diff -Nru mlmmj-1.2.18.1/debian/changelog mlmmj-1.2.18.1/debian/changelog
--- mlmmj-1.2.18.1/debian/changelog 2014-05-31 10:44:56.000000000 -0400
+++ mlmmj-1.2.18.1/debian/changelog 2016-05-24 22:28:54.000000000 -0400
@@ -1,3 +1,33 @@
+mlmmj (1.2.18.1-2) unstable; urgency=medium
+
+ * debian/control
+ - Add myself to Uploaders
+ - Depend on PHP 7 rather than PHP 5 (Closes: #821532, #821533)
+ - Update Standards-Version to 3.9.8 (no changes needed)
+ - Update Vcs-Browser and Vcs-Git links with https version
+ * debian/copyright
+ - Update from DEP5 to copyright 1.0 format
+ - Update BSD keyword to BSD-4-clause
+ * debian/docs:
+ - Remove debian/README.source (file removed)
+ * debian/patches:
+ - Update 05_fix_displayed_full_paths.diff for line offset fuzz
+ - Reorder series file to apply patches in numeric order
+ - Add 06_fix-php-web-for-php7.diff to fix mlmmj web packages for PHP 7.0
+ - Add 07_fix-crontab-suggestions.diff to fix the crontab instructions to
+ include the user (root) to run the crontab entry, and inform the user
+ that the Debian package already includes a crontab entry
+ (Closes: #804436)
+ * debian/rules:
+ - Update to split up package building for arch and indep so that
+ binary-arch doesn't produce "arch: all" packages which is supposed
+ to happen only in the binary-indep target
+ * debian/README.source:
+ - Remove file as it is no longer necessary; stated that the package is
+ using dpatch which isn't the case as of 1.2.17-4
+
+ -- Christopher Knadle <Chris.Knadle at coredump.us> Wed, 11 May 2016 22:46:20 -0400
+
mlmmj (1.2.18.1-1) unstable; urgency=medium
* New upstream release (Closes: #749959).
diff -Nru mlmmj-1.2.18.1/debian/control mlmmj-1.2.18.1/debian/control
--- mlmmj-1.2.18.1/debian/control 2014-05-31 10:44:56.000000000 -0400
+++ mlmmj-1.2.18.1/debian/control 2016-05-24 22:27:47.000000000 -0400
@@ -2,11 +2,12 @@
Section: mail
Priority: optional
Maintainer: MLMMJ packaging team <pkg-mlmmj-devel at lists.alioth.debian.org>
-Uploaders: Thomas Goirand <zigo at debian.org>
+Uploaders: Thomas Goirand <zigo at debian.org>,
+ Christopher Knadle <Chris.Knadle at coredump.us>
Build-Depends: debhelper (>= 9), dpkg-dev (>= 1.16.1.1~)
-Standards-Version: 3.9.5
-Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-mlmmj/mlmmj.git
-Vcs-Git: http://anonscm.debian.org/git/pkg-mlmmj/mlmmj.git
+Standards-Version: 3.9.8
+Vcs-Browser: https://anonscm.debian.org/gitweb/?p=pkg-mlmmj/mlmmj.git
+Vcs-Git: https://anonscm.debian.org/git/pkg-mlmmj/mlmmj.git
Homepage: http://mlmmj.org/
Package: mlmmj
@@ -35,7 +36,7 @@
Package: mlmmj-php-web
Architecture: all
-Depends: ${misc:Depends}, mlmmj, php5
+Depends: ${misc:Depends}, mlmmj, php
Description: web interface for mlmmj, written in php
A web based tool for mlmmj written in php, so that your users can subscribe
or unsubscribe through some HTML forms, which sometimes, might be more
@@ -43,7 +44,7 @@
Package: mlmmj-php-web-admin
Architecture: all
-Depends: ${misc:Depends}, mlmmj, php5
+Depends: ${misc:Depends}, mlmmj, php
Description: administrative web interface for mlmmj, written in php
This web based administrative tool for mlmmj written in php will help you
to configure each mailing list individualy, through the web. You will be
diff -Nru mlmmj-1.2.18.1/debian/copyright mlmmj-1.2.18.1/debian/copyright
--- mlmmj-1.2.18.1/debian/copyright 2014-05-31 10:44:56.000000000 -0400
+++ mlmmj-1.2.18.1/debian/copyright 2016-05-11 23:05:13.000000000 -0400
@@ -1,4 +1,4 @@
-Format: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=240
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: mlmmj
Upstream-Contact: MLMMJ <mlmmj at mlmmj.org>
Source: http://www.mlmmj.org
@@ -14,7 +14,7 @@
Files: src/find_email_adr.c
Copyright: (c) 1980, 1993, The Regents of the University of California
-License: BSD
+License: BSD-4-clause
Files: *
Copyright: (c) 2002, 2003, 2004 Mads Martin Joergensen
@@ -44,7 +44,7 @@
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
-License: BSD
+License: BSD-4-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
.
diff -Nru mlmmj-1.2.18.1/debian/docs mlmmj-1.2.18.1/debian/docs
--- mlmmj-1.2.18.1/debian/docs 2014-05-31 10:44:56.000000000 -0400
+++ mlmmj-1.2.18.1/debian/docs 2016-05-24 17:06:14.000000000 -0400
@@ -9,5 +9,4 @@
TODO
TUNABLES
UPGRADE
-debian/README.source
README.listtexts
diff -Nru mlmmj-1.2.18.1/debian/patches/05_fix_displayed_full_paths.diff mlmmj-1.2.18.1/debian/patches/05_fix_displayed_full_paths.diff
--- mlmmj-1.2.18.1/debian/patches/05_fix_displayed_full_paths.diff 2014-05-31 10:44:56.000000000 -0400
+++ mlmmj-1.2.18.1/debian/patches/05_fix_displayed_full_paths.diff 2016-05-22 14:08:04.000000000 -0400
@@ -2,9 +2,9 @@
Subject: Changes path of a printf in mlmmj.h to be /usr/bin and
not /usr/local/bin when printing usages.
Forwarded: not-needed
---- a/include/mlmmj.h 2012-01-22 15:36:11.000000000 +0800
-+++ b/include/mlmmj.h 2012-01-22 15:36:16.000000000 +0800
-@@ -88,7 +88,7 @@
+--- a/include/mlmmj.h
++++ b/include/mlmmj.h
+@@ -105,7 +105,7 @@
#define CHECKFULLPATH(name) if(strchr(name, '/') == NULL) { \
fprintf(stderr, "All mlmmj binaries have to " \
"be invoked with full path,\n" \
diff -Nru mlmmj-1.2.18.1/debian/patches/06_fix-php-web-for-php7.diff mlmmj-1.2.18.1/debian/patches/06_fix-php-web-for-php7.diff
--- mlmmj-1.2.18.1/debian/patches/06_fix-php-web-for-php7.diff 1969-12-31 19:00:00.000000000 -0500
+++ mlmmj-1.2.18.1/debian/patches/06_fix-php-web-for-php7.diff 2016-05-22 17:08:20.000000000 -0400
@@ -0,0 +1,35 @@
+Description: Update for PHP 5 -> PHP 7 transition
+ ereg() and eregi() were deprecated with PHP 5.3.0 and removed in PHP 7.0.0
+ https://secure.php.net/manual/en/function.ereg.php
+ https://secure.php.net/manual/en/function.eregi.php
+ Also remove min 2, max 4 character TLD portion of regex, as there are
+ top-level domains > 4 chars now.
+ Thanks to Ron Guerin <ron at vnetworx.net> for his help with the PHP regexes.
+Author: Christopher Knadle <Chris.Knadle at coredump.us>
+Bug-Debian: https://bugs.debian.org/821532
+Bug-Debian: https://bugs.debian.org/821533
+Last-Updated: 2016-05-22
+
+--- a/contrib/web/php-user/mlmmj.php
++++ b/contrib/web/php-user/mlmmj.php
+@@ -37,7 +37,7 @@
+
+ function is_email($string="")
+ {
+- if (eregi("^[a-z0-9\._-]+".chr(64)."+[a-z0-9\._-]+\.+[a-z]{2,4}$", $string))
++ if (preg_match(chr(7)."^[a-z0-9\._-]+ at +[a-z0-9\._-]+\.+[a-z]+$".chr(7).'i', $string))
+ {
+ return TRUE;
+ }
+
+--- a/contrib/web/php-admin/htdocs/index.php
++++ b/contrib/web/php-admin/htdocs/index.php
+@@ -37,7 +37,7 @@
+
+ # use scandir to have alphabetical order
+ foreach (scandir($topdir) as $file) {
+- if (!ereg("^\.",$file))
++ if (substr($file,0,1) != '.')
+ {
+ $lists .= "<p>".htmlentities($file)."<br/>\n";
+ $lists .= "<a href=\"edit.php?list=".urlencode($file)."\">Config</a> - <a href=\"subscribers.php?list=".urlencode($file)."\">Subscribers</a>\n";
diff -Nru mlmmj-1.2.18.1/debian/patches/07_fix-crontab-suggestions.diff mlmmj-1.2.18.1/debian/patches/07_fix-crontab-suggestions.diff
--- mlmmj-1.2.18.1/debian/patches/07_fix-crontab-suggestions.diff 1969-12-31 19:00:00.000000000 -0500
+++ mlmmj-1.2.18.1/debian/patches/07_fix-crontab-suggestions.diff 2016-05-24 13:49:14.000000000 -0400
@@ -0,0 +1,56 @@
+Description: Alter the mlmmj instructions for making a crontab entry, which
+ by default tells the user to add an entry without specifying the user.
+ Additionally let the user know that the Debian package already adds a
+ crontab entry in /etc/cron.d meaning under normal circumstances no
+ additional crontab is necessary
+Author: Christopher Knadle <Chris.Knadle at coredump.us>
+Bug-Debian: https://bugs.debian.org/804436
+Last-Updated: 2016-05-22
+
+--- a/src/mlmmj-make-ml
++++ b/src/mlmmj-make-ml
+@@ -133,7 +133,7 @@
+ fi
+
+ ALIAS="$LISTNAME: \"|$MLMMJRECEIVE -L $SPOOLDIR/$LISTNAME/\""
+-CRONENTRY="0 */2 * * * \"$MLMMJMAINTD -F -L $SPOOLDIR/$LISTNAME/\""
++CRONENTRY="0 */2 * * * root $MLMMJMAINTD -F -L $SPOOLDIR/$LISTNAME/"
+
+ if [ -n "$A_CREATE" ]; then
+ echo "I want to add the following to your $ALIASFILE file:"
+@@ -175,9 +175,15 @@
+ fi
+
+ echo
+-echo "If you're not starting mlmmj-maintd in daemon mode,"
+-echo "don't forget to add this to your crontab:"
++echo "If you're not running mlmmj-maintd for all mailing lists"
++echo "in /var/spool/mlmmj such as"
++echo " /usr/bin/mlmmj-maintd -F -d /var/spool/mlmmj"
++echo "via cron, then don't forget to add this to your crontab:"
+ echo "$CRONENTRY"
++echo
++echo "Note: the Debian mlmmj package installs a crontab in"
++echo " /etc/cron.d/mlmmj which runs mlmmj-maintd for all"
++echo " mailing lists in /var/spool/mlmmj every 1/2 hour."
+
+ echo
+ echo " ** FINAL NOTES **
+--- a/README
++++ b/README
+@@ -95,11 +95,11 @@
+ 4) Start mlmmj-maintd (remember full path when starting it!) or add it to
+ crontab with -F switch. The recommended way for now is to run it via cron:
+
+- "0 */2 * * * /usr/bin/mlmmj-maintd -F -L /var/spool/mlmmj/mlmmj-test"
++ 0 */2 * * * root /usr/bin/mlmmj-maintd -F -L /var/spool/mlmmj/mlmmj-test
+
+- It should be started as root, as mlmmj-maintd will become the user owning
+- the listdir (/var/spool/mlmmj/mlmmj-test), and log it's last maintenance
+- run to listdir/mlmmj-maintd.lastrun.log.
++ Started as root, as mlmmj-maintd will become the user owning the listdir
++ (/var/spool/mlmmj/mlmmj-test), and log it's last maintenance run to
++ listdir/mlmmj-maintd.lastrun.log.
+
+ If you have several lists below /var/spool/mlmmj you can use -d:
+ /usr/bin/mlmmj-maintd -F -d /var/spool/mlmmj
diff -Nru mlmmj-1.2.18.1/debian/patches/series mlmmj-1.2.18.1/debian/patches/series
--- mlmmj-1.2.18.1/debian/patches/series 2014-05-31 10:44:56.000000000 -0400
+++ mlmmj-1.2.18.1/debian/patches/series 2016-05-22 19:19:58.000000000 -0400
@@ -1,3 +1,5 @@
-05_fix_displayed_full_paths.diff
02_fix_mlmmj_php.diff
+05_fix_displayed_full_paths.diff
fixes-path-to-templates-folder-in-php-web-admin
+06_fix-php-web-for-php7.diff
+07_fix-crontab-suggestions.diff
diff -Nru mlmmj-1.2.18.1/debian/README.source mlmmj-1.2.18.1/debian/README.source
--- mlmmj-1.2.18.1/debian/README.source 2014-05-31 10:44:56.000000000 -0400
+++ mlmmj-1.2.18.1/debian/README.source 1969-12-31 19:00:00.000000000 -0500
@@ -1 +0,0 @@
-This package is using dpatch, so that it can be easily backported to Stable.
diff -Nru mlmmj-1.2.18.1/debian/rules mlmmj-1.2.18.1/debian/rules
--- mlmmj-1.2.18.1/debian/rules 2014-05-31 10:44:56.000000000 -0400
+++ mlmmj-1.2.18.1/debian/rules 2016-05-24 19:05:26.000000000 -0400
@@ -25,30 +25,48 @@
dh_testdir
./configure $(CONFFLAGS) $(shell dpkg-buildflags --export=configure)
touch configure-stamp
+
build: build-arch build-indep
-build-arch: build-stamp
-build-indep: build-stamp
-build-stamp: configure-stamp
+
+build-arch: build-arch-stamp
+
+build-indep: build-indep-stamp
+
+build-arch-stamp: configure-stamp
dh_testdir
$(MAKE)
touch $@
+
+build-indep-stamp:
+
clean:
dh_testdir
dh_testroot
[ ! -f Makefile ] || $(MAKE) distclean
rm -f build-stamp configure-stamp config.log
- dh_clean
-install: build
+ dh_clean
+
+install: install-indep install-arch
+
+install-arch:
dh_testdir
dh_testroot
dh_prep
- dh_installdirs
+ dh_installdirs -a
# Add here commands to install the package into debian/mlmmj.
$(MAKE) DESTDIR=$(CURDIR)/debian/mlmmj install
rm $(CURDIR)/debian/mlmmj/usr/bin/mlmmj-make-ml.sh
install -m 755 -D $(CURDIR)/debian/mlmmj-make-ml.Debian \
$(CURDIR)/debian/mlmmj/usr/share/doc/mlmmj/mlmmj-make-ml.Debian
- dh_install -s
+ dh_install -a
+
+install-indep:
+ dh_testdir
+ dh_testroot
+ dh_prep
+ dh_installdirs -i
+ dh_install -i
+
# mlmmj-php-web
install -m 644 -D $(USER_ADMIN_SRC)/mlmmj.php $(CURDIR)/debian/mlmmj-php-web/usr/share/mlmmj-php-web/mlmmj.php
install -m 644 -D $(USER_ADMIN_SRC)/example.html $(CURDIR)/debian/mlmmj-php-web/usr/share/mlmmj-php-web/index.html
@@ -70,13 +88,13 @@
ln -s /etc/mlmmj-php-web-admin $(CURDIR)/debian/mlmmj-php-web-admin/usr/share/mlmmj-php-web-admin/conf
ln -s /etc/mlmmj-php-web-admin/templates $(CURDIR)/debian/mlmmj-php-web-admin/usr/share/mlmmj-php-web-admin/templates
-binary-common: build install
+binary-common:
dh_testdir
dh_testroot
dh_installchangelogs ChangeLog
dh_installdocs
dh_installexamples
- dh_installdebconf
+ dh_installdebconf
dh_installcron
dh_installman
dh_link
@@ -89,8 +107,12 @@
dh_md5sums
dh_builddeb
-binary-indep: binary-common
-binary-arch: binary-common
+binary-arch: build-arch install-arch
+ $(MAKE) -f debian/rules DH_OPTIONS=-s binary-common
+
+binary-indep: build-indep install-indep
+ $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
+
binary: binary-indep binary-arch
.PHONY: build build-arch build-indep clean binary-indep binary-arch binary install configure
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-mlmmj-devel/attachments/20160525/47b05169/attachment-0003.sig>
More information about the Pkg-mlmmj-devel
mailing list