I recently came across the Attended Sysupgrade package - this certainly simplifies the upgrade process allowing even a web UI approach to moving from 22.03.03 -> 22.03.05 with a few clicks.
This Attended Sysupgrade doesn't offer the option to move between major versions it seems - I'm open to being corrected if I'm wrong. This makes sense, and it's not bad to force you to think more deeply about upgrading any configurations.
The downside to using the Attended Sysupgrade is that because it is using the firmware builder - you get all of your packages installed with the same date - this breaks the script I was using to detect user installed packages. To be clear - if I do a normal base firmware install then install packages - these scripts work great - it is only AFTER using the Attended Sysupgrade that the scripts no longer detect user installed packages (because all packages are the same custom firmware install)
If we look at the preserving packages wiki page - I'm using the script by tboege - but none of the provided solutions seem to really work. (well, I can of course get the full list of packages, but I want to know which ones I installed beyond the stock image)
This feels like something the firmware building tool should support - allowing some sort of tag to the packages that are beyond the stock firmware so you can later query them and figure it out. Is there some other clever way to do this?
Ideally - I'd manage major firmware upgrades via the 'longer' process - as I've documented on my blog: https://lowtek.ca/roo/2023/openwrt-21-02-to-22-03-upgrade/ - and use the attended sysupgrade for any minor versions.