miller/README-RPM.md
2016-04-04 22:23:07 -04:00

2.8 KiB

Instructions to make Miller source/binary RPMs for the RPM-experienced

Grab mlr.spec and go to town.

Instructions to make Miller source/binary RPMs for the RPM-inexperienced

One-time setup

Change 3.3.2 to desired version. Release-package example:

https://github.com/johnkerl/miller/releases/download/v3.3.2/mlr-3.3.2.tar.gz

cd
mkdir ~/rpmbuild
mkdir ~/rpmbuild/SPECS
mkdir ~/rpmbuild/SOURCES
cp /your/path/to/miller/clone/mlr.spec ~/rpmbuild/SPECS
cp /your/path/to/mlr-3.3.2.tar.gz ~/rpmbuild/SOURCES

cd ~/rpmbuild/SPECS

You may need to do

sudo yum install rpmbuild

Linting

If you have changed the mlr.spec file:

rpmlint mlr.spec

You may need to do

sudo yum install rpmlint

Build source-RPM only

rpmbuild -bs mlr.spec
Wrote: /your/home/dir/rpmbuild/SRPMS/mlr-3.3.2-1.el6.src.rpm
rpm -qpl ../SRPMS/mlr-3.3.2-1.el6.src.rpm
mlr-3.3.2.tar.gz
mlr.spec
rpm -qpi ../SRPMS/mlr-3.3.2-1.el6.src.rpm
Name        : mlr                          Relocations: (not relocatable)
Version     : 3.3.2                             Vendor: (none)
Release     : 1.el6                         Build Date: Sun 07 Feb 2016 09:43:39 PM EST
Install Date: (not installed)               Build Host: host.name.goes.here
Group       : Applications/Text             Source RPM: (none)
Size        : 774430                           License: BSD2
Signature   : (none)
URL         : http://johnkerl.org/miller/doc
Summary     : Name-indexed data processing tool
Description :
Miller (mlr) allows name-indexed data such as CSV and JSON files to be
processed with functions equivalent to sed, awk, cut, join, sort etc. It can
convert between formats, preserves headers when sorting or reversing, and
streams data where possible so its memory requirements stay small. It works
well with pipes and can feed "tail -f".

Build source and binary RPMs

rpmbuild -ba mlr.spec
rpm -qpl ../RPMS/x86_64//mlr-3.3.2-1.el6.x86_64.rpm
/usr/bin/mlr
/usr/share/man/man1/mlr.1.gz
sudo rpm -ivh ../RPMS/x86_64/mlr-3.3.2-1.el6.x86_64.rpm 
Preparing...                ########################################### [100%]
   1:mlr                    ########################################### [100%]
/usr/bin/mlr --version
Miller 3.3.2

man -M /usr/share/man mlr

and check the version in the DESCRIPTION section.

Some handy references