From c6bfb578b317f2de1664dee39757fa507b89b92a Mon Sep 17 00:00:00 2001 From: Daniel Mueller Date: Mon, 31 Dec 2018 14:05:20 -0800 Subject: Describe steps for upstreaming a Gentoo ebuild UNFINISHED! Update with remaining step on next release. --- nitrocli/doc/packaging.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) 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 -- cgit v1.2.1