New version, 20101229, handles txz better
With the advent of "Woof - The Puppy Builder" there has been a pack of different Puppy's with different lineages crossbreeding.
Prime examples are Lupu Puppy 5, the Luci development for 5.1 and Barry's Spup Slackpup betas.
One problem.. the actual Puppy repos particular to those 'wooflets' are barish, though the Luci repo is starting to look healthy.. and the tool described here is a small part of that.
alien2puppy is a command line based tool to get a main app and it's dependencies 'merged' into a puppy package, either sfs or pet.
What you do is, plonk the app and all the dependencies in a single working directory, for big apps, do this outside your pupsave. Then you invoke the script in that directory with:
Code: Select all
alien2puppy -s Packagename_ver-001
Code: Select all
alien2puppy -p Packagename_ver-001
It's pretty easy, and the script walks you through the various stages and options as you go. It's quite verbose, with just a splash of colour.
I actually wrote it some time ago with a different name, debs2pkg.. Luci followers may have seen it before, even used the script.
Now, this isn't for everybody, you should be comfortable with the Linux command line and filesystem. Also, my coding is pretty rudimentary, so advanced users please cough up any suggestions where improvements could be made.
Notes
* the script is designed to make a small package, so there is an option for stripping, and in the Slackware section, the packages are split into doc, dev and nls.
*Debian/Ubuntu packages are far more simple, but you may find that you have many .debs even for a smallish app. In a way it's a good thing, because you can usually get all doc, dev, nls stuff separately.. consequently, splitting is not enabled for .debs.
*Slackware packages usually include a "doinst.sh" script, similar to Puppy's pinstall.sh script which is executed on installation. I have taken care of this but it may not be perfect.
*there is the chance to pause the script to sort out .desktop files which govern menu entries, and menu icons. In 'dir2pet' you have the option to rebuild the .desktop file to make it Puppy compliant, or you can do it before hand at the pause. The script attempts to discover where the program icon is located.. for KDE apps you may get alot of hits at this stage.
*in the Slackware section, after you make the initial .pet or sfs you are offered the choice to make the dev, doc, nls sfs OR pet if you initially chose '-s' sfs option or pets only if you initially chose the '-p' pet option.
There is a README in the tarball (no it's not a pet, you need to whack it in your $PATH or execute in situ) and there is a '-h' basic help option. As far as a man page goes, well this is it!
don570 has written a neat little tutorial here
______________________________________________________________________
Please enjoy and if you find a bug swat it, or call 000, 999, 911 or some other number than mine.. (er..joking of course, just report it!)
Cheers