# Does a GUI package manager exist?



## User7 (Apr 23, 2015)

I search any GUI package manager. I want have all installed package on the one place, where I can easy remove or add package. Does something like that exist?


----------



## tetragir (Apr 23, 2015)

PC-BSD has a built-in package manager, called AppCafe.


----------



## User7 (Apr 23, 2015)

I know, but I don't (and I'm not going) use PC-BSD.


----------



## gofer_touch (Apr 23, 2015)

If I am not mistaken GhostBSD has/had one. I don't know if they switched to the commandline with GhostBSD version 4.0.

The commandline package manager on FreeBSD works exceedingly well IMO. It is very powerful. Is there some reason why you would prefer not to use it?


----------



## kpa (Apr 23, 2015)

User7 said:


> I know, but I don't (and I'm not going) use PC-BSD.



If you really have a need for a GUI package manager you should look into other variants of FreeBSD such as PC-BSD, basic FreeBSD doesn't quite cater well to people who want graphical "easy" solutions. FreeBSD is a DiY system for enthusiasts and professionals who like to tinker with the OS and make it do what they want.


----------



## tobik@ (Apr 23, 2015)

kpa said:


> If you really have a need for a GUI package manager you should look into other variants of FreeBSD such as PC-BSD, basic FreeBSD doesn't quite cater well to people who want graphical "easy" solutions. FreeBSD is a DiY system for enthusiasts and professionals who like to tinker with the OS and make it do what they want.


All true, but this does not preclude us from having a GUI frontend for `pkg` as a port. After a quick glance at libpkg's API (which looks pretty sweet) there is even less reason for not having such a frontend.

Personally I'd really like to have a curses-based frontend.


----------



## kpa (Apr 23, 2015)

tobik said:


> All true, but this does not preclude us from having a GUI frontend for `pkg` as a port. After a quick glance at libpkg's API (which looks pretty sweet) there is even less reason for not having such a frontend.
> 
> Personally I'd really like to have a curses-based frontend.



Yes of course. It just happens that the expertise and the willingness to create such tools tends to gravitate away from FreeBSD towards the more desktop oriented FreeBSD offshoots. Ideally we should be able to use the PC-BSD offerings directly on basic FreeBSD but it hasn't been that simple so far.


----------



## Beastie7 (Apr 23, 2015)

There are some cases where the CLI is kind of limited for administration. Like sysctl values and kernel modules. Often times you want to plan your infrastructure for a client and just quickly deploy it. Sorting through the hundreds of values and modules FreeBSD has is kind of pain where nCurses could be very useful, like selecting multiples and tuning in a concurrent fashion.

I wouldn't mind an ncurses front-end to package/ports either. There was a guy on the mailing lists (forgot which one) experimenting with para-ports (parallel installs of ports) for FreeBSD. That with ncurses would be extremely useful for many cases.

I see ncurses as a non-GUI compromise for us CLI guys.


----------



## NewGuy (Apr 23, 2015)

Use can use AppCafe from FreeBSD. Just set up FreeBSD as you usually would, then install the PC-BSD desktop utilities from ports. You'll get a GUI package manager while maintiaining your FreeBSD base.


----------



## Beastie7 (Apr 23, 2015)

NewGuy said:


> Use can use AppCafe from FreeBSD. Just set up FreeBSD as you usually would, then install the PC-BSD desktop utilities from ports. You'll get a GUI package manager while maintiaining your FreeBSD base.



The problem with that is that you have to switch the underlying repositories over and install the PBI wrapper for AppCafe. As kpa mentioned, it isn't simple. There's yet to exist a generic GUI front-end for just plain vanilla pkgng, kind of like synaptic.


----------



## protocelt (Apr 23, 2015)

Beastie7 said:


> I wouldn't mind an ncurses front-end to package/ports either. There was a guy on the mailing lists (forgot which one) experimenting with para-ports (parallel installs of ports) for FreeBSD. That with ncurses would be extremely useful for many cases.


ports-mgmt/poudriere already does this, although, of course without a curses frontend.

Edit: Oops, now that I look at that again, I realize it said *parallel installs*, not parallel builds. Parallel installs would indeed be neat. Is that even really possible?


