LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
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 11-12-2016, 04:26 PM   #1
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
HOWTO: Initial Setup of slackrepo (plus some questions)


==BACKGROUND==
I've been a big fan of David Spencer's (55020) slackrepo. It seemed like a great project and an awesome idea for some running multiple Slackware machines that might need some overlapping packages. I'd been interested in running it for a long time, but never went through the process of setting it up because I was relatively happy with sbopkg (even though it is an absolute pain to rebuild the needed packages when updates are available on SBo). However, I've been gearing up for upgrading my main machine to 14.2, but I didn't want to be left for a long time without my needed 3rd-party programs, and my desktop isn't the fastest right now, so it takes a LONG time to build programs, and when I have 210 SBo packages, I couldn't have that length of downtime after upgrading while waiting for programs to build. So, I decided to host a 14.2 VM on my HTPC to build programs in the background which will be easily transferable to my desktop. Initially, I was just using sbopkg to build programs, but I thought this is probably the perfect time to take the dive into slackrepo and get it set up. Then I can just use slackpkg+ to install everything needed onto my desktop. Getting this set up was more work than I imagined... here's my details, including some follow-up questions. Hopefully this can help others who are trying to set it up. If this is liked well enough, I can add it to the SlackWiki (or someone else is free to take it and do the same -- making changes as they see fit).

==HOWTO==

===INSTALLATION===

First thing to do is head to the slackrepo site and download the pre-built package and install it.

Code:
wget https://dl.dropboxusercontent.com/u/26560685/slackrepo-0.2.0rc1-noarch-1_dbs.txz
installpkg slackrepo-0.2.0rc1-noarch-1_dbs.txz
The easy part is done. You can now start building programs.

Code:
slackpkg build packagename
The first time you use the program to build something, it will set up the folder structure and sync with the SBo repo automatically. slackrepo will work out dependencies based on the REQUIRES line in the .info files of the packages.

===SLACKPKG+ SETUP===

However, this is only a small portion of the capabilities of this program. My next goal was to get a slackpkg+ repo enabled. This took a large amount of time as I had never done anything like it before. If you're familiar with it, you'd probably breeze through this section.

First thing I did after trying a few test compiles is look into the configs for this. There resides a different config for various pre-installed repos: SBo, ponce (SBo branch used for -current), csb (willysr's Cinnamon SlackBuilds), and msb (willysr's Cinnamon SlackBuilds). By default, slackrepo will use SBo, so we'll be looking into that one.

====GPG KEY CREATION====

As a bit of a pre-requisite, we're going to generate a GPG key so we can properly sign our packages. Normally, you simply do this using gpg --gen-key and follow the prompts, however, since I'm running this on a VM, there's a snag because it doesn't generate the needed entropy to create a random key. So I had to do this on my desktop and then move the key to the VM.

So, once you log into an actual computer and not a VM, you can run gpg --gen-key to start the setup wizard. Most likely, it's good enough to use the defaults (at least, that's what I did). Make note of your "User ID" (a combination of your real name, comment and email address). This will be used in the slackrepo config later on.

Once your key is generated, we need to move it to the VM. First, we'll package them up into an encrypted file, then move it over.

First we need to find out what your key ID is. To do this, run:

Code:
gpg -K
(If you're running slackrepo on a real machine and not a VM, you're now done with the GPG process)

We're looking for your 8 character key ID under the sec line.

Code:
sec   2048R/1234ABCD 2016-11-12
To make this easier for copy/paste, store your key in a variable (replacing the 1234ABCD with your key ID).

Code:
KEYID=1234ABCD
Now, we need to export your public key.

Code:
gpg --output pubkey.gpg --export $KEYID
Now, we're going to export your private key, however, combine it with the public key and to keep it secure we're going to encrypt it. When it asks for a passphrase, use a strong one, but don't forget it (you only need it once).

Code:
gpg --output - --export-secret-key $KEYID |\
 cat pubkey.gpg - |\
 gpg --armor --output keys.asc --symmetric --cipher-algo AES256
Now we have a keys.asc file that we just need to transfer to the VM. You can do this anyway you see fit. Since it is encrypted, you can transfer it without additional security. I just temporarily hosted mine on my apache install and then used wget to download it on my VM.

Once you have the file on your VM, you need to import it.

