luci-app-attendedsysupgrade: request filesystem
authorPaul Spooren <[email protected]>
Mon, 21 Mar 2022 11:44:11 +0000 (11:44 +0000)
committerPaul Spooren <[email protected]>
Fri, 29 Jul 2022 15:01:44 +0000 (17:01 +0200)
It is possible to request a specific filesystem so no other filesystems
are used. This speeds up the build process and may prevent failures in
edge cases.

A recent edge case is installing more packages than ext4 can handle
while squashfs works fine due to compression.

Since  `rootfs_type` is now always available via `procd`, remove the
hack of reading `/proc/mounts`.

Signed-off-by: Paul Spooren <[email protected]>
(cherry picked from commit 8936e3c386e77c2dc090dbbd5a87907196f9149b)

applications/luci-app-attendedsysupgrade/htdocs/luci-static/resources/view/attendedsysupgrade/overview.js
applications/luci-app-attendedsysupgrade/root/usr/share/rpcd/acl.d/luci-app-attendedsysupgrade.json

index e9c009a9f21b955d803a2a1f93b3b98da1f5b858..9054b78878d0f5d20428a9fc2dbdf39e607aadc7 100644 (file)
@@ -79,13 +79,14 @@ return view.extend({
                version: '',
                packages: [],
                diff_packages: true,
+               filesystem: '',
        },
 
        handle200: function (response) {
                res = response.json();
                var image;
                for (image of res.images) {
-                       if (this.data.rootfs_type == image.filesystem) {
+                       if (this.firmware.filesystem == image.filesystem) {
                                if (this.data.efi) {
                                        if (image.type == 'combined-efi') {
                                                break;
@@ -412,7 +413,6 @@ return view.extend({
                        L.resolveDefault(callPackagelist(), {}),
                        L.resolveDefault(callSystemBoard(), {}),
                        L.resolveDefault(fs.stat("/sys/firmware/efi"), null),
-                       fs.read("/proc/mounts"),
                        uci.load('attendedsysupgrade'),
                ]);
        },
@@ -425,13 +425,10 @@ return view.extend({
                this.firmware.target = res[1].release.target;
                this.firmware.version = res[1].release.version;
                this.data.branch = get_branch(res[1].release.version);
+               this.firmware.filesystem = res[1].rootfs_type;
                this.data.revision = res[1].release.revision;
+
                this.data.efi = res[2];
-               if (res[1].rootfs_type) {
-                       this.data.rootfs_type = res[1].rootfs_type;
-               } else {
-                       this.data.rootfs_type = res[3].split(/\r?\n/)[0].split(' ')[2]
-               }
 
                this.data.url = uci.get_first('attendedsysupgrade', 'server', 'url');
                this.data.advanced_mode = uci.get_first('attendedsysupgrade', 'client', 'advanced_mode') || 0
index 378967da347b7ac7d8928f86dcfcc3ce56bf4813..0faf96717ec389466289547f961f18218de2b88a 100644 (file)
@@ -16,8 +16,7 @@
                                ]
                        },
                        "file": {
-                               "/sys/firmware/efi": [ "list" ],
-                               "/proc/mounts": [ "read" ]
+                               "/sys/firmware/efi": [ "list" ]
                        },
                        "uci": [
                                "attendedsysupgrade"