Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Tue 26 Sep 2017, 10:47
All times are UTC - 4
 Forum index » Advanced Topics » Cutting edge
lsrwy, list files in save layer that hide ydrv files
Moderators: Flash, Ian, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 1 [9 Posts]  
Author Message
gyro

Joined: 28 Oct 2008
Posts: 1401
Location: Brisbane, Australia

PostPosted: Thu 27 Apr 2017, 01:20    Post subject:  lsrwy, list files in save layer that hide ydrv files
Subject description: Why doesn't ydrv work?
 

The attached command line utility "lsrwy", lists all the files in the save layer that hide files existing in the ydrv sfs, thus preventing the ydrv from fixing the issue.
In PUPMODE=13, relevant files in both "pup_rw" and "pup_ro1" are listed.

This is a utility meant to support the use of the ydrv as a mechanism for "patching" the puppy...sfs.

Usage:
Exceute the file in a terminal windlw.
The output is displayed on the terminal.

If there is no ydrv, then it shows nothing.

gyro
lsrwy.gz
Description  gunzip to produce script file "lsrwy"
gz

 Download 
Filename  lsrwy.gz 
Filesize  558 Bytes 
Downloaded  38 Time(s) 
Back to top
View user's profile Send private message 
gyro

Joined: 28 Oct 2008
Posts: 1401
Location: Brisbane, Australia

PostPosted: Thu 27 Apr 2017, 01:40    Post subject:  

Example:
Code:
# ./lsrwy
Files in save layer that hide files in [sda4]/puppy/tahr/ydrv_tahr_6.0.6.sfs
Files in /initrd/mnt/dev_save/pups/tahr/tahrsave:
    /etc/rc.d/rc.sysinit
    /root/.sfs_load/sfs_load_alt.conf
#
gyro
Back to top
View user's profile Send private message 
musher0


Joined: 04 Jan 2009
Posts: 10837
Location: Gatineau (Qc), Canada

PostPosted: Thu 27 Apr 2017, 02:27    Post subject:  

Very strange thinking you have there, gyro, IMO.

First of all, the ydrv is not hidden (or any other ?drv for that matter).

And I can list the contents in the simplest possible way by typing in console:
Code:
tree -fish /initrd/pup_y
So why your script? I'm not getting its usefulness.

#3, the ydrv's I created or got from other Puppies always worked on my
recent pups.

Now on the older pups, ydrv is not implemented. So of course it won't
work!!! In that case just create and load a regular sfs file.

BTW, you didn't mention for what Pups your script was for? And your own
originating Puppy of course (the one you wrote your script for). Maybe
that would help solve your issue. (If it is an issue.)

Also the tree utility is not present on older pups. ls is not well suited to
drill down through sub-directories. It can do it if you choose some "convo-
luted" settings, but tree is better and more straightforward for that.

Finally, IIRC, a ydrv is not meant to patch a Puppy. If a Puppy is broken,
you should open up the main sfs and do the repair there. The use of
?drv's is as follows, AFAIK:

adrv: reserved for general programs

fdrv: reserved for add'l file managers and utilities (e.g. archivers)

ydrv: reserved for add'l window managers.

zdrv: this is where the kernel drivers and similar basics go.

BFN

_________________
musher0
~~~~~~~~~~
« La vraie justice serait d'emm...r pelo autant qu'il nous emm...e. » (Moi) /
"True justice would be to annoy pelo as much as him us." (Me)
Back to top
View user's profile Send private message 
mavrothal


Joined: 24 Aug 2009
Posts: 2872

PostPosted: Thu 27 Apr 2017, 23:25    Post subject: Re: lsrwy, list files in save layer that hide ydrv files
Subject description: Why doesn't ydrv work?
 

gyro wrote:
The attached command line utility "lsrwy", lists all the files in the save layer that hide files existing in the ydrv sfs,

Handy.
You might want to add a "case $1 in" on top and expand it for all standard puppy SFSs. Could be useful in version updates too, in case the update script misses important files.

_________________
Kids all over the world go around with an XO laptop. They deserve one puppy (or many) too Very Happy
Back to top
View user's profile Send private message 
gyro

