Added tag 0.3-rc1 for changeset 1ed138843c86
Removed tag 0.3
Added tag 0.3 for changeset 2c9d53b27937
i was unhappy with some aspects of the sbopkg -c
command, especially the performance. sbog addresses this issues:
sbog is written in go.
note to slackware users: don't use the go command that comes with slackware (gcc-go package), but install go by using the google-go-lang slackbuild. this is the default go compiler and produces the best code.
installation procedure:
# set the go sandbox, go code lives here
export GOPATH=<path to go sandbox>
# go executables are installed to this place
export PATH=$GOPATH/bin:$PATH
# download the source, compile and install
go get bitbucket.org/trueslack/sbog
# sbog is now usable
sbog help
You can find binary downloads at the sbog downloads page.
enter
sbog help
to learn how to use sbog.
sbog was tested with the slackbuild.org master
and 14.2
branches.
sbog has no support for following slackbuild scripts: development/p4v, libraries/p4api, multimedia/google-talkplugin, multimedia/huludesktop, network/viber, python/p4python, system/aide, network/dianara (patch for dianara sent to ponce, waiting for reply).
the reason is that these scripts do nasty things and sbog is not able to parse the package version from the script (parsing the package version from a slackbuild is a clumsy and hacky business. a slackbuild repository does not contain a package database.).
sbog will work with other slackbuild.org branches, but it's more likely to run into issues. saying that, almost all slackbuilds are still fine, errors are the exception.
the default output of the sbog upgrades
command is hard to read but easy to parse:
graphviz graphviz-2.38.0-x86_64-1_SBo graphviz-2.40.1-x86_64-1_SBo
feh feh-2.22.2-x86_64-1_SBo feh-2.23.1-x86_64-1_SBo
...
it's easy to improve this output. as an example i declare a shortcut sbou
by putting following code into my shell startup script:
sbou() {
sbog upgrades /var/lib/sbopkg/SBo/ /var/log/packages/ | awk '{print $1 "\n\tinstalled: " $2 "\n\tnew: " $3 }'
}
the awk command formats the output in a way similar to sbopkg. running sbou
gives us now:
feh
installed: feh-2.22.2-x86_64-1_SBo
new: feh-2.23.1-x86_64-1_SBo
graphviz
installed: graphviz-2.38.0-x86_64-1_SBo
new: graphviz-2.40.1-x86_64-1_SBo
...
on my 32-bit slackware-current system there are about 1000 installed packages. 70 of these packages are slackbuild based. i use the slackbuild.org "master" branch. for the benchmarks every command is run twice:
1st run: before running the command the hg cache is cleared with the command
`sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"`.
it's like running the program for the first time after boot.
2nd run: all hd data is in cache now.
elapsed time:
sbopkg -c sbog upgrades
1st run 38 s 10 s
2nd run 16 s 0.6 s
dealing with package name changes is not implemented yet.