LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware > Slackware - Installation
User Name
Password
Slackware - Installation This forum is for the discussion of installation issues with Slackware.

Notices


Reply
  Search this Thread
Old 12-30-2016, 09:16 AM   #1
mfoley
Senior Member
 
Registered: Oct 2008
Location: Columbus, Ohio USA
Distribution: Slackware
Posts: 1,790

Rep: Reputation: 139Reputation: 139
Is there recursive SlackBuild dependency tool?


I just built spamassassin from the SlackBuilds repo. The top-level spamassassin repository listed 13 dependencies which, in turn, listed sub-dependencies, some of which had even more dependencies. In total I manually downloaded and built 46 modules from SlackBuilds which took a couple of hours!

Is there not some recursive build dependency tool to do this automatically?
 
Old 12-30-2016, 09:23 AM   #2
a4z
Senior Member
 
Registered: Feb 2009
Posts: 1,727

Rep: Reputation: 741Reputation: 741Reputation: 741Reputation: 741Reputation: 741Reputation: 741Reputation: 741
sqg from sbopkg creates queue files for packages
you can than install the queue file (= all packages)

sboinstall from sbotools does everything under the hood, just sboinstall package and the dependencies are installed.

slpkg claims also to be able to manage dependencies, but with this tool I have the least experience.

there might be other tools.
 
1 members found this post helpful.
Old 12-30-2016, 07:09 PM   #3
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 7,339

Rep: Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045
If you build packages for multiple computers, you might want to look into slackrepo. It will go through all dependencies and build everything needed in a clean chroot to ensure it doesn't pick up extra dependencies (it's designed to be used on a stock clean Slackware install and then you install those packages on another machine). It will list all the dependencies in the .dep file, which some package managers can use this to install all required software. I believe sbotools and slpkg both do that.

But I had been a happy user of sqg/sbopkg for quite some time before I started digging into slackrepo. Now I wouldn't go back to sbopkg unless just for a temporary package.

Last edited by bassmadrigal; 12-30-2016 at 07:10 PM.
 
1 members found this post helpful.
Old 01-06-2017, 07:35 PM   #4
rob.rice
Senior Member
 
Registered: Apr 2004
Distribution: slack what ever
Posts: 1,075

Rep: Reputation: 203Reputation: 203Reputation: 203
sbopkg can't build a working ffmpeg
as the dependencies are listed as optional
as built without any of the optional dependencies
it has no converters codecs or formats to work with
and just prints a help screen or error
 
Old 01-06-2017, 09:34 PM   #5
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 7,339

