penguins-eggs 9.8.1 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.oclif.manifest.json +242 -242
- package/README.md +43 -40
- package/bin/dev.cmd +1 -1
- package/bin/dev.js +6 -6
- package/bin/run.js +3 -5
- package/conf/tools.yaml +1 -1
- package/dist/classes/bleach.d.ts +37 -0
- package/dist/classes/bleach.js +43 -91
- package/dist/classes/cfs.d.ts +17 -0
- package/dist/classes/cfs.js +15 -12
- package/dist/classes/compressors.d.ts +53 -0
- package/dist/classes/compressors.js +42 -47
- package/dist/classes/daddy.d.ts +18 -0
- package/dist/classes/daddy.js +92 -98
- package/dist/classes/distro.d.ts +26 -0
- package/dist/classes/distro.js +36 -37
- package/dist/classes/families/archlinux.d.ts +61 -0
- package/dist/classes/families/archlinux.js +52 -107
- package/dist/classes/families/debian.d.ts +65 -0
- package/dist/classes/families/debian.js +67 -142
- package/dist/classes/families/fedora.d.ts +52 -0
- package/dist/classes/families/fedora.js +42 -98
- package/dist/classes/families/mockup.d.ts +60 -0
- package/dist/classes/families/mockup.js +27 -46
- package/dist/classes/families/suse.d.ts +52 -0
- package/dist/classes/families/suse.js +44 -96
- package/dist/classes/incubation/branding.d.ts +17 -0
- package/dist/classes/incubation/branding.js +32 -36
- package/dist/classes/incubation/distros/bionic.d.ts +32 -0
- package/dist/classes/incubation/distros/bionic.js +11 -16
- package/dist/classes/incubation/distros/buster.d.ts +32 -0
- package/dist/classes/incubation/distros/buster.js +13 -18
- package/dist/classes/incubation/distros/focal.d.ts +32 -0
- package/dist/classes/incubation/distros/focal.js +11 -16
- package/dist/classes/incubation/distros/jessie.d.ts +31 -0
- package/dist/classes/incubation/distros/jessie.js +8 -13
- package/dist/classes/incubation/distros/rolling.d.ts +32 -0
- package/dist/classes/incubation/distros/rolling.js +11 -16
- package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +11 -0
- package/dist/classes/incubation/fisherman-helper/displaymanager.js +8 -9
- package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
- package/dist/classes/incubation/fisherman-helper/packages.js +17 -20
- package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
- package/dist/classes/incubation/fisherman-helper/settings.js +30 -28
- package/dist/classes/incubation/fisherman.d.ts +77 -0
- package/dist/classes/incubation/fisherman.js +135 -131
- package/dist/classes/incubation/incubator.d.ts +40 -0
- package/dist/classes/incubation/incubator.js +90 -89
- package/dist/classes/incubation/installer.d.ts +13 -0
- package/dist/classes/incubation/installer.js +27 -12
- package/dist/classes/initrd.d.ts +41 -0
- package/dist/classes/initrd.js +40 -42
- package/dist/classes/keyboards.d.ts +50 -0
- package/dist/classes/keyboards.js +108 -105
- package/dist/classes/locales.d.ts +21 -0
- package/dist/classes/locales.js +30 -34
- package/dist/classes/n8.d.ts +17 -0
- package/dist/classes/n8.js +16 -22
- package/dist/classes/network.d.ts +37 -0
- package/dist/classes/network.js +14 -18
- package/dist/classes/ovary.d.ts +205 -0
- package/dist/classes/ovary.js +1281 -1294
- package/dist/classes/pacman.d.ts +149 -0
- package/dist/classes/pacman.js +344 -418
- package/dist/classes/pve-live.d.ts +17 -0
- package/dist/classes/pve-live.js +22 -24
- package/dist/classes/pxe.d.ts +65 -0
- package/dist/classes/pxe.js +204 -206
- package/dist/classes/settings.d.ts +53 -0
- package/dist/classes/settings.js +91 -94
- package/dist/classes/sources_list.d.ts +28 -0
- package/dist/classes/sources_list.js +35 -39
- package/dist/classes/systemctl.d.ts +47 -0
- package/dist/classes/systemctl.js +34 -38
- package/dist/classes/tailor.d.ts +46 -0
- package/dist/classes/tailor.js +223 -239
- package/dist/classes/tools.d.ts +30 -0
- package/dist/classes/tools.js +18 -22
- package/dist/classes/users.d.ts +28 -0
- package/dist/classes/users.js +18 -22
- package/dist/classes/utils.d.ts +318 -0
- package/dist/classes/utils.js +78 -78
- package/dist/classes/xdg.d.ts +45 -0
- package/dist/classes/xdg.js +129 -133
- package/dist/classes/yolk.d.ts +33 -0
- package/dist/classes/yolk.js +53 -57
- package/dist/commands/adapt.d.ts +17 -0
- package/dist/commands/adapt.js +17 -21
- package/dist/commands/analyze.d.ts +26 -0
- package/dist/commands/analyze.js +56 -67
- package/dist/commands/calamares.d.ts +29 -0
- package/dist/commands/calamares.js +44 -48
- package/dist/commands/config.d.ts +36 -0
- package/dist/commands/config.js +115 -137
- package/dist/commands/cuckoo.d.ts +16 -0
- package/dist/commands/cuckoo.js +20 -24
- package/dist/commands/dad.d.ts +19 -0
- package/dist/commands/dad.js +20 -24
- package/dist/commands/export/deb.d.ts +19 -0
- package/dist/commands/export/deb.js +19 -23
- package/dist/commands/export/iso.d.ts +19 -0
- package/dist/commands/export/iso.js +19 -23
- package/dist/commands/install.d.ts +37 -0
- package/dist/commands/install.js +46 -50
- package/dist/commands/kill.d.ts +24 -0
- package/dist/commands/kill.js +25 -29
- package/dist/commands/mom.d.ts +16 -0
- package/dist/commands/mom.js +16 -18
- package/dist/commands/produce.d.ts +33 -0
- package/dist/commands/produce.js +64 -66
- package/dist/commands/status.d.ts +23 -0
- package/dist/commands/status.js +10 -14
- package/dist/commands/syncfrom.d.ts +45 -0
- package/dist/commands/syncfrom.js +85 -89
- package/dist/commands/syncto.d.ts +40 -0
- package/dist/commands/syncto.js +91 -95
- package/dist/commands/tools/clean.d.ts +18 -0
- package/dist/commands/tools/clean.js +17 -21
- package/dist/commands/tools/ppa.d.ts +26 -0
- package/dist/commands/tools/ppa.js +41 -45
- package/dist/commands/tools/skel.d.ts +18 -0
- package/dist/commands/tools/skel.js +22 -26
- package/dist/commands/tools/stat.d.ts +31 -0
- package/dist/commands/tools/stat.js +15 -19
- package/dist/commands/tools/yolk.d.ts +24 -0
- package/dist/commands/tools/yolk.js +19 -23
- package/dist/commands/update.d.ts +47 -0
- package/dist/commands/update.js +62 -66
- package/dist/commands/wardrobe/get.d.ts +23 -0
- package/dist/commands/wardrobe/get.js +19 -23
- package/dist/commands/wardrobe/list.d.ts +24 -0
- package/dist/commands/wardrobe/list.js +61 -60
- package/dist/commands/wardrobe/show.d.ts +25 -0
- package/dist/commands/wardrobe/show.js +50 -47
- package/dist/commands/wardrobe/wear.d.ts +26 -0
- package/dist/commands/wardrobe/wear.js +32 -36
- package/dist/components/finished.d.ts +15 -0
- package/dist/components/finished.js +37 -42
- package/dist/components/information.d.ts +8 -0
- package/dist/components/information.js +155 -0
- package/dist/components/install.d.ts +15 -0
- package/dist/components/install.js +31 -35
- package/dist/components/keyboard.d.ts +16 -0
- package/dist/components/keyboard.js +37 -40
- package/dist/components/location.d.ts +16 -0
- package/dist/components/location.js +38 -38
- package/dist/components/network.d.ts +19 -0
- package/dist/components/network.js +47 -48
- package/dist/components/partitions.d.ts +16 -0
- package/dist/components/partitions.js +47 -51
- package/dist/components/steps.d.ts +13 -0
- package/dist/components/steps.js +148 -0
- package/dist/components/summary.d.ts +24 -0
- package/dist/components/summary.js +50 -54
- package/dist/components/title.d.ts +12 -0
- package/dist/components/title.js +35 -0
- package/dist/components/users.d.ts +24 -0
- package/dist/components/users.js +43 -43
- package/dist/components/welcome.d.ts +13 -0
- package/dist/components/welcome.js +37 -38
- package/dist/index.d.ts +8 -0
- package/dist/index.js +8 -5
- package/dist/interfaces/i-addons.d.ts +13 -0
- package/dist/interfaces/i-addons.js +8 -3
- package/dist/interfaces/i-analyze.d.ts +17 -0
- package/dist/interfaces/i-analyze.js +7 -10
- package/dist/interfaces/i-app.d.ts +14 -0
- package/dist/interfaces/i-app.js +8 -2
- package/dist/interfaces/i-branding.d.ts +36 -0
- package/dist/interfaces/i-branding.js +8 -2
- package/dist/interfaces/i-calamares-partition.d.ts +18 -0
- package/dist/interfaces/i-calamares-partition.js +3 -4
- package/dist/interfaces/i-config-tools.d.ts +18 -0
- package/dist/interfaces/i-config-tools.js +8 -2
- package/dist/interfaces/i-devices.d.ts +20 -0
- package/dist/interfaces/i-devices.js +8 -2
- package/dist/interfaces/i-distro.d.ts +27 -0
- package/dist/interfaces/i-distro.js +3 -4
- package/dist/interfaces/i-drive-list.d.ts +33 -0
- package/dist/interfaces/i-drive-list.js +3 -4
- package/dist/interfaces/i-eggs-config.d.ts +32 -0
- package/dist/interfaces/i-eggs-config.js +3 -4
- package/dist/interfaces/i-excludes.d.ts +14 -0
- package/dist/interfaces/i-excludes.js +8 -2
- package/dist/interfaces/i-exec.d.ts +11 -0
- package/dist/interfaces/i-exec.js +3 -4
- package/dist/interfaces/i-initrd.d.ts +13 -0
- package/dist/interfaces/i-initrd.js +8 -2
- package/dist/interfaces/i-install.d.ts +16 -0
- package/dist/interfaces/i-install.js +8 -2
- package/dist/interfaces/i-installer.d.ts +17 -0
- package/dist/interfaces/i-installer.js +8 -2
- package/dist/interfaces/i-krill-config.d.ts +33 -0
- package/dist/interfaces/i-krill-config.js +3 -4
- package/dist/interfaces/i-krill.d.ts +42 -0
- package/dist/interfaces/i-krill.js +8 -2
- package/dist/interfaces/i-materia.d.ts +41 -0
- package/dist/interfaces/i-materia.js +8 -2
- package/dist/interfaces/i-net.d.ts +16 -0
- package/dist/interfaces/i-net.js +8 -2
- package/dist/interfaces/i-packages.d.ts +29 -0
- package/dist/interfaces/i-packages.js +3 -4
- package/dist/interfaces/i-partitions.d.ts +16 -0
- package/dist/interfaces/i-partitions.js +8 -2
- package/dist/interfaces/i-pxe.d.ts +21 -0
- package/dist/interfaces/i-pxe.js +8 -39
- package/dist/interfaces/i-remix.d.ts +21 -0
- package/dist/interfaces/i-remix.js +3 -4
- package/dist/interfaces/i-settings.d.ts +39 -0
- package/dist/interfaces/i-settings.js +8 -2
- package/dist/interfaces/i-user.d.ts +14 -0
- package/dist/interfaces/i-user.js +8 -2
- package/dist/interfaces/i-workdir.d.ts +14 -0
- package/dist/interfaces/i-workdir.js +8 -2
- package/dist/interfaces/i-xkb-model.d.ts +24 -0
- package/dist/interfaces/i-xkb-model.js +8 -2
- package/dist/interfaces/index.d.ts +25 -0
- package/dist/interfaces/index.js +3 -4
- package/dist/krill/modules/add-user.d.ts +20 -0
- package/dist/krill/modules/add-user.js +11 -15
- package/dist/krill/modules/bootloader-config-arch.d.ts +14 -0
- package/dist/krill/modules/bootloader-config-arch.js +15 -11
- package/dist/krill/modules/bootloader-config-debian.d.ts +10 -0
- package/dist/krill/modules/bootloader-config-debian.js +20 -16
- package/dist/krill/modules/bootloader-config.d.ts +10 -0
- package/dist/krill/modules/bootloader-config.js +3 -6
- package/dist/krill/modules/bootloader.d.ts +14 -0
- package/dist/krill/modules/bootloader.js +9 -13
- package/dist/krill/modules/change-password.d.ts +15 -0
- package/dist/krill/modules/change-password.js +5 -8
- package/dist/krill/modules/del-live-user.d.ts +14 -0
- package/dist/krill/modules/del-live-user.js +8 -12
- package/dist/krill/modules/fstab.d.ts +14 -0
- package/dist/krill/modules/fstab.js +33 -37
- package/dist/krill/modules/grubcfg.d.ts +17 -0
- package/dist/krill/modules/grubcfg.js +8 -17
- package/dist/krill/modules/hostname.d.ts +13 -0
- package/dist/krill/modules/hostname.js +11 -17
- package/dist/krill/modules/initramfs-cfg.d.ts +14 -0
- package/dist/krill/modules/initramfs-cfg.js +6 -15
- package/dist/krill/modules/initramfs.d.ts +13 -0
- package/dist/krill/modules/initramfs.js +17 -19
- package/dist/krill/modules/locale-cfg.d.ts +10 -0
- package/dist/krill/modules/locale-cfg.js +8 -12
- package/dist/krill/modules/locale.d.ts +13 -0
- package/dist/krill/modules/locale.js +7 -11
- package/dist/krill/modules/m-keyboard.d.ts +14 -0
- package/dist/krill/modules/m-keyboard.js +14 -18
- package/dist/krill/modules/m-timezone.d.ts +14 -0
- package/dist/krill/modules/m-timezone.js +8 -12
- package/dist/krill/modules/machine-id.d.ts +15 -0
- package/dist/krill/modules/machine-id.js +6 -10
- package/dist/krill/modules/mkfs.d.ts +13 -0
- package/dist/krill/modules/mkfs.js +10 -13
- package/dist/krill/modules/mount-fs.d.ts +17 -0
- package/dist/krill/modules/mount-fs.js +20 -26
- package/dist/krill/modules/mount-vfs.d.ts +17 -0
- package/dist/krill/modules/mount-vfs.js +16 -21
- package/dist/krill/modules/network-cfg.d.ts +19 -0
- package/dist/krill/modules/network-cfg.js +16 -20
- package/dist/krill/modules/packages.d.ts +14 -0
- package/dist/krill/modules/packages.js +17 -21
- package/dist/krill/modules/partition.d.ts +20 -0
- package/dist/krill/modules/partition.js +78 -84
- package/dist/krill/modules/remove-installer-link.d.ts +13 -0
- package/dist/krill/modules/remove-installer-link.js +7 -11
- package/dist/krill/modules/umount.d.ts +14 -0
- package/dist/krill/modules/umount.js +9 -13
- package/dist/krill/modules/unpackfs.d.ts +13 -0
- package/dist/krill/modules/unpackfs.js +7 -11
- package/dist/krill/prepare.d.ts +77 -0
- package/dist/krill/{krill-prepare.js → prepare.js} +118 -124
- package/dist/krill/sequence.d.ts +156 -0
- package/dist/krill/{krill-sequence.js → sequence.js} +166 -170
- package/dist/lib/cli-autologin.d.ts +43 -0
- package/dist/lib/cli-autologin.js +88 -92
- package/dist/lib/get_address.d.ts +8 -0
- package/dist/lib/get_address.js +9 -11
- package/dist/lib/get_dns.d.ts +8 -0
- package/dist/lib/get_dns.js +9 -11
- package/dist/lib/get_domain.d.ts +8 -0
- package/dist/lib/get_domain.js +9 -11
- package/dist/lib/get_gateway.d.ts +8 -0
- package/dist/lib/get_gateway.js +9 -11
- package/dist/lib/get_hostname.d.ts +8 -0
- package/dist/lib/get_hostname.js +9 -11
- package/dist/lib/get_netmask.d.ts +8 -0
- package/dist/lib/get_netmask.js +9 -11
- package/dist/lib/get_password.d.ts +8 -0
- package/dist/lib/get_password.js +10 -13
- package/dist/lib/get_userfullname.d.ts +8 -0
- package/dist/lib/get_userfullname.js +9 -11
- package/dist/lib/get_username.d.ts +8 -0
- package/dist/lib/get_username.js +9 -12
- package/dist/lib/kill_me_softly.d.ts +11 -0
- package/dist/lib/kill_me_softly.js +19 -24
- package/dist/lib/select_address_type.d.ts +8 -0
- package/dist/lib/select_address_type.js +9 -12
- package/dist/lib/select_filesystem_type.d.ts +8 -0
- package/dist/lib/select_filesystem_type.js +15 -18
- package/dist/lib/select_installation_device.d.ts +8 -0
- package/dist/lib/select_installation_device.js +11 -15
- package/dist/lib/select_installation_mode.d.ts +8 -0
- package/dist/lib/select_installation_mode.js +9 -11
- package/dist/lib/select_interface.d.ts +8 -0
- package/dist/lib/select_interface.js +9 -12
- package/dist/lib/select_keyboard_layout.d.ts +11 -0
- package/dist/lib/select_keyboard_layout.js +11 -15
- package/dist/lib/select_keyboard_model.d.ts +11 -0
- package/dist/lib/select_keyboard_model.js +11 -15
- package/dist/lib/select_keyboard_option.d.ts +11 -0
- package/dist/lib/select_keyboard_option.js +11 -15
- package/dist/lib/select_keyboard_variant.d.ts +11 -0
- package/dist/lib/select_keyboard_variant.js +11 -15
- package/dist/lib/select_languages.d.ts +8 -0
- package/dist/lib/select_languages.js +11 -15
- package/dist/lib/select_regions.d.ts +8 -0
- package/dist/lib/select_regions.js +9 -11
- package/dist/lib/select_user_swap_choice.d.ts +8 -0
- package/dist/lib/select_user_swap_choice.js +13 -17
- package/dist/lib/select_zones.d.ts +8 -0
- package/dist/lib/select_zones.js +9 -11
- package/dist/lib/utils.d.ts +34 -0
- package/dist/lib/utils.js +24 -14
- package/manpages/doc/man/eggs.1.gz +0 -0
- package/manpages/doc/man/eggs.html +10 -10
- package/package.json +49 -70
- package/LICENSE +0 -339
- package/bin/dev +0 -17
- package/bin/run +0 -5
- package/dist/components/elements/information.js +0 -194
- package/dist/components/elements/steps.js +0 -152
- package/dist/components/elements/title.js +0 -36
- package/dist/lib/dependencies.js +0 -121
|
@@ -1,106 +1,103 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* ./src/krill/sequence.tsx
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
5
4
|
* author: Piero Proietti
|
|
6
5
|
* email: piero.proietti@gmail.com
|
|
7
6
|
* license: MIT
|
|
8
7
|
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
9
8
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const distro_1 = tslib_1.__importDefault(require("../classes/distro"));
|
|
25
|
-
const utils_2 = require("../lib/utils");
|
|
9
|
+
import Settings from '../classes/settings.js';
|
|
10
|
+
import React from 'react';
|
|
11
|
+
import { render } from 'ink';
|
|
12
|
+
import Install from '../components/install.js';
|
|
13
|
+
import Finished from '../components/finished.js';
|
|
14
|
+
import fs from 'fs';
|
|
15
|
+
import yaml from 'js-yaml';
|
|
16
|
+
import Utils from '../classes/utils.js';
|
|
17
|
+
import CliAutologin from '../lib/cli-autologin.js';
|
|
18
|
+
import Pacman from '../classes/pacman.js';
|
|
19
|
+
import { installer } from '../classes/incubation/installer.js';
|
|
20
|
+
import Xdg from '../classes/xdg.js';
|
|
21
|
+
import Distro from '../classes/distro.js';
|
|
22
|
+
import { exec } from '../lib/utils.js';
|
|
26
23
|
// import krill modules
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
24
|
+
import partition from './modules/partition.js';
|
|
25
|
+
import { mountFs, umountFs } from './modules/mount-fs.js';
|
|
26
|
+
import { mountVfs, umountVfs } from './modules/mount-vfs.js';
|
|
27
|
+
import unpackfs from './modules/unpackfs.js';
|
|
28
|
+
import machineId from './modules/machine-id.js';
|
|
29
|
+
import fstab from './modules/fstab.js';
|
|
30
|
+
import locale from './modules/locale.js';
|
|
31
|
+
import mKeyboard from './modules/m-keyboard.js';
|
|
32
|
+
import localeCfg from './modules/locale-cfg.js';
|
|
36
33
|
// users
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
import addUser from './modules/add-user.js';
|
|
35
|
+
import changePassword from './modules/change-password.js';
|
|
39
36
|
// displaymanager: autologin
|
|
40
|
-
|
|
37
|
+
import networkCfg from './modules/network-cfg.js';
|
|
41
38
|
// hwclock:
|
|
42
39
|
// services-systemd:
|
|
43
40
|
// bootloader-config
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
41
|
+
import bootloaderConfig from './modules/bootloader-config.js';
|
|
42
|
+
import bootloaderConfigArch from './modules/bootloader-config-arch.js';
|
|
43
|
+
import bootloaderConfigDebian from './modules/bootloader-config-debian.js';
|
|
44
|
+
import grubcfg from './modules/grubcfg.js';
|
|
45
|
+
import bootloader from './modules/bootloader.js';
|
|
46
|
+
import packages from './modules/packages.js';
|
|
47
|
+
import removeInstallerLink from './modules/remove-installer-link.js';
|
|
48
|
+
import initramfsCfg from './modules/initramfs-cfg.js';
|
|
49
|
+
import initramfs from './modules/initramfs.js';
|
|
50
|
+
import delLiveUser from './modules/del-live-user.js';
|
|
54
51
|
// umount already imported
|
|
55
52
|
// to order in same wat
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
53
|
+
import mTimezone from './modules/m-timezone.js';
|
|
54
|
+
import umount from './modules/umount.js';
|
|
55
|
+
import mkfs from './modules/mkfs.js';
|
|
56
|
+
import hostname from './modules/hostname.js';
|
|
57
|
+
import CFS from '../classes/cfs.js';
|
|
61
58
|
/**
|
|
62
59
|
* hatching: installazione o cova!!!
|
|
63
60
|
*/
|
|
64
|
-
class Sequence {
|
|
65
|
-
partition =
|
|
61
|
+
export default class Sequence {
|
|
62
|
+
partition = partition;
|
|
66
63
|
// mount
|
|
67
|
-
mountFs =
|
|
68
|
-
mountVfs =
|
|
64
|
+
mountFs = mountFs;
|
|
65
|
+
mountVfs = mountVfs;
|
|
69
66
|
//
|
|
70
|
-
unpackfs =
|
|
71
|
-
machineId =
|
|
72
|
-
fstab =
|
|
73
|
-
locale =
|
|
74
|
-
keyboard =
|
|
75
|
-
localeCfg =
|
|
67
|
+
unpackfs = unpackfs;
|
|
68
|
+
machineId = machineId;
|
|
69
|
+
fstab = fstab;
|
|
70
|
+
locale = locale;
|
|
71
|
+
keyboard = mKeyboard;
|
|
72
|
+
localeCfg = localeCfg;
|
|
76
73
|
// users
|
|
77
|
-
addUser =
|
|
78
|
-
changePassword =
|
|
74
|
+
addUser = addUser;
|
|
75
|
+
changePassword = changePassword;
|
|
79
76
|
// displaumanager: autologin
|
|
80
|
-
networkCfg =
|
|
77
|
+
networkCfg = networkCfg;
|
|
81
78
|
// hwclock:
|
|
82
79
|
// services-systemd:
|
|
83
80
|
// bootloader-config
|
|
84
|
-
bootloaderConfig =
|
|
85
|
-
bootloaderConfigArch =
|
|
86
|
-
bootloaderConfigDebian =
|
|
81
|
+
bootloaderConfig = bootloaderConfig;
|
|
82
|
+
bootloaderConfigArch = bootloaderConfigArch;
|
|
83
|
+
bootloaderConfigDebian = bootloaderConfigDebian;
|
|
87
84
|
//
|
|
88
|
-
grubcfg =
|
|
89
|
-
bootloader =
|
|
90
|
-
packages =
|
|
91
|
-
removeInstallerLink =
|
|
85
|
+
grubcfg = grubcfg;
|
|
86
|
+
bootloader = bootloader;
|
|
87
|
+
packages = packages;
|
|
88
|
+
removeInstallerLink = removeInstallerLink;
|
|
92
89
|
// luksbootkeyfile:
|
|
93
90
|
// plymouthcfg;
|
|
94
|
-
initramfsCfg =
|
|
95
|
-
initramfs =
|
|
96
|
-
delLiveUser =
|
|
97
|
-
umountFs =
|
|
98
|
-
umountVfs =
|
|
91
|
+
initramfsCfg = initramfsCfg;
|
|
92
|
+
initramfs = initramfs;
|
|
93
|
+
delLiveUser = delLiveUser;
|
|
94
|
+
umountFs = umountFs;
|
|
95
|
+
umountVfs = umountVfs;
|
|
99
96
|
// to order in same way
|
|
100
|
-
timezone =
|
|
101
|
-
umount =
|
|
102
|
-
mkfs =
|
|
103
|
-
hostname =
|
|
97
|
+
timezone = mTimezone;
|
|
98
|
+
umount = umount;
|
|
99
|
+
mkfs = mkfs;
|
|
100
|
+
hostname = hostname;
|
|
104
101
|
installer = {};
|
|
105
102
|
installTarget = '/tmp/calamares-krill-root';
|
|
106
103
|
verbose = false;
|
|
@@ -126,18 +123,18 @@ class Sequence {
|
|
|
126
123
|
luksDevice = `/dev/mapper/${this.luksName}`;
|
|
127
124
|
luksMountpoint = `/mnt`;
|
|
128
125
|
// Clone (Uncrypted)
|
|
129
|
-
is_clone =
|
|
130
|
-
is_crypted_clone =
|
|
126
|
+
is_clone = fs.existsSync('penguins-eggs.d/is_clone');
|
|
127
|
+
is_crypted_clone = fs.existsSync('/etc/penguins-eggs.d/is_crypted_clone');
|
|
131
128
|
unattended = false;
|
|
132
129
|
nointeractive = false;
|
|
133
130
|
halt = false;
|
|
134
|
-
cliAutologin = new
|
|
131
|
+
cliAutologin = new CliAutologin();
|
|
135
132
|
/**
|
|
136
133
|
* constructor
|
|
137
134
|
*/
|
|
138
135
|
constructor(location, keyboard, partitions, users, network) {
|
|
139
|
-
this.installer =
|
|
140
|
-
this.settings = new
|
|
136
|
+
this.installer = installer();
|
|
137
|
+
this.settings = new Settings();
|
|
141
138
|
this.language = location.language;
|
|
142
139
|
this.region = location.region;
|
|
143
140
|
this.zone = location.zone;
|
|
@@ -152,8 +149,8 @@ class Sequence {
|
|
|
152
149
|
this.devices.root = {};
|
|
153
150
|
this.devices.data = {};
|
|
154
151
|
this.devices.swap = {};
|
|
155
|
-
this.distro = new
|
|
156
|
-
this.efi =
|
|
152
|
+
this.distro = new Distro(this.remix);
|
|
153
|
+
this.efi = fs.existsSync('/sys/firmware/efi/efivars');
|
|
157
154
|
this.luksFile = `${this.distro.liveMediumPath}live/${this.luksName}`;
|
|
158
155
|
}
|
|
159
156
|
/**
|
|
@@ -175,17 +172,17 @@ class Sequence {
|
|
|
175
172
|
*/
|
|
176
173
|
if (this.distro.familyId === 'archlinux') {
|
|
177
174
|
if (this.distro.distroId === 'ManjaroLinux') {
|
|
178
|
-
await
|
|
175
|
+
await exec(`sudo ln -s /run/miso/bootmnt/live/ /live`);
|
|
179
176
|
}
|
|
180
177
|
else {
|
|
181
|
-
await
|
|
178
|
+
await exec(`sudo ln -s /run/archiso/bootmnt/live/ /live`);
|
|
182
179
|
}
|
|
183
180
|
}
|
|
184
181
|
this.unattended = unattended;
|
|
185
182
|
this.nointeractive = nointeractive;
|
|
186
183
|
this.halt = halt;
|
|
187
184
|
this.verbose = verbose;
|
|
188
|
-
this.echo =
|
|
185
|
+
this.echo = Utils.setEcho(this.verbose);
|
|
189
186
|
if (this.verbose) {
|
|
190
187
|
this.toNull = '';
|
|
191
188
|
}
|
|
@@ -198,63 +195,63 @@ class Sequence {
|
|
|
198
195
|
message = "Creating partitions";
|
|
199
196
|
percent = 0.03;
|
|
200
197
|
try {
|
|
201
|
-
await redraw(
|
|
198
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
202
199
|
isPartitioned = await this.partition();
|
|
203
200
|
}
|
|
204
201
|
catch (error) {
|
|
205
|
-
await
|
|
202
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
206
203
|
}
|
|
207
204
|
if (isPartitioned) {
|
|
208
205
|
// formatting
|
|
209
206
|
message = "Formatting file system ";
|
|
210
207
|
percent = 0.06;
|
|
211
208
|
try {
|
|
212
|
-
await redraw(
|
|
209
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
213
210
|
await this.mkfs();
|
|
214
211
|
}
|
|
215
212
|
catch (error) {
|
|
216
|
-
await
|
|
213
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
217
214
|
}
|
|
218
215
|
// mountFs
|
|
219
216
|
message = "Mounting target file system ";
|
|
220
217
|
percent = 0.09;
|
|
221
218
|
try {
|
|
222
|
-
redraw(
|
|
219
|
+
redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
223
220
|
await this.mountFs();
|
|
224
221
|
}
|
|
225
222
|
catch (error) {
|
|
226
|
-
await
|
|
223
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
227
224
|
}
|
|
228
225
|
// mountVfs
|
|
229
226
|
message = "Mounting on target VFS ";
|
|
230
227
|
percent = 0.12;
|
|
231
228
|
try {
|
|
232
|
-
await redraw(
|
|
229
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
233
230
|
await this.mountVfs();
|
|
234
231
|
}
|
|
235
232
|
catch (error) {
|
|
236
|
-
await
|
|
233
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
237
234
|
}
|
|
238
235
|
// unpackfs
|
|
239
236
|
message = "Unpacking filesystem ";
|
|
240
237
|
percent = 0.15;
|
|
241
238
|
try {
|
|
242
|
-
await redraw(
|
|
239
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
243
240
|
await this.unpackfs();
|
|
244
241
|
}
|
|
245
242
|
catch (error) {
|
|
246
|
-
await
|
|
243
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
247
244
|
}
|
|
248
245
|
// dpkg-unsafe-io
|
|
249
246
|
if (this.distro.familyId === 'debian') {
|
|
250
247
|
message = "dpkg-unsafe-io";
|
|
251
248
|
percent = 0.40;
|
|
252
249
|
try {
|
|
253
|
-
await redraw(
|
|
250
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
254
251
|
await this.execCalamaresModule('dpkg-unsafe-io');
|
|
255
252
|
}
|
|
256
253
|
catch (error) {
|
|
257
|
-
await
|
|
254
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
258
255
|
}
|
|
259
256
|
}
|
|
260
257
|
// sources-yolk
|
|
@@ -262,52 +259,52 @@ class Sequence {
|
|
|
262
259
|
message = 'sources-yolk';
|
|
263
260
|
percent = 0.43;
|
|
264
261
|
try {
|
|
265
|
-
await redraw(
|
|
262
|
+
await redraw(React.createElement(Install, { message: message, percent: percent, spinner: true }));
|
|
266
263
|
await this.execCalamaresModule('sources-yolk');
|
|
267
264
|
}
|
|
268
265
|
catch (error) {
|
|
269
|
-
await
|
|
266
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
270
267
|
}
|
|
271
268
|
}
|
|
272
269
|
// machineid
|
|
273
270
|
message = 'machineid';
|
|
274
271
|
percent = 0.46;
|
|
275
272
|
try {
|
|
276
|
-
await redraw(
|
|
273
|
+
await redraw(React.createElement(Install, { message: message, percent: percent, spinner: true }));
|
|
277
274
|
await this.machineId();
|
|
278
275
|
}
|
|
279
276
|
catch (error) {
|
|
280
|
-
await
|
|
277
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
281
278
|
}
|
|
282
279
|
// fstab
|
|
283
280
|
message = "Creating fstab ";
|
|
284
281
|
percent = 0.49;
|
|
285
282
|
try {
|
|
286
|
-
await redraw(
|
|
283
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
287
284
|
await this.fstab(this.partitions.installationDevice);
|
|
288
285
|
}
|
|
289
286
|
catch (error) {
|
|
290
|
-
await
|
|
287
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
291
288
|
}
|
|
292
289
|
/**
|
|
293
290
|
* CryptedClone exec eggs syncfrom
|
|
294
291
|
*/
|
|
295
292
|
if (this.is_crypted_clone) {
|
|
296
293
|
message = "Restore private data from crypted clone ";
|
|
297
|
-
if (
|
|
294
|
+
if (fs.existsSync(this.luksFile)) {
|
|
298
295
|
percent = 0.55;
|
|
299
296
|
let cmd = `eggs syncfrom --rootdir /tmp/calamares-krill-root/ --file ${this.luksFile}`;
|
|
300
297
|
try {
|
|
301
|
-
await redraw(
|
|
302
|
-
await
|
|
298
|
+
await redraw(React.createElement(Install, { message: message, percent: percent, spinner: true }));
|
|
299
|
+
await exec(cmd, Utils.setEcho(true));
|
|
303
300
|
this.is_clone = true; // Adesso è un clone
|
|
304
301
|
}
|
|
305
302
|
catch (error) {
|
|
306
|
-
await
|
|
303
|
+
await Utils.pressKeyToExit(cmd);
|
|
307
304
|
}
|
|
308
305
|
}
|
|
309
306
|
else {
|
|
310
|
-
await
|
|
307
|
+
await Utils.pressKeyToExit(`Cannot find luks-volume file ${this.luksFile}`);
|
|
311
308
|
}
|
|
312
309
|
}
|
|
313
310
|
// networkcfg
|
|
@@ -317,48 +314,48 @@ class Sequence {
|
|
|
317
314
|
await this.networkCfg();
|
|
318
315
|
}
|
|
319
316
|
catch (error) {
|
|
320
|
-
await
|
|
317
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
321
318
|
}
|
|
322
319
|
// hostname
|
|
323
320
|
message = "Create hostname ";
|
|
324
321
|
percent = 0.64;
|
|
325
322
|
try {
|
|
326
|
-
await redraw(
|
|
323
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
327
324
|
await this.hostname(this.network.domain);
|
|
328
325
|
}
|
|
329
326
|
catch (error) {
|
|
330
|
-
await
|
|
327
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
331
328
|
}
|
|
332
329
|
// initramfsCfg
|
|
333
330
|
message = "initramfs configure";
|
|
334
331
|
percent = 0.67;
|
|
335
332
|
try {
|
|
336
|
-
await redraw(
|
|
333
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
337
334
|
await this.initramfsCfg(this.partitions.installationDevice);
|
|
338
335
|
}
|
|
339
336
|
catch (error) {
|
|
340
|
-
await
|
|
337
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
341
338
|
}
|
|
342
339
|
// initramfs
|
|
343
340
|
message = "initramfs ";
|
|
344
341
|
percent = 0.70;
|
|
345
342
|
try {
|
|
346
|
-
await redraw(
|
|
343
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
347
344
|
await this.initramfs();
|
|
348
345
|
}
|
|
349
346
|
catch (error) {
|
|
350
|
-
await
|
|
347
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
351
348
|
}
|
|
352
349
|
// dpkg-unsafe-io-undo
|
|
353
350
|
if (this.distro.familyId === 'debian') {
|
|
354
351
|
message = "dpkg-unsafe-io-undo";
|
|
355
352
|
percent = 0.72;
|
|
356
353
|
try {
|
|
357
|
-
await redraw(
|
|
354
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
358
355
|
await this.execCalamaresModule('dpkg-unsafe-io-undo');
|
|
359
356
|
}
|
|
360
357
|
catch (error) {
|
|
361
|
-
await
|
|
358
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
362
359
|
}
|
|
363
360
|
}
|
|
364
361
|
/**
|
|
@@ -375,11 +372,11 @@ class Sequence {
|
|
|
375
372
|
message = "Locale";
|
|
376
373
|
percent = 0.74;
|
|
377
374
|
try {
|
|
378
|
-
redraw(
|
|
375
|
+
redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
379
376
|
await this.locale();
|
|
380
377
|
}
|
|
381
378
|
catch (error) {
|
|
382
|
-
await
|
|
379
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
383
380
|
}
|
|
384
381
|
// keyboard
|
|
385
382
|
message = "settings keyboard";
|
|
@@ -388,64 +385,64 @@ class Sequence {
|
|
|
388
385
|
await this.keyboard();
|
|
389
386
|
}
|
|
390
387
|
catch (error) {
|
|
391
|
-
await
|
|
388
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
392
389
|
}
|
|
393
390
|
// localeCfg
|
|
394
391
|
message = "Locale Configuration";
|
|
395
392
|
percent = 0.76;
|
|
396
393
|
try {
|
|
397
394
|
await this.localeCfg();
|
|
398
|
-
await
|
|
395
|
+
await exec("chroot " + this.installTarget + " locale-gen");
|
|
399
396
|
}
|
|
400
397
|
catch (error) {
|
|
401
|
-
await
|
|
398
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
402
399
|
}
|
|
403
400
|
// delLiveUser
|
|
404
401
|
message = "Remove user LIVE";
|
|
405
402
|
percent = 0.75;
|
|
406
403
|
try {
|
|
407
|
-
await redraw(
|
|
404
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
408
405
|
await this.delLiveUser();
|
|
409
406
|
}
|
|
410
407
|
catch (error) {
|
|
411
|
-
await
|
|
408
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
412
409
|
}
|
|
413
410
|
// addUser
|
|
414
411
|
message = "Add user";
|
|
415
412
|
percent = 0.76;
|
|
416
413
|
try {
|
|
417
|
-
await redraw(
|
|
418
|
-
await this.addUser(this.users.
|
|
414
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
415
|
+
await this.addUser(this.users.username, this.users.password, this.users.fullname, '', '', '');
|
|
419
416
|
}
|
|
420
417
|
catch (error) {
|
|
421
|
-
await
|
|
418
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
422
419
|
}
|
|
423
420
|
// changePassword root
|
|
424
421
|
message = "Add root password";
|
|
425
422
|
percent = 0.77;
|
|
426
423
|
try {
|
|
427
|
-
await redraw(
|
|
424
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
428
425
|
await this.changePassword('root', this.users.rootPassword);
|
|
429
426
|
}
|
|
430
427
|
catch (error) {
|
|
431
|
-
await
|
|
428
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
432
429
|
}
|
|
433
430
|
// autologin
|
|
434
|
-
if (
|
|
431
|
+
if (Pacman.isInstalledGui()) {
|
|
435
432
|
try {
|
|
436
433
|
message = "Autologin GUI";
|
|
437
434
|
percent = 0.78;
|
|
438
435
|
if (this.users.autologin) {
|
|
439
|
-
await
|
|
436
|
+
await Xdg.autologin(await Utils.getPrimaryUser(), this.users.username, this.installTarget);
|
|
440
437
|
if (this.distro.distroLike === 'Arch') {
|
|
441
|
-
await
|
|
442
|
-
await
|
|
438
|
+
await exec(`chroot ${this.installTarget} groupadd autologin`);
|
|
439
|
+
await exec(`chroot ${this.installTarget} gpasswd -a ${this.users.username} autologin`);
|
|
443
440
|
}
|
|
444
441
|
}
|
|
445
|
-
await redraw(
|
|
442
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
446
443
|
}
|
|
447
444
|
catch (error) {
|
|
448
|
-
await
|
|
445
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
449
446
|
}
|
|
450
447
|
}
|
|
451
448
|
} // IF NOT CLONE END
|
|
@@ -453,59 +450,59 @@ class Sequence {
|
|
|
453
450
|
message = "Remove autologin CLI";
|
|
454
451
|
percent = 0.80;
|
|
455
452
|
try {
|
|
456
|
-
await redraw(
|
|
453
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
457
454
|
await this.cliAutologin.remove(this.installTarget);
|
|
458
455
|
}
|
|
459
456
|
catch (error) {
|
|
460
|
-
await
|
|
457
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
461
458
|
}
|
|
462
459
|
// bootloader-config
|
|
463
460
|
message = "bootloader-config ";
|
|
464
461
|
percent = 0.82;
|
|
465
462
|
try {
|
|
466
|
-
await redraw(
|
|
463
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
467
464
|
await this.bootloaderConfig();
|
|
468
465
|
}
|
|
469
466
|
catch (error) {
|
|
470
|
-
await
|
|
467
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
471
468
|
}
|
|
472
469
|
// grubcfg
|
|
473
470
|
message = "grubcfg ";
|
|
474
471
|
percent = 0.84;
|
|
475
472
|
try {
|
|
476
|
-
await redraw(
|
|
473
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
477
474
|
await this.grubcfg();
|
|
478
475
|
}
|
|
479
476
|
catch (error) {
|
|
480
|
-
await
|
|
477
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
481
478
|
}
|
|
482
479
|
// bootloader (grub-install)
|
|
483
480
|
message = "bootloader ";
|
|
484
481
|
percent = 0.86;
|
|
485
482
|
try {
|
|
486
|
-
await redraw(
|
|
483
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
487
484
|
await this.bootloader();
|
|
488
485
|
}
|
|
489
486
|
catch (error) {
|
|
490
|
-
await
|
|
487
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
491
488
|
}
|
|
492
489
|
// sources-yolk-undo
|
|
493
490
|
if (this.distro.familyId === 'debian') {
|
|
494
491
|
message = "sources-yolk-undo";
|
|
495
492
|
percent = 0.88;
|
|
496
493
|
try {
|
|
497
|
-
await redraw(
|
|
494
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
498
495
|
await this.execCalamaresModule('sources-yolk-undo');
|
|
499
496
|
}
|
|
500
497
|
catch (error) {
|
|
501
|
-
await
|
|
498
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
502
499
|
}
|
|
503
500
|
}
|
|
504
501
|
// packages
|
|
505
502
|
message = "add/remove packages";
|
|
506
503
|
percent = 0.90;
|
|
507
504
|
try {
|
|
508
|
-
await redraw(
|
|
505
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
509
506
|
await this.packages();
|
|
510
507
|
}
|
|
511
508
|
catch (error) {
|
|
@@ -518,38 +515,38 @@ class Sequence {
|
|
|
518
515
|
message = "remove GUI installer link";
|
|
519
516
|
percent = 0.92;
|
|
520
517
|
try {
|
|
521
|
-
await redraw(
|
|
518
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
522
519
|
await this.removeInstallerLink();
|
|
523
520
|
}
|
|
524
521
|
catch (error) {
|
|
525
|
-
await
|
|
522
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
526
523
|
}
|
|
527
524
|
// remove /etc/penguins_eggs.d/is_clone*
|
|
528
525
|
message = "Cleanup";
|
|
529
526
|
percent = 0.94;
|
|
530
527
|
try {
|
|
531
|
-
await redraw(
|
|
532
|
-
await
|
|
533
|
-
await
|
|
528
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
529
|
+
await exec(`rm -f ${this.installTarget}/etc/penguins-eggs.d/is_clone`);
|
|
530
|
+
await exec(`rm -f ${this.installTarget}/etc/penguins-eggs.d/is_crypted_clone`);
|
|
534
531
|
}
|
|
535
532
|
catch (error) {
|
|
536
|
-
await
|
|
533
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
537
534
|
}
|
|
538
535
|
/**
|
|
539
536
|
* custom final steps
|
|
540
537
|
*/
|
|
541
|
-
const cfs = new
|
|
538
|
+
const cfs = new CFS();
|
|
542
539
|
const steps = await cfs.steps();
|
|
543
540
|
if (steps.length > 0) {
|
|
544
541
|
for (const step of steps) {
|
|
545
542
|
message = `running ${step}`;
|
|
546
543
|
percent = 0.97;
|
|
547
544
|
try {
|
|
548
|
-
await redraw(
|
|
545
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
549
546
|
await this.execCalamaresModule(step);
|
|
550
547
|
}
|
|
551
548
|
catch (error) {
|
|
552
|
-
await
|
|
549
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
553
550
|
}
|
|
554
551
|
}
|
|
555
552
|
}
|
|
@@ -557,30 +554,30 @@ class Sequence {
|
|
|
557
554
|
message = "umount VFS";
|
|
558
555
|
percent = 0.96;
|
|
559
556
|
try {
|
|
560
|
-
await redraw(
|
|
557
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
561
558
|
await this.umountVfs();
|
|
562
559
|
}
|
|
563
560
|
catch (error) {
|
|
564
|
-
await
|
|
561
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
565
562
|
}
|
|
566
563
|
message = "umount";
|
|
567
564
|
percent = 0.98;
|
|
568
565
|
try {
|
|
569
|
-
await redraw(
|
|
566
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
570
567
|
await this.umountFs();
|
|
571
568
|
}
|
|
572
569
|
catch (error) {
|
|
573
|
-
await
|
|
570
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
574
571
|
}
|
|
575
572
|
// finished
|
|
576
573
|
message = "finished";
|
|
577
574
|
percent = 100.0;
|
|
578
575
|
try {
|
|
579
|
-
await redraw(
|
|
576
|
+
await redraw(React.createElement(Install, { message: message, percent: percent }));
|
|
580
577
|
await this.finished();
|
|
581
578
|
}
|
|
582
579
|
catch (error) {
|
|
583
|
-
await
|
|
580
|
+
await Utils.pressKeyToExit(JSON.stringify(error));
|
|
584
581
|
}
|
|
585
582
|
}
|
|
586
583
|
}
|
|
@@ -589,12 +586,12 @@ class Sequence {
|
|
|
589
586
|
*/
|
|
590
587
|
async execCalamaresModule(name) {
|
|
591
588
|
const moduleName = this.installer.multiarchModules + name + '/module.desc';
|
|
592
|
-
if (
|
|
593
|
-
const calamaresModule =
|
|
589
|
+
if (fs.existsSync(moduleName)) {
|
|
590
|
+
const calamaresModule = yaml.load(fs.readFileSync(moduleName, 'utf8'));
|
|
594
591
|
let command = calamaresModule.command;
|
|
595
592
|
if (command !== '' || command !== undefined) {
|
|
596
593
|
command += this.toNull;
|
|
597
|
-
await
|
|
594
|
+
await exec(command, this.echo);
|
|
598
595
|
}
|
|
599
596
|
}
|
|
600
597
|
}
|
|
@@ -602,7 +599,7 @@ class Sequence {
|
|
|
602
599
|
* only show the result
|
|
603
600
|
*/
|
|
604
601
|
async finished() {
|
|
605
|
-
await redraw(
|
|
602
|
+
await redraw(React.createElement(Finished, { installationDevice: this.partitions.installationDevice, hostName: this.users.hostname, userName: this.users.username }));
|
|
606
603
|
let cmd = "reboot";
|
|
607
604
|
if (this.halt) {
|
|
608
605
|
cmd = "poweroff";
|
|
@@ -610,15 +607,14 @@ class Sequence {
|
|
|
610
607
|
if (this.unattended && this.nointeractive) {
|
|
611
608
|
console.log(`System will ${cmd} in 5 seconds...`);
|
|
612
609
|
await sleep(5000);
|
|
613
|
-
await
|
|
610
|
+
await exec(cmd, { echo: true });
|
|
614
611
|
}
|
|
615
612
|
else {
|
|
616
|
-
|
|
617
|
-
await
|
|
613
|
+
Utils.pressKeyToExit(`Press a key to ${cmd}`);
|
|
614
|
+
await exec(cmd, { echo: true });
|
|
618
615
|
}
|
|
619
616
|
}
|
|
620
617
|
}
|
|
621
|
-
exports.default = Sequence;
|
|
622
618
|
// const ifaces: string[] = fs.readdirSync('/sys/class/net/')
|
|
623
619
|
/**
|
|
624
620
|
*
|
|
@@ -630,7 +626,7 @@ async function redraw(elem) {
|
|
|
630
626
|
opt.debug = false;
|
|
631
627
|
console.clear();
|
|
632
628
|
// await exec('clear', Utils.setEcho(false))
|
|
633
|
-
|
|
629
|
+
render(elem, opt);
|
|
634
630
|
}
|
|
635
631
|
/**
|
|
636
632
|
*
|