penguins-eggs 10.1.0 → 10.1.1
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 -32
- package/README.md +109 -78
- package/conf/derivatives.yaml +3 -0
- package/conf/distros/buster/calamares/modules/users.yml +1 -0
- package/conf/distros/noble/calamares/modules/users.yml +1 -0
- package/dist/classes/bleach.d.ts +32 -0
- package/dist/classes/bleach.js +135 -0
- package/dist/classes/cli-autologin.d.ts +52 -0
- package/dist/classes/cli-autologin.js +247 -0
- package/dist/classes/compressors.d.ts +54 -0
- package/dist/classes/compressors.js +109 -0
- package/dist/classes/daddy.d.ts +26 -0
- package/dist/classes/daddy.js +167 -0
- package/dist/classes/distro.d.ts +56 -0
- package/dist/classes/distro.js +413 -0
- package/dist/classes/diversions.d.ts +52 -0
- package/dist/classes/diversions.js +126 -0
- package/dist/classes/incubation/branding.d.ts +17 -0
- package/dist/classes/incubation/branding.js +85 -0
- package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +11 -0
- package/dist/classes/incubation/fisherman-helper/displaymanager.js +40 -0
- package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
- package/dist/classes/incubation/fisherman-helper/packages.js +72 -0
- package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
- package/dist/classes/incubation/fisherman-helper/settings.js +83 -0
- package/dist/classes/incubation/fisherman.d.ts +70 -0
- package/dist/classes/incubation/fisherman.js +263 -0
- package/dist/classes/incubation/incubator.d/alpine.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/alpine.js +78 -0
- package/dist/classes/incubation/incubator.d/bionic.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/bionic.js +83 -0
- package/dist/classes/incubation/incubator.d/buster.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/buster.js +85 -0
- package/dist/classes/incubation/incubator.d/jessie.d.ts +31 -0
- package/dist/classes/incubation/incubator.d/jessie.js +44 -0
- package/dist/classes/incubation/incubator.d/noble.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/noble.js +85 -0
- package/dist/classes/incubation/incubator.d/openmamba.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/openmamba.js +81 -0
- package/dist/classes/incubation/incubator.d/opensuse.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/opensuse.js +81 -0
- package/dist/classes/incubation/incubator.d/rolling.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/rolling.js +80 -0
- package/dist/classes/incubation/incubator.d.ts +44 -0
- package/dist/classes/incubation/incubator.js +382 -0
- package/dist/classes/incubation/installer.d.ts +13 -0
- package/dist/classes/incubation/installer.js +52 -0
- package/dist/classes/keyboards.d.ts +50 -0
- package/dist/classes/keyboards.js +287 -0
- package/dist/classes/locales.d.ts +21 -0
- package/dist/classes/locales.js +77 -0
- package/dist/classes/network.d.ts +37 -0
- package/dist/classes/network.js +98 -0
- package/dist/classes/ovary.d/bind-live-fs.d.ts +18 -0
- package/dist/classes/ovary.d/bind-live-fs.js +177 -0
- package/dist/classes/ovary.d/bind-vfs.d.ts +17 -0
- package/dist/classes/ovary.d/bind-vfs.js +37 -0
- package/dist/classes/ovary.d/create-xdg-autostart.d.ts +13 -0
- package/dist/classes/ovary.d/create-xdg-autostart.js +194 -0
- package/dist/classes/ovary.d/edit-live-fs.d.ts +20 -0
- package/dist/classes/ovary.d/edit-live-fs.js +245 -0
- package/dist/classes/ovary.d/fertilization.d.ts +12 -0
- package/dist/classes/ovary.d/fertilization.js +51 -0
- package/dist/classes/ovary.d/finished.d.ts +13 -0
- package/dist/classes/ovary.d/finished.js +41 -0
- package/dist/classes/ovary.d/initrd.d.ts +21 -0
- package/dist/classes/ovary.d/initrd.js +68 -0
- package/dist/classes/ovary.d/kernel-copy.d.ts +12 -0
- package/dist/classes/ovary.d/kernel-copy.js +22 -0
- package/dist/classes/ovary.d/live-create-structure.d.ts +12 -0
- package/dist/classes/ovary.d/live-create-structure.js +90 -0
- package/dist/classes/ovary.d/make-dot-disk.d.ts +12 -0
- package/dist/classes/ovary.d/make-dot-disk.js +40 -0
- package/dist/classes/ovary.d/make-efi.d.ts +12 -0
- package/dist/classes/ovary.d/make-efi.js +271 -0
- package/dist/classes/ovary.d/make-iso.d.ts +13 -0
- package/dist/classes/ovary.d/make-iso.js +45 -0
- package/dist/classes/ovary.d/make-squashfs.d.ts +18 -0
- package/dist/classes/ovary.d/make-squashfs.js +110 -0
- package/dist/classes/ovary.d/merged.d.ts +27 -0
- package/dist/classes/ovary.d/merged.js +77 -0
- package/dist/classes/ovary.d/produce.d.ts +23 -0
- package/dist/classes/ovary.d/produce.js +293 -0
- package/dist/classes/ovary.d/rexec.d.ts +13 -0
- package/dist/classes/ovary.d/rexec.js +34 -0
- package/dist/classes/ovary.d/syslinux.d.ts +12 -0
- package/dist/classes/ovary.d/syslinux.js +79 -0
- package/dist/classes/ovary.d/user-create-live.d.ts +14 -0
- package/dist/classes/ovary.d/user-create-live.js +93 -0
- package/dist/classes/ovary.d/users-remove.d.ts +9 -0
- package/dist/classes/ovary.d/users-remove.js +38 -0
- package/dist/classes/ovary.d/xorriso-commend.d.ts +14 -0
- package/dist/classes/ovary.d/xorriso-commend.js +119 -0
- package/dist/classes/ovary.d.ts +82 -0
- package/dist/classes/ovary.js +86 -0
- package/dist/classes/pacman.d/aldos.d.ts +52 -0
- package/dist/classes/pacman.d/aldos.js +100 -0
- package/dist/classes/pacman.d/alpine.d.ts +56 -0
- package/dist/classes/pacman.d/alpine.js +162 -0
- package/dist/classes/pacman.d/archlinux.d.ts +62 -0
- package/dist/classes/pacman.d/archlinux.js +136 -0
- package/dist/classes/pacman.d/debian.d.ts +65 -0
- package/dist/classes/pacman.d/debian.js +143 -0
- package/dist/classes/pacman.d/fedora.d.ts +53 -0
- package/dist/classes/pacman.d/fedora.js +101 -0
- package/dist/classes/pacman.d/openmamba.d.ts +52 -0
- package/dist/classes/pacman.d/openmamba.js +100 -0
- package/dist/classes/pacman.d/opensuse.d.ts +53 -0
- package/dist/classes/pacman.d/opensuse.js +102 -0
- package/dist/classes/pacman.d/voidlinux.d.ts +52 -0
- package/dist/classes/pacman.d/voidlinux.js +90 -0
- package/dist/classes/pacman.d.ts +139 -0
- package/dist/classes/pacman.js +776 -0
- package/dist/classes/pve-live.d.ts +17 -0
- package/dist/classes/pve-live.js +52 -0
- package/dist/classes/pxe.d.ts +74 -0
- package/dist/classes/pxe.js +410 -0
- package/dist/classes/settings.d.ts +52 -0
- package/dist/classes/settings.js +185 -0
- package/dist/classes/sources_list.d.ts +28 -0
- package/dist/classes/sources_list.js +89 -0
- package/dist/classes/systemctl.d.ts +47 -0
- package/dist/classes/systemctl.js +86 -0
- package/dist/classes/tailor.d.ts +50 -0
- package/dist/classes/tailor.js +527 -0
- package/dist/classes/tools.d.ts +26 -0
- package/dist/classes/tools.js +50 -0
- package/dist/classes/users.d.ts +28 -0
- package/dist/classes/users.js +143 -0
- package/dist/classes/utils.d/architecture.d.ts +41 -0
- package/dist/classes/utils.d/architecture.js +87 -0
- package/dist/classes/utils.d/console-output.d.ts +26 -0
- package/dist/classes/utils.d/console-output.js +46 -0
- package/dist/classes/utils.d/filesystem.d.ts +53 -0
- package/dist/classes/utils.d/filesystem.js +152 -0
- package/dist/classes/utils.d/formatters.d.ts +32 -0
- package/dist/classes/utils.d/formatters.js +64 -0
- package/dist/classes/utils.d/kernel.d.ts +83 -0
- package/dist/classes/utils.d/kernel.js +288 -0
- package/dist/classes/utils.d/network.d.ts +43 -0
- package/dist/classes/utils.d/network.js +133 -0
- package/dist/classes/utils.d/package-info.d.ts +55 -0
- package/dist/classes/utils.d/package-info.js +137 -0
- package/dist/classes/utils.d/snapshot.d.ts +44 -0
- package/dist/classes/utils.d/snapshot.js +102 -0
- package/dist/classes/utils.d/system.d.ts +63 -0
- package/dist/classes/utils.d/system.js +200 -0
- package/dist/classes/utils.d/user-interaction.d.ts +39 -0
- package/dist/classes/utils.d/user-interaction.js +104 -0
- package/dist/classes/utils.d.ts +95 -0
- package/dist/classes/utils.js +111 -0
- package/dist/classes/xdg.d.ts +45 -0
- package/dist/classes/xdg.js +337 -0
- package/dist/classes/yolk.d.ts +33 -0
- package/dist/classes/yolk.js +114 -0
- package/dist/commands/adapt.d.ts +17 -0
- package/dist/commands/adapt.js +33 -0
- package/dist/commands/analyze.d.ts +26 -0
- package/dist/commands/analyze.js +95 -0
- package/dist/commands/calamares.d.ts +29 -0
- package/dist/commands/calamares.js +112 -0
- package/dist/commands/config.d.ts +35 -0
- package/dist/commands/config.js +120 -0
- package/dist/commands/cuckoo.d.ts +16 -0
- package/dist/commands/cuckoo.js +62 -0
- package/dist/commands/dad.d.ts +21 -0
- package/dist/commands/dad.js +47 -0
- package/dist/commands/export/iso.d.ts +19 -0
- package/dist/commands/export/iso.js +55 -0
- package/dist/commands/export/pkg.d.ts +29 -0
- package/dist/commands/export/pkg.js +163 -0
- package/dist/commands/export/tarballs.d.ts +27 -0
- package/dist/commands/export/tarballs.js +79 -0
- package/dist/commands/install.d.ts +38 -0
- package/dist/commands/install.js +91 -0
- package/dist/commands/kill.d.ts +24 -0
- package/dist/commands/kill.js +50 -0
- package/dist/commands/love.d.ts +21 -0
- package/dist/commands/love.js +73 -0
- package/dist/commands/mom.d.ts +16 -0
- package/dist/commands/mom.js +30 -0
- package/dist/commands/pods.d.ts +22 -0
- package/dist/commands/pods.js +92 -0
- package/dist/commands/produce.d.ts +35 -0
- package/dist/commands/produce.js +221 -0
- package/dist/commands/status.d.ts +23 -0
- package/dist/commands/status.js +31 -0
- package/dist/commands/syncfrom.d.ts +45 -0
- package/dist/commands/syncfrom.js +152 -0
- package/dist/commands/syncto.d.ts +40 -0
- package/dist/commands/syncto.js +175 -0
- package/dist/commands/tools/clean.d.ts +18 -0
- package/dist/commands/tools/clean.js +37 -0
- package/dist/commands/tools/ppa.d.ts +26 -0
- package/dist/commands/tools/ppa.js +138 -0
- package/dist/commands/tools/skel.d.ts +18 -0
- package/dist/commands/tools/skel.js +44 -0
- package/dist/commands/tools/stat.d.ts +31 -0
- package/dist/commands/tools/stat.js +70 -0
- package/dist/commands/tools/yolk.d.ts +24 -0
- package/dist/commands/tools/yolk.js +45 -0
- package/dist/commands/update.d.ts +51 -0
- package/dist/commands/update.js +219 -0
- package/dist/commands/wardrobe/get.d.ts +23 -0
- package/dist/commands/wardrobe/get.js +52 -0
- package/dist/commands/wardrobe/list.d.ts +24 -0
- package/dist/commands/wardrobe/list.js +125 -0
- package/dist/commands/wardrobe/show.d.ts +25 -0
- package/dist/commands/wardrobe/show.js +97 -0
- package/dist/commands/wardrobe/wear.d.ts +26 -0
- package/dist/commands/wardrobe/wear.js +84 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +8 -0
- package/dist/index_old.d.ts +8 -0
- package/dist/index_old.js +8 -0
- package/dist/interfaces/i-addons.d.ts +12 -0
- package/dist/interfaces/i-addons.js +8 -0
- package/dist/interfaces/i-analyze.d.ts +17 -0
- package/dist/interfaces/i-analyze.js +17 -0
- package/dist/interfaces/i-app.d.ts +14 -0
- package/dist/interfaces/i-app.js +8 -0
- package/dist/interfaces/i-branding.d.ts +36 -0
- package/dist/interfaces/i-branding.js +8 -0
- package/dist/interfaces/i-calamares-displaymanager.d.ts +17 -0
- package/dist/interfaces/i-calamares-displaymanager.js +1 -0
- package/dist/interfaces/i-calamares-finished.d.ts +12 -0
- package/dist/interfaces/i-calamares-finished.js +1 -0
- package/dist/interfaces/i-calamares-packages.d.ts +28 -0
- package/dist/interfaces/i-calamares-packages.js +1 -0
- package/dist/interfaces/i-calamares-partition.d.ts +40 -0
- package/dist/interfaces/i-calamares-partition.js +1 -0
- package/dist/interfaces/i-config-tools.d.ts +15 -0
- package/dist/interfaces/i-config-tools.js +8 -0
- package/dist/interfaces/i-devices.d.ts +20 -0
- package/dist/interfaces/i-devices.js +8 -0
- package/dist/interfaces/i-distro.d.ts +23 -0
- package/dist/interfaces/i-distro.js +8 -0
- package/dist/interfaces/i-drive-list.d.ts +33 -0
- package/dist/interfaces/i-drive-list.js +8 -0
- package/dist/interfaces/i-eggs-config.d.ts +32 -0
- package/dist/interfaces/i-eggs-config.js +8 -0
- package/dist/interfaces/i-excludes.d.ts +14 -0
- package/dist/interfaces/i-excludes.js +8 -0
- package/dist/interfaces/i-exec.d.ts +11 -0
- package/dist/interfaces/i-exec.js +8 -0
- package/dist/interfaces/i-initrd.d.ts +13 -0
- package/dist/interfaces/i-initrd.js +8 -0
- package/dist/interfaces/i-install.d.ts +16 -0
- package/dist/interfaces/i-install.js +8 -0
- package/dist/interfaces/i-installer.d.ts +17 -0
- package/dist/interfaces/i-installer.js +8 -0
- package/dist/interfaces/i-luks-passphrase.d.ts +11 -0
- package/dist/interfaces/i-luks-passphrase.js +8 -0
- package/dist/interfaces/i-materia.d.ts +36 -0
- package/dist/interfaces/i-materia.js +8 -0
- package/dist/interfaces/i-net.d.ts +16 -0
- package/dist/interfaces/i-net.js +8 -0
- package/dist/interfaces/i-os-release.d.ts +5 -0
- package/dist/interfaces/i-os-release.js +1 -0
- package/dist/interfaces/i-packages.d.ts +16 -0
- package/dist/interfaces/i-packages.js +8 -0
- package/dist/interfaces/i-partitions.d.ts +16 -0
- package/dist/interfaces/i-partitions.js +8 -0
- package/dist/interfaces/i-pxe.d.ts +45 -0
- package/dist/interfaces/i-pxe.js +1 -0
- package/dist/interfaces/i-remix.d.ts +21 -0
- package/dist/interfaces/i-remix.js +8 -0
- package/dist/interfaces/i-settings.d.ts +33 -0
- package/dist/interfaces/i-settings.js +8 -0
- package/dist/interfaces/i-user.d.ts +14 -0
- package/dist/interfaces/i-user.js +8 -0
- package/dist/interfaces/i-workdir.d.ts +14 -0
- package/dist/interfaces/i-workdir.js +8 -0
- package/dist/interfaces/i-xkb-model.d.ts +24 -0
- package/dist/interfaces/i-xkb-model.js +8 -0
- package/dist/interfaces/index.d.ts +26 -0
- package/dist/interfaces/index.js +8 -0
- package/dist/krill/classes/cfs.d.ts +17 -0
- package/dist/krill/classes/cfs.js +39 -0
- package/dist/krill/classes/krill_enums.d.ts +37 -0
- package/dist/krill/classes/krill_enums.js +41 -0
- package/dist/krill/classes/prepare.d/confirm.d.ts +5 -0
- package/dist/krill/classes/prepare.d/confirm.js +30 -0
- package/dist/krill/classes/prepare.d/keyboard.d.ts +14 -0
- package/dist/krill/classes/prepare.d/keyboard.js +62 -0
- package/dist/krill/classes/prepare.d/location.d.ts +17 -0
- package/dist/krill/classes/prepare.d/location.js +59 -0
- package/dist/krill/classes/prepare.d/network.d.ts +14 -0
- package/dist/krill/classes/prepare.d/network.js +68 -0
- package/dist/krill/classes/prepare.d/partitions.d.ts +14 -0
- package/dist/krill/classes/prepare.d/partitions.js +86 -0
- package/dist/krill/classes/prepare.d/summary.d.ts +15 -0
- package/dist/krill/classes/prepare.d/summary.js +69 -0
- package/dist/krill/classes/prepare.d/users.d.ts +6 -0
- package/dist/krill/classes/prepare.d/users.js +63 -0
- package/dist/krill/classes/prepare.d/welcome.d.ts +6 -0
- package/dist/krill/classes/prepare.d/welcome.js +30 -0
- package/dist/krill/classes/prepare.d.ts +89 -0
- package/dist/krill/classes/prepare.js +314 -0
- package/dist/krill/classes/sequence.d/add_user.d.ts +20 -0
- package/dist/krill/classes/sequence.d/add_user.js +66 -0
- package/dist/krill/classes/sequence.d/bootloader.d.ts +14 -0
- package/dist/krill/classes/sequence.d/bootloader.js +95 -0
- package/dist/krill/classes/sequence.d/bootloader_config.d.ts +14 -0
- package/dist/krill/classes/sequence.d/bootloader_config.js +165 -0
- package/dist/krill/classes/sequence.d/change_password.d.ts +15 -0
- package/dist/krill/classes/sequence.d/change_password.js +18 -0
- package/dist/krill/classes/sequence.d/del_live_user.d.ts +14 -0
- package/dist/krill/classes/sequence.d/del_live_user.js +39 -0
- package/dist/krill/classes/sequence.d/fstab.d.ts +14 -0
- package/dist/krill/classes/sequence.d/fstab.js +189 -0
- package/dist/krill/classes/sequence.d/grubcfg.d.ts +17 -0
- package/dist/krill/classes/sequence.d/grubcfg.js +33 -0
- package/dist/krill/classes/sequence.d/hostname.d.ts +13 -0
- package/dist/krill/classes/sequence.d/hostname.js +50 -0
- package/dist/krill/classes/sequence.d/initramfs.d.ts +13 -0
- package/dist/krill/classes/sequence.d/initramfs.js +54 -0
- package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +14 -0
- package/dist/krill/classes/sequence.d/initramfs_cfg.js +35 -0
- package/dist/krill/classes/sequence.d/locale.d.ts +13 -0
- package/dist/krill/classes/sequence.d/locale.js +91 -0
- package/dist/krill/classes/sequence.d/locale_cfg.d.ts +10 -0
- package/dist/krill/classes/sequence.d/locale_cfg.js +58 -0
- package/dist/krill/classes/sequence.d/m_keyboard.d.ts +14 -0
- package/dist/krill/classes/sequence.d/m_keyboard.js +58 -0
- package/dist/krill/classes/sequence.d/machine_id.d.ts +15 -0
- package/dist/krill/classes/sequence.d/machine_id.js +33 -0
- package/dist/krill/classes/sequence.d/mkfs.d.ts +15 -0
- package/dist/krill/classes/sequence.d/mkfs.js +72 -0
- package/dist/krill/classes/sequence.d/mount_fs.d.ts +17 -0
- package/dist/krill/classes/sequence.d/mount_fs.js +68 -0
- package/dist/krill/classes/sequence.d/mount_vfs.d.ts +17 -0
- package/dist/krill/classes/sequence.d/mount_vfs.js +40 -0
- package/dist/krill/classes/sequence.d/network_cfg.d.ts +19 -0
- package/dist/krill/classes/sequence.d/network_cfg.js +73 -0
- package/dist/krill/classes/sequence.d/packages.d.ts +14 -0
- package/dist/krill/classes/sequence.d/packages.js +111 -0
- package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +17 -0
- package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +73 -0
- package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +17 -0
- package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +36 -0
- package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +17 -0
- package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +78 -0
- package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +10 -0
- package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +32 -0
- package/dist/krill/classes/sequence.d/partition.d.ts +14 -0
- package/dist/krill/classes/sequence.d/partition.js +84 -0
- package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +13 -0
- package/dist/krill/classes/sequence.d/remove_installer_link.js +35 -0
- package/dist/krill/classes/sequence.d/umount.d.ts +14 -0
- package/dist/krill/classes/sequence.d/umount.js +28 -0
- package/dist/krill/classes/sequence.d/unpackfs.d.ts +13 -0
- package/dist/krill/classes/sequence.d/unpackfs.js +20 -0
- package/dist/krill/classes/sequence.d.ts +133 -0
- package/dist/krill/classes/sequence.js +396 -0
- package/dist/krill/components/finished.d.ts +16 -0
- package/dist/krill/components/finished.js +56 -0
- package/dist/krill/components/information.d.ts +8 -0
- package/dist/krill/components/information.js +162 -0
- package/dist/krill/components/install.d.ts +15 -0
- package/dist/krill/components/install.js +60 -0
- package/dist/krill/components/keyboard.d.ts +16 -0
- package/dist/krill/components/keyboard.js +54 -0
- package/dist/krill/components/location.d.ts +16 -0
- package/dist/krill/components/location.js +59 -0
- package/dist/krill/components/network.d.ts +19 -0
- package/dist/krill/components/network.js +65 -0
- package/dist/krill/components/partitions.d.ts +18 -0
- package/dist/krill/components/partitions.js +89 -0
- package/dist/krill/components/steps.d.ts +13 -0
- package/dist/krill/components/steps.js +148 -0
- package/dist/krill/components/summary.d.ts +25 -0
- package/dist/krill/components/summary.js +77 -0
- package/dist/krill/components/title.d.ts +11 -0
- package/dist/krill/components/title.js +35 -0
- package/dist/krill/components/users.d.ts +24 -0
- package/dist/krill/components/users.js +80 -0
- package/dist/krill/components/welcome.d.ts +13 -0
- package/dist/krill/components/welcome.js +63 -0
- package/dist/krill/interfaces/i_krill.d.ts +44 -0
- package/dist/krill/interfaces/i_krill.js +8 -0
- package/dist/krill/interfaces/i_krill_config.d.ts +35 -0
- package/dist/krill/interfaces/i_krill_config.js +8 -0
- package/dist/krill/lib/get_address.d.ts +8 -0
- package/dist/krill/lib/get_address.js +23 -0
- package/dist/krill/lib/get_dns.d.ts +8 -0
- package/dist/krill/lib/get_dns.js +23 -0
- package/dist/krill/lib/get_domain.d.ts +8 -0
- package/dist/krill/lib/get_domain.js +23 -0
- package/dist/krill/lib/get_gateway.d.ts +8 -0
- package/dist/krill/lib/get_gateway.js +23 -0
- package/dist/krill/lib/get_hostname.d.ts +8 -0
- package/dist/krill/lib/get_hostname.js +23 -0
- package/dist/krill/lib/get_luks_passphrase.d.ts +8 -0
- package/dist/krill/lib/get_luks_passphrase.js +40 -0
- package/dist/krill/lib/get_netmask.d.ts +8 -0
- package/dist/krill/lib/get_netmask.js +23 -0
- package/dist/krill/lib/get_password.d.ts +8 -0
- package/dist/krill/lib/get_password.js +36 -0
- package/dist/krill/lib/get_userfullname.d.ts +8 -0
- package/dist/krill/lib/get_userfullname.js +23 -0
- package/dist/krill/lib/get_username.d.ts +8 -0
- package/dist/krill/lib/get_username.js +23 -0
- package/dist/krill/lib/select_address_type.d.ts +8 -0
- package/dist/krill/lib/select_address_type.js +24 -0
- package/dist/krill/lib/select_filesystem_type.d.ts +8 -0
- package/dist/krill/lib/select_filesystem_type.js +39 -0
- package/dist/krill/lib/select_installation_device.d.ts +8 -0
- package/dist/krill/lib/select_installation_device.js +40 -0
- package/dist/krill/lib/select_installation_mode.d.ts +9 -0
- package/dist/krill/lib/select_installation_mode.js +25 -0
- package/dist/krill/lib/select_interface.d.ts +8 -0
- package/dist/krill/lib/select_interface.js +24 -0
- package/dist/krill/lib/select_keyboard_layout.d.ts +11 -0
- package/dist/krill/lib/select_keyboard_layout.js +36 -0
- package/dist/krill/lib/select_keyboard_model.d.ts +11 -0
- package/dist/krill/lib/select_keyboard_model.js +34 -0
- package/dist/krill/lib/select_keyboard_option.d.ts +11 -0
- package/dist/krill/lib/select_keyboard_option.js +34 -0
- package/dist/krill/lib/select_keyboard_variant.d.ts +11 -0
- package/dist/krill/lib/select_keyboard_variant.js +35 -0
- package/dist/krill/lib/select_languages.d.ts +8 -0
- package/dist/krill/lib/select_languages.js +28 -0
- package/dist/krill/lib/select_regions.d.ts +8 -0
- package/dist/krill/lib/select_regions.js +24 -0
- package/dist/krill/lib/select_replaced_partition.d.ts +8 -0
- package/dist/krill/lib/select_replaced_partition.js +31 -0
- package/dist/krill/lib/select_user_swap_choice.d.ts +9 -0
- package/dist/krill/lib/select_user_swap_choice.js +35 -0
- package/dist/krill/lib/select_zones.d.ts +8 -0
- package/dist/krill/lib/select_zones.js +518 -0
- package/dist/lib/kill_me_softly.d.ts +11 -0
- package/dist/lib/kill_me_softly.js +61 -0
- package/dist/lib/utils.d.ts +42 -0
- package/dist/lib/utils.js +87 -0
- package/dist/penguins-eggs_10.1.1-0_amd64.deb +0 -0
- package/dist/penguins-eggs_10.1.1-0_amd64.deb.sha256 +1 -0
- package/package.json +25 -23
- package/scripts/_eggs +6 -12
- package/scripts/eggs.bash +1 -2
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/xorriso-command.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
// packages
|
|
9
|
+
import fs from 'node:fs';
|
|
10
|
+
import path from 'node:path';
|
|
11
|
+
import Pacman from '../pacman.js';
|
|
12
|
+
import Utils from '../utils.js';
|
|
13
|
+
// _dirname
|
|
14
|
+
const __dirname = path.dirname(new URL(import.meta.url).pathname);
|
|
15
|
+
/**
|
|
16
|
+
*
|
|
17
|
+
* @param cryptedclone
|
|
18
|
+
* @returns cmd 4 mkiso
|
|
19
|
+
*/
|
|
20
|
+
export async function xorrisoCommand(clone = false, cryptedclone = false) {
|
|
21
|
+
if (this.verbose) {
|
|
22
|
+
console.log('Ovary: xorrisoCommand');
|
|
23
|
+
}
|
|
24
|
+
const prefix = this.settings.config.snapshot_prefix;
|
|
25
|
+
let typology = '';
|
|
26
|
+
// typology is applied only with standard egg-of
|
|
27
|
+
if (prefix.slice(0, 7) === 'egg-of_') {
|
|
28
|
+
if (clone) {
|
|
29
|
+
typology = '_clone';
|
|
30
|
+
}
|
|
31
|
+
else if (cryptedclone) {
|
|
32
|
+
typology = '_crypted';
|
|
33
|
+
}
|
|
34
|
+
if (fs.existsSync('/usr/bin/eui-start.sh')) {
|
|
35
|
+
typology += '_EUI';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
const postfix = Utils.getPostfix();
|
|
39
|
+
this.settings.isoFilename = prefix + this.volid + '_' + Utils.uefiArch() + typology + postfix;
|
|
40
|
+
//
|
|
41
|
+
const output = this.settings.config.snapshot_mnt + this.settings.isoFilename;
|
|
42
|
+
let command = '';
|
|
43
|
+
// const appid = `-appid "${this.settings.distro.distroId}" `
|
|
44
|
+
// const publisher = `-publisher "${this.settings.distro.distroId}/${this.settings.distro.codenameId}" `
|
|
45
|
+
// const preparer = '-preparer "prepared by eggs <https://penguins-eggs.net>" '
|
|
46
|
+
let isoHybridMbr = '';
|
|
47
|
+
if (this.settings.config.make_isohybrid) {
|
|
48
|
+
const isolinuxFile = this.settings.distro.syslinuxPath + '/isohdpfx.bin';
|
|
49
|
+
if (fs.existsSync(isolinuxFile)) {
|
|
50
|
+
isoHybridMbr = `-isohybrid-mbr ${isolinuxFile}`;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
Utils.warning(`Can't create isohybrid image. File: ${isolinuxFile} not found. \nThe resulting image will be a standard iso file`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
if (Pacman.packageIsInstalled('genisoimage')) {
|
|
57
|
+
this.genisoimage = true;
|
|
58
|
+
command = `genisoimage \
|
|
59
|
+
-iso-level 3 \
|
|
60
|
+
-allow-limited-size \
|
|
61
|
+
-joliet-long \
|
|
62
|
+
-r \
|
|
63
|
+
-V ${this.volid} \
|
|
64
|
+
-cache-inodes \
|
|
65
|
+
-J \
|
|
66
|
+
-l \
|
|
67
|
+
-b isolinux/isolinux.bin \
|
|
68
|
+
-c isolinux/boot.cat \
|
|
69
|
+
-no-emul-boot \
|
|
70
|
+
-boot-load-size 4 \
|
|
71
|
+
-boot-info-table \
|
|
72
|
+
-eltorito-alt-boot \
|
|
73
|
+
-e boot/grub/efi.img \
|
|
74
|
+
-no-emul-boot \
|
|
75
|
+
-o ${output} ${this.settings.iso_work}`;
|
|
76
|
+
return command;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* xorriso
|
|
80
|
+
*/
|
|
81
|
+
// uefi_opt="-uefi_elToritoAltBoot-alt-boot -e boot/grub/efi.img -isohybrid-gpt-basdat -no-emul-boot"
|
|
82
|
+
let uefi_elToritoAltBoot = '';
|
|
83
|
+
let uefi_e = '';
|
|
84
|
+
let uefi_isohybridGptBasdat = '';
|
|
85
|
+
let uefi_noEmulBoot = '';
|
|
86
|
+
if (this.settings.config.make_efi) {
|
|
87
|
+
uefi_elToritoAltBoot = '-eltorito-alt-boot';
|
|
88
|
+
uefi_e = '-e boot/grub/efi.img';
|
|
89
|
+
uefi_isohybridGptBasdat = '-isohybrid-gpt-basdat';
|
|
90
|
+
uefi_noEmulBoot = '-no-emul-boot';
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* L'immagine efi è efi.img ed è
|
|
94
|
+
* presente in boot/grub/efi.img
|
|
95
|
+
* per cui:
|
|
96
|
+
* -append_partition 2 0xef efi.img
|
|
97
|
+
* --efi-boot efi.img
|
|
98
|
+
* non sono necessari
|
|
99
|
+
*/
|
|
100
|
+
command = `xorriso -as mkisofs \
|
|
101
|
+
-J \
|
|
102
|
+
-joliet-long \
|
|
103
|
+
-l \
|
|
104
|
+
-iso-level 3 \
|
|
105
|
+
${isoHybridMbr} \
|
|
106
|
+
-partition_offset 16 \
|
|
107
|
+
-V ${this.volid} \
|
|
108
|
+
-b isolinux/isolinux.bin \
|
|
109
|
+
-c isolinux/boot.cat \
|
|
110
|
+
-no-emul-boot \
|
|
111
|
+
-boot-load-size 4 \
|
|
112
|
+
-boot-info-table \
|
|
113
|
+
${uefi_elToritoAltBoot} \
|
|
114
|
+
${uefi_e} \
|
|
115
|
+
${uefi_isohybridGptBasdat} \
|
|
116
|
+
${uefi_noEmulBoot} \
|
|
117
|
+
-o ${output} ${this.settings.iso_work}`;
|
|
118
|
+
return command;
|
|
119
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/ovary.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import CliAutologin from './cli-autologin.js';
|
|
9
|
+
import Incubator from './incubation/incubator.js';
|
|
10
|
+
import Settings from './settings.js';
|
|
11
|
+
import { fertilization } from './ovary.d/fertilization.js';
|
|
12
|
+
import { produce } from './ovary.d/produce.js';
|
|
13
|
+
import { bindLiveFs, uBindLiveFs } from './ovary.d/bind-live-fs.js';
|
|
14
|
+
import { bindVfs, ubindVfs } from './ovary.d/bind-vfs.js';
|
|
15
|
+
import { editLiveFs } from './ovary.d/edit-live-fs.js';
|
|
16
|
+
import { makeSquashfs, addExclusion } from './ovary.d/make-squashfs.js';
|
|
17
|
+
import { makeEfi } from './ovary.d/make-efi.js';
|
|
18
|
+
import { xorrisoCommand } from './ovary.d/xorriso-commend.js';
|
|
19
|
+
import { createXdgAutostart } from './ovary.d/create-xdg-autostart.js';
|
|
20
|
+
import { copied, merged, mergedAndOverlay } from './ovary.d/merged.js';
|
|
21
|
+
import { makeIso } from './ovary.d/make-iso.js';
|
|
22
|
+
import { initrdAlpine, initrdArch, initrdDebian, initrdDracut } from './ovary.d/initrd.js';
|
|
23
|
+
import { userCreateLive } from './ovary.d/user-create-live.js';
|
|
24
|
+
import { syslinux } from './ovary.d/syslinux.js';
|
|
25
|
+
import { usersRemove } from './ovary.d/users-remove.js';
|
|
26
|
+
import { makeDotDisk } from './ovary.d/make-dot-disk.js';
|
|
27
|
+
import { kernelCopy } from './ovary.d/kernel-copy.js';
|
|
28
|
+
import { liveCreateStructure } from './ovary.d/live-create-structure.js';
|
|
29
|
+
import { finished } from './ovary.d/finished.js';
|
|
30
|
+
/**
|
|
31
|
+
* Ovary:
|
|
32
|
+
*/
|
|
33
|
+
export default class Ovary {
|
|
34
|
+
cliAutologin: CliAutologin;
|
|
35
|
+
clone: boolean;
|
|
36
|
+
compression: string;
|
|
37
|
+
cryptedclone: boolean;
|
|
38
|
+
echo: {};
|
|
39
|
+
familyId: string;
|
|
40
|
+
distroId: string;
|
|
41
|
+
genisoimage: boolean;
|
|
42
|
+
incubator: Incubator;
|
|
43
|
+
nest: string;
|
|
44
|
+
settings: Settings;
|
|
45
|
+
snapshot_basename: string;
|
|
46
|
+
snapshot_prefix: string;
|
|
47
|
+
theme: string;
|
|
48
|
+
toNull: string;
|
|
49
|
+
verbose: boolean;
|
|
50
|
+
volid: string;
|
|
51
|
+
uuid: string;
|
|
52
|
+
kernel: string;
|
|
53
|
+
initrd: string;
|
|
54
|
+
vmlinuz: string;
|
|
55
|
+
fertilization: typeof fertilization;
|
|
56
|
+
produce: typeof produce;
|
|
57
|
+
bindLiveFs: typeof bindLiveFs;
|
|
58
|
+
bindVfs: typeof bindVfs;
|
|
59
|
+
editLiveFs: typeof editLiveFs;
|
|
60
|
+
makeEfi: typeof makeEfi;
|
|
61
|
+
makeSquashfs: typeof makeSquashfs;
|
|
62
|
+
addExclusion: typeof addExclusion;
|
|
63
|
+
xorrisoCommand: typeof xorrisoCommand;
|
|
64
|
+
createXdgAutostart: typeof createXdgAutostart;
|
|
65
|
+
copied: typeof copied;
|
|
66
|
+
merged: typeof merged;
|
|
67
|
+
mergedAndOverlay: typeof mergedAndOverlay;
|
|
68
|
+
makeIso: typeof makeIso;
|
|
69
|
+
initrdAlpine: typeof initrdAlpine;
|
|
70
|
+
initrdArch: typeof initrdArch;
|
|
71
|
+
initrdDebian: typeof initrdDebian;
|
|
72
|
+
initrdDracut: typeof initrdDracut;
|
|
73
|
+
userCreateLive: typeof userCreateLive;
|
|
74
|
+
syslinux: typeof syslinux;
|
|
75
|
+
uBindLiveFs: typeof uBindLiveFs;
|
|
76
|
+
ubindVfs: typeof ubindVfs;
|
|
77
|
+
usersRemove: typeof usersRemove;
|
|
78
|
+
makeDotDisk: typeof makeDotDisk;
|
|
79
|
+
kernelCopy: typeof kernelCopy;
|
|
80
|
+
liveCreateStructure: typeof liveCreateStructure;
|
|
81
|
+
finished: typeof finished;
|
|
82
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/ovary.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import path from 'node:path';
|
|
9
|
+
import CliAutologin from './cli-autologin.js';
|
|
10
|
+
// Methods
|
|
11
|
+
import { fertilization } from './ovary.d/fertilization.js';
|
|
12
|
+
import { produce } from './ovary.d/produce.js';
|
|
13
|
+
import { bindLiveFs, uBindLiveFs } from './ovary.d/bind-live-fs.js';
|
|
14
|
+
import { bindVfs, ubindVfs } from './ovary.d/bind-vfs.js';
|
|
15
|
+
import { editLiveFs } from './ovary.d/edit-live-fs.js';
|
|
16
|
+
import { makeSquashfs, addExclusion } from './ovary.d/make-squashfs.js';
|
|
17
|
+
import { makeEfi } from './ovary.d/make-efi.js';
|
|
18
|
+
import { xorrisoCommand } from './ovary.d/xorriso-commend.js';
|
|
19
|
+
import { createXdgAutostart } from './ovary.d/create-xdg-autostart.js';
|
|
20
|
+
import { copied, merged, mergedAndOverlay } from './ovary.d/merged.js';
|
|
21
|
+
import { makeIso } from './ovary.d/make-iso.js';
|
|
22
|
+
import { initrdAlpine, initrdArch, initrdDebian, initrdDracut } from './ovary.d/initrd.js';
|
|
23
|
+
import { userCreateLive } from './ovary.d/user-create-live.js';
|
|
24
|
+
import { syslinux } from './ovary.d/syslinux.js';
|
|
25
|
+
import { usersRemove } from './ovary.d/users-remove.js';
|
|
26
|
+
import { makeDotDisk } from './ovary.d/make-dot-disk.js';
|
|
27
|
+
import { kernelCopy } from './ovary.d/kernel-copy.js';
|
|
28
|
+
import { liveCreateStructure } from './ovary.d/live-create-structure.js';
|
|
29
|
+
import { finished } from './ovary.d/finished.js';
|
|
30
|
+
// _dirname
|
|
31
|
+
const __dirname = path.dirname(new URL(import.meta.url).pathname);
|
|
32
|
+
/**
|
|
33
|
+
* Ovary:
|
|
34
|
+
*/
|
|
35
|
+
export default class Ovary {
|
|
36
|
+
cliAutologin = new CliAutologin();
|
|
37
|
+
clone = false;
|
|
38
|
+
compression = '';
|
|
39
|
+
cryptedclone = false;
|
|
40
|
+
echo = {};
|
|
41
|
+
familyId = '';
|
|
42
|
+
distroId = '';
|
|
43
|
+
genisoimage = false;
|
|
44
|
+
incubator = {};
|
|
45
|
+
nest = '';
|
|
46
|
+
settings = {};
|
|
47
|
+
snapshot_basename = '';
|
|
48
|
+
snapshot_prefix = '';
|
|
49
|
+
theme = '';
|
|
50
|
+
toNull = '';
|
|
51
|
+
verbose = false;
|
|
52
|
+
volid = '';
|
|
53
|
+
uuid = '';
|
|
54
|
+
kernel = '';
|
|
55
|
+
initrd = '';
|
|
56
|
+
vmlinuz = '';
|
|
57
|
+
// I put all methods on ovary.d
|
|
58
|
+
fertilization = fertilization;
|
|
59
|
+
produce = produce;
|
|
60
|
+
// called only inside Ovary
|
|
61
|
+
bindLiveFs = bindLiveFs;
|
|
62
|
+
bindVfs = bindVfs;
|
|
63
|
+
editLiveFs = editLiveFs;
|
|
64
|
+
makeEfi = makeEfi;
|
|
65
|
+
makeSquashfs = makeSquashfs;
|
|
66
|
+
addExclusion = addExclusion;
|
|
67
|
+
xorrisoCommand = xorrisoCommand;
|
|
68
|
+
createXdgAutostart = createXdgAutostart;
|
|
69
|
+
copied = copied;
|
|
70
|
+
merged = merged;
|
|
71
|
+
mergedAndOverlay = mergedAndOverlay;
|
|
72
|
+
makeIso = makeIso;
|
|
73
|
+
initrdAlpine = initrdAlpine;
|
|
74
|
+
initrdArch = initrdArch;
|
|
75
|
+
initrdDebian = initrdDebian;
|
|
76
|
+
initrdDracut = initrdDracut;
|
|
77
|
+
userCreateLive = userCreateLive;
|
|
78
|
+
syslinux = syslinux;
|
|
79
|
+
uBindLiveFs = uBindLiveFs;
|
|
80
|
+
ubindVfs = ubindVfs;
|
|
81
|
+
usersRemove = usersRemove;
|
|
82
|
+
makeDotDisk = makeDotDisk;
|
|
83
|
+
kernelCopy = kernelCopy;
|
|
84
|
+
liveCreateStructure = liveCreateStructure;
|
|
85
|
+
finished = finished;
|
|
86
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/families/aldos.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Utils: general porpourse utils
|
|
10
|
+
* @remarks all the utilities
|
|
11
|
+
*/
|
|
12
|
+
export default class Aldos {
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
16
|
+
static calamaresInstall(verbose?: boolean): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
* calamaresPolicies
|
|
20
|
+
*/
|
|
21
|
+
static calamaresPolicies(verbose?: boolean): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
25
|
+
static calamaresRemove(verbose?: boolean): Promise<boolean>;
|
|
26
|
+
/**
|
|
27
|
+
* check if it's installed wayland
|
|
28
|
+
* @returns true if wayland
|
|
29
|
+
*/
|
|
30
|
+
static isInstalledWayland(): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* check if it's installed xorg
|
|
33
|
+
* @returns true if xorg is installed
|
|
34
|
+
*/
|
|
35
|
+
static isInstalledXorg(): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* restuisce VERO se il pacchetto è installato
|
|
38
|
+
* @param packageName
|
|
39
|
+
*/
|
|
40
|
+
static packageAvailable(packageName: string): Promise<boolean>;
|
|
41
|
+
/**
|
|
42
|
+
* Install the package packageName
|
|
43
|
+
* @param packageName {string} Pacchetto da installare
|
|
44
|
+
* @returns {boolean} True if success
|
|
45
|
+
*/
|
|
46
|
+
static packageInstall(packageName: string): Promise<boolean>;
|
|
47
|
+
/**
|
|
48
|
+
* restuisce VERO se il pacchetto è installato
|
|
49
|
+
* @param packageName
|
|
50
|
+
*/
|
|
51
|
+
static packageIsInstalled(packageName: string): boolean;
|
|
52
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/families/aldos.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import fs from 'node:fs';
|
|
9
|
+
import shx from 'shelljs';
|
|
10
|
+
import { exec } from '../../lib/utils.js';
|
|
11
|
+
import Utils from '../utils.js';
|
|
12
|
+
/**
|
|
13
|
+
* Utils: general porpourse utils
|
|
14
|
+
* @remarks all the utilities
|
|
15
|
+
*/
|
|
16
|
+
export default class Aldos {
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
*/
|
|
20
|
+
static async calamaresInstall(verbose = true) {
|
|
21
|
+
const echo = Utils.setEcho(verbose);
|
|
22
|
+
try {
|
|
23
|
+
await exec(`yum install -y calamares}`, echo);
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
Utils.error(`aldos.calamaresInstall()`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
*
|
|
31
|
+
* calamaresPolicies
|
|
32
|
+
*/
|
|
33
|
+
static async calamaresPolicies(verbose = false) {
|
|
34
|
+
// nothing
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
*/
|
|
39
|
+
static async calamaresRemove(verbose = true) {
|
|
40
|
+
const echo = Utils.setEcho(verbose);
|
|
41
|
+
const retVal = false;
|
|
42
|
+
if (fs.existsSync('/etc/calamares')) {
|
|
43
|
+
await exec('rm /etc/calamares -rf', echo);
|
|
44
|
+
}
|
|
45
|
+
await exec('yum remove -y calamares', echo);
|
|
46
|
+
return retVal;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* check if it's installed wayland
|
|
50
|
+
* @returns true if wayland
|
|
51
|
+
*/
|
|
52
|
+
static isInstalledWayland() {
|
|
53
|
+
return this.packageIsInstalled('xorg-x11-server-Xwayland*');
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* check if it's installed xorg
|
|
57
|
+
* @returns true if xorg is installed
|
|
58
|
+
*/
|
|
59
|
+
static isInstalledXorg() {
|
|
60
|
+
return this.packageIsInstalled('xorg-x11-server-Xorg.x86_64');
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* restuisce VERO se il pacchetto è installato
|
|
64
|
+
* @param packageName
|
|
65
|
+
*/
|
|
66
|
+
static async packageAvailable(packageName) {
|
|
67
|
+
let available = false;
|
|
68
|
+
const cmd = `/usr/bin/yum list --available ${packageName} | grep Package:`;
|
|
69
|
+
const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
|
|
70
|
+
if (stdout.includes(packageName)) {
|
|
71
|
+
available = true;
|
|
72
|
+
}
|
|
73
|
+
return available;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Install the package packageName
|
|
77
|
+
* @param packageName {string} Pacchetto da installare
|
|
78
|
+
* @returns {boolean} True if success
|
|
79
|
+
*/
|
|
80
|
+
static async packageInstall(packageName) {
|
|
81
|
+
let retVal = false;
|
|
82
|
+
if (shx.exec(`/usr/bin/yum install ${packageName}`, { silent: true }) === '0') {
|
|
83
|
+
retVal = true;
|
|
84
|
+
}
|
|
85
|
+
return retVal;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* restuisce VERO se il pacchetto è installato
|
|
89
|
+
* @param packageName
|
|
90
|
+
*/
|
|
91
|
+
static packageIsInstalled(packageName) {
|
|
92
|
+
let installed = false;
|
|
93
|
+
const cmd = `/usr/bin/yum list installed ${packageName}`;
|
|
94
|
+
const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
|
|
95
|
+
if (stdout.includes(packageName)) {
|
|
96
|
+
installed = true;
|
|
97
|
+
}
|
|
98
|
+
return installed;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/families/alpine.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Alpine
|
|
10
|
+
* @remarks all the utilities
|
|
11
|
+
*/
|
|
12
|
+
export default class Alpine {
|
|
13
|
+
static packs4calamares: string[];
|
|
14
|
+
/**
|
|
15
|
+
* Alpine: calamaresInstall
|
|
16
|
+
*/
|
|
17
|
+
static calamaresInstall(verbose?: boolean): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* calamaresPolicies
|
|
21
|
+
*/
|
|
22
|
+
static calamaresPolicies(verbose?: boolean): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Alpine: calamaresRemove
|
|
25
|
+
*/
|
|
26
|
+
static calamaresRemove(verbose?: boolean): Promise<boolean>;
|
|
27
|
+
/**
|
|
28
|
+
* Alpine: isInstalledWayland
|
|
29
|
+
* @returns true if wayland is installed
|
|
30
|
+
*/
|
|
31
|
+
static isInstalledWayland(): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Alpine: isInstalledXorg
|
|
34
|
+
* @returns true if xorg is installed
|
|
35
|
+
*/
|
|
36
|
+
static isInstalledXorg(): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Alpine: packageInstall
|
|
39
|
+
* Install the package packageName
|
|
40
|
+
* @param packageName {string} Pacchetto Debian da installare
|
|
41
|
+
* @returns {boolean} True if success
|
|
42
|
+
*/
|
|
43
|
+
static packageInstall(packageName: string): Promise<boolean>;
|
|
44
|
+
/**
|
|
45
|
+
* Alpine: packageIsInstalled OK
|
|
46
|
+
* restuisce VERO se il pacchetto è installato
|
|
47
|
+
* @param packageName
|
|
48
|
+
*/
|
|
49
|
+
static packageIsInstalled(packageName: string): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Alpine: packagePacmanAvailable
|
|
52
|
+
* restuisce VERO se il pacchetto è installato
|
|
53
|
+
* @param packageName
|
|
54
|
+
*/
|
|
55
|
+
static packagePacmanAvailable(packageName: string): Promise<boolean>;
|
|
56
|
+
}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/families/alpine.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import shx from 'shelljs';
|
|
9
|
+
import { exec } from '../../lib/utils.js';
|
|
10
|
+
import Utils from '../utils.js';
|
|
11
|
+
/**
|
|
12
|
+
* Alpine
|
|
13
|
+
* @remarks all the utilities
|
|
14
|
+
*/
|
|
15
|
+
export default class Alpine {
|
|
16
|
+
static packs4calamares = [
|
|
17
|
+
'calamares',
|
|
18
|
+
'calamares-doc',
|
|
19
|
+
'calamares-extensions',
|
|
20
|
+
'calamares-lang',
|
|
21
|
+
'calamares-mod-bootloader',
|
|
22
|
+
'calamares-mod-displaymanager',
|
|
23
|
+
'calamares-mod-finished',
|
|
24
|
+
'calamares-mod-fsresizer',
|
|
25
|
+
'calamares-mod-fstab',
|
|
26
|
+
'calamares-mod-grubcfg',
|
|
27
|
+
'calamares-mod-hostinfo',
|
|
28
|
+
'calamares-mod-hwclock',
|
|
29
|
+
'calamares-mod-interactiveterminal',
|
|
30
|
+
'calamares-mod-keyboard',
|
|
31
|
+
'calamares-mod-keyboardq',
|
|
32
|
+
'calamares-mod-locale',
|
|
33
|
+
'calamares-mod-localeq',
|
|
34
|
+
'calamares-mod-luksbootkeyfile',
|
|
35
|
+
'calamares-mod-luksopenswaphookcfg',
|
|
36
|
+
'calamares-mod-machineid',
|
|
37
|
+
'calamares-mod-mkinitfs',
|
|
38
|
+
'calamares-mod-mount',
|
|
39
|
+
'calamares-mod-networkcfg',
|
|
40
|
+
'calamares-mod-packages',
|
|
41
|
+
'calamares-mod-partition',
|
|
42
|
+
'calamares-mod-plasmalnf',
|
|
43
|
+
'calamares-mod-plymouthcfg',
|
|
44
|
+
'calamares-mod-removeuser',
|
|
45
|
+
'calamares-mod-services-openrc',
|
|
46
|
+
'calamares-mod-shellprocess',
|
|
47
|
+
'calamares-mod-summary',
|
|
48
|
+
'calamares-mod-umount',
|
|
49
|
+
'calamares-mod-unpackfs',
|
|
50
|
+
'calamares-mod-users',
|
|
51
|
+
'calamares-mod-webview',
|
|
52
|
+
'calamares-mod-welcome',
|
|
53
|
+
'calamares-mod-welcomeq'
|
|
54
|
+
];
|
|
55
|
+
/**
|
|
56
|
+
* Alpine: calamaresInstall
|
|
57
|
+
*/
|
|
58
|
+
static async calamaresInstall(verbose = false) {
|
|
59
|
+
const echo = Utils.setEcho(verbose);
|
|
60
|
+
let installed = false;
|
|
61
|
+
try {
|
|
62
|
+
const cmd = 'apk update';
|
|
63
|
+
await exec(cmd, echo);
|
|
64
|
+
installed = true;
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
Utils.error(`Alpine.calamaresInstall(): apk update `);
|
|
68
|
+
}
|
|
69
|
+
try {
|
|
70
|
+
const cmd = `apk add ${this.packs4calamares.join(' ')}`;
|
|
71
|
+
await exec(cmd, echo);
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
Utils.error(`Alpine.calamaresInstall(): apk add calamares ...`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
*
|
|
79
|
+
* calamaresPolicies
|
|
80
|
+
*/
|
|
81
|
+
static async calamaresPolicies(verbose = false) {
|
|
82
|
+
// nothing
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Alpine: calamaresRemove
|
|
86
|
+
*/
|
|
87
|
+
static async calamaresRemove(verbose = true) {
|
|
88
|
+
const echo = Utils.setEcho(verbose);
|
|
89
|
+
let removed = false;
|
|
90
|
+
try {
|
|
91
|
+
const cmd = `apk del ${this.packs4calamares.join(' ')}`;
|
|
92
|
+
await exec(cmd, echo);
|
|
93
|
+
removed = true;
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
Utils.error(`Alpine.calamaresRemove(): apk del calamares ...`);
|
|
97
|
+
}
|
|
98
|
+
try {
|
|
99
|
+
const cmd = `rm /etc/calamares -rf`;
|
|
100
|
+
await exec(cmd, echo);
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
Utils.error(`Alpine.calamaresRemove(): rm /etc/calamares -rf`);
|
|
104
|
+
}
|
|
105
|
+
return removed;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Alpine: isInstalledWayland
|
|
109
|
+
* @returns true if wayland is installed
|
|
110
|
+
*/
|
|
111
|
+
static isInstalledWayland() {
|
|
112
|
+
return this.packageIsInstalled('xwayland');
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Alpine: isInstalledXorg
|
|
116
|
+
* @returns true if xorg is installed
|
|
117
|
+
*/
|
|
118
|
+
static isInstalledXorg() {
|
|
119
|
+
return this.packageIsInstalled('xorg-server-common');
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Alpine: packageInstall
|
|
123
|
+
* Install the package packageName
|
|
124
|
+
* @param packageName {string} Pacchetto Debian da installare
|
|
125
|
+
* @returns {boolean} True if success
|
|
126
|
+
*/
|
|
127
|
+
static async packageInstall(packageName) {
|
|
128
|
+
let retVal = false;
|
|
129
|
+
if (shx.exec(`/sbin/apk add ${packageName}`, { silent: true }) === '0') {
|
|
130
|
+
retVal = true;
|
|
131
|
+
}
|
|
132
|
+
return retVal;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Alpine: packageIsInstalled OK
|
|
136
|
+
* restuisce VERO se il pacchetto è installato
|
|
137
|
+
* @param packageName
|
|
138
|
+
*/
|
|
139
|
+
static packageIsInstalled(packageName) {
|
|
140
|
+
let installed = false;
|
|
141
|
+
const cmd = `/sbin/apk info -e ${packageName}`;
|
|
142
|
+
const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
|
|
143
|
+
if (stdout.includes(packageName)) {
|
|
144
|
+
installed = true;
|
|
145
|
+
}
|
|
146
|
+
return installed;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Alpine: packagePacmanAvailable
|
|
150
|
+
* restuisce VERO se il pacchetto è installato
|
|
151
|
+
* @param packageName
|
|
152
|
+
*/
|
|
153
|
+
static async packagePacmanAvailable(packageName) {
|
|
154
|
+
let available = false;
|
|
155
|
+
const cmd = `/sbin/apk search ${packageName} | awk '{ print $1 }'`;
|
|
156
|
+
const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
|
|
157
|
+
if (stdout == packageName) {
|
|
158
|
+
available = true;
|
|
159
|
+
}
|
|
160
|
+
return available;
|
|
161
|
+
}
|
|
162
|
+
}
|