luci-app-attendedsysupgrade: request filesystem

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 <mail@aparcar.org>
This commit is contained in:
Paul Spooren 2022-03-21 11:44:11 +00:00
parent fe9aa934ba
commit 8936e3c386
2 changed files with 5 additions and 9 deletions

View 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;
@ -402,7 +403,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'),
]);
},
@ -415,13 +415,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

View file

@ -16,8 +16,7 @@
]
},
"file": {
"/sys/firmware/efi": [ "list" ],
"/proc/mounts": [ "read" ]
"/sys/firmware/efi": [ "list" ]
},
"uci": [
"attendedsysupgrade"