penguins-eggs 25.10.28 → 25.11.8
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 +4 -4
- package/README.md +770 -3
- package/addons/eggs/adapt/applications/eggs-adapt.desktop +0 -0
- package/addons/eggs/pve/applications/eggs-pve.desktop +0 -0
- package/addons/eggs/rsupport/applications/eggs-rsupport.desktop +0 -0
- package/addons/eggs/theme/applications/install-system.desktop +8 -6
- package/assets/calamares/install-system.sh +0 -0
- package/assets/calamares/io.calamares.calamares.policy +25 -0
- package/assets/penguins-eggs.desktop +0 -0
- package/assets/penguins-krill.desktop +0 -0
- package/assets/penguins-links-add.desktop +0 -0
- package/assets/penguins-live-installer.desktop +0 -0
- package/bin/dev.js +0 -0
- package/conf/distros/alpine/calamares/calamares-modules/machineid-openrc/machineid-openrc.sh +0 -0
- package/conf/distros/alpine/calamares/modules/packages.mustache +1 -0
- package/conf/distros/alpine/calamares/modules/removeuser.mustache +2 -14
- package/conf/distros/alpine/calamares/modules/unpackfs.mustache +2 -2
- package/conf/distros/buster/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
- package/conf/distros/buster/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
- package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
- package/conf/distros/buster/calamares/modules/shellprocess@boot_deploy.yml +1 -16
- package/conf/distros/fedora/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
- package/conf/distros/noble/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
- package/conf/distros/noble/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
- package/conf/distros/noble/calamares/libexec/calamares-aptsources.sh +0 -0
- package/conf/distros/noble/calamares/libexec/calamares-l10n-helper.sh +0 -0
- package/conf/distros/noble/calamares/libexec/calamares-logs-helper.sh +1 -1
- package/conf/distros/noble/calamares/libexec/calamares-nomodeset.sh +0 -0
- package/conf/distros/noble/calamares/modules/shellprocess@boot_deploy.yml +1 -11
- package/conf/distros/noble/calamares/modules/shellprocess@logs.yml +1 -1
- package/conf/distros/opensuse/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
- package/conf/distros/opensuse/calamares/settings.yml +0 -0
- package/conf/distros/opensuse/calamares/zstd2lzo.sh +0 -0
- package/conf/distros/trixie/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
- package/conf/distros/trixie/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
- package/conf/distros/trixie/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
- package/conf/distros/trixie/calamares/modules/shellprocess@boot_deploy.yml +2 -10
- package/conf/init/unattended.sh +0 -0
- package/dist/classes/bleach.d.ts +37 -0
- package/dist/classes/bleach.js +148 -0
- package/dist/classes/cli-autologin.d.ts +14 -0
- package/dist/classes/cli-autologin.js +227 -0
- package/dist/classes/compressors.d.ts +54 -0
- package/dist/classes/compressors.js +109 -0
- package/dist/classes/daddy.d.ts +44 -0
- package/dist/classes/daddy.js +208 -0
- package/dist/classes/distro-hossein.d.ts +52 -0
- package/dist/classes/distro-hossein.js +239 -0
- package/dist/classes/distro.d.ts +32 -0
- package/dist/classes/distro.js +363 -0
- package/dist/classes/diversions.d.ts +19 -0
- package/dist/classes/diversions.js +100 -0
- package/dist/classes/incubation/branding.d.ts +17 -0
- package/dist/classes/incubation/branding.js +85 -0
- package/dist/classes/incubation/customize/customize-partitions.d.ts +12 -0
- package/dist/classes/incubation/customize/customize-partitions.js +37 -0
- package/dist/classes/incubation/fisherman-helper/initcpio.d.ts +1 -0
- package/dist/classes/incubation/fisherman-helper/initcpio.js +69 -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 +116 -0
- package/dist/classes/incubation/fisherman.d.ts +76 -0
- package/dist/classes/incubation/fisherman.js +301 -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/archlinux.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/archlinux.js +82 -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 +101 -0
- package/dist/classes/incubation/incubator.d/fedora.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/fedora.js +81 -0
- package/dist/classes/incubation/incubator.d/manjaro.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/manjaro.js +82 -0
- package/dist/classes/incubation/incubator.d/noble.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/noble.js +106 -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/trixie.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/trixie.js +98 -0
- package/dist/classes/incubation/incubator.d.ts +49 -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 +31 -0
- package/dist/classes/keyboards.js +136 -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 +185 -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 +193 -0
- package/dist/classes/ovary.d/edit-live-fs.d.ts +20 -0
- package/dist/classes/ovary.d/edit-live-fs.js +239 -0
- package/dist/classes/ovary.d/fertilization.d.ts +12 -0
- package/dist/classes/ovary.d/fertilization.js +53 -0
- package/dist/classes/ovary.d/finished.d.ts +13 -0
- package/dist/classes/ovary.d/finished.js +40 -0
- package/dist/classes/ovary.d/initrd.d.ts +21 -0
- package/dist/classes/ovary.d/initrd.js +91 -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 +70 -0
- package/dist/classes/ovary.d/luks-get-password.d.ts +12 -0
- package/dist/classes/ovary.d/luks-get-password.js +58 -0
- package/dist/classes/ovary.d/luks-helpers.d.ts +19 -0
- package/dist/classes/ovary.d/luks-helpers.js +73 -0
- package/dist/classes/ovary.d/luks-home-support.d.ts +12 -0
- package/dist/classes/ovary.d/luks-home-support.js +70 -0
- package/dist/classes/ovary.d/luks-home.d.ts +15 -0
- package/dist/classes/ovary.d/luks-home.js +132 -0
- package/dist/classes/ovary.d/luks-interactive-crypto-config.d.ts +47 -0
- package/dist/classes/ovary.d/luks-interactive-crypto-config.js +139 -0
- package/dist/classes/ovary.d/luks-root-initrd.d.ts +17 -0
- package/dist/classes/ovary.d/luks-root-initrd.js +213 -0
- package/dist/classes/ovary.d/luks-root.d.ts +15 -0
- package/dist/classes/ovary.d/luks-root.js +123 -0
- package/dist/classes/ovary.d/make-dot-disk.d.ts +12 -0
- package/dist/classes/ovary.d/make-dot-disk.js +71 -0
- package/dist/classes/ovary.d/make-efi.d.ts +14 -0
- package/dist/classes/ovary.d/make-efi.js +296 -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 +111 -0
- package/dist/classes/ovary.d/merged.d.ts +27 -0
- package/dist/classes/ovary.d/merged.js +78 -0
- package/dist/classes/ovary.d/produce.d.ts +23 -0
- package/dist/classes/ovary.d/produce.js +349 -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 +99 -0
- package/dist/classes/ovary.d/user-create-live.d.ts +14 -0
- package/dist/classes/ovary.d/user-create-live.js +97 -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-command.d.ts +14 -0
- package/dist/classes/ovary.d/xorriso-command.js +125 -0
- package/dist/classes/ovary.d.ts +111 -0
- package/dist/classes/ovary.js +122 -0
- package/dist/classes/pacman.d/alpine.d.ts +56 -0
- package/dist/classes/pacman.d/alpine.js +167 -0
- package/dist/classes/pacman.d/archlinux.d.ts +62 -0
- package/dist/classes/pacman.d/archlinux.js +128 -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 +107 -0
- package/dist/classes/pacman.d/openmamba.d.ts +52 -0
- package/dist/classes/pacman.d/openmamba.js +106 -0
- package/dist/classes/pacman.d/opensuse.d.ts +53 -0
- package/dist/classes/pacman.d/opensuse.js +109 -0
- package/dist/classes/pacman.d.ts +139 -0
- package/dist/classes/pacman.js +681 -0
- package/dist/classes/pve-live.d.ts +17 -0
- package/dist/classes/pve-live.js +52 -0
- package/dist/classes/pxe.d.ts +76 -0
- package/dist/classes/pxe.js +353 -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 +563 -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/kernel.d.ts +39 -0
- package/dist/classes/utils.d/kernel.js +206 -0
- package/dist/classes/utils.d.ts +330 -0
- package/dist/classes/utils.js +968 -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 +17 -0
- package/dist/commands/cuckoo.js +61 -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 +173 -0
- package/dist/commands/export/tarballs.d.ts +27 -0
- package/dist/commands/export/tarballs.js +79 -0
- package/dist/commands/install.d.ts +39 -0
- package/dist/commands/install.js +113 -0
- package/dist/commands/kill.d.ts +24 -0
- package/dist/commands/kill.js +50 -0
- package/dist/commands/love.d.ts +25 -0
- package/dist/commands/love.js +118 -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 +37 -0
- package/dist/commands/produce.js +232 -0
- package/dist/commands/status.d.ts +23 -0
- package/dist/commands/status.js +31 -0
- package/dist/commands/tools/clean.d.ts +18 -0
- package/dist/commands/tools/clean.js +37 -0
- package/dist/commands/tools/repo.d.ts +31 -0
- package/dist/commands/tools/repo.js +413 -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 +46 -0
- package/dist/commands/update.js +238 -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/dhcpd-proxy/classes/packet.d.ts +36 -0
- package/dist/dhcpd-proxy/classes/packet.js +124 -0
- package/dist/dhcpd-proxy/index.d.ts +4 -0
- package/dist/dhcpd-proxy/index.js +4 -0
- package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +45 -0
- package/dist/dhcpd-proxy/interfaces/i-pxe.js +1 -0
- package/dist/dhcpd-proxy/lib/packet/converters.d.ts +11 -0
- package/dist/dhcpd-proxy/lib/packet/converters.js +395 -0
- package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +10 -0
- package/dist/dhcpd-proxy/lib/packet/message-types.js +12 -0
- package/dist/dhcpd-proxy/lib/packet/options.d.ts +8 -0
- package/dist/dhcpd-proxy/lib/packet/options.js +264 -0
- package/dist/dhcpd-proxy/lib/sprintf.d.ts +6 -0
- package/dist/dhcpd-proxy/lib/sprintf.js +130 -0
- package/dist/dhcpd-proxy/lib/utils.d.ts +126 -0
- package/dist/dhcpd-proxy/lib/utils.js +255 -0
- package/dist/dhcpd-proxy/simple-proxy.d.ts +11 -0
- package/dist/dhcpd-proxy/simple-proxy.js +118 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +8 -0
- package/dist/interfaces/calamares/i-calamares-bootloader.d.ts +23 -0
- package/dist/interfaces/calamares/i-calamares-bootloader.js +7 -0
- package/dist/interfaces/calamares/i-calamares-branding.d.ts +46 -0
- package/dist/interfaces/calamares/i-calamares-branding.js +1 -0
- package/dist/interfaces/calamares/i-calamares-displaymanager.d.ts +34 -0
- package/dist/interfaces/calamares/i-calamares-displaymanager.js +1 -0
- package/dist/interfaces/calamares/i-calamares-finished.d.ts +14 -0
- package/dist/interfaces/calamares/i-calamares-finished.js +1 -0
- package/dist/interfaces/calamares/i-calamares-packages.d.ts +26 -0
- package/dist/interfaces/calamares/i-calamares-packages.js +1 -0
- package/dist/interfaces/calamares/i-calamares-partitions.d.ts +39 -0
- package/dist/interfaces/calamares/i-calamares-partitions.js +1 -0
- package/dist/interfaces/calamares/i-calamares-settings.d.ts +36 -0
- package/dist/interfaces/calamares/i-calamares-settings.js +1 -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-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 +72 -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 +319 -0
- package/dist/krill/classes/sequence.d/add_user.d.ts +20 -0
- package/dist/krill/classes/sequence.d/add_user.js +77 -0
- package/dist/krill/classes/sequence.d/bootloader.d.ts +14 -0
- package/dist/krill/classes/sequence.d/bootloader.js +117 -0
- package/dist/krill/classes/sequence.d/bootloader_config.d.ts +14 -0
- package/dist/krill/classes/sequence.d/bootloader_config.js +192 -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 +177 -0
- package/dist/krill/classes/sequence.d/grubcfg.d.ts +17 -0
- package/dist/krill/classes/sequence.d/grubcfg.js +35 -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 +88 -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 +59 -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 +16 -0
- package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +51 -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 +77 -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 +33 -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 +21 -0
- package/dist/krill/classes/sequence.d.ts +134 -0
- package/dist/krill/classes/sequence.js +400 -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 +32 -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 +40 -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 +19 -0
- package/dist/lib/utils.js +65 -0
- package/dracut/create-symlink +0 -0
- package/dracut/dracut.conf.d/50-live.conf +12 -13
- package/dracut/export +0 -0
- package/dracut/export-dracut-analysis +0 -0
- package/dracut/export-dracut-log +0 -0
- package/dracut/mkisofs +0 -0
- package/dracut/modules.d/00debug-shell/debug-hook.sh +0 -0
- package/dracut/modules.d/00debug-shell/module-setup.sh +0 -0
- package/dracut/modules.d/90block/block-cmdline.sh +0 -0
- package/dracut/modules.d/90block/module-setup.sh +0 -0
- package/dracut/modules.d/95iso-scan/iso-scan-fallback.sh +0 -0
- package/dracut/modules.d/95iso-scan/iso-scan.sh +0 -0
- package/dracut/modules.d/95iso-scan/module-setup.sh +0 -0
- package/dracut/modules.d/95luks-loop/luks-loop.sh +0 -0
- package/dracut/modules.d/95luks-loop/module-setup.sh +0 -0
- package/dracut/renew-initramfs +0 -0
- package/dracut/sbin2bin +0 -0
- package/dracut/update-dracut-conf-d +0 -0
- package/dracut/update-dracut-modules +0 -0
- package/eui/eui-autostart-cinnamon.desktop +0 -0
- package/eui/eui-autostart-xfce.desktop +0 -0
- package/eui/eui-create-image.sh +0 -0
- package/eui/eui-start.sh +0 -0
- package/package.json +130 -124
- package/perrisbrewery/scripts/postinst +0 -0
- package/perrisbrewery/scripts/postrm +0 -0
- package/perrisbrewery/scripts/preinst +0 -0
- package/perrisbrewery/scripts/prerm +0 -0
- package/perrisbrewery/template/dependencies.yaml +7 -5
- package/scripts/99clean +0 -0
- package/scripts/adapt.sh +0 -0
- package/scripts/boot-encrypted-root.sh +0 -0
- package/scripts/bros/waydroid-helper.sh +0 -0
- package/scripts/lsb_release +0 -0
- package/scripts/mom.sh +0 -0
- package/scripts/mount-encrypted-home.sh +0 -0
- package/scripts/pve-live.service +0 -0
- package/scripts/pve-live.sh +0 -0
- package/scripts/resy +0 -0
- package/conf/distros/focal/calamares/calamares-modules/.keepit +0 -0
- package/conf/distros/focal/calamares/calamares-modules/cleanup/cleanup.sh +0 -20
- package/conf/distros/focal/calamares/calamares-modules/cleanup/module.yml +0 -9
- package/conf/distros/focal/calamares/calamares-modules/sources-yolk/module.yml +0 -8
- package/conf/distros/focal/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -50
- package/conf/distros/focal/calamares/calamares-modules/sources-yolk-undo/module.yml +0 -8
- package/conf/distros/focal/calamares/modules/after_bootloader_context.yml +0 -19
- package/conf/distros/focal/calamares/modules/automirror.yml +0 -6
- package/conf/distros/focal/calamares/modules/before_bootloader_context.yml +0 -19
- package/conf/distros/focal/calamares/modules/before_bootloader_mkdirs_context.yml +0 -11
- package/conf/distros/focal/calamares/modules/bootloader.yml +0 -34
- package/conf/distros/focal/calamares/modules/displaymanager.yml +0 -12
- package/conf/distros/focal/calamares/modules/finished.yml +0 -4
- package/conf/distros/focal/calamares/modules/fstab.yml +0 -13
- package/conf/distros/focal/calamares/modules/grubcfg.yml +0 -5
- package/conf/distros/focal/calamares/modules/locale.yml +0 -9
- package/conf/distros/focal/calamares/modules/machineid.yml +0 -9
- package/conf/distros/focal/calamares/modules/mount.yml +0 -41
- package/conf/distros/focal/calamares/modules/packages.mustache +0 -5
- package/conf/distros/focal/calamares/modules/partition.yml +0 -10
- package/conf/distros/focal/calamares/modules/removeuser.mustache +0 -3
- package/conf/distros/focal/calamares/modules/shellprocess_add386arch.yml +0 -6
- package/conf/distros/focal/calamares/modules/shellprocess_bug-LP#1829805.yml +0 -5
- package/conf/distros/focal/calamares/modules/shellprocess_logs.yml +0 -6
- package/conf/distros/focal/calamares/modules/unpackfs.mustache +0 -6
- package/conf/distros/focal/calamares/modules/users.yml +0 -19
- package/conf/distros/focal/calamares/modules/welcome.yml +0 -26
- package/conf/distros/focal/calamares/settings.yml +0 -72
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
[Desktop Entry]
|
|
2
2
|
Type=Application
|
|
3
3
|
Version=1.0
|
|
4
|
-
Name=Install
|
|
5
|
-
GenericName=
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
Name=Install System
|
|
5
|
+
GenericName=System Installer
|
|
6
|
+
Keywords=calamares;system;installer;
|
|
7
|
+
TryExec=calamares
|
|
8
|
+
Exec=sh -c "pkexec calamares"
|
|
9
|
+
Comment=Calamares — System Installer
|
|
10
|
+
Icon=install-system.png
|
|
8
11
|
Terminal=false
|
|
9
12
|
StartupNotify=true
|
|
10
|
-
Type=Application
|
|
11
13
|
Categories=Qt;System;
|
|
12
|
-
|
|
14
|
+
X-AppStream-Ignore=true
|
|
File without changes
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!-- SPDX-FileCopyrightText: no
|
|
3
|
+
SPDX-License-Identifier: CC0-1.0
|
|
4
|
+
-->
|
|
5
|
+
<!DOCTYPE policyconfig PUBLIC
|
|
6
|
+
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
|
|
7
|
+
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
|
|
8
|
+
<policyconfig>
|
|
9
|
+
|
|
10
|
+
<vendor>Calamares</vendor>
|
|
11
|
+
<vendor_url>https://calamares.io/</vendor_url>
|
|
12
|
+
|
|
13
|
+
<action id="io.calamares.calamares.pkexec.run">
|
|
14
|
+
<description>Run Installer</description>
|
|
15
|
+
<message>Authentication is required to run the installation program</message>
|
|
16
|
+
<icon_name>drive-harddisk</icon_name>
|
|
17
|
+
<defaults>
|
|
18
|
+
<allow_any>no</allow_any>
|
|
19
|
+
<allow_inactive>no</allow_inactive>
|
|
20
|
+
<allow_active>auth_admin</allow_active>
|
|
21
|
+
</defaults>
|
|
22
|
+
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/calamares</annotate>
|
|
23
|
+
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
|
|
24
|
+
</action>
|
|
25
|
+
</policyconfig>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/bin/dev.js
CHANGED
|
File without changes
|
package/conf/distros/alpine/calamares/calamares-modules/machineid-openrc/machineid-openrc.sh
CHANGED
|
File without changes
|
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
#
|
|
2
|
-
# removeuser
|
|
3
|
-
# SPDX-FileCopyrightText: no
|
|
4
|
-
# SPDX-License-Identifier: CC0-1.0
|
|
5
|
-
#
|
|
6
|
-
# Removes a single user (with userdel) from the system.
|
|
7
|
-
# This is typically used in OEM setups or if the live user
|
|
8
|
-
# spills into the target system.
|
|
9
|
-
#
|
|
10
|
-
# The module never fails; if userdel fails, this is logged
|
|
11
|
-
# but the module still reports success and installation / setup
|
|
12
|
-
# continues as normal.
|
|
1
|
+
# A mustache template for module: removeuser.conf
|
|
13
2
|
---
|
|
14
|
-
|
|
15
|
-
username: {{username}}
|
|
3
|
+
username: {{{username}}}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,24 +1,9 @@
|
|
|
1
1
|
# SPDX-FileCopyrightText: 2020 Harald Sitter <sitter@kde.org>
|
|
2
2
|
# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
|
3
3
|
#
|
|
4
|
-
# This is run outside the chroot!
|
|
5
|
-
# As per at least 20.04+ /boot on the squashfs no longer contains the initrd
|
|
6
|
-
# or vmlinuz, instead we'll first fish the kernel out of the ISO.
|
|
7
|
-
#
|
|
8
|
-
# NB: initrd is handled by the initramfs module.
|
|
9
4
|
---
|
|
10
5
|
message: "Preparing the boot environment..."
|
|
11
6
|
dontChroot: true
|
|
12
7
|
timeout: 300
|
|
13
8
|
script:
|
|
14
|
-
|
|
15
|
-
# considerare la differenza tra firmato e non firmato, quindi quanto riportato di seguito è praticamente
|
|
16
|
-
# sufficiente. La gestione degli errori è però un po' carente.
|
|
17
|
-
# Riconfigureremo il kernel nel modulo boot_reconfigure per garantire che gli hook
|
|
18
|
-
# vengano eseguiti secondo necessità.
|
|
19
|
-
|
|
20
|
-
# ubuntu
|
|
21
|
-
# cp --preserve=timestamps /lib/live/mount/medium/live/vmlinuz-`uname -r` ${ROOT}/boot/vmlinuz-`uname -r`
|
|
22
|
-
|
|
23
|
-
# debian
|
|
24
|
-
- cp --preserve=timestamps /run/live/medium/live/vmlinuz-`uname -r` ${ROOT}/boot/vmlinuz-`uname -r`
|
|
9
|
+
- cp --preserve=timestamps __LIVE_MEDIUM_PATH__live/vmlinuz-`uname -r` ${ROOT}/boot/vmlinuz-`uname -r`
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -18,7 +18,7 @@ else
|
|
|
18
18
|
echo "WARNING: Cannot find calamares/session.log"
|
|
19
19
|
fi
|
|
20
20
|
|
|
21
|
-
cp
|
|
21
|
+
cp __LIVE_MEDIUM_PATH__.disk/info $install_dir/media-info
|
|
22
22
|
#cp /var/log/casper.log $install_dir/casper.log
|
|
23
23
|
cp /var/log/syslog $install_dir/syslog
|
|
24
24
|
|
|
File without changes
|
|
@@ -1,19 +1,9 @@
|
|
|
1
1
|
# SPDX-FileCopyrightText: 2020 Harald Sitter <sitter@kde.org>
|
|
2
2
|
# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
|
3
3
|
#
|
|
4
|
-
# This is run outside the chroot!
|
|
5
|
-
# As per at least 20.04+ /boot on the squashfs no longer contains the initrd
|
|
6
|
-
# or vmlinuz, instead we'll first fish the kernel out of the ISO.
|
|
7
|
-
#
|
|
8
|
-
# NB: initrd is handled by the initramfs module.
|
|
9
4
|
---
|
|
10
5
|
message: "Preparing the boot environment..."
|
|
11
6
|
dontChroot: true
|
|
12
7
|
timeout: 300
|
|
13
8
|
script:
|
|
14
|
-
|
|
15
|
-
# to consider signed vs. unsinged anymore, so the below is practically
|
|
16
|
-
# sufficient. Error handling is a bit on the weak side though.
|
|
17
|
-
- cp --preserve=timestamps /lib/live/mount/medium/live/vmlinuz-`uname -r` ${ROOT}/boot/vmlinuz-`uname -r`
|
|
18
|
-
# We'll reconfigure the kernel in the boot_reconfigure module to ensure hooks
|
|
19
|
-
# are run as needed.
|
|
9
|
+
- cp --preserve=timestamps __LIVE_MEDIUM_PATH__live/vmlinuz-`uname -r` ${ROOT}/boot/vmlinuz-`uname -r`
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -11,13 +11,5 @@ message: "Preparing the boot environment..."
|
|
|
11
11
|
dontChroot: true
|
|
12
12
|
timeout: 300
|
|
13
13
|
script:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
# sufficiente. La gestione degli errori è però un po' carente.
|
|
17
|
-
# Riconfigureremo il kernel nel modulo boot_reconfigure per garantire che gli hook
|
|
18
|
-
# vengano eseguiti secondo necessità.
|
|
19
|
-
|
|
20
|
-
# INITRAMFS = '/run/live/medium/'
|
|
21
|
-
# DRACUT = '/run/initramfs/live/'
|
|
22
|
-
- cp --preserve=timestamps /run/live/medium/live/vmlinuz-`uname -r` ${ROOT}/boot/vmlinuz-`uname -r`
|
|
23
|
-
#- cp --preserve=timestamps /run/initramfs/live/live/vmlinuz-`uname -r` ${ROOT}/boot/vmlinuz-`uname -r`
|
|
14
|
+
- cp --preserve=timestamps __LIVE_MEDIUM_PATH__live/vmlinuz-`uname -r` ${ROOT}/boot/vmlinuz-`uname -r`
|
|
15
|
+
|
package/conf/init/unattended.sh
CHANGED
|
File without changes
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/bleach.ts
|
|
3
|
+
* penguins-eggs v.25.7.x / 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
|
+
*
|
|
19
|
+
* @param verbose
|
|
20
|
+
*/
|
|
21
|
+
private cleanFastpack;
|
|
22
|
+
/**
|
|
23
|
+
* cleanHistory
|
|
24
|
+
* @param verbose
|
|
25
|
+
*/
|
|
26
|
+
private cleanHistory;
|
|
27
|
+
/**
|
|
28
|
+
* cleanJournal
|
|
29
|
+
* @param verbose
|
|
30
|
+
*/
|
|
31
|
+
private cleanJournal;
|
|
32
|
+
/**
|
|
33
|
+
* cleanSystemCache
|
|
34
|
+
* @param verbose
|
|
35
|
+
*/
|
|
36
|
+
private cleanSystemCache;
|
|
37
|
+
}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/bleach.ts
|
|
3
|
+
* penguins-eggs v.25.7.x / 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.cleanFastpack(verbose);
|
|
51
|
+
await this.cleanHistory(verbose);
|
|
52
|
+
await this.cleanJournal(verbose);
|
|
53
|
+
await this.cleanSystemCache(verbose);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
*
|
|
57
|
+
* @param verbose
|
|
58
|
+
*/
|
|
59
|
+
async cleanFastpack(verbose = false) {
|
|
60
|
+
let echo = { capture: false, echo: false, ignore: true };
|
|
61
|
+
if (verbose) {
|
|
62
|
+
echo = { capture: false, echo: true, ignore: true };
|
|
63
|
+
Utils.warning('cleaning fastpack');
|
|
64
|
+
}
|
|
65
|
+
await exec(`rm /var/tmp/flatpak-cache-* -rf`, echo);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* cleanHistory
|
|
69
|
+
* @param verbose
|
|
70
|
+
*/
|
|
71
|
+
async cleanHistory(verbose = false) {
|
|
72
|
+
if (verbose) {
|
|
73
|
+
Utils.warning('cleaning bash history');
|
|
74
|
+
}
|
|
75
|
+
const dest = '/root/.bash_history';
|
|
76
|
+
if (fs.existsSync(dest)) {
|
|
77
|
+
await rm(dest, verbose);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* cleanJournal
|
|
82
|
+
* @param verbose
|
|
83
|
+
*/
|
|
84
|
+
async cleanJournal(verbose = false) {
|
|
85
|
+
let echo = { capture: false, echo: false, ignore: true };
|
|
86
|
+
if (verbose) {
|
|
87
|
+
echo = { capture: false, echo: true, ignore: true };
|
|
88
|
+
Utils.warning('cleaning journald');
|
|
89
|
+
}
|
|
90
|
+
if (Utils.isSystemd()) {
|
|
91
|
+
try {
|
|
92
|
+
await exec('journalctl --rotate', echo);
|
|
93
|
+
await exec('journalctl --vacuum-time=1s', echo);
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
Utils.error(error);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
// Truncate logs, remove archived logs.
|
|
101
|
+
await exec('find /var/log -name "*gz" -print0 | xargs -0r rm -f', echo);
|
|
102
|
+
await exec('find /var/log/ -type f -exec truncate -s 0 {} \\;', echo);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* cleanSystemCache
|
|
107
|
+
* @param verbose
|
|
108
|
+
*/
|
|
109
|
+
async cleanSystemCache(verbose = false) {
|
|
110
|
+
let echo = { capture: false, echo: false, ignore: true };
|
|
111
|
+
if (verbose) {
|
|
112
|
+
echo = { capture: false, echo: true, ignore: true };
|
|
113
|
+
Utils.warning('cleaning system cache');
|
|
114
|
+
}
|
|
115
|
+
// Clear PageCache only.
|
|
116
|
+
await exec('sync; echo 1 > /proc/sys/vm/drop_caches', echo);
|
|
117
|
+
// Clear dentries and inodes.
|
|
118
|
+
await exec('sync; echo 2 > /proc/sys/vm/drop_caches', echo);
|
|
119
|
+
// Clear PageCache, dentries and inodes.
|
|
120
|
+
await exec('sync; echo 3 > /proc/sys/vm/drop_caches', echo);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
*
|
|
125
|
+
* @param dest
|
|
126
|
+
*/
|
|
127
|
+
async function rm(dest = '', verbose = false) {
|
|
128
|
+
let echo = { capture: false, echo: false, ignore: true };
|
|
129
|
+
if (verbose) {
|
|
130
|
+
echo = { capture: false, echo: true, ignore: true };
|
|
131
|
+
}
|
|
132
|
+
if (fs.existsSync(dest)) {
|
|
133
|
+
await exec(`rm ${dest} -rf`, echo);
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
console.log(`non esiste ${dest}`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
async function rmdir(dest = '', verbose = false) {
|
|
140
|
+
let echo = { capture: false, echo: false, ignore: true };
|
|
141
|
+
if (verbose) {
|
|
142
|
+
echo = { capture: false, echo: true, ignore: true };
|
|
143
|
+
}
|
|
144
|
+
const result = fs.readdirSync(dest);
|
|
145
|
+
if (result.length > 0) {
|
|
146
|
+
await exec(`rm ${dest} -rf`, echo);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/cli-autologin.ts
|
|
3
|
+
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* modified by: Hossein Seilani
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
export default class CliAutologin {
|
|
9
|
+
add(distro: string, version: string, user: string, userPasswd: string, rootPasswd: string, chroot?: string): Promise<void>;
|
|
10
|
+
addIssue(distro: string, version: string, user: string, userPasswd: string, rootPasswd: string, chroot?: string): Promise<void>;
|
|
11
|
+
addMotd(distro: string, version: string, user: string, userPasswd: string, rootPasswd: string, chroot?: string): Promise<void>;
|
|
12
|
+
remove(chroot?: string): Promise<void>;
|
|
13
|
+
private msgRemove;
|
|
14
|
+
}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/lib/cli-autologin.ts
|
|
3
|
+
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* modified by: Hossein Seilani
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import chalk from 'chalk';
|
|
9
|
+
import { execSync } from 'node:child_process';
|
|
10
|
+
// 🔧 [Change 1] - Removed unused `{ link }` import to clean up unnecessary dependencies.
|
|
11
|
+
import fs from 'node:fs';
|
|
12
|
+
import path from 'node:path';
|
|
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
|
+
export default class CliAutologin {
|
|
20
|
+
async add(distro, version, user, userPasswd, rootPasswd, chroot = '/') {
|
|
21
|
+
// 🔧 [Change 2] - Added parameter validation to prevent running with missing credentials.
|
|
22
|
+
// This prevents undefined users or empty passwords from breaking the autologin setup.
|
|
23
|
+
if (!user || !userPasswd || !rootPasswd) {
|
|
24
|
+
throw new Error('Missing user credentials for CLI autologin setup.');
|
|
25
|
+
}
|
|
26
|
+
if (Utils.isSystemd()) {
|
|
27
|
+
Utils.warning("systemd: creating CLI autologin");
|
|
28
|
+
const fileOverride = `${chroot}/etc/systemd/system/getty@.service.d/override.conf`;
|
|
29
|
+
const dirOverride = path.dirname(fileOverride);
|
|
30
|
+
// 🔧 [Change 3] - Replaced raw `rm -rf` shell command with the safer Node.js `fs.rmSync()`.
|
|
31
|
+
// This avoids potential shell injection or accidental file deletion outside the target directory.
|
|
32
|
+
if (fs.existsSync(dirOverride)) {
|
|
33
|
+
try {
|
|
34
|
+
fs.rmSync(dirOverride, { recursive: true, force: true });
|
|
35
|
+
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
Utils.error(`Failed to remove ${dirOverride}: ${err}`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// Exclude OpenSUSE since it uses a different login mechanism.
|
|
41
|
+
if (distro !== 'Opensuse') {
|
|
42
|
+
// 🔧 [Change 4] - Used `fs.mkdirSync()` instead of shell command for better cross-platform reliability.
|
|
43
|
+
fs.mkdirSync(dirOverride, { recursive: true });
|
|
44
|
+
let content = '';
|
|
45
|
+
content += '[Service]\n';
|
|
46
|
+
content += 'ExecStart=\n';
|
|
47
|
+
content += `ExecStart=-/sbin/agetty --noclear --autologin ${user} %I $TERM\n`;
|
|
48
|
+
// 🔧 [Change 5] - Wrapped file operations in try/catch for safe I/O handling.
|
|
49
|
+
// Prevents crash if permission denied or disk error occurs.
|
|
50
|
+
try {
|
|
51
|
+
fs.writeFileSync(fileOverride, content);
|
|
52
|
+
fs.chmodSync(fileOverride, 0o755);
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
Utils.error(`Failed to write ${fileOverride}: ${err}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
await this.addIssue(distro, version, user, userPasswd, rootPasswd, chroot);
|
|
59
|
+
await this.addMotd(distro, version, user, userPasswd, rootPasswd, chroot);
|
|
60
|
+
}
|
|
61
|
+
else if (Utils.isOpenRc()) {
|
|
62
|
+
Utils.warning("openrc: creating CLI autologin");
|
|
63
|
+
const inittab = chroot + '/etc/inittab';
|
|
64
|
+
// 🔧 [Change 6] - Automatically creates a backup of `/etc/inittab` before making modifications.
|
|
65
|
+
// This allows easy rollback in case autologin configuration fails.
|
|
66
|
+
if (fs.existsSync(inittab)) {
|
|
67
|
+
fs.copyFileSync(inittab, `${inittab}.bak`);
|
|
68
|
+
}
|
|
69
|
+
let content = '';
|
|
70
|
+
const search = `tty1::respawn:/sbin/getty 38400 tty1`;
|
|
71
|
+
const replace = `tty1::respawn:/sbin/getty -L 38400 tty1 -n -l /bin/autologin`;
|
|
72
|
+
const lines = fs.readFileSync(inittab, 'utf8').split('\n');
|
|
73
|
+
for (let i = 0; i < lines.length; i++) {
|
|
74
|
+
if (lines[i].includes(search))
|
|
75
|
+
lines[i] = replace;
|
|
76
|
+
content += lines[i] + '\n';
|
|
77
|
+
}
|
|
78
|
+
console.log(`Writing ${inittab}`);
|
|
79
|
+
fs.writeFileSync(inittab, content, 'utf-8');
|
|
80
|
+
const autologin = chroot + '/bin/autologin';
|
|
81
|
+
content = '#!/bin/sh\n';
|
|
82
|
+
content += `/bin/login -f ${user}\n`;
|
|
83
|
+
fs.writeFileSync(autologin, content, 'utf-8');
|
|
84
|
+
execSync(`chmod +x ${autologin}`);
|
|
85
|
+
await this.addIssue(distro, version, user, userPasswd, rootPasswd, chroot);
|
|
86
|
+
await this.addMotd(distro, version, user, userPasswd, rootPasswd, chroot);
|
|
87
|
+
}
|
|
88
|
+
else if (Utils.isSysvinit()) {
|
|
89
|
+
Utils.warning("sysvinit: creating CLI autologin");
|
|
90
|
+
const inittab = chroot + '/etc/inittab';
|
|
91
|
+
// 🔧 [Change 7] - Added backup for SysVInit `inittab` as well.
|
|
92
|
+
// Provides consistency and safety across all init systems.
|
|
93
|
+
if (fs.existsSync(inittab)) {
|
|
94
|
+
fs.copyFileSync(inittab, `${inittab}.bak`);
|
|
95
|
+
}
|
|
96
|
+
const search = '1:2345:respawn:/sbin/getty';
|
|
97
|
+
const replace = `1:2345:respawn:/sbin/getty --autologin ${user} 38400 tty1`;
|
|
98
|
+
let content = '';
|
|
99
|
+
const lines = fs.readFileSync(inittab, 'utf8').split('\n');
|
|
100
|
+
for (let i = 0; i < lines.length; i++) {
|
|
101
|
+
if (lines[i].includes(search))
|
|
102
|
+
lines[i] = replace;
|
|
103
|
+
content += lines[i] + '\n';
|
|
104
|
+
}
|
|
105
|
+
fs.writeFileSync(inittab, content, 'utf-8');
|
|
106
|
+
await this.addMotd(distro, version, user, userPasswd, rootPasswd, chroot);
|
|
107
|
+
await this.addIssue(distro, version, user, userPasswd, rootPasswd, chroot);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
async addIssue(distro, version, user, userPasswd, rootPasswd, chroot = '/') {
|
|
111
|
+
const fileIssue = `${chroot}/etc/issue`;
|
|
112
|
+
if (fs.existsSync(fileIssue)) {
|
|
113
|
+
if (!fs.lstatSync(fileIssue).isSymbolicLink()) {
|
|
114
|
+
this.msgRemove(fileIssue);
|
|
115
|
+
let content = fs.readFileSync(fileIssue, 'utf8');
|
|
116
|
+
content += startMessage + '\n';
|
|
117
|
+
content += `This is a ${distro}/${version} system created by Penguins' eggs.\n`;
|
|
118
|
+
content += `You can login with user: ${chalk.bold(user)} and password: ${chalk.bold(userPasswd)}, root password: ${chalk.bold(rootPasswd)}\n`;
|
|
119
|
+
content += stopMessage + '\n';
|
|
120
|
+
// 🔧 [Change 8] - File writing is now protected by try/catch for reliability.
|
|
121
|
+
// Prevents the script from crashing if write permission is missing.
|
|
122
|
+
try {
|
|
123
|
+
fs.writeFileSync(fileIssue, content);
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
Utils.error(`Failed to write ${fileIssue}: ${err}`);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
async addMotd(distro, version, user, userPasswd, rootPasswd, chroot = '/') {
|
|
132
|
+
const fileMotd = `${chroot}/etc/motd`;
|
|
133
|
+
let installer = 'sudo eggs install';
|
|
134
|
+
if (Pacman.calamaresExists()) {
|
|
135
|
+
if (Pacman.packageIsInstalled('plasma-desktop')) {
|
|
136
|
+
installer = 'startplasma-wayland to run GUI and launch calamares';
|
|
137
|
+
}
|
|
138
|
+
else if (Pacman.packageIsInstalled('xfce4')) {
|
|
139
|
+
installer = 'startxfce4 to run GUI and launch calamares installer';
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
if (!fs.existsSync(fileMotd)) {
|
|
143
|
+
await exec(`touch ${fileMotd}`);
|
|
144
|
+
}
|
|
145
|
+
this.msgRemove(fileMotd);
|
|
146
|
+
let eggsMotd = fs.readFileSync(fileMotd, 'utf8');
|
|
147
|
+
eggsMotd += startMessage + '\n';
|
|
148
|
+
eggsMotd += Utils.flag() + '\n';
|
|
149
|
+
eggsMotd += `You are logged as: ${chalk.bold(user)} your password is: ${chalk.bold(userPasswd)}, root password: ${chalk.bold(rootPasswd)}\n\n`;
|
|
150
|
+
eggsMotd += `install : ${chalk.bold(installer)}\n`;
|
|
151
|
+
eggsMotd += ` --unattended : ${chalk.bold('sudo eggs install --unattended')}\n`;
|
|
152
|
+
eggsMotd += ` --chroot : ${chalk.bold('sudo eggs install --chroot')}\n`;
|
|
153
|
+
eggsMotd += ` --help : ${chalk.bold('sudo eggs install --help')}\n\n`;
|
|
154
|
+
eggsMotd += stopMessage + '\n';
|
|
155
|
+
// 🔧 [Change 9] - Same as above: safe write with error handling to improve reliability.
|
|
156
|
+
try {
|
|
157
|
+
fs.writeFileSync(fileMotd, eggsMotd);
|
|
158
|
+
}
|
|
159
|
+
catch (err) {
|
|
160
|
+
Utils.error(`Failed to write ${fileMotd}: ${err}`);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
async remove(chroot = '/') {
|
|
164
|
+
if (Utils.isSystemd()) {
|
|
165
|
+
const fileOverride = `${chroot}/etc/systemd/system/getty@.service.d/override.conf`;
|
|
166
|
+
const dirOverride = path.dirname(fileOverride);
|
|
167
|
+
// 🔧 [Change 10] - Replaced shell-based deletion with `fs.rmSync()` for safety and consistency.
|
|
168
|
+
if (fs.existsSync(dirOverride)) {
|
|
169
|
+
try {
|
|
170
|
+
fs.rmSync(dirOverride, { recursive: true, force: true });
|
|
171
|
+
}
|
|
172
|
+
catch (err) {
|
|
173
|
+
Utils.error(`Failed to remove ${dirOverride}: ${err}`);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
this.msgRemove(`${chroot}/etc/motd`);
|
|
177
|
+
this.msgRemove(`${chroot}/etc/issue`);
|
|
178
|
+
}
|
|
179
|
+
else if (Utils.isOpenRc()) {
|
|
180
|
+
const inittab = chroot + '/etc/inittab';
|
|
181
|
+
const search = 'autologin';
|
|
182
|
+
const replace = `tty1::respawn:/sbin/getty 38400 tty1`;
|
|
183
|
+
let content = '';
|
|
184
|
+
const lines = fs.readFileSync(inittab, 'utf8').split('\n');
|
|
185
|
+
for (let i = 0; i < lines.length; i++) {
|
|
186
|
+
if (lines[i].includes(search))
|
|
187
|
+
lines[i] = replace;
|
|
188
|
+
content += lines[i] + '\n';
|
|
189
|
+
}
|
|
190
|
+
fs.writeFileSync(inittab, content, 'utf-8');
|
|
191
|
+
this.msgRemove(`${chroot}/etc/motd`);
|
|
192
|
+
this.msgRemove(`${chroot}/etc/issue`);
|
|
193
|
+
const autologin = `${chroot}/bin/autologin`;
|
|
194
|
+
// 🔧 [Change 11] - Added safety check before deleting `/bin/autologin`.
|
|
195
|
+
// Prevents accidental removal of unrelated files outside chroot.
|
|
196
|
+
if (autologin.startsWith(chroot)) {
|
|
197
|
+
execSync(`rm -f ${autologin}`);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
else if (Utils.isSysvinit()) {
|
|
201
|
+
const inittab = chroot + '/etc/inittab';
|
|
202
|
+
const search = '--autologin';
|
|
203
|
+
const replace = '1:2345:respawn:/sbin/getty 38400 tty1 ';
|
|
204
|
+
let content = '';
|
|
205
|
+
const lines = fs.readFileSync(inittab, 'utf8').split('\n');
|
|
206
|
+
for (let i = 0; i < lines.length; i++) {
|
|
207
|
+
if (lines[i].includes(search))
|
|
208
|
+
lines[i] = replace;
|
|
209
|
+
content += lines[i] + '\n';
|
|
210
|
+
}
|
|
211
|
+
fs.writeFileSync(inittab, content, 'utf-8');
|
|
212
|
+
this.msgRemove(`${chroot}/etc/motd`);
|
|
213
|
+
this.msgRemove(`${chroot}/etc/issue`);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
async msgRemove(path) {
|
|
217
|
+
if (fs.existsSync(path)) {
|
|
218
|
+
if (!fs.lstatSync(path).isSymbolicLink()) {
|
|
219
|
+
// 🔧 [Change 12] - Rewrote cleanup logic using a regular expression to remove the block
|
|
220
|
+
// between `eggs-start-message` and `eggs-stop-message`. More efficient and cleaner.
|
|
221
|
+
let content = fs.readFileSync(path, 'utf8');
|
|
222
|
+
content = content.replace(/eggs-start-message[\s\S]*?eggs-stop-message/g, '');
|
|
223
|
+
fs.writeFileSync(path, content, 'utf-8');
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|