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

Installation flow is non-trivial and unclear #660

Open
rodelrod opened this issue Dec 19, 2020 · 8 comments
Open

Installation flow is non-trivial and unclear #660

rodelrod opened this issue Dec 19, 2020 · 8 comments

Comments

@rodelrod
Copy link

rodelrod commented Dec 19, 2020

I'm going to start by apologizing to the good people doing hard work to keep Hamster alive: this issue will not be the most helpful and may sound like a rant. My purpose is only to give feedback about what is potentially a common blocking point.

I'm now migrating from Ubuntu 16.04 to 20.04 (technically Pop!_OS 20.04, which is a variant of Ubuntu, so I wouldn't be surprised if the problems apply equally to Ubuntu). I've depended on Hamster for time-tracking for close to 10 years. In a perfect world Hamster would just keep working as it was forever but perusing this repo I've understood that there was unavoidable rework due to the necessary migrations to gtk3 and python3.

So I've been trying to get Hamster running on 20.04 and with Gnome Shell integration and it is far from straightforward. Since this is an LTS release for the most common Linux distro, it would maybe be good for a project to have a working "happy path" for this case. This is the only reason I'm reporting my troubles.

What would have helped

I think the best bang for the buck at this point for the devs and the users would be to make the package available in Flathub, have a working extension up on the Gnome Shell extensions website, and make sure that both work together. From what I could muster in different tickets it seems that you're very close to achieving this.

What I have tried

  • apt: not available for the LTS
  • ppa: none available for the LTS
  • snap: available in the 3.x release and working, but apparently incompatible with the shell extension
  • flatpak: no instructions of where to find the pre-built flatpak, after much digging I found one (for 3.x) as an artifact of the CI/CD pipeline but I got a bug when doing the install where it does not recognize the existing flathub remote for the dependencies and proposes to add a duplicate remote (similar to this flatpak issue, but not sure it's the same problem). I tried to install without adding a remote and it failed to locate the org.gnome.Platform package. I will not add the duplicate remote because as indicated in the flatpak ticket above this tends to mess up one's flatpak installation.
  • Building myself the v2.2.2: the dependencies listed on the README probably do not match the requirements for this earlier version. It crashes immediately after building. I do not try to build v3.x because at this point I was convinced I wanted v2.x (*)
  • Extension: There are multiple hamster shell extensions in the Gnome extension website but none of them is compatible with Gnome 3.36+

(*) I admit that I was not terribly excited from what I've seen from the v3 snap, so my enthusiasm to get Hamster properly set up has deflated: no more click and drag on the graph to add entries, no more bar graph with total time by day, no clicking on categories to filter, no independent auto-complete for categories after the '@', no more idle time detection... I'm sure there are very good reasons for these changes but unfortunately they severely reduce the utility of the app for my use case. This is why I'm no longer trying the install and looking for alternatives.

I hope you're not dispirited by this kind of comment, your work is praiseworthy and I hope that you'll be successful in your effort to get Hamster back in working condition. I'm sorry I cannot contribute with code rather than rants, but I'm quite busy right now and all these packaging technologies are totally foreign to me. I'm sure I'll keep checking back with the project and hopefully contribute with actual code in the next downtime.

@martinmagnusson
Copy link

Would it work to install from the 20.10 repos, as suggested in this post on askubuntu.com? https://askubuntu.com/a/1298985/244753

wget http://archive.ubuntu.com/ubuntu/pool/universe/h/hamster-time-tracker/hamster-time-tracker_3.0.2-3_all.deb
sudo apt-get install ./hamster-time-tracker_3.0.2-3_all.deb

@rodelrod
Copy link
Author

rodelrod commented Dec 23, 2020

Thanks, @martinmagnusson, I may try that in a VM when I finish my migration to 20.04, just for the sake of people checking this ticket.

For anything not coming straight from the distribution repositories, I've promised myself to stick with flatpak, AppImage, snap, nix packages or very mainstream PPAs. I'm too old to spend time chasing broken dependencies :)

Also, that would get me version 3, not version 2. Personally, I've switched to a proprietary (gasp) solution that works out of the box and albeit not nearly as good as the old Hamster, it's looking more usable for my needs than the new version.

@esarbe
Copy link

esarbe commented Jan 12, 2021

