A stable release is not really stable…

Well, there has been a lot of warnings in this forum not to blindly update all packages this way, because they can cause instability issues. I would bet I saw this warning on some official wiki page as well.
Yet, IB process is called “dirty” while it is actually doing exactly same as a regular user. Ironic, right?

It is hard for me to reconcile this warning with how stable releases get polluted with new packages: the process goes against the warning from the same folks :wink:

How is a buildbot issue related to soft bricking a device from installing software that's available?

The build bot issue simply highlighted the fact that there are no “stable” releases. That image builder is a “dirty” way of building a firmware. That depending on when one installs a “stable” release, they end up with different firmwares. That installing a stable release (some time after it is released) is effectively upgrading all packages, which is supported, recommended, and the only “right” way. Yet upgrading all packages on previously installed firmware is recommended against.
All good and not confusing at all.

Think about installing a major distro like Ubuntu. If you installed add-on packages to your Ubuntu 22.04 a year ago, you would have then got different package version that what you get if you install Ubuntu 22.04 and the same add-on packages today. Even if you have the same "stable Ubuntu release" as the core. Quite analogous. OpenWrt just offers a way to packages those into a single image.

Image builder enables you to package the stable/fixed core firmware image (the actual OpenWrt release) plus the add-on packages into a single image. The core OpenWrt stays the same, but you get the current add-on packages in the image.

2 Likes

It really doesn't seem that confusing. I understand the point you're attempting to make, albeit I think you're needlessly raising an issue about the packages - knowing it was a bug.

An add-on package?

This is like any other distro.

@lleachii , @hnyman , pls take a closer look at: https://openwrt.org/meta/infobox/upgrade_packages_warning.

Below are some quotes from it: the advice from the linked page goes against the way the installation of a stable release works. If I am to install any stable release a few weeks/months after the release, I am implicitly performing a blind bulk update of non-core packages that is very much discouraged and should be avoided in almost all circumstances.

What am I missing here? Because it cannot be both.

The first one is my personal favourite: there is only one way to do it (the wrong way) and I cannot even complain! :slight_smile:

If you do choose to upgrade packages, especially with a script, you have been warned. Don't complain on the forum, and be ready to deal with the consequences, troubleshooting, and resolution yourself.

Blindly upgrading packages (manually or via script) can lead you into all sorts of trouble.

Just because there is an updated version of a given package does not mean it should be installed or that it will function properly. Inform yourself before doing any upgrades to determine if it is safe to upgrade.

Generally speaking, the use of opkg upgrade is very highly discouraged. It should be avoided in almost all circumstances. In particular, bulk upgrading is very likely to result in major problems, but even upgrading individual packages may cause issues.

Unlike the 'big distros' of Linux, ...

Although sometimes there may be no issues, there is no guarantee and the upgrade can result in various types of incompatibilities that can range from minor to severe, and it may be very difficult to troubleshoot.

1 Like

No, this is an incorrect assessment. If you upgrade to a new release version of OpenWrt, you’ve used sysupgrade to do so. This is a cohesive monolithic firmware image, and this is how upgrades to the system should be performed.

If, on the other hand, you use the opkg upgrade command, you are upgrading individual packages (and/or bulk upgrading many packages), but you are not upgrading the base release version of OpenWrt they you are running - the kernel and the base of the system remain intact and unchanged (those cannot be upgraded using the package manager). It is this opkg update operation that may cause the issues described.

1 Like

Agreed and understood.

This is were I am lost. Each 22.03.x softlinks their package directory to ../packages-22.03, so https://downloads.openwrt.org/releases/22.03.1/ points to a frozen in time targets/ and mutating packages/ -> ../packages-22.03. The same applies to all stable releases: a frozen core and mutating packages.

If (1) I use attendedsysupgrade with additional packages built-in or (2) install a firmware image (like you described), reboot, and install additional packages, I would be pulling the latest additional packages or implicitly performing a bulk package upgrade just like with opkg upgrade

Every time I install any stable release, I install a (1) monolithic image and (2) all the latest versions of all non-core packages.

I see two ways to get the same result:

  1. Install OpenWrt with additional packages now and opkg upgrade all packages in one months
  2. Install OpenWrt with additional packages in one month

In both case I will get the same result and the same set of packages: always the latest, because they are not frozen.

Is that not correct?