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.kna...@coredump.us
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.kna...@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-de...@lists.alioth.debian.org> -Uploaders: Thomas Goirand <z...@debian.org> +Uploaders: Thomas Goirand <z...@debian.org>, + Christopher Knadle <chris.kna...@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 <ml...@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 <r...@vnetworx.net> for his help with the PHP regexes. +Author: Christopher Knadle <chris.kna...@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\._-]+@+[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.kna...@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
signature.asc
Description: OpenPGP digital signature