Is attendedsysupgrade now a requirement? How can I disable it from my build

I noticed that some new options are selected when I take my diffconfig and expand it to for building. Some are related to attendedsysupgrade. Can this be disabled? It seems like a hard dependency of luci now.


Symbol: PACKAGE_luci-app-attendedsysupgrade [=y]
Type  : tristate
Defined at tmp/.config-package.in:60753
Prompt: luci-app-attendedsysupgrade........ LuCI support for attended sysupgrades
Location:
  -> LuCI
    -> 3. Applications
Selects: PACKAGE_attendedsysupgrade-common [=y] && PACKAGE_cgi-io [=y] && PACKAGE_librt [=y] && PACKAGE_libpthread [=y] &&
Selected by [y]:
  - PACKAGE_luci [=y] && y

Here is a list of all the options that are new when I compare my diffconfig (built a few months ago) to what I get now running ./scripts/diffconfig.sh

CONFIG_PACKAGE_attendedsysupgrade-common=y
CONFIG_PACKAGE_liblucihttp-ucode=y
CONFIG_PACKAGE_luci-app-attendedsysupgrade=y
CONFIG_PACKAGE_luci-lua-runtime=y
CONFIG_PACKAGE_rpcd-mod-rpcsys=y
CONFIG_PACKAGE_rpcd-mod-ucode=y
CONFIG_PACKAGE_ucode-mod-html=y
CONFIG_PACKAGE_ucode-mod-lua=y
CONFIG_PACKAGE_ucode-mod-math=y 

See discussion in

Most of those changes are releatd to the move of LuCI from lua to ucode.
Unrelated to the attendedsysupgrade thing.

I ended with adding this warning for my own builds:

--- a/applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js
+++ b/applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js
@@ -437,7 +437,8 @@ return view.extend({
 			E('h2', _('Attended Sysupgrade')),
 			E('p', _('The attended sysupgrade service allows to easily upgrade vanilla and custom firmware images.')),
 			E('p', _('This is done by building a new firmware on demand via an online service.')),
-			E('p', _('Currently running: %s - %s').format(this.firmware.version, this.data.revision)),
+			E('p', _('Currently running: %s - %s  (private build)').format(this.firmware.version, this.data.revision)),
+			E('p', _('Note: you are currently running a private build. If you use Attended sysupgrade, your new image will be a normal OpenWrt build with the package selection taken from here, but without the source code modifications included in this build.')),
 			E('button', {
 				'class': 'btn cbi-button cbi-button-positive important',
 				'click': ui.createHandlerFn(this, this.handleCheck)

I don't like the default nature of this at all since I build my own images and always flash a new one but I guess I am in the minority of OW users...

I will try what @jow wrote in the RFC you linked:

Note that the dependency is added to the empty "luci" meta package. You should still be able to select all components (minus luci-app-attendedsysupgrade) explicitely and then deselect "luci" itself without loss of functionality.

OK... doing the above does in fact work. Now my diffconfig is lacking:

CONFIG_PACKAGE_attendedsysupgrade-common=y
CONFIG_PACKAGE_luci=y
CONFIG_PACKAGE_luci-app-attendedsysupgrade=y

Is there any risk in missing future dependencies of luci by keeping my config in this state? In other words, the meta package knows it needs things. What if more things are needed in the future? I would think using this strategy would risk missing knowing about them.

If you are just compiling your own builds, the easiest thing from the "future dependencies perspective" is to just revert adding that luci-app-attendedsysupgrade into the LuCI default pacakges.

Revert commit 5bbea495 in your local repo.

2 Likes

Thanks, I can do that. I guess including it for everyone is better from the perspective of most users. I honestly never read up about what it actually does for an upgrade vs just flashing a new image.

More reliable?
Less read/write cycles?

What is the drive to use it instead of just flashing an image?

What is the drive to use it instead of just flashing an image?

To get a new tailored sysupgrade image that includes the packages that you have installed with opkg to the live router.

So, value for people who install the official image and then add packages. :slight_smile:

But no value for private builds that contain any source changes. :frowning:

2 Likes

I see... that is cool. Before I learned how to build my own images, I kept a list of the packages I installed manually so they could be restored when I flashed a new nightly snapshot. Sounds like this feature does that automatically.

But yeah, in my use case, I see no use for it.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.