Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Packaging for Target Platforms #3093

Open
yeastplume opened this issue Oct 10, 2019 · 1 comment
Open

Packaging for Target Platforms #3093

yeastplume opened this issue Oct 10, 2019 · 1 comment

Comments

@yeastplume
Copy link
Member

I think we need to have a discussion on packaging and what we actually produce as part of a release, particularly with wallet TOR functionality on the radar.

Right now, we basically produce binaries 3 major platforms (with the linux binary being a particular flavour assuming particular versions of development libs) then call it a day, leaving the rest of installation and configuration up to the user.

What I think we need to move towards is installation packaging for all platforms that include both 'grin and grin-wallet, include all dependencies (e.g. Tor) (either as a package dependency or bundled if needed,) make sure they're on the path (or the node as service, if desired) and ensure all directories make sense, etc. We'd then have these release packages available on the site with install instructions, and also integrated into the distro's repositories if possible.

I think we would need:

  • Linux Distros

    • Install grin and grin-wallet, include tor as a dependency
    • .deb packaging, targeting debian/ubuntu derivatives
    • .rpm packaging, redhat derivatives
    • pacman packaging, arch
  • MacOS

    • grin, grin-wallet and tor, most likely bundle tor as a binary
    • .pkg packaging
    • Note: Installing anything on MacOS is extremely security-sensitive these days, requiring about 44 different signatures (hyperbole). We'd need some sort of entity doing the signing.
  • Windows

    • grin, grin-wallet and tor, again with tor bundled as a binary
    • standard .msi packaging (not sure what signatures are required)
    • More intuitive startup, as requested by Grin wallet on Windows grin-wallet#238

Creating and maintaining all of this is a lot of fiddly grunt busy work for each platform, so I might suggest each developer (or a dedicated community member,) pick a particular favorite platform and endeavor to own a particular OS or Distro packaging. We'd have all packaging scripts contained within a particular repository, as automated as possible with the expectation that it might not all be perfectly automated at first, and that we would expect some delay between actual releases and platform-specific packages appearing.

@hendi
Copy link
Member

hendi commented Jan 23, 2020

I've created grin and grin-wallet packages for Debian and Ubuntu (https://prokapi.com/grin/)

They should work on current stable Debian (10, buster) and oldstable (9, stretch). For Ubuntu they should work on 18.04 (LTS), 18.10 and 19.04 (current).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants