Code Monkey home page Code Monkey logo

sbopkg's Introduction

sbopkg

Slackbuilds.org Package Browser

Sbopkg is a command-line and dialog-based tool to synchronize with the SlackBuilds.org ("SBo") repository, a collection of third-party SlackBuild scripts to build Slackware packages. Sbopkg is actively maintained and a new version is released one or more times per Slackware/SBo release. Numerous people have contributed diffs, bug reports, and helpful suggestions and they are all mentioned in the THANKS file in /usr/doc/sbopkg-$VERSION. This utility would not be anywhere close to its present state without the help of these folks.

Features

Sbopkg will allow the user to:

  • Create, browse, and search a local copy of the SBo repository for any supported Slackware version.
  • Read the SBo ChangeLog.txt.
  • Display a list of all SBo packages installed on the user's system.
  • Display potential updates to packages installed from SlackBuilds.org.
  • View the README, SlackBuild, .info, and slack-desc files for each individual piece of software in the repository.
  • Copy the original .info file or SlackBuild for editing.
  • Automatically download the source code, check the md5sum, and build or build and install a Slackware package from either the original .info file and SlackBuild or the locally-edited copies.
  • Download source code from the SBo Source Archive if the original URL no longer works.
  • Batch queue packages for building or building and installing.
  • Load, save, and use sbopkg queuefiles (.sqf), several of which are included with the package.
  • View the contents of the cache directory (where source code tarballs are stored).
  • View the permanent build log that is optionally maintained to keep a record of the entire compilation process.
  • Check for an update to sbopkg itself.
  • Blacklist package(s) that you don't want to update

Sbopkg (by default) will not check dependencies since that is not a feature native to Slackware. Sbopkg is one thing and one thing only: a medium to easily browse a local copy of the SlackBuilds.org repository and build packages from it. However, since 0.38.0, sqg (SBo Queue Generator) is included in the main package, so users can easily generate queue file(s) which list all dependencies and install them along with the requested package.

Sbopkg can also be used strictly from the command line without the dialog interface, to perform most, if not all, of the same functions listed above. Typing sbopkg -h will display the command line options.

Please note that while sbopkg has performed well for many users, it is still advised to read the ChangeLog and READMEs before building package(s).

sbopkg's People

Contributors

andy5995 avatar arcctgx avatar artourter avatar bassmadrigal avatar bosth avatar chessgriffin avatar dhabyx avatar erichritz avatar geremia avatar jktheslacker avatar larathbone avatar ponce avatar pyllyukko avatar sftp avatar smallid avatar willysr avatar yars068 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sbopkg's Issues

speex-1.2.rc2 is not newer than speex-1.2.0

sbopkg -c

[ Checking for potential updates ]
This may take a few moments. Press to abort.
100%[===========================================================================]
Listing installed SBo repository for Slackware 14.2 packages and flagging
potential updates...
speex:
INSTALLED PACKAGE IS NEWER THAN REPO
Installed version: speex-1.2rc2-x86_64-5_SBo
Repo version: speex-1.2.0-x86_64-1_SBo

sqg -a

When I use
sqg -a

I get:

sqg -a

Setting system wide configuration in /etc/sbopkg/sbopkg.conf
Processing all SlackBuilds in the SBo/15.0 repository.../usr/libexec/sbopkg/sqg/functions: line 238: parallel: command not found
Done.

Any comment appreciated

checking for update doesn't work on 0.38.1

trying to check for sbopkg package update hangs in both ncurses mode and through the cli (sbopkg -u).

sbopkg becomes completely unresponsive and only a CTRL-C gets out of it.

xmms-ctl marked as "newer than repo" but they are the same

root# sbopkg -c
Listing installed SBo repository for Slackware 14.2 packages and flagging
potential updates...

xmms-ctl:
  INSTALLED PACKAGE IS NEWER THAN REPO
  Installed version:  xmms-ctl-4158c718bf68cd8653a0aee93afe65202e483ef9-x86_64-1_SBo
  Repo version:       xmms-ctl-4158c718bf68cd8653a0aee93afe65202e483ef9-x86_64-1_SBo

