Page 1 of 4

slapt-get/glapt for puppy 3.00

Posted: Thu 20 Sep 2007, 01:51
by kirk
This is a pet package of the latest slapt-get and Gslapt for Slackware 12. Slapt-get is a Slackware package manager and Gslapt is a GUI for it.

Gslapt will download any needed dependencies, so I made a list of slack packages that seem to be in Puppy 3.00beta. When you install the pet package it will populate /var/log/packages with package files, all empty, So don't try and remove any of these packages with Gslapt. Seems to work pretty well, but Puppy's menu structure is not compatible with slack, so menu entries won't show up.

After you install the package, restart JWM, connect to the internet and go to Menu - Setup - Gslapt. Then click update to get a new list of available packages.

Posted: Thu 20 Sep 2007, 10:50
by BarryK
I wondered who would take that one on! :)

Okay, I will see if I can fix the menu problem, so that Slackware entries will appear in Puppy's menu.

Posted: Thu 20 Sep 2007, 11:12
by Lobster
:oops:

Good news from Barry and Kirk :)
Making Slackware binaries available is wonderful.

I think I may have to do a new web presentation for Puppy 3

:) thanks guys

Posted: Thu 20 Sep 2007, 18:12
by iscraigh
Worked great for me

Thanks

Craig

Posted: Thu 20 Sep 2007, 19:39
by kirk
Tried to install kaffeine. It downloaded the acl package which is some kind of basic file handling package. I updated the pet package so that acl is showed installed.

This is experimental software, if you have dependency which gets installed and hoses everything up, let me know. Updated the original post. I guessed about the versions (and sometimes content) of many of the fake packages. Puppy packages don't directly correspond to slacks , but I think we can get close enough.

Posted: Fri 21 Sep 2007, 00:17
by BarryK
Yeah, as it is experimental, let's aim at getting things sorted out for v3.01. I've got too much on my plate for v3.00, especially as I've got full-time work coming up on 24th, for 13 days.

Posted: Fri 21 Sep 2007, 00:23
by BarryK
kirk,
what would be good is if Gslapt can do the same direct-install to the pup_save file in the case of Flash memory. It's quite easy, look in /usr/sbin/petget and search for the string "v2.21". But, Gslapt is compiled code isn't it? which is a problem... the source would probably have to be hacked to get that functionality, unless some kind of wrapper can be put around the executable.

Posted: Fri 21 Sep 2007, 00:48
by kirk
Yeah, as it is experimental, let's aim at getting things sorted out for v3.01.
Yes, if we can get some folks with high-speed connections to play with it, we'll get it worked out. I've tried a couple of SDL games, Dillo-patched, Kino, and Kaffeine. All seem to work. Gslapt/slapt-get is a nice package manager. I never realized how many mirrors are out there for slackware ether.

I wonder if unleashed could be modified to use slack packages? If puppy could be built with all or almost all slack packages, wouldn't have to bother with compiling and hosting all the packages and sources. Guess it might make for one fat dog though. :wink:

Posted: Fri 21 Sep 2007, 01:30
by kirk
what would be good is if Gslapt can do the same direct-install to the pup_save file in the case of Flash memory.
Yep, probably have to hack the source. Slapt-get has many command line options, I'll check. You've seen my bash scripting, my C is worse! :lol: If I can get some time I'll check it out, I'm working full time, I'm on call from time to time (tonight), I'm building a house, got two kids, and involved at church. So sometimes the spare time disappears. But I usually can find an hour here and there.

I'll see if the slapt-get developer can help us out. Might be something easy for him to implement.

Posted: Fri 21 Sep 2007, 13:37
by BarryK
Yes, 'acl' is already in Puppy. You can see what's already there by doing this:
# grep '" on "' /root/.packages/packages.txt | cut -f 2 -d '"'
...although, I bunched all the Xorg packages into just a few.

Posted: Sat 22 Sep 2007, 01:52
by kirk
I looked at /root/.packages/packages.txt and thought that was just a list of the unleashed packages, didn't notice the on/off. :oops:

I'll check that list against the one I'm using and update the pet package I posted above. Might be a couple days.

Also, I contacted the developer of slapt-get about changing the install path root. He said you can do that by setting the the ROOT environment variable when running slapt-get and gslapt. So I tried it with:

export ROOT=/root/spot

and everything installed to /root/spot/...... :)

