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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to