Upgrade / Migration tool

What features/apps/bugfixes needed in a future Puppy
Message
Author
p310don
Posts: 1492
Joined: Tue 19 May 2009, 23:11
Location: Brisbane, Australia

Upgrade / Migration tool

#1 Post by p310don »

Hi,

I've seen this asked on the forum, and its something that I think would be very handy if it could be made to work.

With the high level of friskyness in the kennels, with lots of puppies coming out all the time, it might be handy to have a tool that looks in an old save file, and sets the new system up with the old stuff.

EG

If I'm running lupu 5.28 but want to upgrade to slacko 5.31, I have to basically start again with all my personalisations, including browser bookmarks, email settings, passwords etc. It could go further to copy the resolution, desktop background, file associations etc.

For me personally, I like the idea of upgrading my puppy, but the sheer number of additions / alterations I have made, and the fact that it works fine anyway, makes me less inclined to bother. If a tool existed that analysed my save file, extracts data about what programs I have installed, which browser I use, that browser's bookmarks, my email etc, and then updates that information into the new save file being created in the new puppy, that'd be really cool, and handy.

Any takers??

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#2 Post by amigo »

I'm not aware of anyone being able to upgrade from any given version of Puppy to another -programmatically for sure. The idea that some program could be written which would do this for a variety of versions is pretty far-fetched.

User avatar
darkcity
Posts: 2534
Joined: Sun 23 May 2010, 19:16
Location: near here
Contact:

#3 Post by darkcity »

the idea of a program to do this is not unrealistic, but it would require a lot of effort, maybe not the most interesting project for someone-

I starting point could be people listing what they do when they set up from fresh install.

For example determining what browser are installed and loading the pets into fresh install would be fairly simple.
:arrow:

nooby
Posts: 10369
Joined: Sun 29 Jun 2008, 19:05
Location: SwedenEurope

#4 Post by nooby »

I have a poor memory but at least two guys have mention to me
in threads that they have tried something similar.

They use frugal install and they place as much as possible on /mnt/home
instead in the save file.

That way they can reuse what is installed without having to start anew.

They do sym linking from /mnt/home to root on the new version.

I tested to do this with only two programs. Firefox and the email client
Sylpheed or what the name is. It worked well for many but if the kernel
where different then it could need libs that one had to load down and add manually???

Beem maybe where one of these that set it up like that.

As others have already told you. To upgrade from one to another only
work within same version. Lupu 511 to lupu 513 or 525 to 528 and
even this can fail.

So that is why Beem and many others has come up with that work around
to place almost all programs on /mnt/home and then symlink to the new version.

So their save file is very small only having such things as local time and keyboard for the country one live in and maybe wall paper and such.

One need to do some compromises but when it work it is a bless.

Try to use the search link in my sig and test with different key words
that may find these descriptions.

Another way is to make as much use of .SFS as possible that way
many of these but not all can be reused almost instantly Load SFS on the Fly as they name it.
I use Google Search on Puppy Forum
not an ideal solution though

p310don
Posts: 1492
Joined: Tue 19 May 2009, 23:11
Location: Brisbane, Australia

#5 Post by p310don »

Amigo said
I'm not aware of anyone being able to upgrade from any given version of Puppy to another -programmatically for sure. The idea that some program could be written which would do this for a variety of versions is pretty far-fetched.
You're right, you can't update Lucid Puppy to Slacko Puppy, the programs aren't compiled the same, but are compatible. That's why this tool would be great. And it is possible.

Following from what Nooby has mentioned. And using firefox as an example and starting point. My idea of a tool would see that you are using firefox, so would download that for you, in the new version of puppy you are using, then copy the settings found at /root/.mozilla from the old to the new. That will work easily enough.

The same could be done with the other useful programs you might use regularly, eg email, pnethood perhaps, your local network settings etc

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#6 Post by musher0 »

As a development on nooby's thoughts:

you can also move your "my-documents" and "my-applications" folders to /mnt/home and symlink them back at the proper place in the new puppy.

You can also do this for the entire /usr/share directory: move it to /mnt/home and symlink it back to the proper place.

From the above, at least move /usr/share/backgrounds and /usr/share/fonts to /mnt/home and symlink them back in place.