I've recently started using hamster again and it was a bit of a hassle to get it running for me as well. What would be the necessary steps to get hamster published on Flathub? Can I help?

@matthijskooijman
Copy link
Member

It's a bit of known issue that installing hamster is a pain currently, especially since it dropped out of most distros between 2.x and 3.0. I would like to see this improved, though it's one of many things that we need to get sorted out...

As for the flatpak being hard to find, that would be something that we could fix in the README. Also, flatpak support is rather new (not yet part of any release), so starting with the next release we should probably also upload a flatpak build along with releases (not sure if the current GH actions integration handles this already).

I've recently started using hamster again and it was a bit of a hassle to get it running for me as well. What would be the necessary steps to get hamster published on Flathub? Can I help?

I'm quite unfamiliar with the Flathub ecosystem, so I can't really answer this. @tchernobog and @bochecha have been working on Flatpak support before, maybe they can comment here?

As for the extension and the mess on extensions.gnome.org, see projecthamster/hamster-shell-extension#304

Just some thoughts on this issue.

@matthijskooijman matthijskooijman changed the title Hard to set up in Pop!_OS LTS 20.04 Installation flow is non-trivial and unclear Mar 13, 2021
@tchernobog
Copy link
Contributor

As for the flatpak being hard to find, that would be something that we could fix in the README. Also, flatpak support is rather new (not yet part of any release), so starting with the next release we should probably also upload a flatpak build along with releases (not sure if the current GH actions integration handles this already).

Yes, that was the original idea: the next release should, alongside the source .zip and .tar.gz files, provide also the .flatpak file. Then it'd be readily available and discoverable.

I've recently started using hamster again and it was a bit of a hassle to get it running for me as well. What would be the necessary steps to get hamster published on Flathub? Can I help?

Getting it into flathub would mostly be a question of writing the appstream metadata file, adjusting the flatpak manifest ever so slightly to download Hamster's sources from a known URL instead of from a local folder, and submitting a PR against the relevant repository.

Those are all easy steps. However, a maintainer of Hamster should branch the flathub repo as part of projecthamster here on GitHub, and create the org.gnome.Hamster branch. Once that is done, we can take it from there. I am not comfortable in maintaining a branch myself, as a non-maintainer. It's a matter of software provenance verification.

As for the extension and the mess on extensions.gnome.org, see projecthamster/hamster-shell-extension#304

Just FYI, since we're talking about Flatpak: there is no plan to support GNOME Shell extensions within the flatpak.

Also, starting from GNOME 40, they need to be migrated to Gtk 4 if they have preferences.

@cjauvin
Copy link

cjauvin commented Aug 11, 2021

Hi, I'm a Ubuntu 20.04 user and I've tried to install Hamster 3.0.2 with snap, with both the command line and the graphical software center, to no avail (it seems there is no apt package available, although I'm not certain). The farthest I get is (with the snap cli) a Hamster window, but then I cannot seem to do anything (the "track" button is greyed out or not responsive, and nothing happens otherwise. With the graphical center, after a seemingly successful install (and all the permissions set), I get nothing at all, just a icon that doesn't pop any window or error message whatsoever. Any guidance would be appreciated.

@salim-b
Copy link
Contributor

salim-b commented Aug 12, 2021

@cjauvin I'm on the same OS as you, this is how I'm currently using Hamster:

  1. Install the Flatpak version (since the Snap version doesn't work with the GNOME Shell extension):

    The Flatpak is not yet available on Flathub, thus download the GitHub Actions artifact from the testing workflow and install it using flatpak install --reinstall Hamster.flatpak.

  2. To install the GNOME Shell extension:

    The version in the GNOME Catalogue is horribly outdated and doesn't work with recent versions of the GNOME Shell. Install the development version by downloading the proper ZIP file, unpacking it, running make dist, copying the content of the generated dist/[email protected] to ~/.local/share/gnome-shell/extensions/[email protected], restarting the GNOME Shell and activating the extension.

    Shell commands: make dist; unzip -q dist/[email protected] -d ~/.local/share/gnome-shell/extensions/[email protected]

  3. If you like, you could use my improvised solution for idle detection.

@tchernobog
Copy link
Contributor

@matthijskooijman would it make sense to do a new minor release out of master, to expose the flatpak artifact publicly? It would greatly help discoverability while we think about how to proceed.

This was referenced Nov 18, 2023
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

7 participants