Merge ~ahasenack/ubuntu/+source/zoneminder:focal-zoneminder-mysql8 into ~ahasenack/ubuntu/+source/zoneminder:master

Proposed by Andreas Hasenack
Status: Merged
Approved by: Andreas Hasenack
Approved revision: 6dfc7d363f874e9417bd563ed95c96031ae9568b
Merged at revision: ebdcb0ab8587f01cf4c6b448bf0d5773e2be7dcf
Proposed branch: ~ahasenack/ubuntu/+source/zoneminder:focal-zoneminder-mysql8
Merge into: ~ahasenack/ubuntu/+source/zoneminder:master
Diff against target: 569 lines (+484/-4)
9 files modified
debian/README.Debian (+9/-2)
debian/changelog (+14/-0)
debian/control (+2/-1)
debian/patches/mysql8-password-deprecated.patch (+26/-0)
debian/patches/mysql8-replace-password-call.patch (+58/-0)
debian/patches/mysql8-reserved-keywords.patch (+326/-0)
debian/patches/mysql8_my_bool.patch (+43/-0)
debian/patches/series (+4/-0)
debian/rules (+2/-1)
Reviewer Review Type Date Requested Status
Christian Ehrhardt  (community) Approve
Canonical Server Pending
Review via email: mp+379771@code.staging.launchpad.net

Description of the change

PPA: https://launchpad.net/~ahasenack/+archive/ubuntu/zoneminder-mysql8/

zoneminder isn't in git-ubuntu, and currently fails to import (see bug #1864255).

This fixes several things:
- ftbfs due to mysql8
- another unrelated ftbfs
- runtime issue with mysql8

Newer upstream version claims to work with mysql8, but debian hasn't grabbed it yet. One of the upstream fixes isn't really a good candidate for a patch here, as it's a kind of a refactoring (getting rid of mysql's password()).

I decided to update d/README.Debian a bit because the instructions there didn't work out of the box, and I wanted to try out the package to avoid another bug like #1859295). At least now it comes up and one can see its web interface at http://<ip>/zm. I also updated the php links, expecting 7.4 for focal.

The auth issue workaround I gathered from https://forums.zoneminder.com/viewtopic.php?t=28742

I could add a simple dep8 test without too much extra effort, and that would be one that simply loaded the sql dump into mysql: cat /usr/share/zoneminder/db/zm_create.sql | sudo mysql

It would have caught one issue (using password() in that sql file), but not the rest. Let me know if you think it's worth it. I didn't do it now because it's late :)

All those other steps from the README.Debian file are also doable as a dep8 test, up to the license displayed at first in http://<ip>/zm. We can still do it after feature freeze.

To post a comment you must log in.
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

I don't think we need to add the test for it, would it be nice: yes; is it really necessary: no.
At least not needed right now.

The mysql8 patches are a bit messy, but I agree that it does the job in as-minimal-as-possible fashion. And when moving to the next version it can be dropped.

Changelog:
- [√] changelog entry correct version and targeted codename
- [√] changelog entries correct
- [√] update-maintainer has been run

Actual changes:
- [√] no further upstream version that we want right now

New Delta:
- [√] new patches are good and while not matching the final way they are from upstream and do the job for now.
- [√] new patches correctly included in debian/patches/series
- [√] new patches have correct DEP3 metadata linking to discussions and such

Build/Test:
- [√] build is ok
- [√] sanity checks test fine

I tested it with mythzoneminder and the basics there worked - if we could long term add an autopkgtest that would be good (as discussed above).

I ran this with a mix of php 7.4 and zoneminder to represent how focal will soon look like:
... mysql-server-8.0 mysql-server-core-8.0 ocl-icd-libopencl1 php-apcu php-apcu-bc php-gd php-mysql php7.3-cli php7.3-common php7.3-json php7.3-opcache
  php7.3-phpdbg php7.3-readline php7.4-gd php7.4-mysql zoneminder zoneminder-doc ...
All the perl installs also looked a lot.
But so far things worked.

One thing you might want to look at before an upload is this (up to you):
Setting up zoneminder (1.32.3-2ubuntu1~ppa2) ...
I: Generating /etc/zm/core.php from /usr/share/zoneminder/www/api/app/Config/core.php.default ...
zoneminder.conf:1: Line references path below legacy directory /var/run/, updating /var/run/zm → /run/zm; please update the tmpfiles.d/ drop-in file accordingly.

It feels a bit less stable than usual, but ok still: +1 for this

review: Approve
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Thanks, I filed https://bugs.launchpad.net/ubuntu/+source/zoneminder/+bug/1864645 for the dep8 test.

I'll take a look at the tmpfile bit

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Hmm, RUNDIR is set all over the place at /var/run, even in d/rules, just changing it in the systemd tmpfile would be incomplete, and I'm not ready to test such a larger change at this moment. I'll drop that bit for now, and file a bug to do it properly.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Uploading (no tagging, since this isn't in g-u) ebdcb0ab8587f01cf4c6b448bf0d5773e2be7dcf

$ dput ubuntu ../zoneminder_1.32.3-2ubuntu1_source.changes
Checking signature on .changes
gpg: ../zoneminder_1.32.3-2ubuntu1_source.changes: Valid signature from AC983EB5BF6BCBA9
Checking signature on .dsc
gpg: ../zoneminder_1.32.3-2ubuntu1.dsc: Valid signature from AC983EB5BF6BCBA9
Uploading to ubuntu (via ftp to upload.ubuntu.com):
  Uploading zoneminder_1.32.3-2ubuntu1.dsc: done.
  Uploading zoneminder_1.32.3-2ubuntu1.debian.tar.xz: done.
  Uploading zoneminder_1.32.3-2ubuntu1_source.buildinfo: done.
  Uploading zoneminder_1.32.3-2ubuntu1_source.changes: done.
Successfully uploaded packages.

Revision history for this message
Joseph Yasi (joe-yasi) :
Revision history for this message
Andreas Hasenack (ahasenack) :

There was an error fetching revisions from git servers. Please try again in a few minutes. If the problem persists, contact Launchpad support.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches

to all changes: