NEW queueOn Sun, Aug 15, 2021 at 10:45 PM Brian Thompson <br...@hashvault.io> wrote: * * > > On Sat, 14 Aug 2021 14:18:34 -0400 Antoine Beaupré wrote: > > > > It's not on the package name, but there's already a clash on the > > binary name, which we should be mindful of: > > gitsome provides direct integration with GitHub and GitHub Enterprise > > in a terminal. > > > > Since it's a git (and github, even!) related tool, we might even want > > to Conflict with it directly... > > Since there is already a package that uses that binary name, who should > change it? Do we follow a first-come first-serve binary name reservation > strategy? I don't think it's a big deal to change the name. > > I'm not sure what to rename it to. I don't like binaries with long, > descriptive names, but I don't know what we could use that is short. I > will raise awareness about this issue with the upstream developers.
Hi Brian, First of all, thank you for volunteering to help with the packaging of GitHub CLI. Here is my understanding: 1. We may name the Debian source and binary package as "gh" (same as how upstream names it in https://github.com/cli/cli/releases), though the consensus here leans toward naming the package "github-cli". 2. Even though both "gitsome" and the new "github-cli" package contain /usr/bin/gh, and since they both perform somewhat similar functions, we can assume that an end user would only want to install one of them, hence the suggestion that we set "Conflicts: gitsome" in debian/control of "github-cli". (We _could_ go with the dpkg-divert(1) route, but I don't think that is worth the effort unless there were demand, i.e. if someone were to report a bug about it.) 3. > Do we follow a first-come first-serve binary name reservation > strategy? A: No, not necessary, especially seeing how gitsome development seems to have stopped in May 2019 according to https://github.com/donnemartin/gitsome , whereas GitHub CLI is actively being developed, with the most recent commit being merely 10 hours ago. 4. Paul Wise's suggestion of adding "Provides: gh" is a good idea so that end users looking for github-cli can simply run "apt install gh" and apt will install "github-cli" for them. Furthermore, this should help the end users who have installed upstream's "gh" deb package to seamlessly migrate to Debian's official "github-cli" package. (probably needs "Replaces: gh" too) So, in summary, it just means the following in debian/control: Source: github-cli ... XS-Go-Import-Path: github.com/github/cli ... Package: github-cli ... Conflicts: gitsome, gh Provides: gh Replaces: gh (All ye experts here, please correct me if you spot any errors, especially I am always confused about Conflicts, Provides, Replaces and Breaks and may have gotten it wrong.) Now, you might run into a problem when actually trying to name the package "github-cli" (or even "gh") because dh-make-golang 0.4.0 does not allow for overriding the package name. For example: dh-make-golang -type p -pristine-tar github.com/cli/cli would name the package "cli"... I am working on packaging the latest dh-make-golang and will try to add a flag to allow overriding the package name, to be uploaded as dh-make-golang 0.4.1 or 0.5.0. Then there are the yet-to-be-packaged dependencies. Just so that you know, the following packages that github-cli depends on have already been packaged but currently sitting in the https://ftp-master.debian.org/new.html NEW queue: * golang-github-yuin-goldmark-emoji 1.0.1-1 * golang-github-muesli-reflow 0.3.0-1 * golang-github-shurcool-graphql 0.0~git20200928.18c5c31-1 * golang-github-shurcool-githubv4 0.0~git20210725.83ba7b4-1 I'll report back here if I were to package and upload more of these dependencies so as to avoid duplication of work. Cheers, Anthony