zebra
zebra copied to clipboard
Tracking: Create a Debian Package
Motivation
We want to support the same options as zcashd for installing Zebra
Scope
- [ ] #6422
- [ ] Locate or create Debian packages for Zebra's required OS library dependencies
- [ ] Choose the Packaging Tools for Zebra Debian Package
cargo-deb: A Rust crate that generates Debian packages from Cargo metadata.dh-cargo: A helper tool to streamline packaging Rust programs/libraries with debhelper.
- Build process
- Define the build process in the rules file and use Cargo for compiling.
- [ ] Create Debian packaging scripts in the Zebra repository
- [ ] Decide on Binary and Library Paths for Zebra
- [ ] Write
controlfile for Zebra Debian package- Contains package metadata like dependencies, maintainer, description, etc.
- [ ] Write
changelogfile for Zebra Debian package- Logs version numbers, changelists, and other details.
- [ ] Write
compatfile for Zebra Debian package: Indicates debhelper compatibility level. - [ ] Create Zebra Debian package
ReleaseandInReleasefiles and signing packages. - [ ] Create Zebra Debian package signing key
- [ ] Create Zebra Debian package
initscripts - [ ] Create Zebra Debian package
systemdservice files
- Documentation
- [ ] Write and generate a
manpage forzebrad - [ ] Include or link to any other available documentation
- [ ] Write and generate a
- Deploy a Debian package server in our production server environment
- [ ] Provision machine(s?)
- [ ] Upload public Debian package keys on the server
- Testing
- [ ] Test the installation, removal, and any post-installation scripts on a clean Debian system.
- [ ] Consider running crate tests during the packaging process (?)
- Maintainer scripts
- [ ] Decide if we need to write any scripts to run before/after installation and removal
Optional
I've started adding some possible tasks to this issue based on the comments in #6422, some of these may be redundant or overlap with other items in the list.
@gustavovalverde let's review and start breaking this down into a sequence of tasks during our next 1:1