[Slackbuilds-users] Additional REQUIRES entries

Christoph Willing chris.willing at linux.com
Fri Jan 31 11:00:29 UTC 2020


I've just released a new version of HooRex - a dependency calculator,
not unlike the new "Advanced Search" feature of the SBo website.

The new HooRex release addresses a general problem common to most, if
not all, such dependency calculators. Their calculations are based on
contents of REQUIRES fields in various packages' .info files. That's
good enough for "pure" systems e.g. preparing SBo updates for packages I
maintain on which other SBo packages require, or which require other SBo
packages.

However the standard requirements of various packages are often not what
I want for my own daily use in which I prefer to build some packages
with additional optional requirements not specified in the .info file as
hard requirements. For many years I've addressed this issue by
maintaining a separate branch of the git repo which contains .info file
modified with additional REQUIRES packages as I would like them. I think
lots of SBo users do something similar. It has worked pretty well but
takes some effort to maintain: after every SBo update I have to rebase
my separate personal branch against the updated master branch and work
through any conflicts. It's OK for just a few SlackBuilds but is now a
bit of a chore as the number of modified .info files has built up over
the years.

While HooRex is able to deal with the different dependencies in multiple
git branches by storing & recalling dependencies in different locations
(using -p option), it is somewhat cumbersome and I've been wanting a
better mechanism for some time.

The new HooRex release now calculates dependencies based on both regular
REQUIRES fields as well as a single "quirks" file i.e. no extra
"personal" git branch is required; just use master branch + quirks file.

The quirks file is just a list of packages for which additional
dependencies are desired. Here is an example of a quirks file with just
two entries -

[python-requests]
QK_REQUIRES = python3

[opencv]
QK_REQUIRES = libdc1394 ffmpeg

Of course, just add more entries as needed. Also, multiple quirks files
can be maintained for special purposes, changing between them using the
new -q option.

Sorry this email is longer than I'd like. Having explained the problem
and given the bare bones of the solution adopted for HooRex, more
information (including possible further use of a quirks file) is
available at:
    https://gitlab.com/chris.willing/hoorex

The updated SlackBuild should be available in SBo Updates this coming
weekend.

Thanks for reading this far,
chris


More information about the SlackBuilds-users mailing list