summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Mueller <deso@posteo.net>2018-12-31 14:05:20 -0800
committerDaniel Mueller <deso@posteo.net>2018-12-31 14:05:20 -0800
commitc6bfb578b317f2de1664dee39757fa507b89b92a (patch)
treeeb40415f1c00f011edbadf489fc8187bb3576799
parent31ddac85fd6858ad785bb566f7e076e883dab3ec (diff)
downloadnitrocli-topic/gentoo-packaging.tar.gz
nitrocli-topic/gentoo-packaging.tar.bz2
Describe steps for upstreaming a Gentoo ebuildtopic/gentoo-packaging
UNFINISHED! Update with remaining step on next release.
-rw-r--r--nitrocli/doc/packaging.md32
1 files changed, 32 insertions, 0 deletions
diff --git a/nitrocli/doc/packaging.md b/nitrocli/doc/packaging.md
index 24b1664..19f3fed 100644
--- a/nitrocli/doc/packaging.md
+++ b/nitrocli/doc/packaging.md
@@ -47,6 +47,38 @@ Debian
For more information, see the [Teams/RustPackaging][] page in the Debian Wiki
and the [README.rst file][] in the debcargo-conf repository.
+Gentoo
+------
+
+General note: It is recommended (and assumed here) that the most recent existing
+ebuild is used as the baseline.
+
+The instructions furthermore assume that you have [`cargo-ebuild`][] installed
+and ready for use.
+
+1. Clone the [nitrocli repository][] locally.
+2. Check out the tagged release you want to create an ebuild for. E.g., `git
+ checkout v0.2.1`.
+3. Run `cargo ebuild` inside the `nitrocli/` directory. It will produce an
+ ebuild in the same directory.
+4. Fork and then clone the official Gentoo Portage tree available at
+ https://github.com/gentoo/gentoo.git.
+5. Change the working directory to `app-crypt/nitrocli`.
+6. Create a copy of the most recently released build. For example,
+ `cp nitrocli-0.2.0.ebuild nitrocli-0.2.1.ebuild`
+7. Copy over the `CRATES` variable definition from the `cargo-ebuild` created
+ ebuild (step 6) into `nitrocli-0.2.1.ebuild` and adjust it as needed (there
+ may be duplicate entries).
+8. More adjustments to the ebuild may be necessary, depending on the changes
+ made to the program.
+9. Run `ebuild nitrocli-0.2.1.ebuild manifest` to update the manifest.
+10. `FEATURES=test USE=test emerge =nitrocli-0.2.1`
+11. Create a commit that includes the ebuild and the *non-ebuild-parts* of
+ `Manifest`. Make sure to include a `Signed-off-by` field in the description.
+11. Create a pull request for this commit as usual.
+
[Arch User Repository]: https://wiki.archlinux.org/index.php/Arch_User_Repository
+[cargo-ebuild]: https://github.com/cardoe/cargo-ebuild
+[nitrocli repository]: git@github.com:d-e-s-o/nitrocli.git
[Teams/RustPackaging]: https://wiki.debian.org/Teams/RustPackaging
[README.rst file]: https://salsa.debian.org/rust-team/debcargo-conf/blob/master/README.rst