StackExtra v23 and SfsExtra v23
StackExtra v23 and SfsExtra v23
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
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 134 times
-
- stackextra_adrv_22.sfs.gz
- gunzip to produce .sfs file
- (12.67 KiB) Downloaded 128 times
Last edited by gyro on Mon 08 Jun 2020, 10:44, edited 3 times in total.
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 Don't laugh. Okay, you can laugh, lol.
lsaufs and lsextra are a must. Simple but very usefull to keep track.
Thanx 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 Don't laugh. Okay, you can laugh, lol.
lsaufs and lsextra are a must. Simple but very usefull to keep track.
Thanx gyro
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".foxpup wrote:Why do you not make a pet of it?
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
StackExtra v23 and SfsExtra v23
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
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 104 times
-
- sfsextra_23.sfs.gz
- gunzip to produce the sfs file
- (12.92 KiB) Downloaded 99 times
Ok, here's some untested pet files:
(The equivalent sfs files have been tested.)
gyro
(The equivalent sfs files have been tested.)
gyro
- Attachments
-
- stackextra-23.pet
- click on it to install
- (13.59 KiB) Downloaded 103 times
-
- sfsextra-23.pet
- clik on it to install
- (13.59 KiB) Downloaded 97 times
Last edited by gyro on Wed 10 Jun 2020, 05:43, edited 2 times in total.
I suspect it will remain "custom" for a while.foxpup wrote:I can imagine it to become a custom part of Puppy build.
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
You mean, behind the scenes? It does less behind the scenes?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.
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.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?
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
Perhaps I should clarify this statement.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.
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
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.
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.