Updating a save-file

I have been away from home for a couple of days, back now and will get back onto Puppy development.

I have started to look at the code for updating a save-file when you upgrade a Puppy version.

I have been going through /etc/rc.d/rc.update, however I need feedback on what I need to look out for. If anyone reading this has a specific issue that they experienced when updating a save-file, let me know. Or, if you know where some reports have been posted in the Forum, kindly post those links.


Posted on 21 Jan 2011, 8:35


Comments:

Posted on 21 Jan 2011, 8:42 by Jemimah
hardcoded version numbers
You've got version numbers in rc.update that cause probelms if someone remasters the distro and starts over on the numbering.

ie: if [ $OLDPVERSION -lt 201 ];then ...

It's not a specific problem with upgrading, but still something to be aware of.




Posted on 21 Jan 2011, 12:50 by bigpup
testing in Lucid 5.2 development
Upgrade a save file was tested in development of Lucid 5.2. In general programs will work, partially work,have odd problems,settings would not stay set. your mileage will very. Etc....

A discussion was started here in the development of Lucid 5.2
http://www.murga-linux.com/puppy/viewtopic.php?p=484425#484425


Posted on 21 Jan 2011, 18:38 by gjuhasz
A few issues
I always use my previous save file at upgrading. A few issues I noticed are the following (independent from which Puppy/derivative I upgrade):
1. Desktop settings partly survive the upgrade.
1a) Iconset OK, apps added OK, but the new version's icons (at their default positions) appear. E.g., I don't use the mailing feature so I always delete the mail icon, which resurrects after version upgrade.
1b) The rest of icon positions, except drive icons that I shifted upwards by editing /etc/eventmanager, are reset. E.g., I move the lock/zip/trash icons to the bottom right to make place for weather widget. After puppy version upgrade, they appear behind the weather widget.
The above can be solved if I restore /root/Choices/Rox-Filer/PuppyPin from the versionupgrade folder.
2. The proprietary nvidia driver must always be reinstalled. For some reason, in spite of the nvidia driver seems to be OK after puppy version upgrade, it crashes if I visit the glx page of nvidia-settings. Also, glxgears crashes. Thus, after puppy upgrade,I always reinstall nvidia to give glx a go.
3. Some apps that I have added as pet to the old version can be included in the new one or have alternative(s) for that. I could be useful to list the concurrent packages and ask whether the user wants to uninstall the pet.
4. From my dreams :) Let's say, I have removed a built-in package from the old version. It would be nice to offer excluding the same package from the upgraded version.


Posted on 21 Jan 2011, 21:29 by dogle
Saving out of PUPMODE 77
It seems inordinately difficult to convey settings etc. accumulated under PUPMODE 77 to another installation running in, say, PUPMODE 12.
http://www.murga-linux.com/puppy/viewtopic.php?t=63930
is the latest of a long line of threads which thus far have failed to resolve the issue.
Is it possible to introduce the 'save to file' option when closing a session running in PUPMODE 77, or is there an insurmountable technical obstacle (e.g. can't touch me, I'm part of the Union fs)?
(The absence of the save to file option here appears to be the one longstanding big stumbling block in Puppy's otherwise sublime flexibility).


Posted on 21 Jan 2011, 24:27 by Terryphi
Locale lost on upgrade
When upgrading to a new version using a save file from an earlier version the locale is overwritten to your default. Annoying!


Posted on 22 Jan 2011, 2:06 by bigpup
posts
http://www.murga-linux.com/puppy/viewtopic.php?p=483369#483369
http://www.murga-linux.com/puppy/viewtopic.php?p=484765#484765



Posted on 22 Jan 2011, 8:32 by BarryK
PUPMODE 77 to 12
dogle,
You can probably do it manually. If you open /etc/rc.d/PUPSTATE in a text editor (while running with PUPMODE 77) and change the PUPMODE line to:

PUPMODE=5

Then at shutdown it will offer to save the session to a file.



Posted on 22 Jan 2011, 8:11 by BarryK
Version upgrade improvements
Thanks for the feedback guys. I have made some changes, which will be in the next build of Wary.



Posted on 22 Jan 2011, 9:59 by starhawk
Help w/ Woof, plz...
Greetings to Mr. Kauler! Sir, I really enjoy Puppy, and I'm trying to make a custom puplet with Woof. I'm having some troubles with the GUI setup and I'm too bloody stupid to use scripts (please pardon, I was raised on Windows). I've got a thread up in the Puppy forum but I'm not getting much help. It's here: http://www.murga-linux.com/puppy/viewtopic.php?t=64126

I don't suppose you could drop by and help me out a bit if you have the time?

Thanks!


Posted on 22 Jan 2011, 12:47 by bigpup
Version upgrade improvements
Any chance of a pet that could make these changes to current versions of Puppy Linux?


Posted on 22 Jan 2011, 15:12 by BarryK
Re current
bigpup,
No, because there are changes in the 'init' script in the initrd.gz file. A new release of Puppy is required.



Posted on 23 Jan 2011, 21:46 by Q5sys
LighthousePup
I'm not sure exactly how TazOC has done it, but I know the last 5 or so versions of LHP have incorperated updating save files. Seems to work pretty seemlessly now.


Posted on 24 Jan 2011, 6:24 by dogle
PUPMODE 77 to12
Thanks, editing to PUPMODE=5 enables 'save to file' but unfortunately corruption seems to occur somewhere in the saving process,so a practical escape route from PUPMODE 77 saving-wise still remains elusive. Reports in the thread
http://murga-linux.com/puppy/viewtopic.php?t=63930&start=17


Posted on 25 Oct 2012, 8:56 by InTheDogHouse
rc.update logic issues
Issue: save file puppypin entries superseded by original .sfs entries.
Solution: change sort -u to sort -ur so newer entries with same executable will be retained and older entries will be dropped.

Issue: puppypin entries with x,y coordinates, e.g., 55_32 are partial matching (grep) to other entries, e.g., 55_320, causing desktop icons to be moved when not called for.
Solution: change XYLOG="$XYLOG $ONEXY" to
XYLOG="$XYLOG $ONEXY " (appended one space char), and
change grep "$ONEXY" to grep " $ONEXY " (for exact matching)

This solved all my problems! Love Puppy Linux! Many thanx