sboui: ncurses-based UI for SBo package managers (call for testers)
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
@travis and @Gordie, proper slackpkg name should include packagename-version-arch-build.tgz. It must be in this format for the standard package tools to handle the package. Sboui uses sbopkg or sbotools, which both rely on the standard Slackware standard package tools of installpkg, upgradepkg and removepkg, which read from right to left. The only exception to the three hypen format is that packagename can have additional hypens, for example brian-amundsen-01.01.01-x86_64-1ba.tgz and brian_amundsen-01.01.01-x86_64-1ba are both valid package slackware package names. Again the standard tools read from right to left from the .tgz. If you have a package that doesn't have the proper package name then sboui and the standard package tools will have trouble and it might even be sporadic. Hope this helps.
Does sboui differentiate between dependencies and "optional" dependencies? I looked at MythTV for example. Only has optional dependencies but you go to install and there is a laundry list of things that install in the process
Does sboui differentiate between dependencies and "optional" dependencies? I looked at MythTV for example. Only has optional dependencies but you go to install and there is a laundry list of things that install in the process
sboui doesn't know anything about optional dependencies, since there is no standard way for them to be listed in the repo or enabled in the SlackBuild scripts. But MythTV has lots of non-optional dependencies, which you can see if you look in mythtv.info. sboui will find more also, because it computes them recursively (to find dependencies of dependencies, and so on) so that all are built and installed in the correct order.
Just as a heads-up: sboui-1.0 is released. The main change is that it now includes an optional built-in package manager that can be used instead of sbopkg or sbotools. It's also easier to switch between package managers, as it will prompt you to automatically update repo_dir, sync_cmd, install_cmd, and upgrade_cmd to the default for the package manager you choose in the Options window. There's also an option to not display a warning about invalid package names on startup, as some people were asking for. Full ChangeLog here:
Location: Geneva - Switzerland ( Bordeaux - France / Montreal - QC - Canada)
Distribution: Slackware 14.2 - 32/64bit
Posts: 609
Rep:
Hi,
Thank you for your effort.
I just tried it and I have noticed some problems:
- $EDITOR is NOT used... When I open option I have 'vi' choosen, from I don't know where, as I hate vi and use emacs (not starting a flame war just giving the context of "my" usage ). I have EDITOR variable set, to emacs.
- $PAGER MUST BE USED... to open readme, I don't want to launch an EDITOR, to view a read only file (for which 'less' is enough for me).
- Screen refreshes "abusively" blinking often (note that I use it through 'tmux'). Although it's not really a hard problem, it's a bit annoying and might reflect some 'useless calls' from the event loop.
- I haven't tested it (as EDITOR is not even taken in account), but there's also the 'VISUAL' env var some might want to use.
- $EDITOR is NOT used... When I open option I have 'vi' choosen, from I don't know where, as I hate vi and use emacs (not starting a flame war just giving the context of "my" usage ). I have EDITOR variable set, to emacs.
$EDITOR is used, but it is superseded by sboui's "editor" setting. Remove that line from the config file (~/.sboui.conf or /etc/sbui/sboui.conf), and it will fall back to $EDITOR. Or, you can just change the "editor" setting to emacs or whatever you want to use.
Quote:
Originally Posted by NoStressHQ
- $PAGER MUST BE USED... to open readme, I don't want to launch an EDITOR, to view a read only file (for which 'less' is enough for me).
I didn't add that as an option, simply because personally I use the same thing for editing and viewing, but I can add a separate viewer option if you think it is important.
Quote:
Originally Posted by NoStressHQ
- Screen refreshes "abusively" blinking often (note that I use it through 'tmux'). Although it's not really a hard problem, it's a bit annoying and might reflect some 'useless calls' from the event loop.
Hm, I have not tried it with tmux, but I don't get lots of blinking in my usage. Have you tried it outside of tmux? I wonder if tmux is sending a lot of resize signals when it shouldn't be.
Location: Geneva - Switzerland ( Bordeaux - France / Montreal - QC - Canada)
Distribution: Slackware 14.2 - 32/64bit
Posts: 609
Rep:
Quote:
Originally Posted by montagdude
$EDITOR is used, but it is superseded by sboui's "editor" setting. Remove that line from the config file (~/.sboui.conf or /etc/sbui/sboui.conf), and it will fall back to $EDITOR. Or, you can just change the "editor" setting to emacs or whatever you want to use.
Thank you.
Already did that, it's just "by default" it doesn't use EDITOR as the config "by default" force 'vi'. It's not the "usual expected" behavior which should be first assume "EDITOR" is right (or the config should be defaulted to "EDITOR" value if really it must be added.
Quote:
Originally Posted by montagdude
I didn't add that as an option, simply because personally I use the same thing for editing and viewing, but I can add a separate viewer option if you think it is important.
Well I understand, but the "role" of both are different. Even if it's not a huge fault, think that README should be read only, one wouldn't want to modify the readme accidentally, just because you're in a editor and, it happens it's VI and you don't know what to do and you mess it up. That kind of situation, it's a good "design" to have the tool limited to what it really needs. If it doesn't need to write, editing shouldn't even be allowed (talking as a developer myself).
Quote:
Originally Posted by montagdude
Hm, I have not tried it with tmux, but I don't get lots of blinking in my usage. Have you tried it outside of tmux? I wonder if tmux is sending a lot of resize signals when it shouldn't be.
I haven't, but for the record, mc which I think is ncurse based, doesn't flicker. I have no more clue for now, but from my experience, I'd suspect more a "logical" overredraw in the client app (like rewriting everything instead of just refreshing the changed part, or something like this)... I didn't dig into your code, and admit that I didn't experiment too much with ncurses myself, as I find the API horrendous.
Also, I'm not the typical "sales guy", I suck at communication, so I just want to give you feedback/tips/hints, of course I don't criticize your work. Again thank you for your contribution to Slackware's ecosystem.
Bests.
G.
Last edited by NoStressHQ; 03-23-2018 at 07:07 AM.
Reason: Fixed "frenchy" typo...
Great work on sboui! I have an edge case that might be of interest. I have a cluster of 64-14.2 servers (physical & LXC) where I share an centralized sbopkg repo using sshfs. I locally mount the shared repo (sshfs root@server:/var/lib/sbopkg/SBo /var/lib/sbopkg/SBo) then launch sbopkg. This has been working well for a long time!
sboui doesn't detect the repo when it's mounted using sshfs. sboui works great with a local repo. Just thought you would like to see an different edge case.
BTW, I also experimented with sbotools using the shared repo. It works and it's slower as expected but I haven't spent much time with sbotools yet.
Already did that, it's just "by default" it doesn't use EDITOR as the config "by default" force 'vi'. It's not the "usual expected" behavior which should be first assume "EDITOR" is right (or the config should be defaulted to "EDITOR" value if really it must be added.
Here is the order sboui uses to set the editor:
The "editor" variable in the config file
If that is not available, use the $EDITOR environment variable
If that is not available, use vi.
I have tested that this gives the expected behavior by exporting EDITOR=less, deleting the "editor = " line in ~/.sboui.conf, and viewing a README in sboui (it is opened with less). If that is not the behavior you are seeing, then I don't know why. Or are you just saying that there should be no value set for editor in the default config file?
Quote:
Originally Posted by NoStressHQ
Well I understand, but the "role" of both are different. Even if it's not a huge fault, think that README should be read only, one wouldn't want to modify the readme accidentally, just because you're in a editor and, it happens it's VI and you don't know what to do and you mess it up. That kind of situation, it's a good "design" to have the tool limited to what it really needs. If it doesn't need to write, editing shouldn't even be allowed (talking as a developer myself).
Okay, well I will add an additional viewer or pager setting in the next release which will be used for viewing READMEs. The editor will still be used to open files in the "Browse files" function.
Quote:
Originally Posted by NoStressHQ
I haven't, but for the record, mc which I think is ncurse based, doesn't flicker. I have no more clue for now, but from my experience, I'd suspect more a "logical" overredraw in the client app (like rewriting everything instead of just refreshing the changed part, or something like this)... I didn't dig into your code, and admit that I didn't experiment too much with ncurses myself, as I find the API horrendous.
In general, sboui only redraws the parts that have changed. For example, when you move the cursor up or down without scrolling the items in the list, only the currently highlighted and previously highlighted entries are redrawn. When you use PageUp, PageDown, Home, or End, or when scrolling occurs, only the items in the current list are redrawn. The whole thing is redrawn if the window is resized or if a popup appears or leaves. I will have to do some testing in tmux to see if I can figure out what is causing the flickering.
Quote:
Originally Posted by NoStressHQ
Also, I'm not the typical "sales guy", I suck at communication, so I just want to give you feedback/tips/hints, of course I don't criticize your work. Again thank you for your contribution to Slackware's ecosystem.
Great work on sboui! I have an edge case that might be of interest. I have a cluster of 64-14.2 servers (physical & LXC) where I share an centralized sbopkg repo using sshfs. I locally mount the shared repo (sshfs root@server:/var/lib/sbopkg/SBo /var/lib/sbopkg/SBo) then launch sbopkg. This has been working well for a long time!
sboui doesn't detect the repo when it's mounted using sshfs. sboui works great with a local repo. Just thought you would like to see an different edge case.
BTW, I also experimented with sbotools using the shared repo. It works and it's slower as expected but I haven't spent much time with sbotools yet.
I've never tried that myself until now, and sure enough, it didn't work. It may have been a permissions problem in my case though. Or it might have something to do with how the opendir function handles sshfs directories. I will look into it.
I've never tried that myself until now, and sure enough, it didn't work. It may have been a permissions problem in my case though. Or it might have something to do with how the opendir function handles sshfs directories. I will look into it.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.