aboutsummaryrefslogtreecommitdiffsponsor
path: root/README.md
blob: 75b27013ce637bbbc8c717b8d32a72ef7bda43c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Slackware Package Tools Alternative

Replacement for Slackware's core package management tools.

You can help improve this project through [funding](https://funding.server.ky/project/pkgtools-go).

## Benefits

 - Clear modifiable source code

  These programs are written in a simple and easy to understand programming
  language called Golang.  Slackware's official tools are written in a
  programming language (bash) which is harder to understand and customize.

 - Stable

  Ever mess up an update on Slackware?  This project will allow you to (somewhat) install or
  remove packages even on a broken system, making it easier to recover the system.

  Slackware's package tools like 'installpkg' contain dependencies on commands
  like 'tar' and 'tar's library dependencies.  These alternatives have no
  runtime dependencies, except when running a package's install/uninstall
  scripts, or ldconfig.

## Install

The recommended way to build these tools is to call this command from within
the directory.  The additional parameters are recommended to minimize external
dependencies.

```
  go build -ldflags="-linkmode external -extldflags -static" ./cmd/installpkg
```

## Whats included?

These tools are planned to be included:

 - installpkg
 - removepkg
 - upgradepkg

These tools will likely not be included:

 - explodepkg
 - makepkg
 - pkgdiff
 - pkgtool