Potential update list complete.

Show version when searching using CLI

Hello. When searching packages on the SBo, we see the versions of packages. But does not, when searching using sbopkg. So, I tried to make it more comfortable. When searching with -g option, sbopkg will show version of packages. Thanks you! See yars068:f070eb for patch.

Vulnerability: unpacked slackbuilds are owned by a random unprivileged user

Hello.

check_asc() unpacks the slackbuild archive after checking gpg.

At the current time the files in slackbuild archives are owned by slackbuilds:slackbuilds (1016:1016). Since sbopkg is run as root these uid/gid are restored when unpacking and the unpacked files are owned by an unknown user 1016:1016 instead of root. If such a user exists he will have permissions to modify these files and inject arbitral commands that will be executed as root when the SlackBuild is run.

GNU tar has -o/--no-same-owner option to extract files as the current user (root). I think it must be used everywhere where a slackbuild archive is unpacked (not only in check_asc()).

Another question (should I create another issue for it?) is whether it's necessary to rsync unpacked directories from slackbuilds.org mirror. They are not signed so we cannot verify their contents. Someone could hack the mirror and modify the unpacked directories.

Wouldn't it be more secure and more traffic-efficient to ignore directories and rsync only slackbuild archives and their signature files?

typo in website

I don't know if there is another place to report it, so...

https://www.sbopkg.org/queues.php states:

sbopkg -p <package> # this will build queue file for a single package

sbopkg -a # this will build queue files for all packages in the repository

sbopkg should be chaged to sqg

wrong link on sbopkg.org

On http://sbopkg.org/docs.php there's a line saying

Click here for the sbopkg(8) man page.

It contains a wrong link that points to a raw HTML file that's not readable by humans. The link to the sbopkg.8 manpage should either point to a HTML version of the manpage that actually renders in the browser. Or just to the text version of the manpage, that's also human readable.

Add third party source repository

B. Watson came up with an interesting idea
suppose download failed due to source not found or failed at checksums, we can switch to alternative third party repository (currently we only have one repo available at the moment).

This feature is tracked under sbosrcarch branch

Modified Slackbuild in tui not archived in /usr/doc

When a SlackBuild file is updated in the terminal UI, for example to support a later version than in the repo, the version of the file that is archived is the original. The default for SlackBuild files look to archived $CWD/$PRGNAM.SlackBuild. This makes the version and configuration of the installed package not match the version found in /usr/doc/<pkgname>-<pkgversion>

self update with -u hangs

I am on Slackware 14.2, and have been running version 0.38.1 of sbopkg for quite some time with no problems to report. Today (Jan 17 2018) I started encountering the following issue:

Running sbopkg -u hangs (returns no errors / warnings, etc.; it simply never returns to a command prompt, even after waiting a few minutes).

htop reveals the task

wget -T 10 -q -O - https://sbopkg.org/currentversion

being run repeatedly. Running it directly in a terminal returns 0.38.1, as expected. Also, everything else seems to be in order (I did package updates with sbopkg -rc and then -i uneventfully before running sbopkg -u).

I run checks for self-updates with -u regularly, and have never encountered the problem before.

integrate sbotools + sbopkg

I'm currently trying to use sbotools and sbopkg pointing to the same repository.

Currently with the directory to repo substituted to a symlink to sbopkg repository (actually rsync mirror).

The command used to create the link was a simple:

[/usr/sbo/]# ln -s /var/lib/sbopkg/SBo/14.2 repo 

For now it is working fine, but I'm concerned with this file diff:

diff -q repo.orig/ /var/lib/sbopkg/SBo/14.2/
> Files repo.orig/SLACKBUILDS.TXT and /var/lib/sbopkg/SBo/14.2/SLACKBUILDS.TXT differ

I guess SLACKBUILDS.TXT from sbopkg includes MD5SUM and other info, while sbotools only needs name/location.

