mirror of
https://github.com/johnkerl/miller.git
synced 2026-01-23 02:14:13 +00:00
Update draft release notes (#743)
This commit is contained in:
parent
feec887738
commit
bf25cec435
3 changed files with 26 additions and 47 deletions
|
|
@ -4,12 +4,10 @@ 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
|
||||
Change `6.2.0` to desired version. Release-package example:
|
||||
|
||||
https://github.com/johnkerl/miller/releases/download/v6.2.0/miller-6.2.0.tar.gz
|
||||
|
||||
```
|
||||
cd
|
||||
|
|
@ -17,7 +15,7 @@ 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
|
||||
cp /your/path/to/miller-6.2.0.tar.gz ~/rpmbuild/SOURCES
|
||||
|
||||
cd ~/rpmbuild/SPECS
|
||||
```
|
||||
|
|
@ -40,32 +38,20 @@ 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
|
||||
Wrote: /your/home/dir/rpmbuild/SRPMS/miller-6.2.0-1.el6.src.rpm
|
||||
```
|
||||
|
||||
```
|
||||
rpm -qpl ../SRPMS/miller-3.3.2-1.el6.src.rpm
|
||||
mlr-3.3.2.tar.gz
|
||||
rpm -qpl ../SRPMS/miller-6.2.0-1.el6.src.rpm
|
||||
miller-6.2.0.tar.gz
|
||||
miller.spec
|
||||
```
|
||||
|
||||
```
|
||||
rpm -qpi ../SRPMS/miller-3.3.2-1.el6.src.rpm
|
||||
rpm -qpi ../SRPMS/miller-6.2.0-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".
|
||||
Version : 6.2.0 Vendor: (none)
|
||||
...
|
||||
```
|
||||
|
||||
### Build source and binary RPMs
|
||||
|
|
@ -75,30 +61,21 @@ rpmbuild -ba miller.spec
|
|||
```
|
||||
|
||||
```
|
||||
rpm -qpl ../RPMS/x86_64//miller-3.3.2-1.el6.x86_64.rpm
|
||||
rpm -qpl ../RPMS/x86_64//miller-6.2.0-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
|
||||
sudo rpm -ivh ../RPMS/x86_64/miller-6.2.0-1.el6.x86_64.rpm
|
||||
Preparing... ########################################### [100%]
|
||||
1:mlr ########################################### [100%]
|
||||
```
|
||||
|
||||
```
|
||||
/usr/bin/mlr --version
|
||||
Miller 3.3.2
|
||||
Miller 6.2.0
|
||||
|
||||
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
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ This documentation pageset is built using [https://www.mkdocs.org/](MkDocs). Ple
|
|||
|
||||
## Creating a new release: for developers
|
||||
|
||||
At present I'm the primary developer so this is just my checklist for making new releases.
|
||||
This is my checklist for making new releases.
|
||||
|
||||
In this example I am using version 6.1.0 to 6.2.0; of course that will change for subsequent revisions.
|
||||
|
||||
|
|
@ -74,17 +74,18 @@ In this example I am using version 6.1.0 to 6.2.0; of course that will change fo
|
|||
* The ordering in this makefile rule is important: the first build creates `mlr`; the second runs `mlr` to create `manpage.txt`; the third includes `manpage.txt` into one of its outputs.
|
||||
* Commit and push.
|
||||
|
||||
* Create the release tarball and SRPM:
|
||||
* Create the release tarball:
|
||||
|
||||
* TBD for the Go port ...
|
||||
* Linux/MacOS/Windows binaries from GitHub Actions ...
|
||||
* Pull back release tarball `mlr-6.2.0.tar.gz` from buildbox, and `mlr.{arch}` binaries from whatever buildboxes.
|
||||
* `make release_tarball`
|
||||
* This creates `miller-6.2.0-dev.tar.gz` which we'll upload to GitHub, the URL of which will be in our `miller.spec`
|
||||
* Get `mlr.{arch}` binaries from latest successful build from [https://github.com/johnkerl/miller/actions](https://github.com/johnkerl/miller/actions), or, build them on buildboxes.
|
||||
* Prepare the source RPM following [./README-RPM.md](README-RPM.md).
|
||||
|
||||
* Create the Github release tag:
|
||||
|
||||
* Don't forget the `v` in `v6.2.0`
|
||||
* Write the release notes
|
||||
* Attach the release tarball and binaries. Double-check assets were successfully uploaded.
|
||||
* Attach the release tarball, binaries, and SRPM. Double-check assets were successfully uploaded.
|
||||
* Publish the release
|
||||
|
||||
* Check the release-specific docs:
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ This documentation pageset is built using [https://www.mkdocs.org/](MkDocs). Ple
|
|||
|
||||
## Creating a new release: for developers
|
||||
|
||||
At present I'm the primary developer so this is just my checklist for making new releases.
|
||||
This is my checklist for making new releases.
|
||||
|
||||
In this example I am using version 6.1.0 to 6.2.0; of course that will change for subsequent revisions.
|
||||
|
||||
|
|
@ -58,17 +58,18 @@ In this example I am using version 6.1.0 to 6.2.0; of course that will change fo
|
|||
* The ordering in this makefile rule is important: the first build creates `mlr`; the second runs `mlr` to create `manpage.txt`; the third includes `manpage.txt` into one of its outputs.
|
||||
* Commit and push.
|
||||
|
||||
* Create the release tarball and SRPM:
|
||||
* Create the release tarball:
|
||||
|
||||
* TBD for the Go port ...
|
||||
* Linux/MacOS/Windows binaries from GitHub Actions ...
|
||||
* Pull back release tarball `mlr-6.2.0.tar.gz` from buildbox, and `mlr.{arch}` binaries from whatever buildboxes.
|
||||
* `make release_tarball`
|
||||
* This creates `miller-6.2.0-dev.tar.gz` which we'll upload to GitHub, the URL of which will be in our `miller.spec`
|
||||
* Get `mlr.{arch}` binaries from latest successful build from [https://github.com/johnkerl/miller/actions](https://github.com/johnkerl/miller/actions), or, build them on buildboxes.
|
||||
* Prepare the source RPM following [./README-RPM.md](README-RPM.md).
|
||||
|
||||
* Create the Github release tag:
|
||||
|
||||
* Don't forget the `v` in `v6.2.0`
|
||||
* Write the release notes
|
||||
* Attach the release tarball and binaries. Double-check assets were successfully uploaded.
|
||||
* Attach the release tarball, binaries, and SRPM. Double-check assets were successfully uploaded.
|
||||
* Publish the release
|
||||
|
||||
* Check the release-specific docs:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue