blob: 8a047a615119b0d047aae4c1be925629c2694883 (
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
49
50
51
52
53
54
|
# Slackware Package Tools Alternative
An alternative set of Slackware's core package management tools.
Planned improvements and known issues are listed on the project's [issue tracker](https://todo.sr.ht/~slack-coder/pkgtools-go). 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.
You likely want to set the GOBIN environment variable to your preferred install
location.
```
go install \
-ldflags="-linkmode external -extldflags -static" \
-a ./cmd/...
```
## Whats included?
The commands 'installpkg' and 'removepkg' are included.
These tools are planned to be included:
- explodepkg
- upgradepkg
These tools will likely not be included:
- makepkg
- pkgdiff
- pkgtool
|