If we could integrate both better, that would be great.


One step to a better integration would be considering instead of rsync mirror, a git repository.

That way both tools could do a "repo upgrade" that would be equivalent.

Thanks

Log rotation

Log file eventually increases in size and takes tens of megabytes. Looks like we need to rotate the log file.

167
168    if [[ -e $LOGFILE ]]; then
169        mv -f $LOGFILE $LOGFILE.old
170    fi
171

sqg -o missing dependency

I was working on upgrading my htpc to 15.0 over last weekend.

The system pretty much only runs kodi on top of a full Slackware install. I tend to keep my kodi fully featured, so I include all optional dependencies. To get my build queue, I ran the following:

sqg -p "avahi cwiid dav1d libcec libmicrohttpd libnfs lirc shairplay kodi" -o kodi-full

However, the resulting queue ended up missing several packages, including cwiid, dav1d, libmicrohttpd, libnfs, and lirc, even though they were included in the command:

libdaemon
avahi
platform
libcec
libdaemon
avahi
shairplay
pycryptodomex
gtest
tinyxml
spdlog
rapidjson
fmt
flatbuffers
libass
zulu-openjdk11
kodi

This does not occur if I add those dependencies directly to the REQUIRES line in the kodi.info and then run sqg against kodi. I've tested this on two different machines with the latest stable release of sbopkg on fully up-to-date Slackware 15.0 full installs. sbopkg is set to the 15.0 repo and sqg has been tested with OPT_JOBS set to both 1 and 4.

It also duplicated avahi and libdaemon.

I currently don't have time to properly debug this and provide a potential fix, but for the missing packages, it seems to be packages that don't have their own dependencies. Normally, it makes sense to not include them unless OPT_ALL is set, but if one is creating a custom queue file, it should include all packages, regardless of whether OPT_ALL is set.

I'm not sure the cause for the duplicate packages and why they weren't consolidated to a single entry.

My IRL job is a bit crazy right now with me working 60 hour work weeks, but I can likely look into this more in depth around mid-November, unless someone else gets to it first.

find alternative download feature

The find alternative download option is only offered after a checksum mismatch. If the source file isn't found (error 404) the option is not offered.

This is currently the case with makemkv where upstream removes old packages:

===
Processing makemkv

makemkv:
makemkv not found in /var/cache/sbopkg.
--2018-05-22 10:00:21-- http://www.makemkv.com/download/makemkv-oss-1.12.0.tar.gz
Resolving www.makemkv.com (www.makemkv.com)... 104.18.62.176, 104.18.63.176, 2400:cb00:2048:1::6812:3eb0, ...
Connecting to www.makemkv.com (www.makemkv.com)|104.18.62.176|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2018-05-22 10:00:21 ERROR 404: Not Found.

makemkv:
Would you like to continue processing the rest of the
queue or would you like to abort? If this failed
package is a dependency of another package in the queue
then it may not make sense to continue.

(Y)es to continue, (N)o to abort, (R)etry the build?:

===
whereas if I modify the slackbuild with 1.12.2 but not change the checksum, I get:

Processing makemkv

makemkv:
makemkv not found in /var/cache/sbopkg.
--2018-05-22 10:02:12-- http://www.makemkv.com/download/makemkv-oss-1.12.2.tar.gz
Resolving www.makemkv.com (www.makemkv.com)... 104.18.62.176, 104.18.63.176, 2400:cb00:2048:1::6812:3fb0, ...
Connecting to www.makemkv.com (www.makemkv.com)|104.18.62.176|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4379033 (4.2M) [application/x-gzip]
Saving to: ‘makemkv-oss-1.12.2.tar.gz’

makemkv-oss-1.12.2. 100%[===================>] 4.18M 12.1MB/s in 0.3s

2018-05-22 10:02:12 (12.1 MB/s) - ‘makemkv-oss-1.12.2.tar.gz’ saved [4379033/4379033]