----------



## Beastie7 (Apr 24, 2015)

protocelt said:


> ports-mgmt/poudriere already does this, although, of course without a curses frontend.
> 
> Edit: Oops, now that I look at that again, I realize it said *parallel installs*, not parallel builds. Parallel installs would indeed be neat. Is that even really possible?



Here we go.

https://lists.freebsd.org/pipermail/freebsd-hackers/2015-April/047563.html

Apparently is it possible. He even has a pretty cool working demo of his project:

http://www.starforce.biz/paraports.mp4


----------



## kpa (Apr 24, 2015)

Beastie7 said:


> Here we go.
> 
> https://lists.freebsd.org/pipermail/freebsd-hackers/2015-April/047563.html
> 
> ...



The video didn't work for me (or would have taken ages to load) so I may have missed something but here we go. It looks like he is trying to solve the same problem as ports-mgmt/poudriere + ports-mgmt/pkg in pkg-upgrade(8) mode but coming from a different angle. With poudriere the dependencies are solved at build time resulting in dependency graph and a build order that guarantees the correct order and rebuilding of everything that needs rebuilding. The result of the builds is a set of packages that can be then used with pkg-upgrade(8). What he is doing apparently is parallelization of `make install` processes for multiple ports and guaranteeing the same dependency order but not using the builds to create a set of packages, he is just letting the ports system do its thing with `make install` for every individual port.

I have to say it's interesting approach but we already have a better solution that exploits the opportunities for parallelization as much as it's possible with the current ports tree and its limitations. Parallel installs sounds like a neat idea but quite frankly what pkg-upgrade(8) offers with its dependency solver is much more powerful and robust solution.

Also, what this paraports system would have to do as well is building ports in a clean environment to be considered useful.


----------



## hitest (Apr 30, 2015)

gofer_touch said:


> The commandline package manager on FreeBSD works exceedingly well IMO. It is very powerful.



Yep.  I prefer using the CLI package manager on FreeBSD.  It meets my needs.


----------



## standard_nerd68k (May 29, 2015)

I'm talking about Debian, not BSD, but I find GUI and CLI both have places. If I want a program to do some random task, but don't know what is available, it is easier to search in a GUI. If I know exactly what program I want, CLI is quicker.


----------



## ANOKNUSA (May 30, 2015)

tobik said:


> All true, but this does not preclude us from having a GUI frontend for  pkg as a port.



Speaking strictly from my years of experience with Arch Linux: the "Where's the graphical interface?" conversation rarely gets beyond "it's possible," because there's a significant gulf between those who want one and those who could make one. The people who want a graphical package manager _lack the skill to make one and the desire to learn_; the people with the skill to make one _don't want to spend their time and energy on it when good tools already exist. _The few people in the middle willing to actually create a graphical front-end to the package manager have invariably abandoned their projects.


----------



## tobik@ (Jun 25, 2015)

Here's a Qt frontend for pkg(8) which was featured in the latest BSD Now episode: https://github.com/aarnt/octopkg

No screenshots on GitHub, but it is based on Octopi from Arch Linux which has some screenshots on their homepage.


----------



## Alexandre A Arnt (Jul 2, 2015)

User7 said:


> I search any GUI package manager. I want have all installed package on the one place, where I can easy remove or add package. Does something like that exist?


Hi User7, 

Yes... Now such a tool exists!
It can be found at: 
https://octopkg.wordpress.com

It was created by me, porting a project called Octopi (from Arch Linux).
Screenshots can be found at:
https://octopkg.wordpress.com/screens/

I hope you all like it!


----------



## NewGuy (Jul 2, 2015)

Has anyone submitted OctoPkg as a port yet? I think this would be quite useful to many FreeBSD desktop users.

Update: I'm in the process of working on a port for OctoPkg. At the moment it builds and installs, but does not de-install cleanly. Would love to get some people to test this port and make suggestions on how to improve it.

http://torrent.resonatingmedia.com/octopkg.txt

Second update: This port has been cleaned up and submitted to the Ports team for review and hopefuly inclusion. You can track its progress or test the port here: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=201358


----------



## Beast13 (Mar 3, 2016)

