LinuxQuestions.org
Help answer threads with 0 replies.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 03-31-2020, 10:28 PM   #1
slacker1337
Member
 
Registered: Jun 2012
Location: Connecticut, USA
Distribution: Slackware
Posts: 131

Rep: Reputation: 38
Looking for recommendations


I'm curious to hear how all of you manage your third-party packages. I set up a build server about a year ago that builds all of SBo every week. I also have a few dozen custom packages that I build in-house and have a custom slackpkg+ repo for.

The problem I'm running into is that the sheer volume of dependencies for certain programs is becoming difficult to manage. I originally started with a custom script that would parse .dep files and install the necessary dependencies as other programs required them. That worked fine for things that only have a handful of dependencies, but things like openshot and vlc have a LOT of dependencies.

So, long story short, how do you all manage your dependencies to ensure you get everything you need for a given program?
 
Old 03-31-2020, 10:42 PM   #2
Daedra
Senior Member
 
Registered: Dec 2005
Location: Springfield, MO
Distribution: Slackware64-14.2
Posts: 1,607

Rep: Reputation: 408Reputation: 408Reputation: 408Reputation: 408Reputation: 408
I just use sqg that comes with sbopkg if I come across a program that have a lot deps.
 
Old 03-31-2020, 11:43 PM   #3
Skaendo
Senior Member
 
Registered: Dec 2014
Location: West Texas, USA
Distribution: Slackware64-14.2
Posts: 1,324

Rep: Reputation: Disabled
I have a build server running only slackrepo and building from my own custom (private) GitLab repo.

slackrepo resolves all the dependencies for me.

In my GitLab repo I have over 450 SlackBuilds (for each 14.2 and current) and is probably ~95% my own SlackBuilds. Yes there is a ton of overlap between what I have and what is on SBo, but I like a little more control of how things get built and the dependencies.

My 14.2 branch has pretty much slowed down to a crawl because of dependency version requirements but my current branch is chugging right along.

I keep up with updates mostly via my feed reader (thanks Github for providing rss feeds) and watching the SBo changelog, along with Ponce's repo.

Last edited by Skaendo; 03-31-2020 at 11:46 PM.
 
Old 04-01-2020, 06:20 AM   #4
brobr
Member
 
Registered: Oct 2003
Location: uk
Distribution: Slackware
Posts: 653

Rep: Reputation: 170Reputation: 170
Yep, basically the Daedra approach is what I am using. Mostly I run up and down dependency trees when installing python programs. I don't like the way that with every platform one needs to use its own install-method, pip for python that is. So, yes I make slackbuilds for each of them and keep them in their own tree (dependencies with main program) and when the main stuff needs upgrading I check whether dependencies need to be done as well.

Anyway, a good idea to turn this into a github repo (another new thing to explore...)...
 
Old 04-01-2020, 10:56 AM   #5
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 7,240

Rep: Reputation: 4932Reputation: 4932Reputation: 4932Reputation: 4932Reputation: 4932Reputation: 4932Reputation: 4932Reputation: 4932Reputation: 4932Reputation: 4932Reputation: 4932
If you are using slackrepo to build everything, there is an option in there to enable slapt-get support. slapt-get is like slackpkg+, but it will support dependencies of packages, which will allow you to install all required dependencies for an application.

To enable it, you'd make sure FOR_SLAPTGET=1 is in your /etc/slackrepo/slackrepo_SBo.conf
 
1 members found this post helpful.
Old 04-01-2020, 11:24 AM   #6
bifferos
Member
 
Registered: Jul 2009
Posts: 367

