[Slackbuilds-users] OPTIONAL field [was: qemu/spice-gtk and usbredir]

David Spencer baildon.research at googlemail.com
Fri Nov 4 18:25:32 UTC 2016

Hi - let me say to start that this is only a personal opinion, and
I've been too busy recently to pay careful attention to this
discussion. But IIRC we've talked about this before.  In my opinion,
real life is much too complex for OPTIONAL=

Look at this example (graphics/luminance-hdr)

> The following are optional dependencies:
> cfitsio and CCfits - for importing FITS images (both needed)
> hugin              - for aligning multiple LDR exposures

And this example (gis/gdal):

> The following optional requirements are detected automatically:
> cfitsio, freexl, hdf, hdf5, libwebp, netcdf, postgresql, xerces-c
> To enable OpenCL GPU-accelerated performance, specify the option
> OPENCL=yes (requires opencl-headers to build, and either nvidia-driver
> or amd-app-sdk with suitable GPU hardware to run).

Users need to know what useful features each dep provides, if that
information is available upstream.

Users need to know if some deps are needed together (like cfitsio and
CCfits above), or if some deps are mutually exclusive (like
nvidia-driver and amd-app-sdk above).

Some users want to know if deps are build-time only, or run-time only.

Users need to know whether deps are automatically detected, or whether
there are environment variables that need to be set.  (Not all
SlackBuilds use environment variables in the same way, and some
SlackBuilds would need to be rewritten if we standardised on (for
example) OPTIONAL="libass:ASS=yes|no libbluray:BLURAY=yes|no".  Who's
going to find them all?  Who's going to fix them all?  Who's going to
change all the users' queue files and build scripts?)

And some users (ok, me) don't like XML, and don't like YAML, and don't
like new stuff such as "[opt]libass[/opt]" that I'd have to write a
parser for from scratch when XML and YAML already exist, and don't
like reading stuff that's complicated. I don't think anybody -- either
maintainers or users -- would enjoy having half the README file or the
.info file written in YAML, but that's the kind of thing that would be
needed if you look at all the real examples in SBo.

IMO it's best to read all ~5800 README files before thinking about a
solution. I've done it. It's quite easy to spot the interesting ones
if you step through them quickly.


More information about the SlackBuilds-users mailing list