btop icon indicating copy to clipboard operation
btop copied to clipboard

Drop snap packing from this repository

Open deckstose opened this issue 3 months ago • 9 comments

With regards to https://github.com/aristocratos/btop/pull/1261 I'd like to discuss whether we should drop snap packaging.

If I'm getting it right we have the packaging files and a CI job to build it, but we do not publish from this repo? (Is it done in tandem with the Github release?)

@kz6fittycent is the owner of the snap package so I expect they are the one to upload the package independently.

If the assumptions are right, I suggest we move the files transparently (by linking there from the README or issue tracker) to @kz6fittycent they can provide better support in terms of expertise.

Another solution would be to take over ownership of the snap and automate releases alongside the Github release (also this can also be managed "downstream" if we move the files), however I kind of rejected other attempts to add distribution specific files to this repository in the past and I'd like to keep it that way, since that would add additional maintenance burden and also these files are better kept in the hands of experts for the distribution.

I'm happy to here you comments about this (btw I'm not dying on that hill, if you like to keep it that way).

cc @aristocratos @kz6fittycent @brlin-tw

deckstose avatar Sep 22 '25 19:09 deckstose

Found out that btop on all my machines (Ubuntu 20+) is delivered via APT, and thus outdated:

 $kenyawest: ~ ❯ sudo apt-cache policy btop
btop:
  Installed: 1.2.3-2
  Candidate: 1.2.3-2
  Version table:
 *** 1.2.3-2 500
        500 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
        100 /var/lib/dpkg/status

I thought of using Snap store to get new version, but seeing this issue, I am so confused...

Is there an option that Snap version could possibly become stale, too?

What do I do now? Rely on Snap, choose binary installation, or wait some time for this issue to resolve?

Kenya-West avatar Oct 05 '25 17:10 Kenya-West

@deckstose

If I'm getting it right we have the packaging files and a CI job to build it, but we do not publish from this repo? (Is it done in tandem with the Github release?)

~~An integration is likely installed in the repository so that a build on the Snap Store is triggered whenever a push/tag event occurs.~~

Refer to the Webhooks settings page for more info if you have admin access to the repository.

If the assumptions are right, I suggest we move the files transparently (by linking there from the README or issue tracker) to @kz6fittycent they can provide better support in terms of expertise.

This would be troublesome as the aforementioned integration doesn't work the same when the software source and its packaging assets reside in separate repositories. For example, we will no longer be able to trigger builds from the source repo push events if we ever want to publish pre-release builds via the candidate/beta/edge channels.

From a snap packager's PoV, it would be ideal if the upstream could make the distribution their own, but I can understand the hesitance here.

brlin-tw avatar Oct 05 '25 18:10 brlin-tw

Hi.

Several things. I am totally in favor of the snap being maintained by the upstream repo and team. It was my first proposal, but with the caveat to @aristocratos that I'd be happy to help by maintaining the snap to get more people using this amazing tool, that my initial PR be accepted as the first stepping stone to the project publishing the snap and maintaining it completely internally. I understand, as @brlin-tw stated, the reticence of the team to maintain the snap, but I would encourage the team to seriously consider taking it over.

From my perspective, there are several ideal reasons that the core development team should take over the snap entirely:

  1. They can control the release schedule and cadence for the entire stack of software
  2. They can better delineate between an issue with the application or the snap than can someone who only packages it
  3. They can ensure the quality of the snap is reflective of the project's objectives
  4. They can provide replete documentation for all the various deployment methods for the application

As for dropping the snap entirely, that would come with some push back from the community, as there are currently 66,829 deployments of the snap globally.

I also saw @brlin-tw 's PR (https://github.com/aristocratos/btop/pull/1261) for upgrading to core22, but the snap has been core24 for some time (see here: https://github.com/kz6fittycent/btop/blob/main/snap/snapcraft.yaml).

kz6fittycent avatar Oct 05 '25 19:10 kz6fittycent

Found out that btop on all my machines (Ubuntu 20+) is delivered via APT, and thus outdated:

 $kenyawest: ~ ❯ sudo apt-cache policy btop btop: Installed: 1.2.3-2 Candidate: 1.2.3-2 Version table: *** 1.2.3-2 500 500 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages 100 /var/lib/dpkg/status I thought of using Snap store to get new version, but seeing this issue, I am so confused...

Is there an option that Snap version could possibly become stale, too?

What do I do now? Rely on Snap, choose binary installation, or wait some time for this issue to resolve?

The snap is not likely to become stale, at least while I am maintaining it. See here for the latest version available as a snap:

