Puppy Linux Blog Archive - Mar 2015

Posts Below
3/22/2015 - Modified version of new2dir for Puppy Linux; and thoughts on Linux package management


   ▲ Top  ▼ Bottom  △ TOC
Modified version of new2dir for Puppy Linux; and thoughts on Linux package management
Sunday, March 22nd, 2015
18:19:45 GMT

new2dir is a wonderfully useful script included with many (all?) Puppy Linuxes, which makes it much easier to create .pet and .sfs files.

The original version of the new2dir script is by Barry Kauler, the creator of Puppy Linux.

The original new2dir and my modified version of new2dir are under the GNU Lesser General Public License, so anyone is allowed to modify them.

Unfortunately, the original new2dir makes my hard disk alarmingly busy, even if the software I'm building is all inside the RAM disk.

So, I made a modified version to solve that problem, at least for myself and anyone who runs Puppy the same way I do - entirely in a RAM disk.

Here's the source code. It's a Bash script:

new2dir with modifications by Apollia

For more information, see this Puppy Linux Discussion Forum thread:

new2dir modified version, imperfect & not thoroughly tested

That, by the way, is the first thing I ever posted to the Puppy Linux Discussion Forum.

I could (and perhaps should) have posted about other Puppy Linux-related stuff I did in the past - but, I had always either been too shy, too busy, too stressed out, or, in some cases, I didn't think my stuff was polished or useful enough.

Anyway, I'm tempted to also post about my Puppy Linux Setup Kit. But, I think I'm going to put that off until I release an update with setup scripts for Lighthouse 64 Puppy Linux 6.02 Beta 2.

My Puppy Linux Setup Kit update will also probably contain stuff related to the next release of Astroblahhh GLMP-GTK and Astroblahhh PH-GTK. I've been working on that lately, because until I finish those, I can't use any of my PHP-GTK software, nor the Eryss astrology software, in LH64.

Actually, I think for the next releases of Astroblahhh GLMP-GTK and Astroblahhh PH-GTK, I'm actually not going to make them into large, combined packages of stuff.

Originally, I made them that way for convenience (and laziness) - just one all-in-one package to download and install. (Astroblahhh GLMP-GTK if you wanted web server+database server-related stuff, and Astroblahhh PH-GTK if you didn't.) But, now, a better way is possible.

My Puppy Linux Setup Kit has some nice, convenient downloader scripts, so, it would probably be better to build a lot of different, separate packages - one for MariaDB, one for PostgreSQL, one for PHP, one for PHP-GTK, etc., and one (or more) for the example scripts, documentation, etc. I bundled with GLMP-GTK and PH-GTK - and then make a bunch of Puppy Setup Kit scripts which will download and install everything in the proper order.

Another, probably even better idea I had was - using the foundation laid by my Puppy Linux Setup Kit, it's now conceivable that I could create some kind of package-building kit, so people could more easily download source code, compile it themselves, and make it into their own .pet and .sfs files.

The package-building kit would provide clear, step-by-step guidance, along with a bit of helpful automation which would do boring things like downloading source code, extracting tarballs, and launching new2dir, dir2pet and mksquashfs.

That would pave the way for people to be able to far more easily build their own possibly customized GLMP-GTK or PH-GTK for whatever Puppy Linux they want, without having to do things as tediously slowly and manually, and without having to wait for me or someone else to do it for them.

Also, it has long bothered me about Linux in general that Linux users are often encouraged to be dependent on package repositories and/or downloading precompiled packages of software for their Linux distro, rather than being more encouraged to download source code and build things themselves.

Even my own Astroblahhh GLMP-GTK and Astroblahhh PH-GTK packages kind of encourage that problem - and so does my Puppy Linux Setup Kit, since it currently mostly downloads .pet and .sfs packages rather than source code - and I'd like to stop encouraging it.

Fortunately, perhaps my not-yet-created package-building kit might be a solution to that problem. It wouldn't be quite as fast and convenient as just downloading a precompiled package, but it would be more educational, give the user the opportunity to customize things themselves more, should be a bit faster than downloading, extracting, and packaging everything manually, and could provide more hand-holding than a source code tarball's README or INSTALL file might.

Having the source code is always better than having precompiled binaries with no source code, for various reasons already explained in this thing I wrote that I so frequently link to: What is free, libre, open source software?

But, until drastically improving my Puppy Linux Setup Kit, I wasn't even able to imagine a convenient, easy way to provide Astroblahhh GLMP-GTK and Astroblahhh PH-GTK without providing precompiled binaries. It seemed so unthinkably difficult originally that I just gave in and provided the precompiled binaries despite my qualms.

Anyway, it will definitely take some work for me to create some package-building scripts, but, thanks to all the work I've already done, going that extra mile doesn't seem like such an overwhelming, intimidating, practically impossible chore anymore.

   ▲ Top  ▼ Bottom  △ TOC