Gslapt looked for /root/spot/var/log/packages and naturally didn't find it. Then I tried :

export ROOT=/initrd/pup_rw

And all seemed to work normally when I installed a package. Everything appeared on the top layer and Unionfs didn't seem to freak-out. Though I just installed a small package.

So just need to make little wrapper scripts for gslapt and slapt-get that tests the pupmode and sets the ROOT.

Posted: Sat 22 Sep 2007, 09:17
by BarryK
kirk wrote:export ROOT=/initrd/pup_rw

And all seemed to work normally when I installed a package. Everything appeared on the top layer and Unionfs didn't seem to freak-out. Though I just installed a small package.

So just need to make little wrapper scripts for gslapt and slapt-get that tests the pupmode and sets the ROOT.
Yes, but the wapper script has to do a little bit more to ensure that the files always do appear on top. Search for the text "v2.21" in petget, and you'll find where I have done a remount with the 'incgen' option -- this has to be done after the install.

Posted: Sat 22 Sep 2007, 17:58
by magerlab
tried to install this pack but it says that some libraries needed( libcurl e.g)
i use 2.16 now

Posted: Sat 22 Sep 2007, 18:31
by kirk
This is only for puppy 3.00

Posted: Sun 23 Sep 2007, 03:18
by kirk
Big update to the package list. I think it's pretty good now. Also, the pinstall.sh extracts puppy's package.txt file in to /var/log/packages too. So there are some duplicate packages with slightly different package names, but I don't think it matters. Gslapt only lists the ones that match the list it downloads. Tried using puppy's package.txt only, but too many differences with slack packages.

The goal with the package list is to minimize downloads and to prevent downloading somthing that uthenizes puppy.

Made wrapper scripts for slapt-get and gslapt to support direct-install to the pup_save file when using flash memory.


My wrapper scripts look like this: (Largely lifted from petget)

#!/bin/sh

. /etc/rc.d/PUPSTATE
if [ $PUPMODE -eq 3 -o $PUPMODE -eq 7 -o $PUPMODE -eq 13 ];then
export ROOT=/initrd${SAVE_LAYER}
gslapt1
mount -t unionfs -o remount,incgen unionfs /
sync
else
gslapt1
fi

And one like it for slapt-get. Hopefully that's sufficient. Seems to work. Had to change my pinstall.sh to work with flash too.

Updated the file attached to the original post.

Posted: Sun 23 Sep 2007, 13:10
by BarryK
Yes, I should try to get the package names in packages.txt to match slackware names exactly. The naming partly shows its T2 heritage.

What happens if in future versions of Puppy the packages.txt 'on' choices differ -- will the Gslapt system pick this up?

Posted: Sun 23 Sep 2007, 19:16
by kirk
What happens if in future versions of Puppy the packages.txt 'on' choices differ -- will the Gslapt system pick this up?
Yes, the pinstall.sh script uses whatever is in /root/.packages/packages.txt.

The pinstall.sh script populates /var/log/packages with a list from /tmp/ps-packages.txt and then populates /var/log/packages with puppy's package.txt.

I just made another updated to the gslapt package. Had too many duplicates before. The list found in my pet package /tmp/ps-packages contains 83 package names that fall into one of these categories:

1) Seems to be in puppy but not in puppy's package list.

2) In puppy's package list but by a slightly different name.

3) A package we don't want installed because it might make puppy sick.

The ps-packages.txt list may need to changed in the future due to more or less compatibility with slack.

Posted: Sun 23 Sep 2007, 19:22
by kirk
oops

Posted: Wed 03 Oct 2007, 19:53
by kirk
Fixed some problems with the package list. Updated attachment on original post.

Note: After installing this package /var/log/packages is populated with many empty files that (hopefully) represent what puppy has installed. Gslapt/slapt-get reads this directory when it starts up. So if you want to tweak something, such as making Gslapt/slapt-get think a package is already installed, Just add a blank file with the appropriate name. If you find a dependency that gets installed and messes everything up, let me know.

Re: slapt-get/glapt for puppy 3.00

Posted: Wed 03 Oct 2007, 20:27
by friedsonjm
kirk wrote: After you install the package, restart JWM, connect to the internet and go to Menu - Setup - Gslapt. Then click update to get a new list of available packages.
Did all that - but 'Gslapt' does not show up. How do I start 'manually?'

EDIT: I did get it to run from the command line GSLAPT.

jm