penguins-eggs 10.0.60 → 10.1.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 +93 -1
- package/README.md +79 -40
- package/addons/eggs/theme/calamares/modules/{_users.yml → users.yml} +3 -3
- package/addons/eggs/theme/livecd/grub.main.full.cfg +1 -1
- package/addons/eggs/theme/livecd/grub.main.simple.cfg +1 -1
- package/conf/derivatives.yaml +1 -3
- package/conf/derivatives_fedora.yaml +6 -0
- package/conf/distros/alpine/calamares/modules/users.yml +3 -3
- package/conf/distros/bionic/calamares/calamares-modules/grubcfg/grubcfg.yml +1 -1
- package/conf/distros/bionic/calamares/modules/users.yml +3 -3
- package/conf/distros/buster/calamares/modules/users.yml +3 -3
- package/conf/distros/fedora/calamares/modules/users.yml +3 -3
- package/conf/distros/noble/calamares/modules/focal-jammy/users.yml +3 -3
- package/conf/distros/opensuse/calamares/modules/users.yml +3 -3
- package/conf/distros/rolling/calamares/modules/users.yml +3 -3
- package/conf/eggs.yaml +1 -1
- package/conf/love.yaml +4 -4
- package/package.json +22 -19
- package/perrisbrewery/scripts/postinst +98 -0
- package/perrisbrewery/scripts/postrm +82 -0
- package/perrisbrewery/scripts/preinst +40 -0
- package/perrisbrewery/scripts/prerm +47 -0
- package/perrisbrewery/template/control.template +17 -0
- package/perrisbrewery/template/dependencies-bionic.yaml +33 -0
- package/perrisbrewery/template/dependencies.yaml +37 -0
- package/perrisbrewery/template/man.template.md +110 -0
- package/pods/README.md +14 -0
- package/pods/almalinux.sh +10 -0
- package/pods/archlinux.sh +10 -0
- package/pods/ci/README.md +5 -0
- package/pods/ci/kernel-overlay-install.sh +114 -0
- package/pods/ci/minimal/almalinux-container2host.sh +165 -0
- package/pods/ci/minimal/archlinux-container2host.sh +125 -0
- package/pods/ci/minimal/debian-container2host.sh +173 -0
- package/pods/ci/minimal/fedora-container2host.sh +170 -0
- package/pods/ci/minimal/manjaro-container2host.sh +123 -0
- package/pods/ci/minimal/opensuse-container2host.sh +143 -0
- package/pods/ci/penguins-eggs-execute.sh +22 -0
- package/pods/ci/penguins-eggs-install.sh +115 -0
- package/pods/ci/run +34 -0
- package/pods/ci/run-on-almalinux.sh +50 -0
- package/pods/ci/run-on-archlinux.sh +64 -0
- package/pods/ci/run-on-debian.sh +51 -0
- package/pods/ci/run-on-devuan.sh +48 -0
- package/pods/ci/run-on-fedora.sh +51 -0
- package/pods/ci/run-on-manjaro.sh +61 -0
- package/pods/ci/run-on-opensuse.sh +58 -0
- package/pods/ci/run-on-rockylinux.sh +51 -0
- package/pods/ci/run-on-ubuntu.sh +52 -0
- package/pods/debian.sh +23 -0
- package/pods/devuan.sh +26 -0
- package/pods/fedora.sh +12 -0
- package/pods/lmde.sh +22 -0
- package/pods/manjaro.sh +10 -0
- package/pods/opensuse.sh +12 -0
- package/pods/podman.command.sh +85 -0
- package/pods/rocky.sh +12 -0
- package/pods/run-build-packages-debs.sh +45 -0
- package/pods/run-create-debs.sh +23 -0
- package/pods/ubuntu.sh +24 -0
- package/scripts/_eggs +21 -6
- package/scripts/eggs.bash +6 -4
- package/dist/classes/bleach.d.ts +0 -32
- package/dist/classes/bleach.js +0 -135
- package/dist/classes/cli-autologin.d.ts +0 -52
- package/dist/classes/cli-autologin.js +0 -247
- 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 -167
- package/dist/classes/distro.d.ts +0 -32
- package/dist/classes/distro.js +0 -341
- package/dist/classes/diversions.d.ts +0 -52
- package/dist/classes/diversions.js +0 -126
- package/dist/classes/incubation/branding.d.ts +0 -17
- package/dist/classes/incubation/branding.js +0 -85
- package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +0 -11
- package/dist/classes/incubation/fisherman-helper/displaymanager.js +0 -40
- 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 -83
- package/dist/classes/incubation/fisherman.d.ts +0 -70
- package/dist/classes/incubation/fisherman.js +0 -263
- 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/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 -85
- package/dist/classes/incubation/incubator.d/jessie.d.ts +0 -31
- package/dist/classes/incubation/incubator.d/jessie.js +0 -44
- package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/noble.js +0 -85
- 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/rolling.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/rolling.js +0 -80
- package/dist/classes/incubation/incubator.d.ts +0 -44
- package/dist/classes/incubation/incubator.js +0 -382
- 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 -19
- package/dist/classes/ovary.d/edit-live-fs.js +0 -249
- package/dist/classes/ovary.d/fertilization.d.ts +0 -12
- package/dist/classes/ovary.d/fertilization.js +0 -46
- package/dist/classes/ovary.d/finished.d.ts +0 -13
- package/dist/classes/ovary.d/finished.js +0 -41
- package/dist/classes/ovary.d/initrd.d.ts +0 -21
- package/dist/classes/ovary.d/initrd.js +0 -72
- package/dist/classes/ovary.d/kernel-copy.d.ts +0 -12
- package/dist/classes/ovary.d/kernel-copy.js +0 -36
- package/dist/classes/ovary.d/live-create-structure.d.ts +0 -12
- package/dist/classes/ovary.d/live-create-structure.js +0 -90
- package/dist/classes/ovary.d/make-dot-disk.d.ts +0 -12
- package/dist/classes/ovary.d/make-dot-disk.js +0 -40
- package/dist/classes/ovary.d/make-efi.d.ts +0 -12
- package/dist/classes/ovary.d/make-efi.js +0 -268
- 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 -117
- package/dist/classes/ovary.d/merged.d.ts +0 -31
- package/dist/classes/ovary.d/merged.js +0 -87
- package/dist/classes/ovary.d/produce.d.ts +0 -23
- package/dist/classes/ovary.d/produce.js +0 -287
- 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 -79
- package/dist/classes/ovary.d/user-create-live.d.ts +0 -14
- package/dist/classes/ovary.d/user-create-live.js +0 -86
- 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-commend.d.ts +0 -14
- package/dist/classes/ovary.d/xorriso-commend.js +0 -119
- package/dist/classes/ovary.d.ts +0 -77
- package/dist/classes/ovary.js +0 -81
- package/dist/classes/pacman.d/aldos.d.ts +0 -52
- package/dist/classes/pacman.d/aldos.js +0 -100
- package/dist/classes/pacman.d/alpine.d.ts +0 -56
- package/dist/classes/pacman.d/alpine.js +0 -162
- package/dist/classes/pacman.d/archlinux.d.ts +0 -62
- package/dist/classes/pacman.d/archlinux.js +0 -140
- 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 -101
- package/dist/classes/pacman.d/openmamba.d.ts +0 -52
- package/dist/classes/pacman.d/openmamba.js +0 -100
- package/dist/classes/pacman.d/opensuse.d.ts +0 -53
- package/dist/classes/pacman.d/opensuse.js +0 -102
- package/dist/classes/pacman.d/voidlinux.d.ts +0 -52
- package/dist/classes/pacman.d/voidlinux.js +0 -90
- package/dist/classes/pacman.d.ts +0 -139
- package/dist/classes/pacman.js +0 -775
- package/dist/classes/pve-live.d.ts +0 -17
- package/dist/classes/pve-live.js +0 -52
- package/dist/classes/pxe.d.ts +0 -74
- package/dist/classes/pxe.js +0 -410
- 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 -526
- 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.ts +0 -327
- package/dist/classes/utils.js +0 -1019
- 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 -16
- package/dist/commands/cuckoo.js +0 -62
- package/dist/commands/dad.d.ts +0 -20
- package/dist/commands/dad.js +0 -46
- 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 -163
- package/dist/commands/export/tarballs.d.ts +0 -27
- package/dist/commands/export/tarballs.js +0 -84
- package/dist/commands/install.d.ts +0 -38
- package/dist/commands/install.js +0 -91
- package/dist/commands/kill.d.ts +0 -24
- package/dist/commands/kill.js +0 -50
- package/dist/commands/love.d.ts +0 -20
- package/dist/commands/love.js +0 -59
- package/dist/commands/mom.d.ts +0 -16
- package/dist/commands/mom.js +0 -30
- package/dist/commands/produce.d.ts +0 -34
- package/dist/commands/produce.js +0 -201
- package/dist/commands/status.d.ts +0 -23
- package/dist/commands/status.js +0 -31
- package/dist/commands/syncfrom.d.ts +0 -45
- package/dist/commands/syncfrom.js +0 -152
- package/dist/commands/syncto.d.ts +0 -40
- package/dist/commands/syncto.js +0 -175
- package/dist/commands/tools/clean.d.ts +0 -18
- package/dist/commands/tools/clean.js +0 -37
- package/dist/commands/tools/ppa.d.ts +0 -26
- package/dist/commands/tools/ppa.js +0 -138
- 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 -51
- package/dist/commands/update.js +0 -219
- 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/index.d.ts +0 -54
- package/dist/index.js +0 -147
- package/dist/index_old.d.ts +0 -8
- package/dist/index_old.js +0 -8
- 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-branding.d.ts +0 -36
- package/dist/interfaces/i-branding.js +0 -8
- package/dist/interfaces/i-calamares-displaymanager.d.ts +0 -17
- package/dist/interfaces/i-calamares-displaymanager.js +0 -1
- package/dist/interfaces/i-calamares-finished.d.ts +0 -12
- package/dist/interfaces/i-calamares-finished.js +0 -1
- package/dist/interfaces/i-calamares-packages.d.ts +0 -28
- package/dist/interfaces/i-calamares-packages.js +0 -1
- package/dist/interfaces/i-calamares-partition.d.ts +0 -40
- package/dist/interfaces/i-calamares-partition.js +0 -1
- 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 -24
- package/dist/krill/classes/krill_enums.js +0 -26
- 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 -69
- 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 -64
- package/dist/krill/classes/prepare.js +0 -314
- package/dist/krill/classes/sequence.d/add_user.d.ts +0 -20
- package/dist/krill/classes/sequence.d/add_user.js +0 -48
- package/dist/krill/classes/sequence.d/bootloader.d.ts +0 -14
- package/dist/krill/classes/sequence.d/bootloader.js +0 -95
- package/dist/krill/classes/sequence.d/bootloader_config.d.ts +0 -14
- package/dist/krill/classes/sequence.d/bootloader_config.js +0 -165
- 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 -189
- package/dist/krill/classes/sequence.d/grubcfg.d.ts +0 -17
- package/dist/krill/classes/sequence.d/grubcfg.js +0 -33
- 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 -72
- 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 -40
- 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 -17
- package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +0 -36
- 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 -78
- 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 -32
- 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 -136
- package/dist/krill/classes/sequence.js +0 -663
- 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 -156
- 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 -40
- 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/kill_me_softly.d.ts +0 -11
- package/dist/krill/lib/kill_me_softly.js +0 -61
- 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 -39
- 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/utils.d.ts +0 -42
- package/dist/lib/utils.js +0 -87
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/partition.d/bios-luks.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / 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 { exec } from '../../../../lib/utils.js';
|
|
10
|
-
import Utils from '../../../../classes/utils.js';
|
|
11
|
-
import getLuksPassphrase from '../../../lib/get_luks_passphrase.js';
|
|
12
|
-
// React
|
|
13
|
-
import React from 'react';
|
|
14
|
-
import { render } from 'ink';
|
|
15
|
-
import Install from '../../../components/install.js';
|
|
16
|
-
/**
|
|
17
|
-
*
|
|
18
|
-
* @param this
|
|
19
|
-
* @param installDevice
|
|
20
|
-
* @param p
|
|
21
|
-
* @returns
|
|
22
|
-
*/
|
|
23
|
-
export default async function biosLuks(installDevice = "", p = "") {
|
|
24
|
-
await exec(`parted --script ${installDevice} mklabel msdos`, this.echo);
|
|
25
|
-
await exec(`parted --script --align optimal ${installDevice} mkpart primary ext4 1MiB 512MiB`, this.echo); // sda1
|
|
26
|
-
await exec(`parted --script --align optimal ${installDevice} mkpart primary ext4 512MiB 100%`, this.echo); // sda3
|
|
27
|
-
await exec(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
|
|
28
|
-
await exec(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
|
|
29
|
-
// BOOT 512M
|
|
30
|
-
this.devices.boot.name = `${installDevice}${p}1`; // 'boot'
|
|
31
|
-
this.devices.boot.fsType = 'ext4';
|
|
32
|
-
this.devices.boot.mountPoint = '/boot';
|
|
33
|
-
// disabilito spinner per introduzione passphrase
|
|
34
|
-
let message = "Creating partitions";
|
|
35
|
-
await redraw(React.createElement(Install, { message: message, percent: 0 }));
|
|
36
|
-
const passphrase = await getLuksPassphrase('3volution', '3volution'); // It'd just a default to test, it's ok
|
|
37
|
-
await redraw(React.createElement(Install, { message: message, percent: 0, spinner: this.spinner }));
|
|
38
|
-
// Aggiungi parametri di sicurezza espliciti
|
|
39
|
-
const cipher = "aes-xts-plain64";
|
|
40
|
-
const keySize = "512";
|
|
41
|
-
const hash = "sha512";
|
|
42
|
-
// ROOT
|
|
43
|
-
const cryptoRoot = await exec(`echo -n "${passphrase}" | cryptsetup --batch-mode --cipher ${cipher} --key-size ${keySize} --hash ${hash} --type luks2 --key-file=- -v luksFormat ${installDevice}${p}2`, this.echo);
|
|
44
|
-
if (cryptoRoot.code !== 0) {
|
|
45
|
-
Utils.warning(`Error: ${cryptoRoot.code} ${cryptoRoot.data}`);
|
|
46
|
-
process.exit(1);
|
|
47
|
-
}
|
|
48
|
-
const cryptoRootOpen = await exec(`echo -n "${passphrase}" | cryptsetup --key-file=- --type luks2 luksOpen ${installDevice}${p}2 root_crypted`, this.echo);
|
|
49
|
-
if (cryptoRootOpen.code !== 0) {
|
|
50
|
-
Utils.warning(`Error: ${cryptoRootOpen.code} ${cryptoRootOpen.data}`);
|
|
51
|
-
process.exit(1);
|
|
52
|
-
}
|
|
53
|
-
// this.devices.boot.name = DEFINED`
|
|
54
|
-
this.devices.data.name = 'none';
|
|
55
|
-
this.devices.efi.name = 'none';
|
|
56
|
-
this.devices.root.name = '/dev/mapper/root_crypted';
|
|
57
|
-
this.devices.root.cryptedFrom = `${installDevice}${p}2`;
|
|
58
|
-
this.devices.root.fsType = 'ext4';
|
|
59
|
-
this.devices.root.mountPoint = '/';
|
|
60
|
-
this.devices.swap.name = 'none';
|
|
61
|
-
return true;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
*
|
|
65
|
-
* @param elem
|
|
66
|
-
*/
|
|
67
|
-
async function redraw(elem) {
|
|
68
|
-
let opt = {};
|
|
69
|
-
opt.patchConsole = false;
|
|
70
|
-
opt.debug = true;
|
|
71
|
-
console.clear();
|
|
72
|
-
render(elem, opt);
|
|
73
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/partition.d/bios-standard.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / 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 Sequence from '../../sequence.js';
|
|
10
|
-
/**
|
|
11
|
-
*
|
|
12
|
-
* @param this
|
|
13
|
-
* @param installDevice
|
|
14
|
-
* @param p
|
|
15
|
-
* @returns
|
|
16
|
-
*/
|
|
17
|
-
export default function biosStandard(this: Sequence, installDevice?: string, p?: string): Promise<boolean>;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/partition.d/bios-standard.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / 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 { exec } from '../../../../lib/utils.js';
|
|
10
|
-
/**
|
|
11
|
-
*
|
|
12
|
-
* @param this
|
|
13
|
-
* @param installDevice
|
|
14
|
-
* @param p
|
|
15
|
-
* @returns
|
|
16
|
-
*/
|
|
17
|
-
export default async function biosStandard(installDevice = "", p = "") {
|
|
18
|
-
await exec(`parted --script ${installDevice} mklabel msdos`, this.echo);
|
|
19
|
-
await exec(`parted --script --align optimal ${installDevice} mkpart primary linux-swap 1MiB ${this.swapSize + 1}MiB`, this.echo); // dev/sda1 swap
|
|
20
|
-
await exec(`parted --script --align optimal ${installDevice} mkpart primary ext4 ${this.swapSize + 1}MiB 100%`, this.echo); // dev/sda2 root
|
|
21
|
-
await exec(`parted ${installDevice} set 2 boot on`, this.echo);
|
|
22
|
-
await exec(`parted ${installDevice} set 2 esp on`, this.echo);
|
|
23
|
-
// SWAP
|
|
24
|
-
this.devices.swap.name = `${installDevice}${p}1`;
|
|
25
|
-
this.devices.swap.fsType = 'swap';
|
|
26
|
-
this.devices.swap.mountPoint = 'none';
|
|
27
|
-
// ROOT
|
|
28
|
-
this.devices.root.name = `${installDevice}${p}2`;
|
|
29
|
-
this.devices.root.fsType = 'ext4';
|
|
30
|
-
this.devices.root.mountPoint = '/';
|
|
31
|
-
// BOOT/DATA/EFI
|
|
32
|
-
this.devices.boot.name = 'none';
|
|
33
|
-
this.devices.data.name = 'none';
|
|
34
|
-
this.devices.efi.name = 'none';
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/partition.d/uefi-luks.tsx
|
|
3
|
-
* penguins-eggs v.10.0.0 / 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 Sequence from '../../sequence.js';
|
|
10
|
-
/**
|
|
11
|
-
*
|
|
12
|
-
* @param this
|
|
13
|
-
* @param installDevice
|
|
14
|
-
* @param p
|
|
15
|
-
* @returns
|
|
16
|
-
*/
|
|
17
|
-
export default function uefiLuks(this: Sequence, installDevice?: string, p?: string): Promise<boolean>;
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/partition.d/uefi-luks.tsx
|
|
3
|
-
* penguins-eggs v.10.0.0 / 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 { exec } from '../../../../lib/utils.js';
|
|
10
|
-
import Utils from '../../../../classes/utils.js';
|
|
11
|
-
import getLuksPassphrase from '../../../lib/get_luks_passphrase.js';
|
|
12
|
-
// React
|
|
13
|
-
import React from 'react';
|
|
14
|
-
import { render } from 'ink';
|
|
15
|
-
import Install from '../../../components/install.js';
|
|
16
|
-
/**
|
|
17
|
-
*
|
|
18
|
-
* @param this
|
|
19
|
-
* @param installDevice
|
|
20
|
-
* @param p
|
|
21
|
-
* @returns
|
|
22
|
-
*/
|
|
23
|
-
export default async function uefiLuks(installDevice = "", p = "") {
|
|
24
|
-
await exec(`parted --script ${installDevice} mklabel gpt`, this.echo);
|
|
25
|
-
await exec(`parted --script ${installDevice} mkpart efi fat32 34s 256MiB`, this.echo); // sda1 EFI
|
|
26
|
-
await exec(`parted --script ${installDevice} mkpart boot ext4 256MiB 768MiB`, this.echo); // sda2 boot
|
|
27
|
-
await exec(`parted --script ${installDevice} mkpart root ext4 ${768}MiB 100%`, this.echo); // sda3 root
|
|
28
|
-
await exec(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
|
|
29
|
-
await exec(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
|
|
30
|
-
// EFI 256M
|
|
31
|
-
this.devices.efi.name = `${installDevice}${p}1`; // 'efi'
|
|
32
|
-
this.devices.efi.fsType = 'F 32 -I';
|
|
33
|
-
this.devices.efi.mountPoint = '/boot/efi';
|
|
34
|
-
// BOOT 512M
|
|
35
|
-
this.devices.boot.name = `${installDevice}${p}2`; // 'boot'
|
|
36
|
-
this.devices.boot.fsType = 'ext4';
|
|
37
|
-
this.devices.boot.mountPoint = '/boot';
|
|
38
|
-
// disabilito spinner per introduzione passphrase
|
|
39
|
-
let message = "Creating partitions";
|
|
40
|
-
await redraw(React.createElement(Install, { message: message, percent: 0 }));
|
|
41
|
-
const passphrase = await getLuksPassphrase('3volution', '3volution');
|
|
42
|
-
await redraw(React.createElement(Install, { message: message, percent: 0, spinner: this.spinner }));
|
|
43
|
-
// Aggiungi parametri di sicurezza espliciti
|
|
44
|
-
const cipher = "aes-xts-plain64";
|
|
45
|
-
const keySize = "512";
|
|
46
|
-
const hash = "sha512";
|
|
47
|
-
// ROOT
|
|
48
|
-
const cryptoRoot = await exec(`echo -n "${passphrase}" | cryptsetup --batch-mode --cipher ${cipher} --key-size ${keySize} --hash ${hash} --key-file=- -v luksFormat --type luks2 ${installDevice}${p}3`, this.echo);
|
|
49
|
-
if (cryptoRoot.code !== 0) {
|
|
50
|
-
Utils.warning(`Error: ${cryptoRoot.code} ${cryptoRoot.data}`);
|
|
51
|
-
process.exit(1);
|
|
52
|
-
}
|
|
53
|
-
const cryptoRootOpen = await exec(`echo -n "${passphrase}" | cryptsetup --key-file=- luksOpen --type luks2 ${installDevice}${p}3 root_crypted`, this.echo);
|
|
54
|
-
if (cryptoRootOpen.code !== 0) {
|
|
55
|
-
Utils.warning(`Error: ${cryptoRootOpen.code} ${cryptoRootOpen.data}`);
|
|
56
|
-
process.exit(1);
|
|
57
|
-
}
|
|
58
|
-
// this.devices.boot.name = DEFINED
|
|
59
|
-
this.devices.data.name = 'none';
|
|
60
|
-
// this.devices.efi.name = DEFINED
|
|
61
|
-
this.devices.root.name = '/dev/mapper/root_crypted';
|
|
62
|
-
this.devices.root.cryptedFrom = `${installDevice}${p}3`;
|
|
63
|
-
this.devices.root.fsType = 'ext4';
|
|
64
|
-
this.devices.root.mountPoint = '/';
|
|
65
|
-
this.devices.swap.name = 'none';
|
|
66
|
-
return true;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
*
|
|
70
|
-
* @param elem
|
|
71
|
-
*/
|
|
72
|
-
async function redraw(elem) {
|
|
73
|
-
let opt = {};
|
|
74
|
-
opt.patchConsole = false;
|
|
75
|
-
opt.debug = true;
|
|
76
|
-
console.clear();
|
|
77
|
-
render(elem, opt);
|
|
78
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/partition.d/uefi-standard.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / 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 Sequence from '../../sequence.js';
|
|
10
|
-
export default function uefiStandard(this: Sequence, installDevice?: string, p?: string): Promise<boolean>;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/partition.d/uefi-standard.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / 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 { exec } from '../../../../lib/utils.js';
|
|
10
|
-
export default async function uefiStandard(installDevice = "", p = "") {
|
|
11
|
-
await exec(`parted --script ${installDevice} mklabel gpt`, this.echo);
|
|
12
|
-
await exec(`parted --script ${installDevice} mkpart efi fat32 34s 256MiB`, this.echo); // sda1 EFI
|
|
13
|
-
await exec(`parted --script ${installDevice} mkpart swap linux-swap 256MiB ${this.swapSize + 256}Mib`, this.echo); // sda2 swap
|
|
14
|
-
await exec(`parted --script ${installDevice} mkpart root ext4 ${this.swapSize + 256}MiB 100%`, this.echo); // sda3 root
|
|
15
|
-
await exec(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
|
|
16
|
-
await exec(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
|
|
17
|
-
this.devices.efi.name = `${installDevice}${p}1`;
|
|
18
|
-
this.devices.efi.fsType = 'F 32 -I';
|
|
19
|
-
this.devices.efi.mountPoint = '/boot/efi';
|
|
20
|
-
this.devices.boot.name = 'none';
|
|
21
|
-
this.devices.swap.name = `${installDevice}${p}2`;
|
|
22
|
-
this.devices.swap.fsType = 'swap';
|
|
23
|
-
this.devices.swap.mountPoint = 'none';
|
|
24
|
-
this.devices.root.name = `${installDevice}${p}3`;
|
|
25
|
-
this.devices.root.fsType = 'ext4';
|
|
26
|
-
this.devices.root.mountPoint = '/';
|
|
27
|
-
// BOOT/DATA/EFI
|
|
28
|
-
this.devices.boot.name = 'none';
|
|
29
|
-
this.devices.data.name = 'none';
|
|
30
|
-
// this.devices.efi.name = `none`
|
|
31
|
-
return true;
|
|
32
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/partition.tsx
|
|
3
|
-
* penguins-eggs v.10.0.0 / 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 Sequence from '../sequence.js';
|
|
10
|
-
/**
|
|
11
|
-
*
|
|
12
|
-
* @param this
|
|
13
|
-
*/
|
|
14
|
-
export default function partition(this: Sequence): Promise<boolean>;
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/partition.tsx
|
|
3
|
-
* penguins-eggs v.10.0.0 / 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 os from 'node:os';
|
|
10
|
-
import Utils from '../../../classes/utils.js';
|
|
11
|
-
import { SwapChoice, InstallationMode } from '../krill_enums.js';
|
|
12
|
-
/**
|
|
13
|
-
*
|
|
14
|
-
* @param this
|
|
15
|
-
*/
|
|
16
|
-
export default async function partition() {
|
|
17
|
-
const echoYes = Utils.setEcho(true);
|
|
18
|
-
let retVal = false;
|
|
19
|
-
const installDevice = this.partitions.installationDevice;
|
|
20
|
-
const replacedPartition = this.partitions.replacedPartition;
|
|
21
|
-
let p = "";
|
|
22
|
-
if (detectDeviceType(installDevice) === "standard") {
|
|
23
|
-
p = "";
|
|
24
|
-
}
|
|
25
|
-
else if (detectDeviceType(installDevice) === "mmc") {
|
|
26
|
-
p = "";
|
|
27
|
-
}
|
|
28
|
-
else if (detectDeviceType(installDevice) === "nvme") {
|
|
29
|
-
p = "p";
|
|
30
|
-
}
|
|
31
|
-
else if (detectDeviceType(installDevice) === "raid") {
|
|
32
|
-
p = "p";
|
|
33
|
-
}
|
|
34
|
-
const installationMode = this.partitions.installationMode;
|
|
35
|
-
this.swapSize = Math.round(os.totalmem() / (1024 * 1024 * 1024)); // In GB
|
|
36
|
-
switch (this.partitions.userSwapChoice) {
|
|
37
|
-
case SwapChoice.None: {
|
|
38
|
-
this.swapSize = 0;
|
|
39
|
-
break;
|
|
40
|
-
}
|
|
41
|
-
case SwapChoice.Small: {
|
|
42
|
-
break;
|
|
43
|
-
}
|
|
44
|
-
case SwapChoice.Suspend: {
|
|
45
|
-
this.swapSize *= 2;
|
|
46
|
-
break;
|
|
47
|
-
}
|
|
48
|
-
case SwapChoice.File: {
|
|
49
|
-
// total mem
|
|
50
|
-
break;
|
|
51
|
-
}
|
|
52
|
-
// No default
|
|
53
|
-
}
|
|
54
|
-
if (installationMode === InstallationMode.Replace) {
|
|
55
|
-
retVal = true;
|
|
56
|
-
}
|
|
57
|
-
else if (installationMode === InstallationMode.Standard && !this.efi) {
|
|
58
|
-
retVal = await this.partitionBiosStandard(installDevice, p);
|
|
59
|
-
}
|
|
60
|
-
else if (installationMode === InstallationMode.Luks && !this.efi) {
|
|
61
|
-
retVal = await this.partitionBiosLuks(installDevice, p);
|
|
62
|
-
}
|
|
63
|
-
else if (installationMode === InstallationMode.Standard && this.efi) {
|
|
64
|
-
retVal = await this.partitionUefiStandard(installDevice, p);
|
|
65
|
-
}
|
|
66
|
-
else if (installationMode === InstallationMode.Luks && this.efi) {
|
|
67
|
-
retVal = await this.partitionUefiLuks(installDevice, p);
|
|
68
|
-
}
|
|
69
|
-
return retVal;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
*
|
|
73
|
-
* @param device
|
|
74
|
-
* @returns
|
|
75
|
-
*/
|
|
76
|
-
function detectDeviceType(device) {
|
|
77
|
-
if (device.includes('nvme'))
|
|
78
|
-
return 'nvme';
|
|
79
|
-
if (device.match(/^\/dev\/md\d+/))
|
|
80
|
-
return 'raid';
|
|
81
|
-
if (device.includes('mmcblk'))
|
|
82
|
-
return 'mmc';
|
|
83
|
-
return 'standard';
|
|
84
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/remove-installer-link.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / 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 Sequence from '../sequence.js';
|
|
10
|
-
/**
|
|
11
|
-
* removeInstallerLink
|
|
12
|
-
*/
|
|
13
|
-
export default function removeInstallerLink(this: Sequence): Promise<void>;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/remove-installer-link.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / 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 fs from 'node:fs';
|
|
10
|
-
/**
|
|
11
|
-
* removeInstallerLink
|
|
12
|
-
*/
|
|
13
|
-
export default async function removeInstallerLink() {
|
|
14
|
-
const file = `${this.installTarget}/usr/bin/penguins-links-add.sh`;
|
|
15
|
-
let lines = [];
|
|
16
|
-
let content = '';
|
|
17
|
-
if (fs.existsSync(file)) {
|
|
18
|
-
lines = fs.readFileSync(file, { encoding: 'utf8', flag: 'r' }).split('\n');
|
|
19
|
-
for (let i = 0; i < lines.length; i++) {
|
|
20
|
-
if (lines[i]) {
|
|
21
|
-
if (lines[i].search('penguins-krill.desktop') !== -1) {
|
|
22
|
-
lines[i] = '#' + lines[i];
|
|
23
|
-
}
|
|
24
|
-
if (lines[i].search('penguins-clinstaller.desktop') !== -1) {
|
|
25
|
-
lines[i] = '#' + lines[i];
|
|
26
|
-
}
|
|
27
|
-
if (lines[i].search('install-system.desktop') !== -1) {
|
|
28
|
-
lines[i] = '#' + lines[i];
|
|
29
|
-
}
|
|
30
|
-
content += lines[i] + '\n';
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
fs.writeFileSync(file, content);
|
|
35
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/umount.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / 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 Sequence from '../../classes/sequence.js';
|
|
10
|
-
/**
|
|
11
|
-
*
|
|
12
|
-
* @param mountpoint
|
|
13
|
-
*/
|
|
14
|
-
export default function umount(this: Sequence, mountPoint?: string): Promise<void>;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/umount.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / 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 Utils from '../../../classes/utils.js';
|
|
10
|
-
import { exec } from '../../../lib/utils.js';
|
|
11
|
-
/**
|
|
12
|
-
*
|
|
13
|
-
* @param mountpoint
|
|
14
|
-
*/
|
|
15
|
-
export default async function umount(mountPoint = '') {
|
|
16
|
-
let message = 'umount: ' + mountPoint;
|
|
17
|
-
if (Utils.isMountpoint(mountPoint)) {
|
|
18
|
-
let cmd = `umount ${mountPoint} ${this.toNull}`;
|
|
19
|
-
try {
|
|
20
|
-
await exec(cmd, this.echo);
|
|
21
|
-
await exec('sleep 1', this.echo);
|
|
22
|
-
}
|
|
23
|
-
catch (error) {
|
|
24
|
-
message += cmd + JSON.stringify(error);
|
|
25
|
-
await Utils.pressKeyToExit(message, true);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/unpackfs.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / 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 Sequence from '../../classes/sequence.js';
|
|
10
|
-
/**
|
|
11
|
-
* unpackfs
|
|
12
|
-
*/
|
|
13
|
-
export default function unpackfs(this: Sequence): Promise<void>;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/unpackfs.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / 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 Utils from '../../../classes/utils.js';
|
|
10
|
-
import { exec } from '../../../lib/utils.js';
|
|
11
|
-
/**
|
|
12
|
-
* unpackfs
|
|
13
|
-
*/
|
|
14
|
-
export default async function unpackfs() {
|
|
15
|
-
// const cmd = `unsquashfs -d ${this.installTarget} -f ${this.distro.liveMediumPath}`
|
|
16
|
-
const cmd = `unsquashfs -d ${this.installTarget} -f ${this.distro.liveMediumPath}${this.distro.squashfs} ${this.toNull}`;
|
|
17
|
-
const echoYes = Utils.setEcho(true);
|
|
18
|
-
const echoNo = Utils.setEcho(false);
|
|
19
|
-
await exec(cmd, echoNo);
|
|
20
|
-
}
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/sequence.tsx
|
|
3
|
-
* penguins-eggs v.10.0.0 / 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
|
-
/**
|
|
10
|
-
* Ideally, I want to respect calamares way,
|
|
11
|
-
* implementing the same (SEMPLIFIED) sequence
|
|
12
|
-
* on a TUI. Note: here sequence is hard coded!
|
|
13
|
-
*/
|
|
14
|
-
import { IRemix, IDistro, INet } from '../../interfaces/index.js';
|
|
15
|
-
import Settings from '../../classes/settings.js';
|
|
16
|
-
import CliAutologin from '../../classes/cli-autologin.js';
|
|
17
|
-
import { IInstaller, IDevices } from '../../interfaces/index.js';
|
|
18
|
-
import { ILocation, IKeyboard, IPartitions, IUsers } from '../interfaces/i_krill.js';
|
|
19
|
-
import partition from './sequence.d/partition.js';
|
|
20
|
-
import biosStandard from './sequence.d/partition.d/bios_standard.js';
|
|
21
|
-
import biosLuks from './sequence.d/partition.d/bios_luks.js';
|
|
22
|
-
import uefiStandard from './sequence.d/partition.d/uefi_standard.js';
|
|
23
|
-
import uefiLuks from './sequence.d/partition.d/uefi_luks.js';
|
|
24
|
-
import { mountFs, umountFs } from './sequence.d/mount_fs.js';
|
|
25
|
-
import { mountVfs, umountVfs } from './sequence.d/mount_vfs.js';
|
|
26
|
-
import unpackfs from './sequence.d/unpackfs.js';
|
|
27
|
-
import machineId from './sequence.d/machine_id.js';
|
|
28
|
-
import fstab from './sequence.d/fstab.js';
|
|
29
|
-
import locale from './sequence.d/locale.js';
|
|
30
|
-
import mKeyboard from './sequence.d/m_keyboard.js';
|
|
31
|
-
import localeCfg from './sequence.d/locale_cfg.js';
|
|
32
|
-
import addUser from './sequence.d/add_user.js';
|
|
33
|
-
import changePassword from './sequence.d/change_password.js';
|
|
34
|
-
import networkCfg from './sequence.d/network_cfg.js';
|
|
35
|
-
import bootloaderConfig from './sequence.d/bootloader_config.js';
|
|
36
|
-
import grubcfg from './sequence.d/grubcfg.js';
|
|
37
|
-
import bootloader from './sequence.d/bootloader.js';
|
|
38
|
-
import packages from './sequence.d/packages.js';
|
|
39
|
-
import removeInstallerLink from './sequence.d/remove_installer_link.js';
|
|
40
|
-
import initramfsCfg from './sequence.d/initramfs_cfg.js';
|
|
41
|
-
import initramfs from './sequence.d/initramfs.js';
|
|
42
|
-
import delLiveUser from './sequence.d/del_live_user.js';
|
|
43
|
-
import umount from './sequence.d/umount.js';
|
|
44
|
-
import mkfs from './sequence.d/mkfs.js';
|
|
45
|
-
import hostname from './sequence.d/hostname.js';
|
|
46
|
-
/**
|
|
47
|
-
* hatching: installazione o cova!!!
|
|
48
|
-
*/
|
|
49
|
-
export default class Sequence {
|
|
50
|
-
partition: typeof partition;
|
|
51
|
-
partitionBiosStandard: typeof biosStandard;
|
|
52
|
-
partitionUefiStandard: typeof uefiStandard;
|
|
53
|
-
partitionBiosLuks: typeof biosLuks;
|
|
54
|
-
partitionUefiLuks: typeof uefiLuks;
|
|
55
|
-
mountFs: typeof mountFs;
|
|
56
|
-
mountVfs: typeof mountVfs;
|
|
57
|
-
unpackfs: typeof unpackfs;
|
|
58
|
-
machineId: typeof machineId;
|
|
59
|
-
fstab: typeof fstab;
|
|
60
|
-
locale: typeof locale;
|
|
61
|
-
keyboard: typeof mKeyboard;
|
|
62
|
-
localeCfg: typeof localeCfg;
|
|
63
|
-
addUser: typeof addUser;
|
|
64
|
-
changePassword: typeof changePassword;
|
|
65
|
-
networkCfg: typeof networkCfg;
|
|
66
|
-
bootloaderConfig: typeof bootloaderConfig;
|
|
67
|
-
grubcfg: typeof grubcfg;
|
|
68
|
-
bootloader: typeof bootloader;
|
|
69
|
-
packages: typeof packages;
|
|
70
|
-
removeInstallerLink: typeof removeInstallerLink;
|
|
71
|
-
initramfsCfg: typeof initramfsCfg;
|
|
72
|
-
initramfs: typeof initramfs;
|
|
73
|
-
delLiveUser: typeof delLiveUser;
|
|
74
|
-
umountFs: typeof umountFs;
|
|
75
|
-
umountVfs: typeof umountVfs;
|
|
76
|
-
umount: typeof umount;
|
|
77
|
-
mkfs: typeof mkfs;
|
|
78
|
-
hostname: typeof hostname;
|
|
79
|
-
installer: IInstaller;
|
|
80
|
-
installTarget: string;
|
|
81
|
-
verbose: boolean;
|
|
82
|
-
echo: {};
|
|
83
|
-
efi: boolean;
|
|
84
|
-
devices: IDevices;
|
|
85
|
-
users: IUsers;
|
|
86
|
-
network: INet;
|
|
87
|
-
partitions: IPartitions;
|
|
88
|
-
swapSize: number;
|
|
89
|
-
language: string;
|
|
90
|
-
region: string;
|
|
91
|
-
zone: string;
|
|
92
|
-
keyboardModel: string;
|
|
93
|
-
keyboardLayout: string;
|
|
94
|
-
keyboardVariant: string;
|
|
95
|
-
toNull: string;
|
|
96
|
-
spinner: boolean;
|
|
97
|
-
settings: Settings;
|
|
98
|
-
remix: IRemix;
|
|
99
|
-
distro: IDistro;
|
|
100
|
-
luksName: string;
|
|
101
|
-
luksFile: string;
|
|
102
|
-
luksDevice: string;
|
|
103
|
-
luksMountpoint: string;
|
|
104
|
-
is_clone: boolean;
|
|
105
|
-
is_crypted_clone: boolean;
|
|
106
|
-
unattended: boolean;
|
|
107
|
-
nointeractive: boolean;
|
|
108
|
-
chroot: boolean;
|
|
109
|
-
halt: boolean;
|
|
110
|
-
cliAutologin: CliAutologin;
|
|
111
|
-
/**
|
|
112
|
-
* constructor
|
|
113
|
-
*/
|
|
114
|
-
constructor(location: ILocation, keyboard: IKeyboard, partitions: IPartitions, users: IUsers, network: INet);
|
|
115
|
-
/**
|
|
116
|
-
* install
|
|
117
|
-
* @param verbose
|
|
118
|
-
* @param umount
|
|
119
|
-
* @returns
|
|
120
|
-
*/
|
|
121
|
-
start(domain?: string, unattended?: boolean, nointeractive?: boolean, chroot?: boolean, halt?: boolean, verbose?: boolean): Promise<void>;
|
|
122
|
-
/**
|
|
123
|
-
*
|
|
124
|
-
*/
|
|
125
|
-
execCalamaresModule(name: string): Promise<void>;
|
|
126
|
-
/**
|
|
127
|
-
*
|
|
128
|
-
* @param message
|
|
129
|
-
*/
|
|
130
|
-
emergencyShell(message: string): Promise<void>;
|
|
131
|
-
/**
|
|
132
|
-
*
|
|
133
|
-
* @param message
|
|
134
|
-
*/
|
|
135
|
-
showProblem(message: string, currErr: any): Promise<void>;
|
|
136
|
-
}
|