[Slackbuilds-users] What about slack-{required, suggests} files?

Didier Spaier didier at slint.fr
Mon Mar 12 10:42:00 UTC 2018


Caveat: this rant doesn't bring much added value to David's answer to
the OP. Still, here it is, as maybe not every submitter is aware of how
the information about deps is used by some tools.

Le 10/03/2018 à 20:23, B Watson a écrit :
> On 3/10/18, David Spencer <baildon.research at googlemail.com> wrote:
> 
>> slack-required in the SBo repository is pointless, we already have
>> REQUIRES= in the .info file. When your preferred build tool builds the
>> package, it can create and package the slack-required file, and/or
>> create a .dep file, and/or PACKAGE REQUIRED line in a .meta file.
> 
> Also, tools that use slack-required are probably going to get confused
> by the fact that our REQUIRES doesn't list core Slackware packages,
> only SBo ones.

the slapt-get tool reads the metada in PACKAGES.TXT like this one for
espeak:

PACKAGE NAME:  espeak-1.48.04-x86_64-4slint.txz
PACKAGE LOCATION:  ./slint
PACKAGE SIZE (compressed):  1096 K
PACKAGE SIZE (uncompressed):  4384 K
PACKAGE REQUIRED:  aaa_elflibs|alsa-lib,aaa_elflibs|gcc,aaa_elflibs|gcc-g++,portaudio
PACKAGE CONFLICTS:  
PACKAGE SUGGESTS:  
PACKAGE DESCRIPTION:
espeak: eSpeak (a compact open source software speech synthesizer)
espeak: 
espeak: eSpeak produces good quality English speech. It uses a different
espeak: synthesis method from other open source text to speech (TTS) engines,
espeak: and sounds quite different. It's perhaps not as natural or smooth,
espeak: but some find the articulation clearer and easier to listen to for
espeak: long periods. It can run as a command line program to speak text from
espeak: a file or from stdin.
espeak: 
espeak: HomePage:http://espeak.sourceforge.net/
espeak: 

In this case PACKAGE REQUIRED lists core Slackware packages as deps, as
they are written by a script that reads the .dep files, themselves
written using George Vlahavas' depfinder, then edited manually when
necessary.

Of course the list of deps depends on the context of the build.
It recently failed to start mate-terminal because I had built it with
webkit2gtk installed, but since removed.

About using the deps to build (not install) a package, the information
is already included in SLACKBUILD.TXT, e.g. this one:
https://slackbuilds.org/slackbuilds/14.2/SLACKBUILDS.TXT

Let's take again the espeak example.

SLACKBUILD NAME: espeak
SLACKBUILD LOCATION: ./accessibility/espeak
SLACKBUILD FILES: README espeak.1 espeak.SlackBuild espeak.info makefile.patch slack-desc
SLACKBUILD VERSION: 1.48.04
SLACKBUILD DOWNLOAD: http://downloads.sourceforge.net/espeak/espeak-1.48.04-source.zip
SLACKBUILD DOWNLOAD_x86_64: 
SLACKBUILD MD5SUM: cadd7482eaafe9239546bdc09fa244c3
SLACKBUILD MD5SUM_x86_64: 
SLACKBUILD REQUIRES: portaudio
SLACKBUILD SHORT DESCRIPTION:  espeak (a compact open source software speech synthesizer)

These lines are copied from espeak.info:
https://slackbuilds.org/slackbuilds/14.2/accessibility/espeak/espeak.info

Here portaudio is rightly listed here as the only needed dependency
beyond a full Slackware installation.

As an aside, slapt-src, used by Slint, Salix and other Slackware
derivatives use this file to manage the dependencies.

So, having a separate slack-required file in a submission would
be redundant at least for this use case IMHO.

I didn't check that slapt-src builds the deps in the right order as
the one give by sqg, but if it could using a similar algorithm.

Have a good day,
Didier


More information about the SlackBuilds-users mailing list