Page 1 of 1

Chameleon Puppy - to install almost any package format

Posted: Sun 12 Feb 2012, 11:11
by zomzilla
something i've noticed about puppy is that double clicking on any .pkg.tar.gz file from arch will install it no problem. the same is true for most package files.

what i propose is a project to make puppy accept almost any package format by use of add-ons to the default package manager (currently experimenting with this: i have the pacman package manager running on puppy with limited issues)

would there be interest in this?

Posted: Sun 12 Feb 2012, 11:45
by nooby
I am just a noob so what do I know :) But sure I trust such is interesting.
something i've noticed about puppy is that double clicking on any .pkg.tar.gz
file from arch will install it no problem. the same is true for most package files.
Many have asked about getting a puppy that can use arch repo.
And you have contributed to this too.
arch2pet
http://www.murga-linux.com/puppy/viewtopic.php?t=75945

Maybe others that like Arch can cooperate with you and at least
list all the programs that do work. And those that fails and why these
fails and that way together you guys can find out what is missing
and change the PPM so it can find those missing Libs?
Just naive thoughts from Nooby.

When you say Puppy. That can refer to Lucid Puppy or Slacko
or Wary or any other official or loved but still not official Puppy?
Which Puppy does this work best on and

important question. Don't the kernel for the Arch and the Puppy one use
need to be rather close in versions :)


Edit
Ultimately I am looking to make a new puplet which is based on puppy/vanilla packages which can draw from as many repo's as possible
Wish you all the best. Hope people find this thread and let inspiration flow

Posted: Sun 12 Feb 2012, 11:54
by zomzilla
Well my scripts has worked flawlessly for all the .xz packages but that is just because it decompressed it and recompresses it again

Pacman works.... Kind of (it renamed all of my config files and did some other stuff which stopped my hard disk booting into puppy)

But yeah; a group of people willing to help would be great. :)

Ultimately I am looking to make a new puplet which is based on puppy/vanilla packages which can draw from as many repo's as possible

Posted: Sun 12 Feb 2012, 13:22
by disciple
important question. Don't the kernel for the Arch and the Puppy one use
need to be rather close in versions
I think when the kernel does matter, it normally does not just need to be close in versions, but the same in versions and compilation options.

For applications the kernel does not usually matter - the libraries matter. So if you get a program from Arch you might need to get a whole lot of libraries that it depends on, as well.
Note that Arch may not be a good choice for borrowing packages. Arch is a rolling release distro, and its packages are generally the very latest released version. So it is quite likely that a program borrowed from Arch will be compiled against newer libraries than those in Puppy.

Posted: Sun 12 Feb 2012, 14:10
by zomzilla
Arch is typically very cutting edge yes.

This is why such a puplet would have to be update-able in such a way that other puppies cannot be

Posted: Sun 12 Feb 2012, 15:00
by nooby
I know too little to participate in this thread but got curious.

So to make a Puppy out of ARch is not an easy thing then.

Can one not do the upside down? Take Arch and make something
as easy to use as Puppy but that are still 100% compatible with Arch?

Maybe a too naive way to see it?

Posted: Sun 12 Feb 2012, 15:13
by zomzilla
Really not to naive for this thread; I am by no means an expert

The only issues I have found are that pacman is trying to change certain files that are core to the system and that many of puppies packages are out of date (pacman needs glibc to be 15 while I think slacko has 13)

But if I can edit pacman it should not be a problem :). (now wtf is pacman written in...)

Posted: Sun 12 Feb 2012, 18:39
by Eyes-Only
Hi Zomzilla,

Hmm... perhaps going around this backwards? Have you looked into BarryK's "Woof2"? That's a complete distro building system where you change ( from what I understand of it anyway ) the repo parameters from which it draws to go and build a complete Puppy Linux distro.

This is how Micho and Playdayz made LucidPup. So you'd take Woof2 and point it towards the Arch repo and press "Build Puppy!"... supposedly voila! - you have an ArchPup when the script has finished.

Well... of course it's a "little" more complicated than that but perhaps this will give you an idea? To me anyway it seems as if you're going around this sort of "backwards". On the otherhand... what do I know? ;)

Ciao/Amicalement,

Eyes-Only
"L'Peau-Rouge d'Acadie"

Posted: Sun 12 Feb 2012, 19:04
by zomzilla
Actually as you speak I am making a Debian based pup as a test :D

But while woof2 is a great (if poorly documented) tool I actually think IT is backwards lol

Basically my idea is to have a puppy where it doesn't matter what distro a package is for; it will just work In puppy

