docs: refresh command list, workflow example, roadmap and install
The command block is now the actual pkh --help output (new, lint and prune were missing). The example workflow used pkh commit, a subcommand that does not exist; commits go through git until chlog/pkh commit land. The roadmap now reflects what is implemented (pull -v, deb --mode local, lint, prune, new) and an installation section documents the source build and its system dependencies.
This commit is contained in:
@@ -2,6 +2,22 @@
|
|||||||
|
|
||||||
`pkh` is a packaging helper for Debian/Ubuntu packages.
|
`pkh` is a packaging helper for Debian/Ubuntu packages.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
No distribution channel is published yet; build from source:
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo apt install pkg-config libssl-dev libgpg-error-dev libgpgme-dev
|
||||||
|
git clone https://git.vhaudiquet.fr/vhaudiquet/pkh.git
|
||||||
|
cd pkh
|
||||||
|
cargo install --path .
|
||||||
|
```
|
||||||
|
|
||||||
|
At runtime pkh shells out to the Debian packaging toolchain (git,
|
||||||
|
dpkg-dev, quilt, mmdebstrap, lintian, pristine-tar, ...): install the
|
||||||
|
ones your workflows use, or build the classic snap from
|
||||||
|
`snap/snapcraft.yaml` (`snapcraft pack`), which carries them.
|
||||||
|
|
||||||
## Usage and features
|
## Usage and features
|
||||||
|
|
||||||
### Basic concepts
|
### Basic concepts
|
||||||
@@ -25,12 +41,19 @@ Options:
|
|||||||
Commands and workflows include:
|
Commands and workflows include:
|
||||||
```
|
```
|
||||||
Commands:
|
Commands:
|
||||||
|
new Scaffold a new Debian source package (buildable right away)
|
||||||
pull Pull a source package from the archive or git
|
pull Pull a source package from the archive or git
|
||||||
chlog Auto-generate changelog entry, editing it, committing it afterwards
|
chlog Auto-generate changelog entry, editing it, committing it afterwards
|
||||||
build Build the source package (into a .dsc)
|
build Build the source package (into a .dsc)
|
||||||
deb Build the source package into binary package (.deb)
|
|
||||||
put Upload the built source package to a PPA
|
put Upload the built source package to a PPA
|
||||||
|
deb Build the source package into binary package (.deb)
|
||||||
|
lint Lint the package (lintian wrapper + pkh-native checks)
|
||||||
|
prune Prune residual pkh build artifacts and caches
|
||||||
help Print this message or the help of the given subcommand(s)
|
help Print this message or the help of the given subcommand(s)
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Print help
|
||||||
|
-V, --version Print version
|
||||||
```
|
```
|
||||||
|
|
||||||
### Examples
|
### Examples
|
||||||
@@ -66,14 +89,15 @@ That is a lot of different tools and operations. With pkh, the same workflow:
|
|||||||
pkh pull hello # needs -d ubuntu if you are not running Ubuntu
|
pkh pull hello # needs -d ubuntu if you are not running Ubuntu
|
||||||
# Apply the patch to the package
|
# Apply the patch to the package
|
||||||
...
|
...
|
||||||
pkh commit -m "Applied patch xxx"
|
git add debian/patches/xxx.patch
|
||||||
|
git commit -m "Applied patch xxx"
|
||||||
pkh chlog
|
pkh chlog
|
||||||
# Test that the package builds
|
# Test that the package builds
|
||||||
pkh build
|
pkh build
|
||||||
pkh deb
|
pkh deb
|
||||||
# Upload the package to a ppa
|
# Upload the package to a ppa
|
||||||
pkh put --ppa user/hello_xxx
|
pkh put --ppa user/hello_xxx
|
||||||
# Push previously commited changes
|
# Push the commits to your fork
|
||||||
git push xxx user-fork
|
git push xxx user-fork
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -85,20 +109,22 @@ Missing features:
|
|||||||
- [x] Obtain package sources from git
|
- [x] Obtain package sources from git
|
||||||
- [x] Obtain package sources from the archive (fallback)
|
- [x] Obtain package sources from the archive (fallback)
|
||||||
- [x] Obtain package source from PPA (--ppa)
|
- [x] Obtain package source from PPA (--ppa)
|
||||||
- [ ] Obtain a specific version of the package
|
- [x] Obtain a specific version of the package
|
||||||
- [x] Fetch the correct git branch for series on Ubuntu
|
- [x] Fetch the correct git branch for series on Ubuntu
|
||||||
- [ ] Try to fetch the correct git branch for series on Debian, or fallback to the archive
|
- [ ] Try to fetch the correct git branch for series on Debian, or fallback to the archive
|
||||||
- [ ] `pkh chlog`
|
- [ ] `pkh chlog`
|
||||||
- [x] Auto-generate changelog entry
|
- [x] Auto-generate changelog entry
|
||||||
- [x] Extra flags: backport, non-maintainer upload, no change rebuild, ...
|
- [x] Extra flags: backport, non-maintainer upload, no change rebuild, ...
|
||||||
- [ ] Commit changelog entry
|
- [ ] Commit changelog entry
|
||||||
|
- [x] `pkh new`
|
||||||
|
- [x] Scaffold a new Debian source package (interactive, multiple languages)
|
||||||
- [ ] `pkh build`
|
- [ ] `pkh build`
|
||||||
- [x] Build the source package
|
- [x] Build the source package
|
||||||
- [ ] `pkh deb`
|
- [ ] `pkh deb`
|
||||||
- [x] Build the binary package
|
- [x] Build the binary package
|
||||||
- [x] Build for a specific architecture
|
- [x] Build for a specific architecture
|
||||||
- [ ] Three build modes:
|
- [ ] Three build modes:
|
||||||
- [ ] Build locally (discouraged)
|
- [x] Build locally (discouraged)
|
||||||
- [x] Build using unshare chroot, with binary emulation (default)
|
- [x] Build using unshare chroot, with binary emulation (default)
|
||||||
- [x] Cross-compilation
|
- [x] Cross-compilation
|
||||||
- [ ] Async build
|
- [ ] Async build
|
||||||
@@ -109,8 +135,10 @@ Missing features:
|
|||||||
- [ ] Upload the source package to the archive
|
- [ ] Upload the source package to the archive
|
||||||
- [ ] `pkh commit`
|
- [ ] `pkh commit`
|
||||||
- [ ] Commit the changes to git
|
- [ ] Commit the changes to git
|
||||||
- [ ] `pkh lint`
|
- [x] `pkh lint`
|
||||||
- [ ] Lint the package
|
- [x] Lint the package
|
||||||
|
- [x] `pkh prune`
|
||||||
|
- [x] Prune residual pkh build artifacts and caches
|
||||||
- [ ] `pkh test`
|
- [ ] `pkh test`
|
||||||
- [ ] Run autopkgtest
|
- [ ] Run autopkgtest
|
||||||
- [ ] Provide options: local (discouraged), chroot, VM?, ppa
|
- [ ] Provide options: local (discouraged), chroot, VM?, ppa
|
||||||
|
|||||||
Reference in New Issue
Block a user