penguins-eggs 10.0.57 → 10.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.oclif.manifest.json +100 -1
- package/README.md +84 -44
- package/addons/eggs/theme/calamares/modules/{_users.yml → users.yml} +3 -3
- package/addons/eggs/theme/livecd/grub.main.full.cfg +1 -7
- package/addons/eggs/theme/livecd/grub.main.simple.cfg +1 -1
- package/assets/config.cfg +30 -0
- package/conf/derivatives.yaml +1 -3
- package/conf/derivatives_fedora.yaml +6 -0
- package/conf/distros/alpine/calamares/modules/users.yml +3 -3
- package/conf/distros/bionic/calamares/calamares-modules/grubcfg/grubcfg.yml +1 -1
- package/conf/distros/bionic/calamares/modules/users.yml +3 -3
- package/conf/distros/buster/calamares/calamares-modules/cleanup/cleanup.sh +8 -1
- package/conf/distros/buster/calamares/modules/partition.yml +159 -23
- package/conf/distros/buster/calamares/modules/removeuser.yml +1 -1
- package/conf/distros/buster/calamares/modules/users.yml +3 -3
- package/conf/distros/fedora/calamares/modules/users.yml +3 -3
- package/conf/distros/noble/calamares/modules/focal-jammy/users.yml +3 -3
- package/conf/distros/opensuse/calamares/modules/users.yml +3 -3
- package/conf/distros/rolling/calamares/modules/users.yml +3 -3
- package/conf/eggs.yaml +1 -1
- package/conf/exclude.list.d/master.list +1 -0
- package/conf/krill.yaml +8 -0
- package/conf/love.yaml +4 -4
- package/package.json +33 -29
- package/perrisbrewery/scripts/postinst +98 -0
- package/perrisbrewery/scripts/postrm +82 -0
- package/perrisbrewery/scripts/preinst +40 -0
- package/perrisbrewery/scripts/prerm +47 -0
- package/perrisbrewery/template/control.template +17 -0
- package/perrisbrewery/template/dependencies-bionic.yaml +33 -0
- package/perrisbrewery/template/dependencies.yaml +37 -0
- package/perrisbrewery/template/man.template.md +110 -0
- package/pods/README.md +14 -0
- package/pods/almalinux.sh +10 -0
- package/pods/archlinux.sh +10 -0
- package/pods/ci/README.md +5 -0
- package/pods/ci/kernel-overlay-install.sh +114 -0
- package/pods/ci/minimal/almalinux-container2host.sh +165 -0
- package/pods/ci/minimal/archlinux-container2host.sh +125 -0
- package/pods/ci/minimal/debian-container2host.sh +173 -0
- package/pods/ci/minimal/fedora-container2host.sh +170 -0
- package/pods/ci/minimal/manjaro-container2host.sh +123 -0
- package/pods/ci/minimal/opensuse-container2host.sh +143 -0
- package/pods/ci/penguins-eggs-execute.sh +22 -0
- package/pods/ci/penguins-eggs-install.sh +115 -0
- package/pods/ci/run +34 -0
- package/pods/ci/run-on-almalinux.sh +50 -0
- package/pods/ci/run-on-archlinux.sh +64 -0
- package/pods/ci/run-on-debian.sh +51 -0
- package/pods/ci/run-on-devuan.sh +48 -0
- package/pods/ci/run-on-fedora.sh +51 -0
- package/pods/ci/run-on-manjaro.sh +61 -0
- package/pods/ci/run-on-opensuse.sh +58 -0
- package/pods/ci/run-on-rockylinux.sh +51 -0
- package/pods/ci/run-on-ubuntu.sh +52 -0
- package/pods/debian.sh +23 -0
- package/pods/devuan.sh +26 -0
- package/pods/fedora.sh +12 -0
- package/pods/lmde.sh +22 -0
- package/pods/manjaro.sh +10 -0
- package/pods/opensuse.sh +12 -0
- package/pods/podman.command.sh +85 -0
- package/pods/rocky.sh +12 -0
- package/pods/run-build-packages-debs.sh +45 -0
- package/pods/run-create-debs.sh +23 -0
- package/pods/ubuntu.sh +24 -0
- package/scripts/_eggs +23 -6
- package/scripts/eggs.bash +8 -6
- package/dist/classes/bleach.d.ts +0 -32
- package/dist/classes/bleach.js +0 -135
- package/dist/classes/cfs.d.ts +0 -17
- package/dist/classes/cfs.js +0 -39
- package/dist/classes/cli-autologin.d.ts +0 -52
- package/dist/classes/cli-autologin.js +0 -247
- package/dist/classes/compressors.d.ts +0 -54
- package/dist/classes/compressors.js +0 -109
- package/dist/classes/daddy.d.ts +0 -26
- package/dist/classes/daddy.js +0 -167
- package/dist/classes/distro.d.ts +0 -32
- package/dist/classes/distro.js +0 -341
- package/dist/classes/diversions.d.ts +0 -52
- package/dist/classes/diversions.js +0 -126
- package/dist/classes/incubation/branding.d.ts +0 -17
- package/dist/classes/incubation/branding.js +0 -85
- package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +0 -11
- package/dist/classes/incubation/fisherman-helper/displaymanager.js +0 -40
- package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
- package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
- package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
- package/dist/classes/incubation/fisherman-helper/settings.js +0 -83
- package/dist/classes/incubation/fisherman.d.ts +0 -70
- package/dist/classes/incubation/fisherman.js +0 -263
- package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/alpine.js +0 -78
- package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/bionic.js +0 -83
- package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/buster.js +0 -85
- package/dist/classes/incubation/incubator.d/jessie.d.ts +0 -31
- package/dist/classes/incubation/incubator.d/jessie.js +0 -44
- package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/noble.js +0 -85
- package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
- package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/opensuse.js +0 -81
- package/dist/classes/incubation/incubator.d/rolling.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/rolling.js +0 -80
- package/dist/classes/incubation/incubator.d.ts +0 -44
- package/dist/classes/incubation/incubator.js +0 -382
- package/dist/classes/incubation/installer.d.ts +0 -13
- package/dist/classes/incubation/installer.js +0 -52
- package/dist/classes/keyboards.d.ts +0 -50
- package/dist/classes/keyboards.js +0 -287
- package/dist/classes/locales.d.ts +0 -21
- package/dist/classes/locales.js +0 -77
- package/dist/classes/network.d.ts +0 -37
- package/dist/classes/network.js +0 -98
- package/dist/classes/ovary.d.ts +0 -198
- package/dist/classes/ovary.js +0 -1850
- package/dist/classes/pacman.d/aldos.d.ts +0 -52
- package/dist/classes/pacman.d/aldos.js +0 -100
- package/dist/classes/pacman.d/alpine.d.ts +0 -56
- package/dist/classes/pacman.d/alpine.js +0 -162
- package/dist/classes/pacman.d/archlinux.d.ts +0 -62
- package/dist/classes/pacman.d/archlinux.js +0 -139
- package/dist/classes/pacman.d/debian.d.ts +0 -65
- package/dist/classes/pacman.d/debian.js +0 -143
- package/dist/classes/pacman.d/fedora.d.ts +0 -53
- package/dist/classes/pacman.d/fedora.js +0 -101
- package/dist/classes/pacman.d/openmamba.d.ts +0 -52
- package/dist/classes/pacman.d/openmamba.js +0 -100
- package/dist/classes/pacman.d/opensuse.d.ts +0 -53
- package/dist/classes/pacman.d/opensuse.js +0 -102
- package/dist/classes/pacman.d/voidlinux.d.ts +0 -52
- package/dist/classes/pacman.d/voidlinux.js +0 -90
- package/dist/classes/pacman.d.ts +0 -139
- package/dist/classes/pacman.js +0 -775
- package/dist/classes/pve-live.d.ts +0 -17
- package/dist/classes/pve-live.js +0 -52
- package/dist/classes/pxe.d.ts +0 -74
- package/dist/classes/pxe.js +0 -410
- package/dist/classes/settings.d.ts +0 -53
- package/dist/classes/settings.js +0 -185
- package/dist/classes/sources_list.d.ts +0 -28
- package/dist/classes/sources_list.js +0 -89
- package/dist/classes/systemctl.d.ts +0 -47
- package/dist/classes/systemctl.js +0 -86
- package/dist/classes/tailor.d.ts +0 -50
- package/dist/classes/tailor.js +0 -526
- package/dist/classes/tools.d.ts +0 -26
- package/dist/classes/tools.js +0 -50
- package/dist/classes/users.d.ts +0 -28
- package/dist/classes/users.js +0 -143
- package/dist/classes/utils.d.ts +0 -326
- package/dist/classes/utils.js +0 -1025
- package/dist/classes/xdg.d.ts +0 -45
- package/dist/classes/xdg.js +0 -337
- package/dist/classes/yolk.d.ts +0 -33
- package/dist/classes/yolk.js +0 -114
- package/dist/commands/adapt.d.ts +0 -17
- package/dist/commands/adapt.js +0 -33
- package/dist/commands/analyze.d.ts +0 -26
- package/dist/commands/analyze.js +0 -95
- package/dist/commands/calamares.d.ts +0 -29
- package/dist/commands/calamares.js +0 -112
- package/dist/commands/config.d.ts +0 -35
- package/dist/commands/config.js +0 -120
- package/dist/commands/cuckoo.d.ts +0 -16
- package/dist/commands/cuckoo.js +0 -62
- package/dist/commands/dad.d.ts +0 -20
- package/dist/commands/dad.js +0 -46
- package/dist/commands/export/iso.d.ts +0 -19
- package/dist/commands/export/iso.js +0 -55
- package/dist/commands/export/pkg.d.ts +0 -29
- package/dist/commands/export/pkg.js +0 -163
- package/dist/commands/export/tarballs.d.ts +0 -27
- package/dist/commands/export/tarballs.js +0 -84
- package/dist/commands/install.d.ts +0 -37
- package/dist/commands/install.js +0 -88
- package/dist/commands/kill.d.ts +0 -24
- package/dist/commands/kill.js +0 -50
- package/dist/commands/love.d.ts +0 -20
- package/dist/commands/love.js +0 -59
- package/dist/commands/mom.d.ts +0 -16
- package/dist/commands/mom.js +0 -30
- package/dist/commands/produce.d.ts +0 -34
- package/dist/commands/produce.js +0 -201
- package/dist/commands/status.d.ts +0 -23
- package/dist/commands/status.js +0 -31
- package/dist/commands/syncfrom.d.ts +0 -45
- package/dist/commands/syncfrom.js +0 -152
- package/dist/commands/syncto.d.ts +0 -40
- package/dist/commands/syncto.js +0 -175
- package/dist/commands/tools/clean.d.ts +0 -18
- package/dist/commands/tools/clean.js +0 -37
- package/dist/commands/tools/ppa.d.ts +0 -26
- package/dist/commands/tools/ppa.js +0 -138
- package/dist/commands/tools/skel.d.ts +0 -18
- package/dist/commands/tools/skel.js +0 -44
- package/dist/commands/tools/stat.d.ts +0 -31
- package/dist/commands/tools/stat.js +0 -70
- package/dist/commands/tools/yolk.d.ts +0 -24
- package/dist/commands/tools/yolk.js +0 -45
- package/dist/commands/update.d.ts +0 -51
- package/dist/commands/update.js +0 -219
- package/dist/commands/wardrobe/get.d.ts +0 -23
- package/dist/commands/wardrobe/get.js +0 -52
- package/dist/commands/wardrobe/list.d.ts +0 -24
- package/dist/commands/wardrobe/list.js +0 -125
- package/dist/commands/wardrobe/show.d.ts +0 -25
- package/dist/commands/wardrobe/show.js +0 -97
- package/dist/commands/wardrobe/wear.d.ts +0 -26
- package/dist/commands/wardrobe/wear.js +0 -84
- package/dist/components/finished.d.ts +0 -16
- package/dist/components/finished.js +0 -56
- package/dist/components/information.d.ts +0 -8
- package/dist/components/information.js +0 -156
- package/dist/components/install.d.ts +0 -15
- package/dist/components/install.js +0 -60
- package/dist/components/keyboard.d.ts +0 -16
- package/dist/components/keyboard.js +0 -54
- package/dist/components/location.d.ts +0 -16
- package/dist/components/location.js +0 -59
- package/dist/components/network.d.ts +0 -19
- package/dist/components/network.js +0 -65
- package/dist/components/partitions.d.ts +0 -16
- package/dist/components/partitions.js +0 -73
- package/dist/components/steps.d.ts +0 -13
- package/dist/components/steps.js +0 -148
- package/dist/components/summary.d.ts +0 -24
- package/dist/components/summary.js +0 -81
- package/dist/components/title.d.ts +0 -11
- package/dist/components/title.js +0 -35
- package/dist/components/users.d.ts +0 -24
- package/dist/components/users.js +0 -80
- package/dist/components/welcome.d.ts +0 -13
- package/dist/components/welcome.js +0 -63
- package/dist/index-old.d.ts +0 -8
- package/dist/index-old.js +0 -8
- package/dist/index.d.ts +0 -54
- package/dist/index.js +0 -147
- package/dist/interfaces/i-addons.d.ts +0 -12
- package/dist/interfaces/i-addons.js +0 -8
- package/dist/interfaces/i-analyze.d.ts +0 -17
- package/dist/interfaces/i-analyze.js +0 -17
- package/dist/interfaces/i-app.d.ts +0 -14
- package/dist/interfaces/i-app.js +0 -8
- package/dist/interfaces/i-branding.d.ts +0 -36
- package/dist/interfaces/i-branding.js +0 -8
- package/dist/interfaces/i-calamares-displaymanager.d.ts +0 -17
- package/dist/interfaces/i-calamares-displaymanager.js +0 -1
- package/dist/interfaces/i-calamares-finished.d.ts +0 -12
- package/dist/interfaces/i-calamares-finished.js +0 -1
- package/dist/interfaces/i-calamares-packages.d.ts +0 -28
- package/dist/interfaces/i-calamares-packages.js +0 -1
- package/dist/interfaces/i-calamares-partition.d.ts +0 -40
- package/dist/interfaces/i-calamares-partition.js +0 -1
- package/dist/interfaces/i-config-tools.d.ts +0 -15
- package/dist/interfaces/i-config-tools.js +0 -8
- package/dist/interfaces/i-devices.d.ts +0 -20
- package/dist/interfaces/i-devices.js +0 -8
- package/dist/interfaces/i-distro.d.ts +0 -23
- package/dist/interfaces/i-distro.js +0 -8
- package/dist/interfaces/i-drive-list.d.ts +0 -33
- package/dist/interfaces/i-drive-list.js +0 -8
- package/dist/interfaces/i-eggs-config.d.ts +0 -32
- package/dist/interfaces/i-eggs-config.js +0 -8
- package/dist/interfaces/i-excludes.d.ts +0 -14
- package/dist/interfaces/i-excludes.js +0 -8
- package/dist/interfaces/i-exec.d.ts +0 -11
- package/dist/interfaces/i-exec.js +0 -8
- package/dist/interfaces/i-initrd.d.ts +0 -13
- package/dist/interfaces/i-initrd.js +0 -8
- package/dist/interfaces/i-install.d.ts +0 -16
- package/dist/interfaces/i-install.js +0 -8
- package/dist/interfaces/i-installer.d.ts +0 -17
- package/dist/interfaces/i-installer.js +0 -8
- package/dist/interfaces/i-krill-config.d.ts +0 -33
- package/dist/interfaces/i-krill-config.js +0 -8
- package/dist/interfaces/i-krill.d.ts +0 -42
- package/dist/interfaces/i-krill.js +0 -8
- package/dist/interfaces/i-materia.d.ts +0 -36
- package/dist/interfaces/i-materia.js +0 -8
- package/dist/interfaces/i-net.d.ts +0 -16
- package/dist/interfaces/i-net.js +0 -8
- package/dist/interfaces/i-os-release.d.ts +0 -5
- package/dist/interfaces/i-os-release.js +0 -1
- package/dist/interfaces/i-packages.d.ts +0 -16
- package/dist/interfaces/i-packages.js +0 -8
- package/dist/interfaces/i-partitions.d.ts +0 -16
- package/dist/interfaces/i-partitions.js +0 -8
- package/dist/interfaces/i-pxe.d.ts +0 -45
- package/dist/interfaces/i-pxe.js +0 -1
- package/dist/interfaces/i-remix.d.ts +0 -21
- package/dist/interfaces/i-remix.js +0 -8
- package/dist/interfaces/i-settings.d.ts +0 -33
- package/dist/interfaces/i-settings.js +0 -8
- package/dist/interfaces/i-user.d.ts +0 -14
- package/dist/interfaces/i-user.js +0 -8
- package/dist/interfaces/i-workdir.d.ts +0 -14
- package/dist/interfaces/i-workdir.js +0 -8
- package/dist/interfaces/i-xkb-model.d.ts +0 -24
- package/dist/interfaces/i-xkb-model.js +0 -8
- package/dist/interfaces/index.d.ts +0 -25
- package/dist/interfaces/index.js +0 -8
- package/dist/krill/modules/add-user.d.ts +0 -20
- package/dist/krill/modules/add-user.js +0 -48
- package/dist/krill/modules/bootloader-config.d.ts +0 -14
- package/dist/krill/modules/bootloader-config.js +0 -165
- package/dist/krill/modules/bootloader.d.ts +0 -14
- package/dist/krill/modules/bootloader.js +0 -95
- package/dist/krill/modules/change-password.d.ts +0 -15
- package/dist/krill/modules/change-password.js +0 -18
- package/dist/krill/modules/del-live-user.d.ts +0 -14
- package/dist/krill/modules/del-live-user.js +0 -39
- package/dist/krill/modules/fstab.d.ts +0 -14
- package/dist/krill/modules/fstab.js +0 -128
- package/dist/krill/modules/grubcfg.d.ts +0 -17
- package/dist/krill/modules/grubcfg.js +0 -29
- package/dist/krill/modules/hostname.d.ts +0 -13
- package/dist/krill/modules/hostname.js +0 -50
- package/dist/krill/modules/initramfs-cfg.d.ts +0 -14
- package/dist/krill/modules/initramfs-cfg.js +0 -22
- package/dist/krill/modules/initramfs.d.ts +0 -13
- package/dist/krill/modules/initramfs.js +0 -54
- package/dist/krill/modules/locale-cfg.d.ts +0 -10
- package/dist/krill/modules/locale-cfg.js +0 -58
- package/dist/krill/modules/locale.d.ts +0 -13
- package/dist/krill/modules/locale.js +0 -91
- package/dist/krill/modules/m-keyboard.d.ts +0 -14
- package/dist/krill/modules/m-keyboard.js +0 -58
- package/dist/krill/modules/machine-id.d.ts +0 -15
- package/dist/krill/modules/machine-id.js +0 -33
- package/dist/krill/modules/mkfs.d.ts +0 -15
- package/dist/krill/modules/mkfs.js +0 -50
- package/dist/krill/modules/mount-fs.d.ts +0 -17
- package/dist/krill/modules/mount-fs.js +0 -62
- package/dist/krill/modules/mount-vfs.d.ts +0 -17
- package/dist/krill/modules/mount-vfs.js +0 -40
- package/dist/krill/modules/network-cfg.d.ts +0 -19
- package/dist/krill/modules/network-cfg.js +0 -64
- package/dist/krill/modules/packages.d.ts +0 -14
- package/dist/krill/modules/packages.js +0 -111
- package/dist/krill/modules/partition.d.ts +0 -20
- package/dist/krill/modules/partition.js +0 -345
- package/dist/krill/modules/remove-installer-link.d.ts +0 -13
- package/dist/krill/modules/remove-installer-link.js +0 -35
- package/dist/krill/modules/umount.d.ts +0 -14
- package/dist/krill/modules/umount.js +0 -28
- package/dist/krill/modules/unpackfs.d.ts +0 -13
- package/dist/krill/modules/unpackfs.js +0 -20
- package/dist/krill/prepare.d.ts +0 -78
- package/dist/krill/prepare.js +0 -626
- package/dist/krill/sequence.d.ts +0 -154
- package/dist/krill/sequence.js +0 -652
- package/dist/lib/get_address.d.ts +0 -8
- package/dist/lib/get_address.js +0 -23
- package/dist/lib/get_dns.d.ts +0 -8
- package/dist/lib/get_dns.js +0 -23
- package/dist/lib/get_domain.d.ts +0 -8
- package/dist/lib/get_domain.js +0 -23
- package/dist/lib/get_gateway.d.ts +0 -8
- package/dist/lib/get_gateway.js +0 -23
- package/dist/lib/get_hostname.d.ts +0 -8
- package/dist/lib/get_hostname.js +0 -23
- package/dist/lib/get_netmask.d.ts +0 -8
- package/dist/lib/get_netmask.js +0 -23
- package/dist/lib/get_password.d.ts +0 -8
- package/dist/lib/get_password.js +0 -36
- package/dist/lib/get_userfullname.d.ts +0 -8
- package/dist/lib/get_userfullname.js +0 -23
- package/dist/lib/get_username.d.ts +0 -8
- package/dist/lib/get_username.js +0 -23
- package/dist/lib/kill_me_softly.d.ts +0 -11
- package/dist/lib/kill_me_softly.js +0 -61
- package/dist/lib/select_address_type.d.ts +0 -8
- package/dist/lib/select_address_type.js +0 -24
- package/dist/lib/select_filesystem_type.d.ts +0 -8
- package/dist/lib/select_filesystem_type.js +0 -46
- package/dist/lib/select_installation_device.d.ts +0 -8
- package/dist/lib/select_installation_device.js +0 -34
- package/dist/lib/select_installation_mode.d.ts +0 -8
- package/dist/lib/select_installation_mode.js +0 -24
- package/dist/lib/select_interface.d.ts +0 -8
- package/dist/lib/select_interface.js +0 -24
- package/dist/lib/select_keyboard_layout.d.ts +0 -11
- package/dist/lib/select_keyboard_layout.js +0 -36
- package/dist/lib/select_keyboard_model.d.ts +0 -11
- package/dist/lib/select_keyboard_model.js +0 -34
- package/dist/lib/select_keyboard_option.d.ts +0 -11
- package/dist/lib/select_keyboard_option.js +0 -34
- package/dist/lib/select_keyboard_variant.d.ts +0 -11
- package/dist/lib/select_keyboard_variant.js +0 -35
- package/dist/lib/select_languages.d.ts +0 -8
- package/dist/lib/select_languages.js +0 -28
- package/dist/lib/select_regions.d.ts +0 -8
- package/dist/lib/select_regions.js +0 -24
- package/dist/lib/select_user_swap_choice.d.ts +0 -8
- package/dist/lib/select_user_swap_choice.js +0 -34
- package/dist/lib/select_zones.d.ts +0 -8
- package/dist/lib/select_zones.js +0 -518
- package/dist/lib/utils.d.ts +0 -34
- package/dist/lib/utils.js +0 -79
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/commands/export/deb.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
*/
|
|
8
|
-
import { Command, Flags } from '@oclif/core';
|
|
9
|
-
import Distro from '../../classes/distro.js';
|
|
10
|
-
import Diversions from '../../classes/diversions.js';
|
|
11
|
-
import Tools from '../../classes/tools.js';
|
|
12
|
-
import Utils from '../../classes/utils.js';
|
|
13
|
-
import { exec } from '../../lib/utils.js';
|
|
14
|
-
import os from 'node:os';
|
|
15
|
-
import { execSync } from 'node:child_process';
|
|
16
|
-
export default class ExportPkg extends Command {
|
|
17
|
-
static description = 'export pkg/iso to the destination host';
|
|
18
|
-
static examples = ['eggs export pkg', 'eggs export pkg --clean', 'eggs export pkg --all'];
|
|
19
|
-
static flags = {
|
|
20
|
-
all: Flags.boolean({ char: 'a', description: 'export all archs' }),
|
|
21
|
-
clean: Flags.boolean({ char: 'c', description: 'remove old .deb before to copy' }),
|
|
22
|
-
help: Flags.help({ char: 'h' }),
|
|
23
|
-
verbose: Flags.boolean({ char: 'v', description: 'verbose' })
|
|
24
|
-
};
|
|
25
|
-
user = '';
|
|
26
|
-
all = false;
|
|
27
|
-
clean = false;
|
|
28
|
-
verbose = false;
|
|
29
|
-
echo = {};
|
|
30
|
-
Tu = new Tools();
|
|
31
|
-
/**
|
|
32
|
-
*
|
|
33
|
-
*/
|
|
34
|
-
async run() {
|
|
35
|
-
const { args, flags } = await this.parse(ExportPkg);
|
|
36
|
-
Utils.titles(this.id + ' ' + this.argv);
|
|
37
|
-
Utils.warning(ExportPkg.description);
|
|
38
|
-
// Ora servono in più parti
|
|
39
|
-
this.user = os.userInfo().username;
|
|
40
|
-
if (this.user === 'root') {
|
|
41
|
-
this.user = execSync('echo $SUDO_USER', { encoding: 'utf-8' }).trim();
|
|
42
|
-
if (this.user === '') {
|
|
43
|
-
this.user = execSync('echo $DOAS_USER', { encoding: 'utf-8' }).trim();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
this.all = flags.all;
|
|
47
|
-
this.clean = flags.clean;
|
|
48
|
-
this.verbose = flags.verbose;
|
|
49
|
-
this.echo = Utils.setEcho(this.verbose);
|
|
50
|
-
await this.Tu.loadSettings();
|
|
51
|
-
let distro = new Distro();
|
|
52
|
-
const familyId = distro.familyId;
|
|
53
|
-
const distroId = distro.distroId;
|
|
54
|
-
const remoteMountpoint = `/tmp/eggs-${(Math.random() + 1).toString(36).slice(7)}`;
|
|
55
|
-
let localPath = '';
|
|
56
|
-
let remotePath = '';
|
|
57
|
-
let filter = '';
|
|
58
|
-
/**
|
|
59
|
-
* aldos
|
|
60
|
-
*/
|
|
61
|
-
if (familyId === 'aldos') {
|
|
62
|
-
Utils.warning("aldos rpm");
|
|
63
|
-
process.exit();
|
|
64
|
-
/**
|
|
65
|
-
* alpine
|
|
66
|
-
*/
|
|
67
|
-
}
|
|
68
|
-
else if (familyId === 'alpine') {
|
|
69
|
-
Utils.warning("alpine apk");
|
|
70
|
-
let arch = 'x86_64';
|
|
71
|
-
if (process.arch === 'ia32') {
|
|
72
|
-
arch = 'i386';
|
|
73
|
-
}
|
|
74
|
-
localPath = `/home/${this.user}/packages/alpine/${arch}`;
|
|
75
|
-
remotePath = `${this.Tu.config.remotePathPackages}/alpine/`;
|
|
76
|
-
filter = `penguins-eggs*10.?.*-r*.apk`;
|
|
77
|
-
/**
|
|
78
|
-
* Arch/Manjaro
|
|
79
|
-
*/
|
|
80
|
-
}
|
|
81
|
-
else if (familyId === 'archlinux') {
|
|
82
|
-
/**
|
|
83
|
-
* Manjaro
|
|
84
|
-
*/
|
|
85
|
-
if (Diversions.isManjaroBased(distroId)) {
|
|
86
|
-
Utils.warning("manjaro PKGBUILD");
|
|
87
|
-
localPath = `/home/${this.user}/penguins-packs/manjaro/penguins-eggs`;
|
|
88
|
-
remotePath = this.Tu.config.remotePathPackages + "/manjaro";
|
|
89
|
-
filter = `penguins-eggs-10.?.*-?-any.pkg.tar.*`;
|
|
90
|
-
/**
|
|
91
|
-
* Arch
|
|
92
|
-
*/
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
Utils.warning("aur PKGBUILD");
|
|
96
|
-
localPath = `/home/${this.user}/penguins-packs/aur/penguins-eggs`;
|
|
97
|
-
remotePath = this.Tu.config.remotePathPackages + "/aur";
|
|
98
|
-
filter = `penguins-eggs-10.?.*-?-any.pkg.tar.zst`;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Debian
|
|
102
|
-
*/
|
|
103
|
-
}
|
|
104
|
-
else if (familyId === "debian") {
|
|
105
|
-
Utils.warning("debian deb");
|
|
106
|
-
localPath = `/home/${this.user}/penguins-eggs/perrisbrewery/workdir`;
|
|
107
|
-
remotePath = this.Tu.config.remotePathPackages + "/debs";
|
|
108
|
-
let arch = Utils.uefiArch();
|
|
109
|
-
if (this.all) {
|
|
110
|
-
arch = '*';
|
|
111
|
-
}
|
|
112
|
-
filter = `penguins-eggs_10.?.*-?_${arch}.deb`;
|
|
113
|
-
/**
|
|
114
|
-
* fedora
|
|
115
|
-
*/
|
|
116
|
-
}
|
|
117
|
-
else if (familyId === 'fedora') {
|
|
118
|
-
Utils.warning("fedora rpm packages");
|
|
119
|
-
localPath = `/home/${this.user}/rpmbuild/RPMS/x86_64`;
|
|
120
|
-
remotePath = this.Tu.config.remotePathPackages + "/fedora";
|
|
121
|
-
filter = `penguins-eggs-10.?.*-?fedora.*.rpm`;
|
|
122
|
-
/**
|
|
123
|
-
* openmamba
|
|
124
|
-
*/
|
|
125
|
-
}
|
|
126
|
-
else if (familyId === 'openmamba') {
|
|
127
|
-
Utils.warning("openmamba rpm packages");
|
|
128
|
-
localPath = `/usr/src/RPM/RPMS/x86_64`;
|
|
129
|
-
remotePath = this.Tu.config.remotePathPackages + "/openmamba";
|
|
130
|
-
filter = `penguins-eggs-10.?.*-?mamba.*.rpm`;
|
|
131
|
-
/**
|
|
132
|
-
* opensuse
|
|
133
|
-
*/
|
|
134
|
-
}
|
|
135
|
-
else if (familyId === 'opensuse') {
|
|
136
|
-
Utils.warning("opensuse rpm packages");
|
|
137
|
-
process.exit();
|
|
138
|
-
/**
|
|
139
|
-
* voidlinux
|
|
140
|
-
*/
|
|
141
|
-
}
|
|
142
|
-
else if (familyId === 'voidlinux') {
|
|
143
|
-
Utils.warning("voidlinux packages");
|
|
144
|
-
process.exit();
|
|
145
|
-
}
|
|
146
|
-
let cmd = `mkdir ${remoteMountpoint}\n`;
|
|
147
|
-
cmd += `sshfs ${this.Tu.config.remoteUser}@${this.Tu.config.remoteHost}:${remotePath} ${remoteMountpoint}\n`;
|
|
148
|
-
if (this.clean) {
|
|
149
|
-
cmd += `rm -f ${remoteMountpoint}/${filter}\n`;
|
|
150
|
-
}
|
|
151
|
-
cmd += `cp ${localPath}/${filter} ${remoteMountpoint}\n`;
|
|
152
|
-
cmd += 'sync\n';
|
|
153
|
-
cmd += `umount ${remoteMountpoint}\n`;
|
|
154
|
-
cmd += `rm -rf ${remoteMountpoint}\n`;
|
|
155
|
-
if (!this.verbose) {
|
|
156
|
-
if (this.clean) {
|
|
157
|
-
console.log(`remove: ${this.Tu.config.remoteUser}@${this.Tu.config.remoteHost}:${filter}`);
|
|
158
|
-
}
|
|
159
|
-
console.log(`copy: ${localPath}/${filter} to ${this.Tu.config.remoteUser}@${this.Tu.config.remoteHost}:${remotePath}`);
|
|
160
|
-
}
|
|
161
|
-
await exec(cmd, this.echo);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/commands/export/deb.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
*/
|
|
8
|
-
import { Command } from '@oclif/core';
|
|
9
|
-
import Tools from '../../classes/tools.js';
|
|
10
|
-
export default class ExportTarballs extends Command {
|
|
11
|
-
static description: string;
|
|
12
|
-
static examples: string[];
|
|
13
|
-
static flags: {
|
|
14
|
-
clean: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
|
-
help: import("@oclif/core/interfaces").BooleanFlag<void>;
|
|
16
|
-
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
|
-
};
|
|
18
|
-
user: string;
|
|
19
|
-
clean: boolean;
|
|
20
|
-
verbose: boolean;
|
|
21
|
-
echo: {};
|
|
22
|
-
Tu: Tools;
|
|
23
|
-
/**
|
|
24
|
-
*
|
|
25
|
-
*/
|
|
26
|
-
run(): Promise<void>;
|
|
27
|
-
}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/commands/export/deb.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
*/
|
|
8
|
-
import { Command, Flags } from '@oclif/core';
|
|
9
|
-
import Tools from '../../classes/tools.js';
|
|
10
|
-
import Utils from '../../classes/utils.js';
|
|
11
|
-
import { exec } from '../../lib/utils.js';
|
|
12
|
-
import os from 'node:os';
|
|
13
|
-
import fs from 'fs';
|
|
14
|
-
// pjson
|
|
15
|
-
import { createRequire } from 'module';
|
|
16
|
-
const require = createRequire(import.meta.url);
|
|
17
|
-
const pjson = require('../../../package.json');
|
|
18
|
-
import { execSync } from 'node:child_process';
|
|
19
|
-
export default class ExportTarballs extends Command {
|
|
20
|
-
static description = 'export pkg/iso/tarballs to the destination host';
|
|
21
|
-
static examples = ['eggs export tarballs', 'eggs export tarballs --clean'];
|
|
22
|
-
static flags = {
|
|
23
|
-
clean: Flags.boolean({ char: 'c', description: 'remove old .deb before to copy' }),
|
|
24
|
-
help: Flags.help({ char: 'h' }),
|
|
25
|
-
verbose: Flags.boolean({ char: 'v', description: 'verbose' })
|
|
26
|
-
};
|
|
27
|
-
user = '';
|
|
28
|
-
clean = false;
|
|
29
|
-
verbose = false;
|
|
30
|
-
echo = {};
|
|
31
|
-
Tu = new Tools();
|
|
32
|
-
/**
|
|
33
|
-
*
|
|
34
|
-
*/
|
|
35
|
-
async run() {
|
|
36
|
-
const { args, flags } = await this.parse(ExportTarballs);
|
|
37
|
-
Utils.titles(this.id + ' ' + this.argv);
|
|
38
|
-
Utils.warning(ExportTarballs.description);
|
|
39
|
-
// Ora servono in più parti
|
|
40
|
-
this.user = os.userInfo().username;
|
|
41
|
-
if (this.user === 'root') {
|
|
42
|
-
this.user = execSync('echo $SUDO_USER', { encoding: 'utf-8' }).trim();
|
|
43
|
-
if (this.user === '') {
|
|
44
|
-
this.user = execSync('echo $DOAS_USER', { encoding: 'utf-8' }).trim();
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
this.clean = flags.clean;
|
|
48
|
-
this.verbose = flags.verbose;
|
|
49
|
-
this.echo = Utils.setEcho(this.verbose);
|
|
50
|
-
await this.Tu.loadSettings();
|
|
51
|
-
const remoteMountpoint = `/tmp/eggs-${(Math.random() + 1).toString(36).slice(7)}`;
|
|
52
|
-
const localPath = `/home/${this.user}/penguins-eggs/dist/`;
|
|
53
|
-
const remotePath = `${this.Tu.config.remotePathPackages}/tarballs/`;
|
|
54
|
-
const filter = `eggs-v10.?.*-*-linux-x64.tar.gz`;
|
|
55
|
-
const tarName = `penguins-eggs-tarball-${pjson.version}-1-linux-x64.tar.gz`;
|
|
56
|
-
// remove old tarball
|
|
57
|
-
let cmd = `rm -f ${localPath}${tarName}`;
|
|
58
|
-
await exec(cmd, this.echo);
|
|
59
|
-
// rename new tarball
|
|
60
|
-
cmd = `mv ${localPath}${filter} ${localPath}${tarName}`;
|
|
61
|
-
await exec(cmd, this.echo);
|
|
62
|
-
// check if new tarball exists
|
|
63
|
-
if (!fs.existsSync(`${localPath}${tarName}`)) {
|
|
64
|
-
console.log(`No ${tarName} exists!`);
|
|
65
|
-
console.log(`Create it using: pnpm tarballs`);
|
|
66
|
-
process.exit(1);
|
|
67
|
-
}
|
|
68
|
-
cmd = `mkdir ${remoteMountpoint}\n`;
|
|
69
|
-
cmd += `sshfs ${this.Tu.config.remoteUser}@${this.Tu.config.remoteHost}:${remotePath} ${remoteMountpoint}\n`;
|
|
70
|
-
if (this.clean) {
|
|
71
|
-
cmd += `rm -f ${remoteMountpoint}/penguins-eggs-tarball*\n`;
|
|
72
|
-
}
|
|
73
|
-
cmd += `cp ${localPath}${tarName} ${remoteMountpoint}/${tarName}\n`;
|
|
74
|
-
cmd += 'sync\n';
|
|
75
|
-
cmd += `umount ${remoteMountpoint}\n`;
|
|
76
|
-
cmd += `rm -rf ${remoteMountpoint}\n`;
|
|
77
|
-
if (!this.verbose) {
|
|
78
|
-
if (this.clean) {
|
|
79
|
-
console.log(`remove: ${this.Tu.config.remoteUser}@${this.Tu.config.remoteHost}:${remotePath}/penguins-eggs-tarball*`);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
await exec(cmd, this.echo);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/commands/install.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
*/
|
|
8
|
-
import { Command } from '@oclif/core';
|
|
9
|
-
/**
|
|
10
|
-
* Class Krill
|
|
11
|
-
*/
|
|
12
|
-
export default class Install extends Command {
|
|
13
|
-
static aliases: string[];
|
|
14
|
-
static description: string;
|
|
15
|
-
static examples: string[];
|
|
16
|
-
static flags: {
|
|
17
|
-
btrfs: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
18
|
-
chroot: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
19
|
-
crypted: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
20
|
-
domain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
-
halt: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
22
|
-
help: import("@oclif/core/interfaces").BooleanFlag<void>;
|
|
23
|
-
ip: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
24
|
-
nointeractive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
25
|
-
none: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
26
|
-
pve: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
27
|
-
random: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
28
|
-
small: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
29
|
-
suspend: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
30
|
-
unattended: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
31
|
-
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
32
|
-
};
|
|
33
|
-
/**
|
|
34
|
-
* Execute
|
|
35
|
-
*/
|
|
36
|
-
run(): Promise<void>;
|
|
37
|
-
}
|
package/dist/commands/install.js
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/commands/install.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
*/
|
|
8
|
-
import { Command, Flags } from '@oclif/core';
|
|
9
|
-
import yaml from 'js-yaml';
|
|
10
|
-
import fs from 'node:fs';
|
|
11
|
-
import https from 'node:https';
|
|
12
|
-
import Utils from '../classes/utils.js';
|
|
13
|
-
import Krill from '../krill/prepare.js';
|
|
14
|
-
const agent = new https.Agent({
|
|
15
|
-
rejectUnauthorized: false
|
|
16
|
-
});
|
|
17
|
-
/**
|
|
18
|
-
* Class Krill
|
|
19
|
-
*/
|
|
20
|
-
export default class Install extends Command {
|
|
21
|
-
static aliases = ['krill'];
|
|
22
|
-
static description = 'krill: the CLI system installer - the egg became a penguin!';
|
|
23
|
-
static examples = ['sudo eggs install', 'sudo eggs install --unattended --halt', 'sudo eggs install --chroot'];
|
|
24
|
-
static flags = {
|
|
25
|
-
btrfs: Flags.boolean({ char: 'b', description: 'Format btrfs' }),
|
|
26
|
-
chroot: Flags.boolean({ char: 'c', description: 'chroot before to end' }),
|
|
27
|
-
crypted: Flags.boolean({ char: 'k', description: 'Crypted CLI installation' }),
|
|
28
|
-
domain: Flags.string({ char: 'd', description: 'Domain name, defult: .local' }),
|
|
29
|
-
halt: Flags.boolean({ char: 'H', description: 'Halt the system after installation' }),
|
|
30
|
-
help: Flags.help({ char: 'h' }),
|
|
31
|
-
ip: Flags.boolean({ char: 'i', description: 'hostname as ip, eg: ip-192-168-1-33' }),
|
|
32
|
-
nointeractive: Flags.boolean({ char: 'n', description: 'no user interaction' }),
|
|
33
|
-
none: Flags.boolean({ char: 'N', description: 'Swap none: 256M' }),
|
|
34
|
-
pve: Flags.boolean({ char: 'p', description: 'Proxmox VE install' }),
|
|
35
|
-
random: Flags.boolean({ char: 'r', description: 'Add random to hostname, eg: colibri-ay412dt' }),
|
|
36
|
-
small: Flags.boolean({ char: 's', description: 'Swap small: RAM' }),
|
|
37
|
-
suspend: Flags.boolean({ char: 'S', description: 'Swap suspend: RAM x 2' }),
|
|
38
|
-
unattended: Flags.boolean({ char: 'u', description: 'Unattended installation' }),
|
|
39
|
-
verbose: Flags.boolean({ char: 'v', description: 'Verbose' })
|
|
40
|
-
};
|
|
41
|
-
/**
|
|
42
|
-
* Execute
|
|
43
|
-
*/
|
|
44
|
-
async run() {
|
|
45
|
-
Utils.titles(this.id + ' ' + this.argv);
|
|
46
|
-
const { flags } = await this.parse(Install);
|
|
47
|
-
const { unattended } = flags;
|
|
48
|
-
// krillConfig
|
|
49
|
-
let krillConfig = {};
|
|
50
|
-
const content = fs.readFileSync('/etc/penguins-eggs.d/krill.yaml', 'utf8');
|
|
51
|
-
krillConfig = yaml.load(content);
|
|
52
|
-
// nointeractive
|
|
53
|
-
const { nointeractive } = flags;
|
|
54
|
-
// halt
|
|
55
|
-
const { halt } = flags;
|
|
56
|
-
// hostname
|
|
57
|
-
const { ip } = flags;
|
|
58
|
-
const { random } = flags;
|
|
59
|
-
// chroot before to end
|
|
60
|
-
const { chroot } = flags;
|
|
61
|
-
let domain = '';
|
|
62
|
-
if (flags.domain) {
|
|
63
|
-
domain = flags.domain;
|
|
64
|
-
}
|
|
65
|
-
// swap
|
|
66
|
-
const { suspend } = flags;
|
|
67
|
-
const { small } = flags;
|
|
68
|
-
const { none } = flags;
|
|
69
|
-
let { crypted } = flags;
|
|
70
|
-
const { pve } = flags;
|
|
71
|
-
if (pve) {
|
|
72
|
-
crypted = false;
|
|
73
|
-
}
|
|
74
|
-
const { verbose } = flags;
|
|
75
|
-
if (Utils.isRoot()) {
|
|
76
|
-
if (Utils.isLive()) {
|
|
77
|
-
const krill = new Krill(unattended, nointeractive, halt, chroot);
|
|
78
|
-
await krill.prepare(krillConfig, ip, random, domain, suspend, small, none, crypted, pve, flags.btrfs, verbose);
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
Utils.warning('You are in an installed system!');
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
Utils.useRoot(this.id);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
package/dist/commands/kill.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/commands/kill.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
*/
|
|
8
|
-
import { Command } from '@oclif/core';
|
|
9
|
-
/**
|
|
10
|
-
*
|
|
11
|
-
*/
|
|
12
|
-
export default class Kill extends Command {
|
|
13
|
-
static description: string;
|
|
14
|
-
static examples: string[];
|
|
15
|
-
static flags: {
|
|
16
|
-
help: import("@oclif/core/interfaces").BooleanFlag<void>;
|
|
17
|
-
isos: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
18
|
-
nointeractive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
19
|
-
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
20
|
-
};
|
|
21
|
-
config_file: string;
|
|
22
|
-
snapshot_dir: string;
|
|
23
|
-
run(): Promise<void>;
|
|
24
|
-
}
|
package/dist/commands/kill.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/commands/kill.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
*/
|
|
8
|
-
import { Command, Flags } from '@oclif/core';
|
|
9
|
-
import Settings from '../classes/settings.js';
|
|
10
|
-
import Utils from '../classes/utils.js';
|
|
11
|
-
import killMeSoftly from '../lib/kill_me_softly.js';
|
|
12
|
-
/**
|
|
13
|
-
*
|
|
14
|
-
*/
|
|
15
|
-
export default class Kill extends Command {
|
|
16
|
-
static description = 'kill the eggs/free the nest';
|
|
17
|
-
static examples = ['sudo eggs kill'];
|
|
18
|
-
static flags = {
|
|
19
|
-
help: Flags.help({ char: 'h' }),
|
|
20
|
-
isos: Flags.boolean({ char: 'i', description: 'erase all ISOs on remote mount' }),
|
|
21
|
-
nointeractive: Flags.boolean({ char: 'n', description: 'no user interaction' }),
|
|
22
|
-
verbose: Flags.boolean({ char: 'v', description: 'verbose' })
|
|
23
|
-
};
|
|
24
|
-
config_file = '/etc/penguins-eggs.d/eggs.yaml';
|
|
25
|
-
snapshot_dir = '';
|
|
26
|
-
async run() {
|
|
27
|
-
Utils.titles(this.id + ' ' + this.argv);
|
|
28
|
-
const { flags } = await this.parse(Kill);
|
|
29
|
-
const { verbose } = flags;
|
|
30
|
-
const { isos } = flags;
|
|
31
|
-
const { nointeractive } = flags;
|
|
32
|
-
const echo = Utils.setEcho(verbose);
|
|
33
|
-
if (Utils.isRoot()) {
|
|
34
|
-
const settings = new Settings();
|
|
35
|
-
await settings.load();
|
|
36
|
-
await settings.listFreeSpace();
|
|
37
|
-
if (Utils.isMountpoint(settings.config.snapshot_mnt)) {
|
|
38
|
-
console.log('==========================================');
|
|
39
|
-
Utils.warning('You are working on a mountpoint');
|
|
40
|
-
console.log('==========================================');
|
|
41
|
-
}
|
|
42
|
-
if (nointeractive || (await Utils.customConfirm())) {
|
|
43
|
-
await killMeSoftly(settings.config.snapshot_dir, settings.config.snapshot_mnt, isos);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
Utils.useRoot(this.id);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
package/dist/commands/love.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/commands/adapt.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
*/
|
|
8
|
-
import { Command } from '@oclif/core';
|
|
9
|
-
/**
|
|
10
|
-
*
|
|
11
|
-
*/
|
|
12
|
-
export default class Love extends Command {
|
|
13
|
-
static description: string;
|
|
14
|
-
static examples: string[];
|
|
15
|
-
static flags: {
|
|
16
|
-
help: import("@oclif/core/interfaces").BooleanFlag<void>;
|
|
17
|
-
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
18
|
-
};
|
|
19
|
-
run(): Promise<void>;
|
|
20
|
-
}
|
package/dist/commands/love.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/commands/adapt.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
*/
|
|
8
|
-
import { Command, Flags } from '@oclif/core';
|
|
9
|
-
import yaml from 'js-yaml';
|
|
10
|
-
import fs from 'node:fs';
|
|
11
|
-
import path from 'node:path';
|
|
12
|
-
import Utils from '../classes/utils.js';
|
|
13
|
-
import { exec } from '../lib/utils.js';
|
|
14
|
-
// _dirname
|
|
15
|
-
const __dirname = path.dirname(new URL(import.meta.url).pathname);
|
|
16
|
-
/**
|
|
17
|
-
*
|
|
18
|
-
*/
|
|
19
|
-
export default class Love extends Command {
|
|
20
|
-
static description = 'the simplest way to get an egg!';
|
|
21
|
-
static examples = ['eggs auto'];
|
|
22
|
-
static flags = {
|
|
23
|
-
help: Flags.help({ char: 'h' }),
|
|
24
|
-
verbose: Flags.boolean({ char: 'v' })
|
|
25
|
-
};
|
|
26
|
-
async run() {
|
|
27
|
-
const { args, flags } = await this.parse(Love);
|
|
28
|
-
let verbose = false;
|
|
29
|
-
if (flags.verbose) {
|
|
30
|
-
verbose = true;
|
|
31
|
-
}
|
|
32
|
-
const echo = Utils.setEcho(verbose);
|
|
33
|
-
Utils.titles(this.id + ' ' + this.argv);
|
|
34
|
-
// No sudo!
|
|
35
|
-
if (process.getuid && process.getuid() === 0) {
|
|
36
|
-
Utils.warning(`You must be kind in love, please don't use sudo!`);
|
|
37
|
-
process.exit(0);
|
|
38
|
-
}
|
|
39
|
-
let loveConf = '/etc/penguins-eggs.d/love.yaml';
|
|
40
|
-
if (!fs.existsSync(loveConf)) {
|
|
41
|
-
loveConf = __dirname + '/../../conf/love.yaml';
|
|
42
|
-
}
|
|
43
|
-
const cmds = yaml.load(fs.readFileSync(loveConf, 'utf8'));
|
|
44
|
-
console.log('The following commands will be executed:');
|
|
45
|
-
console.log();
|
|
46
|
-
for (const cmd of cmds) {
|
|
47
|
-
console.log(`- ${cmd}`);
|
|
48
|
-
}
|
|
49
|
-
console.log();
|
|
50
|
-
if (await Utils.customConfirm()) {
|
|
51
|
-
for (const cmd of cmds) {
|
|
52
|
-
await exec(cmd);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
console.log('Aborted!');
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
package/dist/commands/mom.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/commands/mom.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
*/
|
|
8
|
-
import { Command } from '@oclif/core';
|
|
9
|
-
export default class Mom extends Command {
|
|
10
|
-
static description: string;
|
|
11
|
-
static examples: string[];
|
|
12
|
-
static flags: {
|
|
13
|
-
help: import("@oclif/core/interfaces").BooleanFlag<void>;
|
|
14
|
-
};
|
|
15
|
-
run(): Promise<void>;
|
|
16
|
-
}
|
package/dist/commands/mom.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/commands/mom.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
*/
|
|
8
|
-
import { Command, Flags } from '@oclif/core';
|
|
9
|
-
import path from 'node:path';
|
|
10
|
-
import Utils from '../classes/utils.js';
|
|
11
|
-
import { exec } from '../lib/utils.js';
|
|
12
|
-
// _dirname
|
|
13
|
-
const __dirname = path.dirname(new URL(import.meta.url).pathname);
|
|
14
|
-
export default class Mom extends Command {
|
|
15
|
-
static description = 'ask help from mommy - TUI helper';
|
|
16
|
-
static examples = ['eggs mom'];
|
|
17
|
-
static flags = {
|
|
18
|
-
help: Flags.help({ char: 'h' })
|
|
19
|
-
};
|
|
20
|
-
async run() {
|
|
21
|
-
Utils.titles(this.id + ' ' + this.argv);
|
|
22
|
-
// No sudo!
|
|
23
|
-
if (process.getuid && process.getuid() === 0) {
|
|
24
|
-
Utils.warning('You must to be kind with your mom! Call her without sudo');
|
|
25
|
-
process.exit(0);
|
|
26
|
-
}
|
|
27
|
-
const cmd = path.resolve(__dirname, '../../scripts/mom.sh');
|
|
28
|
-
await exec(cmd);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/commands/produce.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
*/
|
|
8
|
-
import { Command } from '@oclif/core';
|
|
9
|
-
export default class Produce extends Command {
|
|
10
|
-
static description: string;
|
|
11
|
-
static examples: string[];
|
|
12
|
-
static flags: {
|
|
13
|
-
addons: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
-
basename: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
-
clone: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
|
-
cryptedclone: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
|
-
excludes: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
-
help: import("@oclif/core/interfaces").BooleanFlag<void>;
|
|
19
|
-
links: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
-
max: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
21
|
-
noicon: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
22
|
-
nointeractive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
23
|
-
pendrive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
24
|
-
prefix: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
|
-
release: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
26
|
-
script: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
27
|
-
standard: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
28
|
-
theme: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
29
|
-
unsecure: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
30
|
-
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
31
|
-
yolk: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
32
|
-
};
|
|
33
|
-
run(): Promise<void>;
|
|
34
|
-
}
|