Joined: 28 Oct 2008
Posts: 1401
Location: Brisbane, Australia

PostPosted: Fri 28 Apr 2017, 06:51    Post subject:  

musher0 wrote:
So why your script?
If you do use an sfs (In this example the ydrv), to introduce a different version of a file, somtimes the new version of the file is not seen by the running puppy. This can be because there is a copy of the file in the save layer and this is hiding any such file in the sfs.
This script identifies files in the save layer that are hiding files in the sfs, so it's easy to see if the file you are interested in is one of them.

gyro
Back to top
View user's profile Send private message 
gyro

Joined: 28 Oct 2008
Posts: 1401
Location: Brisbane, Australia

PostPosted: Fri 28 Apr 2017, 07:08    Post subject: Re: lsrwy, list files in save layer that hide ydrv files
Subject description: Why doesn't ydrv work?
 

mavrothal wrote:
You might want to add a "case $1 in" on top and expand it for all standard puppy SFSs. Could be useful in version updates too, in case the update script misses important files.
Yes, it could easily be modified to check against any standard puppy sfs file.
This would be more obvious if the "SFS_DIR" definition were moved up to the top of the script.

I did think of providing a mechanism to specify the sfs, but couldn't decide on the exact form of the specification, so I left it as is.
(I wish we could get used to referring to the puppy...sfs as the pdrv.)

gyro
Back to top
View user's profile Send private message 
nic007


Joined: 13 Nov 2011
Posts: 2176
Location: Cradle of Humankind

PostPosted: Fri 28 Apr 2017, 07:26    Post subject:  

What do you mean by hiding? The ydrv takes preference to the base sfs like the adrv and a savefile. The savefile/folder (if you have one) is at the very top layer as I anderstand it so in that case it will load on top of similar named files that may be in the base sfs or other sfs files (including the adrv and ydrv).
Back to top
View user's profile Send private message 
musher0


Joined: 04 Jan 2009
Posts: 10837
Location: Gatineau (Qc), Canada

PostPosted: Fri 28 Apr 2017, 08:08    Post subject:  

gyro wrote:
musher0 wrote:
So why your script?
If you do use an sfs (In this example the ydrv), to introduce a different version of a file, somtimes the new version of the file is not seen by the running puppy. This can be because there is a copy of the file in the save layer and this is hiding any such file in the sfs.
This script identifies files in the save layer that are hiding files in the sfs, so it's easy to see if the file you are interested in is one of them.

gyro

I see. Thanks for the explanation, gyro.

A couple of things come to mind, here.

My instinct would be to use the remove built-ins script to get the old
version out of the way. Then install a pet of the new version to the
pupsave file and try it out.

If it works and I'm satisfied with it, then I open up the main puppy sfs and
replace the old version of the executable with the new file there -- and
re-squash the main puppy sfs.

Or use a ydrv.sfs. That all depends on how one likes to work to upgrade
his Puppy. That's the nice thing about Puppy: there are various ways to
modify it.

On the subject of comparisons, why not use < diff -r > between the
directories in /initrd?

One last thing: if a new version of anything doesn't work, the ydrv may
have nothing to do with it. It could be that your Puppy is missing a lib
for this new version.

BFN.

_________________
musher0
~~~~~~~~~~
« La vraie justice serait d'emm...r pelo autant qu'il nous emm...e. » (Moi) /
"True justice would be to annoy pelo as much as him us." (Me)
Back to top
View user's profile Send private message 
gyro

Joined: 28 Oct 2008
Posts: 1401
Location: Brisbane, Australia

PostPosted: Sun 30 Apr 2017, 10:34    Post subject:  

nic007 wrote:
What do you mean by hiding?
If there is an old version of a file in the savefolder and a newer version of the same file is introduced in a ydrv, the puppy will continue to use the old version of the file rather than the new version.
The copy of the file in the higher layer (savefolder) "hides" the copy of file in the lower layer (ydrv).

gyro
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 1 of 1 [9 Posts]  
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Cutting edge
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0556s ][ Queries: 14 (0.0039s) ][ GZIP on ]