Found makemkv-oss-1.12.2.tar.gz in /var/cache/sbopkg.
Checking MD5SUM:
MD5SUM check for makemkv-oss-1.12.2.tar.gz ... FAILED!
Expected: ffa31b99b6654db142bcc42a77cef489
Found: 2f9b765106aea740ddd51a69939d98a6

Do you want to use the downloaded makemkv source:
makemkv-oss-1.12.2.tar.gz in /var/cache/sbopkg?

You can choose among the following options:

  • (Y)es, keep the source and continue the build process;
  • (N)o, delete the source and abort the build process;
  • (R)etry download and continue the build process; or
  • (A)ttempt to download from third party source repository.
    (Y)es, (N)o, (R)etry, (A)lternative ?:

Blacklisting Feature

We need to have a blacklist mechanism for packages

It's most likely used by person running newer version of software available in the SBo repository

hamachi-2.1.0.139-x86_64-1_SBo

Hi,

As i needed a newer version of logmein-hamachi changed the build to download & install the last one.
The diff is below:
diff -u src/builds/hamachi/hamachi.SlackBuild work/hamachi.SlackBuild
--- src/builds/hamachi/hamachi.SlackBuild 2015-10-24 17:10:09.600204658 +0300
+++ work/hamachi.SlackBuild 2013-11-26 11:57:40.000000000 +0200
@@ -6,7 +6,7 @@

PRGNAM=hamachi
SRCPKGNAM=logmein-$PRGNAM
-VERSION=${VERSION:-2.1.0.139}
+VERSION=${VERSION:-2.0.1.13}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
...
Then build the new version and it's running for some weeks now.
The code is downloaded from their site.

Thanks,
Rumen

Making sbopkg better

Hi there,

I thought that sbopkg is auto-installing the requirements of any given package.
Isn't that the case?

Please show the cursor in dialog boxes

Hi,

It would help blind users to be able to "see" where the cursor is positioned in a list, i.e. which item is highlighted on a screen, but not on a Braille terminal. Just using the "--visit-items" option of dialog does the trick: I ended up including it in the Slint installers and that works.

This would help blind users to select the proper item.

TIA,
Didier

always need root

It would be nice if normal users could search sbopkg -g slackbuild.
I have a "fork" now with a patch ? This is my first gitstuff so I'm unsure if this is the right way.

Add sbodeps to contrib/ :-)

Dependent upon consent/desire of McDutchie of course.
Perhaps worth integrating the sbodeps functionality directly into sbopkg, maybe e.g.
"sbopkg --deps $options" calls sbodeps itself and uses the results? That's probably not ideal, but you get the idea...
https://github.com/McDutchie/sbodeps

sqg: .info files can lead to any command execution as root

ETA: 9s Left: 693 AVG: 0.01s local:8/6450/100%/0.0s /var/lib/sbopkg/SBo/games/mrboom/mrboom_libretro.info: line 1: display_name: command not found /var/lib/sbopkg/SBo/games/mrboom/mrboom_libretro.info: line 2: authors: command not found /var/lib/sbopkg/SBo/games/mrboom/mrboom_libretro.info: line 3: supported_extensions: command not found /var/lib/sbopkg/SBo/games/mrboom/mrboom_libretro.info: line 4: corename: command not found /var/lib/sbopkg/SBo/games/mrboom/mrboom_libretro.info: line 5: categories: command not found /var/lib/sbopkg/SBo/games/mrboom/mrboom_libretro.info: line 6: systemname: command not found /var/lib/sbopkg/SBo/games/mrboom/mrboom_libretro.info: line 7: database: command not found /var/lib/sbopkg/SBo/games/mrboom/mrboom_libretro.info: line 8: license: command not found /var/lib/sbopkg/SBo/games/mrboom/mrboom_libretro.info: line 9: supported_extensions: command not found /var/lib/sbopkg/SBo/games/mrboom/mrboom_libretro.info: line 10: permissions: command not found /var/lib/sbopkg/SBo/games/mrboom/mrboom_libretro.info: line 11: display_version: command not found /var/lib/sbopkg/SBo/games/mrboom/mrboom_libretro.info: line 12: supports_no_game: command not found

