On Friday, March 1st, 2024 at 4:16 AM, Tim Dickson via SlackBuilds-users 
<slackbuilds-users@slackbuilds.org> wrote:

> 
> 
> the problem is the optional dependencies. how does a tool know which
> options you like.
> Only when such a tool which has your preferred optional deps recorded
> exists, can there
> be a way to reverse dep without missing out bits.
> regards, Tim
> 

As already mentioned, slackrepo handles this.  Optional deps are stored in 
hintfiles:

$ cat /var/lib/slackrepo/etr/hintfiles/vlc.hint 
ADDREQUIRES="dav1d"

You can even replace deps with other deps (e.g. use OpenBLAS instead of blas 
and lapack for octave):

$ cat /var/lib/slackrepo/etr/hintfiles/blas.hint 
SKIP="Use OpenBLAS instead"

$ cat /var/lib/slackrepo/etr/hintfiles/lapack.hint 
SKIP="Use OpenBLAS instead"

$ cat /var/lib/slackrepo/etr/hintfiles/octave.hint 
DELREQUIRES="lapack"
ADDREQUIRES="OpenBLAS suitesparse glpk arpack-ng qrupdate sundials qhull hdf5 
fltk ftgl gl2ps GraphicsMagick portaudio rapidjson zulu-openjdk21"

So when using slackrepo if blas has an update from SBo nothing will happen on 
my end (since nothing depends on blas).  An upgrade of OpenBLAS will trigger 
octave to be rebuilt.

Note: since required dependencies are not listed in hintfiles (they are already 
present in *.info), I also maintain a set of sbopkg queue files (which list 
both required and optional deps) so I can quickly grep for dependencies, though 
I rarely need to do so.  Most often I use it when removing a package and then 
removing all of its deps that aren't used by other programs I have installed.

After every public update I run (in a clean chroot);
slackrepo update --preview
to first review what will be rebuilt, taking note of any new optional deps I 
may want to add (rare). Then:
slackrepo update
This builds everything that needs an upgrade or rebuild.

Erich
_______________________________________________
SlackBuilds-users mailing list
SlackBuilds-users@slackbuilds.org
https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users
Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/
FAQ - https://slackbuilds.org/faq/

Reply via email to