so ... it is avalailable [*octopi*] ?


----------



## rabfulton (Mar 3, 2016)

ports-mgmt/octopkg


----------



## tobik@ (Mar 3, 2016)

Also note that there is now an ncurses frontend for pkg(8) in development: https://github.com/culot/portal


----------



## ronaldlees (Mar 3, 2016)

Have tried octopkg, and like it!  A few observations:

1 - Depends on Qt5 - a whopper that might not appeal to CLI crowd.
2 - Out of the box, responds with:


> There are no means to get administrator's credentials.
> You'll need to install gksu or ...



3 - Installing gksu brings in Nautilus and Gtk3 (ouch)

But!  Once I did all that it looks to work pretty well.  I installed some stuff, and the GUI seems to do what you'd think it should do in terms of a _point and click style_ installer, upgrader, etc.  It's all nicely formatted as well, and is color syntax coordinated.  Flashy!  It's new, so I would want to test it quite a bit more than I have before turning it loose ...

But, won't do the testing because I am probably still looking for that ncurses front end for myself  ...


----------



## kpa (Mar 3, 2016)

tobik said:


> Also note that there is now an ncurses frontend for pkg(8) in development: https://github.com/culot/portal



I hope it gets further than that. At minimum a GUI package manager (be it ncurses or full X11 GUI) should offer a changeset based display of which packages are to be updated, installed or removed compared to the present state of installed packages.


----------



## Oko (Mar 3, 2016)

kpa said:


> I hope it gets further than that. At minimum a GUI package manager (be it ncurses or full X11 GUI) should offer a changeset based display of which packages are to be updated, installed or removed compared to the present state of installed packages.


Maybe you guys should look at this code which is nothing more than an exercise in using SQLite database

https://rhaalovely.net/pkg_mgr/


----------



## kpa (Mar 7, 2016)

Oko said:


> Maybe you guys should look at this code which is nothing more than an exercise in using SQLite database
> 
> https://rhaalovely.net/pkg_mgr/



Yes, I'm sure such thing could be implemented as bits of SQL queries that interface directly with the pkg SQLite database. However, that goes against the design principles of pkg where one of them is that nobody should rely on the internal implementation of the database, it can change at any time without any prior warning. How it should be done is by extending the pkg-query(8) mechanism to answer questions like "what kind of changes would `pkg install foobar` cause if executed".


----------



## AHR Inc (Mar 27, 2016)

Simulation:
Before committing changes a simulation it is appropriate - it is only the 21st century. Work but work smart.


----------



## Makasimu (Sep 16, 2019)

Video 
Graphic Package Manager OctoPkg FreeBSD





_View: https://www.youtube.com/watch?v=ith5-YNdqkY_


----------



## drhowarddrfine (Sep 16, 2019)

That port-mgmt/octopkg thing is way too complicated and heavy and it doesn't do anything ports-mgmt/pkg doesn't do but pkg(8) is lighter and far, far faster without requiring a desktop manager, any kind of graphics or 1970s music.


----------



## Deleted member 9563 (Sep 17, 2019)

drhowarddrfine said:


> . . . or 1970s music.


Which causes accessibility issues for those of us who aren't deaf, whereas pkg(8) is for everyone.


----------



## CraigHB (Sep 18, 2019)

Definitely would like to see a proper ncurses front end for pkg.  Though I've not felt limited by the lack of it at this point.  I always thought Debian did a really good job with their package manager.  Something like that would be nice to see on FreeBSD.  As far as a GUI that runs within Xorg, not something I find particularly desirable, though could be handy.  I don't think I'd invest in something that heavy.


----------



## rigoletto@ (Sep 18, 2019)

Are you aware this is a years old thread?   



CraigHB said:


> Definitely would like to see a proper ncurses front end for pkg.



ports-mgmt/portal


----------



## drhowarddrfine (Sep 18, 2019)

rigoletto@
Every party has its poopers, 
that's why we invited you
Party pooper. Party pooper.


----------



## rigoletto@ (Sep 18, 2019)

drhowarddrfine said:


> rigoletto@
> Every party has its poopers,
> that's why we invited you
> Party pooper. Party pooper.


----------