Rep: Reputation: 136Reputation: 136
Quote:
Originally Posted by slacker1337 View Post
So, long story short, how do you all manage your dependencies to ensure you get everything you need for a given program?
For myself I wrote my own package builder (Afterpkg). It figures out dependencies, but then so do many other package management tools. One of my requirements was to use all 8 cores on my Ryzen regardless of whether the build itself supports that (e.g. Google golang doesn't), so it calculates which parts of the dependency tree can be parallelised and feeds them to the build engines in (hopefully) the appropriate order. I also wanted to do the builds on a VM, without having to maintain either the Afterpkg script *or* the slackbuilds repo on the VM itself, so all the build commands can be executed remotely via ssh.

I have a fair way to go. At the moment I'm in the process of automating the account creation, just putting the final touches to my parsable version of the slackbuilds uid_gid file: https://github.com/bifferos/afterpkg...er/uid_gid.txt. Sometimes that's required for the build, sometimes it's just required to run the package.
 
Old 04-01-2020, 11:42 AM   #7
tramtrist
Member
 
Registered: Jul 2018
Location: Cincinnati USA
Distribution: Slackware
Posts: 271

Rep: Reputation: 172Reputation: 172
Quote:
Originally Posted by Daedra View Post
I just use sqg that comes with sbopkg if I come across a program that have a lot deps.
Ditto.
sqg was a game changer for me.
 
Old 04-01-2020, 02:45 PM   #8
demifiend
LQ Newbie
 
Registered: Aug 2019
Location: USA
Distribution: OpenBSD
Posts: 14

Rep: Reputation: Disabled
Quote:
Originally Posted by tramtrist View Post
Ditto.
sqg was a game changer for me.
I used sqg for the entire slackbuilds repo. I then configured sbopkg to stick packages in /home/packages/SBo instead of /tmp. When I want to build something, I do it on my desktop machine. Then my other machines can pull packages using sftp and install them since all of my Slackware machines are amd64. Haven't had a problem with this setup yet.
 
Old 04-01-2020, 03:37 PM   #9
drgibbon
Member
 
Registered: Nov 2014
Distribution: Slackware64 -current
Posts: 713

Rep: Reputation: 457Reputation: 457Reputation: 457Reputation: 457Reputation: 457
For source builds (SBo), sbotools (handles deps for install and remove too if there's redundant packages laying around, supports -current, nice zsh completions).

Last edited by drgibbon; 04-01-2020 at 03:38 PM.
 
Old 04-01-2020, 03:48 PM   #10
slacker1337
Member
 
Registered: Jun 2012
Location: Connecticut, USA
Distribution: Slackware
Posts: 131

Original Poster
Rep: Reputation: 38
Thanks for the prompt feedback everyone! I should note that my issue isn't with building the source code, I've been using slackrepo to manage that. It's ensuring that when I install things like virt-manager, or qemu, that all the dependencies get installed as well. I had also considered using tagfiles but the documentation I've found online has been sparse on that topic.

bassmadrigal, I hadn't really given any though into slapt-get; I'll have to look into that.
 
Old 04-01-2020, 05:48 PM   #11
drgibbon
Member
 
Registered: Nov 2014
Distribution: Slackware64 -current
Posts: 713

Rep: Reputation: 457Reputation: 457Reputation: 457Reputation: 457Reputation: 457
Quote:
Originally Posted by slacker1337 View Post
Thanks for the prompt feedback everyone! I should note that my issue isn't with building the source code, I've been using slackrepo to manage that. It's ensuring that when I install things like virt-manager, or qemu, that all the dependencies get installed as well.
Last I checked, slackrepo handles installing dependencies (and also the options mentioned, sbotools/sbopkg+sqg), no?
 
Old 04-01-2020, 06:10 PM   #12
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 7,240

Rep: Reputation: 4932Reputation: 4932Reputation: 4932Reputation: 4932Reputation: 4932Reputation: 4932Reputation: 4932Reputation: 4932Reputation: 4932Reputation: 4932Reputation: 4932
Quote:
Originally Posted by drgibbon View Post
Last I checked, slackrepo handles installing dependencies (and also the options mentioned, sbotools/sbopkg+sqg), no?
slackrepo doesn't normally install the packages it generates (although, it will temporarily install them in an overlay chroot if they're dependencies for other packages that are being built -- when that package is then built, the chroot is destroyed, leaving a clean build system for the next package). It is designed to create a repo that other machines can then use to download and install packages from.

IIRC, there is an option that can build the packages outside of the chroot, but then packages in the repo can pick up unwanted/unexpected dependencies and could cause breakage on other systems.
 
Old 04-01-2020, 09:30 PM   #13
drgibbon
Member
 
Registered: Nov 2014
Distribution: Slackware64 -current
Posts: 713

Rep: Reputation: 457Reputation: 457Reputation: 457Reputation: 457Reputation: 457
Yeah it has the --install option. But from my experience, slackrepo seems pretty heavy duty for someone just wanting to install stuff (great for packaging etc though).
 
  


Reply


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
Looking for radio book recommendations pete1234 General 1 08-17-2006 09:20 PM
looking for recommendations Fritz_Monroe Linux - Distributions 3 11-09-2004 11:56 AM
Looking for SATA PCI + Drive recommendations tenraek Linux - Hardware 3 10-04-2004 05:06 PM
Looking for Info/Recommendations RaveNevaR Linux - Newbie 14 02-24-2003 01:18 PM
Looking for a good SCSI setup. Any recommendations? gunter Linux - Hardware 3 02-20-2003 04:59 AM

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

All times are GMT -5. The time now is 08:04 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