WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Simple approach to version upgrade failing (sce-update -a)  (Read 276 times)

Offline sm8ps

  • Full Member
  • ***
  • Posts: 246
Simple approach to version upgrade failing (sce-update -a)
« on: December 03, 2016, 03:57:48 PM »
Hi friends,

I am trying to upgrade from dCore-trusty to Xenial, preferably without having to re-import all extensions. My plan is to upgrade kernel and initrd and have ''sce-update'' take care of all the rest. I have set up a testing environment with a "naked" kernel and initrd (2016.10.19.20.58) together with persistent home, opt and tce directory. Then I copied some extensions to 'tce/sce' from Trusty (among others X11 meta-package, LXDE meta-package depending on X11 and Midori depending on LXDE) with all '.sce*'-files.

Now I would expect that ''sce-update -a'' recognizes newer versions and downloads them. However, it quickly states that the entire SCE directory is up to date. This even after having changed the content of 'X.sce.lst' to contain "graphics-4.2.9-tinycore" (instead of 3.6.16). I did also try ''sce-update -za'' just to be sure.

Yet if I run ''sce-update'' for individual extensions it does suggest to update them and successfully does so, even if more than one is specified. I could successfully boot to a desktop after having updated the necessary extensions. This behavior seems to point to a flaw in ''sce-update -a'' itself, independent of my peculiar set-up, doesn't it? Though, I wonder why nobody else has mentioned it yet. Can others verify? Or am I overlooking anything obvious?

Cheers!
sm

Offline nitram

  • Hero Member
  • *****
  • Posts: 1052
Re: Simple approach to version upgrade failing (sce-update -a)
« Reply #1 on: December 04, 2016, 10:37:54 AM »
Hi sm8ps.

Glad to see you're still active with dCore!

To me best practice would be to start with a fresh TCE directory when setting up a different dCore flavor, which i've documented deep in the wiki:
Quote
Ensure the kernel and initrd files utilized are both from the same dCore port. Users upgrading to a newer dCore port will need to ensure the boot loader configuration file is appropriately updated. Updating to a new dCore port is essentially a new install, a fresh /tce directory should be utilized and any desired SCEs will need to be re-imported.
http://wiki.tinycorelinux.net/dcore:upgrading_kernel_and_initrd#dcore_kernel_updates

Pretty much all SCEs would require updates anyways, unless they are very small, with minimal dependencies from the dCore prebuilt repository. And if the user knows updates will be required then a fresh import takes less CPU cycles than completing an update check and then re-importing anyway.

However it seems you may have caught a bug when updating SCEs from another dCore flavour. If you all come up with a slick way to update to the next Debian/Ubuntu release i will gladly update the wiki. Thanks.

Offline sm8ps

  • Full Member
  • ***
  • Posts: 246
Re: Simple approach to version upgrade failing (sce-update -a)
« Reply #2 on: December 04, 2016, 12:29:19 PM »
Yes, sure I stay active with dCore! Would not want to let go of this nifty little thing. Thanks for the continuous wiki updates, nitram! I hope to contribute something by myself, for example a simple upgrade strategy. :)

The point of upgrading over an old tce-directory is that I am too lazy to extract the information about which extensions are installed with what structure (lists, dependencies) in order to transfer it to a new installation and re-install everything. Sure I could do that but I have not yet understood why a more simplistic approach should not work. The test-installation does seem to work in principle but ''sce-update'' does not behave as expected.

I have not considered the meta-information possibly contained in SCE-files but AFAIC see they simply should be archives of Debian packages without any reference to the OS-version, or shouldn't they? Certainly, almost all packages of any full installation would probably need updating but the wait would not beat the comfort of having it all done automatically.

If this simplistic approach should definitely fail, I could of course write a script that would extract the necessary information from  the content of 'tce/sce/' but I think it should not be that complicated.