PDA

View Full Version : How to build an RPM for the new morituri CD ripper fork.



dd_wizard
1st August 2016, 12:01 AM
If you've missed the CD ripper, morituri, I ran across an active fork (https://github.com/JoeLametta/whipper) of it on git hub. Originally, I rebuilt the last available F20 package in F24, but there were library errors when it ran. This fork is current enough that it runs error free. Also, a number of commits have been added to this version. See the above link for more information.

This guide assumes you have git and rpmbuild installed and are reasonably comfortable with them. I have git and rpmbuild folders in my home directory, so if your's is set up differently, change the paths that follow.



These steps are on the page linked above, and appear to have been done before the RPM was originally built for fedora.
This was determined by looking at the folder contents of the original fedora SRPM and the git checkout for that source.

cd ~/git
git clone -b master --single-branch git://github.com/JoeLametta/whipper.git
cd whipper
git submodule init
git submodule update
export PYTHON=$(which python2)

Add python2-musicbrainzngs to the BuildRequires in the morituri.spec.in before running autogen.sh.

$ grep BuildRequires morituri.spec.in
BuildRequires: pygobject2
BuildRequires: gstreamer-python
BuildRequires: python-setuptools
BuildRequires: python2-musicbrainzngs

./autogen.sh

Install build dependencies.

$ sudo dnf builddep morituri.spec

The autogen files were removed in the original fedora 20 srpm, so list them to make
sure that's all you will remove and then remove them.

$ ll -d auto*
-rwxr-xr-x. 1 gene gene 260 Jul 31 12:51 autogen.sh
drwxr-xr-x. 1 gene gene 80 Jul 31 12:53 autom4te.cache
-rwxr-xr-x. 1 gene gene 14 Jul 31 12:53 autoregen.sh

rm -fr auto*

The spec file still uses morituri for the name but a new version number. The folder needs to be renamed to match
the name and version in the spec file for rpmbuild. The command after the "cd .." is a one liner.

cd ..
mv whipper $(awk -e '/Name:/ { printf "%s%c", $2, "-" } /Version:/ {print $2}' whipper/morituri.spec)

Check for the name of the new version of morituri, then tar it to your rpmbuild/SOURCES folder.
$ ll
total 0
drwxr-xr-x. 1 gene gene 40 Jun 23 16:36 Adwaita-dark
drwxr-xr-x. 1 gene gene 624 Jul 31 12:53 morituri
drwxr-xr-x. 1 gene gene 574 Jul 31 14:37 morituri-0.2.3.1
drwxr-xr-x. 1 gene gene 566 Jul 30 17:30 python-audio-tools

tar -cvjSf ~/rpmbuild/SOURCES/morituri-0.2.3.1.tar.bz2 morituri-0.2.3.1

Change to your rpmbuild/SOURCES folder and build the binary and source rpms.

cd ~/rpmbuild/SOURCES
rpmbuild -ta morituri-0.2.3.1.tar.bz2

Change to the RPMS/noarch folder and install it. I have the F20 rpm rebuilt for F24
and the new (whipper) F24 rpms in my folder.

cd ../RPMS/noarch
$ ll
total 500
-rw-r--r--. 1 gene gene 263142 Jul 29 13:38 morituri-0.2.3-1.fc24.noarch.rpm
-rw-r--r--. 1 gene gene 243446 Jul 31 14:47 morituri-0.2.3.1-0.20160731.143358.fc24.noarch.rpm
sudo dnf upgrade ./morituri-0.2.3.1-0.20160731.143358.fc24.noarch.rpm

It'd be great if whoever maintained morituri in the past got in touch with the owner of the new fork and put it back in Fedora. :cool: ;)

dd_wizard

P.S. Hopefully an admin can correct the spelling in the Title, it's morituri. Thanks. :)

antikythera
1st August 2016, 08:49 AM
the thread name has been changed to protect the innocent