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
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/tools/repo.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
|
+
* Debian 13 trixe, Ubuntu 24.04 noble usano il formato deb822
|
|
10
|
+
* * esiste un comando per modernizzare le sorgenti:
|
|
11
|
+
* sudo apt modernize-sources
|
|
12
|
+
*/
|
|
13
|
+
import { Command, Flags } from '@oclif/core';
|
|
14
|
+
import fs from 'node:fs';
|
|
15
|
+
import path from 'node:path';
|
|
16
|
+
import Distro from '../../classes/distro.js';
|
|
17
|
+
import Utils from '../../classes/utils.js';
|
|
18
|
+
import { exec } from '../../lib/utils.js';
|
|
19
|
+
import Diversions from '../../classes/diversions.js';
|
|
20
|
+
const repoUrl = `https://penguins-eggs.net/repos`; // no slash at end
|
|
21
|
+
const repoKeyUrl = repoUrl + '/KEY.asc';
|
|
22
|
+
let repoPath = '/etc/apt/sources.list.d/penguins-repos'; // Base path without extension
|
|
23
|
+
const repoKeyPath = '/usr/share/keyrings/penguins-repos.gpg';
|
|
24
|
+
// RPM (Fedora/EL)
|
|
25
|
+
const rpmKeyUrl = repoUrl + '/rpm/RPM-GPG-KEY-penguins-eggs';
|
|
26
|
+
const rpmKeyOwner = 'piero.proietti@gmail.com'; // Per cercare e rimuovere la chiave
|
|
27
|
+
const rpmRepoFilePath = '/etc/yum.repos.d/penguins-eggs.repo'; // Percorso di destinazione
|
|
28
|
+
const rpmRepoFedoraUrl = repoUrl + '/rpm/fedora/penguins-eggs.repo';
|
|
29
|
+
const rpmRepoEl9Url = repoUrl + '/rpm/el9/penguins-eggs.repo';
|
|
30
|
+
// openSUSE
|
|
31
|
+
const opensuseRepoUrl = repoUrl + '/rpm/opensuse/penguins-eggs.repo';
|
|
32
|
+
const opensuseRepoName = 'penguins-eggs'; // Dal file .repo
|
|
33
|
+
// Alpine
|
|
34
|
+
const alpineRepoUrl = repoUrl + '/alpine/';
|
|
35
|
+
const alpineKeyName = 'piero.proietti@gmail.com-662b958c';
|
|
36
|
+
const alpineKeyUrl = repoUrl + `/alpine/${alpineKeyName}.rsa.pub`;
|
|
37
|
+
const alpineKeyPath = `/etc/apk/keys/${alpineKeyName}.rsa.pub`;
|
|
38
|
+
const alpineRepoFile = '/etc/apk/repositories';
|
|
39
|
+
/**
|
|
40
|
+
*
|
|
41
|
+
*/
|
|
42
|
+
export default class Repo extends Command {
|
|
43
|
+
static description = 'add/remove penguins-repos';
|
|
44
|
+
static examples = ['sudo eggs tools repo --add', 'sudo eggs tools repo --remove'];
|
|
45
|
+
static flags = {
|
|
46
|
+
add: Flags.boolean({ char: 'a', description: 'add penguins-repos' }),
|
|
47
|
+
help: Flags.help({ char: 'h' }),
|
|
48
|
+
nointeractive: Flags.boolean({ char: 'n', description: 'no user interaction' }),
|
|
49
|
+
remove: Flags.boolean({ char: 'r', description: 'remove penguins-repos' }),
|
|
50
|
+
verbose: Flags.boolean({ char: 'v', description: 'verbose' })
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
*
|
|
54
|
+
*/
|
|
55
|
+
async run() {
|
|
56
|
+
const { flags } = await this.parse(Repo);
|
|
57
|
+
Utils.titles(this.id + ' ' + this.argv);
|
|
58
|
+
const { nointeractive } = flags;
|
|
59
|
+
if (Utils.isRoot()) {
|
|
60
|
+
const distro = new Distro();
|
|
61
|
+
if (distro.familyId === 'alpine') {
|
|
62
|
+
/**
|
|
63
|
+
* Alpine
|
|
64
|
+
*/
|
|
65
|
+
if (flags.add) {
|
|
66
|
+
Utils.warning(`Sei sicuro di voler aggiungere penguins-repos ai tuoi repository?`);
|
|
67
|
+
if (nointeractive || (await Utils.customConfirm('Seleziona sì per continuare...'))) {
|
|
68
|
+
await alpineRepoAdd();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else if (flags.remove) {
|
|
72
|
+
Utils.warning(`Sei sicuro di voler rimuovere penguins-repos dai tuoi repository?`);
|
|
73
|
+
if (nointeractive || (await Utils.customConfirm('Seleziona sì per continuare...'))) {
|
|
74
|
+
await alpineRepoRemove();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
await exec('apk update');
|
|
78
|
+
}
|
|
79
|
+
else if (distro.familyId === 'archlinux') {
|
|
80
|
+
if (flags.add) {
|
|
81
|
+
Utils.warning(`Are you sure to add penguins-repos to your repositories?`);
|
|
82
|
+
if (await Utils.customConfirm('Select yes to continue...')) {
|
|
83
|
+
await archlinuxRepoAdd(distro.distroId);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else if (flags.remove) {
|
|
87
|
+
Utils.warning(`Are you sure to remove penguins-repos to your repositories?`);
|
|
88
|
+
if (await Utils.customConfirm('Select yes to continue...')) {
|
|
89
|
+
await archlinuxRepoRemove(distro.distroId);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
else if (distro.familyId === 'debian') {
|
|
94
|
+
/**
|
|
95
|
+
* Debian
|
|
96
|
+
*/
|
|
97
|
+
if (flags.add) {
|
|
98
|
+
Utils.warning(`Are you sure to add source ${path.basename(repoPath)} to your repositories?`);
|
|
99
|
+
if (nointeractive || (await Utils.customConfirm('Select yes to continue...'))) {
|
|
100
|
+
await debianRemove();
|
|
101
|
+
if (await is822()) {
|
|
102
|
+
await debianAdd822();
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
await debianAdd();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
else if (flags.remove) {
|
|
110
|
+
Utils.warning(`Are you sure to remove source ${path.basename(repoPath)} to your repositories?`);
|
|
111
|
+
if (nointeractive || (await Utils.customConfirm('Select yes to continue...'))) {
|
|
112
|
+
await debianRemove();
|
|
113
|
+
}
|
|
114
|
+
await exec('apt-get update');
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
else if (distro.familyId === 'fedora') {
|
|
118
|
+
/**
|
|
119
|
+
* RPM (Fedora/EL)
|
|
120
|
+
*/
|
|
121
|
+
let repoUrl = rpmRepoFedoraUrl;
|
|
122
|
+
if (distro.distroId !== 'Fedora') {
|
|
123
|
+
repoUrl = rpmRepoEl9Url; // Supponiamo che non-Fedora in questa famiglia sia EL
|
|
124
|
+
Utils.warning(`Rilevato ${distro.distroId}. Utilizzo del repository EL9.`);
|
|
125
|
+
}
|
|
126
|
+
if (flags.add) {
|
|
127
|
+
Utils.warning(`Sei sicuro di voler aggiungere penguins-repos ai tuoi repository?`);
|
|
128
|
+
if (nointeractive || (await Utils.customConfirm('Seleziona sì per continuare...'))) {
|
|
129
|
+
await rpmRepoAdd(repoUrl, rpmKeyUrl);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
else if (flags.remove) {
|
|
133
|
+
Utils.warning(`Sei sicuro di voler rimuovere penguins-repos dai tuoi repository?`);
|
|
134
|
+
if (nointeractive || (await Utils.customConfirm('Seleziona sì per continuare...'))) {
|
|
135
|
+
await rpmRepoRemove(rpmRepoFilePath, rpmKeyOwner);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
await exec('dnf check-update');
|
|
139
|
+
}
|
|
140
|
+
else if (distro.familyId === 'opensuse') {
|
|
141
|
+
/**
|
|
142
|
+
* openSUSE
|
|
143
|
+
*/
|
|
144
|
+
if (flags.add) {
|
|
145
|
+
Utils.warning(`Sei sicuro di voler aggiungere penguins-repos ai tuoi repository?`);
|
|
146
|
+
if (nointeractive || (await Utils.customConfirm('Seleziona sì per continuare...'))) {
|
|
147
|
+
await opensuseRepoAdd(opensuseRepoUrl);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
else if (flags.remove) {
|
|
151
|
+
Utils.warning(`Sei sicuro di voler rimuovere penguins-repos dai tuoi repository?`);
|
|
152
|
+
if (nointeractive || (await Utils.customConfirm('Seleziona sì per continuare...'))) {
|
|
153
|
+
await opensuseRepoRemove(opensuseRepoName);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
/**
|
|
159
|
+
* All the others
|
|
160
|
+
*/
|
|
161
|
+
Utils.warning(`Distro: ${distro.distroId}/${distro.codenameId}, cannot use penguins-repo nor chaotic-aur!`);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* ARCH
|
|
168
|
+
*/
|
|
169
|
+
// archlinuxRepoAdd
|
|
170
|
+
async function archlinuxRepoAdd(distroId = "Arch") {
|
|
171
|
+
console.log(`Adding penguins-repos for ${distroId}`);
|
|
172
|
+
const repoBlockIdentifier = '# penguins-repos';
|
|
173
|
+
const repoName = '[penguins-eggs]';
|
|
174
|
+
const keyId = 'F6773EA7D2F309BA3E5DE08A45B10F271525403F';
|
|
175
|
+
let serverUrl = repoUrl + '/arch';
|
|
176
|
+
if (Diversions.isManjaroBased(distroId)) {
|
|
177
|
+
serverUrl = repoUrl + '/manjaro';
|
|
178
|
+
}
|
|
179
|
+
const pacmanConfPath = '/etc/pacman.conf';
|
|
180
|
+
const echo = Utils.setEcho(true);
|
|
181
|
+
const pacmanConfContent = fs.readFileSync(pacmanConfPath, 'utf8');
|
|
182
|
+
if (pacmanConfContent.includes(repoName)) {
|
|
183
|
+
console.log(`The repository ${repoName} already exists in ${pacmanConfPath}!`);
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
console.log(`Importazione della chiave GPG: ${keyId}...`);
|
|
187
|
+
await exec(`pacman-key --recv-key ${keyId} --keyserver keyserver.ubuntu.com`, echo);
|
|
188
|
+
await exec(`pacman-key --lsign-key ${keyId}`, echo);
|
|
189
|
+
let repoBlock = ``;
|
|
190
|
+
repoBlock += repoBlockIdentifier + `\n`;
|
|
191
|
+
repoBlock += `${repoName}\n`;
|
|
192
|
+
repoBlock += `SigLevel = Optional TrustAll\n`;
|
|
193
|
+
repoBlock += `Server = ${serverUrl}\n`;
|
|
194
|
+
fs.appendFileSync(pacmanConfPath, repoBlock);
|
|
195
|
+
let message = 'Run “sudo pacman -Syyu” to update pacman databases.';
|
|
196
|
+
if (Diversions.isManjaroBased(distroId)) {
|
|
197
|
+
message = 'Run “sudo pamac update --force-refresh" to update pacman databases.';
|
|
198
|
+
}
|
|
199
|
+
console.log('Repository successfully removed!');
|
|
200
|
+
console.log(message);
|
|
201
|
+
}
|
|
202
|
+
// archlinuxRepoRemove
|
|
203
|
+
async function archlinuxRepoRemove(distroId = 'Arch') {
|
|
204
|
+
console.log(`Removing penguins-repos for ${distroId}`);
|
|
205
|
+
const repoBlockIdentifier = '# penguins-repos';
|
|
206
|
+
const repoName = '[penguins-eggs]';
|
|
207
|
+
let serverUrl = repoUrl + '/arch';
|
|
208
|
+
if (Diversions.isManjaroBased(distroId)) {
|
|
209
|
+
serverUrl = repoUrl + '/manjaro';
|
|
210
|
+
}
|
|
211
|
+
const pacmanConfPath = '/etc/pacman.conf';
|
|
212
|
+
let pacmanConfContent = fs.readFileSync(pacmanConfPath, 'utf8');
|
|
213
|
+
if (pacmanConfContent.includes(repoName)) {
|
|
214
|
+
console.log(`Removing repository ${repoName} in progress...`);
|
|
215
|
+
let repoBlock = ``;
|
|
216
|
+
repoBlock += repoBlockIdentifier + `\n`;
|
|
217
|
+
repoBlock += `${repoName}\n`;
|
|
218
|
+
repoBlock += `SigLevel = Optional TrustAll\n`;
|
|
219
|
+
repoBlock += `Server = ${serverUrl}\n`;
|
|
220
|
+
pacmanConfContent = pacmanConfContent.replace(repoBlock, '');
|
|
221
|
+
fs.writeFileSync(pacmanConfPath, pacmanConfContent.trim());
|
|
222
|
+
let message = 'Run “sudo pacman -Syyu” to update pacman databases.';
|
|
223
|
+
if (Diversions.isManjaroBased(distroId)) {
|
|
224
|
+
message = 'Run “sudo pamac update --force-refresh" to update pacman databases.';
|
|
225
|
+
}
|
|
226
|
+
console.log('Repository successfully removed!');
|
|
227
|
+
console.log(message);
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
console.log('The repository was not present in /etc/pacman.conf.');
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
// archlinuxAurAdd
|
|
234
|
+
async function archlinuxAurAdd() {
|
|
235
|
+
const path = '/var/cache/pacman/pkg/';
|
|
236
|
+
const keyring = 'chaotic-keyring.pkg.tar.zst';
|
|
237
|
+
const mirrorlist = 'chaotic-mirrorlist.pkg.tar.zst';
|
|
238
|
+
const echo = Utils.setEcho(true);
|
|
239
|
+
if (fs.existsSync(path + keyring) && fs.existsSync(path + mirrorlist)) {
|
|
240
|
+
console.log('repository Chaotic-AUR, already present!');
|
|
241
|
+
await archlinuxAurRemove();
|
|
242
|
+
process.exit();
|
|
243
|
+
}
|
|
244
|
+
await exec('pacman-key --recv-key FBA220DFC880C036 --keyserver keyserver.ubuntu.com', echo);
|
|
245
|
+
await exec('pacman-key --lsign-key FBA220DFC880C036', echo);
|
|
246
|
+
await exec("pacman -U 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst' 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst'", echo);
|
|
247
|
+
// Append to /etc/pacman.conf
|
|
248
|
+
const chaoticAppend = '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist\n\n';
|
|
249
|
+
fs.appendFileSync('/etc/pacman.conf', chaoticAppend);
|
|
250
|
+
}
|
|
251
|
+
// archlinuxAurRemove
|
|
252
|
+
async function archlinuxAurRemove() {
|
|
253
|
+
const path = '/var/cache/pacman/pkg/';
|
|
254
|
+
const keyring = 'chaotic-keyring.pkg.tar.zst';
|
|
255
|
+
const mirrorlist = 'chaotic-mirrorlist.pkg.tar.zst';
|
|
256
|
+
if (fs.existsSync(path + keyring) && fs.existsSync(path + mirrorlist)) {
|
|
257
|
+
console.log('to remove chaotic-aur:\n');
|
|
258
|
+
console.log(`sudo rm ${path}${keyring}`);
|
|
259
|
+
console.log(`sudo rm ${path}${mirrorlist}`);
|
|
260
|
+
console.log(`sudo nano /etc/pacman.conf`);
|
|
261
|
+
console.log(`remove at the end:`);
|
|
262
|
+
console.log(`[chaotic-aur]`);
|
|
263
|
+
console.log(`Include = /etc/pacman.d/chaotic-mirrorlist`);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* DEBIAN
|
|
268
|
+
*/
|
|
269
|
+
// debianAdd
|
|
270
|
+
async function debianAdd() {
|
|
271
|
+
await exec(`curl -fsSL ${repoKeyUrl} | gpg --dearmor -o ${repoKeyPath}`);
|
|
272
|
+
const content = `deb [signed-by=${repoKeyPath}] ${repoUrl}/deb stable main\n`;
|
|
273
|
+
fs.writeFileSync(`${repoPath}.list`, content);
|
|
274
|
+
}
|
|
275
|
+
// debianRemove
|
|
276
|
+
async function debianRemove() {
|
|
277
|
+
await exec(`rm -f ${repoKeyPath}`);
|
|
278
|
+
await exec(`rm -f ${repoPath}*`);
|
|
279
|
+
}
|
|
280
|
+
// is822
|
|
281
|
+
async function is822() {
|
|
282
|
+
let retval = false;
|
|
283
|
+
const test = `([ -f /etc/apt/sources.list.d/ubuntu.sources ] || [ -f /etc/apt/sources.list.d/debian.sources ]) && echo "1" || echo "0"`;
|
|
284
|
+
const is822Result = (await exec(test, { capture: true, echo: false }));
|
|
285
|
+
if (is822Result.code === 0) {
|
|
286
|
+
if (is822Result.data.trim() === '1') {
|
|
287
|
+
retval = true;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
return retval;
|
|
291
|
+
}
|
|
292
|
+
// debianAdd822
|
|
293
|
+
async function debianAdd822() {
|
|
294
|
+
await exec(`curl -fsSL ${repoKeyUrl} | gpg --dearmor -o ${repoKeyPath}`);
|
|
295
|
+
let content = '';
|
|
296
|
+
content += `Types: deb\n`;
|
|
297
|
+
content += `URIs: ${repoUrl}/deb\n`; // Correct URI for packages
|
|
298
|
+
content += `Suites: stable\n`; // It's better to be specific
|
|
299
|
+
content += `Components: main\n`;
|
|
300
|
+
content += `Signed-By: ${repoKeyPath}\n`;
|
|
301
|
+
fs.writeFileSync(`${repoPath}.sources`, content);
|
|
302
|
+
}
|
|
303
|
+
// ... [funzioni DEBIAN esistenti] ...
|
|
304
|
+
/**
|
|
305
|
+
* ALPINE
|
|
306
|
+
*/
|
|
307
|
+
async function alpineRepoAdd() {
|
|
308
|
+
console.log('Aggiunta repository Alpine...');
|
|
309
|
+
const echo = Utils.setEcho(true);
|
|
310
|
+
if (fs.existsSync(alpineKeyPath)) {
|
|
311
|
+
console.log('Chiave già esistente.');
|
|
312
|
+
}
|
|
313
|
+
else {
|
|
314
|
+
await exec(`curl -fsSL ${alpineKeyUrl} -o ${alpineKeyPath}`, echo);
|
|
315
|
+
}
|
|
316
|
+
const repoFileContent = fs.readFileSync(alpineRepoFile, 'utf8');
|
|
317
|
+
if (repoFileContent.includes(alpineRepoUrl)) {
|
|
318
|
+
console.log('La linea del repository è già presente in /etc/apk/repositories.');
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
fs.appendFileSync(alpineRepoFile, `\n${alpineRepoUrl}\n`);
|
|
322
|
+
console.log('Repository aggiunto.');
|
|
323
|
+
}
|
|
324
|
+
console.log('Esegui "apk update" per aggiornare i repository.');
|
|
325
|
+
}
|
|
326
|
+
async function alpineRepoRemove() {
|
|
327
|
+
console.log('Rimozione repository Alpine...');
|
|
328
|
+
const echo = Utils.setEcho(true);
|
|
329
|
+
// Rimuovi chiave
|
|
330
|
+
if (fs.existsSync(alpineKeyPath)) {
|
|
331
|
+
await exec(`rm -f ${alpineKeyPath}`, echo);
|
|
332
|
+
console.log('Chiave del repository rimossa.');
|
|
333
|
+
}
|
|
334
|
+
else {
|
|
335
|
+
console.log('Chiave del repository non trovata.');
|
|
336
|
+
}
|
|
337
|
+
// Rimuovi da /etc/apk/repositories
|
|
338
|
+
if (fs.existsSync(alpineRepoFile)) {
|
|
339
|
+
let content = fs.readFileSync(alpineRepoFile, 'utf8');
|
|
340
|
+
if (content.includes(alpineRepoUrl)) {
|
|
341
|
+
const newLines = content.split('\n').filter(line => line.trim() !== alpineRepoUrl);
|
|
342
|
+
fs.writeFileSync(alpineRepoFile, newLines.join('\n'));
|
|
343
|
+
console.log('Linea del repository rimossa da /etc/apk/repositories.');
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
console.log('Linea del repository non trovata in /etc/apk/repositories.');
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
console.log('Esegui "apk update" per aggiornare i repository.');
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* RPM (Fedora/EL)
|
|
353
|
+
*/
|
|
354
|
+
async function rpmRepoAdd(repoUrl, keyUrl) {
|
|
355
|
+
console.log(`Aggiunta repository RPM da ${repoUrl}...`);
|
|
356
|
+
const echo = Utils.setEcho(true);
|
|
357
|
+
// Assicura che dnf-plugins-core sia installato
|
|
358
|
+
await exec('dnf install dnf-plugins-core -y', echo);
|
|
359
|
+
// Aggiungi repo
|
|
360
|
+
await exec(`dnf config-manager --add-repo ${repoUrl}`, echo);
|
|
361
|
+
// Importa chiave
|
|
362
|
+
await exec(`rpm --import ${keyUrl}`, echo);
|
|
363
|
+
console.log('Repository aggiunto. Esegui "dnf check-update" per aggiornare.');
|
|
364
|
+
}
|
|
365
|
+
async function rpmRepoRemove(repoFilePath, keyOwner) {
|
|
366
|
+
console.log('Rimozione repository RPM...');
|
|
367
|
+
const echo = Utils.setEcho(true);
|
|
368
|
+
// Rimuovi file .repo
|
|
369
|
+
if (fs.existsSync(repoFilePath)) {
|
|
370
|
+
await exec(`rm -f ${repoFilePath}`, echo);
|
|
371
|
+
console.log(`Rimosso ${repoFilePath}.`);
|
|
372
|
+
}
|
|
373
|
+
else {
|
|
374
|
+
console.log(`File repository ${repoFilePath} non trovato.`);
|
|
375
|
+
}
|
|
376
|
+
// Rimuovi chiave GPG
|
|
377
|
+
const findKeyCmd = `rpm -q gpg-pubkey --qf '%{name}-%{version}-%{release} %{summary}\n' | grep '${keyOwner}' | cut -d' ' -f1`;
|
|
378
|
+
const keyNameResult = await exec(findKeyCmd, { capture: true, echo: false });
|
|
379
|
+
if (keyNameResult.code === 0 && keyNameResult.data.trim() !== '') {
|
|
380
|
+
const keyNames = keyNameResult.data.trim().split('\n');
|
|
381
|
+
for (const keyName of keyNames) {
|
|
382
|
+
if (keyName) {
|
|
383
|
+
console.log(`Rimozione chiave GPG ${keyName}...`);
|
|
384
|
+
await exec(`rpm -e ${keyName}`, echo);
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
else {
|
|
389
|
+
console.log('Nessuna chiave GPG corrispondente da rimuovere.');
|
|
390
|
+
}
|
|
391
|
+
console.log('Repository rimosso. Esegui "dnf check-update" per aggiornare.');
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* openSUSE
|
|
395
|
+
*/
|
|
396
|
+
async function opensuseRepoAdd(repoUrl) {
|
|
397
|
+
console.log(`Aggiunta repository openSUSE da ${repoUrl}...`);
|
|
398
|
+
const echo = Utils.setEcho(true);
|
|
399
|
+
// zypper ar <url>
|
|
400
|
+
await exec(`zypper addrepo ${repoUrl}`, echo);
|
|
401
|
+
// Refresh e importa chiave
|
|
402
|
+
await exec(`zypper --gpg-auto-import-keys refresh`, echo);
|
|
403
|
+
console.log('Repository aggiunto.');
|
|
404
|
+
}
|
|
405
|
+
async function opensuseRepoRemove(repoName) {
|
|
406
|
+
console.log(`Rimozione repository openSUSE: ${repoName}...`);
|
|
407
|
+
const echo = Utils.setEcho(true);
|
|
408
|
+
// zypper rr <name>
|
|
409
|
+
await exec(`zypper removerepo ${repoName}`, echo);
|
|
410
|
+
// Refresh
|
|
411
|
+
await exec(`zypper refresh`, echo);
|
|
412
|
+
console.log('Repository rimosso.');
|
|
413
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/tools/skel.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 { Command } from '@oclif/core';
|
|
9
|
+
export default class Skel extends Command {
|
|
10
|
+
static description: string;
|
|
11
|
+
static examples: string[];
|
|
12
|
+
static flags: {
|
|
13
|
+
help: import("@oclif/core/interfaces").BooleanFlag<void>;
|
|
14
|
+
user: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
};
|
|
17
|
+
run(): Promise<void>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/tools/skel.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 { Command, Flags } from '@oclif/core';
|
|
9
|
+
import fs from 'node:fs';
|
|
10
|
+
import Utils from '../../classes/utils.js';
|
|
11
|
+
import Xdg from '../../classes/xdg.js';
|
|
12
|
+
export default class Skel extends Command {
|
|
13
|
+
static description = 'update skel from home configuration';
|
|
14
|
+
static examples = ['sudo eggs tools skel', 'sudo eggs tools skel --user user-to-be-copied'];
|
|
15
|
+
static flags = {
|
|
16
|
+
help: Flags.help({ char: 'h' }),
|
|
17
|
+
user: Flags.string({ char: 'u', description: 'user to be used' }),
|
|
18
|
+
verbose: Flags.boolean({ char: 'v' })
|
|
19
|
+
};
|
|
20
|
+
async run() {
|
|
21
|
+
Utils.titles(this.id + ' ' + this.argv);
|
|
22
|
+
const { flags } = await this.parse(Skel);
|
|
23
|
+
let verbose = false;
|
|
24
|
+
if (flags.verbose) {
|
|
25
|
+
verbose = true;
|
|
26
|
+
}
|
|
27
|
+
let user = '';
|
|
28
|
+
user = flags.user ? flags.user : await Utils.getPrimaryUser();
|
|
29
|
+
Utils.warning(`user: ${user}`);
|
|
30
|
+
const homeSource = `/home/${user}`;
|
|
31
|
+
if (!fs.existsSync(homeSource)) {
|
|
32
|
+
Utils.error(`User ${user} not exist or not exist a proper home`);
|
|
33
|
+
Utils.warning('terminate');
|
|
34
|
+
process.exit(0);
|
|
35
|
+
}
|
|
36
|
+
if (Utils.isRoot()) {
|
|
37
|
+
Utils.titles('skel');
|
|
38
|
+
Xdg.skel(user, verbose);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
Utils.useRoot(this.id);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/tools/stat.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 { Command } from '@oclif/core';
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
export default class ToolsStat extends Command {
|
|
13
|
+
static description: string;
|
|
14
|
+
static examples: string[];
|
|
15
|
+
static flags: {
|
|
16
|
+
help: import("@oclif/core/interfaces").BooleanFlag<void>;
|
|
17
|
+
month: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
18
|
+
year: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
23
|
+
run(): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @param start
|
|
27
|
+
* @param end
|
|
28
|
+
* @param type
|
|
29
|
+
*/
|
|
30
|
+
show(start: string, end: string, type: string): Promise<void>;
|
|
31
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/tools/stat.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 { Command, Flags } from '@oclif/core';
|
|
9
|
+
import axios from 'axios';
|
|
10
|
+
import https from 'node:https';
|
|
11
|
+
import Utils from '../../classes/utils.js';
|
|
12
|
+
const agent = new https.Agent({
|
|
13
|
+
rejectUnauthorized: false
|
|
14
|
+
});
|
|
15
|
+
/**
|
|
16
|
+
*
|
|
17
|
+
*/
|
|
18
|
+
export default class ToolsStat extends Command {
|
|
19
|
+
static description = 'get statistics from sourceforge';
|
|
20
|
+
static examples = ['eggs tools stat', 'eggs tools stat --month', 'eggs tools stat --year'];
|
|
21
|
+
static flags = {
|
|
22
|
+
help: Flags.help({ char: 'h' }),
|
|
23
|
+
month: Flags.boolean({ char: 'm', description: 'current month' }),
|
|
24
|
+
year: Flags.boolean({ char: 'y', description: 'current year' })
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
*
|
|
28
|
+
*/
|
|
29
|
+
async run() {
|
|
30
|
+
const { args, flags } = await this.parse(ToolsStat);
|
|
31
|
+
Utils.titles(this.id + ' ' + this.argv);
|
|
32
|
+
const yesterday = new Date();
|
|
33
|
+
yesterday.setDate(yesterday.getDate() - 1);
|
|
34
|
+
// current date
|
|
35
|
+
// adjust 0 before single digit date
|
|
36
|
+
const day = ('0' + yesterday.getDate()).slice(-2);
|
|
37
|
+
// current month
|
|
38
|
+
const month = ('0' + (yesterday.getMonth() + 1)).slice(-2);
|
|
39
|
+
// current year
|
|
40
|
+
const year = yesterday.getFullYear();
|
|
41
|
+
const end = year + '-' + month + '-' + day;
|
|
42
|
+
let start = year + '-' + month + '-' + day;
|
|
43
|
+
if (flags.month) {
|
|
44
|
+
start = year + '-' + month + '-01';
|
|
45
|
+
}
|
|
46
|
+
if (flags.year) {
|
|
47
|
+
start = year + '-01-01';
|
|
48
|
+
}
|
|
49
|
+
this.log('start: ' + start + ', end: ' + end + '\n');
|
|
50
|
+
await this.show(start, end, 'Packages/DEBS');
|
|
51
|
+
console.log();
|
|
52
|
+
await this.show(start, end, 'ISOS');
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
* @param start
|
|
57
|
+
* @param end
|
|
58
|
+
* @param type
|
|
59
|
+
*/
|
|
60
|
+
async show(start, end, type) {
|
|
61
|
+
let url = `https://sourceforge.net/projects/penguins-eggs/files/${type}/stats/json`;
|
|
62
|
+
const request = '?start_date=' + start + '&end_date=' + end;
|
|
63
|
+
url += request;
|
|
64
|
+
const res = await axios.get(url, { httpsAgent: agent });
|
|
65
|
+
console.log(type);
|
|
66
|
+
for (const country of res.data.countries) {
|
|
67
|
+
console.log('- ' + country[0] + ': ' + country[1]);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/tools/yolk.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 { Command } from '@oclif/core';
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
export default class ToolsYolk extends Command {
|
|
13
|
+
static description: string;
|
|
14
|
+
static dir: string;
|
|
15
|
+
static examples: string[];
|
|
16
|
+
static flags: {
|
|
17
|
+
help: import("@oclif/core/interfaces").BooleanFlag<void>;
|
|
18
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
23
|
+
run(): Promise<void>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/commands/tools/yolk.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 { Command, Flags } from '@oclif/core';
|
|
9
|
+
import fs from 'node:fs';
|
|
10
|
+
import shx from 'shelljs';
|
|
11
|
+
import Utils from '../../classes/utils.js';
|
|
12
|
+
import Yolk from '../../classes/yolk.js';
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
16
|
+
export default class ToolsYolk extends Command {
|
|
17
|
+
static description = 'configure eggs to install without internet';
|
|
18
|
+
static dir = '/var/local/yolk';
|
|
19
|
+
static examples = ['sudo eggs tools yolk'];
|
|
20
|
+
static flags = {
|
|
21
|
+
help: Flags.help({ char: 'h' }),
|
|
22
|
+
verbose: Flags.boolean({ char: 'v' })
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
*/
|
|
27
|
+
async run() {
|
|
28
|
+
Utils.titles(this.id + ' ' + this.argv);
|
|
29
|
+
const { flags } = await this.parse(ToolsYolk);
|
|
30
|
+
let verbose = false;
|
|
31
|
+
if (flags.verbose) {
|
|
32
|
+
verbose = true;
|
|
33
|
+
}
|
|
34
|
+
if (Utils.isRoot()) {
|
|
35
|
+
if (fs.existsSync(ToolsYolk.dir)) {
|
|
36
|
+
shx.exec(`rm ${ToolsYolk.dir} -rf `);
|
|
37
|
+
}
|
|
38
|
+
const yolk = new Yolk();
|
|
39
|
+
await yolk.create(verbose);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
Utils.useRoot(this.id);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|