Page 1 of 1

Using .RPM on top of source code install

Posted: Sat Nov 26, 2016 10:27 pm
by bkamen
Hey there,

Quick and easy question:

I'm already running ZM 1.25.0 on top of my CentOS 6.8 install.

I'd like to switch to the RPM repository - but am wondering:

* If I need to uninstall ZM 1.25.0 first. (I'm assuming "yes" - but would like confirmation)
* Does this blast away my ZM database already running?
* Am I better off sticking with a compiled install considering the server is already running FFmpeg for MythTV?

Thanks!

-Ben

Re: Using .RPM on top of source code install

Posted: Mon Nov 28, 2016 3:58 pm
by knight-of-ni
I don't have an easy answer to your question so here goes....

The Perl Make::Maker module no longer supports "make uninstall" and silently does not remove the former zoneminder perl modules when you attempt to uninstall (they think this is a feature).

Consequently, to switch from a from-source build to a package build, you have to manually scour your filesystem and purge all former ZoneMinder perl modules, init scripts, and config files. If you don't this or you miss a file, ZoneMinder can fail spectacularly... fortunately that makes it easy to spot what happened. Since you built ZoneMinder yourself, we have no way to know if your events folder is in the place the package wants it to be, so backup your events before you start.

Technically the former database can stay, but that means you have to manually verify the settings under Options -> Paths. PATH_ZMS will likely need to change.

Also, the ZoneMinder rpms in zmrepo are built against the specific version of ffmpeg found in zmrepo, so you will need to remove any former versions of ffmpeg from your system as well (this is true for any package which depends on ffmpeg). The good news is that I've got the absolute newest version of ffmpeg possible for 64bit CentOS 6 in zmrepo, 2.6.4. Newer versions of ffmpeg will not build on CentOS 6 w/o replacing core packages (gcc, glibc, etc). 32bit CentOS was another story... trying to build ffmpeg 2.6.4 in 32bits on CentOS 6 gives an Internal Compiler Error so I gave up as it was not worth it. The 32bit repo still has ffmpeg 0.10. Ouch.

If you are running a recent version of MythTV on CentOS 6, then you've likely run into similar issues with core packages not being new enough. That is the reason why the Mythtv packages in the RPMFusion repo stop at version 0.26.1.

Please note that the ZoneMinder API (required for the mobile app to work) is not supported on CentOS 6 because its php is too old. Moving forward, we are already in a discussion to possibly drop support for CentOS 6 because the amount of work to support its outdated libraries is becoming not worth the extra effort.

As you can see, there is a minefield of things you have to navigate through, and hopefully this is enough to convince you that it just is not worth it for an old distro. I would recommend upgrading to CentOS 7 first or even Fedora if you are willing to deal with the short life cycle. That probably means a fresh install and then reinstall all your applications from scratch though.

Re: Using .RPM on top of source code install

Posted: Mon Nov 28, 2016 7:56 pm
by bkamen
Wellll....

scrpms brings MythTV on CentOS 6.8 up to 0.28_32 and ffmpeg to 2.2-something... (and all those fun libraries)

So I'll add your repository to see what's needed besides that.

My ZM 1.25.0 install is all located in /usr/local....

So I'll see what I can see. but you've answered the question..

Sounds like I need to thoroughly strip out ZM 1.25.0 and I might have some minor dbase issues to resolve.

I don't keep events around - so those can easily be stripped out. My install is small.

I'll keep ya updated. Thanks for all the notes. Very helpful.

-Ben

Re: Using .RPM on top of source code install

Posted: Mon Nov 28, 2016 7:57 pm
by bkamen
BTW, how old is too old for php?

This system is on 5.3.3.

-Ben