Code:
gpg --no-use-agent --output - keys.asc | gpg --import
You now have your GPG key setup on your VM. (It's probably a good idea to remove the keys.asc file from your various machines so nobody can get their hands on it and try and crack it -- which would not be an easy task, but it's still better to not leave it laying around.)

====OTHER MINOR PRE-REQS====

If you're going to want to serve packages for slackpkg+, you'll need to have apache up and running. To do this, you simply need to add the execute bit to /etc/rc.d/rc.httpd and start it.

Code:
chmod +x /etc/rc.d/rc.httpd
/etc/rc.d/rc.httpd start
Once this is setup, we'll need to symlink the package directory into /var/www/htdoc/ so your webserver can actually make the packages available.

Code:
mkdir -p /var/www/htdocs/pkgrepo/SBo/
ln -s /var/lib/slackrepo/SBo/packages/14.2 /var/www/htdocs/pkgrepo/SBo/
If you want to support an RSS feed, you'll need to create a UUID by simply running:

Code:
uuidgen -t
Make note of this as well because you'll need it when editing the conf file.

====SLACKREPO CONF SETUP====

Now we just need to use your favorite editor to open up /etc/slackrepo/slackrepo_SBo.conf so we can get the slackpkg+ portion set up.

First thing we need to do is enable the USE_GENREPOS on line 95. You do this by changing the 0 to a 1.

Next, we need add your GPG user ID to the REPOSOWNER variable (you did save that, right? If you didn't you can get it again from the uid portion of gpg -K).

Now we need to adjust the DL_URL from localhost to your local IP (probably not needed)

And finally, if you want to provide an RSS feed, you'll need to use that UUID you saved from earlier and add it under RSS_UUID

Code:
RSS_UUID="2d88e7b4-a91c-11e6-9ba0-08002775c17a"
You're finally done. Now, the next time you build a package, it will generate all the needed files for slackpkg+ to work.

Code:
================================================================================
gen_repos_files.sh                                                      21:39:42
================================================================================

# -------------------------------------------------------------------#
# $Id: gen_repos_files.sh,v 1.92 2014/07/31 20:27:53 root Exp root $ #
# -------------------------------------------------------------------#
--- Generating repository metadata for /var/lib/slackrepo/SBo/packages/14.2/x86_64 ---
--- Repository owner is Jeremy Brent Hansen (bassmadrigal) <jebrhansen+SBo@gmail.com> ---

Enter your GPG passphrase: .
Generating a GPG-KEY file in '/var/lib/slackrepo/SBo/packages/14.2/x86_64',
  containing the public key information for 'Jeremy Brent Hansen (bassmadrigal) <jebrhansen+SBo@gmail.com>'...
--> Generating .asc file for mutagen-1.35-x86_64-1_SBo.tgz
--> Generating .asc file for chromaprint-1.2-x86_64-1_SBo.tgz
--> Generating .asc file for dos2unix-7.3.4-x86_64-1_SBo.tgz
--> Generating .asc file for picard-plugins-20160206-x86_64-1_SBo.tgz
--> Generating .asc file for picard-1.3.2-x86_64-1_SBo.tgz
--> Generating .asc file for transmission-2.92-x86_64-1_SBo.tgz
--> Generating .asc file for youtube-dl-2016.11.04-x86_64-1_SBo.tgz
--> Generating .asc file for etckeeper-1.18.5-x86_64-1_SBo.tgz

Finished gen_repos_files.sh at 21:39:49
Hopefully I haven't butchered anything too bad in my guide, but if I have, please let me know and I'll adjust it.

==QUESTIONS==

Now, even after all of this, I do still have questions. These are open to the community to answer if you're aware or maybe I'll have to wait for David to see this.
  • By default, it includes a number of hintfiles, but they're in a 14.1/ directory. I assume these were designed to work with only the 14.1 repo and not 14.2, so it may or may not work, right? Are there any places where newer hintfiles are available or do you just need to tailor the 14.1 files to a 14.2 install or create your own?
  • When I built transmission, it notified me that some files in the chroot were modified and it discarded the changes. Is there a way to view the changes? They were pre-installed files that were a part of a FULL Slackware install, so they weren't new files created by transmission. I'm just wondering what was actually changed.
  • Is there a way to have it build a number of packages at once? I just found you can simply do slackrepo build package1 package2 package3 and it will build each in it's own chroot (any dependencies will be built under the chroot of program that depends on them).
  • Is it possible to have multiple repos in the same package directory? My main use case for this would be any SlackBuilds I have locally (that either haven't been submitted to SBo or can't be for some reason). Some of those packages have requirements that exist on SBo but that I don't have locally.
  • What's the best way to modify .SlackBuild or .info files when hintfiles aren't enough? Is there a way to keep changes when syncs are accomplished with SBo? My use case for this is removing the jdk requirement from kodi's REQUIRES line, because I use Eric's openjdk package and I don't want slackrepo to try and (unsuccessfully) build jdk.
  • Is there a way to regenerate the slackpkg+ repo without building a program? I built several packages before I set up the slackpkg+ portion, but I couldn't find any way to have it create the repo without building another program. Nothing built-in to manage this. You'll need to set up a separate repo or branch containing your changes. See this for more info. (Thanks Andrzej)
  • Is there a way to view the READMEs within the program or do you need to manually view them (either through SBo or using a text viewer in the shell)? It'd be nice to be able to have the READMEs popup so I can decide if I should make or modify a hintfile. It's not a big deal if this doesn't exist in the program.
  • EDIT1: What is the difference between slackrepo rebuild and slackrepo update? Is rebuild to just rebuild a single package that was already built (like how you need to run upgradepkg instead of installpkg if a package is already installed) and is used in place of build? And update used to rebuild all updated programs and their dependencies?
  • EDIT2: Based on this post, is there a way to deal with circular dependencies within slackrepo? I'm interested in building ffmpeg with vid.stab support, and vid.stab has an optional dependency of transcode if I want transcode filters (which I do), but transcode relies on ffmpeg. In my initial hintfiles, I enabled vid.stab in ffmpeg's, and transcode in vid.stab's, and then tried to build transcode, but it failed building vid.stab and then aborted ffmpeg, transcode, and libquicktime.
  • EDIT2: If two completely different programs require the same dependency, is that dependency built twice or is the previously built dependency installed into the chroot to minimize compilation time? Like, if I build ffmpeg by itself, and then decide to build transcode, will it just install my ffmpeg (and any other dependencies) package into the chroot and then just build any missing deps and then build transcode, or will it recompile every dependency and overwrite the previously built packages on the repo? This program will install any previously compiled programs as long as there are no changes to the hint file or updates from the upstream repo. (Thanks Andrzej and titopoquito)

I'm sure once I start diving into hintfiles that I'll have more questions, but I'll keep this post updated when I find info to answer my questions or further info that should go in the setup portion (as long as those updates occur before LQ's edit timeout occurs).

