2024-03-27 20:01:08 +01:00
|
|
|
# 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.
|
|
|
|
|
2024-03-31 17:06:54 +02:00
|
|
|
## Features
|
|
|
|
|
2024-03-27 20:01:08 +01:00
|
|
|
## Build instructions
|
|
|
|
|
|
|
|
SlackBuilder is a Haskell program and can be built and run using the
|
|
|
|
Cabal build tool and package manager:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
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.
|
|
|
|
|
2024-03-31 17:06:54 +02:00
|
|
|
# Usage
|
|
|
|
|
2024-03-27 20:01:08 +01:00
|
|
|
## Configuration
|
|
|
|
|
|
|
|
There is a sample configuration file under `config/config.toml.example`.
|
2024-03-31 17:06:54 +02:00
|
|
|
The sample contains comments describing each supported option.
|
2024-03-27 20:01:08 +01:00
|
|
|
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.
|
2024-03-31 17:06:54 +02:00
|
|
|
|
|
|
|
## Command line options
|
|
|
|
|
|
|
|
SlackBuilder is called with a command as its first argument:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
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.
|