mirror of
https://github.com/johnkerl/miller.git
synced 2026-01-23 18:25:45 +00:00
104 lines
2.8 KiB
Markdown
104 lines
2.8 KiB
Markdown
## Instructions to make Miller source/binary RPMs for the RPM-experienced
|
|
|
|
Grab `miller.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/miller.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 `miller.spec` file:
|
|
```
|
|
rpmlint miller.spec
|
|
```
|
|
You may need to do
|
|
```
|
|
sudo yum install rpmlint
|
|
```
|
|
|
|
### Build source-RPM only
|
|
```
|
|
rpmbuild -bs miller.spec
|
|
Wrote: /your/home/dir/rpmbuild/SRPMS/miller-3.3.2-1.el6.src.rpm
|
|
```
|
|
|
|
```
|
|
rpm -qpl ../SRPMS/miller-3.3.2-1.el6.src.rpm
|
|
mlr-3.3.2.tar.gz
|
|
miller.spec
|
|
```
|
|
|
|
```
|
|
rpm -qpi ../SRPMS/miller-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 miller.spec
|
|
```
|
|
|
|
```
|
|
rpm -qpl ../RPMS/x86_64//miller-3.3.2-1.el6.x86_64.rpm
|
|
/usr/bin/mlr
|
|
/usr/share/man/man1/mlr.1.gz
|
|
```
|
|
|
|
```
|
|
sudo rpm -ivh ../RPMS/x86_64/miller-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
|
|
|
|
* https://github.com/bonzini/grep/blob/master/grep.spec
|
|
* http://www.rpm.org/max-rpm/s1-rpm-build-creating-spec-file.html
|
|
* http://www.rpm.org/max-rpm/s1-rpm-inside-files-list-directives.html
|
|
* http://www.tldp.org/HOWTO/RPM-HOWTO/build.html
|
|
* http://www.tldp.org/LDP/solrhe/Securing-Optimizing-Linux-RH-Edition-v1.3/chap3sec20.html
|
|
* https://fedoraproject.org/wiki/How_to_create_a_GNU_Hello_RPM_package
|