Build your own Slackware repository
Custom Packages
At some point, you may need to build a custom package. If you want to package software not included in the SlackBuilds database, the best approach is to create your own SlackBuild script and submit it to SlackBuilds.org. This way, the community benefits, and you will have the build script available from a high-availability site.
If you need to build a package with a particular set of compilation options, then your choices narrow. Slackrepo, by default, uses Git to synchronize a SlackBuilds tree stored in /var/lib/slackrepo/SBo/slackbuilds
with the official SlackBuilds.org server. In the event that you need to use your own unofficial SlackBuilds or modifications of official SlackBuilds, the slackrepo's original maintainer suggests that you set a Git branch based on the official branch you are taking as a foundation. Then, official updates to the SlackBuilds can be merged with your own branch periodically as needed [11]. Keep in mind that slackrepo allows you to set the Git repository and the branch you want to track in each repository's configuration file.
Slackrepo uses hintfiles to perform certain special actions required by some special packages. For example, the tor package requires user tor to be created for running the daemon. You can edit the hintfiles, which are stored in a dedicated folder under /etc/slackrepo/SBo
, to your liking [12]. However, it is recommended not to edit the files in the default_hintfiles
directory. Instead, add your overrides to the hintfiles
directory, which will allow your edits to persist across upgrades.
Conclusion
Creating a custom Slackware repository is easy if you can spare a build rig. If you only administer a couple of Slackware machines, a custom repository is not worth the effort. However, if you operate a big fleet of computers, having your own repository will save you a lot of time and headaches.
Keep in mind there are many binary repositories for Slackware packages, some of which have a trustworthy reputation. Eric Hameleers keeps a personal repository [13] that integrates well with slackpkg+
, which he makes available to the public. Panagiotis Nikolaou operates the SlackOnly [14] repository, which is built using slackrepo against official SlackBuilds.
If you build packages from build scripts sourced from SlackBuilds.org, you cannot distribute them in a way that suggests they are related to the SlackBuilds project. This means you need to remove the SBo
tag from the package names if you ever want to share your packages with third parties.
Infos
- The Slackware Linux Project: http://www.slackware.com
- Discover: https://apps.kde.org/discover/
- slackpkg from the Slackware Documentation Project: https://docs.slackware.com/slackware:slackpkg
- SlackBuilds.org: https://www.slackbuilds.org/
- sbopkg: https://sbopkg.org/
- sbotools: https://pink-mist.github.io/sbotools/
- pkgsrc from NetBSD: https://www.netbsd.org/docs/pkgsrc/introduction.html#intro.platforms
- Original slackrepo homepage: https://idlemoor.github.io/slackrepo/index.html
- Andrew Clemons' fork of slackrepo: https://github.com/aclemons/slackrepo
- Hedgewars: https://www.hedgewars.org/
- David Spencer on using custom SlackBuilds: https://www.linuxquestions.org/questions/slackware-14/slackrepo-and-custom-slackbuild-4175592674/#post5625878
- Hintfile documentation: https://idlemoor.github.io/slackrepo/hintfiles.html
- Eric Hameleers' repository: http://www.slackware.com/~alien/slackbuilds/
- SlackOnly repository: https://slackonly.com/
« Previous 1 2
Buy this article as PDF
(incl. VAT)