sboui: ncurses-based UI for SBo package managers (call for testers)
2 Attachment(s)
Slackers,
I'm sharing a little tool I've been working on for the last several months. It is an ncurses-based user interface for sbopkg, sbotools, or your own custom SBo package manager. It's not dialog-based, like a lot of other Slackware system administration tools, but is written from the ground-up in C++ with low-level ncurses library calls. Here are the main features:
https://github.com/montagdude/sboui You can find a SlackBuild here: https://github.com/montagdude/SlackB...r/system/sboui (Click on each file and use the "Raw" link to download. Otherwise, you will just get html.) When you first install it, it is set up to work "out of the box" with sbopkg's default settings. For sbotools, you just have to edit package_manager and repo_dir in the configuration file. It's pretty easy to make it work with custom tools too. See `man sboui.conf` for more details on that, or `man sboui` for general information about sboui. It would be really great if people could try it out and give some feedback on anything that doesn't work or could be improved. Once I get some feedback and make some more planned changes plus fix any issues that people here may find, I plan to submit it on SBo. Some screenshots are below. I'll make a couple more posts later to demonstrate some common actions: upgrading everything and reinstalling "inverse dependencies" after updating a library. |
3 Attachment(s)
Okay, so first off, here's a very basic use case. Let's say you want to install matplotlib.
|
5 Attachment(s)
A couple more little demos:
To do the equivalent of "upgrade-all":
Alright, that's all for now. Have fun! |
Thanks for this, will test it out :thumbsup:
|
montagdude I've loaded and tested on Slackware 14.2 64 with sbotools and it is looking great.
Load time seems to be a little slow in loading my local sbotools repo, upto 10 seconds. Usage It shows the Slackbuild packages that I have installed in the appropriate categories from sbotools. It would be nice if it could also show other slackbuilds installed which aren't from the sbotools repository. Perhaps a query of /var/log/packages to determine packages actually installed? I'm curious, how it goes about searching when looking for installed packages? For example, I've locally built slackbuild for sddm-0.12.0 based off AlienBob slackbuild script, and modified the end of the files to read sddm-0.12.0-x86_64-1alien-SBo, but when attempting a search with sddm it did NOT find that file. I've also installed AlienBob's qt5 and qt5-webkit, but a sboui search did not know that qt5 and qt5-webkit were already installed, perhaps it's a limit of sbotools rather than sboui search function? Since Sync is critical for sbo, perhaps that option key should be included on the first default page? Or is that part of the initial startup when sbotools is used as the package manager? Since Sync is meant to update is there a reason one must hit return? If it is to let one see the sync command results before going back to the interface, there might be confusion for the sbotools unfamiliar user, because a sync with no updates will show 0 0 0 0:00:00 and 0/52000 which might be thought of as a failed update, when in fact it is the result that nothing required updating. Installation I did have problems downloading the files from the link you provide above. I use SeaMonkey and when I attempt to "Save link Target as.." I was always getting the full html rather than the raw language. I'm not familiar with git, but thought it would have been interesting to clone the link to get the files. Read the Git User's Manual and the examples are for a git repository with a git tagged files, and that didn't work? Are you going to submit this to Slackbuilds.org so users might be able to get it standard methods? Also I see on github that you have a separate git tree for the actual development, so maybe you want to link to that instead during this development phase? The sboui.conf file allows for vi and other editors. If I set it for Emacs and run it in a xterm then x-Emacs will actually be allowed, thanks! Documentation suggest only using non-x editors, so I'm assuming Emacs standard would be used? I'll add more notes as I use it for some adds going forward. |
1 Attachment(s)
Quote:
You will want to download each of the files from the SlackBuilds page, download the file listed in the "DOWNLOAD=" field of the .info file, and then run the sboui.SlackBuild as root to build the package (just like the usual SBo process). sboui does require libconfig, which you can get from SBo. I intend to submit this to SBo after getting some feedback here and making some improvements. Per your suggestion, I also added the development site to the first post. |
Quote:
The problem is the extra dash. How the pkgtool suite determines package names is done by reversing the string (using the rev program) and then using the dash to separate the various things in the package name. The first section (when reversed) is the tag, then the ARCH, then the version, and finally the package name. This allows package names to contain multiple dashes without breaking the tools. Once it has all that information, it reverses it again so everything is displayed properly. So, the package manager likely sees this program's name as sddm-0.12.0, the version as x86_64, the ARCH as 1alien, and the tag as SBo. For packages like this, you'd want to use underscores in the tag (as well as any versions that might normally contain dashes). So, a better tag would be 1alien_SBo. |
@bassmadrigal, Thanks. I didn't know there was a strict standard to follow for underscore and dashes. I wanted to remember the path (from alien repo) and method (slackbuild) used to get to the package installed. I'll modify the package name to have an underscore.
What practice do you use to remember the repo you might have pulled the source or original slackbuild from? Do you use SBo for all slackbuilds whether a script created by yourself or coming the slackbuilds.org? I just found in the three years using Slackware that paper is my primary source to remember how I found source and then built packages, maybe that is the life of a slacker...:-) |
Quote:
Quote:
Quote:
Quote:
Quote:
Code:
kate: cannot connect to X server :0 |
Quote:
Quote:
Quote:
Quote:
Quote:
Thanks again for the interface. I'm looking forward to using it more! |
Quote:
|
Quote:
Quote:
Quote:
Quote:
Quote:
|
I have about 63 SBo packages from 11 groups installed at this time. Startup takes 9 seconds.
|
Hey everyone,
sboui-0.2 has been released. Here are the main changes:
https://github.com/montagdude/sboui/...ster/ChangeLog I'm still welcoming feedback, suggestions, and bug reports. You can either do that here or on the github page. |
The new slackbuild installs, but as soon as I execute it goes to segmentation fault when trying to Read Slackbuilds repository.
This is the dmesg [12656.650901] sboui[20624]: segfault at 18 ip 00007f4bad5de94b sp 00007ffe852b38d0 error 4 in libstdc++.so.6.0.21[7f4bad512000+16b000] I'm not sure what is happening, but reinstalling 0.1.1 doesn't have this issue. I've also noticed another issue or user error. I have Keepassxc installed. It requires libinput be installed as referenced here https://github.com/keepassxreboot/ke...on-from-Source and also in the "Compute Build Sequence" for keepassxc. However, when I run the "List inverse deps" for libinput it does NOT show that it is a dependency for keepassxc. Am I interpreting the "List inverse deps" wrong or should it be showing libinput is a dependency of keepassxc? Or is this an error in the slackbuild file itself, because I checked the slackbuild "REQUIRES" field of keepassxc and it only shows qt5 as required. Am I confused and it is all "user error"? P.S. for those who installed the 0.1.1 version it will not upgrade with sboui, because the original slackbuilds have a _mntg-SBo ending and only those files with _Sbo will be recognized for upgrading. After installing the newest version it will properly identify in sboui. |
All times are GMT -5. The time now is 02:29 AM. |