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
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
set -x
|
|
4
|
+
export CMD_PATH=$(cd `dirname $0`; pwd)
|
|
5
|
+
export PROJECT_NAME="${CMD_PATH##*/}"
|
|
6
|
+
cd $CMD_PATH
|
|
7
|
+
|
|
8
|
+
# define YOLK if host=Debian
|
|
9
|
+
if [ -f /etc/os-release ]; then
|
|
10
|
+
. /etc/os-release
|
|
11
|
+
if [[ "$ID" == "debian" ]]; then
|
|
12
|
+
DEST="/var/local/yolk"
|
|
13
|
+
if [ ! -d $DEST ]; then
|
|
14
|
+
sudo mkdir -p $DEST
|
|
15
|
+
fi
|
|
16
|
+
YOLK="-v $DEST:$DEST"
|
|
17
|
+
fi
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
FAMILY_ID="debian"
|
|
21
|
+
IMAGE="debian:12"
|
|
22
|
+
source podman.command.sh debian
|
|
23
|
+
|
package/pods/ubuntu.sh
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
set -x
|
|
4
|
+
|
|
5
|
+
export CMD_PATH=$(cd `dirname $0`; pwd)
|
|
6
|
+
export PROJECT_NAME="${CMD_PATH##*/}"
|
|
7
|
+
cd $CMD_PATH
|
|
8
|
+
|
|
9
|
+
# define YOLK if host=ubuntu
|
|
10
|
+
if [ -f /etc/os-release ]; then
|
|
11
|
+
. /etc/os-release
|
|
12
|
+
if [[ "$ID" == "ubuntu" ]]; then
|
|
13
|
+
DEST="/var/local/yolk"
|
|
14
|
+
if [ ! -d $DEST ]; then
|
|
15
|
+
sudo mkdir -p $DEST
|
|
16
|
+
fi
|
|
17
|
+
YOLK="-v $DEST:$DEST"
|
|
18
|
+
fi
|
|
19
|
+
fi
|
|
20
|
+
|
|
21
|
+
FAMILY_ID="debian"
|
|
22
|
+
IMAGE="ubuntu:24.04"
|
|
23
|
+
source podman.command.sh ubuntu
|
|
24
|
+
|
package/scripts/_eggs
CHANGED
|
@@ -194,15 +194,17 @@ _eggs() {
|
|
|
194
194
|
"krill[krill: the CLI system installer - the egg became a penguin!]" \
|
|
195
195
|
"kill[kill the eggs/free the nest]" \
|
|
196
196
|
"love[the simplest way to get an egg!]" \
|
|
197
|
+
"maker[eggs maker: a GUI for penguin-eggs]" \
|
|
197
198
|
"mom[ask help from mommy - TUI helper]" \
|
|
199
|
+
"pods[eggs pods: build ISOs from containers]" \
|
|
198
200
|
"produce[produce a live image from your system whithout your data]" \
|
|
199
201
|
"status[informations about eggs status]" \
|
|
200
202
|
"syncfrom[restore users and user data from a LUKS volumes]" \
|
|
201
203
|
"syncto[Save users and users' data ENCRYPTED]" \
|
|
202
204
|
"update[update the Penguins' eggs tool]" \
|
|
203
|
-
"help[Display help for eggs.]" \
|
|
204
205
|
"autocomplete[Display autocomplete installation instructions.]" \
|
|
205
206
|
"version[]" \
|
|
207
|
+
"help[Display help for eggs.]" \
|
|
206
208
|
|
|
207
209
|
;;
|
|
208
210
|
args)
|
|
@@ -258,6 +260,7 @@ _arguments -S \
|
|
|
258
260
|
"(-c --clean)"{-c,--clean}"[remove old configuration before to create]" \
|
|
259
261
|
"(-d --default)"{-d,--default}"[reset to default values]" \
|
|
260
262
|
"(-f --file)"{-f,--file}"[use a file configuration custom]:file:_files" \
|
|
263
|
+
"(-n --nointeractive)"{-n,--nointeractive}"[no user interaction]" \
|
|
261
264
|
"(-h --help)"{-h,--help}"[Show CLI help.]" \
|
|
262
265
|
"(-v --verbose)"{-v,--verbose}"[]" \
|
|
263
266
|
--help"[Show help for command]" \
|
|
@@ -314,6 +317,12 @@ love)
|
|
|
314
317
|
_arguments -S \
|
|
315
318
|
"(-h --help)"{-h,--help}"[Show CLI help.]" \
|
|
316
319
|
"(-v --verbose)"{-v,--verbose}"[]" \
|
|
320
|
+
"(-n --nointeractive)"{-n,--nointeractive}"[no user interaction]" \
|
|
321
|
+
--help"[Show help for command]" \
|
|
322
|
+
"*: :_files" ;;
|
|
323
|
+
maker)
|
|
324
|
+
_arguments -S \
|
|
325
|
+
"(-h --help)"{-h,--help}"[Show CLI help.]" \
|
|
317
326
|
--help"[Show help for command]" \
|
|
318
327
|
"*: :_files" ;;
|
|
319
328
|
mom)
|
|
@@ -321,6 +330,11 @@ _arguments -S \
|
|
|
321
330
|
"(-h --help)"{-h,--help}"[Show CLI help.]" \
|
|
322
331
|
--help"[Show help for command]" \
|
|
323
332
|
"*: :_files" ;;
|
|
333
|
+
pods)
|
|
334
|
+
_arguments -S \
|
|
335
|
+
"(-h --help)"{-h,--help}"[Show CLI help.]" \
|
|
336
|
+
--help"[Show help for command]" \
|
|
337
|
+
"*: :_files" ;;
|
|
324
338
|
produce)
|
|
325
339
|
_arguments -S \
|
|
326
340
|
"*"--addons"[addons to be used: adapt, pve, rsupport]:file:_files" \
|
|
@@ -329,6 +343,7 @@ _arguments -S \
|
|
|
329
343
|
"(-C --cryptedclone)"{-C,--cryptedclone}"[crypted clone]" \
|
|
330
344
|
"*"--excludes"[use: static, homes, home]:file:_files" \
|
|
331
345
|
"(-h --help)"{-h,--help}"[Show CLI help.]" \
|
|
346
|
+
"(-k --kernel)"{-k,--kernel}"[kernel version]:file:_files" \
|
|
332
347
|
"*"--links"[desktop links]:file:_files" \
|
|
333
348
|
"(-m --max)"{-m,--max}"[max compression: xz -Xbcj ...]" \
|
|
334
349
|
"(-N --noicon)"{-N,--noicon}"[no icon eggs on desktop]" \
|
|
@@ -373,11 +388,6 @@ _arguments -S \
|
|
|
373
388
|
"(-v --verbose)"{-v,--verbose}"[verbose]" \
|
|
374
389
|
--help"[Show help for command]" \
|
|
375
390
|
"*: :_files" ;;
|
|
376
|
-
help)
|
|
377
|
-
_arguments -S \
|
|
378
|
-
"(-n --nested-commands)"{-n,--nested-commands}"[Include all nested commands in the output.]" \
|
|
379
|
-
--help"[Show help for command]" \
|
|
380
|
-
"*: :_files" ;;
|
|
381
391
|
autocomplete)
|
|
382
392
|
_arguments -S \
|
|
383
393
|
"(-r --refresh-cache)"{-r,--refresh-cache}"[Refresh cache (ignores displaying instructions)]" \
|
|
@@ -389,6 +399,11 @@ _arguments -S \
|
|
|
389
399
|
--verbose"[Show additional information about the CLI.]" \
|
|
390
400
|
--help"[Show help for command]" \
|
|
391
401
|
"*: :_files" ;;
|
|
402
|
+
help)
|
|
403
|
+
_arguments -S \
|
|
404
|
+
"(-n --nested-commands)"{-n,--nested-commands}"[Include all nested commands in the output.]" \
|
|
405
|
+
--help"[Show help for command]" \
|
|
406
|
+
"*: :_files" ;;
|
|
392
407
|
esac
|
|
393
408
|
|
|
394
409
|
;;
|
package/scripts/eggs.bash
CHANGED
|
@@ -16,16 +16,18 @@ analyze --help --verbose
|
|
|
16
16
|
calamares --help --install --nointeractive --policies --release --remove --theme --verbose
|
|
17
17
|
config --clean --help --nointeractive --verbose
|
|
18
18
|
cuckoo --help
|
|
19
|
-
dad --clean --default --file --help --verbose
|
|
19
|
+
dad --clean --default --file --nointeractive --help --verbose
|
|
20
20
|
export:iso --checksum --clean --help --verbose
|
|
21
21
|
export:pkg --all --clean --help --verbose
|
|
22
22
|
export:tarballs --clean --help --verbose
|
|
23
23
|
install --btrfs --chroot --crypted --domain --halt --help --ip --nointeractive --none --pve --random --small --suspend --testing --unattended --verbose
|
|
24
24
|
krill --btrfs --chroot --crypted --domain --halt --help --ip --nointeractive --none --pve --random --small --suspend --testing --unattended --verbose
|
|
25
25
|
kill --help --isos --nointeractive --verbose
|
|
26
|
-
love --help --verbose
|
|
26
|
+
love --help --verbose --nointeractive
|
|
27
|
+
maker --help
|
|
27
28
|
mom --help
|
|
28
|
-
|
|
29
|
+
pods --help
|
|
30
|
+
produce --addons --basename --clone --cryptedclone --excludes --help --kernel --links --max --noicon --nointeractive --pendrive --prefix --release --script --standard --theme --unsecure --verbose --yolk
|
|
29
31
|
status --help --verbose
|
|
30
32
|
syncfrom --delete --file --help --rootdir --verbose
|
|
31
33
|
syncto --excludes --file --help --verbose
|
|
@@ -39,9 +41,9 @@ wardrobe:get --help --verbose
|
|
|
39
41
|
wardrobe:list --distro --help --verbose
|
|
40
42
|
wardrobe:show --help --json --verbose --wardrobe
|
|
41
43
|
wardrobe:wear --help --no_accessories --no_firmwares --verbose --wardrobe
|
|
42
|
-
help --nested-commands
|
|
43
44
|
autocomplete --refresh-cache
|
|
44
45
|
version --json --verbose
|
|
46
|
+
help --nested-commands
|
|
45
47
|
"
|
|
46
48
|
|
|
47
49
|
function __trim_colon_commands()
|
package/dist/classes/bleach.d.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/classes/bleach.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
|
-
* Bleach:
|
|
10
|
-
*/
|
|
11
|
-
export default class Bleach {
|
|
12
|
-
/**
|
|
13
|
-
* clean
|
|
14
|
-
* @param verbose
|
|
15
|
-
*/
|
|
16
|
-
clean(verbose?: boolean): Promise<void>;
|
|
17
|
-
/**
|
|
18
|
-
* cleanHistory
|
|
19
|
-
* @param verbose
|
|
20
|
-
*/
|
|
21
|
-
private cleanHistory;
|
|
22
|
-
/**
|
|
23
|
-
* cleanJournal
|
|
24
|
-
* @param verbose
|
|
25
|
-
*/
|
|
26
|
-
private cleanJournal;
|
|
27
|
-
/**
|
|
28
|
-
* cleanSystemCache
|
|
29
|
-
* @param verbose
|
|
30
|
-
*/
|
|
31
|
-
private cleanSystemCache;
|
|
32
|
-
}
|
package/dist/classes/bleach.js
DELETED
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/classes/bleach.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
|
-
// libraries
|
|
10
|
-
import { exec } from '../lib/utils.js';
|
|
11
|
-
import Distro from './distro.js';
|
|
12
|
-
import Utils from './utils.js';
|
|
13
|
-
/**
|
|
14
|
-
* Bleach:
|
|
15
|
-
*/
|
|
16
|
-
export default class Bleach {
|
|
17
|
-
/**
|
|
18
|
-
* clean
|
|
19
|
-
* @param verbose
|
|
20
|
-
*/
|
|
21
|
-
async clean(verbose = false) {
|
|
22
|
-
let echo = { capture: false, echo: false, ignore: true };
|
|
23
|
-
if (verbose) {
|
|
24
|
-
echo = { capture: false, echo: true, ignore: true };
|
|
25
|
-
Utils.warning('cleaning the system');
|
|
26
|
-
}
|
|
27
|
-
const distro = new Distro();
|
|
28
|
-
if (distro.familyId === 'alpine') {
|
|
29
|
-
await exec('apk cache clean', echo);
|
|
30
|
-
await exec('apk cache purge', echo);
|
|
31
|
-
}
|
|
32
|
-
else if (distro.familyId === 'archlinux') {
|
|
33
|
-
await exec('yes | sudo pacman -Scc', Utils.setEcho(true));
|
|
34
|
-
}
|
|
35
|
-
else if (distro.familyId === 'debian') {
|
|
36
|
-
await exec('apt-get clean', echo);
|
|
37
|
-
await exec('apt-get autoclean', echo);
|
|
38
|
-
await exec(`rm /var/lib/apt/lists/lock -rf`, echo);
|
|
39
|
-
}
|
|
40
|
-
else if (distro.familyId === 'fedora' || distro.familyId === 'openmamba') {
|
|
41
|
-
await exec(`dnf remove $(dnf repoquery --installonly --latest-limit=-1 -q)`);
|
|
42
|
-
await exec(`dnf clean all`, echo);
|
|
43
|
-
}
|
|
44
|
-
else if (distro.familyId === 'opensuse') {
|
|
45
|
-
await exec(`zypper clean`, echo);
|
|
46
|
-
}
|
|
47
|
-
else if (distro.familyId === 'voidlinux') {
|
|
48
|
-
await exec(`xbps-remove -O`, echo);
|
|
49
|
-
}
|
|
50
|
-
await this.cleanHistory(verbose);
|
|
51
|
-
await this.cleanJournal(verbose);
|
|
52
|
-
await this.cleanSystemCache(verbose);
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* cleanHistory
|
|
56
|
-
* @param verbose
|
|
57
|
-
*/
|
|
58
|
-
async cleanHistory(verbose = false) {
|
|
59
|
-
if (verbose) {
|
|
60
|
-
Utils.warning('cleaning bash history');
|
|
61
|
-
}
|
|
62
|
-
const dest = '/root/.bash_history';
|
|
63
|
-
if (fs.existsSync(dest)) {
|
|
64
|
-
await rm(dest, verbose);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* cleanJournal
|
|
69
|
-
* @param verbose
|
|
70
|
-
*/
|
|
71
|
-
async cleanJournal(verbose = false) {
|
|
72
|
-
let echo = { capture: false, echo: false, ignore: true };
|
|
73
|
-
if (verbose) {
|
|
74
|
-
echo = { capture: false, echo: true, ignore: true };
|
|
75
|
-
Utils.warning('cleaning journald');
|
|
76
|
-
}
|
|
77
|
-
if (Utils.isSystemd()) {
|
|
78
|
-
try {
|
|
79
|
-
await exec('journalctl --rotate', echo);
|
|
80
|
-
await exec('journalctl --vacuum-time=1s', echo);
|
|
81
|
-
}
|
|
82
|
-
catch (error) {
|
|
83
|
-
Utils.error(error);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
// Truncate logs, remove archived logs.
|
|
88
|
-
await exec('find /var/log -name "*gz" -print0 | xargs -0r rm -f', echo);
|
|
89
|
-
await exec('find /var/log/ -type f -exec truncate -s 0 {} \\;', echo);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* cleanSystemCache
|
|
94
|
-
* @param verbose
|
|
95
|
-
*/
|
|
96
|
-
async cleanSystemCache(verbose = false) {
|
|
97
|
-
let echo = { capture: false, echo: false, ignore: true };
|
|
98
|
-
if (verbose) {
|
|
99
|
-
echo = { capture: false, echo: true, ignore: true };
|
|
100
|
-
Utils.warning('cleaning system cache');
|
|
101
|
-
}
|
|
102
|
-
// Clear PageCache only.
|
|
103
|
-
await exec('sync; echo 1 > /proc/sys/vm/drop_caches', echo);
|
|
104
|
-
// Clear dentries and inodes.
|
|
105
|
-
await exec('sync; echo 2 > /proc/sys/vm/drop_caches', echo);
|
|
106
|
-
// Clear PageCache, dentries and inodes.
|
|
107
|
-
await exec('sync; echo 3 > /proc/sys/vm/drop_caches', echo);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
*
|
|
112
|
-
* @param dest
|
|
113
|
-
*/
|
|
114
|
-
async function rm(dest = '', verbose = false) {
|
|
115
|
-
let echo = { capture: false, echo: false, ignore: true };
|
|
116
|
-
if (verbose) {
|
|
117
|
-
echo = { capture: false, echo: true, ignore: true };
|
|
118
|
-
}
|
|
119
|
-
if (fs.existsSync(dest)) {
|
|
120
|
-
await exec(`rm ${dest} -rf`, echo);
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
console.log(`non esiste ${dest}`);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
async function rmdir(dest = '', verbose = false) {
|
|
127
|
-
let echo = { capture: false, echo: false, ignore: true };
|
|
128
|
-
if (verbose) {
|
|
129
|
-
echo = { capture: false, echo: true, ignore: true };
|
|
130
|
-
}
|
|
131
|
-
const result = fs.readdirSync(dest);
|
|
132
|
-
if (result.length > 0) {
|
|
133
|
-
await exec(`rm ${dest} -rf`, echo);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/lib/cli-autologin.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
|
-
* CliAutologin
|
|
10
|
-
*/
|
|
11
|
-
export default class CliAutologin {
|
|
12
|
-
/**
|
|
13
|
-
* add
|
|
14
|
-
* @param distro
|
|
15
|
-
* @param version
|
|
16
|
-
* @param user
|
|
17
|
-
* @param userPasswd
|
|
18
|
-
* @param rootPasswd
|
|
19
|
-
* @param chroot
|
|
20
|
-
*/
|
|
21
|
-
add(distro: string, version: string, user: string, userPasswd: string, rootPasswd: string, chroot?: string): Promise<void>;
|
|
22
|
-
/**
|
|
23
|
-
*
|
|
24
|
-
* @param distro
|
|
25
|
-
* @param version
|
|
26
|
-
* @param user
|
|
27
|
-
* @param userPasswd
|
|
28
|
-
* @param rootPasswd
|
|
29
|
-
* @param chroot
|
|
30
|
-
*/
|
|
31
|
-
addIssue(distro: string, version: string, user: string, userPasswd: string, rootPasswd: string, chroot?: string): Promise<void>;
|
|
32
|
-
/**
|
|
33
|
-
*
|
|
34
|
-
* @param distro
|
|
35
|
-
* @param version
|
|
36
|
-
* @param user
|
|
37
|
-
* @param userPasswd
|
|
38
|
-
* @param rootPasswd
|
|
39
|
-
* @param chroot
|
|
40
|
-
*/
|
|
41
|
-
addMotd(distro: string, version: string, user: string, userPasswd: string, rootPasswd: string, chroot?: string): Promise<void>;
|
|
42
|
-
/**
|
|
43
|
-
* remove
|
|
44
|
-
* @param chroot
|
|
45
|
-
*/
|
|
46
|
-
remove(chroot?: string): Promise<void>;
|
|
47
|
-
/**
|
|
48
|
-
*
|
|
49
|
-
* @param path
|
|
50
|
-
*/
|
|
51
|
-
private msgRemove;
|
|
52
|
-
}
|
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/lib/cli-autologin.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 chalk from 'chalk';
|
|
9
|
-
import { execSync } from 'node:child_process';
|
|
10
|
-
import fs from 'node:fs';
|
|
11
|
-
import path from 'node:path';
|
|
12
|
-
import shx from 'shelljs';
|
|
13
|
-
// libraries
|
|
14
|
-
import { exec } from '../lib/utils.js';
|
|
15
|
-
import Pacman from './pacman.js';
|
|
16
|
-
import Utils from './utils.js';
|
|
17
|
-
const startMessage = 'eggs-start-message';
|
|
18
|
-
const stopMessage = 'eggs-stop-message';
|
|
19
|
-
/*
|
|
20
|
-
* Comando per avviare ubiquity:
|
|
21
|
-
* sudo --preserve-env DBUS_SESSION_BUS_ADDRESS, XDG_RUNTIME sh -c 'calamares'
|
|
22
|
-
*/
|
|
23
|
-
/**
|
|
24
|
-
* CliAutologin
|
|
25
|
-
*/
|
|
26
|
-
export default class CliAutologin {
|
|
27
|
-
/**
|
|
28
|
-
* add
|
|
29
|
-
* @param distro
|
|
30
|
-
* @param version
|
|
31
|
-
* @param user
|
|
32
|
-
* @param userPasswd
|
|
33
|
-
* @param rootPasswd
|
|
34
|
-
* @param chroot
|
|
35
|
-
*/
|
|
36
|
-
async add(distro, version, user, userPasswd, rootPasswd, chroot = '/') {
|
|
37
|
-
if (Utils.isSystemd()) {
|
|
38
|
-
/**
|
|
39
|
-
* systemd
|
|
40
|
-
*/
|
|
41
|
-
Utils.warning("creating CLI autologin systemd");
|
|
42
|
-
const fileOverride = `${chroot}/etc/systemd/system/getty@.service.d/override.conf`;
|
|
43
|
-
const dirOverride = path.dirname(fileOverride);
|
|
44
|
-
if (fs.existsSync(dirOverride)) {
|
|
45
|
-
shx.exec(`rm ${dirOverride} -rf`);
|
|
46
|
-
}
|
|
47
|
-
shx.exec(`mkdir ${dirOverride}`);
|
|
48
|
-
let content = '';
|
|
49
|
-
content += '[Service]' + '\n';
|
|
50
|
-
content += 'ExecStart=' + '\n';
|
|
51
|
-
content += 'ExecStart=-/sbin/agetty --noclear --autologin ' + user + ' %I $TERM' + '\n';
|
|
52
|
-
fs.writeFileSync(fileOverride, content);
|
|
53
|
-
shx.exec(`chmod +x ${fileOverride}`);
|
|
54
|
-
await this.addIssue(distro, version, user, userPasswd, rootPasswd, chroot);
|
|
55
|
-
await this.addMotd(distro, version, user, userPasswd, rootPasswd, chroot);
|
|
56
|
-
}
|
|
57
|
-
else if (Utils.isOpenRc()) {
|
|
58
|
-
/**
|
|
59
|
-
* openrc
|
|
60
|
-
*/
|
|
61
|
-
Utils.warning("creating CLI autologin openrc");
|
|
62
|
-
const inittab = chroot + '/etc/inittab';
|
|
63
|
-
let content = '';
|
|
64
|
-
const search = `tty1::respawn:/sbin/getty 38400 tty1`;
|
|
65
|
-
const replace = `tty1::respawn:/sbin/getty -L 38400 tty1 -n -l /bin/autologin`;
|
|
66
|
-
const lines = fs.readFileSync(inittab, 'utf8').split('\n');
|
|
67
|
-
for (let i = 0; i < lines.length; i++) {
|
|
68
|
-
if (lines[i].includes(search)) {
|
|
69
|
-
lines[i] = replace;
|
|
70
|
-
}
|
|
71
|
-
content += lines[i] + '\n';
|
|
72
|
-
}
|
|
73
|
-
fs.writeFileSync(inittab, content, 'utf-8');
|
|
74
|
-
const autologin = chroot + '/bin/autologin';
|
|
75
|
-
content = '#!/bin/sh' + '\n';
|
|
76
|
-
content += `/bin/login -f ${user}` + '\n';
|
|
77
|
-
fs.writeFileSync(autologin, content, 'utf-8');
|
|
78
|
-
execSync(`chmod +x ${autologin}`);
|
|
79
|
-
await this.addIssue(distro, version, user, userPasswd, rootPasswd, chroot);
|
|
80
|
-
await this.addMotd(distro, version, user, userPasswd, rootPasswd, chroot);
|
|
81
|
-
}
|
|
82
|
-
else if (Utils.isSysvinit()) {
|
|
83
|
-
/**
|
|
84
|
-
* sysvinit
|
|
85
|
-
*/
|
|
86
|
-
Utils.warning("creating CLI autologin sysvinit");
|
|
87
|
-
const inittab = chroot + '/etc/inittab';
|
|
88
|
-
const search = '1:2345:respawn:/sbin/getty';
|
|
89
|
-
const replace = `1:2345:respawn:/sbin/getty --autologin ${user} 38400 tty1`;
|
|
90
|
-
let content = '';
|
|
91
|
-
const lines = fs.readFileSync(inittab, 'utf8').split('\n');
|
|
92
|
-
for (let i = 0; i < lines.length; i++) {
|
|
93
|
-
if (lines[i].includes(search)) {
|
|
94
|
-
lines[i] = replace;
|
|
95
|
-
}
|
|
96
|
-
content += lines[i] + '\n';
|
|
97
|
-
}
|
|
98
|
-
fs.writeFileSync(inittab, content, 'utf-8');
|
|
99
|
-
await this.addMotd(distro, version, user, userPasswd, rootPasswd, chroot);
|
|
100
|
-
await this.addIssue(distro, version, user, userPasswd, rootPasswd, chroot);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
*
|
|
105
|
-
* @param distro
|
|
106
|
-
* @param version
|
|
107
|
-
* @param user
|
|
108
|
-
* @param userPasswd
|
|
109
|
-
* @param rootPasswd
|
|
110
|
-
* @param chroot
|
|
111
|
-
*/
|
|
112
|
-
async addIssue(distro, version, user, userPasswd, rootPasswd, chroot = '/') {
|
|
113
|
-
const fileIssue = `${chroot}/etc/issue`;
|
|
114
|
-
if (fs.existsSync(fileIssue)) {
|
|
115
|
-
if (!fs.lstatSync(fileIssue).isSymbolicLink()) {
|
|
116
|
-
this.msgRemove(fileIssue);
|
|
117
|
-
let content = fs.readFileSync(fileIssue, 'utf8');
|
|
118
|
-
content += startMessage + '\n';
|
|
119
|
-
content += `This is a ${distro}/${version} system created by Penguins' eggs.\n`;
|
|
120
|
-
content += 'You can login with user: ' + chalk.bold(user) + ' and password: ' + chalk.bold(userPasswd) + ', root password: ' + chalk.bold(rootPasswd) + '\n';
|
|
121
|
-
content += stopMessage + '\n';
|
|
122
|
-
fs.writeFileSync(fileIssue, content);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
*
|
|
128
|
-
* @param distro
|
|
129
|
-
* @param version
|
|
130
|
-
* @param user
|
|
131
|
-
* @param userPasswd
|
|
132
|
-
* @param rootPasswd
|
|
133
|
-
* @param chroot
|
|
134
|
-
*/
|
|
135
|
-
async addMotd(distro, version, user, userPasswd, rootPasswd, chroot = '/') {
|
|
136
|
-
const fileMotd = `${chroot}/etc/motd`;
|
|
137
|
-
let installer = 'sudo eggs install';
|
|
138
|
-
if (Pacman.calamaresExists()) {
|
|
139
|
-
if (Pacman.packageIsInstalled('plasma-desktop')) {
|
|
140
|
-
installer = 'startplasma-wayland to run GUI and launch calamares';
|
|
141
|
-
}
|
|
142
|
-
else if (Pacman.packageIsInstalled('xfce4')) {
|
|
143
|
-
installer = 'startxfce4 to run GUI and launch calamares installer';
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
if (!fs.existsSync(fileMotd)) {
|
|
147
|
-
await exec(`touch ${fileMotd}`);
|
|
148
|
-
}
|
|
149
|
-
this.msgRemove(fileMotd);
|
|
150
|
-
let eggsMotd = fs.readFileSync(fileMotd, 'utf8');
|
|
151
|
-
eggsMotd += startMessage + '\n';
|
|
152
|
-
eggsMotd += Utils.flag() + '\n';
|
|
153
|
-
eggsMotd += 'You are logged as: ' + chalk.bold(user) + ' your password is: ' + chalk.bold(userPasswd) + ', root password: ' + chalk.bold(rootPasswd) + '\n\n';
|
|
154
|
-
eggsMotd += 'install : ' + chalk.bold(installer) + '\n';
|
|
155
|
-
eggsMotd += ' --unattended : ' + chalk.bold('sudo eggs install --unattended') + '\n';
|
|
156
|
-
eggsMotd += ' --chroot : ' + chalk.bold('sudo eggs install --chroot') + '\n';
|
|
157
|
-
eggsMotd += ' --help : ' + chalk.bold('sudo eggs install --help') + '\n';
|
|
158
|
-
eggsMotd += '\n';
|
|
159
|
-
eggsMotd += stopMessage + '\n';
|
|
160
|
-
fs.writeFileSync(fileMotd, eggsMotd);
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* remove
|
|
164
|
-
* @param chroot
|
|
165
|
-
*/
|
|
166
|
-
async remove(chroot = '/') {
|
|
167
|
-
if (Utils.isSystemd()) {
|
|
168
|
-
/**
|
|
169
|
-
* Systemd
|
|
170
|
-
*/
|
|
171
|
-
const fileOverride = `${chroot}/etc/systemd/system/getty@.service.d/override.conf`;
|
|
172
|
-
const dirOverride = path.dirname(fileOverride);
|
|
173
|
-
if (fs.existsSync(dirOverride)) {
|
|
174
|
-
shx.exec(`rm ${dirOverride} -rf`);
|
|
175
|
-
}
|
|
176
|
-
this.msgRemove(`${chroot}/etc/motd`);
|
|
177
|
-
this.msgRemove(`${chroot}/etc/issue`);
|
|
178
|
-
}
|
|
179
|
-
else if (Utils.isOpenRc()) {
|
|
180
|
-
/**
|
|
181
|
-
* openrc
|
|
182
|
-
*/
|
|
183
|
-
const inittab = chroot + '/etc/inittab';
|
|
184
|
-
const search = 'autologin';
|
|
185
|
-
const replace = `tty1::respawn:/sbin/getty 38400 tty1`;
|
|
186
|
-
let content = '';
|
|
187
|
-
const lines = fs.readFileSync(inittab, 'utf8').split('\n');
|
|
188
|
-
for (let i = 0; i < lines.length; i++) {
|
|
189
|
-
if (lines[i].includes(search)) {
|
|
190
|
-
lines[i] = replace;
|
|
191
|
-
}
|
|
192
|
-
content += lines[i] + '\n';
|
|
193
|
-
}
|
|
194
|
-
fs.writeFileSync(inittab, content, 'utf-8');
|
|
195
|
-
this.msgRemove(`${chroot}/etc/motd`);
|
|
196
|
-
this.msgRemove(`${chroot}/etc/issue`);
|
|
197
|
-
const autologin = `${chroot}/bin/autologin`;
|
|
198
|
-
execSync(`rm -f ${autologin}`);
|
|
199
|
-
}
|
|
200
|
-
else if (Utils.isSysvinit()) {
|
|
201
|
-
/**
|
|
202
|
-
* sysvinit
|
|
203
|
-
*/
|
|
204
|
-
const inittab = chroot + '/etc/inittab';
|
|
205
|
-
const search = '--autologin';
|
|
206
|
-
const replace = '1:2345:respawn:/sbin/getty 38400 tty1 ';
|
|
207
|
-
let content = '';
|
|
208
|
-
const lines = fs.readFileSync(inittab, 'utf8').split('\n');
|
|
209
|
-
for (let i = 0; i < lines.length; i++) {
|
|
210
|
-
if (lines[i].includes(search)) {
|
|
211
|
-
lines[i] = replace;
|
|
212
|
-
}
|
|
213
|
-
content += lines[i] + '\n';
|
|
214
|
-
}
|
|
215
|
-
// motd
|
|
216
|
-
fs.writeFileSync(inittab, content, 'utf-8');
|
|
217
|
-
this.msgRemove(`${chroot}/etc/motd`);
|
|
218
|
-
// issue
|
|
219
|
-
this.msgRemove(`${chroot}/etc/issue`);
|
|
220
|
-
} // to add: openrc and runit for Devuan
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
*
|
|
224
|
-
* @param path
|
|
225
|
-
*/
|
|
226
|
-
async msgRemove(path) {
|
|
227
|
-
if (fs.existsSync(path)) {
|
|
228
|
-
if (!fs.lstatSync(path).isSymbolicLink()) {
|
|
229
|
-
const rows = fs.readFileSync(path, 'utf8').split('\n');
|
|
230
|
-
let cleaned = '';
|
|
231
|
-
let remove = false;
|
|
232
|
-
for (const row of rows) {
|
|
233
|
-
if (row.includes(startMessage)) {
|
|
234
|
-
remove = true;
|
|
235
|
-
}
|
|
236
|
-
if (!remove && row !== '') {
|
|
237
|
-
cleaned += row + '\n';
|
|
238
|
-
}
|
|
239
|
-
if (row.includes(stopMessage)) {
|
|
240
|
-
remove = false;
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
fs.writeFileSync(path, cleaned, 'utf-8');
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/classes/compressors.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
|
-
export default class Compressors {
|
|
9
|
-
dest: string;
|
|
10
|
-
isEnabled: {
|
|
11
|
-
error: boolean;
|
|
12
|
-
gzip: boolean;
|
|
13
|
-
lz4: boolean;
|
|
14
|
-
lzma: boolean;
|
|
15
|
-
lzo: boolean;
|
|
16
|
-
xz: boolean;
|
|
17
|
-
zstd: boolean;
|
|
18
|
-
};
|
|
19
|
-
source: string;
|
|
20
|
-
/**
|
|
21
|
-
* fast compression
|
|
22
|
-
* @returns
|
|
23
|
-
*/
|
|
24
|
-
fast(): string;
|
|
25
|
-
/**
|
|
26
|
-
* max
|
|
27
|
-
* @returns
|
|
28
|
-
*/
|
|
29
|
-
max(): string;
|
|
30
|
-
pendrive(level?: string): string;
|
|
31
|
-
/**
|
|
32
|
-
* populate
|
|
33
|
-
*/
|
|
34
|
-
populate(): Promise<void>;
|
|
35
|
-
/**
|
|
36
|
-
* standard
|
|
37
|
-
* @returns
|
|
38
|
-
*/
|
|
39
|
-
standard(): string;
|
|
40
|
-
/**
|
|
41
|
-
* check mksquashfs exists
|
|
42
|
-
* @param compressor
|
|
43
|
-
* @returns
|
|
44
|
-
*/
|
|
45
|
-
private check;
|
|
46
|
-
/**
|
|
47
|
-
* prepareCheck
|
|
48
|
-
*/
|
|
49
|
-
private prepareCheck;
|
|
50
|
-
/**
|
|
51
|
-
* removeCheck
|
|
52
|
-
*/
|
|
53
|
-
private removeCheck;
|
|
54
|
-
}
|