If you find this useful and you use bitcoin, please donate:
1JgbMaSV49Z9zaR89ah9NPQjQewvCdDNUj
Thank you.

AWEL Custom RPM Packages for RHEL/CentOS 7

A project I am currently working on requires some Open Source Software that is not currently distributed with RHEL/CentOS 7 or the standard EPEL additions to RHEL/CentOS 7.

Specifically I needed a modern build of FFmpeg capable of transcoding video to and from H.264/MPEG-4 AVC and I also would very much would like to develop now for the PHP 5.6.x stable branch so that there are not any porting issues when my project is finished and ready to market.

This necessitated the compilation of custom RPM packages so that I can start developing my code. I have decided to share them so others who are not quite as proficient with building RPM packages can benefit from them. Maybe it will help me build some good will.

(skip to setup)

Package Repositories

The packages I have built and will maintain as best I can are split into six categories:

With the exception of the GStreamer packages, the groups can be used independent of each other. The GStreamer packages are built against libraries from within the FFmpeg / Media repository.

Build Philosophy

I have been building RPM packages for a long time. The first time I was actually paid to write an RPM spec file was in 2000, I was the RPM build-master for the Silicon Valley company Unitek, or rather the Abriasoft spin-off company they were starting. Unitek wrote the paychecks.

Since that time I have learned a lot about RPM packaging and RPM packaging itself has changed quite a bit, for the better too.

Always feel free to contact if you have any packaging issues or questions.

Repository Setup

All of my package repositories assume that you have the EPEL packages available to you. On CentOS 7, open a root shell and type the command:
yum install epel-release
and you should be good to go. RHEL users may have to download the release package and install it manually from
http://download.fedoraproject.org/pub/epel/7/x86_64/repoview/epel-release.html.

PHP / FFmpeg / Misc

These three repositories are the first three I created and I think are the three that most users are most likely to desire packages from. To use those repositories, first you must manually install the awel-release package. That will install the yum repository file and the GPG key. It will not however enable the package repositories, you need to decide which of them you want and enable them using a text editor.

To enable a repository, edit the file /etc/yum.repos.d/awel.repo and edit the configuration you wish to enable. For example, to enable the media (FFmpeg and friends) repository, the default configuration looks like this:

[awel-media]
name=AWEL CLI Multimedia packages for RHEL/CentOS 7 - $basearch
baseurl=http://awel.domblogger.net/7/media/$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AWEL7

Change the line that says enabled=0 to enabled=1 so it will now look like this:

[awel-media]
name=AWEL CLI Multimedia packages for RHEL/CentOS 7 - $basearch
baseurl=http://awel.domblogger.net/7/media/$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AWEL7

Now you can use yum to install software programs and libraries from the media repository, e.g.

yum install ffmpeg

Once you have enabled the repositories you want, any updates will also automatically be pulled down whenever you update the operating system. Linux has had the right concept for decades, it is too bad OS X and Windows can't figure it out…

Special PHP Note

If you enable my PHP repository, then I highly recommend you specifically disable PHP in the RHEL/CentOS Base and Updates repository and in the EPEL repository. You can do this by adding the line:

exclude=php*

to their yum configuration.

GStreamer

The GStreamer package repository requires libraries from the FFmpeg/media package repository. First enable that repository as described above. Then issue the command:

yum install awel-gstreamer-release

Once that is installed, it is enabled. To update your GStreamer, issue the commands:

yum clean all && yum update

Crypto-Currencies

If all you are after is bitcoin, do not bother using my repository. Just use the repository at Ring Liberty. My bitcoin packages are just rebuilds of his.

However if you are interested in Namecoin, QuarkCoin, or some of the alternative bitcoin clients that I hope to soon be packaging then you will want to install my awel-crypto-release package.

Special Packages

These are packages that are not available through yum. Most of them are nosrc.rpm files that you can use to create a binary RPM file for commercial software that is not distributable as open-source software. It can still be advantageous to create RPM files for them.

I also am experimenting with meta-packages to help systems that have TeXLive installed the TeXLive way avoid the un-necessary bloat of RHEL/CentOS packaging of TeXLive. It is not yet a finished project.

Support

I do not offer official support but I do try to help people when I can. Eventually there may be a discussion list, but for now you can just e-mail me, remove the #s and @ the [at] and . the <dot> : alice#wonder[at]shasta#herps<dot>org