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.
@tonus:
Nice to you to answer to my post so readily. I am really repository naive, but I try to learn.
Do you mean that the gnugo alien package or the cgoban ponce package could no be built thru sboui, they will only be detected if they are already on my system?
From what I understand sboui would be more a dependency resolver that could be used on top of sbopkg for example. Is this the case? In that case what is the advantage of sboui over sqg (SBo Queue Generator)?
Last edited by francois.e; 02-26-2023 at 07:37 AM.
@tonus:
Nice to you to answer to my post so readily. I am really repository naive, but I try to learn.
Do you mean that the gnugo alien package or the cgoban ponce package could no be built thru sboui, they will only be detected if they are already on my system?
From what I understand sboui would be more a dependency resolver that could be used on top of sbopkg for example. Is this the case? In that case what is the advantage of sboui over sqg (SBo Queue Generator)?
It's a different tool to do the same basic things. It is more interactive-UI-focused than sbopkg and has some additional features, like dependency resolution built-in, filtering the displayed lists based on a number of different criteria, displaying build orders and inverse dependencies, and blacklisting. It can also be used as a front-end for sbopkg or sbotools. Those familiar with the Midnight Commander file browser should feel comfortable with the interface.
Last edited by montagdude; 02-26-2023 at 10:58 AM.
Thanks for the clarifications. So no need to change the package manager settings if I understand, without sbopkg I will get access at the same sbo pasture. Is it? What is the advantage of setting sbopkg as the package manager.
1.0 Package managers.
Could sboui be matched with slapt-get package manager?
Thanks for the clarifications. So no need to change the package manager settings if I understand, without sbopkg I will get access at the same sbo pasture. Is it? What is the advantage of setting sbopkg as the package manager.
Pretty much only if you already use sbopkg and want to use sboui as a front-end. Otherwise you can just stick with the built-in package manager.
Quote:
Originally Posted by francois.e
1.0 Package managers.
Could sboui be matched with slapt-get package manager?
Does slapt-get work with SlackBuilds.org? If so maybe. You need to set package manager to 'custom' and then set repository directory, sync command, install command, upgrade command, and reinstall command appropriately under Options or in /etc/sboui.conf.
The first one, no. That is a binary repository. sboui is for SlackBuilds source repositories conforming to the conventions from SlackBuilds.org. For binary repositories, you can use slackpkg+ or slapt-get.
The second one, definitely. There's already a line in /etc/sboui/sboui-backend.conf, commented out by default, to use Ponce's repo for -current. Just comment the default repo, uncomment that one, and sync. Ponce's repository is for -current, though, so you shouldn't use it if you are running -stable.
Quote:
Originally Posted by francois.e
As a general comment, I like very much the simple interface that you use very simple.
Thanks so much!
Glad you like it. Thanks for your comments!
Last edited by montagdude; 02-27-2023 at 07:33 AM.
#!/bin/sh
# $Id: boost-compat.SlackBuild,v 1.16 2022/12/17 11:05:38 root Exp root $
# Copyright 2018, 2019, 2020, 2021, 2022 Eric Hameleers, Eindhoven, NL
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
# any purpose with or without fee is hereby granted, provided that
# the above copyright notice and this permission notice appear in all
# copies.
#
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
# -----------------------------------------------------------------------------
#
# Slackware SlackBuild script
# ===========================
# By: Eric Hameleers <alien@slackware.com>
# For: boost-compat
# Descr: boost libraries extracted from older releases.
# Use for compatibility reasons on slackware-current,
# after an update of boost.
#
# -----------------------------------------------------------------------------
# Set initial variables:
PRGNAM=boost-compat
# Set the VERSION to the most recent boost package version we use:
VERSION=${VERSION:-1.81.0}
TAG=${TAG:-"alien"}
BUILD=${BUILD:-1}
# Where do we look for sources?
SRCDIR=$(cd $(dirname $0); pwd)
# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
TMP=${TMP:-/tmp/build}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
##
## --- with a little luck, you won't have to edit below this point --- ##
##
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
i?86) ARCH=i586 ;;
arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
esac
export ARCH
fi
# Set LIBDIRSUFFIX:
case "$ARCH" in
i?86) LIBDIRSUFFIX="" ;;
x86_64) LIBDIRSUFFIX="64" ;;
armv7hl) LIBDIRSUFFIX="" ;;
*) LIBDIRSUFFIX=${LIBDIRSUFFIX:-""} ;;
esac
# Exit the script on errors:
set -e
trap 'echo "$0 FAILED at line $LINENO!" | tee $OUTPUT/error-${PRGNAM}.log' ERR
# Catch unitialized variables:
set -u
P1=${1:-1}
# Create working directories:
mkdir -p $OUTPUT # place for the package to be saved
mkdir -p $TMP/tmp-$PRGNAM # location to build the source
mkdir -p $PKG # place for the package to be built
rm -rf $PKG/* # always erase old package's contents
rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build
rm -rf $OUTPUT/{checkout,configure,make,install,error,makepkg,patch}-$PRGNAM.log
# remove old log files
cd $TMP/tmp-$PRGNAM
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
echo "Extracting the libraries for $PRGNAM..."
for SOURCE in $SRCDIR/oldpkg/boost-*-$ARCH-*.t?z ; do
tar -xf ${SOURCE}
mv -i usr/lib${LIBDIRSUFFIX}/libboost*.so.* $PKG/usr/lib${LIBDIRSUFFIX}/
rm -rf *
done
cd $PKG
chown -R root:root *
chmod -R u+w,go+r-w,a-s *
# Generate library symlinks:
cd $PKG/usr/lib${LIBDIRSUFFIX}
ldconfig -n .
# Add a package description:
mkdir -p $PKG/install
cat $SRCDIR/slack-desc > $PKG/install/slack-desc
# Build the package:
cd $PKG
makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
cd $OUTPUT
md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz.md5
cd -
cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt
3) What is the rebuild inverse dependencies function?
No, it won't work. Alien Bob's source repos don't include the .info file that SBo requires. It's not intended to be used that way. Same thing with the Slackware main repo.
Quote:
Originally Posted by francois.e
3) What is the rebuild inverse dependencies function?
Thanks.
When sboui upgrades a package, it can detect whether you have other SBo packages that depend on the one you just upgraded and automatically rebuild them. This is not always necessary, but sometimes it is, so it doesn't hurt to do it.
Inverse dependencies function seems to be a great option. This means that you will get rid of redundant depencies, those that are duplicated from package to package, isn`t? Is this feature unique to your package builder?
Inverse dependencies function seems to be a great option. This means that you will get rid of redundant depencies, those that are duplicated from package to package, isn`t? Is this feature unique to your package builder?
Thanks a lot.
Rebuilding inverse dependencies doesn't help you get rid of anything redundant. It's to make sure that packages don't break if a library upgrade results in ABI changes. Related, though: it can be helpful to use sboui to filter by Non-dependencies to find packages that are not used by anything else. However, it won't know if you installed them as a dependency of something outside of SBo. The only other SBo tool I know of that can automatically rebuild inverse dependencies is slackrepo.
Last edited by montagdude; 02-27-2023 at 12:45 PM.
I have read at the begining of your thread that it is possible to config the text editor with /etc/sboui/sboui.conf, I see no entry for that purpose. I do I set nano to be the text editor?
ENVIRONMENT
PAGER
Application used to view READMEs. less is used as the default
if this environment variable is not set.
VISUAL or EDITOR
Application to edit files using the Browse files and View/edit
notes functions. VISUAL is checked first. If it is unset, EDI‐
TOR is used instead. vi is used as the default if neither vari‐
able is set.
In other words, set one of these environment variables before running sboui.
In conclusion, sboui is a simple and nice gui interface when synched that will tell you what is on your slackware installation for both prebuilt packages and sbo built packages. It could be paired with some other package manager and the repository that it covers. It will allow to build from sbo packages, but will not fetch already built packages.
Am I right?
Do you intend to provide the fetching of already built packages with dependency resolution feature? That would be very gorgeous. spman provides both both prebuilt packages and sbo built packages, as does slapt-get with its slapt-src feature.
In conclusion, sboui is a simple and nice gui interface when synched that will tell you what is on your slackware installation for both prebuilt packages and sbo built packages. It could be paired with some other package manager and the repository that it covers. It will allow to build from sbo packages, but will not fetch already built packages.
Am I right?
Do you intend to provide the fetching of already built packages with dependency resolution feature? That would be very gorgeous. spman provides both both prebuilt packages and sbo built packages, as does slapt-get with its slapt-src feature.
Thanks.
That's correct. As I said already, it is only for building packages from source from SBo or other similar source repositories.
Trying to use sboui with sbopkg, I get the following message:
What is there to be done to fix the issue?
Thanks
The error is listed right in the message. It's an issue with the sbopkg repository GPG key. Nothing sboui can do about that. Do you get the same error when you run `sbopkg -r` from the command line?
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.