Overall, I'm extremely impressed with this so far. It is really powerful and impressive. David, you've done an amazing job!

Last edited by bassmadrigal; 11-14-2016 at 07:35 AM. Reason: Answered some questions
 
Old 11-12-2016, 05:34 PM   #2
atelszewski
Member
 
Registered: Aug 2007
Distribution: Slackware
Posts: 948

Rep: Reputation: Disabled
Hi,

Quote:
Originally Posted by bassmadrigal View Post
Overall, I'm extremely impressed with this so far. It is really powerful and impressive. David, you've done an amazing job!
Indeed!

Quote:
Originally Posted by bassmadrigal View Post
By default, it includes a number of hintfiles, but they're in a 14.1/ directory. I assume these were designed to work with only the 14.1 repo and not 14.2, so it may or may not work, right? Are there any places where newer hintfiles are available or do you just need to tailor the 14.1 files to a 14.2 install or create your own?
Some (most?) will work with 14.2, but you're better off creating your own if you want to have the full control.
Use them as, well, hints for you :-)

Quote:
Originally Posted by bassmadrigal View Post
When I built transmission, it notified me that some files in the chroot were modified and it discarded the changes. Is there a way to view the changes? They were pre-installed files that were a part of a FULL Slackware install, so they weren't new files created by transmission. I'm just wondering what was actually changed.
There are log files to assist you. You can also build in verbose mode.
Most of the time I saw something changed was in /root/.config and Python builds are notorious for doing something in /usr.

Quote:
Originally Posted by bassmadrigal View Post
Is it possible to have multiple repos in the same package directory? My main use case for this would be any SlackBuilds I have locally (that either haven't been submitted to SBo or can't be for some reason). Some of those packages have requirements that exist on SBo but that I don't have locally.
I don't know, but if you're going to test, make sure you do it on small repo.
Until you get to know slackrepo, be careful, because it might remove something you wouldn't expect (shouldn't happen often).

