penguins-eggs 25.10.19 → 25.10.23
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 +1 -1
- package/README.md +767 -2
- package/README.pdf +1723 -1731
- package/addons/eggs/theme/livecd/isolinux.main.simple.cfg +0 -1
- package/package.json +3 -3
- package/scripts/boot-encrypted-root.sh +177 -0
- package/scripts/mount-encrypted-home.sh +92 -56
- package/dist/classes/bleach.d.ts +0 -37
- package/dist/classes/bleach.js +0 -148
- package/dist/classes/cli-autologin.d.ts +0 -52
- package/dist/classes/cli-autologin.js +0 -252
- package/dist/classes/compressors.d.ts +0 -54
- package/dist/classes/compressors.js +0 -109
- package/dist/classes/daddy.d.ts +0 -26
- package/dist/classes/daddy.js +0 -175
- package/dist/classes/distro.d.ts +0 -32
- package/dist/classes/distro.js +0 -363
- package/dist/classes/diversions.d.ts +0 -53
- package/dist/classes/diversions.js +0 -152
- package/dist/classes/incubation/branding.d.ts +0 -17
- package/dist/classes/incubation/branding.js +0 -85
- package/dist/classes/incubation/customize/customize-partitions.d.ts +0 -4
- package/dist/classes/incubation/customize/customize-partitions.js +0 -29
- package/dist/classes/incubation/fisherman-helper/initcpio.d.ts +0 -1
- package/dist/classes/incubation/fisherman-helper/initcpio.js +0 -69
- package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
- package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
- package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
- package/dist/classes/incubation/fisherman-helper/settings.js +0 -116
- package/dist/classes/incubation/fisherman.d.ts +0 -71
- package/dist/classes/incubation/fisherman.js +0 -281
- package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/alpine.js +0 -78
- package/dist/classes/incubation/incubator.d/archlinux.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/archlinux.js +0 -82
- package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/bionic.js +0 -83
- package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/buster.js +0 -101
- package/dist/classes/incubation/incubator.d/fedora.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/fedora.js +0 -81
- package/dist/classes/incubation/incubator.d/focal.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/focal.js +0 -85
- package/dist/classes/incubation/incubator.d/manjaro.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/manjaro.js +0 -82
- package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/noble.js +0 -102
- package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
- package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/opensuse.js +0 -81
- package/dist/classes/incubation/incubator.d/trixie.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/trixie.js +0 -98
- package/dist/classes/incubation/incubator.d.ts +0 -48
- package/dist/classes/incubation/incubator.js +0 -378
- package/dist/classes/incubation/installer.d.ts +0 -13
- package/dist/classes/incubation/installer.js +0 -52
- package/dist/classes/keyboards.d.ts +0 -50
- package/dist/classes/keyboards.js +0 -287
- package/dist/classes/locales.d.ts +0 -21
- package/dist/classes/locales.js +0 -77
- package/dist/classes/network.d.ts +0 -37
- package/dist/classes/network.js +0 -98
- package/dist/classes/ovary.d/bind-live-fs.d.ts +0 -18
- package/dist/classes/ovary.d/bind-live-fs.js +0 -185
- package/dist/classes/ovary.d/bind-vfs.d.ts +0 -17
- package/dist/classes/ovary.d/bind-vfs.js +0 -37
- package/dist/classes/ovary.d/create-xdg-autostart.d.ts +0 -13
- package/dist/classes/ovary.d/create-xdg-autostart.js +0 -194
- package/dist/classes/ovary.d/edit-live-fs.d.ts +0 -20
- package/dist/classes/ovary.d/edit-live-fs.js +0 -239
- package/dist/classes/ovary.d/fertilization.d.ts +0 -12
- package/dist/classes/ovary.d/fertilization.js +0 -53
- package/dist/classes/ovary.d/finished.d.ts +0 -13
- package/dist/classes/ovary.d/finished.js +0 -40
- package/dist/classes/ovary.d/initrd.d.ts +0 -21
- package/dist/classes/ovary.d/initrd.js +0 -95
- package/dist/classes/ovary.d/kernel-copy.d.ts +0 -12
- package/dist/classes/ovary.d/kernel-copy.js +0 -22
- package/dist/classes/ovary.d/live-create-structure.d.ts +0 -12
- package/dist/classes/ovary.d/live-create-structure.js +0 -70
- package/dist/classes/ovary.d/luks-get-password.d.ts +0 -12
- package/dist/classes/ovary.d/luks-get-password.js +0 -57
- package/dist/classes/ovary.d/luks-home-support.d.ts +0 -12
- package/dist/classes/ovary.d/luks-home-support.js +0 -75
- package/dist/classes/ovary.d/luks-home.d.ts +0 -15
- package/dist/classes/ovary.d/luks-home.js +0 -140
- package/dist/classes/ovary.d/luks-root-bootstrap-builder.d.ts +0 -11
- package/dist/classes/ovary.d/luks-root-bootstrap-builder.js +0 -45
- package/dist/classes/ovary.d/luks-root.d.ts +0 -15
- package/dist/classes/ovary.d/luks-root.js +0 -126
- package/dist/classes/ovary.d/make-dot-disk.d.ts +0 -12
- package/dist/classes/ovary.d/make-dot-disk.js +0 -62
- package/dist/classes/ovary.d/make-efi.d.ts +0 -14
- package/dist/classes/ovary.d/make-efi.js +0 -274
- package/dist/classes/ovary.d/make-iso.d.ts +0 -13
- package/dist/classes/ovary.d/make-iso.js +0 -45
- package/dist/classes/ovary.d/make-squashfs.d.ts +0 -18
- package/dist/classes/ovary.d/make-squashfs.js +0 -114
- package/dist/classes/ovary.d/merged.d.ts +0 -27
- package/dist/classes/ovary.d/merged.js +0 -78
- package/dist/classes/ovary.d/produce.d.ts +0 -23
- package/dist/classes/ovary.d/produce.js +0 -347
- package/dist/classes/ovary.d/rexec.d.ts +0 -13
- package/dist/classes/ovary.d/rexec.js +0 -34
- package/dist/classes/ovary.d/syslinux.d.ts +0 -12
- package/dist/classes/ovary.d/syslinux.js +0 -82
- package/dist/classes/ovary.d/user-create-live.d.ts +0 -14
- package/dist/classes/ovary.d/user-create-live.js +0 -97
- package/dist/classes/ovary.d/users-remove.d.ts +0 -9
- package/dist/classes/ovary.d/users-remove.js +0 -38
- package/dist/classes/ovary.d/xorriso-command.d.ts +0 -14
- package/dist/classes/ovary.d/xorriso-command.js +0 -121
- package/dist/classes/ovary.d.ts +0 -106
- package/dist/classes/ovary.js +0 -116
- package/dist/classes/pacman.d/alpine.d.ts +0 -56
- package/dist/classes/pacman.d/alpine.js +0 -167
- package/dist/classes/pacman.d/archlinux.d.ts +0 -62
- package/dist/classes/pacman.d/archlinux.js +0 -128
- package/dist/classes/pacman.d/debian.d.ts +0 -65
- package/dist/classes/pacman.d/debian.js +0 -143
- package/dist/classes/pacman.d/fedora.d.ts +0 -53
- package/dist/classes/pacman.d/fedora.js +0 -107
- package/dist/classes/pacman.d/openmamba.d.ts +0 -52
- package/dist/classes/pacman.d/openmamba.js +0 -106
- package/dist/classes/pacman.d/opensuse.d.ts +0 -53
- package/dist/classes/pacman.d/opensuse.js +0 -109
- package/dist/classes/pacman.d.ts +0 -139
- package/dist/classes/pacman.js +0 -683
- package/dist/classes/pve-live.d.ts +0 -17
- package/dist/classes/pve-live.js +0 -52
- package/dist/classes/pxe.d.ts +0 -76
- package/dist/classes/pxe.js +0 -353
- package/dist/classes/settings.d.ts +0 -52
- package/dist/classes/settings.js +0 -185
- package/dist/classes/sources_list.d.ts +0 -28
- package/dist/classes/sources_list.js +0 -89
- package/dist/classes/systemctl.d.ts +0 -47
- package/dist/classes/systemctl.js +0 -86
- package/dist/classes/tailor.d.ts +0 -50
- package/dist/classes/tailor.js +0 -563
- package/dist/classes/tools.d.ts +0 -26
- package/dist/classes/tools.js +0 -50
- package/dist/classes/users.d.ts +0 -28
- package/dist/classes/users.js +0 -143
- package/dist/classes/utils.d/kernel.d.ts +0 -39
- package/dist/classes/utils.d/kernel.js +0 -206
- package/dist/classes/utils.d.ts +0 -328
- package/dist/classes/utils.js +0 -958
- package/dist/classes/xdg.d.ts +0 -45
- package/dist/classes/xdg.js +0 -337
- package/dist/classes/yolk.d.ts +0 -33
- package/dist/classes/yolk.js +0 -114
- package/dist/commands/adapt.d.ts +0 -17
- package/dist/commands/adapt.js +0 -33
- package/dist/commands/analyze.d.ts +0 -26
- package/dist/commands/analyze.js +0 -95
- package/dist/commands/calamares.d.ts +0 -29
- package/dist/commands/calamares.js +0 -112
- package/dist/commands/config.d.ts +0 -35
- package/dist/commands/config.js +0 -120
- package/dist/commands/cuckoo.d.ts +0 -17
- package/dist/commands/cuckoo.js +0 -61
- package/dist/commands/dad.d.ts +0 -21
- package/dist/commands/dad.js +0 -47
- package/dist/commands/export/iso.d.ts +0 -19
- package/dist/commands/export/iso.js +0 -55
- package/dist/commands/export/pkg.d.ts +0 -29
- package/dist/commands/export/pkg.js +0 -173
- package/dist/commands/export/tarballs.d.ts +0 -27
- package/dist/commands/export/tarballs.js +0 -79
- package/dist/commands/install.d.ts +0 -39
- package/dist/commands/install.js +0 -113
- package/dist/commands/kill.d.ts +0 -24
- package/dist/commands/kill.js +0 -50
- package/dist/commands/love.d.ts +0 -24
- package/dist/commands/love.js +0 -111
- package/dist/commands/mom.d.ts +0 -16
- package/dist/commands/mom.js +0 -30
- package/dist/commands/pods.d.ts +0 -22
- package/dist/commands/pods.js +0 -92
- package/dist/commands/produce.d.ts +0 -36
- package/dist/commands/produce.js +0 -218
- package/dist/commands/status.d.ts +0 -23
- package/dist/commands/status.js +0 -31
- package/dist/commands/tools/clean.d.ts +0 -18
- package/dist/commands/tools/clean.js +0 -37
- package/dist/commands/tools/repo.d.ts +0 -31
- package/dist/commands/tools/repo.js +0 -246
- package/dist/commands/tools/skel.d.ts +0 -18
- package/dist/commands/tools/skel.js +0 -44
- package/dist/commands/tools/stat.d.ts +0 -31
- package/dist/commands/tools/stat.js +0 -70
- package/dist/commands/tools/yolk.d.ts +0 -24
- package/dist/commands/tools/yolk.js +0 -45
- package/dist/commands/update.d.ts +0 -46
- package/dist/commands/update.js +0 -238
- package/dist/commands/wardrobe/get.d.ts +0 -23
- package/dist/commands/wardrobe/get.js +0 -52
- package/dist/commands/wardrobe/list.d.ts +0 -24
- package/dist/commands/wardrobe/list.js +0 -125
- package/dist/commands/wardrobe/show.d.ts +0 -25
- package/dist/commands/wardrobe/show.js +0 -97
- package/dist/commands/wardrobe/wear.d.ts +0 -26
- package/dist/commands/wardrobe/wear.js +0 -84
- package/dist/dhcpd-proxy/classes/packet.d.ts +0 -36
- package/dist/dhcpd-proxy/classes/packet.js +0 -124
- package/dist/dhcpd-proxy/index.d.ts +0 -4
- package/dist/dhcpd-proxy/index.js +0 -4
- package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +0 -45
- package/dist/dhcpd-proxy/interfaces/i-pxe.js +0 -1
- package/dist/dhcpd-proxy/lib/packet/converters.d.ts +0 -11
- package/dist/dhcpd-proxy/lib/packet/converters.js +0 -395
- package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +0 -10
- package/dist/dhcpd-proxy/lib/packet/message-types.js +0 -12
- package/dist/dhcpd-proxy/lib/packet/options.d.ts +0 -8
- package/dist/dhcpd-proxy/lib/packet/options.js +0 -264
- package/dist/dhcpd-proxy/lib/sprintf.d.ts +0 -6
- package/dist/dhcpd-proxy/lib/sprintf.js +0 -130
- package/dist/dhcpd-proxy/lib/utils.d.ts +0 -126
- package/dist/dhcpd-proxy/lib/utils.js +0 -255
- package/dist/dhcpd-proxy/simple-proxy.d.ts +0 -11
- package/dist/dhcpd-proxy/simple-proxy.js +0 -118
- package/dist/index.d.ts +0 -8
- package/dist/index.js +0 -8
- package/dist/interfaces/calamares/i-calamares-bootloader.d.ts +0 -23
- package/dist/interfaces/calamares/i-calamares-bootloader.js +0 -7
- package/dist/interfaces/calamares/i-calamares-branding.d.ts +0 -46
- package/dist/interfaces/calamares/i-calamares-branding.js +0 -1
- package/dist/interfaces/calamares/i-calamares-displaymanager.d.ts +0 -34
- package/dist/interfaces/calamares/i-calamares-displaymanager.js +0 -1
- package/dist/interfaces/calamares/i-calamares-finished.d.ts +0 -14
- package/dist/interfaces/calamares/i-calamares-finished.js +0 -1
- package/dist/interfaces/calamares/i-calamares-packages.d.ts +0 -26
- package/dist/interfaces/calamares/i-calamares-packages.js +0 -1
- package/dist/interfaces/calamares/i-calamares-partitions.d.ts +0 -39
- package/dist/interfaces/calamares/i-calamares-partitions.js +0 -1
- package/dist/interfaces/calamares/i-calamares-settings.d.ts +0 -36
- package/dist/interfaces/calamares/i-calamares-settings.js +0 -1
- package/dist/interfaces/i-addons.d.ts +0 -12
- package/dist/interfaces/i-addons.js +0 -8
- package/dist/interfaces/i-analyze.d.ts +0 -17
- package/dist/interfaces/i-analyze.js +0 -17
- package/dist/interfaces/i-app.d.ts +0 -14
- package/dist/interfaces/i-app.js +0 -8
- package/dist/interfaces/i-config-tools.d.ts +0 -15
- package/dist/interfaces/i-config-tools.js +0 -8
- package/dist/interfaces/i-devices.d.ts +0 -20
- package/dist/interfaces/i-devices.js +0 -8
- package/dist/interfaces/i-distro.d.ts +0 -23
- package/dist/interfaces/i-distro.js +0 -8
- package/dist/interfaces/i-drive-list.d.ts +0 -33
- package/dist/interfaces/i-drive-list.js +0 -8
- package/dist/interfaces/i-eggs-config.d.ts +0 -32
- package/dist/interfaces/i-eggs-config.js +0 -8
- package/dist/interfaces/i-excludes.d.ts +0 -14
- package/dist/interfaces/i-excludes.js +0 -8
- package/dist/interfaces/i-exec.d.ts +0 -11
- package/dist/interfaces/i-exec.js +0 -8
- package/dist/interfaces/i-initrd.d.ts +0 -13
- package/dist/interfaces/i-initrd.js +0 -8
- package/dist/interfaces/i-install.d.ts +0 -16
- package/dist/interfaces/i-install.js +0 -8
- package/dist/interfaces/i-installer.d.ts +0 -17
- package/dist/interfaces/i-installer.js +0 -8
- package/dist/interfaces/i-luks-passphrase.d.ts +0 -11
- package/dist/interfaces/i-luks-passphrase.js +0 -8
- package/dist/interfaces/i-materia.d.ts +0 -36
- package/dist/interfaces/i-materia.js +0 -8
- package/dist/interfaces/i-net.d.ts +0 -16
- package/dist/interfaces/i-net.js +0 -8
- package/dist/interfaces/i-os-release.d.ts +0 -5
- package/dist/interfaces/i-os-release.js +0 -1
- package/dist/interfaces/i-packages.d.ts +0 -16
- package/dist/interfaces/i-packages.js +0 -8
- package/dist/interfaces/i-partitions.d.ts +0 -16
- package/dist/interfaces/i-partitions.js +0 -8
- package/dist/interfaces/i-pxe.d.ts +0 -45
- package/dist/interfaces/i-pxe.js +0 -1
- package/dist/interfaces/i-remix.d.ts +0 -21
- package/dist/interfaces/i-remix.js +0 -8
- package/dist/interfaces/i-settings.d.ts +0 -33
- package/dist/interfaces/i-settings.js +0 -8
- package/dist/interfaces/i-user.d.ts +0 -14
- package/dist/interfaces/i-user.js +0 -8
- package/dist/interfaces/i-workdir.d.ts +0 -14
- package/dist/interfaces/i-workdir.js +0 -8
- package/dist/interfaces/i-xkb-model.d.ts +0 -24
- package/dist/interfaces/i-xkb-model.js +0 -8
- package/dist/interfaces/index.d.ts +0 -26
- package/dist/interfaces/index.js +0 -8
- package/dist/krill/classes/cfs.d.ts +0 -17
- package/dist/krill/classes/cfs.js +0 -39
- package/dist/krill/classes/krill_enums.d.ts +0 -37
- package/dist/krill/classes/krill_enums.js +0 -41
- package/dist/krill/classes/prepare.d/confirm.d.ts +0 -5
- package/dist/krill/classes/prepare.d/confirm.js +0 -30
- package/dist/krill/classes/prepare.d/keyboard.d.ts +0 -14
- package/dist/krill/classes/prepare.d/keyboard.js +0 -62
- package/dist/krill/classes/prepare.d/location.d.ts +0 -17
- package/dist/krill/classes/prepare.d/location.js +0 -59
- package/dist/krill/classes/prepare.d/network.d.ts +0 -14
- package/dist/krill/classes/prepare.d/network.js +0 -68
- package/dist/krill/classes/prepare.d/partitions.d.ts +0 -14
- package/dist/krill/classes/prepare.d/partitions.js +0 -86
- package/dist/krill/classes/prepare.d/summary.d.ts +0 -15
- package/dist/krill/classes/prepare.d/summary.js +0 -72
- package/dist/krill/classes/prepare.d/users.d.ts +0 -6
- package/dist/krill/classes/prepare.d/users.js +0 -63
- package/dist/krill/classes/prepare.d/welcome.d.ts +0 -6
- package/dist/krill/classes/prepare.d/welcome.js +0 -30
- package/dist/krill/classes/prepare.d.ts +0 -89
- package/dist/krill/classes/prepare.js +0 -319
- package/dist/krill/classes/sequence.d/add_user.d.ts +0 -20
- package/dist/krill/classes/sequence.d/add_user.js +0 -77
- package/dist/krill/classes/sequence.d/bootloader.d.ts +0 -14
- package/dist/krill/classes/sequence.d/bootloader.js +0 -117
- package/dist/krill/classes/sequence.d/bootloader_config.d.ts +0 -14
- package/dist/krill/classes/sequence.d/bootloader_config.js +0 -192
- package/dist/krill/classes/sequence.d/change_password.d.ts +0 -15
- package/dist/krill/classes/sequence.d/change_password.js +0 -18
- package/dist/krill/classes/sequence.d/del_live_user.d.ts +0 -14
- package/dist/krill/classes/sequence.d/del_live_user.js +0 -39
- package/dist/krill/classes/sequence.d/fstab.d.ts +0 -14
- package/dist/krill/classes/sequence.d/fstab.js +0 -177
- package/dist/krill/classes/sequence.d/grubcfg.d.ts +0 -17
- package/dist/krill/classes/sequence.d/grubcfg.js +0 -35
- package/dist/krill/classes/sequence.d/hostname.d.ts +0 -13
- package/dist/krill/classes/sequence.d/hostname.js +0 -50
- package/dist/krill/classes/sequence.d/initramfs.d.ts +0 -13
- package/dist/krill/classes/sequence.d/initramfs.js +0 -54
- package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +0 -14
- package/dist/krill/classes/sequence.d/initramfs_cfg.js +0 -35
- package/dist/krill/classes/sequence.d/locale.d.ts +0 -13
- package/dist/krill/classes/sequence.d/locale.js +0 -91
- package/dist/krill/classes/sequence.d/locale_cfg.d.ts +0 -10
- package/dist/krill/classes/sequence.d/locale_cfg.js +0 -58
- package/dist/krill/classes/sequence.d/m_keyboard.d.ts +0 -14
- package/dist/krill/classes/sequence.d/m_keyboard.js +0 -58
- package/dist/krill/classes/sequence.d/machine_id.d.ts +0 -15
- package/dist/krill/classes/sequence.d/machine_id.js +0 -33
- package/dist/krill/classes/sequence.d/mkfs.d.ts +0 -15
- package/dist/krill/classes/sequence.d/mkfs.js +0 -88
- package/dist/krill/classes/sequence.d/mount_fs.d.ts +0 -17
- package/dist/krill/classes/sequence.d/mount_fs.js +0 -68
- package/dist/krill/classes/sequence.d/mount_vfs.d.ts +0 -17
- package/dist/krill/classes/sequence.d/mount_vfs.js +0 -59
- package/dist/krill/classes/sequence.d/network_cfg.d.ts +0 -19
- package/dist/krill/classes/sequence.d/network_cfg.js +0 -73
- package/dist/krill/classes/sequence.d/packages.d.ts +0 -14
- package/dist/krill/classes/sequence.d/packages.js +0 -111
- package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +0 -17
- package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +0 -73
- package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +0 -16
- package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +0 -51
- package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +0 -17
- package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +0 -77
- package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +0 -10
- package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -33
- package/dist/krill/classes/sequence.d/partition.d.ts +0 -14
- package/dist/krill/classes/sequence.d/partition.js +0 -84
- package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +0 -13
- package/dist/krill/classes/sequence.d/remove_installer_link.js +0 -35
- package/dist/krill/classes/sequence.d/umount.d.ts +0 -14
- package/dist/krill/classes/sequence.d/umount.js +0 -28
- package/dist/krill/classes/sequence.d/unpackfs.d.ts +0 -13
- package/dist/krill/classes/sequence.d/unpackfs.js +0 -20
- package/dist/krill/classes/sequence.d.ts +0 -134
- package/dist/krill/classes/sequence.js +0 -400
- package/dist/krill/components/finished.d.ts +0 -16
- package/dist/krill/components/finished.js +0 -56
- package/dist/krill/components/information.d.ts +0 -8
- package/dist/krill/components/information.js +0 -162
- package/dist/krill/components/install.d.ts +0 -15
- package/dist/krill/components/install.js +0 -60
- package/dist/krill/components/keyboard.d.ts +0 -16
- package/dist/krill/components/keyboard.js +0 -54
- package/dist/krill/components/location.d.ts +0 -16
- package/dist/krill/components/location.js +0 -59
- package/dist/krill/components/network.d.ts +0 -19
- package/dist/krill/components/network.js +0 -65
- package/dist/krill/components/partitions.d.ts +0 -18
- package/dist/krill/components/partitions.js +0 -89
- package/dist/krill/components/steps.d.ts +0 -13
- package/dist/krill/components/steps.js +0 -148
- package/dist/krill/components/summary.d.ts +0 -25
- package/dist/krill/components/summary.js +0 -77
- package/dist/krill/components/title.d.ts +0 -11
- package/dist/krill/components/title.js +0 -35
- package/dist/krill/components/users.d.ts +0 -24
- package/dist/krill/components/users.js +0 -80
- package/dist/krill/components/welcome.d.ts +0 -13
- package/dist/krill/components/welcome.js +0 -63
- package/dist/krill/interfaces/i_krill.d.ts +0 -44
- package/dist/krill/interfaces/i_krill.js +0 -8
- package/dist/krill/interfaces/i_krill_config.d.ts +0 -35
- package/dist/krill/interfaces/i_krill_config.js +0 -8
- package/dist/krill/lib/get_address.d.ts +0 -8
- package/dist/krill/lib/get_address.js +0 -23
- package/dist/krill/lib/get_dns.d.ts +0 -8
- package/dist/krill/lib/get_dns.js +0 -23
- package/dist/krill/lib/get_domain.d.ts +0 -8
- package/dist/krill/lib/get_domain.js +0 -23
- package/dist/krill/lib/get_gateway.d.ts +0 -8
- package/dist/krill/lib/get_gateway.js +0 -23
- package/dist/krill/lib/get_hostname.d.ts +0 -8
- package/dist/krill/lib/get_hostname.js +0 -23
- package/dist/krill/lib/get_luks_passphrase.d.ts +0 -8
- package/dist/krill/lib/get_luks_passphrase.js +0 -32
- package/dist/krill/lib/get_netmask.d.ts +0 -8
- package/dist/krill/lib/get_netmask.js +0 -23
- package/dist/krill/lib/get_password.d.ts +0 -8
- package/dist/krill/lib/get_password.js +0 -36
- package/dist/krill/lib/get_userfullname.d.ts +0 -8
- package/dist/krill/lib/get_userfullname.js +0 -23
- package/dist/krill/lib/get_username.d.ts +0 -8
- package/dist/krill/lib/get_username.js +0 -23
- package/dist/krill/lib/select_address_type.d.ts +0 -8
- package/dist/krill/lib/select_address_type.js +0 -24
- package/dist/krill/lib/select_filesystem_type.d.ts +0 -8
- package/dist/krill/lib/select_filesystem_type.js +0 -40
- package/dist/krill/lib/select_installation_device.d.ts +0 -8
- package/dist/krill/lib/select_installation_device.js +0 -40
- package/dist/krill/lib/select_installation_mode.d.ts +0 -9
- package/dist/krill/lib/select_installation_mode.js +0 -25
- package/dist/krill/lib/select_interface.d.ts +0 -8
- package/dist/krill/lib/select_interface.js +0 -24
- package/dist/krill/lib/select_keyboard_layout.d.ts +0 -11
- package/dist/krill/lib/select_keyboard_layout.js +0 -36
- package/dist/krill/lib/select_keyboard_model.d.ts +0 -11
- package/dist/krill/lib/select_keyboard_model.js +0 -34
- package/dist/krill/lib/select_keyboard_option.d.ts +0 -11
- package/dist/krill/lib/select_keyboard_option.js +0 -34
- package/dist/krill/lib/select_keyboard_variant.d.ts +0 -11
- package/dist/krill/lib/select_keyboard_variant.js +0 -35
- package/dist/krill/lib/select_languages.d.ts +0 -8
- package/dist/krill/lib/select_languages.js +0 -28
- package/dist/krill/lib/select_regions.d.ts +0 -8
- package/dist/krill/lib/select_regions.js +0 -24
- package/dist/krill/lib/select_replaced_partition.d.ts +0 -8
- package/dist/krill/lib/select_replaced_partition.js +0 -31
- package/dist/krill/lib/select_user_swap_choice.d.ts +0 -9
- package/dist/krill/lib/select_user_swap_choice.js +0 -35
- package/dist/krill/lib/select_zones.d.ts +0 -8
- package/dist/krill/lib/select_zones.js +0 -518
- package/dist/lib/kill_me_softly.d.ts +0 -11
- package/dist/lib/kill_me_softly.js +0 -61
- package/dist/lib/utils.d.ts +0 -19
- package/dist/lib/utils.js +0 -65
- package/scripts/luks-root-bootstrap-create.sh +0 -235
- package/scripts/luks-root-unlock.sh +0 -172
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/prepare.d/welcome.tsx
|
|
3
|
-
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
8
|
-
*/
|
|
9
|
-
import React from 'react';
|
|
10
|
-
import { confirm } from './confirm.js';
|
|
11
|
-
import Location from '../../components/location.js';
|
|
12
|
-
import selectRegions from '../../lib/select_regions.js';
|
|
13
|
-
import selectZones from '../../lib/select_zones.js';
|
|
14
|
-
import axios from 'axios';
|
|
15
|
-
import shx from 'shelljs';
|
|
16
|
-
/**
|
|
17
|
-
*
|
|
18
|
-
* @param this
|
|
19
|
-
* @param language
|
|
20
|
-
* @returns
|
|
21
|
-
*/
|
|
22
|
-
export async function location(language) {
|
|
23
|
-
let region = this.krillConfig.region;
|
|
24
|
-
if (region === '' || region === undefined) {
|
|
25
|
-
let region = shx.exec('cut -f1 -d/ < /etc/timezone', { silent: true }).stdout.trim();
|
|
26
|
-
}
|
|
27
|
-
let zone = this.krillConfig.zone;
|
|
28
|
-
if (zone === '' || zone === undefined) {
|
|
29
|
-
zone = shx.exec('cut -f2 -d/ < /etc/timezone', { silent: true }).stdout.trim();
|
|
30
|
-
}
|
|
31
|
-
// Try to auto-configure timezone by internet
|
|
32
|
-
const url = `https://geoip.kde.org/v1/calamares`;
|
|
33
|
-
try {
|
|
34
|
-
const response = await axios.get(url);
|
|
35
|
-
if (response.statusText === 'OK') {
|
|
36
|
-
const data = JSON.stringify(response.data);
|
|
37
|
-
const obj = JSON.parse(data);
|
|
38
|
-
region = obj.time_zone.substring(0, obj.time_zone.indexOf('/'));
|
|
39
|
-
zone = obj.time_zone.substring(obj.time_zone.indexOf('/') + 1);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
catch (error) {
|
|
43
|
-
console.error('error: ' + error);
|
|
44
|
-
}
|
|
45
|
-
let locationElem;
|
|
46
|
-
while (true) {
|
|
47
|
-
locationElem = React.createElement(Location, { language: language, region: region, zone: zone });
|
|
48
|
-
if (await confirm(locationElem, "Confirm location datas?")) {
|
|
49
|
-
break;
|
|
50
|
-
}
|
|
51
|
-
region = await selectRegions(region);
|
|
52
|
-
zone = await selectZones(region);
|
|
53
|
-
}
|
|
54
|
-
return {
|
|
55
|
-
language: language,
|
|
56
|
-
region: region,
|
|
57
|
-
zone: zone
|
|
58
|
-
};
|
|
59
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/prepare.d/welcome.tsx
|
|
3
|
-
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
8
|
-
*/
|
|
9
|
-
import { INet } from '../../../interfaces/index.js';
|
|
10
|
-
import Prepare from '../prepare.js';
|
|
11
|
-
/**
|
|
12
|
-
* Network
|
|
13
|
-
*/
|
|
14
|
-
export declare function network(this: Prepare): Promise<INet>;
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/prepare.d/welcome.tsx
|
|
3
|
-
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
8
|
-
*/
|
|
9
|
-
import React from 'react';
|
|
10
|
-
import { confirm } from './confirm.js';
|
|
11
|
-
import Network from '../../components/network.js';
|
|
12
|
-
import Utils from '../../../classes/utils.js';
|
|
13
|
-
import selectInterface from '../../lib/select_interface.js';
|
|
14
|
-
import selectAddressType from '../../lib/select_address_type.js';
|
|
15
|
-
import getAddress from '../../lib/get_address.js';
|
|
16
|
-
import getNetmask from '../../lib/get_netmask.js';
|
|
17
|
-
import getGateway from '../../lib/get_gateway.js';
|
|
18
|
-
import getDomain from '../../lib/get_domain.js';
|
|
19
|
-
import getDns from '../../lib/get_dns.js';
|
|
20
|
-
import fs from 'fs';
|
|
21
|
-
/**
|
|
22
|
-
* Network
|
|
23
|
-
*/
|
|
24
|
-
export async function network() {
|
|
25
|
-
const i = {};
|
|
26
|
-
const ifaces = fs.readdirSync('/sys/class/net/');
|
|
27
|
-
i.iface = await Utils.iface();
|
|
28
|
-
i.addressType = 'dhcp';
|
|
29
|
-
i.address = Utils.address();
|
|
30
|
-
i.netmask = Utils.netmask();
|
|
31
|
-
i.gateway = Utils.gateway();
|
|
32
|
-
i.dns = Utils.getDns();
|
|
33
|
-
i.domain = Utils.getDomain();
|
|
34
|
-
let dnsString = '';
|
|
35
|
-
for (let c = 0; c < i.dns.length; c++) {
|
|
36
|
-
dnsString += i.dns[c].trim();
|
|
37
|
-
if (c < i.dns.length - 1) {
|
|
38
|
-
dnsString += '; ';
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
let networkElem;
|
|
42
|
-
while (true) {
|
|
43
|
-
networkElem = React.createElement(Network, { iface: i.iface, addressType: i.addressType, address: i.address, netmask: i.netmask, gateway: i.gateway, domain: i.domain, dns: dnsString });
|
|
44
|
-
if (await confirm(networkElem, "Confirm Network datas?")) {
|
|
45
|
-
break;
|
|
46
|
-
}
|
|
47
|
-
i.iface = await selectInterface(i.iface, ifaces);
|
|
48
|
-
i.addressType = await selectAddressType();
|
|
49
|
-
if (i.addressType === 'static') {
|
|
50
|
-
i.address = await getAddress(i.address);
|
|
51
|
-
i.netmask = await getNetmask(i.netmask);
|
|
52
|
-
i.gateway = await getGateway(i.gateway);
|
|
53
|
-
i.domain = await getDomain(i.domain);
|
|
54
|
-
if (i.domain.at(0) !== '.') {
|
|
55
|
-
i.domain = '.' + i.domain;
|
|
56
|
-
}
|
|
57
|
-
i.dns = (await getDns(dnsString)).split(';');
|
|
58
|
-
dnsString = '';
|
|
59
|
-
for (let c = 0; c < i.dns.length; c++) {
|
|
60
|
-
dnsString += i.dns[c].trim();
|
|
61
|
-
if (c < i.dns.length - 1) {
|
|
62
|
-
dnsString += '; ';
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
return i;
|
|
68
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/prepare.d/partitions.tsx
|
|
3
|
-
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
8
|
-
*/
|
|
9
|
-
import { IPartitions } from '../../interfaces/i_krill.js';
|
|
10
|
-
import Prepare from '../prepare.js';
|
|
11
|
-
/**
|
|
12
|
-
* PARTITIONS
|
|
13
|
-
*/
|
|
14
|
-
export declare function partitions(this: Prepare, installationDevice?: string, crypted?: boolean, pve?: boolean, btrfs?: boolean, replace?: string): Promise<IPartitions>;
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/prepare.d/partitions.tsx
|
|
3
|
-
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
8
|
-
*/
|
|
9
|
-
import React from 'react';
|
|
10
|
-
import { confirm } from './confirm.js';
|
|
11
|
-
import Partitions from '../../components/partitions.js';
|
|
12
|
-
import { SwapChoice, InstallationMode } from '../krill_enums.js';
|
|
13
|
-
import selectFileSystemType from '../../lib/select_filesystem_type.js';
|
|
14
|
-
import selectInstallationDevice from '../../lib/select_installation_device.js';
|
|
15
|
-
import selectReplacedPartition from '../../lib/select_replaced_partition.js';
|
|
16
|
-
import selectUserSwapChoice from '../../lib/select_user_swap_choice.js';
|
|
17
|
-
import shx from 'shelljs';
|
|
18
|
-
import selectInstallationMode from '../../lib/select_installation_mode.js';
|
|
19
|
-
/**
|
|
20
|
-
* PARTITIONS
|
|
21
|
-
*/
|
|
22
|
-
export async function partitions(installationDevice = "", crypted = false, pve = false, btrfs = false, replace = '') {
|
|
23
|
-
// Calamares won't use any devices with iso9660 filesystem on it.
|
|
24
|
-
const drives = shx.exec('lsblk |grep disk|cut -f 1 "-d "', { silent: true }).stdout.trim().split('\n');
|
|
25
|
-
let driveList = [];
|
|
26
|
-
drives.forEach((element) => {
|
|
27
|
-
if (!element.includes('zram')) {
|
|
28
|
-
driveList.push('/dev/' + element);
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
installationDevice = driveList[0]; // Solo per selezionare il default
|
|
32
|
-
let replacedPartition = this.krillConfig.replacedPartition;
|
|
33
|
-
let installationMode = this.krillConfig.installationMode;
|
|
34
|
-
let knownInstallationModes = Object.values(InstallationMode);
|
|
35
|
-
let knownSwapChoices = Object.values(SwapChoice);
|
|
36
|
-
if (!knownInstallationModes.includes(installationMode)) {
|
|
37
|
-
installationMode = InstallationMode.EraseDisk;
|
|
38
|
-
}
|
|
39
|
-
if (crypted) {
|
|
40
|
-
installationMode = InstallationMode.Luks;
|
|
41
|
-
}
|
|
42
|
-
let filesystemType = 'ext4';
|
|
43
|
-
let userSwapChoice = {};
|
|
44
|
-
if (knownSwapChoices.includes(this.krillConfig.userSwapChoice))
|
|
45
|
-
userSwapChoice = this.krillConfig.userSwapChoice;
|
|
46
|
-
else {
|
|
47
|
-
userSwapChoice = SwapChoice.Small;
|
|
48
|
-
}
|
|
49
|
-
let partitionsElem;
|
|
50
|
-
while (true) {
|
|
51
|
-
partitionsElem = React.createElement(Partitions, { installationDevice: installationDevice, installationMode: installationMode, filesystemType: filesystemType, userSwapChoice: userSwapChoice, replacedPartition: replacedPartition });
|
|
52
|
-
if (await confirm(partitionsElem, "Confirm Partitions datas?")) {
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
installationDevice = driveList[0]; // Solo per selezionare il default
|
|
57
|
-
installationMode = InstallationMode.EraseDisk;
|
|
58
|
-
if (crypted) {
|
|
59
|
-
installationMode = InstallationMode.Luks;
|
|
60
|
-
}
|
|
61
|
-
installationDevice = await selectInstallationDevice();
|
|
62
|
-
installationMode = await selectInstallationMode();
|
|
63
|
-
if (installationMode === InstallationMode.Replace) {
|
|
64
|
-
replacedPartition = await selectReplacedPartition();
|
|
65
|
-
filesystemType = await selectFileSystemType();
|
|
66
|
-
userSwapChoice = SwapChoice.File;
|
|
67
|
-
}
|
|
68
|
-
else if (installationMode === InstallationMode.EraseDisk) {
|
|
69
|
-
replacedPartition = "";
|
|
70
|
-
filesystemType = await selectFileSystemType();
|
|
71
|
-
userSwapChoice = await selectUserSwapChoice(userSwapChoice);
|
|
72
|
-
}
|
|
73
|
-
else if (installationMode === InstallationMode.Luks) {
|
|
74
|
-
replacedPartition = "";
|
|
75
|
-
userSwapChoice = SwapChoice.File;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
return {
|
|
80
|
-
installationDevice: installationDevice,
|
|
81
|
-
installationMode: installationMode,
|
|
82
|
-
filesystemType: filesystemType,
|
|
83
|
-
userSwapChoice: userSwapChoice,
|
|
84
|
-
replacedPartition: replacedPartition
|
|
85
|
-
};
|
|
86
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/prepare.d/keyboard.tsx
|
|
3
|
-
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
8
|
-
*/
|
|
9
|
-
import { IKeyboard } from '../../interfaces/i_krill.js';
|
|
10
|
-
import Prepare from '../prepare.js';
|
|
11
|
-
import { ILocation, IPartitions, IUsers } from '../../interfaces/i_krill.js';
|
|
12
|
-
/**
|
|
13
|
-
* SUMMARY
|
|
14
|
-
*/
|
|
15
|
-
export declare function summary(this: Prepare, location: ILocation, keyboard: IKeyboard, partitions: IPartitions, users: IUsers): Promise<void>;
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/prepare.d/keyboard.tsx
|
|
3
|
-
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
8
|
-
*/
|
|
9
|
-
import React from 'react';
|
|
10
|
-
import { render } from 'ink';
|
|
11
|
-
import { confirm } from './confirm.js';
|
|
12
|
-
import Summary from '../../components/summary.js';
|
|
13
|
-
import { InstallationMode } from '../krill_enums.js';
|
|
14
|
-
/**
|
|
15
|
-
* SUMMARY
|
|
16
|
-
*/
|
|
17
|
-
export async function summary(location, keyboard, partitions, users) {
|
|
18
|
-
let summaryElem;
|
|
19
|
-
let message = `Double check: data on disk ${partitions.installationDevice} will be completely erased!`;
|
|
20
|
-
let erase = `On disk ${partitions.installationDevice} will be created a root partition formatted: ${partitions.filesystemType}`;
|
|
21
|
-
if (partitions.installationMode === InstallationMode.Replace) {
|
|
22
|
-
message = `Double check: data on partition ${partitions.replacedPartition} will be completely erased!`;
|
|
23
|
-
erase = `Partition root on ${partitions.replacedPartition} will be formatted ${partitions.filesystemType}`;
|
|
24
|
-
}
|
|
25
|
-
else if (partitions.installationMode === InstallationMode.Luks) {
|
|
26
|
-
erase = `On disk ${partitions.installationDevice} will be created a LUKS encrypted volume`;
|
|
27
|
-
}
|
|
28
|
-
if (this.unattended && this.nointeractive) {
|
|
29
|
-
message = `Unattended installation will start in 5 seconds...\npress CTRL-C to abort!`;
|
|
30
|
-
}
|
|
31
|
-
while (true) {
|
|
32
|
-
summaryElem = React.createElement(Summary, { username: users.username, password: users.password, rootPassword: users.rootPassword, hostname: users.hostname, region: location.region, zone: location.zone, language: location.language, keyboardModel: keyboard.keyboardModel, keyboardLayout: keyboard.keyboardLayout, installationDevice: partitions.installationDevice, filesystemType: partitions.filesystemType, message: message, erase: erase });
|
|
33
|
-
if (this.unattended && this.nointeractive) {
|
|
34
|
-
redraw(summaryElem);
|
|
35
|
-
await sleep(5000);
|
|
36
|
-
break;
|
|
37
|
-
}
|
|
38
|
-
else if (this.unattended && !this.nointeractive) {
|
|
39
|
-
if (await confirm(summaryElem, "Read the Summary, confirm or abort")) {
|
|
40
|
-
break;
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
process.exit(0);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
else if (await confirm(summaryElem, "Confirm Summary datas?")) {
|
|
47
|
-
break;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Occorre farglierlo rigenerare a forza
|
|
53
|
-
* anche quando NON cambiano i dati
|
|
54
|
-
* forceUpdate
|
|
55
|
-
*/
|
|
56
|
-
function redraw(elem) {
|
|
57
|
-
let opt = {};
|
|
58
|
-
opt.patchConsole = true;
|
|
59
|
-
opt.debug = false;
|
|
60
|
-
console.clear();
|
|
61
|
-
render(elem, opt);
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
*
|
|
65
|
-
* @param ms
|
|
66
|
-
* @returns
|
|
67
|
-
*/
|
|
68
|
-
function sleep(ms = 0) {
|
|
69
|
-
return new Promise((resolve) => {
|
|
70
|
-
setTimeout(resolve, ms);
|
|
71
|
-
});
|
|
72
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/prepare.d/users.tsx
|
|
3
|
-
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
8
|
-
*/
|
|
9
|
-
import React from 'react';
|
|
10
|
-
import { confirm } from './confirm.js';
|
|
11
|
-
import Users from '../../components/users.js';
|
|
12
|
-
import getUsername from '../../lib/get_username.js';
|
|
13
|
-
import getUserfullname from '../../lib/get_userfullname.js';
|
|
14
|
-
import getPassword from '../../lib/get_password.js';
|
|
15
|
-
import getHostname from '../../lib/get_hostname.js';
|
|
16
|
-
import shx from 'shelljs';
|
|
17
|
-
/**
|
|
18
|
-
* USERS
|
|
19
|
-
*/
|
|
20
|
-
export async function users() {
|
|
21
|
-
let username = this.krillConfig.name;
|
|
22
|
-
if (username === '' || username === undefined) {
|
|
23
|
-
username = 'artisan';
|
|
24
|
-
}
|
|
25
|
-
let fullname = this.krillConfig.fullname;
|
|
26
|
-
if (fullname === '' || fullname === undefined) {
|
|
27
|
-
fullname = username;
|
|
28
|
-
}
|
|
29
|
-
let password = this.krillConfig.password;
|
|
30
|
-
if (password === '' || password === undefined) {
|
|
31
|
-
password = 'evolution';
|
|
32
|
-
}
|
|
33
|
-
let rootPassword = this.krillConfig.rootPassword;
|
|
34
|
-
if (rootPassword === '' || rootPassword === undefined) {
|
|
35
|
-
rootPassword = 'evolution';
|
|
36
|
-
}
|
|
37
|
-
let hostname = this.krillConfig.hostname;
|
|
38
|
-
if (hostname === '' || hostname === undefined) {
|
|
39
|
-
hostname = shx.exec('cat /etc/hostname').trim();
|
|
40
|
-
}
|
|
41
|
-
let autologin = true;
|
|
42
|
-
let sameUserPassword = true;
|
|
43
|
-
let usersElem;
|
|
44
|
-
while (true) {
|
|
45
|
-
usersElem = React.createElement(Users, { username: username, fullname: fullname, hostname: hostname, password: password, rootPassword: rootPassword, autologin: autologin, sameUserPassword: sameUserPassword });
|
|
46
|
-
if (await confirm(usersElem, "Confirm Users datas?")) {
|
|
47
|
-
break;
|
|
48
|
-
}
|
|
49
|
-
username = await getUsername(username);
|
|
50
|
-
fullname = await getUserfullname(fullname);
|
|
51
|
-
password = await getPassword(username, password);
|
|
52
|
-
rootPassword = await getPassword('root', password);
|
|
53
|
-
hostname = await getHostname(hostname);
|
|
54
|
-
}
|
|
55
|
-
return {
|
|
56
|
-
username: username,
|
|
57
|
-
fullname: fullname,
|
|
58
|
-
password: password,
|
|
59
|
-
rootPassword: rootPassword,
|
|
60
|
-
autologin: autologin,
|
|
61
|
-
hostname: hostname
|
|
62
|
-
};
|
|
63
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/prepare.d/welcome.tsx
|
|
3
|
-
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
8
|
-
*/
|
|
9
|
-
import React from 'react';
|
|
10
|
-
import { confirm } from './confirm.js';
|
|
11
|
-
import Welcome from '../../components/welcome.js';
|
|
12
|
-
import selectLanguages from '../../lib/select_languages.js';
|
|
13
|
-
/**
|
|
14
|
-
* WELCOME
|
|
15
|
-
*/
|
|
16
|
-
export async function welcome() {
|
|
17
|
-
let language = this.krillConfig.language;
|
|
18
|
-
if (language === '' || language === undefined) {
|
|
19
|
-
language = await this.locales.getDefault(); // 'en_US.UTF-8'
|
|
20
|
-
}
|
|
21
|
-
let welcomeElem;
|
|
22
|
-
while (true) {
|
|
23
|
-
welcomeElem = React.createElement(Welcome, { language: language });
|
|
24
|
-
if (await confirm(welcomeElem, "Confirm Welcome datas?")) {
|
|
25
|
-
break;
|
|
26
|
-
}
|
|
27
|
-
language = await selectLanguages(language);
|
|
28
|
-
}
|
|
29
|
-
return { language: language };
|
|
30
|
-
}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Krill Installer - Simplified Refactoring
|
|
3
|
-
* ./src/krill/prepare.ts
|
|
4
|
-
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
5
|
-
* author: Piero Proietti
|
|
6
|
-
* email: piero.proietti@gmail.com
|
|
7
|
-
* license: MIT
|
|
8
|
-
*/
|
|
9
|
-
import { IKrillConfig } from '../interfaces/i_krill_config.js';
|
|
10
|
-
import Keyboards from '../../classes/keyboards.js';
|
|
11
|
-
import Locales from '../../classes/locales.js';
|
|
12
|
-
import { welcome } from './prepare.d/welcome.js';
|
|
13
|
-
import { location } from './prepare.d/location.js';
|
|
14
|
-
import { keyboard } from './prepare.d/keyboard.js';
|
|
15
|
-
import { partitions } from './prepare.d/partitions.js';
|
|
16
|
-
import { users } from './prepare.d/users.js';
|
|
17
|
-
import { network } from './prepare.d/network.js';
|
|
18
|
-
import { summary } from './prepare.d/summary.js';
|
|
19
|
-
/**
|
|
20
|
-
* Main Krill installer class - Simplified refactoring
|
|
21
|
-
*/
|
|
22
|
-
export default class Krill {
|
|
23
|
-
welcome: typeof welcome;
|
|
24
|
-
location: typeof location;
|
|
25
|
-
keyboard: typeof keyboard;
|
|
26
|
-
partitions: typeof partitions;
|
|
27
|
-
users: typeof users;
|
|
28
|
-
network: typeof network;
|
|
29
|
-
summary: typeof summary;
|
|
30
|
-
krillConfig: IKrillConfig;
|
|
31
|
-
locales: Locales;
|
|
32
|
-
keyboards: Keyboards;
|
|
33
|
-
unattended: boolean;
|
|
34
|
-
nointeractive: boolean;
|
|
35
|
-
chroot: boolean;
|
|
36
|
-
halt: boolean;
|
|
37
|
-
/**
|
|
38
|
-
* Constructor
|
|
39
|
-
*/
|
|
40
|
-
constructor(unattended?: boolean, nointeractive?: boolean, halt?: boolean, chroot?: boolean);
|
|
41
|
-
/**
|
|
42
|
-
* Main prepare method - Simplified and cleaner
|
|
43
|
-
*/
|
|
44
|
-
prepare(krillConfig?: IKrillConfig, ip?: boolean, random?: boolean, domain?: string, suspend?: boolean, small?: boolean, none?: boolean, crypted?: boolean, pve?: boolean, btrfs?: boolean, replace?: string, testing?: boolean, verbose?: boolean): Promise<void>;
|
|
45
|
-
/**
|
|
46
|
-
* Check system requirements (disks, LVM)
|
|
47
|
-
*/
|
|
48
|
-
private checkSystemRequirements;
|
|
49
|
-
/**
|
|
50
|
-
* Setup configuration files and auto-configure timezone
|
|
51
|
-
*/
|
|
52
|
-
private setupConfiguration;
|
|
53
|
-
/**
|
|
54
|
-
* Auto-configure timezone from internet
|
|
55
|
-
*/
|
|
56
|
-
private autoConfigureTimezone;
|
|
57
|
-
/**
|
|
58
|
-
* Stop system services
|
|
59
|
-
*/
|
|
60
|
-
private stopSystemServices;
|
|
61
|
-
/**
|
|
62
|
-
* Build default configurations
|
|
63
|
-
*/
|
|
64
|
-
private buildConfigurations;
|
|
65
|
-
/**
|
|
66
|
-
* Generate hostname based on options
|
|
67
|
-
*/
|
|
68
|
-
private generateHostname;
|
|
69
|
-
/**
|
|
70
|
-
* Apply options for unattended installation
|
|
71
|
-
*/
|
|
72
|
-
private applyUnattendedOptions;
|
|
73
|
-
/**
|
|
74
|
-
* Run interactive mode with UI
|
|
75
|
-
*/
|
|
76
|
-
private runInteractiveMode;
|
|
77
|
-
/**
|
|
78
|
-
* Perform installation or testing
|
|
79
|
-
*/
|
|
80
|
-
private performInstallation;
|
|
81
|
-
/**
|
|
82
|
-
* Create script to remove LVM partitions
|
|
83
|
-
*/
|
|
84
|
-
private createLvmRemovalScript;
|
|
85
|
-
/**
|
|
86
|
-
* Check if Physical Volumes exist
|
|
87
|
-
*/
|
|
88
|
-
private pvExist;
|
|
89
|
-
}
|