[Slackbuilds-users] Slackbuild helper script

Karel Venken k.venken at online.be
Sun Feb 22 21:18:50 UTC 2015

Leonard Schmidt wrote:
> Hello,
> Karel Venken writes:
>> It is in my notes (consider this a temporary link)
>> http://users.online.be/~cd003081/slackware/packman/getpkgs
>> Chances are slim it is what you want - I wrote it for myself- , but
>> don't hesitate to comment and use it any way you see fit.
> I really like the dependency tree your program produces when using -Hr,
> very cool!

I needed it when things go wrong to be able to gruadually pinpoint where 
the problem is. The tree helps to figure this out. I can manually work 
my way up the tree to see what went wrong.
Afterwards, it turned usefull also to have a quick estimate of how much 
work needs to be done, currently I almost always start with this option, 
so I have an idea of how many packages needs to be handled. As it 
already provides the needed slackbuild scripts, I can eventually check 
the info files if needed.
> My script is simpler in this regard, and it has problems with large
> SlackBuilds like thunar-sendto-clamtk (though this is fixed by using -D
> on such a monster). My tool also has support for so-called .deps and
> .env files. So my ~/.sboget/options/ffmpeg.deps looks like this:
> faac:FAAC=yes
> gsm:GSM=yes
> openjpeg:JP2=yes
> lame:LAME=yes
> OpenAL:OPENAL=yes
> schroedinger:SCHROEDINGER=yes
> speex:SPEEX=yes
> twolame:TWOLAME=yes
> x264:X264=yes
> xvidcore:XVID=yes
> My digikam.deps looks like this:
> eigen3 libpgf libdc1394 QtGStreamer
> This allows me to enable optional dependencies, in an .env file one can
> specify optional variables to pass to the SlackBuild. This is about it.
> I've been using it for quite some time now to update my systems. It has
> support for http, rsync or git (I use a NFS-exported directory instead,
> one only has to change the mirror to rsync or git for this, otherwise
> it complains).
Indeed, a logical step, at some point you want to be able to add some 
dependencies manually. I only added this much later by means of a text 
file HINTS.TXT, which is parsed for some options, like additional 
dependencies. But it is all in one file rather then spread over 

> I only began work on this because I already had written a package
> manager for Slackware (with third-party repository support -- didn't
> know about slackpkg+ back then). This script is of course not as
> sophisticated as sbopkg or even slackrepo (by David Spencer), let alone
> as well-written. Both, sbopkg and slackrepo, are incredible tools,
> highly sophisticated.
> I should add that it's an ash script: to be honest I always wanted to
> dive into (m)ksh programming, but since it's just a hobby for me I never
> had the time to do it, ash on the other hand is quite simple and was
> easily understandable. I could probably achieve more if I learnt bash
> or ksh, but for now this suffices for me.
> I started uploading my scripts to github, so my SBo tool is available here:
> https://raw.githubusercontent.com/1ems/scripts/master/sboget

Thanks for sharing this, I looked at your script and it is much more 
worked out and advanced. Hmmm, my scripting skills need to improve, ;-) 
... but if there is still some parts in mine you like, feel free to take 
it. I have to admit, I started writing scripts just for the fun of it, 
and because it takes work out of my hands. I also use a few selfmade 
ones for mounting USB, connecting wireless etc...

> (My package manager is called `slacker', in case anyone's interested.)
> I usually use
> # sboget -Ssim SlackBuild_I [SlackBuild_II [...]]
> -S skips a message that should most likely be part of its usage, maybe
> I'll change this. -s skips already built packages, -i means "build and
> install the resulting packages" and -m stands for "exact match".
> It can download SlackBuilds -- in case mirror is http -- and sources
> only by using -pm, and one can check dependencies without downloading
> sources by using -Np(m). It supports .info files with multiple sources
> in their DOWNLOAD variable (like suckless-tools). It has primitive
> support for using fakeroot as of late, so running as user to build and
> install packages is possible now. With -gm, one can download only the
> SlackBuild specified on the command-line (if SBO_MIRROR is http).
> By default, it saves packages in /usr/SBo/packages/subdir/program,
> distfiles in /usr/SBo/distfiles/subdir/program, and SlackBuilds in
> /usr/SBo/slackbuilds. One can also log the whole output into a
> file (-l), saved in
> /usr/SBo/log/subdir/program/prog-version-arch-$build$tag.log
> All of this can be configured via ~/.sboget/config. I'm not sure if
> instead I should use /etc and /var, but then running as user is not as
> easy anymore. I usually have different profiles for root and my user,
> for testing things out et cetera.
> Regards
> Leonard
> _______________________________________________
> SlackBuilds-users mailing list
> SlackBuilds-users at slackbuilds.org
> http://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users
> Archives - http://lists.slackbuilds.org/pipermail/slackbuilds-users/
> FAQ - http://slackbuilds.org/faq/

More information about the SlackBuilds-users mailing list