I don't think it is possible for the bin and lib directories: you probably would end with a great big mix-up and it would make your new puppy unusable.

This works fine, however, I've tried it: you can selectively make a tar file of the /root/.config and the /root/Choices folders and any other configuration files in /root for programs you like, such as .bashrc, .Xdefaults, all the gtk*, etc. On your new puppy, you can then unpack these configurations into place. This will save you a lot of time instead of reconfiguring every program in your new puppy.

Good luck!
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

p310don
Posts: 1492
Joined: Tue 19 May 2009, 23:11
Location: Brisbane, Australia

#7 Post by p310don »

you can also move your "my-documents" and "my-applications" folders to /mnt/home and symlink them back at the proper place in the new puppy.

You can also do this for the entire /usr/share directory: move it to /mnt/home and symlink it back to the proper place.

From the above, at least move /usr/share/backgrounds and /usr/share/fonts to /mnt/home and symlink them back in place.

I know how to do this, I've also done it. But, my point, and the tool that I'm suggesting, would do this automatically.

You can find the question across this forum, and non puppy forums, about how to setup things like they were in the past.

Skipping the /mnt/home and symlink step, if you had the old save file.sfs you could click on it, mounting it, finding the settings you want, and then copy them to the new save file. For most programs, this will work fine as they are only config files, not program files. This is basically what musher0 is describing, in a roundabout way.

Now, for a total noob, this process is probably a little daunting, which is where my thought process is. A tool to help the total noobs.

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#8 Post by musher0 »

Hello, p310don.

Sorry for my "roundabout" way, English is not my first language.

Would a command line script gathering all the configs of a previous puppy into a tar file be the answer ? Then of course you'd have a counterpart in the new puppy to unpack the same configs.

That shouldn't be too difficult to do.

BFN.
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

#9 Post by sc0ttman »

Not read the thread, just the first post...

As far as I see it, the only way to retain settings and data across different puppies is to have the same applications installed on those different puppies, and to migrate the noarch stuff, like config files, bookmarks, etc...

Many puppy users already know the simple trick of moving and replacing ~/.mozilla/ with a symlink to /mnt/whatever/.mozilla/, thus retaining firefox/seamonkey settings through different puppies...

Barry is looking into something similar for email clients at the moment.

I think, if anyone wants to take it up, a program that automatically searches for installed programs (firefox, seamonkey, claws-mail, sylpheed, opera, etc, etc, etc) and then moves all possible settings, data, etc to a mounted drive, and then sets up the required symlinks and so on...

You would not be 'migrating' anything other than the (mostly) XML, JS, etc files that these applications use to get setup/retain settings... The start point would be merely gathering a list of supported programs, and the location(s) of its 'keepable' files...
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

User avatar
RSH
Posts: 2397
Joined: Mon 05 Sep 2011, 14:21
Location: Germany

#10 Post by RSH »

Maybe the attached script can be a first step?

Unzip the .tar.gz. Copy run-backup-settings and run-bs-list to /root.

run-bs-list contains list of directories to backup (.tar.gz will be created in /root).
Type into this list all directories you wish to backup and save the list.

Execute run-backup-settings.

All directories should appear as OrigDirName .tar.gz in /root

