Savefolder without 'mount -o bind' - works

Under development: PCMCIA, wireless, etc.
Message
Author
User avatar
peebee
Posts: 4370
Joined: Sun 21 Sep 2008, 12:31
Location: Worcestershire, UK
Contact:

Problem with mechanism to make savefolder names unique

#101 Post by peebee »

Reporting this here as it affects both TahrPup6.0 and Slacko5.9.3

Scenario:

boot pfix=ram
reboot and create savefolder with extra id

boot pfix=ram again
reboot and create savefolder with the same extra id

get pink warning that savefolder will have -1 appended to make it unique

however during shutdown get short flash of message that the savefolder minus the appended -1 is being used

the savefolder with appended -1 is created but is empty after the reboot

if the empty savefolder is subsequently chosen then chaos breaks out as it is empty
ImageLxPup = Puppy + LXDE
Main version used daily: LxPupSc; Assembler of UPups, ScPup & ScPup64, LxPup, LxPupSc & LxPupSc64

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

Re: Problem with mechanism to make savefolder names unique

#102 Post by mavrothal »

peebee wrote:Reporting this here as it affects both TahrPup6.0 and Slacko5.9.3

Scenario:

boot pfix=ram
reboot and create savefolder with extra id
Looks like a shutdownconfig issue.
Do you know if the extra id is needed for the folder to be empty?
ie do you see the same with the default names?
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

User avatar
peebee
Posts: 4370
Joined: Sun 21 Sep 2008, 12:31
Location: Worcestershire, UK
Contact:

Re: Problem with mechanism to make savefolder names unique

#103 Post by peebee »

mavrothal wrote:
peebee wrote:Reporting this here as it affects both TahrPup6.0 and Slacko5.9.3

Scenario:

boot pfix=ram
reboot and create savefolder with extra id
Looks like a shutdownconfig issue.
Do you know if the extra id is needed for the folder to be empty?
ie do you see the same with the default names?
Same problem with default names (no extra id) - tested on Slacko5.9.3 - the savefolder slackosave-1 is created after the pink warning but not written to
ImageLxPup = Puppy + LXDE
Main version used daily: LxPupSc; Assembler of UPups, ScPup & ScPup64, LxPup, LxPupSc & LxPupSc64

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

Re: Problem with mechanism to make savefolder names unique

#104 Post by mavrothal »

peebee wrote: Same problem with default names (no extra id) - tested on Slacko5.9.3 - the savefolder slackosave-1 is created after the pink warning but not written to
A fast check suggests that $PUPSAVE is created before the $SAVEFILE and $NAMEONLY are modified because of the name clash so although these variables have the correct name with the added id the, $PUPSAVE which actually determines where the saving will happen does not.
So the data are going into the previous savedirectory.
This is certainly a problem with the modification of shutdownconfig to adopt savedirectory and is not related to the actually method of savedirectory (bind or link).
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

Re: Problem with mechanism to make savefolder names unique

#105 Post by mavrothal »

mavrothal wrote: A fast check suggests that $PUPSAVE is created before the $SAVEFILE and $NAMEONLY are modified because of the name clash so although these variables have the correct name with the added id the, $PUPSAVE which actually determines where the saving will happen does not.
So the data are going into the previous savedirectory.
This is certainly a problem with the modification of shutdownconfig to adopt savedirectory and is not related to the actually method of savedirectory (bind or link).
So here is a fix that works for me.

Code: Select all

--- a/usr/sbin/shutdownconfig	2014-11-03 07:03:30.736671557 +0200
+++ a/usr/sbin/shutdownconfig	2014-11-04 06:28:00.323333195 +0200
@@ -874,10 +874,10 @@
 echo "PUPMODE=${PUPMODE}
 SAVEPART='${SAVEPART}'
 SAVEFS='${SAVEFS}'
-PUPSAVE='${PUPSAVE}'
 SAVEFILE='${SAVEFILE}'
 NAMEONLY='${NAMEONLY}'
 SAVEPATH='${SAVEPATH}'
+PUPSAVE='${SAVEPART},${SAVEFS},${SAVEFILE}'
 MYPASSWORD='${MYPASSWORD}'
 SFEXT='${SFEXT}'
 xPDEV='${xPDEV}'
