# 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