StackExtra v23 and SfsExtra v23

Under development: PCMCIA, wireless, etc.
Post Reply
Message
Author
gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

StackExtra v23 and SfsExtra v23

#1 Post by gyro »

What is it?

StackExtra is a kind of replacement for 'SFS-Load on-the-fly'.
It can add and delete sfs files, and directories, from a Puppy frugal install.
They can be added above or below the Puppy system sfs files, with an ABOVE list and a BELOW list.
They can reside anywhere on the machine, even on a different partition.
Sfs files in the ABOVE list are copied to RAM, if possible. Directories, and entries in the BELOW list are used in-situ.
The order of each list can be easily modified with an "Up" button.
It stores a "last modified" date/time stamp for each entry, if a file is replaced by one with the same name it will most likely have a different date/time stamp, so it will be checked for any update processing requirement.


Try it?

latest version 23 at http://www.murga-linux.com/puppy/viewto ... 50#1060350.

I have attached 'stackextra_22.sfs':
This sfs is meant to be added as an Extra sfs using 'SFS-Load on-the-fly'.
This should add 'StackExtra SFS/Directory loader' to the 'Setup' menu, beside 'SFS-Load on-the-fly'. It may become confusing, having 2 usilities for managing Extra sfs files.
Another limitation with using this install file, is that if you click on an sfs file, this will still be handled by 'SFS-Load on-the-fly'.
Using this install file is not recommended for continual use.

I have attached 'stackextra_adrv_22.sfs':
This sfs is meant to replace the adrv...sfs.
This replaces 'SFS-Load on-the-fly' with 'StackExtra SFS/Directory loader'.
Now, if you click on an sfs file, it is handled by 'StackExtra SFS/Directory loader'.
The loading of Extra sfs files during boot is also more efficient.
Using this install file is the recommended way of using 'StackExtra'.

If you want to keep your current adrv...sfs, then rename it before installing 'StackExtra', and then add it to the bottom of the 'StackExtra' ABOVE list.


Why?

This is partly in response to messages on the forum about adding bdrv, cdrv etc, these suggest that having only the adrv and the ydrv as sfs's loaded above the puppy...sfs, is too restrictive.
StackExtra supports the definition of many sfs files in it's ABOVE list, all of which get loaded above the puppy...sfs.

It is also a kind of "porting" of 'MI Extra SFS List manager' to the aufs environment of "normal" Puppy.

StackExtra also extends the current boundries of Puppy stack support by including the ability to use a directory instead of an sfs file.
After all, aufs (or overlayfs) stacks are stacks of directories, not sfs files. It's just that in Puppy, we normally use the mount-points of sfs files as those directories.
This theoretically opens the possibility of being able to specify archive files as "read-only" layers in the stack, they would be extracted into "/tmp/some-dir" and this directory added to the stack.
(I have no idea if this would be useful.)

The BELOW list is simply there to provide the Extra SFS facilities we are used to.


Note on version number:
As with all utilities that emerge from my "mio" project, the version number has no particular meaning, it is just an integer that gets bigger, and it is shared by all.
22 is simply the current "mio" version.

gyro
Attachments
stackextra_22.sfs.gz
gunzip to produce .sfs file
(12.76 KiB) Downloaded 120 times
stackextra_adrv_22.sfs.gz
gunzip to produce .sfs file
(12.67 KiB) Downloaded 114 times
Last edited by gyro on Mon 08 Jun 2020, 10:44, edited 3 times in total.

gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

#2 Post by gyro »

I forgot to mention that the package includes 2 CLI utilities.

'lsaufs':
Lists the layout of the current stack as seen by "aufs" itself.

'lsextra':
Lists the entries in the "StackExtra" ABOVE and BELOW lists, if they exist.

gyro

foxpup
Posts: 1132
Joined: Fri 29 Jul 2016, 21:08

#3 Post by foxpup »

Hi gyro

Looks like a really good idea.
You often have good ideas.
I have not yet really tested/checked, but I will.
I will be playing with it for some time.
It is kind of educational tool to learn about layering.

Why do you not make a pet of it?
Certainly for the 'permanent' version this seems logical to me.
I can imagine it to become a custom part of Puppy build.

I am playing with it in 'oldstyle' Easypup from Barry.
Easypup does not have a menuentry for sfs-load.
I don't think it has load-on-the-fly.
In the boot manager you can select the sfs you want to load at bootup, and then you have to reboot.
So even the second version of StackExtra stands next to the original sfs-load-by-boot-manager.
Easypup does not have adrv.sfs either.
This of all Puppys is the first Puppy I try it on :shock: Don't laugh. Okay, you can laugh, lol.