Please test, either by patching or using the attached pet
Attachments
shutdownconfig_fix.pet
fixes empty save file/folder after name clash
(13.47 KiB) Downloaded 303 times
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

User avatar
peebee
Posts: 4370
Joined: Sun 21 Sep 2008, 12:31
Location: Worcestershire, UK
Contact:

Re: Problem with mechanism to make savefolder names unique

#106 Post by peebee »

mavrothal wrote:Please test, either by patching or using the attached pet
Thanks Mav - all AOK in my tests
Cheers
peebee
ImageLxPup = Puppy + LXDE
Main version used daily: LxPupSc; Assembler of UPups, ScPup & ScPup64, LxPup, LxPupSc & LxPupSc64

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

Re: Problem with mechanism to make savefolder names unique

#107 Post by gyro »

mavrothal wrote:Please test, either by patching or using the attached pet
Works fine on patched TahrPup 6.0.
I just tried using the default name a second time. It found the duplicate, said it was going to use a modified name, and did.

gyro

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#108 Post by mavrothal »

Thanks peebee, gyro
Committed
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#109 Post by mavrothal »

Now available for Puppy 5.2.8 :!: :D
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

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

#110 Post by gyro »

Last edited by gyro on Sun 22 May 2016, 01:56, edited 1 time in total.

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

#111 Post by gyro »

Updated packages are now available for:

Slacko 5.7
http://www.fishprogs.software/puppy/slacko/initrd.gz
http://www.fishprogs.software/puppy/sla ... ko_5.7.sfs

Dpup Squeeze 5.X.3.4.12
http://www.fishprogs.software/puppy/squeeze/initrd.gz
http://www.fishprogs.software/puppy/squ ... 3.4.12.sfs

Dpup Squeeze 5.X.3.6.2.1
http://www.fishprogs.software/puppy/squeeze36/initrd.gz
http://www.fishprogs.software/puppy/squ ... .6.2.1.sfs

In each case:
1) Download both files.
2) Rename current 'initrd.gz' as a backup.
3) Move both downloaded files into directory containing the frugal install.
4) Reboot.

Note: As for the 'raring' implementation, the 'squeeze' zdrv acts like a ydrv.

gyro
Last edited by gyro on Sun 22 May 2016, 01:58, edited 1 time in total.

User avatar
rg66
Posts: 1158
Joined: Mon 23 Jul 2012, 05:53
Location: Vancouver, BC Canada / Entebbe, Uganda Africa!?!

#112 Post by rg66 »

