LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
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 12-10-2018, 07:07 AM   #16
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,066

Rep: Reputation: Disabled

Quote:
Originally Posted by montagdude View Post
In theory, is there any reason why you couldn't install Slackware's pkgtools on another distro and then use SlackBuild scripts for custom packages?
The question was addressed to ruario, however my answer is: one of the main purposes of pkgtools is to maintain the packages database in /var/log (or more recently in /var/lib) which is found only in Slackware and derivatives. Which also means installing pkgtools in alien distros. Not worth the hassle, I guess.

Last edited by Didier Spaier; 12-10-2018 at 08:10 AM.
 
1 members found this post helpful.
Old 12-10-2018, 07:10 AM   #17
montagdude
Senior Member
 
Registered: Apr 2016
Distribution: Slackware
Posts: 2,011

Rep: Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619
Quote:
Originally Posted by Didier Spaier View Post
The question was addressed to ruario, however my answer is: one of the main purposes of pkgtools is to maintain the packages database in /var/log (or more recently in /var/lib) which is found only in Slackware and derivatives. Which also mean installing pkgtools in alien distros. Not worth the hassle, I guess.
Ah, I didn't know that.
 
Old 12-10-2018, 07:17 AM   #18
ruario
Senior Member
 
Registered: Jan 2011
Location: Oslo, Norway
Distribution: Slackware
Posts: 2,557

Rep: Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762
Quote:
Originally Posted by montagdude View Post
In theory, is there any reason why you couldn't install Slackware's pkgtools on another distro and then use SlackBuild scripts for custom packages?
Yes and I have done it in the past but it requires a few patches to Pkgtools to make them work on other distros because of differences in paths, some tool locations, and a few other things. I stopped maintaining patches for it some time back, though it would likely be easier now because you no longer need tar-1.13.

Another option (and again something I have tried in the past) is to compile spkg (an alternative implementation of installpkg/upgradepkg/removepkg) and pair it with something that can make Slackware packages (like this) but you still have to create SlackBuild files (which contain a lot of bolierplate code). Now you could use slkbuild as well (and I also did that for a while) but in the end I figured it was better to just simplify this whole thing down.

That is why I made my own system, which is just a shell script that I can quickly copy to any target machine and (once I have a build environment installed) I am up and running and ready to track my installs.

