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.

The Author

Rubén Llorente is a mechanical engineer who ensures that the IT security measures for a small clinic are both legally compliant and safe. In addition, he is an OpenBSD enthusiast and a weapons collector.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News