I guess the next answer is also answer to this question.
You'll use git to maintain your own SlackBuilds.

Quote:
Originally Posted by bassmadrigal View Post
What's the best way to modify .SlackBuild or .info files when hintfiles aren't enough? Is there a way to keep changes when syncs are accomplished with SBo? My use case for this is removing the jdk requirement from kodi's REQUIRES line, because I use Eric's openjdk package and I don't want slackrepo to try and (unsuccessfully) build jdk.
See here: slackrepo and custom SlackBuild.

--
Best regards,
Andrzej Telszewski
 
3 members found this post helpful.
Old 11-12-2016, 08:21 PM   #3
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Original Poster
Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
Quote:
Originally Posted by atelszewski View Post
Some (most?) will work with 14.2, but you're better off creating your own if you want to have the full control.
Use them as, well, hints for you :-)
That's kinda what I figured, but it doesn't hurt to ask since someone has already probably taken the time to get a lot to work as they want for 14.2.

There are log files to assist you. You can also build in verbose mode.
Most of the time I saw something changed was in /root/.config and Python builds are notorious for doing something in /usr.

Yes, I checked the log, but here's all it said:

Code:
WARNING: network/transmission: Files/directories were modified in the chroot
/usr/share/gdb/python/gdb
/usr/share/gdb/python/gdb/FrameDecorator.pyc
/usr/share/gdb/python/gdb/FrameIterator.pyc
/usr/share/gdb/python/gdb/__init__.pyc
/usr/share/gdb/python/gdb/command
/usr/share/gdb/python/gdb/command/__init__.pyc
/usr/share/gdb/python/gdb/command/explore.pyc
/usr/share/gdb/python/gdb/command/frame_filters.pyc
/usr/share/gdb/python/gdb/command/pretty_printers.pyc
/usr/share/gdb/python/gdb/command/prompt.pyc
/usr/share/gdb/python/gdb/command/type_printers.pyc
/usr/share/gdb/python/gdb/command/unwinders.pyc
/usr/share/gdb/python/gdb/command/xmethods.pyc
/usr/share/gdb/python/gdb/frames.pyc
/usr/share/gdb/python/gdb/function
/usr/share/gdb/python/gdb/function/__init__.pyc
/usr/share/gdb/python/gdb/function/caller_is.pyc
/usr/share/gdb/python/gdb/function/strfns.pyc
/usr/share/gdb/python/gdb/printer
/usr/share/gdb/python/gdb/printer/__init__.pyc
/usr/share/gdb/python/gdb/printer/bound_registers.pyc
/usr/share/gdb/python/gdb/printing.pyc
/usr/share/gdb/python/gdb/prompt.pyc
/usr/share/gdb/python/gdb/types.pyc
Unmounting chroot ... done.
It unmounts the chroot and doesn't give me a chance to run a diff on any of them. If I grep the build.log file, other than the above, it just provides me one command that has gdb.

Code:
{ test -n "" && DESTDIR="" || DESTDIR=.; } && test $(gdb --version | sed -e 's,[^0-9][^0-9]*\([0-9]\)\.\([0-9]\).*,\1\2,;q') -gt 72 && gdb --nx --batch --quiet -ex 'set confirm off' -ex "save gdb-index $DESTDIR" -ex quit 'transmission-qt' && test -f transmission-qt.gdb-index && objcopy --add-section '.gdb_index=transmission-qt.gdb-index' --set-section-flags '.gdb_index=readonly' 'transmission-qt' 'transmission-qt' && rm -f transmission-qt.gdb-index || true
Quote:
Originally Posted by atelszewski View Post
I don't know, but if you're going to test, make sure you do it on small repo.
Until you get to know slackrepo, be careful, because it might remove something you wouldn't expect (shouldn't happen often).

I guess the next answer is also answer to this question.
You'll use git to maintain your own SlackBuilds.
I wonder if it has to be git, since I can have them local, but they're also on github, so it wouldn't be that big of a deal. I'm mainly just hoping I can have them stored on the same slackpkg+ repo, so if I build, for example, filebot from my repo, it can grab the dependencies chromaprint and libmediainfo from SBo (since I don't rehost them on my personal repo) and build those and make them all available under one repo. Maybe I'll just need to create a branch like he suggested in your link below that has those extra programs I want to include.

Quote:
Originally Posted by atelszewski View Post
Thanks, I don't know why I forgot about that thread when I was typing this all up.

