I have compiled it statically with Qt4, so it doesn't need the Qt4 package(s). It does however make the SMPlayer PET package somewhat large -- 4165KB.
This package will be available for installation when Wary 0.5.2 is released.
Comments:Posted on 20 Aug 2010, 23:40 by Stuart McLeod
Good job !
Very good job ! Now even an Duron 700MHZ can read an .MKV without problem. I had been waiting for that (and a few other wee things) to label puppy linux THE distribution I would bring on a desert island. Thank you Mr Kauler.
Posted on 21 Aug 2010, 16:09 by Iguleder
Barry, at the moment I'm working on a project that shares some ideas with Woof: a .deb package downloader - you give it a distro, its version, repos to support and this tool downloads the .debs with all their dependencies.
At first, I wrote it with pure ash syntax: it took about an hour to process all the packages.
Yesterday I rewrote it, this time I "converted" the part does all processing and string stuff into Pascal: it's compiled statically with FPC. Then, I saw the dependencies are cut - Pascal has a limit of 255-length strings, so I did a trick: I made the Pascal processing code write the dependencies to a file before any processing. Then, a Perl (a language for messing with files and strings, hehe) script does all the processing.
Now, I can process about 32,000 packages in about 10 seconds.
So ... have you ever considered using static executables in Woof or woof-skeleton? It could speed up PPM and Woof.
Posted on 21 Aug 2010, 16:14 by Iguleder
Output of time
Forgot something important: here's the output of time on the whole deal (downloading the package list, decompressing them and processing them):
This includes downloading the packages, which is rather slow: the "main" Packages.bz2 took about 30 seconds to download.
A PPM that resolves dependencies and downloads Ubuntu repo lists immediately ... yummy.
Posted on 21 Aug 2010, 16:46 by BarryK
Re Fast code
There was another project awhile back, that rewrote my '0setup' Woof script that converts the Ubuntu/Debian package databases into Puppy Standard Format -- written in C. It was blazingly fast.
Hmmm, it was reported on the Puppy Forum but I can't find it. I don't know what happened there, but it's development stopped.
Aah, found it... forum member Wosh created 'ppkg':
...that is good stuff, it slipped off my radar.
Posted on 21 Aug 2010, 21:30 by Iguleder
Barry, I rewrote my whole package downloader project once more, this time in Perl, so I can work on it from both my desktop computer and my netbook. Also, it's more flexible, I can edit the code and execute it without any compilation without a big impact on performance.
I can't say it's fast as the Pascal experiment, but it's definitely close. It's very very fast and portable. The database processing and a script that fetches various fields from it work perfectly. At the moment I'm working on my "1download" equivalent.
Once I get this thing in a good shape, would you like me to write something similar for use with Woof? I can make it write the database in PPM format ... could be useful with both Woof and PPM: it's like libjpeg and libjpeg-turbo, both are 100% compatbile, but the latter is way faster.
Also, you could make PPM use multiple "engines" or "backends", just like Amarok and Mplayer - if you have enough memory, you can use the Perl backend to make it go faster. Otherwise, you can use the good ol' Bash.
(if you wonder why I do this: I'm not trying to make another Woof, I'm just trying to make a script that receives an Ubuntu/Debian version, a list of repos, a list of packages and downloads all the packages plus their dependencies, can be used with another script of mine that turns a bunch of DEBs into a SFS)