Because sqg needs to run as root, this can have fatal effects if SBo admins overlook it in its review process.

sbopkg not running in batch mode when there's ambiguity between package and queue name

Affected version: 0.38.1

How to reproduce:

  • generate a queue for APPNAME
  • try running sbopkg in batch mode sbopkg -i APPNAME
  • it interactively asks the user to pick the queue or the package
  • adding -B doesn't help

User needs a way to specify that sbopkg must prefer a queue or a package in this ambiguous situation through command line arguments, thus making it possible for sbopkg to manage queues properly in full batch mode.

Ideally, this feature must be supported as well in the sbopkg version that works with Slackware 14.2, because 15.0 doesn't have a fixed release date and the release of 15.0 won't completely obsolete 14.2 anyway.

Some discussion about it here: https://www.linuxquestions.org/questions/slackware-14/correct-universal-way-of-building-installing-sbo-package-in-batch-mode-4175672375/

Add checksums and signing key to verify sbopkg archive

It would be excellent if the download page on sbopkg.org had both MD5 and SHA256 check sums to verify the file integrity of the sbopkg Slackware package. If possible a PGP signing key as well.

Many Slackware users use sbopkg as a package manager. It is important that the file integrity of the packaged binary be verified.

Thanks!

"Queuefile or package not found" error with local repository

I'm trying to set up a local repository with my customized slackbuilds so that I can use sbopkg -V with my local repo. On my machine the repos live in the default location, e.g. /var/lib/sbopkg/SBo/14.2/.

I created /etc/sbopkg/repos.d/99-arcctgx.repo with the following line:

arcctgx local "customized SBo packages and local packages" arc "" "" ""

so the repo name is arcctgx and the branch is named local. I placed my slackbuild in /var/lib/sbopkg/arcctgx/local/system/hddtemp/ (that follows the SBo repository layout).

When I'm trying sbopkg -V arcctgx/local -b hddtemp I'm getting an error message Queuefile or package hddtemp not found - skipping. But it works if I put my slackbuild in /var/lib/sbopkg/arcctgx/local/hddtemp/ (i.e. without system/ dir in the path).

I tried to debug this issue, so I added set -x to the sbopkg script and ran it twice: once with -V SBo/14.2, and once for -V arcctgx/local. The results are attached.

working case -V SBo/14.2: sborepo.log
not working case -V arcctgx/local: localrepo.log
diff between working and not working case