In fact, my main reasoning for typing this all up was the confusion in getting the repo set up. I had never dealt with GPG keys and I had to do a lot of searching to figure out how to use them properly. Then I ran into the issue where the VM wasn't allowing the key to be created, so I then had to research how to move it. It was quite the enlightening night.

I do find it funny that I've recommended this program for quite some time, because I loved the ideals behind it, but I never actually ran it until yesterday.

Last edited by bassmadrigal; 11-12-2016 at 08:24 PM.
 
Old 11-13-2016, 04:39 PM   #4
atelszewski
Member
 
Registered: Aug 2007
Distribution: Slackware
Posts: 948

Rep: Reputation: Disabled
Hi,

Quote:
Originally Posted by bassmadrigal View Post
Based on this post, is there a way to deal with circular dependencies within slackrepo? I'm interested in building ffmpeg with vid.stab support, and vid.stab has an optional dependency of transcode if I want transcode filters (which I do), but transcode relies on ffmpeg. In my initial hintfiles, I enabled vid.stab in ffmpeg's, and transcode in vid.stab's, and then tried to build transcode, but it failed building vid.stab and then aborted ffmpeg, transcode, and libquicktime.
Not as of 0.2.0rc1. In the case of circular dependency, the dep calculation will be stuck in a loop.

Quote:
Originally Posted by bassmadrigal View Post
If two completely different programs require the same dependency, is that dependency built twice or is the previously built dependency installed into the chroot to minimize compilation time? Like, if I build ffmpeg by itself, and then decide to build transcode, will it just install my ffmpeg (and any other dependencies) package into the chroot and then just build any missing deps and then build transcode, or will it recompile every dependency and overwrite the previously built packages on the repo?
The shared dep is not built twice, but installed when it's needed, if it's already been built.
It will be rebuilt if there are reasons for, e.g. hintfile change, version update, etc.

--
Best regards,
Andrzej Telszewski
 
1 members found this post helpful.
Old 11-13-2016, 07:17 PM   #5
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Original Poster
Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
Quote:
Originally Posted by atelszewski View Post
The shared dep is not built twice, but installed when it's needed, if it's already been built.
It will be rebuilt if there are reasons for, e.g. hintfile change, version update, etc.
So, based on this, I could do one build of ffmpeg, vid.stab, and transcode, but without a hint file for vid.stab. Then, once that is finished, I could do a second build of ffmpeg and vid.stab with vid.stab having the TRANSCODE=yes in a hint file. Does that seem right?
 
Old 11-13-2016, 07:34 PM   #6
atelszewski
Member
 
Registered: Aug 2007
Distribution: Slackware
Posts: 948

Rep: Reputation: Disabled
Hi,

I won't dive into the problem, it's too late for me ;-)

What you have to remember is:
- changes to hintfile will cause rebuilds,
- if you build in clean environment (and chroot), then there are no deps installed system-wide (they are installed when something depends on them and uninstalled [or I guess the chroot is destroyed?], when they are not needed anymore).

BTW, I was going through the same thing (ffmpeg), I just ditched transcode.

--
Best regards,
Andrzej Telszewski
 
1 members found this post helpful.
Old 11-13-2016, 08:54 PM   #7
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Original Poster
Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
Ok, based on that info, I as able to rebuild everything once I removed TRANSCODE=yes from the vid.stab hint file. I then tried to add TRANSCODE=yes and try to rebuild ffmpeg, but it wouldn't work because transcode wasn't listed as a dependency. So when I tried to add transcode to ADDREQUIRES for vid.stab, I end up in that loop you mentioned, because transcode requires ffmpeg. I didn't notice this yesterday since I forgot to add transcode to the ADDREQUIRES on the first build.

I think the only way around this would be to either not use transcode like you did or install transcode temporarily system-wide for the build, then remove it once the build is complete.
 
Old 11-14-2016, 02:57 AM   #8
titopoquito
Senior Member
 
Registered: Jul 2004
Location: Lower Rhine region, Germany
Distribution: Slackware64 14.2 and current, SlackwareARM current
Posts: 1,644

