penguins-eggs 25.9.14 → 25.9.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.oclif.manifest.json +1 -1
- package/README.md +29 -29
- 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 +0 -0
- package/addons/eggs/theme/calamares/branding/show.qml +61 -74
- package/assets/calamares/install-system.sh +0 -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/derivatives.yaml +2 -2
- package/conf/distros/alpine/calamares/calamares-modules/machineid-openrc/machineid-openrc.sh +0 -0
- package/conf/distros/alpine/calamares/modules/mount.yml +104 -39
- package/conf/distros/alpine/calamares/settings.yml +4 -4
- package/conf/distros/bionic/calamares/calamares-modules/after-bootloader/after-bootloader.sh +0 -0
- package/conf/distros/bionic/calamares/calamares-modules/before-bootloader/before-bootloader.sh +0 -0
- package/conf/distros/bionic/calamares/calamares-modules/before-bootloader-mkdirs/before-bootloader-mkdirs.sh +0 -0
- package/conf/distros/bionic/calamares/calamares-modules/bug/bug.sh +0 -0
- package/conf/distros/bionic/calamares/calamares-modules/grubcfg/main.py +0 -0
- package/conf/distros/bionic/calamares/settings.yml +5 -5
- 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/libexec/.keepit +0 -0
- package/conf/distros/buster/calamares/libexec/README.md +5 -0
- package/conf/distros/{noble/calamares/modules/focal-jammy/mount.yml → buster/calamares/modules/mount.3.2.yml} +3 -6
- package/conf/distros/buster/calamares/modules/mount.yml +2 -4
- package/conf/distros/buster/calamares/modules/shellprocess@boot_deploy.yml +23 -0
- package/conf/distros/buster/calamares/modules/shellprocess@boot_reconfigure.yml +14 -0
- package/conf/distros/buster/calamares/modules/shellprocess@mkinitramfs.yml +4 -0
- package/conf/distros/buster/calamares/settings.yml +28 -11
- package/conf/distros/fedora/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
- package/conf/distros/fedora/calamares/settings.yml +6 -6
- package/conf/distros/jessie/krill/settings.yml +6 -6
- package/conf/distros/noble/README.md +8 -1
- package/conf/distros/noble/calamares/libexec/.keepit +0 -0
- package/conf/distros/noble/calamares/libexec/README.md +5 -0
- package/conf/distros/noble/calamares/libexec/calamares-aptsources.sh +15 -0
- package/conf/distros/noble/calamares/libexec/calamares-l10n-helper.sh +35 -0
- package/conf/distros/noble/calamares/libexec/calamares-logs-helper.sh +34 -0
- package/conf/distros/noble/calamares/libexec/calamares-nomodeset.sh +19 -0
- package/conf/distros/noble/calamares/modules/after_bootloader_context.yml +26 -0
- package/conf/distros/noble/calamares/modules/before_bootloader_context.yml +12 -0
- package/conf/distros/noble/calamares/modules/bootloader.yml +67 -14
- package/conf/distros/noble/calamares/modules/bootloader.yml.old +35 -0
- package/conf/distros/noble/calamares/modules/displaymanager.yml +21 -0
- package/conf/distros/noble/calamares/modules/finished.yml +3 -0
- package/conf/distros/noble/calamares/modules/fstab.yml +9 -0
- package/conf/distros/noble/calamares/modules/grubcfg.yml +49 -1
- package/conf/distros/noble/calamares/modules/keyboard.yml +29 -0
- package/conf/distros/noble/calamares/modules/locale.yml +5 -6
- package/conf/distros/noble/calamares/modules/machineid.yml +3 -1
- package/conf/distros/noble/calamares/modules/mount.yml +21 -19
- package/conf/distros/noble/calamares/modules/netinstall.yml +5 -0
- package/conf/distros/noble/calamares/modules/packages.yml +5 -16
- package/conf/distros/noble/calamares/modules/shellprocess@aptsources.yml +11 -0
- package/conf/distros/noble/calamares/modules/shellprocess@boot_deploy.yml +18 -0
- package/conf/distros/noble/calamares/modules/shellprocess@boot_reconfigure.yml +14 -0
- package/conf/distros/noble/calamares/modules/shellprocess@install_translations.yml +7 -0
- package/conf/distros/noble/calamares/modules/shellprocess@logs.yml +7 -0
- package/conf/distros/noble/calamares/modules/shellprocess@mkinitramfs.yml +4 -0
- package/conf/distros/noble/calamares/modules/shellprocess@nomodeset.yml +11 -0
- package/conf/distros/noble/calamares/modules/unpackfs.yml +2 -1
- package/conf/distros/noble/calamares/modules/users.yml +19 -17
- package/conf/distros/noble/calamares/modules/welcome.yml +9 -13
- package/conf/distros/noble/calamares/settings.yml +82 -72
- package/conf/distros/openmamba/calamares/settings.yml +4 -4
- package/conf/distros/opensuse/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
- package/conf/distros/opensuse/calamares/settings.yml +6 -6
- package/conf/distros/opensuse/calamares/zstd2lzo.sh +0 -0
- package/conf/distros/rolling/calamares/settings.yml +4 -4
- package/conf/distros/stretch/krill/settings.yml +6 -6
- package/conf/init/unattended.sh +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 +125 -131
- 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 +1 -0
- package/pods/almalinux.sh +0 -0
- package/pods/archlinux.sh +0 -0
- package/pods/ci/kernel-overlay-install.sh +0 -0
- package/pods/ci/minimal/almalinux-container2host.sh +0 -0
- package/pods/ci/minimal/archlinux-container2host.sh +0 -0
- package/pods/ci/minimal/debian-container2host.sh +0 -0
- package/pods/ci/minimal/fedora-container2host.sh +0 -0
- package/pods/ci/minimal/manjaro-container2host.sh +0 -0
- package/pods/ci/minimal/opensuse-container2host.sh +0 -0
- package/pods/ci/penguins-eggs-execute.sh +0 -0
- package/pods/ci/penguins-eggs-install.sh +0 -0
- package/pods/ci/run +0 -0
- package/pods/ci/run-on-almalinux.sh +0 -0
- package/pods/ci/run-on-archlinux.sh +0 -0
- package/pods/ci/run-on-debian.sh +0 -0
- package/pods/ci/run-on-devuan.sh +0 -0
- package/pods/ci/run-on-fedora.sh +0 -0
- package/pods/ci/run-on-manjaro.sh +0 -0
- package/pods/ci/run-on-opensuse.sh +0 -0
- package/pods/ci/run-on-rockylinux.sh +0 -0
- package/pods/ci/run-on-ubuntu.sh +0 -0
- package/pods/debian.sh +0 -0
- package/pods/devuan.sh +0 -0
- package/pods/fedora.sh +0 -0
- package/pods/lmde.sh +0 -0
- package/pods/manjaro.sh +0 -0
- package/pods/opensuse.sh +0 -0
- package/pods/podman.command.sh +0 -0
- package/pods/rocky.sh +0 -0
- package/pods/run-build-packages-debs.sh +0 -0
- package/pods/run-create-debs.sh +0 -0
- package/pods/ubuntu.sh +0 -0
- package/scripts/99clean +0 -0
- package/scripts/adapt.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/pve-live.service +0 -0
- package/scripts/pve-live.sh +0 -0
- package/scripts/resy +0 -0
- package/conf/distros/noble/calamares/modules/_automirror.yml +0 -6
- package/conf/distros/noble/calamares/modules/_before_bootloader_context.yml +0 -18
- package/conf/distros/noble/calamares/modules/_before_bootloader_mkdirs_context.yml +0 -10
- package/conf/distros/noble/calamares/modules/_displaymanager.yml +0 -9
- package/conf/distros/noble/calamares/modules/_oemid.yml +0 -2
- package/conf/distros/noble/calamares/modules/_pkgselect_context.yml +0 -19
- package/conf/distros/noble/calamares/modules/_pkgselect_snap_context.yml +0 -9
- package/conf/distros/noble/calamares/modules/_shellprocess_logs.yml +0 -5
- package/conf/distros/noble/calamares/modules/_users.conf.oem +0 -30
- package/conf/distros/noble/calamares/modules/focal-jammy/fstab.yml +0 -13
- package/conf/distros/noble/calamares/modules/focal-jammy/users.yml +0 -19
- package/conf/distros/noble/calamares/modules/shellprocess_add386arch.yml +0 -5
- package/conf/distros/noble/calamares/modules/shellprocess_bug-LP#1829805.yml +0 -5
- package/conf/distros/noble/calamares/modules/shellprocess_fixconkeys_part1.yml +0 -5
- package/conf/distros/noble/calamares/modules/shellprocess_fixconkeys_part2.yml +0 -5
- package/conf/distros/noble/calamares/modules/shellprocess_oemprep.yml +0 -5
- package/dist/classes/bleach.d.ts +0 -37
- package/dist/classes/bleach.js +0 -148
- package/dist/classes/cli-autologin.d.ts +0 -52
- package/dist/classes/cli-autologin.js +0 -252
- 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 -175
- package/dist/classes/distro.d.ts +0 -32
- package/dist/classes/distro.js +0 -382
- package/dist/classes/diversions.d.ts +0 -53
- package/dist/classes/diversions.js +0 -133
- 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 -74
- package/dist/classes/incubation/fisherman.js +0 -271
- 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/fedora.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/fedora.js +0 -80
- 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 -78
- package/dist/classes/incubation/incubator.d/rolling.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/rolling.js +0 -78
- package/dist/classes/incubation/incubator.d.ts +0 -48
- package/dist/classes/incubation/incubator.js +0 -404
- package/dist/classes/incubation/installer.d.ts +0 -13
- package/dist/classes/incubation/installer.js +0 -52
- package/dist/classes/keyboards.d.ts +0 -50
- package/dist/classes/keyboards.js +0 -287
- package/dist/classes/locales.d.ts +0 -21
- package/dist/classes/locales.js +0 -77
- package/dist/classes/network.d.ts +0 -37
- package/dist/classes/network.js +0 -98
- package/dist/classes/ovary.d/bind-live-fs.d.ts +0 -18
- package/dist/classes/ovary.d/bind-live-fs.js +0 -185
- package/dist/classes/ovary.d/bind-vfs.d.ts +0 -17
- package/dist/classes/ovary.d/bind-vfs.js +0 -37
- package/dist/classes/ovary.d/create-xdg-autostart.d.ts +0 -13
- package/dist/classes/ovary.d/create-xdg-autostart.js +0 -194
- package/dist/classes/ovary.d/edit-live-fs.d.ts +0 -20
- package/dist/classes/ovary.d/edit-live-fs.js +0 -245
- package/dist/classes/ovary.d/fertilization.d.ts +0 -12
- package/dist/classes/ovary.d/fertilization.js +0 -52
- package/dist/classes/ovary.d/finished.d.ts +0 -13
- package/dist/classes/ovary.d/finished.js +0 -44
- package/dist/classes/ovary.d/initrd.d.ts +0 -21
- package/dist/classes/ovary.d/initrd.js +0 -97
- package/dist/classes/ovary.d/kernel-copy.d.ts +0 -12
- package/dist/classes/ovary.d/kernel-copy.js +0 -22
- package/dist/classes/ovary.d/live-create-structure.d.ts +0 -12
- package/dist/classes/ovary.d/live-create-structure.js +0 -73
- package/dist/classes/ovary.d/make-dot-disk.d.ts +0 -12
- package/dist/classes/ovary.d/make-dot-disk.js +0 -62
- package/dist/classes/ovary.d/make-efi.d.ts +0 -14
- package/dist/classes/ovary.d/make-efi.js +0 -274
- package/dist/classes/ovary.d/make-iso.d.ts +0 -13
- package/dist/classes/ovary.d/make-iso.js +0 -45
- package/dist/classes/ovary.d/make-squashfs.d.ts +0 -18
- package/dist/classes/ovary.d/make-squashfs.js +0 -110
- package/dist/classes/ovary.d/merged.d.ts +0 -27
- package/dist/classes/ovary.d/merged.js +0 -78
- package/dist/classes/ovary.d/produce.d.ts +0 -23
- package/dist/classes/ovary.d/produce.js +0 -319
- package/dist/classes/ovary.d/rexec.d.ts +0 -13
- package/dist/classes/ovary.d/rexec.js +0 -34
- package/dist/classes/ovary.d/syslinux.d.ts +0 -12
- package/dist/classes/ovary.d/syslinux.js +0 -82
- package/dist/classes/ovary.d/user-create-live.d.ts +0 -14
- package/dist/classes/ovary.d/user-create-live.js +0 -97
- package/dist/classes/ovary.d/users-remove.d.ts +0 -9
- package/dist/classes/ovary.d/users-remove.js +0 -38
- package/dist/classes/ovary.d/xorriso-command.d.ts +0 -14
- package/dist/classes/ovary.d/xorriso-command.js +0 -123
- package/dist/classes/ovary.d.ts +0 -87
- package/dist/classes/ovary.js +0 -90
- 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 -167
- package/dist/classes/pacman.d/archlinux.d.ts +0 -62
- package/dist/classes/pacman.d/archlinux.js +0 -136
- 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 -103
- 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 -774
- package/dist/classes/pve-live.d.ts +0 -17
- package/dist/classes/pve-live.js +0 -52
- package/dist/classes/pxe.d.ts +0 -76
- package/dist/classes/pxe.js +0 -353
- package/dist/classes/settings.d.ts +0 -52
- package/dist/classes/settings.js +0 -185
- package/dist/classes/sources_list.d.ts +0 -28
- package/dist/classes/sources_list.js +0 -89
- package/dist/classes/systemctl.d.ts +0 -47
- package/dist/classes/systemctl.js +0 -86
- package/dist/classes/tailor.d.ts +0 -50
- package/dist/classes/tailor.js +0 -563
- 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/kernel.d.ts +0 -38
- package/dist/classes/utils.d/kernel.js +0 -184
- package/dist/classes/utils.d.ts +0 -327
- package/dist/classes/utils.js +0 -955
- 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 -17
- package/dist/commands/cuckoo.js +0 -61
- package/dist/commands/dad.d.ts +0 -21
- package/dist/commands/dad.js +0 -47
- 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 -173
- package/dist/commands/export/tarballs.d.ts +0 -27
- package/dist/commands/export/tarballs.js +0 -79
- package/dist/commands/install.d.ts +0 -38
- package/dist/commands/install.js +0 -91
- package/dist/commands/kill.d.ts +0 -24
- package/dist/commands/kill.js +0 -50
- package/dist/commands/love.d.ts +0 -21
- package/dist/commands/love.js +0 -73
- package/dist/commands/mom.d.ts +0 -16
- package/dist/commands/mom.js +0 -30
- package/dist/commands/pods.d.ts +0 -22
- package/dist/commands/pods.js +0 -92
- package/dist/commands/produce.d.ts +0 -35
- package/dist/commands/produce.js +0 -221
- 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 -31
- package/dist/commands/tools/ppa.js +0 -176
- 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 -46
- package/dist/commands/update.js +0 -238
- 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/dhcpd-proxy/classes/packet.d.ts +0 -36
- package/dist/dhcpd-proxy/classes/packet.js +0 -124
- package/dist/dhcpd-proxy/index.d.ts +0 -4
- package/dist/dhcpd-proxy/index.js +0 -4
- package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +0 -45
- package/dist/dhcpd-proxy/interfaces/i-pxe.js +0 -1
- package/dist/dhcpd-proxy/lib/packet/converters.d.ts +0 -11
- package/dist/dhcpd-proxy/lib/packet/converters.js +0 -395
- package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +0 -10
- package/dist/dhcpd-proxy/lib/packet/message-types.js +0 -12
- package/dist/dhcpd-proxy/lib/packet/options.d.ts +0 -8
- package/dist/dhcpd-proxy/lib/packet/options.js +0 -264
- package/dist/dhcpd-proxy/lib/sprintf.d.ts +0 -6
- package/dist/dhcpd-proxy/lib/sprintf.js +0 -130
- package/dist/dhcpd-proxy/lib/utils.d.ts +0 -126
- package/dist/dhcpd-proxy/lib/utils.js +0 -255
- package/dist/dhcpd-proxy/simple-proxy.d.ts +0 -11
- package/dist/dhcpd-proxy/simple-proxy.js +0 -118
- package/dist/index.d.ts +0 -8
- package/dist/index.js +0 -8
- package/dist/interfaces/i-addons.d.ts +0 -12
- package/dist/interfaces/i-addons.js +0 -8
- package/dist/interfaces/i-analyze.d.ts +0 -17
- package/dist/interfaces/i-analyze.js +0 -17
- package/dist/interfaces/i-app.d.ts +0 -14
- package/dist/interfaces/i-app.js +0 -8
- package/dist/interfaces/i-branding.d.ts +0 -36
- package/dist/interfaces/i-branding.js +0 -8
- package/dist/interfaces/i-calamares-displaymanager.d.ts +0 -17
- package/dist/interfaces/i-calamares-displaymanager.js +0 -1
- package/dist/interfaces/i-calamares-finished.d.ts +0 -12
- package/dist/interfaces/i-calamares-finished.js +0 -1
- package/dist/interfaces/i-calamares-packages.d.ts +0 -28
- package/dist/interfaces/i-calamares-packages.js +0 -1
- package/dist/interfaces/i-calamares-partition.d.ts +0 -40
- package/dist/interfaces/i-calamares-partition.js +0 -1
- package/dist/interfaces/i-config-tools.d.ts +0 -15
- package/dist/interfaces/i-config-tools.js +0 -8
- package/dist/interfaces/i-devices.d.ts +0 -20
- package/dist/interfaces/i-devices.js +0 -8
- package/dist/interfaces/i-distro.d.ts +0 -23
- package/dist/interfaces/i-distro.js +0 -8
- package/dist/interfaces/i-drive-list.d.ts +0 -33
- package/dist/interfaces/i-drive-list.js +0 -8
- package/dist/interfaces/i-eggs-config.d.ts +0 -32
- package/dist/interfaces/i-eggs-config.js +0 -8
- package/dist/interfaces/i-excludes.d.ts +0 -14
- package/dist/interfaces/i-excludes.js +0 -8
- package/dist/interfaces/i-exec.d.ts +0 -11
- package/dist/interfaces/i-exec.js +0 -8
- package/dist/interfaces/i-initrd.d.ts +0 -13
- package/dist/interfaces/i-initrd.js +0 -8
- package/dist/interfaces/i-install.d.ts +0 -16
- package/dist/interfaces/i-install.js +0 -8
- package/dist/interfaces/i-installer.d.ts +0 -17
- package/dist/interfaces/i-installer.js +0 -8
- package/dist/interfaces/i-luks-passphrase.d.ts +0 -11
- package/dist/interfaces/i-luks-passphrase.js +0 -8
- package/dist/interfaces/i-materia.d.ts +0 -36
- package/dist/interfaces/i-materia.js +0 -8
- package/dist/interfaces/i-net.d.ts +0 -16
- package/dist/interfaces/i-net.js +0 -8
- package/dist/interfaces/i-os-release.d.ts +0 -5
- package/dist/interfaces/i-os-release.js +0 -1
- package/dist/interfaces/i-packages.d.ts +0 -16
- package/dist/interfaces/i-packages.js +0 -8
- package/dist/interfaces/i-partitions.d.ts +0 -16
- package/dist/interfaces/i-partitions.js +0 -8
- package/dist/interfaces/i-pxe.d.ts +0 -45
- package/dist/interfaces/i-pxe.js +0 -1
- package/dist/interfaces/i-remix.d.ts +0 -21
- package/dist/interfaces/i-remix.js +0 -8
- package/dist/interfaces/i-settings.d.ts +0 -33
- package/dist/interfaces/i-settings.js +0 -8
- package/dist/interfaces/i-user.d.ts +0 -14
- package/dist/interfaces/i-user.js +0 -8
- package/dist/interfaces/i-workdir.d.ts +0 -14
- package/dist/interfaces/i-workdir.js +0 -8
- package/dist/interfaces/i-xkb-model.d.ts +0 -24
- package/dist/interfaces/i-xkb-model.js +0 -8
- package/dist/interfaces/index.d.ts +0 -26
- package/dist/interfaces/index.js +0 -8
- package/dist/krill/classes/cfs.d.ts +0 -17
- package/dist/krill/classes/cfs.js +0 -39
- package/dist/krill/classes/krill_enums.d.ts +0 -37
- package/dist/krill/classes/krill_enums.js +0 -41
- package/dist/krill/classes/prepare.d/confirm.d.ts +0 -5
- package/dist/krill/classes/prepare.d/confirm.js +0 -30
- package/dist/krill/classes/prepare.d/keyboard.d.ts +0 -14
- package/dist/krill/classes/prepare.d/keyboard.js +0 -62
- package/dist/krill/classes/prepare.d/location.d.ts +0 -17
- package/dist/krill/classes/prepare.d/location.js +0 -59
- package/dist/krill/classes/prepare.d/network.d.ts +0 -14
- package/dist/krill/classes/prepare.d/network.js +0 -68
- package/dist/krill/classes/prepare.d/partitions.d.ts +0 -14
- package/dist/krill/classes/prepare.d/partitions.js +0 -86
- package/dist/krill/classes/prepare.d/summary.d.ts +0 -15
- package/dist/krill/classes/prepare.d/summary.js +0 -69
- package/dist/krill/classes/prepare.d/users.d.ts +0 -6
- package/dist/krill/classes/prepare.d/users.js +0 -63
- package/dist/krill/classes/prepare.d/welcome.d.ts +0 -6
- package/dist/krill/classes/prepare.d/welcome.js +0 -30
- package/dist/krill/classes/prepare.d.ts +0 -89
- package/dist/krill/classes/prepare.js +0 -314
- package/dist/krill/classes/sequence.d/add_user.d.ts +0 -20
- package/dist/krill/classes/sequence.d/add_user.js +0 -77
- package/dist/krill/classes/sequence.d/bootloader.d.ts +0 -14
- package/dist/krill/classes/sequence.d/bootloader.js +0 -117
- package/dist/krill/classes/sequence.d/bootloader_config.d.ts +0 -14
- package/dist/krill/classes/sequence.d/bootloader_config.js +0 -192
- package/dist/krill/classes/sequence.d/change_password.d.ts +0 -15
- package/dist/krill/classes/sequence.d/change_password.js +0 -18
- package/dist/krill/classes/sequence.d/del_live_user.d.ts +0 -14
- package/dist/krill/classes/sequence.d/del_live_user.js +0 -39
- package/dist/krill/classes/sequence.d/fstab.d.ts +0 -14
- package/dist/krill/classes/sequence.d/fstab.js +0 -177
- package/dist/krill/classes/sequence.d/grubcfg.d.ts +0 -17
- package/dist/krill/classes/sequence.d/grubcfg.js +0 -35
- package/dist/krill/classes/sequence.d/hostname.d.ts +0 -13
- package/dist/krill/classes/sequence.d/hostname.js +0 -50
- package/dist/krill/classes/sequence.d/initramfs.d.ts +0 -13
- package/dist/krill/classes/sequence.d/initramfs.js +0 -54
- package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +0 -14
- package/dist/krill/classes/sequence.d/initramfs_cfg.js +0 -35
- package/dist/krill/classes/sequence.d/locale.d.ts +0 -13
- package/dist/krill/classes/sequence.d/locale.js +0 -91
- package/dist/krill/classes/sequence.d/locale_cfg.d.ts +0 -10
- package/dist/krill/classes/sequence.d/locale_cfg.js +0 -58
- package/dist/krill/classes/sequence.d/m_keyboard.d.ts +0 -14
- package/dist/krill/classes/sequence.d/m_keyboard.js +0 -58
- package/dist/krill/classes/sequence.d/machine_id.d.ts +0 -15
- package/dist/krill/classes/sequence.d/machine_id.js +0 -33
- package/dist/krill/classes/sequence.d/mkfs.d.ts +0 -15
- package/dist/krill/classes/sequence.d/mkfs.js +0 -75
- package/dist/krill/classes/sequence.d/mount_fs.d.ts +0 -17
- package/dist/krill/classes/sequence.d/mount_fs.js +0 -68
- package/dist/krill/classes/sequence.d/mount_vfs.d.ts +0 -17
- package/dist/krill/classes/sequence.d/mount_vfs.js +0 -59
- package/dist/krill/classes/sequence.d/network_cfg.d.ts +0 -19
- package/dist/krill/classes/sequence.d/network_cfg.js +0 -73
- package/dist/krill/classes/sequence.d/packages.d.ts +0 -14
- package/dist/krill/classes/sequence.d/packages.js +0 -111
- package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +0 -17
- package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +0 -73
- package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +0 -16
- package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +0 -51
- package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +0 -17
- package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +0 -78
- package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +0 -10
- package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -33
- package/dist/krill/classes/sequence.d/partition.d.ts +0 -14
- package/dist/krill/classes/sequence.d/partition.js +0 -84
- package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +0 -13
- package/dist/krill/classes/sequence.d/remove_installer_link.js +0 -35
- package/dist/krill/classes/sequence.d/umount.d.ts +0 -14
- package/dist/krill/classes/sequence.d/umount.js +0 -28
- package/dist/krill/classes/sequence.d/unpackfs.d.ts +0 -13
- package/dist/krill/classes/sequence.d/unpackfs.js +0 -20
- package/dist/krill/classes/sequence.d.ts +0 -133
- package/dist/krill/classes/sequence.js +0 -396
- package/dist/krill/components/finished.d.ts +0 -16
- package/dist/krill/components/finished.js +0 -56
- package/dist/krill/components/information.d.ts +0 -8
- package/dist/krill/components/information.js +0 -162
- package/dist/krill/components/install.d.ts +0 -15
- package/dist/krill/components/install.js +0 -60
- package/dist/krill/components/keyboard.d.ts +0 -16
- package/dist/krill/components/keyboard.js +0 -54
- package/dist/krill/components/location.d.ts +0 -16
- package/dist/krill/components/location.js +0 -59
- package/dist/krill/components/network.d.ts +0 -19
- package/dist/krill/components/network.js +0 -65
- package/dist/krill/components/partitions.d.ts +0 -18
- package/dist/krill/components/partitions.js +0 -89
- package/dist/krill/components/steps.d.ts +0 -13
- package/dist/krill/components/steps.js +0 -148
- package/dist/krill/components/summary.d.ts +0 -25
- package/dist/krill/components/summary.js +0 -77
- package/dist/krill/components/title.d.ts +0 -11
- package/dist/krill/components/title.js +0 -35
- package/dist/krill/components/users.d.ts +0 -24
- package/dist/krill/components/users.js +0 -80
- package/dist/krill/components/welcome.d.ts +0 -13
- package/dist/krill/components/welcome.js +0 -63
- package/dist/krill/interfaces/i_krill.d.ts +0 -44
- package/dist/krill/interfaces/i_krill.js +0 -8
- package/dist/krill/interfaces/i_krill_config.d.ts +0 -35
- package/dist/krill/interfaces/i_krill_config.js +0 -8
- package/dist/krill/lib/get_address.d.ts +0 -8
- package/dist/krill/lib/get_address.js +0 -23
- package/dist/krill/lib/get_dns.d.ts +0 -8
- package/dist/krill/lib/get_dns.js +0 -23
- package/dist/krill/lib/get_domain.d.ts +0 -8
- package/dist/krill/lib/get_domain.js +0 -23
- package/dist/krill/lib/get_gateway.d.ts +0 -8
- package/dist/krill/lib/get_gateway.js +0 -23
- package/dist/krill/lib/get_hostname.d.ts +0 -8
- package/dist/krill/lib/get_hostname.js +0 -23
- package/dist/krill/lib/get_luks_passphrase.d.ts +0 -8
- package/dist/krill/lib/get_luks_passphrase.js +0 -40
- package/dist/krill/lib/get_netmask.d.ts +0 -8
- package/dist/krill/lib/get_netmask.js +0 -23
- package/dist/krill/lib/get_password.d.ts +0 -8
- package/dist/krill/lib/get_password.js +0 -36
- package/dist/krill/lib/get_userfullname.d.ts +0 -8
- package/dist/krill/lib/get_userfullname.js +0 -23
- package/dist/krill/lib/get_username.d.ts +0 -8
- package/dist/krill/lib/get_username.js +0 -23
- package/dist/krill/lib/select_address_type.d.ts +0 -8
- package/dist/krill/lib/select_address_type.js +0 -24
- package/dist/krill/lib/select_filesystem_type.d.ts +0 -8
- package/dist/krill/lib/select_filesystem_type.js +0 -40
- package/dist/krill/lib/select_installation_device.d.ts +0 -8
- package/dist/krill/lib/select_installation_device.js +0 -40
- package/dist/krill/lib/select_installation_mode.d.ts +0 -9
- package/dist/krill/lib/select_installation_mode.js +0 -25
- package/dist/krill/lib/select_interface.d.ts +0 -8
- package/dist/krill/lib/select_interface.js +0 -24
- package/dist/krill/lib/select_keyboard_layout.d.ts +0 -11
- package/dist/krill/lib/select_keyboard_layout.js +0 -36
- package/dist/krill/lib/select_keyboard_model.d.ts +0 -11
- package/dist/krill/lib/select_keyboard_model.js +0 -34
- package/dist/krill/lib/select_keyboard_option.d.ts +0 -11
- package/dist/krill/lib/select_keyboard_option.js +0 -34
- package/dist/krill/lib/select_keyboard_variant.d.ts +0 -11
- package/dist/krill/lib/select_keyboard_variant.js +0 -35
- package/dist/krill/lib/select_languages.d.ts +0 -8
- package/dist/krill/lib/select_languages.js +0 -28
- package/dist/krill/lib/select_regions.d.ts +0 -8
- package/dist/krill/lib/select_regions.js +0 -24
- package/dist/krill/lib/select_replaced_partition.d.ts +0 -8
- package/dist/krill/lib/select_replaced_partition.js +0 -31
- package/dist/krill/lib/select_user_swap_choice.d.ts +0 -9
- package/dist/krill/lib/select_user_swap_choice.js +0 -35
- package/dist/krill/lib/select_zones.d.ts +0 -8
- package/dist/krill/lib/select_zones.js +0 -518
- package/dist/lib/kill_me_softly.d.ts +0 -11
- package/dist/lib/kill_me_softly.js +0 -61
- package/dist/lib/utils.d.ts +0 -19
- package/dist/lib/utils.js +0 -65
package/dist/commands/syncto.js
DELETED
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/commands/syncto.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
|
-
// https://gist.github.com/ansemjo/6f1cf9d9b8f7ce8f70813f52c63b74a6
|
|
9
|
-
import { Command, Flags } from '@oclif/core';
|
|
10
|
-
import fs from 'node:fs';
|
|
11
|
-
import Compressors from '../classes/compressors.js';
|
|
12
|
-
import Settings from '../classes/settings.js';
|
|
13
|
-
import Utils from '../classes/utils.js';
|
|
14
|
-
import { exec } from '../lib/utils.js';
|
|
15
|
-
/**
|
|
16
|
-
*
|
|
17
|
-
*/
|
|
18
|
-
export default class Syncto extends Command {
|
|
19
|
-
static description = "Save users and users' data ENCRYPTED";
|
|
20
|
-
static examples = ['sudo eggs syncto', 'sudo eggs syncto --file /path/to/luks-volume', 'sudo eggs syncto --excludes'];
|
|
21
|
-
static flags = {
|
|
22
|
-
excludes: Flags.boolean({ char: 'e', description: 'use: exclude.list.d/home.list' }),
|
|
23
|
-
file: Flags.string({ char: 'f', description: 'file luks-volume encrypted' }),
|
|
24
|
-
help: Flags.help({ char: 'h' }),
|
|
25
|
-
verbose: Flags.boolean({ char: 'v', description: 'verbose' })
|
|
26
|
-
};
|
|
27
|
-
echo = {};
|
|
28
|
-
exclude = false;
|
|
29
|
-
excludeHome = '/etc/penguins-eggs.d/exclude.list.d/home.list';
|
|
30
|
-
luksName = 'luks-volume';
|
|
31
|
-
luksDevice = `/dev/mapper/${this.luksName}`;
|
|
32
|
-
luksFile = `/tmp/${this.luksName}`;
|
|
33
|
-
luksMountpoint = `/tmp/mnt/${this.luksName}`;
|
|
34
|
-
privateSquashfs = `private.squashfs`;
|
|
35
|
-
settings = {};
|
|
36
|
-
verbose = false;
|
|
37
|
-
/**
|
|
38
|
-
*
|
|
39
|
-
*/
|
|
40
|
-
async luksCreate() {
|
|
41
|
-
await exec(`rm -rf ${this.luksFile}`);
|
|
42
|
-
// ==========================================================================
|
|
43
|
-
// Create squashfs
|
|
44
|
-
// ==========================================================================
|
|
45
|
-
Utils.warning(`Creating private.squashfs`);
|
|
46
|
-
const compressors = new Compressors();
|
|
47
|
-
await compressors.populate();
|
|
48
|
-
// comp
|
|
49
|
-
let comp = '';
|
|
50
|
-
this.settings = new Settings();
|
|
51
|
-
if (await this.settings.load()) {
|
|
52
|
-
let compression = compressors.fast();
|
|
53
|
-
if (this.settings.config.compression == `max`) {
|
|
54
|
-
compression = compressors.max();
|
|
55
|
-
}
|
|
56
|
-
else if (this.settings.config.compression == `standard`) {
|
|
57
|
-
compression = compressors.standard();
|
|
58
|
-
}
|
|
59
|
-
comp = `-comp ${compression}`;
|
|
60
|
-
}
|
|
61
|
-
// exclude /home/eggs
|
|
62
|
-
let exclude_nest = '';
|
|
63
|
-
if (fs.existsSync(this.settings.work_dir.workdir)) {
|
|
64
|
-
exclude_nest = `-e ${this.settings.config.snapshot_dir}`;
|
|
65
|
-
}
|
|
66
|
-
// exclude file
|
|
67
|
-
let exclude_home = '';
|
|
68
|
-
if (this.exclude) {
|
|
69
|
-
exclude_home = `-ef ${this.excludeHome}`;
|
|
70
|
-
}
|
|
71
|
-
// creato dummyfs per /etc/
|
|
72
|
-
await exec(`mkdir -p /tmp/dummyfs/etc`, this.echo);
|
|
73
|
-
await exec(`cp -a /etc/passwd /tmp/dummyfs/etc`, this.echo);
|
|
74
|
-
await exec(`cp -a /etc/group /tmp/dummyfs/etc`, this.echo);
|
|
75
|
-
await exec(`cp -a /etc/shadow /tmp/dummyfs/etc`, this.echo);
|
|
76
|
-
await exec(`mkdir -p /tmp/dummyfs/etc/lightdm`, this.echo); // lightdm
|
|
77
|
-
await exec(`cp -a /etc/lightdm/lightdm.conf /tmp/dummyfs/etc/lightdm/`, this.echo); // lightdm
|
|
78
|
-
let mkPrivateSquashfs = `mksquashfs \
|
|
79
|
-
/tmp/dummyfs/etc \
|
|
80
|
-
/home \
|
|
81
|
-
/tmp/${this.privateSquashfs} \
|
|
82
|
-
${comp} \
|
|
83
|
-
${exclude_nest} \
|
|
84
|
-
${exclude_home} \
|
|
85
|
-
-keep-as-directory \
|
|
86
|
-
-noappend`;
|
|
87
|
-
mkPrivateSquashfs = mkPrivateSquashfs.replaceAll(/\s\s+/g, ` `);
|
|
88
|
-
await exec(mkPrivateSquashfs, Utils.setEcho(true));
|
|
89
|
-
// remove dummyfs
|
|
90
|
-
await exec(`rm /tmp/dummyfs/ -rf`, this.echo);
|
|
91
|
-
// ==========================================================================
|
|
92
|
-
// Create LUKS volume
|
|
93
|
-
// ==========================================================================
|
|
94
|
-
Utils.titles('Creating LUKS Volume');
|
|
95
|
-
// calcolo size
|
|
96
|
-
const sizeString = (await exec(`unsquashfs -s /tmp/${this.privateSquashfs} | grep "Filesystem size" | sed -e 's/.*size //' -e 's/ .*//'`, { capture: true, echo: false })).data;
|
|
97
|
-
let size = Number.parseInt(sizeString) + 2048;
|
|
98
|
-
console.log('size private.squashfs:', bytesToGB(size), size);
|
|
99
|
-
const luksBlockSize = 512;
|
|
100
|
-
const luksBlocks = Math.ceil(size / luksBlockSize);
|
|
101
|
-
size = luksBlockSize * luksBlocks;
|
|
102
|
-
// Aggiungo un 20% in più per ottenere luksSize
|
|
103
|
-
const luksSize = Math.ceil(size * 1.2);
|
|
104
|
-
console.log('luksSize:', bytesToGB(luksSize), luksSize);
|
|
105
|
-
// truncate * 2048 è cruciale
|
|
106
|
-
const truncateAt = luksSize * 2048;
|
|
107
|
-
Utils.warning(`Preparing file ${this.luksFile} for ${this.luksDevice}, size ${truncateAt}`);
|
|
108
|
-
await exec(`truncate --size ${luksSize} ${this.luksFile}`, this.echo);
|
|
109
|
-
Utils.warning(`Creating LUKS Volume on ${this.luksFile}`);
|
|
110
|
-
await exec(`cryptsetup --batch-mode luksFormat ${this.luksFile}`, Utils.setEcho(true));
|
|
111
|
-
console.log('');
|
|
112
|
-
// open LUKS volume temp
|
|
113
|
-
Utils.warning(`Opening LUKS Volume on ${this.luksFile}`);
|
|
114
|
-
const { code } = await exec(`cryptsetup luksOpen ${this.luksFile} ${this.luksName}`, Utils.setEcho(true));
|
|
115
|
-
if (code != 0) {
|
|
116
|
-
Utils.error(`cryptsetup luksOpen ${this.luksFile} ${this.luksName} failed`);
|
|
117
|
-
process.exit(code);
|
|
118
|
-
}
|
|
119
|
-
await exec('udevadm settle', this.echo);
|
|
120
|
-
// formatta ext4 il volume
|
|
121
|
-
await exec(`mkfs.ext4 ${this.luksDevice}`, this.echo);
|
|
122
|
-
console.log('');
|
|
123
|
-
// mount LUKS volume
|
|
124
|
-
if (!fs.existsSync(`this.luksMountpoint)`)) {
|
|
125
|
-
Utils.warning(`creating mountpoint ${this.luksMountpoint}`);
|
|
126
|
-
await exec(`mkdir -p ${this.luksMountpoint}`, this.echo);
|
|
127
|
-
}
|
|
128
|
-
if (!Utils.isMountpoint(`${this.luksMountpoint}`)) {
|
|
129
|
-
Utils.warning(`mounting volume: ${this.luksDevice} on ${this.luksMountpoint}`);
|
|
130
|
-
const { code } = await exec(`mount ${this.luksDevice} ${this.luksMountpoint}`, Utils.setEcho(true));
|
|
131
|
-
if (code != 0) {
|
|
132
|
-
Utils.error(`mount ${this.luksDevice} ${this.luksMountpoint} failed`);
|
|
133
|
-
process.exit(code);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
// copy private.squashfs
|
|
137
|
-
Utils.warning(`moving /tmp/${this.privateSquashfs} to ${this.luksMountpoint}`);
|
|
138
|
-
await exec(`mv /tmp/${this.privateSquashfs} ${this.luksMountpoint}`, this.echo);
|
|
139
|
-
Utils.warning(`Umounting ${this.luksMountpoint}`);
|
|
140
|
-
await exec(`umount ${this.luksMountpoint}`, this.echo);
|
|
141
|
-
Utils.warning(`Vlosing ${this.luksMountpoint}`);
|
|
142
|
-
await exec(`cryptsetup luksClose ${this.luksName}`, this.echo);
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
*
|
|
146
|
-
*/
|
|
147
|
-
async run() {
|
|
148
|
-
Utils.titles(this.id + ' ' + this.argv);
|
|
149
|
-
const { flags } = await this.parse(Syncto);
|
|
150
|
-
if (flags.verbose) {
|
|
151
|
-
this.verbose = true;
|
|
152
|
-
}
|
|
153
|
-
this.echo = Utils.setEcho(this.verbose);
|
|
154
|
-
let fileLuks = '';
|
|
155
|
-
if (flags.file) {
|
|
156
|
-
fileLuks = flags.file;
|
|
157
|
-
}
|
|
158
|
-
if (flags.excludes) {
|
|
159
|
-
this.exclude = true;
|
|
160
|
-
}
|
|
161
|
-
if (Utils.isRoot()) {
|
|
162
|
-
await this.luksCreate();
|
|
163
|
-
}
|
|
164
|
-
else {
|
|
165
|
-
Utils.useRoot(this.id);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Convert bytes to gigabytes
|
|
171
|
-
*/
|
|
172
|
-
function bytesToGB(bytes) {
|
|
173
|
-
const gigabytes = bytes / 1_073_741_824;
|
|
174
|
-
return gigabytes.toFixed(2) + ' GB';
|
|
175
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/commands/tools/clean.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 Clean extends Command {
|
|
10
|
-
static description: string;
|
|
11
|
-
static examples: string[];
|
|
12
|
-
static flags: {
|
|
13
|
-
help: import("@oclif/core/interfaces").BooleanFlag<void>;
|
|
14
|
-
nointeractive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
|
-
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
|
-
};
|
|
17
|
-
run(): Promise<void>;
|
|
18
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/commands/tools/clean.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 Bleach from '../../classes/bleach.js';
|
|
10
|
-
import Utils from '../../classes/utils.js';
|
|
11
|
-
export default class Clean extends Command {
|
|
12
|
-
static description = 'clean system log, apt, etc';
|
|
13
|
-
static examples = ['sudo eggs tools clean'];
|
|
14
|
-
static flags = {
|
|
15
|
-
help: Flags.help({ char: 'h' }),
|
|
16
|
-
nointeractive: Flags.boolean({ char: 'n', description: 'no user interaction' }),
|
|
17
|
-
verbose: Flags.boolean({ char: 'v', description: 'verbose' })
|
|
18
|
-
};
|
|
19
|
-
async run() {
|
|
20
|
-
const { flags } = await this.parse(Clean);
|
|
21
|
-
Utils.titles(this.id + ' ' + this.argv);
|
|
22
|
-
let verbose = false;
|
|
23
|
-
if (flags.verbose) {
|
|
24
|
-
verbose = true;
|
|
25
|
-
}
|
|
26
|
-
const { nointeractive } = flags;
|
|
27
|
-
if (Utils.isRoot()) {
|
|
28
|
-
if (nointeractive || (await Utils.customConfirm('Select yes to continue...'))) {
|
|
29
|
-
const bleach = new Bleach();
|
|
30
|
-
bleach.clean(verbose);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
Utils.useRoot(this.id);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/commands/tools/ppa.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 } from '@oclif/core';
|
|
14
|
-
/**
|
|
15
|
-
*
|
|
16
|
-
*/
|
|
17
|
-
export default class Ppa extends Command {
|
|
18
|
-
static description: string;
|
|
19
|
-
static examples: string[];
|
|
20
|
-
static flags: {
|
|
21
|
-
add: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
22
|
-
help: import("@oclif/core/interfaces").BooleanFlag<void>;
|
|
23
|
-
nointeractive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
24
|
-
remove: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
25
|
-
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
*
|
|
29
|
-
*/
|
|
30
|
-
run(): Promise<void>;
|
|
31
|
-
}
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/commands/tools/ppa.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 ppaKeyUrl = 'https://pieroproietti.github.io/penguins-eggs/deb/key.asc';
|
|
21
|
-
const ppaKeyPath = '/usr/share/keyrings/penguins-eggs.gpg';
|
|
22
|
-
const ppaSourcesPath = '/etc/apt/sources.list.d/penguins-eggs'; // Base path without extension
|
|
23
|
-
/**
|
|
24
|
-
*
|
|
25
|
-
*/
|
|
26
|
-
export default class Ppa extends Command {
|
|
27
|
-
static description = 'add/remove repo';
|
|
28
|
-
static examples = ['sudo eggs tools ppa --add', 'sudo eggs tools ppa --remove'];
|
|
29
|
-
static flags = {
|
|
30
|
-
add: Flags.boolean({ char: 'a', description: 'add penguins-eggs PPA repository' }),
|
|
31
|
-
help: Flags.help({ char: 'h' }),
|
|
32
|
-
nointeractive: Flags.boolean({ char: 'n', description: 'no user interaction' }),
|
|
33
|
-
remove: Flags.boolean({ char: 'r', description: 'remove penguins-eggs PPA repository' }),
|
|
34
|
-
verbose: Flags.boolean({ char: 'v', description: 'verbose' })
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
*
|
|
38
|
-
*/
|
|
39
|
-
async run() {
|
|
40
|
-
const { flags } = await this.parse(Ppa);
|
|
41
|
-
Utils.titles(this.id + ' ' + this.argv);
|
|
42
|
-
const { nointeractive } = flags;
|
|
43
|
-
if (Utils.isRoot()) {
|
|
44
|
-
const distro = new Distro();
|
|
45
|
-
if (distro.familyId === 'archlinux' && !Diversions.isManjaroBased(distro.distroId)) {
|
|
46
|
-
if (flags.add) {
|
|
47
|
-
Utils.warning(`Are you sure to add Chaotic-AUR to your repositories?`);
|
|
48
|
-
if (await Utils.customConfirm('Select yes to continue...')) {
|
|
49
|
-
await archAdd();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
else if (flags.remove) {
|
|
53
|
-
Utils.warning(`Are you sure to remove Chaotic-AUR to your repositories?`);
|
|
54
|
-
if (await Utils.customConfirm('Select yes to continue...')) {
|
|
55
|
-
await archRemove();
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
else if (distro.familyId === 'debian') {
|
|
60
|
-
/**
|
|
61
|
-
* Debian
|
|
62
|
-
*/
|
|
63
|
-
if (flags.add) {
|
|
64
|
-
Utils.warning(`Are you sure to add source ${path.basename(ppaSourcesPath)} to your repositories?`);
|
|
65
|
-
if (nointeractive || (await Utils.customConfirm('Select yes to continue...'))) {
|
|
66
|
-
// Rimuove sempre le vecchie configurazioni per uno stato pulito
|
|
67
|
-
await debianRemove();
|
|
68
|
-
if (await is822()) {
|
|
69
|
-
await debianAdd822();
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
await debianAdd();
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
else if (flags.remove) {
|
|
77
|
-
Utils.warning(`Are you sure to remove source ${path.basename(ppaSourcesPath)} to your repositories?`);
|
|
78
|
-
if (nointeractive || (await Utils.customConfirm('Select yes to continue...'))) {
|
|
79
|
-
await debianRemove();
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
await exec('apt-get update');
|
|
83
|
-
/**
|
|
84
|
-
* Alle the others
|
|
85
|
-
*/
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
Utils.warning(`Distro: ${distro.distroId}/${distro.codenameId}, cannot use penguins-eggs-repo nor chaotic-aur!`);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* archAdd
|
|
95
|
-
*/
|
|
96
|
-
async function archAdd() {
|
|
97
|
-
const path = '/var/cache/pacman/pkg/';
|
|
98
|
-
const keyring = 'chaotic-keyring.pkg.tar.zst';
|
|
99
|
-
const mirrorlist = 'chaotic-mirrorlist.pkg.tar.zst';
|
|
100
|
-
const echo = Utils.setEcho(true);
|
|
101
|
-
if (fs.existsSync(path + keyring) && fs.existsSync(path + mirrorlist)) {
|
|
102
|
-
console.log('repository Chaotic-AUR, already present!');
|
|
103
|
-
await archRemove();
|
|
104
|
-
process.exit();
|
|
105
|
-
}
|
|
106
|
-
await exec('pacman-key --recv-key FBA220DFC880C036 --keyserver keyserver.ubuntu.com', echo);
|
|
107
|
-
await exec('pacman-key --lsign-key FBA220DFC880C036', echo);
|
|
108
|
-
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);
|
|
109
|
-
// Append to /etc/pacman.conf
|
|
110
|
-
const chaoticAppend = '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist\n\n';
|
|
111
|
-
fs.appendFileSync('/etc/pacman.conf', chaoticAppend);
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* archRemove
|
|
115
|
-
*/
|
|
116
|
-
async function archRemove() {
|
|
117
|
-
const path = '/var/cache/pacman/pkg/';
|
|
118
|
-
const keyring = 'chaotic-keyring.pkg.tar.zst';
|
|
119
|
-
const mirrorlist = 'chaotic-mirrorlist.pkg.tar.zst';
|
|
120
|
-
if (fs.existsSync(path + keyring) && fs.existsSync(path + mirrorlist)) {
|
|
121
|
-
console.log('to remove chaotic-aur:\n');
|
|
122
|
-
console.log(`sudo rm ${path}${keyring}`);
|
|
123
|
-
console.log(`sudo rm ${path}${mirrorlist}`);
|
|
124
|
-
console.log(`sudo nano /etc/pacman.conf`);
|
|
125
|
-
console.log(`remove at the end:`);
|
|
126
|
-
console.log(`[chaotic-aur]`);
|
|
127
|
-
console.log(`Include = /etc/pacman.d/chaotic-mirrorlist`);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* debianAdd822 - For modern Debian/Ubuntu with .sources files
|
|
132
|
-
*/
|
|
133
|
-
async function debianAdd822() {
|
|
134
|
-
// --- FIX: Correct GPG key URL ---
|
|
135
|
-
await exec(`curl -fsSL ${ppaKeyUrl} | gpg --dearmor -o ${ppaKeyPath}`);
|
|
136
|
-
let content = '';
|
|
137
|
-
content += 'Types: deb\n';
|
|
138
|
-
content += 'URIs: https://pieroproietti.github.io/penguins-eggs/deb\n'; // Correct URI for packages
|
|
139
|
-
content += 'Suites: stable\n'; // It's better to be specific
|
|
140
|
-
content += 'Components: main\n';
|
|
141
|
-
content += `Signed-By: ${ppaKeyPath}\n`;
|
|
142
|
-
// --- IMPROVEMENT: Use the standard .sources extension ---
|
|
143
|
-
fs.writeFileSync(`${ppaSourcesPath}.sources`, content);
|
|
144
|
-
// --- IMPROVEMENT: Removed unnecessary `touch` command ---
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* debianAdd - For traditional Debian/Ubuntu with .list files
|
|
148
|
-
*/
|
|
149
|
-
async function debianAdd() {
|
|
150
|
-
// --- FIX: Correct GPG key URL and remove redundant sudo ---
|
|
151
|
-
await exec(`curl -fsSL ${ppaKeyUrl} | gpg --dearmor -o ${ppaKeyPath}`);
|
|
152
|
-
const content = `deb [signed-by=${ppaKeyPath}] https://pieroproietti.github.io/penguins-eggs/deb stable main\n`;
|
|
153
|
-
fs.writeFileSync(`${ppaSourcesPath}.list`, content);
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* is822 (checks if the system uses the deb822 format)
|
|
157
|
-
*/
|
|
158
|
-
async function is822() {
|
|
159
|
-
let retval = false;
|
|
160
|
-
const test = `([ -f /etc/apt/sources.list.d/ubuntu.sources ] || [ -f /etc/apt/sources.list.d/debian.sources ]) && echo "1" || echo "0"`;
|
|
161
|
-
const is822Result = (await exec(test, { capture: true, echo: false }));
|
|
162
|
-
if (is822Result.code === 0) {
|
|
163
|
-
if (is822Result.data.trim() === '1') {
|
|
164
|
-
retval = true;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
return retval;
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* debianRemove - Cleans up all related PPA files
|
|
171
|
-
*/
|
|
172
|
-
async function debianRemove() {
|
|
173
|
-
// The script runs as root, so sudo inside exec is not needed here
|
|
174
|
-
await exec(`rm -f ${ppaKeyPath}`);
|
|
175
|
-
await exec(`rm -f ${ppaSourcesPath}*`);
|
|
176
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,70 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
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
|
-
}
|