.gitea/workflows | ||
config | ||
lib/SlackBuilder | ||
src | ||
tests | ||
.gitignore | ||
.hlint.yaml | ||
CHANGELOG.md | ||
LICENSE | ||
README.md | ||
slackbuilder.cabal |
SlackBuilder
SlackBuilder is a tool which aims to help to update Slackware packages. It checks for the latest version of an upstream package and can modify SlackBuild meta information accordingly.
Features
Build instructions
SlackBuilder is a Haskell program and can be built and run using the Cabal build tool and package manager:
cabal build
After that you can run slackbuilder using Cabal and cabal run slackbuilder
.
Or you can install the program locally with cabal install
and run it just
as slackbuilder
assuming ~/.cabal/bin
is on your PATH.
Usage
Configuration
There is a sample configuration file under config/config.toml.example
.
The sample contains comments describing each supported option.
Just copy this file to config/config.toml
and modify as needed.
Each package that should be updated automatically needs a special description which contains links to the upstream repositories and instructions how the sources should be prepared.
Unfortunately the only format currently supported for the package descriptions is Haskell source code. But I'm planning to make it possible to describe the packages without recompiling the slackbuilder itself.
For the time being src/Main.hs
contains descriptions of my
slackbuilds, that can be used as an example and a start point.
Command line options
SlackBuilder is called with a command as its first argument:
slackbuilder COMMAND
Currently supported commands are listed below.
check
check
checks whether there are updates available. It prints the name of each
known package together with its version. If the package version is not the
latest known version, the version the package can be updated to is printed as
well.
up2date
Performs the package updates for packages the can be updated. up2date
accepts
an optional argument specifying the package that should be updated if only one
package should be updated and not all.