Rep: Reputation: 145Reputation: 145
Quote:
Originally Posted by bassmadrigal View Post
==BACKGROUND==[*]Is it possible to have multiple repos in the same package directory? My main use case for this would be any SlackBuilds I have locally (that either haven't been submitted to SBo or can't be for some reason). Some of those packages have requirements that exist on SBo but that I don't have locally.[*]What's the best way to modify .SlackBuild or .info files when hintfiles aren't enough? Is there a way to keep changes when syncs are accomplished with SBo? My use case for this is removing the jdk requirement from kodi's REQUIRES line, because I use Eric's openjdk package and I don't want slackrepo to try and (unsuccessfully) build jdk.[*]EDIT2: If two completely different programs require the same dependency, is that dependency built twice or is the previously built dependency installed into the chroot to minimize compilation time? Like, if I build ffmpeg by itself, and then decide to build transcode, will it just install my ffmpeg (and any other dependencies) package into the chroot and then just build any missing deps and then build transcode, or will it recompile every dependency and overwrite the previously built packages on the repo?[/list]
Funnily I wrote to David some days ago about that local repo/SBo mixup question. He responded that it was on his TODO-List, so that something like "ADDREQUIRES="SBo:name-of-package"" might work in the future even in your local SlackBuilds repo.
About the second quoted question, I guess that would be a good reason to clone a special SlackBuild to your local stuff and modify it. This way you can compile it with the "--repo=BM" or whatever you chose as the repo's ID. On your target machines you could give your local repo's packages precedence over the other ones if you are using slackpkg+.
About your third question: They get only built once.
 
1 members found this post helpful.
Old 11-21-2016, 08:04 PM   #9
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Original Poster
Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
I came up with another question. Is there an easy way to install all packages in a repo? Right now, I'm just building everything for my eventual upgrade of my desktop from 14.1 to 14.2 (I know, I'm way behind), so every package I'm building right now will be installed onto my desktop (eventually, I'll set up my other machines and VMs to use it as well).

I know I can just manually grab the whole lot of packages, but is it possible to use something like slackpkg install-new for my personal repo to install all the programs? Or is there another tool that will do it? I know there's a lot of packaging tools out there, but I really only stuck with sbopkg (and a bit of slackpkg for a very few of Eric's packages), so I have quite the lack of knowledge on what other programs can do. It would also be nice if one of those utilities supports the .dep files and installs those as well.

EDIT: Is there a way to have a GPG passphrase but not require entering it after each build? I tend to compile everything remotely on a pretty low-power htpc, so it can take quite some time to build, especially on some of these larger compiles, so having it automatically sign the packages after building everything without requiring the passphrase would be quite nice. I imagine there's something simple that I'm missing, but my Google searches have left me more confused than helped...

Last edited by bassmadrigal; 11-21-2016 at 08:14 PM.
 
Old 11-22-2016, 12:36 AM   #10
atelszewski
Member
 
Registered: Aug 2007
Distribution: Slackware
Posts: 948

Rep: Reputation: Disabled
Hi,

Quote:
Originally Posted by bassmadrigal View Post
EDIT: Is there a way to have a GPG passphrase but not require entering it after each build? I tend to compile everything remotely on a pretty low-power htpc, so it can take quite some time to build, especially on some of these larger compiles, so having it automatically sign the packages after building everything without requiring the passphrase would be quite nice. I imagine there's something simple that I'm missing, but my Google searches have left me more confused than helped...
I have completely no idea if that is it, but there is thing called gpg-agent.

--
Best regards,
Andrzej Telszewski
 
Old 11-22-2016, 02:56 AM   #11
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,057

Rep: Reputation: Disabled
http://askubuntu.com/questions/36228...assphrase-once

Caveat:I didn't try, I enter the passphrase every time

Last edited by Didier Spaier; 11-22-2016 at 02:58 AM.
 
Old 11-22-2016, 05:35 AM   #12
55020
Senior Member
 
Registered: Sep 2009
Location: Yorks. W.R. 167397
Distribution: Slackware
Posts: 1,307
Blog Entries: 4

Rep: Reputation: Disabled
Hi! Looks like you've been doing fine without me
So my big TODO list now includes Reading This Thread Properly ... anyway thanks very much for writing this up and so much good feedback from everybody, I'll be getting back to you in due course (although SBo itself comes first these days).

Thanks again
 
1 members found this post helpful.
Old 11-22-2016, 05:46 AM   #13
atelszewski
Member
 
Registered: Aug 2007
Distribution: Slackware
Posts: 948

Rep: Reputation: Disabled
Hi,