Between the working and not working case there is a difference in the variable REPO_DIR. For working -V SBo/14.2 it's /var/lib/sbopkg/SBo/14.2, while for not working -V arcctgx/local it's /var/lib/sbopkg/arcctgx (the path doesn't end with branch directory local/). That explains the observed behavior: search_package() uses find -mindepth 2 -maxdepth 2. So if it starts searching in REPO_DIR=/var/lib/sbopkg/arcctgx/ it will not find local/system/hddtemp, but it will find local/hddtemp.

I followed the logic of the script up to the function set_repo_vars(), but I couldn't understand the loop in there. ☹️

Is the problem caused by a configuration error on my end? Please advise.

Change _SBo -> _sbopkg

As per SBo policy [1] we need to change _SBo into other tag and we choose _sbopkg

Unfortunately, it's not simply renaming tags in the repos.d/ but the code must also support old tags so that packages installed on user's machine will still showed up. Otherwise, users will have to rebuild everything to see their packages showed up in the sbopkg.

[1] http://slackbuilds.org/faq/#package_repos

queue no longer works

On Slackware64 15.1-current w/sbopkg 0.38.2 and even upgraded to 20220318-8bf4e6a, the queue menu no longer works.
        I synchronize repository, select check for updates, get over a page of results, go to queue, select any command (like process, remove, sort, view, etc.) and nothing happens: simply immediately returns to queue menu in split-second so the only thing appearing to happen is terminal flashes (as redrawn.)

Feature request: possibility to install an old version of a software

Firstly, thanks for the great tool!
And then, the request, is it possible to install an old version of a software?
I just got in a situation where the latest version of a library available in SlackBuilds.org is incompatible with something I need it for... I just went to http://slackbuilds.org/cgit/ and got the older scripts there, just editing the .SlackBuild file wasn't enough because there were patches applied.
If you use git to get the scripts, I think it shouldn't be so much of a job to add support for older versions. If not.... 😉

Passing command line options prevents building using queue

sbopkg support building package using queue files which can be generated manually or via sqg.

However, when building a package while passing some build option, such as
sbopkg -R -k -i "aMule:WEBSERVER=yes"
it will not prompt for queue option and it will ask to build normally or using command line option

The problem is because the code is evaluating those options sequentially

            if [[ $CLI_OPTIONS ]]; then
                echo "Command line options: $CLI_OPTIONS"
                CLI_OPT=" (C)ommand line options,"
            fi
            if [[ $TMPOPTIONS ]]; then
                echo "Saved options: $TMPOPTIONS"
                SAVEDOPT=" (S)aved,"
            fi
            if [[ $LDOPTIONS ]]; then
                echo "Queuefile options: $LDOPTIONS"
                QUEUEOPT=" (Q)ueuefile,"
            fi

-R flag only works before -i flag

Hi,

On current (2019-12-31), with latest sbopkg (0.38.1) :
sbopkg -iR _package_ or sbopkg -i -R _package_

gives

Error: unknown token "_package_"

while

sbopkg -Ri _package_ works as expected.

Regards

Cannot call dir_init non-interactively in 0.38.1

I'm trying to setup an automated sbopkg environment, but am stuck at the initialization phase - whenever I run sbopkg for the first time, it prompts me to press (C) or (A) for creating the necessary directories.

dir_init() {

Right now the the only way to proceed is to manually create the required directories.
It would be very useful if the function above could be called from the command-line non-interatively.

save diff

When in customization edit, delete or diff slackbuild or info file but i would also like to be able to save diff.
That would make it easier to sent updates to the maintainer or for me to use later.

Broken links on sbopkg.org

Hey Willy,
I was just at the sbopkg site and tried to click the links for "Package" and "Source" at the top right of all the pages. On all the pages both links are broken and give 404's on GitHub here. Just thought I'd let you know.

Ability to use sqg to generate one queue file for multiple programs

Yesterday, I had to build several optional dependencies for kodi (not listed in the REQUIRES line). Since a few had additional dependencies, I relied on the trusty sqg script. I was hoping to output all programs into a single sqf file, however, the option doesn't seem to exist. Maybe it could be added so you can specify an output file to have all the builds outputted to a single file.

sqg -p libcec libnfs pybluez id3lib rtmpdump avahi lame -o custom.sqf

The custom.sqf file could be saved in the default queues directory so sbopkg can easily pick it up with a search. Then you can simply install all of them using sbopkg -i custom

This could be very handy for people who need a lot of programs compiled (maybe from a large -current update, switching releases, prepping a new computer, or upgrading a core library).

sbopkg under cron produces stty ioctl errors

I am running a nightly sbopkg rsync and update check and the generated report includes numerous lines like this (on stderr):
stty: 'standard input': Inappropriate ioctl for device

This behavior is displayed in the following minimal cron command:
/usr/sbin/sbopkg -cq

Actual cron command that I'm using:
40 4 * * * /usr/sbin/sbopkg -rucq

Can sbopkg be enhanced to be more cron friendly? Am I missing some configuration option which would resolve the issue without throwing away all stderr output?

Additional Notes:
I think that the issue may be related to internal redirection to /dev/null. For example, in progressbar() if I remove the else block, which contains cat > /dev/null, then the number of error lines is greatly reduced.

progressbar() {
 <snip>
    elif [[ ! $QUIET ]]; then
        progressbar_cli "$MSGTITLE" "$MSGTEXT"
    # else
    #    cat > /dev/null
    fi
}

/var/log/packages references needs a trailing slash

Hi!
I'm using slackware64-current and just installed sbopkg.

I've noticed that the option to "List/Uninstall installed SBo packages" was not working and I was receiving a message-box entitled "No packages found" saying "It appears that you have no SBo packages installed."

Looking into the sbopkg's code I identified that the problem is the references to the /var/log/packages directory that now is a symlink and needs a trailing slash. Adding that trailing slash is ok and will work also in another branches.

The change occurred in package "pkgtools" in the current branch (pkgtools-15.0-noarch-20.txz) that changed some directories and now /var/log/packages turned into a symlink to /var/lib/pkgtools/packages.
Search pkgtools in ftp://ftp.osuosl.org/pub/slackware/slackware64-current/ChangeLog.txt for more info.

sbopkg.patch.txt

rsync & git are inconsistent

If using rsync for a repository, it creates the Slackware version as directory under /var/lib/sbopkg/SBo and places all SlackBuilds within there. If using git for a repository, all SlackBuilds are placed directly under /var/lib/sbopkg/SBo without a version as directory.

This (at least) breaks sqg in the master branch.

sbopkg -r should exit 1 if rsync fails

I noticed recently that when running sbopkg -r, if the rsync command fails, sbopkg still returns an exit code of 0. It would be helpful for it to return 1 (or something else other than 0) so that scripts calling this command will have an indication that it failed. Attached is example output.

sbopkg_problem.txt

[0.38.2, 8bf4e6a] command-line broken

Sbopkg command-line arguments/flags/switches just seem to open GUI.

'sbopkg -r' may not update (though there may not have been one) and opens GUI (but shouldn't, should it?).

'sbopkg -S -i /var/lib/sbopkg/queues/nix.sqf' doesn't build that existent queue and opens GUI (but shouldn't, should it?).

Some/all others may but forgot which I tested (maybe not all).

I forgot of 0.38.2 does (might on Slackware-current but maybe not stable) but don't feel like downgrading, though could test my Slackware-stable servers & laptops later.

Using SBo-git repo takes to much time and space

Hi!

I am trying to use sbopkg with the unofficially slackbuilds repo for Slacwakre-current provided by Ponce, as stated in here.

When sbopkg clones SBo-git repository, it downloads more than 300 MB! Ignoring it's too much space wasted, every time I need to update the repo with rm -fR /var/lib/sbopkg/SBo-git and sbopkg -r it takes a little too much time.

Instead of cloning all repository, should it be possible to clone just the last commit with git parameter --depth 1?

I am not familiar with sbopkg code and I don't know if it would impact the others repos. But I think it is worth of consideration.

Thanks.

sqg: incorrect glob expansion when *.info files are present in current directory

Greetings,

I just noticed today that sqg does not protect a * char from glob expansion while searching for *.info files inside the repository directory. This does not hinder normal functionality until the sqg command is run from a directory containing at least one *.info file: this way, only that file gets searched for in the repo and parsed.

Will soon send a PR with a fix.

local version of .info and .SlackBuild delete at startup when using SBo-git repo

all .sbopkg files are delete when starting sbopkg (latest git commit) when using SBo-git repo.

to reproduce:

REPO_NAME=SBO-git
REPO_BRANCH=current

after initial pull, create an .sbopkg file in any folder, for instant

touch /var/lib/sbopkg/SBo-git/academic/R/R.info.sbopkg

start sbopkg
quit sbopkg

ls /var/lib/sbopkg/SBo-git/academic/R/R.info.sbopkg
/bin/ls: cannot access '/var/lib/sbopkg/SBo-git/academic/R/R.info.sbopkg': No such file or directory

I look in the code but couldn't find the bit that as doing it. It only appears to do this when using the SBo-git repo. All others are find, including the 14.2 git one.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.