zebra icon indicating copy to clipboard operation
zebra copied to clipboard

Tracking: Create a Debian Package

Open mpguerra opened this issue 2 years ago • 1 comments

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 control file for Zebra Debian package
      • Contains package metadata like dependencies, maintainer, description, etc.
    • [ ] Write changelog file for Zebra Debian package
      • Logs version numbers, changelists, and other details.
    • [ ] Write compat file for Zebra Debian package: Indicates debhelper compatibility level.
    • [ ] Create Zebra Debian package Release and InRelease files and signing packages.
    • [ ] Create Zebra Debian package signing key
    • [ ] Create Zebra Debian package init scripts
    • [ ] Create Zebra Debian package systemd service files
  • Documentation
    • [ ] Write and generate a man page for zebrad
    • [ ] Include or link to any other available documentation
  • 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

mpguerra avatar Aug 30 '23 09:08 mpguerra

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

mpguerra avatar Sep 07 '23 09:09 mpguerra