Quote:
Originally Posted by 55020 View Post
Hi! Looks like you've been doing fine without me
So my big TODO list now includes Reading This Thread Properly ... anyway thanks very much for writing this up and so much good feedback from everybody, I'll be getting back to you in due course (although SBo itself comes first these days).

Thanks again
Do you want suggestion for slackrepo written here?
Or is there a better place?

--
Best regards,
Andrzej Telszewski
 
Old 11-22-2016, 08:44 AM   #14
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Original Poster
Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
Quote:
Originally Posted by atelszewski View Post
I have completely no idea if that is it, but there is thing called gpg-agent.
I had thought something similar, but according to Archwiki:

Quote:
gpg-agent is mostly used as daemon to request and cache the password for the keychain. This is useful if GnuPG is used from an external program like a mail client.
Starting with GnuPG 2.1.0 the use of gpg-agent is required. gpg-agent is started on-demand by the GnuPG tools, so there is usually no reason to start it manually.
And now I just realized that Slackware 14.2 only comes with 2.0.30 , so I will likely need to figure out how to properly set it up and have it start manually. I know with ssh-agent, you were supposed to do certain things to prevent it from loading multiple times, so I never took the time to figure it out properly. Guess I'll have to figure it out for this (good thing I have a long weekend with the US's Thanksgiving holiday)...

Quote:
Originally Posted by Didier Spaier View Post
http://askubuntu.com/questions/36228...assphrase-once

Caveat:I didn't try, I enter the passphrase every time
That is for ssh-agent, which I believe is similar, but will only work for ssh logins, not gpg signings (I might be completely wrong on this). I'll probably be digging into this over Thanksgiving weekend and I'll update this thread when I have more info.

Quote:
Originally Posted by 55020 View Post
Hi! Looks like you've been doing fine without me
So my big TODO list now includes Reading This Thread Properly ... anyway thanks very much for writing this up and so much good feedback from everybody, I'll be getting back to you in due course (although SBo itself comes first these days).

Thanks again
Haha, yeah, it took some work, but I've gotten the hang of your software and I'm still impressed at it. It is such a clean setup and I'm amazed at how well it works.

No worries on this thread not being your first priority... I'd rather SBo take precedence over some minor questions on how to better use your software anyway

I'll still chug away and using it and I'll add any updates (or additional questions) as I come across them. Once I'm done, if you're interested, I can add this on a SlackWiki page, or you're more than welcome to take anything I have here and use it to make your own page on there.

Overall, about the only thing I had to really scratch my head on was getting the gpg signing working, but I think that is just because this was my first time ever using it, so there was a lot of learning I had to do to understand it (and as you can see, I'm still working on the learning part).

Once again, I just want to thank you for a wonderful piece of software!
 
Old 11-22-2016, 01:35 PM   #15
titopoquito
Senior Member
 
Registered: Jul 2004
Location: Lower Rhine region, Germany
Distribution: Slackware64 14.2 and current, SlackwareARM current
Posts: 1,644

Rep: Reputation: 145Reputation: 145
Quote:
Originally Posted by bassmadrigal View Post
I came up with another question. Is there an easy way to install all packages in a repo? Right now, I'm just building everything for my eventual upgrade of my desktop from 14.1 to 14.2 (I know, I'm way behind), so every package I'm building right now will be installed onto my desktop (eventually, I'll set up my other machines and VMs to use it as well).

I know I can just manually grab the whole lot of packages, but is it possible to use something like slackpkg install-new for my personal repo to install all the programs? Or is there another tool that will do it? I know there's a lot of packaging tools out there, but I really only stuck with sbopkg (and a bit of slackpkg for a very few of Eric's packages), so I have quite the lack of knowledge on what other programs can do. It would also be nice if one of those utilities supports the .dep files and installs those as well.
If you are using slackpkg+, have you tried "slackpkg install <name-of-your-repo>"? AFAIR it should do the trick.
 
2 members found this post helpful.
  


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] Two questions / wishes related to slackrepo slalik Slackware 3 07-21-2015 05:18 AM
Howto undo updates or roll system back to initial installation? suguru SUSE / openSUSE 2 01-08-2006 11:31 PM
Howto? upgrade kernel on initial boot into Sarge haertig Debian 12 11-12-2005 11:58 PM
Initial questions after first Linux use Foxy Mandriva 11 07-04-2004 03:55 AM
Initial setup .. umd Linux From Scratch 9 04-05-2003 12:36 PM

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

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