Posted: Mon 13 Feb 2012, 21:42
by disciple
Basically my idea is to have a puppy where it doesn't matter what distro a package is for; it will just work In puppy
I think perhaps you have a different understanding of "just work" to the rest of the world.
How are you going to deal with dependencies? If you automatically installed dependencies from the same distro as the package someone is trying to install, they would end up with duplicates.

Posted: Mon 13 Feb 2012, 22:10
by zomzilla
Dependencies? Well dep tracking isn't 100% necessary in a package management system: but if you wanted that then an add-on script can search the activated distro's repo's for the dependencies and install the most up to date one

Posted: Wed 15 Feb 2012, 08:31
by disciple
I guess if it needs to install a newer version of a dependency it could remove any older versions even if they are from another distro... that probably wouldn't cause too many problems.

Posted: Wed 15 Feb 2012, 13:15
by Eyes-Only
Hi disciple!
disciple wrote:"I guess if it needs to install a newer version of a dependency it could remove any older versions even if they are from another distro... that probably wouldn't cause too many problems."
Interestingly enough? - I've been using Puppy ever since version 1.0.2 and I've basically been doing exactly this, at some points adding/changing so many programmes in Puppy, plus changing over needed dependencies in the process with updates/upgrades as to have an end result of 40% Puppy and 60% foreign ( with "foreign" being all the major distros thrown in from Mandriva to Slackware in one Puppy! )... and you'd be shocked perhaps to see how few to no errors I would have in my /tmp/xerrs.log! :shock:

I have done likewise with all the major distros as well.

This has caused me to give much deep thought to the matter with the conclusion that it really doesn't matter the distro as we've been taught in mixing software as much as the glibc version which said software has been compiled.

I really believe that's it in a nutshell. Debian, Mandriva, Slacky, Ubuntu, or even Gobo or Sabayon - it makes no difference! It's the glibc version that matters upon whether or not software is compatible the most.

Well, as I'm fond of saying, "On the otherhand, I could be all wet behind the ears too." ;)

Cheers/Amicalement,

Eyes-Only
"L'Peau-Rouge d'Acadie"

Posted: Wed 15 Feb 2012, 18:23
by zomzilla
I always believed this: but thanks for confirming this !

An extra bit; which distro's tend to use a more up-to date glibc? I had problems with arch as it required a newer glibc than puppy but you experiences sound interesting

Posted: Wed 15 Feb 2012, 19:05
by nooby
I really believe that's it in a nutshell. Debian, Mandriva, Slacky, Ubuntu, or even Gobo or Sabayon - it makes no difference! It's the glibc version that matters upon whether or not software is compatible the most.
Cool, so is there some easy way to find out which glibc version that a program make use of? Can one ask it somehow? Or does one have to read the devs
Read me or some server documentation on the files there in that dir?

Posted: Wed 15 Feb 2012, 19:15
by zomzilla
Well usually it's a dep of a program that glibc be above a certain version

Ie most arch packages require glibc to be later than 2.5 I believe

(puppy is 2.28)

Posted: Thu 16 Feb 2012, 05:04
by disciple
and you'd be shocked perhaps to see how few to no errors I would have in my /tmp/xerrs.log!
Not really shocked - people talk about "dependency hell" on Linux, but I wonder if it isn't mostly urban legend :)

Posted: Thu 16 Feb 2012, 10:51
by Eyes-Only
Exactly disciple! Urban legend is the perfect description of it! :D Oh sure! I have no doubt that "In the beginning..." ( should we adhere closely to the "Unix Bible" here LOL! ) there truly was such a thing as a "dependency hell". But as we've split down through the past 20+ years into hundreds - if not thousands! - of differing distros ( counting those which have been discarded and abandoned of course ) I think this has actually caused to smoothen us out in such a way that we've managed to more-or-less bring our versions of glibc compilers, gtk/qt GUI building structure, and whatnot, closer in line together so that those days of such dependency hell are fewer and farther between.

I've even seen more and more websites simply offering the sole binary blob of their programme(s) for download without the customary "Download this one if using Debian... or this one if using Mandriva..." To me that says a lot right there! :)

Zom & Nooby: I can't think right offhand about either of your questions - sorry my friends! I've basically just used the newest Puppy at that time and for the most part haven't had much problem when playing "mix n' match". If there was a programme I needed I used it.

Of course what helped me a lot when doing this: At the time I usually had two or three drives each with either a Linux Mint, Mandriva, Debian, Parsix, Vector Linux - and I think you get the picture here? - install, so if I needed the necessary libs I could just grab what I wanted from wherever I wanted. I really cheated and was really lucky according to conventional theory. LOL!

Good luck Zom!/Bonne Chance!

Eyes-Only
"L'Peau-Rouge"