snap info btop
name:      btop
summary:   Resource monitor that shows usage and stats
publisher: James Tigert (kz6fittycent)
store-url: https://snapcraft.io/btop
contact:   https://github.com/kz6fittycent/btop
license:   Apache-2.0
description: |
  Resource monitor that shows usage and stats for processor, memory, disks, network and processes.
  C++ version and continuation of bashtop and bpytop.
snap-id: UgRB8x3LtPA9L2Qo4G26ozMRImexxYzM
channels:
  latest/stable:    1.4.5 2025-10-05 (912) 1MB -
  latest/candidate: ↑                          
  latest/beta:      ↑                          
  latest/edge:      1.4.5 2025-10-04 (912) 1MB -

kz6fittycent avatar Oct 05 '25 19:10 kz6fittycent

As for dropping the snap entirely, that would come with some push back from the community, as there are currently 66,829 deployments of the snap globally.

This was meant as 'drop snap packaging code from this repo'.

deckstose avatar Oct 05 '25 20:10 deckstose

@Kenya-West

Is there an option that Snap version could possibly become stale, too?

Not necessarily, as it depends on whether the snap publisher can follow the upstream's releases well.

According to @kz6fittycent 's reputation, I wouldn't be too worried about that.

What do I do now? Rely on Snap, choose binary installation, or wait some time for this issue to resolve?

Use whatever you feel comfortable with. As a general rule of thumb, you should only install software from third-party sources if you trust their publishers. Please do your research before making any decisions.

brlin-tw avatar Oct 06 '25 04:10 brlin-tw

@kz6fittycent

I also saw @brlin-tw 's PR (#1261) for upgrading to core22, but the snap has been core24 for some time (see here: https://github.com/kz6fittycent/btop/blob/main/snap/snapcraft.yaml).

Thanks for the heads up! I don't really know it is there.

In that case, I would suggest dropping the snap assets from this repo, as it doesn't provide much value in the current state and may confuse users into thinking that it is the single source of truth.

We should also update the snap listing so that the packaging source can be transparent to the users.

We also might need to update the support contact of the snap, as it may introduce unwanted bug reports here:

$ snap info btop | grep ^contact:
contact:   https://github.com/aristocratos/btop/issues

I would also encourage the project maintainers to gain access to the store backstage and the packaging repository so they can be more involved in the operations of the distribution, which seems to be working quite well at the moment (aside from the GPU support part, which I hope we can improve soon).

brlin-tw avatar Oct 06 '25 05:10 brlin-tw

@kz6fittycent

I also saw @brlin-tw 's PR (#1261) for upgrading to core22, but the snap has been core24 for some time (see here: https://github.com/kz6fittycent/btop/blob/main/snap/snapcraft.yaml).

Thanks for the heads up! I don't really know it is there.

In that case, I would suggest dropping the snap assets from this repo, as it doesn't provide much value in the current state and may confuse users into thinking that it is the single source of truth.

Initially, that was my hope - that the upstream project would be the one-stop shop instead of two repos. I am happy to help in supporting the project with the snap itself, but there have been a couple times where the application itself had an issue that I needed to work with @aristocratos to fix. Whereas this project has multiple contributors, and I am just one person, I think it makes far more sense for everything to be centrally managed and maintained.

We should also update the snap listing so that the packaging source can be transparent to the users.

We also might need to update the support contact of the snap, as it may introduce unwanted bug reports here:

$ snap info btop | grep ^contact:
contact:   https://github.com/aristocratos/btop/issues

Updated my yaml to reflect my contact info instead of this repo - see my comment above regarding my reservations with doing this.

I would also encourage the project maintainers to gain access to the store backstage and the packaging repository so they can be more involved in the operations of the distribution, which seems to be working quite well at the moment (aside from the GPU support part, which I hope we can improve soon).

100% agree. I am more than happy to contribute to this project by maintaining the snap, but should I ever become unable to maintain it, it would be bad for a lot of users relying on the snap.

kz6fittycent avatar Oct 08 '25 17:10 kz6fittycent

@kz6fittycent @deckstose I have no interest in maintaining any form of distribution besides the musl builds that are shipped with the releases. I believe I've been consistent in this any time someone has brought up the question of distributing.

That being said, I don't mind if automation for snap (or whatever else distribution tool) is added to the repo, as long as it's fully automatic.

If it brakes, I would just leave it up to those have an interest/knowledge in how to fix it. And if no one fixes it, it would eventually be removed.

aristocratos avatar Oct 12 '25 13:10 aristocratos