TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

GitHub: sysget – A front-end for every package manager

55 pointsby nathandalyover 6 years ago

19 comments

vbstevenover 6 years ago
I&#x27;m curious why the author chose to put every command in its own file and then copy the big if tree with string compares in every file.<p>Translating commands from a generic command interface to specific commands is a great case for polymorphism.
评论 #18161332 未加载
评论 #18159879 未加载
评论 #18161130 未加载
thereinover 6 years ago
It seems nowadays people just upvote based on just the title. This is a switch statement wrapper around package managers, on the front-page of HN.
评论 #18159099 未加载
评论 #18159083 未加载
评论 #18159091 未加载
heinrichhartmanover 6 years ago
C++ is an &quot;interesting&quot; language choice. I would have expected a bash script. Equally portable, and no hassle with compilation for different arch&#x2F;OS.
评论 #18160057 未加载
评论 #18159890 未加载
评论 #18159804 未加载
hkdobrevover 6 years ago
The title of the submission is a bit misleading:<p>&gt; GitHub: sysget – A front-end for every package manager (github.com)<p>Right now, it seems like it is GitHub&#x27;s own project when it&#x27;s just hosted on GitHub.<p>It should be:<p>&gt; Show HN: sysget – A front-end for every package manager (github.com)
zokierover 6 years ago
Is packagekit completely dead and forgotten these days?
评论 #18161534 未加载
Fnoordover 6 years ago
That&#x27;s not nearly &quot;every package manager&quot;.<p>Topgrade [1] upgrades all packages including distribution package managers (such as Homebrew, APT, DNF, ...), language specific package managers (such as Cargo, NPM, Gem, ...), program specific package managers (such as Vim, Tmux, shells, ...), Flatpak&#x2F;Snap, working on The Big Three (Windows, Linux, macOS).<p>I wish there was a way to update Steam and Battle.net from the CLI as well.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;r-darwish&#x2F;topgrade" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;r-darwish&#x2F;topgrade</a>
jchwover 6 years ago
I like this. This makes a lot of sense to me. If it managed to gain adoption into major distros, it would be incredibly good, though obviously that is a longshot for a lot of reasons.<p>If you really want it to get adopted into major distros, the best approach is probably to convince the systemd folks that it would be a great addition to their package ;)<p>edit: A bit of constructive criticism. I really like the concept, but I think the way that package managers are supported could be improved. I think it would be better if all of the handlers for a given package manager were in the same file, instead of having them spread across every file. There&#x27;s obviously lots of ways to accomplish this.<p>Also, as it is now, this project does not seem to use a ton of things that require C++ - you could shave some binary size cost by converting it to pure C.
评论 #18160584 未加载
anothergooglerover 6 years ago
All it does is compare strings and shell out, should be written in something like Bash rather than C++.
评论 #18159604 未加载
评论 #18159056 未加载
berbecover 6 years ago
Seems like a cool idea!<p>Just a thought, what if you allowed it to run in different modes, for people used to different systems? apt mode, yum mode, pacman mode etc to accept commands in that format.
评论 #18159041 未加载
heinrichhartmanover 6 years ago
Some missing features:<p><pre><code> - Show version of an installed package - List content of package - Fix package (or reinstall?) - Install&#x2F;Update history - Revert last install&#x2F;update operation </code></pre> Unfortunately not all of these features are directly supported by all package managers. E.g. package contents for yum are `repoquery -l`. I have to google this every time. Real value in wrapping that in a simple command.
评论 #18160546 未加载
mcilloniover 6 years ago
... why not PackageKit?<p>pkcon is a good tool, even if a bit janky, that hides well lots of the differences between the several package managers it supports.
vbernatover 6 years ago
Some configuration management tools already abstract package managers. For example: <a href="https:&#x2F;&#x2F;puppet.com&#x2F;docs&#x2F;puppet&#x2F;6.0&#x2F;type.html#package" rel="nofollow">https:&#x2F;&#x2F;puppet.com&#x2F;docs&#x2F;puppet&#x2F;6.0&#x2F;type.html#package</a>.
unhammerover 6 years ago
There is also <a href="https:&#x2F;&#x2F;github.com&#x2F;icy&#x2F;pacapt" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;icy&#x2F;pacapt</a><p>(I much prefer pacman&#x27;s interface over trying to remember which of dpkg&#x2F;apt-get&#x2F;apt-policy to use etc., similarly rpm&#x2F;dnf)
alexeizover 6 years ago
On the surface this looks like a useful project. If you plan to use it, do yourself a favor and avoid looking at the source code.
slimsagover 6 years ago
How does this handle edge cases like needing to run &#x27;brew link&#x27; etc. occasionally?<p>What happens when multiple package managers provide the same package?
评论 #18158941 未加载
another-cuppaover 6 years ago
A wrapper around emerge? Nope...
RayDonnellyover 6 years ago
Where&#x27;s conda?
knocteover 6 years ago
Missing flatpak :(
评论 #18160832 未加载
anticensorover 6 years ago
Obligatory xkcd: <a href="https:&#x2F;&#x2F;xkcd.com&#x2F;1654&#x2F;" rel="nofollow">https:&#x2F;&#x2F;xkcd.com&#x2F;1654&#x2F;</a>