Thanks gyro!
X-slacko-5b1 - X-tahr-2.0 - X-precise-2.4
[url=http://smokey01.com/rg66/]X-series repo[/url]


User avatar
Marv
Posts: 1264
Joined: Wed 04 May 2005, 13:47
Location: SW Wisconsin

pupmode 13 saves

#114 Post by Marv »

Testing in X-slacko-2.2.1n. Frugal install to CF card, pmedia=ATAFLASH, PUPMODE=13. The appearance of the 'save' dialog or not on shutdown does not track the RAMSAVEINTERVAL set in Puppy Event Manager and saved in /etc/eventmanager. Normal behavior would be that setting 0 would result in the dialog, anything else just a straight save with no dialog.

Looking at rc.shutdown, a variable ASKTOSAVE is present but not set. I added the following code at line 99 and the above behavior is obtained. May be a cleaner way to do this, just a suggestion.

Code: Select all

if [ $RAMSAVEINTERVAL = 0 ] ; then  #141118, Marv
  ASKTOSAVE=true
else
  ASKTOSAVE=false
fi
Pups currently in kennel :D Older LxPupSc and X-slacko-4.4 for my users; LxPupSc, LxPupSc64 and upupEF for me. All good pups indeed, and all running savefiles for look'n'feel only. Browsers, etc. solely from SFS.

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

Re: pupmode 13 saves

#115 Post by mavrothal »

Marv wrote: Looking at rc.shutdown, a variable ASKTOSAVE is present but not set.
Not in X-slacko currently but in Tahr/Slacko6 the ASKTOSAVE variable is set from the eventmanager > Save Session tab.
As soon as "Save interval" is set to "0" an 'ask to save' checkbox appears.
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

User avatar
Marv
Posts: 1264
Joined: Wed 04 May 2005, 13:47
Location: SW Wisconsin

Re: pupmode 13 saves

#116 Post by Marv »

mavrothal wrote:
Marv wrote: Looking at rc.shutdown, a variable ASKTOSAVE is present but not set.
Not in X-slacko currently but in Tahr/Slacko6 the ASKTOSAVE variable is set from the eventmanager > Save Session tab.
As soon as "Save interval" is set to "0" an 'ask to save' checkbox appears.
Thanks, that makes sense. For now I'll export it (set to false) from /etc/profile.local in X-slacko leaving rc.shutdown untouched.
Pups currently in kennel :D Older LxPupSc and X-slacko-4.4 for my users; LxPupSc, LxPupSc64 and upupEF for me. All good pups indeed, and all running savefiles for look'n'feel only. Browsers, etc. solely from SFS.

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

snapmergepuppy for Dpup Wheezy 3.5.2.11

#117 Post by gyro »

I've done more testing of pupmode=13 in Wheezy 3.5.2.11, and have come up with 2 suggestions for extra patches for 'snapmergepuppy'.

Patch to tidy up symbolic link stuff:

Code: Select all

--- snapmergepuppy.orig	2014-10-06 18:01:55.000000000 +1000
+++ snapmergepuppy	2014-11-24 04:36:28.138255092 +1000
@@ -62,6 +62,7 @@
 
 if [ -L $BASE ]; then #we have savefolder based on symbolic links
  BASEMTP="/initrd${PUP_HOME}"
+ BASE="`readlink -n -m $BASE`"
 else
  BASEMTP="$BASE"
 fi
This is just an efficiency thing, since $BASE is used a lot in the following code, decode the link once here so the system doesn't have to do it lots of times later. I've no idea if it makes any significant difference.

Patch to fix saving of '/dev':

Code: Select all

--- snapmergepuppy.orig	2014-11-27 03:29:05.466244219 +1000
+++ snapmergepuppy	2014-11-27 03:17:33.000000000 +1000
@@ -143,6 +143,8 @@
 while read N
 do
 
+ [ "${N%%/*}" = "dev" ] && [ "${N:4:3}" = "tty" ] && continue
+
  #v4.01 graceful exit if shutdown X (see /usr/X11R7/bin/restartwm,wmreboot,wmpoweroff)...
  [ "$XRUNNING" = "yes" ] && [ -f /tmp/wmexitmode.txt ] && exit
 
This causes 'snapmergepuppy' to ignore '/dev/tty*'.
This should probably be done by modifying the 'find' line.
In Dpup Wheezy 3.5.2.11 with a savefolder using symbolic links, the partition was not unmounted cleanly. Omitting '/dev/tty*' from the file copy in 'snapmergepuppy' produced a clean unmount.
This does not make any sense to me. I fail to discern the connection. But it seems to work this way.
Interestingly Wheezy didn't seem to mind if I omitted '/dev' altogether.
Edit: Adding "|^dev/tty" to the list of exceptions on the first 'grep' on the 'find' line works, and is a neater solution.

Note: TahrPup 6.0 does not have this problem.

Since I'm already modifying 'init', I add an 'e2fsck' command in 'mnt_fnc', in my puppies.

gyro

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

#118 Post by gyro »

Last edited by gyro on Sun 22 May 2016, 02:03, edited 1 time in total.

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

patch 'snapmergepuppy' to omit '/dev/tty*'

#119 Post by gyro »

Just in case it is useful to somebody, I have atached the real patch file for Dpup Wheezy's 'snapmergrepuppy' to omit '/dev/tty*' from the list of files to copy.
(It doesn't look very clear in the forum as "code" because the long lines wrap.)

gyro
Attachments
snapmergepuppy.devfix.diff.gz
'gunzip' it to produce the .diff file.
(546 Bytes) Downloaded 412 times

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

Slacko64 5.9.1

#120 Post by gyro »

Last edited by gyro on Sun 22 May 2016, 02:03, edited 1 time in total.

Post Reply