Rep: Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045
Quote:
Originally Posted by rob.rice View Post
sbopkg can't build a working ffmpeg
as the dependencies are listed as optional
as built without any of the optional dependencies
it has no converters codecs or formats to work with
and just prints a help screen or error
When I would build it using sbopkg, I would manually modify the .info file (you can do it using sbopkg under the package's "Custom" section. Once you've edited the REQUIRES section in ffmpeg.info, you can then run sqg against it to generate the queue for it. Then you can and edit the queue and add the options needed to build it the way you want. My queue file looked something like:

Code:
@lame
@x264
@libass
@libbluray
@celt
@libdc1394
@faac
@frei0r
@gsm
@libiec61883
@libavc1394
libilbc
@openjpeg
@ladspa_sdk
@lame
@libmodplug
@OpenAL
@opencore-amr
@opus
@rtmpdump
@schroedinger
@speex
@twolame
@libvpx
@xvidcore
ffmpeg | ASS=yes BLURAY=yes CELT=yes DC1394=yes FAAC=yes FREI0R=yes GSM=yes IEC61883=yes ILBC=yes JP2=yes LADSPA=yes LAME=yes MODPLUG=yes OPENAL=yes OPENCORE=yes OPENSSL=yes OPUS=yes RTMP=yes SCHROEDINGER=yes SPEEX=yes TWOLAME=yes VPX=yes X264=yes XVID=yes
 
3 members found this post helpful.
Old 01-07-2017, 04:32 PM   #6
rob.rice
Senior Member
 
Registered: Apr 2004
Distribution: slack what ever
Posts: 1,075

Rep: Reputation: 203Reputation: 203Reputation: 203
Quote:
Originally Posted by bassmadrigal View Post
When I would build it using sbopkg, I would manually modify the .info file (you can do it using sbopkg under the package's "Custom" section. Once you've edited the REQUIRES section in ffmpeg.info, you can then run sqg against it to generate the queue for it. Then you can and edit the queue and add the options needed to build it the way you want. My queue file looked something like:

Code:
@lame
@x264
@libass
@libbluray
@celt
@libdc1394
@faac
@frei0r
@gsm
@libiec61883
@libavc1394
libilbc
@openjpeg
@ladspa_sdk
@lame
@libmodplug
@OpenAL
@opencore-amr
@opus
@rtmpdump
@schroedinger
@speex
@twolame
@libvpx
@xvidcore
ffmpeg | ASS=yes BLURAY=yes CELT=yes DC1394=yes FAAC=yes FREI0R=yes GSM=yes IEC61883=yes ILBC=yes JP2=yes LADSPA=yes LAME=yes MODPLUG=yes OPENAL=yes OPENCORE=yes OPENSSL=yes OPUS=yes RTMP=yes SCHROEDINGER=yes SPEEX=yes TWOLAME=yes VPX=yes X264=yes XVID=yes
dose this do an every thing (as in all options included) build
or
do I need to keep adding to the last line ?
could just use a modified version of this file as my
queue file and skip running sqg
 
Old 01-07-2017, 10:15 PM   #7
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 7,339

Rep: Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045Reputation: 5045
Quote:
Originally Posted by rob.rice View Post
dose this do an every thing (as in all options included) build
or
do I need to keep adding to the last line ?
could just use a modified version of this file as my
queue file and skip running sqg
This was all the options and dependencies I decided to use. I don't think it is everything that ffmpeg supports, but I'm too lazy to recheck everything. It would be worth looking at ffmpeg's README to see what options you need and adjust the queue file as needed.

If you don't feel a need to change my options, you can copy this into a queue file for ffmpeg (under /var/lib/sbopkg/queues/ffmpeg.sqf) and then just run sbopkg -i ffmpeg and then select 'q' so it uses the queuefile. Then just sit back and wait for it to build.
 
Old 01-08-2017, 12:38 AM   #8
rob.rice
Senior Member
 
Registered: Apr 2004
Distribution: slack what ever
Posts: 1,075

Rep: Reputation: 203Reputation: 203Reputation: 203
thank you !
 
Old 02-09-2017, 10:56 AM   #9
mfoley
Senior Member
 
Registered: Oct 2008
Location: Columbus, Ohio USA
Distribution: Slackware
Posts: 1,790

Original Poster
Rep: Reputation: 139Reputation: 139
Quote:
Originally Posted by a4z View Post
sqg from sbopkg creates queue files for packages
you can than install the queue file (= all packages)

sboinstall from sbotools does everything under the hood, just sboinstall package and the dependencies are installed.

slpkg claims also to be able to manage dependencies, but with this tool I have the least experience.

there might be other tools.
Still trying to sort this out. The sbotools link you gave is not correct. It is the same as the sbopkg link. I've downloaded sbotools from SlackBuilds, but ironically, it is not in the standard slackBuilds format. When untarred:
Code:
# ls -ltr
total 68
-rwxr-xr-x 1 backup users 6134 Jan 20 20:40 sboupgrade*
-rwxr-xr-x 1 backup users 1264 Jan 20 20:40 sbosnap*
-rwxr-xr-x 1 backup users 4808 Jan 20 20:40 sboremove*
-rwxr-xr-x 1 backup users 6823 Jan 20 20:40 sboinstall*
-rwxr-xr-x 1 backup users 4877 Jan 20 20:40 sbofind*
-rwxr-xr-x 1 backup users 4840 Jan 20 20:40 sboconfig*
-rwxr-xr-x 1 backup users 2374 Jan 20 20:40 sboclean*
-rwxr-xr-x 1 backup users 3705 Jan 20 20:40 sbocheck*
drwxr-xr-x 2 backup users 4096 Jan 20 20:40 man5/
drwxr-xr-x 2 backup users 4096 Jan 20 20:40 man1/
drwxr-xr-x 4 backup users 4096 Jan 20 20:40 SBO-Lib/
-rw-r--r-- 1 backup users  732 Jan 20 20:40 README
There is no .info file, etc. The README says nothing about how to build/install. running ./sboconfig give the error:
Code:
Can't locate SBO/Lib.pm in @INC (you may need to install the SBO::Lib module) (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ./sboconfig line 16.
BEGIN failed--compilation aborted at ./sboconfig line 16.
So ... abandoning that approach for now.

I don't know what a "queue" file is and rob.rice's example of one does not illuminate me on how to make one or what to do with it once I've made it.
 
Old 02-09-2017, 11:14 AM   #10
BW-userx
LQ Guru
 
Registered: Sep 2013
Location: Somewhere in my head.
Distribution: Slackware (current), FreeBSD, Win10, It varies
Posts: 9,951

Rep: Reputation: 2146Reputation: 2146Reputation: 2146Reputation: 2146Reputation: 2146Reputation: 2146Reputation: 2146Reputation: 2146Reputation: 2146Reputation: 2146Reputation: 2146
hummm looking into this as I've never heard of this until now.

on that download page it tells of how to install

"Package: A pre-built Slackware package of the latest version of sbopkg can be downloaded here."


Downloads

SBOpkg
Quote:

....

The sbopkg packages can be installed or upgraded like any other Slackware package:

installpkg sbopkg-version-noarch-1_wsr.tgz

or:

upgradepkg sbopkg-version-noarch-1_wsr.tgz
SBOtools

here

For Slackware 14.0, 14.1, or 14.2, you need the latest release in the 2.x branch, which is available here as a source tarball or as a ready-made package. It is also available on SlackBuilds.org's sbotools page.

Last edited by BW-userx; 02-09-2017 at 11:19 AM.
 
Old 02-09-2017, 11:30 AM   #11
Alien Bob
Slackware Contributor
 
Registered: Sep 2005
Location: Eindhoven, The Netherlands
Distribution: Slackware
Posts: 8,141

Rep: Reputation: 7009Reputation: 7009Reputation: 7009Reputation: 7009Reputation: 7009Reputation: 7009Reputation: 7009Reputation: 7009Reputation: 7009Reputation: 7009Reputation: 7009
I use slackrepo too, mainly because it integrates my own "gen_repos_files.sh" script. Therefore slackrepo is able to put the packages it builds in a slackpkg+/slapt-get compatible repository on your local harddisk. Makes it easy to track your locally built packages.
 
1 members found this post helpful.
Old 02-11-2017, 01:20 AM   #12
mfoley
Senior Member
 
Registered: Oct 2008
Location: Columbus, Ohio USA
Distribution: Slackware
Posts: 1,790

Original Poster
Rep: Reputation: 139Reputation: 139
Quote:
Originally Posted by BW-userx View Post
hummm looking into this as I've never heard of this until now.

on that download page it tells of how to install

"Package: A pre-built Slackware package of the latest version of sbopkg can be downloaded here."
Yes, I did install sbopkg, and I used it successfully to install SpamAssassin. SpamAssassin has a lot of recursive dependencies and sbopkg did make it easier than wgetting the SBo tarfile, untarring, wgetting the source, doing the build, installing ... With sbopkg I had to just:
Code:
sbopkg -k -B -i packagename
Much easier. However, I had to manually traverse the tree of 45 dependencies and and run sbopkg on each of them. Hence the reason I am looking for a something that will recursively process dependencies. `sbopkg -s` will list REQUIRES dependencies, so I suppose I could create my own script to do what I want ...

Anyway, I wasn't talking about sbopkg when I said, "not in standard slackBuilds format." I was talking about sbotools. Yes, I did download that too from SlackBuilds, but there was no .info file, etc.

For the heck of it, I just ran sbopkg on sbotools:
Code:
$ sbopkg -k -B -i sbotools
:
No symbolic links were found, so we won't make an installation script.
You can make your own later in ./install/doinst.sh and rebuild the
package if you like.
:
Installing package sbotools-2.3-noarch-1_SBo.tgz
:
Package sbotools-2.3-noarch-1_SBo.tgz installed.
but, no man pages, no actual sbotools command installed anywhere -- probably because of the "we won't make an installation script" bit. I'm a bit leery of a package installer tool that doesn't know how to install itself (or requires special knowledge on the part of the user).

Alien Bob: Yes, I'll check out slackrepo. As a veteran packager, your choice of tools counts for a lot.

Last edited by mfoley; 02-11-2017 at 01:22 AM.
 
Old 02-11-2017, 01:26 AM   #13
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 5,604

Rep: Reputation: Disabled
Quote:
Originally Posted by mfoley View Post
However, I had to manually traverse the tree of 45 dependencies and and run sbopkg on each of them. Hence the reason I am looking for a something that will recursively process dependencies. `sbopkg -s` will list REQUIRES dependencies, so I suppose I could create my own script to do what I want ...
sbopkg provides sqg.
Code:
sqg -p spamassassin
generates a /var/lib/sbopkg/queues/spamassassin.sqf queue file with all the dependencies in it: after that, when you run
Code:
sbopkg -i spamassassin
it will ask you if you want to use the just generated queue.
 
1 members found this post helpful.
Old 02-11-2017, 05:16 AM   #14
Alien Bob
Slackware Contributor
 
Registered: Sep 2005
Location: Eindhoven, The Netherlands
Distribution: Slackware
Posts: 8,141

Rep: Reputation: 7009Reputation: 7009Reputation: 7009Reputation: 7009Reputation: 7009Reputation: 7009Reputation: 7009Reputation: 7009Reputation: 7009Reputation: 7009Reputation: 7009
Quote:
Originally Posted by mfoley View Post
Anyway, I wasn't talking about sbopkg when I said, "not in standard slackBuilds format." I was talking about sbotools. Yes, I did download that too from SlackBuilds, but there was no .info file, etc.

For the heck of it, I just ran sbopkg on sbotools:
Code:
$ sbopkg -k -B -i sbotools
:
No symbolic links were found, so we won't make an installation script.
You can make your own later in ./install/doinst.sh and rebuild the
package if you like.
:
Installing package sbotools-2.3-noarch-1_SBo.tgz
:
Package sbotools-2.3-noarch-1_SBo.tgz installed.
but, no man pages, no actual sbotools command installed anywhere -- probably because of the "we won't make an installation script" bit. I'm a bit leery of a package installer tool that doesn't know how to install itself (or requires special knowledge on the part of the user).
You are not showing the hallmarks of a true Slacker here. You have no idea what the sentence "No symbolic links were found, so we won't make an installation script" and you did not care to check out its meaning before arriving at false conclusions? It is a harmless message from makepkg which tells you a bit about the content of the package it just created.

At the sbotools homepage which was linked to for your convenience you can read "available here as a source tarball or as a ready-made package. It is also available on SlackBuilds.org's sbotools page"

You could just download and install that package. If you go look at the SBo page, you will find an ".info" file, the ".SlackBuild" script and everything else you would need to build the package yourself. You would then also notice that there are indeed - a lot - of manpages in the resulting package.

And if a package is called "sbotools", that does not mean there will be a program inside of it with the same name "sbotools". It will just take a few seconds to check the manpage or the available documentation to get a grasp of the available scripts.

Note that all these packaging automation tools have the same goal but come from different philosophies, so they will not all work the same. Which is good, why would we have them all if they all do exactly the same thing? You can not be serious if you complain that sbotools "requires special knowledge on the part of the user" in a Slackware forum. RTFM please. Then come here for help. Not the other way round.
 
Old 02-11-2017, 12:17 PM   #15
BW-userx
LQ Guru
 
Registered: Sep 2013
Location: Somewhere in my head.
Distribution: Slackware (current), FreeBSD, Win10, It varies
Posts: 9,951

Rep: Reputation: 2146Reputation: 2146Reputation: 2146Reputation: 2146Reputation: 2146Reputation: 2146Reputation: 2146Reputation: 2146Reputation: 2146Reputation: 2146Reputation: 2146
RTFM lmao I had to look that one up.
 
  


Reply

Tags
slackbuilds


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] virt-manager slackbuild dependency problem slackware 14.1 multilib bmarley83 Slackware 20 11-13-2015 09:30 AM
Python package to SlackBuild tool ? dunric Slackware 3 06-17-2014 08:04 AM
SBo Protocol for using slackware-current package as slackbuild dependency? michaelslack Slackware 7 03-07-2013 07:35 PM
reverse dependency tool [maybe faq] Motherland Slackware 4 02-04-2008 08:09 AM
looking for a recursive dependency search tool Tortanick Linux - General 2 01-20-2007 09:45 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware > Slackware - Installation

All times are GMT -5. The time now is 04:56 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration