Prerequisites; since we are building the Zoneminder-mp package you should have the openSuse tumbleweed packman repository configured and ffmpeg installed. There may be other libav___devel dependencies you need but those can be installed later if the rebuild fails and asks for them.
Setup rpmbuild user (not 100% necessary but recommended as it keeps rpm build environment isolated from normal user):
- Using Yast click "User and Group Management", then "Add." Enter "rpmbuild" and password and click "OK"
or
- In terminal:
Code: Select all
ej@localhost:~> sudo useradd rpmbuild
Code: Select all
ej@localhost:~> sudo passwd rpmbuild
Code: Select all
ej@localhost:~> su rpmbuild
rpmbuild@localhost:/home/ej> cd ~
rpmbuild@localhost:~> mkdir rpmbuild
rpmbuild@localhost:~> cd rpmbuild/
rpmbuild@localhost:~/rpmbuild> mkdir SRPMS OTHER RPMS BUILDROOT BUILD SPECS SOURCES
- Always a good idea to update all packages with
Code: Select all
ej@localhost:~> sudo zypper update
or via yast Software Management click "Package" menu, "All Packages," "Update if newer version available."
- Using yast Software Management to install rpm-build package:
Click "View > Patterns" and select "RPM Build Environment" (you may also need to have "Base Development" "C/C++" "Linux Kernel Development" and possibly others installed as I had these already installed before I started the rebuild process).
-Click Accept to install the packages, and then "Finish"
- Using zypper:
Code: Select all
ej@localhost:~> sudo zypper search -t pattern
Code: Select all
ej@localhost:~> sudo zypper in -t pattern devel_rpm_build
-Rebuild the package from source using rpmbuild:
Go to
https://build.opensuse.org/package/bina ... Tumbleweed
and under Architecture: x86_64 find the ZoneMinder-1.30.4-3.3.src.rpm (or latest version). On the right click Download. In order to download, you will need to login if you have an account, or sign up and login if you dont.
- In terminal and as rpmbuild user cd to your rpmbuild root directory:
Code: Select all
rpmbuild@localhost:/> cd ~/rpmbuild/
Code: Select all
rpmbuild@localhost:/> cp ~/Downloads/ZoneMinder-1.30.4-3.3.src.rpm .
Code: Select all
rpmbuild@localhost:~/rpmbuild> rpmbuild --rebuild ZoneMinder-1.30.4-3.3.src.rpm --with mp_package
If the rebuild fails due to missing dependencies (failed for me on the first try) install them via yast or zypper and try again. The build should take several minutes to complete. You should have new rpm files written to your ~/rpmbuild/RPMS/x86_64 directory:
Code: Select all
rpmbuild@localhost:~/rpmbuild> ls -alsrt -R RPMS/
RPMS/:
total 0
0 drwxr-xr-x 9 rpmbuild users 139 Jun 21 07:52 ..
0 drwxr-xr-x 3 rpmbuild users 20 Jun 21 07:53 .
0 drwxr-xr-x 2 rpmbuild users 157 Jun 21 07:53 x86_64
RPMS/x86_64:
total 27900
0 drwxr-xr-x 3 rpmbuild users 20 Jun 21 07:53 ..
7112 -rw-r--r-- 1 rpmbuild users 7278980 Jun 21 07:53 ZoneMinder-MP-1.30.4-3.3.x86_64.rpm
188 -rw-r--r-- 1 rpmbuild users 189640 Jun 21 07:53 ZoneMinder-MP-debugsource-1.30.4-3.3.x86_64.rpm
0 drwxr-xr-x 2 rpmbuild users 157 Jun 21 07:53 .
20600 -rw-r--r-- 1 rpmbuild users 21090380 Jun 21 07:54 ZoneMinder-MP-debuginfo-1.30.4-3.3.x86_64.rpm
Code: Select all
ej@localhost:~> cd local_rpms/
ej@localhost:~/local_rpms> cp /home/rpmbuild/rpmbuild/RPMS/x86_64/ZoneMinder-MP-* .
Finally, follow instructions on Zoneminder Wiki
https://wiki.zoneminder.com/Installing_ ... s_for_SuSE
to get everything configured and setup. There are no instructions specific to tumbleweed as of this writing but just follow instructions for "openSUSE 12.1 and newer (systemd)."
That's it. You should now have a working install of zoneminder-mp on openSUSE Tumbleweed. Its pretty easy once you figure it out so I hope this helps.
Cheers,
Eric