lsaufs and lsextra are a must. Simple but very usefull to keep track.

Thanx gyro

gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

#4 Post by gyro »

foxpup wrote:Why do you not make a pet of it?
I try to avoid pet's it I can, because once something is in the save-layer, it can only be "patched" by overwriting it, whereas an sfs can be "patched" with another sfs and then easily "unpatched".
See the issue that FrugalPup has with Bionicpup64, because it's update mechanism writes into the save-layer.
But I will think about it.

Oh, thanks for the kind words.

gyro

gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

StackExtra v23 and SfsExtra v23

#5 Post by gyro »

I have attached 'stackextra_23.sfs':

1. If this single sfs is loaded above the 'puppy...sfs', i.e. as an adrv...sfs, it replaces 'SFS-Load on-the-fly'.
If it is loaded as an extra sfs with 'SFS-Load on-the-fly' it's an extra utility.

2. It's more reliable, using 'busybox mount' on the aufs stack, rather than 'mount'.
I found an odd situation where 'mount' failed but 'busybox mount' worked, when remounting the aufs stack.

I have attached 'sfsextra_23.sfs':

1. 'SfsExtra' is a different front-end of the same code, that unlike 'StackExtra', supports adding only sfs files to the stack, not directories.
So it's a bit more like 'SFS-Load on-the-fly'.

Usage:

Download either 'stackextra_23.sfs' or 'sfsextra_23.sfs', and load it.
If you download both, there is no point in loading both at the same time, the one that is higher in the stack will simply "coever" the lower one.

gyro
Attachments
stackextra_23.sfs.gz
gunzip to produce the sfs file
(12.93 KiB) Downloaded 92 times
sfsextra_23.sfs.gz
gunzip to produce the sfs file
(12.92 KiB) Downloaded 90 times

gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

#6 Post by gyro »

Ok, here's some untested pet files:
(The equivalent sfs files have been tested.)

gyro
Attachments
stackextra-23.pet
click on it to install
(13.59 KiB) Downloaded 91 times
sfsextra-23.pet
clik on it to install
(13.59 KiB) Downloaded 87 times
Last edited by gyro on Wed 10 Jun 2020, 05:43, edited 2 times in total.

gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

#7 Post by gyro »

foxpup wrote:I can imagine it to become a custom part of Puppy build.
I suspect it will remain "custom" for a while.
While I think that this is a useful direction for Puppy sfs handling into the future, "SfsExtra" does not do all the things that 'SFS-Load on-the-fly' does, so it cannot be used as direct replacement in Woof-CE.

gyro

foxpup
Posts: 1132
Joined: Fri 29 Jul 2016, 21:08

#8 Post by foxpup »

gyro wrote:While I think that this is a useful direction for Puppy sfs handling into the future, "SfsExtra" does not do all the things that 'SFS-Load on-the-fly' does, so it cannot be used as direct replacement in Woof-CE.
You mean, behind the scenes? It does less behind the scenes?
An example? (that I can understand :) )
For the user it looks like it is doing more than sfs-load in-the-fly.
Am I overlooking something?

gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

#9 Post by gyro »

foxpup wrote:You mean, behind the scenes? It does less behind the scenes?
An example? (that I can understand :) )
For the user it looks like it is doing more than sfs-load in-the-fly.
Am I overlooking something?
Yes.
It offers more in what I would call the "core" of the process, but there are other things it doesn't do.

The obvious one is that it does not offer to execute the applications in the sfs based on the ".desktop" files it has found in the sfs.

gyro

gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

#10 Post by gyro »

gyro wrote:While I think that this is a useful direction for Puppy sfs handling into the future, "SfsExtra" does not do all the things that 'SFS-Load on-the-fly' does, so it cannot be used as direct replacement in Woof-CE.
Perhaps I should clarify this statement.

I do think that "StackExtra" or "SfsExtra", is suitable for use instead of 'SFS-Load on-the-fly'.

I don't think that the 'SFS-Load on-the-fly' in Woof-CE could be directly replaced with "SfsExtra" without a significant push back from the fourm, on the grounds that valued "facilities" are being taken away.

gyro

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#11 Post by rockedge »

Idea looks extremely familiar to me.

I am already using this feature in another Distro and I will examine the code provided here.

It looks like spaghetti code. Feels like a hack on a patch to force a fit.

Testing it out all day today to see if it gives my Puppy's an edge. Although like I mentioned , I am regularly using a operating system that does all this already.

Post Reply