EDIT: Script removed! There is now Version 0.6 a few posts below!
Last edited by RSH on Tue 06 Mar 2012, 04:50, edited 1 time in total.
[b][url=http://lazy-puppy.weebly.com]LazY Puppy[/url][/b]
[b][url=http://rshs-dna.weebly.com]RSH's DNA[/url][/b]
[url=http://murga-linux.com/puppy/viewtopic.php?t=91422][b]SARA B.[/b][/url]

User avatar
RSH
Posts: 2397
Joined: Mon 05 Sep 2011, 14:21
Location: Germany

#11 Post by RSH »

Added a simple GUI to enter a new path to save the Backups (.tar.gz) on another place instead of /root.

Menu Entry in Utility.

EDIT: Removed! There is now Version 0.6 a few posts below!
Last edited by RSH on Tue 06 Mar 2012, 04:51, edited 2 times in total.
[b][url=http://lazy-puppy.weebly.com]LazY Puppy[/url][/b]
[b][url=http://rshs-dna.weebly.com]RSH's DNA[/url][/b]
[url=http://murga-linux.com/puppy/viewtopic.php?t=91422][b]SARA B.[/b][/url]

p310don
Posts: 1492
Joined: Tue 19 May 2009, 23:11
Location: Brisbane, Australia

#12 Post by p310don »

Hi everyone again,

Thanks for the replies. I'm glad some of you are getting my meaning, and offering suggestions. Awesome.

musher0 - roundabout isn't something to be sorry about, just saying that we are basically saying the same thing. Good to know we somewhat think alike!

Yes, a script is a good starting point, and it looks like RSH is onto that already.

sc0ttman - you're spot on, only the xml etc files need to be copied for the settings.

RSH - You're a champ. Already putting something together. The script makes a tar.gz of what it's meant to, which is good. Your gui however, didn't work for me. I changed it to /mnt/home but it didn't create anything there for me.
Can you make your script look into an unused save file, rather than the currently used /root directory? My idea being, start a brand new puppy with a bare save file, then maybe drag your old save file into the gui, or type in the location, which then runs the script, almost as it is, but copies the settings from the old save file. Then, unpack the .tar.gz into the new save file, thus copying the settings.

That would be a great start. Further into development, perhaps it could look at what you have installed, via PPM, then offer to download the same programs, and then copy the config files from the old to the new save file.

Again using browser as an example....

Start a new "virgin" puppy. Run the update/backup/migrate tool. Tell it where your old save file is. It will say
I see you have Firefox as your web browser before. Do you want me to install the latest Firefox for you in Puppy 6 and set it up with your bookmarks and settings? yes / no?
The you type yes, and it downloads and installs FF, and copies the /root/.mozilla from the old to the new.

User avatar
RSH
Posts: 2397
Joined: Mon 05 Sep 2011, 14:21
Location: Germany

#13 Post by RSH »

The script makes a tar.gz of what it's meant to, which is good. Your gui however, didn't work for me. I changed it to /mnt/home but it didn't create anything there for me.
The app must run from directory /root. Only this works actually. :!:

Edit: previous version did had a bug - sorry for that. :oops:

I added a simple text editor to edit the backup list easily. :)
Can you make your script look into an unused save file, rather than the currently used /root directory?
You can do this actually by yourself - should work: :)

Mount the wanted savefile and then edit the file "run-bs-list" with path's to the mounted savefile - example: /mnt/+mnt+sda1+mounted-savefile.2fs/usr/local/lib/X11/pixmaps to get the pixmaps from there. :)

Should also work with mounted sfs files. :)
Try this and do report please.

NOTE: before installing backup-settings-0.1 remove previous installed files from /root.

Next Version does support different xxx-bs-list files. :)

At anything else...

...we wil see. Please make suggestions and if possible test, code and report on this.

Edit: if you want to grab out especially applications you should try the gnewpet by jpeps.

EDIT: Application removed! There is now Version 0.6 in the next post!
Last edited by RSH on Tue 06 Mar 2012, 04:52, edited 2 times in total.
[b][url=http://lazy-puppy.weebly.com]LazY Puppy[/url][/b]
[b][url=http://rshs-dna.weebly.com]RSH's DNA[/url][/b]
[url=http://murga-linux.com/puppy/viewtopic.php?t=91422][b]SARA B.[/b][/url]

User avatar
RSH
Posts: 2397
Joined: Mon 05 Sep 2011, 14:21
Location: Germany

#14 Post by RSH »

Edited on 2012-03-24:

Moved to here: http://murga-linux.com/puppy/viewtopic. ... 348#614348
Last edited by RSH on Sat 24 Mar 2012, 08:22, edited 15 times in total.
[b][url=http://lazy-puppy.weebly.com]LazY Puppy[/url][/b]
[b][url=http://rshs-dna.weebly.com]RSH's DNA[/url][/b]
[url=http://murga-linux.com/puppy/viewtopic.php?t=91422][b]SARA B.[/b][/url]

User avatar
RSH
Posts: 2397
Joined: Mon 05 Sep 2011, 14:21
Location: Germany

#15 Post by RSH »

Update Version 0.3 available at previous post!
[b][url=http://lazy-puppy.weebly.com]LazY Puppy[/url][/b]
[b][url=http://rshs-dna.weebly.com]RSH's DNA[/url][/b]
[url=http://murga-linux.com/puppy/viewtopic.php?t=91422][b]SARA B.[/b][/url]

User avatar
RSH
Posts: 2397
Joined: Mon 05 Sep 2011, 14:21
Location: Germany

#16 Post by RSH »

Update Version 0.4 available at two posts above!
[b][url=http://lazy-puppy.weebly.com]LazY Puppy[/url][/b]
[b][url=http://rshs-dna.weebly.com]RSH's DNA[/url][/b]
[url=http://murga-linux.com/puppy/viewtopic.php?t=91422][b]SARA B.[/b][/url]

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#17 Post by musher0 »

Hi, RSH.

You're a real 2-legged Puppy! People offer you a bone and you keep at it until it's clean! :D

Many thanks for this script!
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

#18 Post by sc0ttman »

I've attached a file that contains lots of blank/empty stuff, organized as it appears when installed... This includes settings for many popular apps, font + GTK settings, some puppy settings, and so on... I probably missed a load of stuff as well...

The idea will be something like:

- add the attached stuff to a new folder, ~/.migration_tool/
- run a 'migration_tool' script, which does:

Code: Select all

  - copy ~/.migration_tool/ to ~/.migration_tool/[date]/
  - if exists in ~/.migration_tool/[date], find it in main fs
  - if found in main fs, replace existing equivalent in ~/.migration_tool/[date]/
  - package up as .tar.gz, to be added later
I may have a go at this soon... Will need to go around installing a lot of apps to test it tho :roll:
Attachments
BKP_FILES.tar.gz
(1.82 KiB) Downloaded 426 times
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

User avatar
RSH
Posts: 2397
Joined: Mon 05 Sep 2011, 14:21
Location: Germany

#19 Post by RSH »

musher0 wrote:Hi, RSH.

You're a real 2-legged Puppy! People offer you a bone and you keep at it until it's clean! :D

Many thanks for this script!
It's just because of two things:

1. I am a puppy addict. :D
2. I do learn from every single line :D

The "offered bone" is mostly inspiration to me. As an Artist (i would like to say we are all artists) i am in the need for inspiration (offered bones). 8)

Without that inspiration nothing would exist! :!:

So, therefor, the credits are always going to those who made suggestions and offering ideas. :)
The code is surely important but it is not only the code! 8)

Have a nice weekend

RSH
[b][url=http://lazy-puppy.weebly.com]LazY Puppy[/url][/b]
[b][url=http://rshs-dna.weebly.com]RSH's DNA[/url][/b]
[url=http://murga-linux.com/puppy/viewtopic.php?t=91422][b]SARA B.[/b][/url]

p310don
Posts: 1492
Joined: Tue 19 May 2009, 23:11
Location: Brisbane, Australia

#20 Post by p310don »

I feel special. :oops:

I sprout an idea, and you guys come up with the beginnings of a solution. Love it. I don't have any coding, nor barely command line skills, so I am really relying on you other guys skills to do this. Thanks

RSH - I really like where you are headed with this. I think your vision is slightly different to mine, but you have created a perfect foundation to build upon I think. My only suggestion / criticism / room for improvement at this point, would be to ask, "is there a reason you chose to default to saving to /root?" I might have thought that saving outside the save file /mnt/home would make more sense to copy it to new save file.

sc0ttman - As I said, I don't code, so I'm struggling to keep up with what you have offered. If I get it correctly, your idea is to replace those bits in your attachment, with the equivalent bits from the original save file, then compress that into one big .tar.gz labelled by date? Then you can uncompress that into the new save file, replacing the settings?

For both ideas offered, is there a way to make it easy for a user to do all this from the new puppy. Currently, RSH's works from the old save file to make backups which can then be unpackaged into the new. If this tool was run from the new Puppy save file, located the old save file, copied the bits out of it and replaced the new, default settings with the old, personalised settings it would be perfect.

Thinking out loud here, if running from the new puppy installation, creating a tar.gz is almost pointless as an unnecessary step. Simply copy the old and overwrite the new files should be all that is needed. For email and browsers, the offline storage / cache could be huge, thus making compressing very time consuming.

Post Reply