SlackwareThis Forum is for the discussion of Slackware Linux.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Well, I guess after many months of development it's finally time to announce the existence of slackrepo, a new highly automated package builder. It takes an input repository of SlackBuilds (for example, a git clone of SlackBuilds.org), and outputs built packages to a package repository suitable for use with slackpkg+, with an absolute minimum of fuss and bother. For best results, it is intended to be run on a "clean" standard Slackware environment (like a "build box" or a virtual machine), with a full installation of Slackware and no additional packages (or very few).
Some notable features are:
automatic updating - revisions of the SlackBuild repository determine updates and rebuilds of packages
clean building - dependencies are built as a 'tree', not a linear 'queue', and packages that are out-of-date with respect to their dependencies are rebuilt
quality assurance testing - optional tests can be performed on the SlackBuild files and built packages
no interaction required - highly automated and suitable for bulk testing and scripted building
can build from SlackBuilds.org (SBo), Mate SlackBuilds (msb) and Cinnamon SlackBuilds (csb)
calls Eric Hameleers' gen_repos_files.sh for package signing and metadata
You can explore the documentation for yourselves, but it does everything mentioned in this LQ post except coffee, meals and housework.
Obviously this is new software. Some of you will have questions, some of you will have suggestions, some of you will find bugs, and some of you will hate it. If you are kind enough to have a look, I will be grateful for your feedback. Thanks in advance.
Interesting. I'll test it at some point.
Does it get slackbuilds.org dependencies from info file e.g. no optional dependencies automatically?
tl;dr You create 'hintfiles' with the options and additional dependencies you want. The hintfile is permanent (until you edit it again or delete it...) Nearly 300 example hintfiles are provided, to get you started.
I've got a relatively new Slackware install in VBox, just a few odds'n'sods added. Might do a slackpkg clean-system on it, then try slackrepo. Sounds like fun...
More fun than watching the World Cup and/or Wimbledon, anyway...
Last edited by brianL; 07-02-2014 at 07:05 AM.
Hi Brian! Well, it's more of a manifesto than a warning. The world is already full of projects that want people to abandon perfectly good existing solutions and impose something new, unfamiliar and unreliable. I don't approve of that. Our existing tools in the Slackware community are highly evolved for their purposes and justifiably popular and respected. Any time we invest in learning new stuff has to be recouped by making life easier in the future, otherwise what's the point? So new stuff should be minimalist and intuitive, and should fulfill unmet requirements, and be respectful of / work with existing solutions. That's what I've tried to do with slackrepo. If people don't need it then that's fine; we've had digital computers for seventy years now and, frankly, in 2014, neither a new package builder nor a new init system will make a great deal of difference.
I have actually tested it on my virtual build machine and so far it's working fine as I built some packages. libwebkitgtk didn't build at first as slackrepo enabled multicore building by default but small addition to hintfile corrected that issue.
At first look it looks like a good idea. I have a few Slackware boxes and I'd like to build packages only once. So far I have created them with sbopkg and put them manually into my repository created with gen_repos_files.sh but keeping packages up-to-date is sometimes a bit of pain that way. I wonder how more experienced users deal with multiple installs and packages at the moment?
This will create a symlink to the example hintfile directories for academic/ accessibility/ ... etc etc.
The idea is taken from /usr/share/X11/xorg.conf.d
And now here is the clever trick If you want to override any of the symlinked hintfiles, you can create a new hintfile in /etc/slackrepo/SBo/hintfiles/. The hintfile in the root directory will override the hintfile in the subdirectory (via the symlink). For example, /etc/slackrepo/SBo/hintfiles/webkitgtk.hint will override /etc/slackrepo/SBo/hintfiles/libraries/webkitgtk/webkitgtk.hint
I should probably do a page documenting these tricks, but it is probable that I will extend this idea of search paths so that you can use an SBo SlackBuild from e.g. Mate ...
Anyway I hope this is helpful and not too confusing, thanks again Buumi!
The beginning of this year i start to building a repository for
me and my friends and add few important packages from SBo.
It is very hard to me to keep packages updated and
fighting with deps to build new packages...
Some time ago I learned about slackrepo and now
with few simple steps i have almost build all packages from SBo
and uploaded to my repo.