Here is an example video of me compiling, installing, using and removing “afio” on OpenSUSE using my own system (afio is interesting because it is a great tool but distros often don't package it because of licensing issues).

https://createpkg.r0.nz/afio-install...epkg-suse.webm

P.S. I don't make the BUILD file then and there but rather copy it from a little personal repository of BUILD files I have on Github.

Last edited by ruario; 12-10-2018 at 07:48 AM. Reason: spelling
 
Old 12-10-2018, 07:22 AM   #19
ruario
Senior Member
 
Registered: Jan 2011
Location: Oslo, Norway
Distribution: Slackware
Posts: 2,557

Rep: Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762
Quote:
Originally Posted by ruario View Post
[…]Another option (and again something I have tried in the past) is too compile spkg (an alternative implementation of installpkg/upgradepkg/removepkg) and pair it with something that can make Slackware packages (like this)[…]
Look I even found an old thread from seven years back, where talk about doing exactly this!

Quote:
Originally Posted by ruario View Post
Another option for anyone else considering something along these lines would be to patch only makepkg to use a transform for package creation (since this seems pretty safe) and using spkg for install, upgrade and remove. You don't really need explodepkg since you can just unpack with 'tar xf' and pkgtool itself is just an extra front end. Of course it still requires that you compile spkg, so it may not seem like much of an improvement over compiling tar-1.13 (which has less dependencies anyway). However on the plus side spkg is very quick and should be well tested on the install/upgrade side, since SalixOS uses it. And no it isn't using tar-1.13 on the back end, the author wrote his own tar unpacking routine.
 
Old 12-10-2018, 07:36 AM   #20
dracolich
Senior Member
 
Registered: Jul 2005
Distribution: Slackware
Posts: 1,274

Rep: Reputation: 63
It was only 1-2 years ago I started using SlackBuilds.org. When I started with Slackware I did everything manually with configure + make and learned quickly about dependency hell. Later I found the third party packages from sources such as linuxpackages and slacky.it...what a mess that made! Another mess was when I mixed packages from -current with 14.2. Now I use SlackBuilds first or I compile manually. The only third party packages I still use are from AlienBob and jaos. jaos made slapt-get and gslapt, which I like for installing updates.
 
Old 12-10-2018, 08:33 AM   #21
montagdude
Senior Member
 
Registered: Apr 2016
Distribution: Slackware
Posts: 2,011

Rep: Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619
Quote:
Originally Posted by dracolich View Post
It was only 1-2 years ago I started using SlackBuilds.org. When I started with Slackware I did everything manually with configure + make and learned quickly about dependency hell. Later I found the third party packages from sources such as linuxpackages and slacky.it...what a mess that made! Another mess was when I mixed packages from -current with 14.2. Now I use SlackBuilds first or I compile manually. The only third party packages I still use are from AlienBob and jaos. jaos made slapt-get and gslapt, which I like for installing updates.
I was just going to say that my choices of tools are probably a little unusual:
  1. slapt-get/gslapt for official packages and Alien Bob (mainly multilib and a couple other things)
  2. sboui for most other third party software
  3. My own SlackBuilds for personal software and other things not found in 1 and 2.
But maybe slapt-get/gslapt isn't actually that unusual. It's nice for desktop use on a -stable release, but I don't think I would use it for -current. I still use slackpkg for some features that slapt-get lacks, anyway.
 
Old 12-10-2018, 09:21 AM   #22
solarfields
Senior Member
 
Registered: Feb 2006
Location: slackalaxy.com
Distribution: Slackware, CRUX
Posts: 1,454

Rep: Reputation: 1001Reputation: 1001Reputation: 1001Reputation: 1001Reputation: 1001Reputation: 1001Reputation: 1001Reputation: 1001
I use slapt-get with my own repo, since I install different things on my different computers and I need dependencies resolution.
 
Old 12-10-2018, 02:23 PM   #23
enorbet
Senior Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Slackware = Main OpSys
Posts: 4,804

Rep: Reputation: 4446Reputation: 4446Reputation: 4446Reputation: 4446Reputation: 4446Reputation: 4446Reputation: 4446Reputation: 4446Reputation: 4446Reputation: 4446Reputation: 4446
I still often use the old school method directly especially when the specific package has a lot of ./configure options, however I used to rely on "Checkinstall" and now "makepkg" so that an uninstall is less difficult than when "make install" is employed. If a package is straightforward and has few configure options I tend to get lazy and rely on Slackbuilds.org and unfortunately it seems my laziness increases every year
 
Old 12-11-2018, 05:17 AM   #24
igadoter
Senior Member
 
Registered: Sep 2006
Location: wroclaw, poland
Distribution: many, primary Slackware
Posts: 2,717
Blog Entries: 1

Rep: Reputation: 625Reputation: 625Reputation: 625Reputation: 625Reputation: 625Reputation: 625
To be strict and honest I would have to neglect all third party repos. No matter binaries or kind of slackbuilds. Build only from sources on machine which will be devoted only for this solely purpose. After number of test I would decide install or not. But this means of course a lot of study, perhaps self-study. The attitude 'try to solve this by you-own before asking for help', willingness to experiment, willingness to pay price for failures. The understanding that most things are complex despite all-around opinions that 'they should be simple'. They are only peeple so eager to convince others about 'simplicity'. But all this means lot of work but also lot of satisfaction. And of course lot of fun. But having said all this my daily routine is just to use slackbuilds for relatively small builds - and binaries packages for too large builds - I cannot afford due to system requirements limitations. For slackbuilds I use my own script - which is just abstraction of many years by-hand installation procedure. For binaries I am looking at AlienBob repo, also Salix repo, and others repos I can find and they are enough trustworthy.
 
1 members found this post helpful.
Old 12-11-2018, 06:06 AM   #25
zeebra
Senior Member
 
Registered: Dec 2011
Distribution: Slackware
Posts: 1,834
Blog Entries: 17

Rep: Reputation: 643Reputation: 643Reputation: 643Reputation: 643Reputation: 643Reputation: 643
Cringe!!!

Nobody use ./configure, make, make install anymore?? wtf did I miss. I even saw someone use sudo here somewhere.. Yuk!

How about:
1. ./configure 2>&1 | tee configure.log
2. make -j3 2>&1 | tee make.log
3. make install 2>&1 | tee make_install.log

cp *.log /root/installs/logs/prog-xyz/
cp *sources.whatever /usr/src/repo/source/prog-xyz

Depending on what and how, "third-party" stuff might/is suppose to go into /opt..

Last edited by zeebra; 12-11-2018 at 10:25 AM.
 
Old 12-11-2018, 07:03 AM   #26
montagdude
Senior Member
 
Registered: Apr 2016
Distribution: Slackware
Posts: 2,011

Rep: Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619
Quote:
Originally Posted by zeebra View Post
Nobody use ./configure, make, make install anymore?? wtf did I miss.
I like to use scripts to build things so that I can remember what configure options, patches, etc. I used. And once you do that, you might as well put a makepkg command at the end and build a proper Slackware package.
 
Old 12-11-2018, 07:39 AM   #27
BW-userx
LQ Guru
 
Registered: Sep 2013
Location: Somewhere in my head.
Distribution: Slackware (15 current), Slack15, Ubuntu studio, MX Linux, FreeBSD 13.1, WIn10
Posts: 10,342

Rep: Reputation: 2242Reputation: 2242Reputation: 2242Reputation: 2242Reputation: 2242Reputation: 2242Reputation: 2242Reputation: 2242Reputation: 2242Reputation: 2242Reputation: 2242
I only install a hand full of 3rd party apps, which is mostly if not all, already on slackbuilds. SBOtools takes care of that.though now that I put a little more thought into it, their is one I am now using e16 , which I don't think anyone else is really using anymore besides me, and the slackbuild itself has three different sources to it. the wm/st themes and docs, where after opening it up and looking at it, I figured why not add the epplets to the script.

After after modifying a piece of code in one of the files for the epplets to get them to "work" with wifi instead of eth0 which I do not use. I used the slackbuild script to do ll of that in one movement putting all of it into one package so it works seamlessly together being all placed into the same like directory structure. /usr

when working on modifying code it does make it easier to install and try it out, then remove it if needed. over using the ./program name in the terminal too.

as far as using a package manager in slack, just using the configure, make, make install still works just fine. Only one either needs to keep the source code handy, or has to get the source again and hope who ever wrote it put in a uninstall to remove everything it installed, if needed.
 
Old 12-11-2018, 08:06 AM   #28
zeebra
Senior Member
 
Registered: Dec 2011
Distribution: Slackware
Posts: 1,834
Blog Entries: 17

Rep: Reputation: 643Reputation: 643Reputation: 643Reputation: 643Reputation: 643Reputation: 643
Quote:
Originally Posted by montagdude View Post
I like to use scripts to build things so that I can remember what configure options, patches, etc. I used. And once you do that, you might as well put a makepkg command at the end and build a proper Slackware package.
with the 2>&1 | tee file you get the log. I mean, you could even go as far as to save the relevant section of bash_history if need be.
 
Old 12-11-2018, 09:16 AM   #29
chrisretusn
Senior Member
 
Registered: Dec 2005
Location: Philippines
Distribution: Slackware64-current
Posts: 2,979

Rep: Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556
Quote:
Originally Posted by Lysander666 View Post
I watched this almost all the way through. I was interested in sbopkg and sbotools, I've never used them before. Made it as far as the beginning part of sbotools, just couldn't take it anymore. I thought the video would be more of a turn off for someone thinking of using Slackware. Well that's my two cents. I don't think I'll switching to sbopkg or spobtools either.


Quote:
So what method[s] do you generally use, and for what reasons?
The old fashion way, via a SlackBuild script. I like to call third party packages, non-slack packages.

I use slackpkg via slackpkg+ along with pkgtools to manages my non-slack packages.

I've gone though several build environments. This is what I have now:
Code:
/home/non-slack/
├── ktown (local mirror of current and source, lastest and testing, x86_64 only.)
├── multilib (local mirror of current and source)
├── other (virualbox, nvidia blob, other miscellaneous stuff) 
├── packages (not used anymore, used to put all packages here)
└── slackbuilds (self explanatory I think) (it's also my local repository) 

The slackbuilds repository is setup with Alien Bob's gen_repos_files.sh

Example of a slackbuilds directory.
/home/non-slack/slackbuilds/
├── claws-mail (the package is moved here)
    ├── build (build files, related sub-directories like patches)
    ├── oldpkgs (backup of old packages, usually the last oldest only)
    └── tmp (were all build output goes, logs, package)
        ├── claws-mail-3.17.1 (source)
        └── package-claws-mail (DESTDIR)
I have a single template.SlackBuld that has just about everything that is needed for creating a SlackBuild script. My scripts do the usual things as a SBo or Slackware SlackBuild. They also download the source(s), create the slack-desc and doinst.sh. The template has a configure, build and install section for autotools, meson, cmake, qmake, perl, python. My scripts also log the outputs. All of my scripts have a header (dependencies, reason I installed it), change log and error checking. Almost all scripts require bash 4.

In using a script with a new package I use the script to just download the source then look it over in particular to see what build system is needed and possible configure options. I then proceed to build the package, but place an 'exit' after the last step of the configure, build and install process to see what needs to be done to finish creating the package. The script will abort if the configure or build steps fail, the log comes in handy to figure out why. If I am thinking of added a new program, I primarily use the source/site to determine dependencies, but SBo or Ponces/slackbuilds come in handy also. I occasionally use slackfinder as a reference.

I build my own because sometimes the dependencies I want or need don't match SBo, plus I sometimes want other build options. I like to combine things, as an example my flashplayer-plugin.SlackBuild checks for multilib and builds the compat32 package, tesseract.SlackBuild also installs training data files. I prefer not to put put anything in /usr/local/ or /opt/ (virtualbox blob being the exception) so my scripts take care of that (google-earth-pro for example). I also would rather not build in /tmp. I have a 50G root and occasionally building in /tmp has filled it up, even at 45% free. My /home is 866G with 52% free. It also very satisfying build your own packages. That is probably the number one reason I build my own. One particularly satisfying build was for perl-finance-quote used with gnucash, 80 perl dependencies. I have learned a lot by building my own, finding patches for example, learning were to look first, compile, configure options, etc. plus getting pretty good at bash, don't have to look things up as often now.

I use a few non-slack programs from Alien Bob (calibre, chromium, chromium-pepperflash-plugin, dropbox-client, ffmpeg, gcc5, handbrake, libreoffice, openjdk, steamclient, vlc). There is a slackbuilds/<package> for each. In each directory I have mirror-alien-build.sh and a dl_packages.sh script. If the build fails and I can't figure it out, I just download the package. I recently changed this and now use slackpkg+ to handle Alien Bob's packages. I'm leaving the directories in place for two reasons, I am working on building on my own and I may go back to putting the packages in there again to be part of my local repository. Simplifies things across my other Slackware installs (download once).

Last edited by chrisretusn; 12-11-2018 at 09:21 AM.
 
Old 12-11-2018, 09:17 AM   #30
ruario
Senior Member
 
Registered: Jan 2011
Location: Oslo, Norway
Distribution: Slackware
Posts: 2,557

Rep: Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762Reputation: 1762
@zeebra You could if you like making it hard for yourself for no good reason. If you are going to that much trouble creating all these logs, just make a package. Your suggestion is slower, more effort and appears to have no discernible advantages. Also while /opt is a fine place, /usr/local is also completely acceptable for self compiled packages (outside of packaging) and involves less hassle to get system integration.

P.S. You provided no install command at all. In your example, you simply compiled. With your ‘method’, is one expected to then also copy all the files into place? If you are trying to look clever, it ain't working…
 
  


Reply



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] Can't install packages with slackpkgplus from third-party repositories glats Slackware 5 04-19-2015 02:52 AM
I want to add additional Third party packages to my CentOS 6.3 ISO image. gaytes Red Hat 1 08-22-2012 07:00 PM
where do you get your third party packages for slackware?? danix85 Slackware 24 05-10-2010 10:02 PM
Doesn't having to deal with all these third party packages become a load of ...? Allamgir Slackware 10 12-30-2009 09:08 AM

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

All times are GMT -5. The time now is 10:11 AM.

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