penguins-eggs 9.8.1 → 10.0.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 +242 -242
- package/README.md +43 -40
- package/bin/dev.cmd +1 -1
- package/bin/dev.js +6 -6
- package/bin/run.js +3 -5
- package/conf/tools.yaml +1 -1
- package/dist/classes/bleach.d.ts +37 -0
- package/dist/classes/bleach.js +43 -91
- package/dist/classes/cfs.d.ts +17 -0
- package/dist/classes/cfs.js +15 -12
- package/dist/classes/compressors.d.ts +53 -0
- package/dist/classes/compressors.js +42 -47
- package/dist/classes/daddy.d.ts +18 -0
- package/dist/classes/daddy.js +92 -98
- package/dist/classes/distro.d.ts +26 -0
- package/dist/classes/distro.js +36 -37
- package/dist/classes/families/archlinux.d.ts +61 -0
- package/dist/classes/families/archlinux.js +52 -107
- package/dist/classes/families/debian.d.ts +65 -0
- package/dist/classes/families/debian.js +67 -142
- package/dist/classes/families/fedora.d.ts +52 -0
- package/dist/classes/families/fedora.js +42 -98
- package/dist/classes/families/mockup.d.ts +60 -0
- package/dist/classes/families/mockup.js +27 -46
- package/dist/classes/families/suse.d.ts +52 -0
- package/dist/classes/families/suse.js +44 -96
- package/dist/classes/incubation/branding.d.ts +17 -0
- package/dist/classes/incubation/branding.js +32 -36
- package/dist/classes/incubation/distros/bionic.d.ts +32 -0
- package/dist/classes/incubation/distros/bionic.js +11 -16
- package/dist/classes/incubation/distros/buster.d.ts +32 -0
- package/dist/classes/incubation/distros/buster.js +13 -18
- package/dist/classes/incubation/distros/focal.d.ts +32 -0
- package/dist/classes/incubation/distros/focal.js +11 -16
- package/dist/classes/incubation/distros/jessie.d.ts +31 -0
- package/dist/classes/incubation/distros/jessie.js +8 -13
- package/dist/classes/incubation/distros/rolling.d.ts +32 -0
- package/dist/classes/incubation/distros/rolling.js +11 -16
- package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +11 -0
- package/dist/classes/incubation/fisherman-helper/displaymanager.js +8 -9
- package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
- package/dist/classes/incubation/fisherman-helper/packages.js +17 -20
- package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
- package/dist/classes/incubation/fisherman-helper/settings.js +30 -28
- package/dist/classes/incubation/fisherman.d.ts +77 -0
- package/dist/classes/incubation/fisherman.js +135 -131
- package/dist/classes/incubation/incubator.d.ts +40 -0
- package/dist/classes/incubation/incubator.js +90 -89
- package/dist/classes/incubation/installer.d.ts +13 -0
- package/dist/classes/incubation/installer.js +27 -12
- package/dist/classes/initrd.d.ts +41 -0
- package/dist/classes/initrd.js +40 -42
- package/dist/classes/keyboards.d.ts +50 -0
- package/dist/classes/keyboards.js +108 -105
- package/dist/classes/locales.d.ts +21 -0
- package/dist/classes/locales.js +30 -34
- package/dist/classes/n8.d.ts +17 -0
- package/dist/classes/n8.js +16 -22
- package/dist/classes/network.d.ts +37 -0
- package/dist/classes/network.js +14 -18
- package/dist/classes/ovary.d.ts +205 -0
- package/dist/classes/ovary.js +1281 -1294
- package/dist/classes/pacman.d.ts +149 -0
- package/dist/classes/pacman.js +344 -418
- package/dist/classes/pve-live.d.ts +17 -0
- package/dist/classes/pve-live.js +22 -24
- package/dist/classes/pxe.d.ts +65 -0
- package/dist/classes/pxe.js +204 -206
- package/dist/classes/settings.d.ts +53 -0
- package/dist/classes/settings.js +91 -94
- package/dist/classes/sources_list.d.ts +28 -0
- package/dist/classes/sources_list.js +35 -39
- package/dist/classes/systemctl.d.ts +47 -0
- package/dist/classes/systemctl.js +34 -38
- package/dist/classes/tailor.d.ts +46 -0
- package/dist/classes/tailor.js +223 -239
- package/dist/classes/tools.d.ts +30 -0
- package/dist/classes/tools.js +18 -22
- package/dist/classes/users.d.ts +28 -0
- package/dist/classes/users.js +18 -22
- package/dist/classes/utils.d.ts +318 -0
- package/dist/classes/utils.js +78 -78
- package/dist/classes/xdg.d.ts +45 -0
- package/dist/classes/xdg.js +129 -133
- package/dist/classes/yolk.d.ts +33 -0
- package/dist/classes/yolk.js +53 -57
- package/dist/commands/adapt.d.ts +17 -0
- package/dist/commands/adapt.js +17 -21
- package/dist/commands/analyze.d.ts +26 -0
- package/dist/commands/analyze.js +56 -67
- package/dist/commands/calamares.d.ts +29 -0
- package/dist/commands/calamares.js +44 -48
- package/dist/commands/config.d.ts +36 -0
- package/dist/commands/config.js +115 -137
- package/dist/commands/cuckoo.d.ts +16 -0
- package/dist/commands/cuckoo.js +20 -24
- package/dist/commands/dad.d.ts +19 -0
- package/dist/commands/dad.js +20 -24
- package/dist/commands/export/deb.d.ts +19 -0
- package/dist/commands/export/deb.js +19 -23
- package/dist/commands/export/iso.d.ts +19 -0
- package/dist/commands/export/iso.js +19 -23
- package/dist/commands/install.d.ts +37 -0
- package/dist/commands/install.js +46 -50
- package/dist/commands/kill.d.ts +24 -0
- package/dist/commands/kill.js +25 -29
- package/dist/commands/mom.d.ts +16 -0
- package/dist/commands/mom.js +16 -18
- package/dist/commands/produce.d.ts +33 -0
- package/dist/commands/produce.js +64 -66
- package/dist/commands/status.d.ts +23 -0
- package/dist/commands/status.js +10 -14
- package/dist/commands/syncfrom.d.ts +45 -0
- package/dist/commands/syncfrom.js +85 -89
- package/dist/commands/syncto.d.ts +40 -0
- package/dist/commands/syncto.js +91 -95
- package/dist/commands/tools/clean.d.ts +18 -0
- package/dist/commands/tools/clean.js +17 -21
- package/dist/commands/tools/ppa.d.ts +26 -0
- package/dist/commands/tools/ppa.js +41 -45
- package/dist/commands/tools/skel.d.ts +18 -0
- package/dist/commands/tools/skel.js +22 -26
- package/dist/commands/tools/stat.d.ts +31 -0
- package/dist/commands/tools/stat.js +15 -19
- package/dist/commands/tools/yolk.d.ts +24 -0
- package/dist/commands/tools/yolk.js +19 -23
- package/dist/commands/update.d.ts +47 -0
- package/dist/commands/update.js +62 -66
- package/dist/commands/wardrobe/get.d.ts +23 -0
- package/dist/commands/wardrobe/get.js +19 -23
- package/dist/commands/wardrobe/list.d.ts +24 -0
- package/dist/commands/wardrobe/list.js +61 -60
- package/dist/commands/wardrobe/show.d.ts +25 -0
- package/dist/commands/wardrobe/show.js +50 -47
- package/dist/commands/wardrobe/wear.d.ts +26 -0
- package/dist/commands/wardrobe/wear.js +32 -36
- package/dist/components/finished.d.ts +15 -0
- package/dist/components/finished.js +37 -42
- package/dist/components/information.d.ts +8 -0
- package/dist/components/information.js +155 -0
- package/dist/components/install.d.ts +15 -0
- package/dist/components/install.js +31 -35
- package/dist/components/keyboard.d.ts +16 -0
- package/dist/components/keyboard.js +37 -40
- package/dist/components/location.d.ts +16 -0
- package/dist/components/location.js +38 -38
- package/dist/components/network.d.ts +19 -0
- package/dist/components/network.js +47 -48
- package/dist/components/partitions.d.ts +16 -0
- package/dist/components/partitions.js +47 -51
- package/dist/components/steps.d.ts +13 -0
- package/dist/components/steps.js +148 -0
- package/dist/components/summary.d.ts +24 -0
- package/dist/components/summary.js +50 -54
- package/dist/components/title.d.ts +12 -0
- package/dist/components/title.js +35 -0
- package/dist/components/users.d.ts +24 -0
- package/dist/components/users.js +43 -43
- package/dist/components/welcome.d.ts +13 -0
- package/dist/components/welcome.js +37 -38
- package/dist/index.d.ts +8 -0
- package/dist/index.js +8 -5
- package/dist/interfaces/i-addons.d.ts +13 -0
- package/dist/interfaces/i-addons.js +8 -3
- package/dist/interfaces/i-analyze.d.ts +17 -0
- package/dist/interfaces/i-analyze.js +7 -10
- package/dist/interfaces/i-app.d.ts +14 -0
- package/dist/interfaces/i-app.js +8 -2
- package/dist/interfaces/i-branding.d.ts +36 -0
- package/dist/interfaces/i-branding.js +8 -2
- package/dist/interfaces/i-calamares-partition.d.ts +18 -0
- package/dist/interfaces/i-calamares-partition.js +3 -4
- package/dist/interfaces/i-config-tools.d.ts +18 -0
- package/dist/interfaces/i-config-tools.js +8 -2
- package/dist/interfaces/i-devices.d.ts +20 -0
- package/dist/interfaces/i-devices.js +8 -2
- package/dist/interfaces/i-distro.d.ts +27 -0
- package/dist/interfaces/i-distro.js +3 -4
- package/dist/interfaces/i-drive-list.d.ts +33 -0
- package/dist/interfaces/i-drive-list.js +3 -4
- package/dist/interfaces/i-eggs-config.d.ts +32 -0
- package/dist/interfaces/i-eggs-config.js +3 -4
- package/dist/interfaces/i-excludes.d.ts +14 -0
- package/dist/interfaces/i-excludes.js +8 -2
- package/dist/interfaces/i-exec.d.ts +11 -0
- package/dist/interfaces/i-exec.js +3 -4
- package/dist/interfaces/i-initrd.d.ts +13 -0
- package/dist/interfaces/i-initrd.js +8 -2
- package/dist/interfaces/i-install.d.ts +16 -0
- package/dist/interfaces/i-install.js +8 -2
- package/dist/interfaces/i-installer.d.ts +17 -0
- package/dist/interfaces/i-installer.js +8 -2
- package/dist/interfaces/i-krill-config.d.ts +33 -0
- package/dist/interfaces/i-krill-config.js +3 -4
- package/dist/interfaces/i-krill.d.ts +42 -0
- package/dist/interfaces/i-krill.js +8 -2
- package/dist/interfaces/i-materia.d.ts +41 -0
- package/dist/interfaces/i-materia.js +8 -2
- package/dist/interfaces/i-net.d.ts +16 -0
- package/dist/interfaces/i-net.js +8 -2
- package/dist/interfaces/i-packages.d.ts +29 -0
- package/dist/interfaces/i-packages.js +3 -4
- package/dist/interfaces/i-partitions.d.ts +16 -0
- package/dist/interfaces/i-partitions.js +8 -2
- package/dist/interfaces/i-pxe.d.ts +21 -0
- package/dist/interfaces/i-pxe.js +8 -39
- package/dist/interfaces/i-remix.d.ts +21 -0
- package/dist/interfaces/i-remix.js +3 -4
- package/dist/interfaces/i-settings.d.ts +39 -0
- package/dist/interfaces/i-settings.js +8 -2
- package/dist/interfaces/i-user.d.ts +14 -0
- package/dist/interfaces/i-user.js +8 -2
- package/dist/interfaces/i-workdir.d.ts +14 -0
- package/dist/interfaces/i-workdir.js +8 -2
- package/dist/interfaces/i-xkb-model.d.ts +24 -0
- package/dist/interfaces/i-xkb-model.js +8 -2
- package/dist/interfaces/index.d.ts +25 -0
- package/dist/interfaces/index.js +3 -4
- package/dist/krill/modules/add-user.d.ts +20 -0
- package/dist/krill/modules/add-user.js +11 -15
- package/dist/krill/modules/bootloader-config-arch.d.ts +14 -0
- package/dist/krill/modules/bootloader-config-arch.js +15 -11
- package/dist/krill/modules/bootloader-config-debian.d.ts +10 -0
- package/dist/krill/modules/bootloader-config-debian.js +20 -16
- package/dist/krill/modules/bootloader-config.d.ts +10 -0
- package/dist/krill/modules/bootloader-config.js +3 -6
- package/dist/krill/modules/bootloader.d.ts +14 -0
- package/dist/krill/modules/bootloader.js +9 -13
- package/dist/krill/modules/change-password.d.ts +15 -0
- package/dist/krill/modules/change-password.js +5 -8
- package/dist/krill/modules/del-live-user.d.ts +14 -0
- package/dist/krill/modules/del-live-user.js +8 -12
- package/dist/krill/modules/fstab.d.ts +14 -0
- package/dist/krill/modules/fstab.js +33 -37
- package/dist/krill/modules/grubcfg.d.ts +17 -0
- package/dist/krill/modules/grubcfg.js +8 -17
- package/dist/krill/modules/hostname.d.ts +13 -0
- package/dist/krill/modules/hostname.js +11 -17
- package/dist/krill/modules/initramfs-cfg.d.ts +14 -0
- package/dist/krill/modules/initramfs-cfg.js +6 -15
- package/dist/krill/modules/initramfs.d.ts +13 -0
- package/dist/krill/modules/initramfs.js +17 -19
- package/dist/krill/modules/locale-cfg.d.ts +10 -0
- package/dist/krill/modules/locale-cfg.js +8 -12
- package/dist/krill/modules/locale.d.ts +13 -0
- package/dist/krill/modules/locale.js +7 -11
- package/dist/krill/modules/m-keyboard.d.ts +14 -0
- package/dist/krill/modules/m-keyboard.js +14 -18
- package/dist/krill/modules/m-timezone.d.ts +14 -0
- package/dist/krill/modules/m-timezone.js +8 -12
- package/dist/krill/modules/machine-id.d.ts +15 -0
- package/dist/krill/modules/machine-id.js +6 -10
- package/dist/krill/modules/mkfs.d.ts +13 -0
- package/dist/krill/modules/mkfs.js +10 -13
- package/dist/krill/modules/mount-fs.d.ts +17 -0
- package/dist/krill/modules/mount-fs.js +20 -26
- package/dist/krill/modules/mount-vfs.d.ts +17 -0
- package/dist/krill/modules/mount-vfs.js +16 -21
- package/dist/krill/modules/network-cfg.d.ts +19 -0
- package/dist/krill/modules/network-cfg.js +16 -20
- package/dist/krill/modules/packages.d.ts +14 -0
- package/dist/krill/modules/packages.js +17 -21
- package/dist/krill/modules/partition.d.ts +20 -0
- package/dist/krill/modules/partition.js +78 -84
- package/dist/krill/modules/remove-installer-link.d.ts +13 -0
- package/dist/krill/modules/remove-installer-link.js +7 -11
- package/dist/krill/modules/umount.d.ts +14 -0
- package/dist/krill/modules/umount.js +9 -13
- package/dist/krill/modules/unpackfs.d.ts +13 -0
- package/dist/krill/modules/unpackfs.js +7 -11
- package/dist/krill/prepare.d.ts +77 -0
- package/dist/krill/{krill-prepare.js → prepare.js} +118 -124
- package/dist/krill/sequence.d.ts +156 -0
- package/dist/krill/{krill-sequence.js → sequence.js} +166 -170
- package/dist/lib/cli-autologin.d.ts +43 -0
- package/dist/lib/cli-autologin.js +88 -92
- package/dist/lib/get_address.d.ts +8 -0
- package/dist/lib/get_address.js +9 -11
- package/dist/lib/get_dns.d.ts +8 -0
- package/dist/lib/get_dns.js +9 -11
- package/dist/lib/get_domain.d.ts +8 -0
- package/dist/lib/get_domain.js +9 -11
- package/dist/lib/get_gateway.d.ts +8 -0
- package/dist/lib/get_gateway.js +9 -11
- package/dist/lib/get_hostname.d.ts +8 -0
- package/dist/lib/get_hostname.js +9 -11
- package/dist/lib/get_netmask.d.ts +8 -0
- package/dist/lib/get_netmask.js +9 -11
- package/dist/lib/get_password.d.ts +8 -0
- package/dist/lib/get_password.js +10 -13
- package/dist/lib/get_userfullname.d.ts +8 -0
- package/dist/lib/get_userfullname.js +9 -11
- package/dist/lib/get_username.d.ts +8 -0
- package/dist/lib/get_username.js +9 -12
- package/dist/lib/kill_me_softly.d.ts +11 -0
- package/dist/lib/kill_me_softly.js +19 -24
- package/dist/lib/select_address_type.d.ts +8 -0
- package/dist/lib/select_address_type.js +9 -12
- package/dist/lib/select_filesystem_type.d.ts +8 -0
- package/dist/lib/select_filesystem_type.js +15 -18
- package/dist/lib/select_installation_device.d.ts +8 -0
- package/dist/lib/select_installation_device.js +11 -15
- package/dist/lib/select_installation_mode.d.ts +8 -0
- package/dist/lib/select_installation_mode.js +9 -11
- package/dist/lib/select_interface.d.ts +8 -0
- package/dist/lib/select_interface.js +9 -12
- package/dist/lib/select_keyboard_layout.d.ts +11 -0
- package/dist/lib/select_keyboard_layout.js +11 -15
- package/dist/lib/select_keyboard_model.d.ts +11 -0
- package/dist/lib/select_keyboard_model.js +11 -15
- package/dist/lib/select_keyboard_option.d.ts +11 -0
- package/dist/lib/select_keyboard_option.js +11 -15
- package/dist/lib/select_keyboard_variant.d.ts +11 -0
- package/dist/lib/select_keyboard_variant.js +11 -15
- package/dist/lib/select_languages.d.ts +8 -0
- package/dist/lib/select_languages.js +11 -15
- package/dist/lib/select_regions.d.ts +8 -0
- package/dist/lib/select_regions.js +9 -11
- package/dist/lib/select_user_swap_choice.d.ts +8 -0
- package/dist/lib/select_user_swap_choice.js +13 -17
- package/dist/lib/select_zones.d.ts +8 -0
- package/dist/lib/select_zones.js +9 -11
- package/dist/lib/utils.d.ts +34 -0
- package/dist/lib/utils.js +24 -14
- package/manpages/doc/man/eggs.1.gz +0 -0
- package/manpages/doc/man/eggs.html +10 -10
- package/package.json +49 -70
- package/LICENSE +0 -339
- package/bin/dev +0 -17
- package/bin/run +0 -5
- package/dist/components/elements/information.js +0 -194
- package/dist/components/elements/steps.js +0 -152
- package/dist/components/elements/title.js +0 -36
- package/dist/lib/dependencies.js +0 -121
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/tools.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
|
+
interface IEggsConfigTools {
|
|
9
|
+
filterDeb: string;
|
|
10
|
+
localPathDeb: string;
|
|
11
|
+
localPathDoc: string;
|
|
12
|
+
localPathIso: string;
|
|
13
|
+
remoteHost: string;
|
|
14
|
+
remotePathDeb: string;
|
|
15
|
+
remotePathDoc: string;
|
|
16
|
+
remotePathIso: string;
|
|
17
|
+
remoteUser: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Utils: general porpourse utils
|
|
21
|
+
* @remarks all the utilities
|
|
22
|
+
*/
|
|
23
|
+
export default class Tools {
|
|
24
|
+
config: IEggsConfigTools;
|
|
25
|
+
snapshot_dir: string;
|
|
26
|
+
snapshot_name: string;
|
|
27
|
+
tools_yaml: string;
|
|
28
|
+
loadSettings(): Promise<boolean>;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
package/dist/classes/tools.js
CHANGED
|
@@ -1,35 +1,32 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const settings_1 = tslib_1.__importDefault(require("./settings"));
|
|
14
|
-
const utils_1 = tslib_1.__importDefault(require("./utils"));
|
|
2
|
+
* ./src/classes/tools.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 yaml from 'js-yaml';
|
|
9
|
+
import fs from 'node:fs';
|
|
10
|
+
import Settings from './settings.js';
|
|
11
|
+
import Utils from './utils.js';
|
|
15
12
|
/**
|
|
16
13
|
* Utils: general porpourse utils
|
|
17
14
|
* @remarks all the utilities
|
|
18
15
|
*/
|
|
19
|
-
class Tools {
|
|
20
|
-
|
|
16
|
+
export default class Tools {
|
|
17
|
+
config = {};
|
|
21
18
|
snapshot_dir = '';
|
|
22
19
|
snapshot_name = '';
|
|
23
|
-
|
|
20
|
+
tools_yaml = '/etc/penguins-eggs.d/tools.yaml';
|
|
24
21
|
/*
|
|
25
22
|
* Load configuration from /etc/penguins-eggs.yaml
|
|
26
23
|
* @returns {boolean} Success
|
|
27
24
|
*/
|
|
28
25
|
async loadSettings() {
|
|
29
26
|
let foundSettings = false;
|
|
30
|
-
if (
|
|
27
|
+
if (fs.existsSync(this.tools_yaml)) {
|
|
31
28
|
foundSettings = true;
|
|
32
|
-
const loaded =
|
|
29
|
+
const loaded = yaml.load(fs.readFileSync(this.tools_yaml, 'utf8'));
|
|
33
30
|
this.config.remoteHost = loaded.remoteHost;
|
|
34
31
|
this.config.remoteUser = loaded.remoteUser;
|
|
35
32
|
this.config.remotePathDeb = loaded.remotePathDeb;
|
|
@@ -42,11 +39,11 @@ class Tools {
|
|
|
42
39
|
/**
|
|
43
40
|
* da eggs
|
|
44
41
|
*/
|
|
45
|
-
const settings = new
|
|
42
|
+
const settings = new Settings();
|
|
46
43
|
settings.load();
|
|
47
44
|
this.snapshot_dir = settings.config.snapshot_dir;
|
|
48
|
-
|
|
49
|
-
this.snapshot_name = prefix + settings.config.snapshot_basename + '_' +
|
|
45
|
+
const prefix = settings.config.snapshot_prefix;
|
|
46
|
+
this.snapshot_name = prefix + settings.config.snapshot_basename + '_' + Utils.uefiArch();
|
|
50
47
|
}
|
|
51
48
|
else {
|
|
52
49
|
console.log(`Can't find: ${this.tools_yaml}`);
|
|
@@ -55,4 +52,3 @@ class Tools {
|
|
|
55
52
|
return foundSettings;
|
|
56
53
|
}
|
|
57
54
|
}
|
|
58
|
-
exports.default = Tools;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/users.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
export default class Users {
|
|
12
|
+
gecos: string;
|
|
13
|
+
gid: string;
|
|
14
|
+
hasHome: boolean;
|
|
15
|
+
home: string;
|
|
16
|
+
login: string;
|
|
17
|
+
password: string;
|
|
18
|
+
saveIt: boolean;
|
|
19
|
+
shell: string;
|
|
20
|
+
size: number;
|
|
21
|
+
uid: string;
|
|
22
|
+
constructor(login: string, password: string, uid: string, gid: string, gecos: string, home: string, shell: string);
|
|
23
|
+
/**
|
|
24
|
+
* getSize
|
|
25
|
+
* @param verbose
|
|
26
|
+
*/
|
|
27
|
+
getValues(): Promise<void>;
|
|
28
|
+
}
|
package/dist/classes/users.js
CHANGED
|
@@ -1,29 +1,26 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
12
|
-
const utils_1 = require("../lib/utils");
|
|
2
|
+
* ./src/classes/users.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
import fs from 'node:fs';
|
|
9
|
+
import { exec } from '../lib/utils.js';
|
|
13
10
|
/**
|
|
14
11
|
*
|
|
15
12
|
*/
|
|
16
|
-
class Users {
|
|
17
|
-
login;
|
|
18
|
-
password;
|
|
19
|
-
uid;
|
|
20
|
-
gid;
|
|
13
|
+
export default class Users {
|
|
21
14
|
gecos;
|
|
15
|
+
gid;
|
|
16
|
+
hasHome;
|
|
22
17
|
home;
|
|
18
|
+
login;
|
|
19
|
+
password;
|
|
20
|
+
saveIt;
|
|
23
21
|
shell;
|
|
24
22
|
size;
|
|
25
|
-
|
|
26
|
-
saveIt;
|
|
23
|
+
uid;
|
|
27
24
|
constructor(login, password, uid, gid, gecos, home, shell) {
|
|
28
25
|
this.login = login;
|
|
29
26
|
this.password = password;
|
|
@@ -93,7 +90,7 @@ class Users {
|
|
|
93
90
|
/**
|
|
94
91
|
* exclude to save if home don't exist
|
|
95
92
|
*/
|
|
96
|
-
if (!
|
|
93
|
+
if (!fs.existsSync(this.home)) {
|
|
97
94
|
saveIt = false;
|
|
98
95
|
}
|
|
99
96
|
/**
|
|
@@ -129,9 +126,9 @@ class Users {
|
|
|
129
126
|
break;
|
|
130
127
|
}
|
|
131
128
|
default: {
|
|
132
|
-
if (
|
|
129
|
+
if (fs.existsSync(this.home)) {
|
|
133
130
|
hasHome = true;
|
|
134
|
-
const sizeUser = await
|
|
131
|
+
const sizeUser = await exec(` du --block-size=1 --summarize ${this.home} | awk '{print $1}'`, { capture: true, echo: false, ignore: false });
|
|
135
132
|
size = Number.parseInt(sizeUser.data);
|
|
136
133
|
}
|
|
137
134
|
saveIt = true;
|
|
@@ -146,4 +143,3 @@ class Users {
|
|
|
146
143
|
}
|
|
147
144
|
}
|
|
148
145
|
}
|
|
149
|
-
exports.default = Users;
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/utils.tsx
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Utils: general porpourse utils
|
|
10
|
+
* @remarks all the utilities
|
|
11
|
+
*/
|
|
12
|
+
export default class Utils {
|
|
13
|
+
/**
|
|
14
|
+
* Custom function to sort object keys
|
|
15
|
+
* @param obj
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
static sortObjectKeys(obj: {
|
|
19
|
+
[key: string]: any;
|
|
20
|
+
}): {
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
*
|
|
25
|
+
* @param file
|
|
26
|
+
* @param search
|
|
27
|
+
* @returns value
|
|
28
|
+
*/
|
|
29
|
+
static searchOnFile(file?: string, search?: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* Restituisce il prefisso della iso
|
|
32
|
+
* @param distroId
|
|
33
|
+
* @param codenameId
|
|
34
|
+
*/
|
|
35
|
+
static snapshotPrefix(distroId: string, codenameId: string): string;
|
|
36
|
+
/**
|
|
37
|
+
* Controlla se il sistema è avviato con systemd
|
|
38
|
+
* funziona anche in MX che utilizza systemd
|
|
39
|
+
* ma viene avviato con init
|
|
40
|
+
*/
|
|
41
|
+
static isSystemd(): boolean;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @returns
|
|
45
|
+
*/
|
|
46
|
+
static isSysvinit(): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* ricava path per vmlinuz
|
|
49
|
+
* Normalmente cerca BOOT_IMAGE
|
|
50
|
+
* BOOT_IMAGE=/boot/vmlinuz-5.16.0-3-amd64 root=UUID=13768873-d6ba-4ae5-9e14-b5011f5aa31c ro quiet splash resume=UUID=beafb9b4-c429-4e1f-a268-4270b63a14e6
|
|
51
|
+
* se non è presente, come nel caso di Franco, cerca initrd e ricostruisce vmlinuz
|
|
52
|
+
* ro root=UUID=3dc0f202-8ac8-4686-9316-dddcec060c48 initrd=boot\initrd.img-5.15.0-0.bpo.3-amd64 // Conidi
|
|
53
|
+
*/
|
|
54
|
+
static vmlinuz(): string;
|
|
55
|
+
/**
|
|
56
|
+
* ricava path per initrdImg
|
|
57
|
+
*/
|
|
58
|
+
static initrdImg(): string;
|
|
59
|
+
/**
|
|
60
|
+
* Occore vedere un modo per creare machine-id dove non esiste
|
|
61
|
+
*/
|
|
62
|
+
static machineId(): string;
|
|
63
|
+
/**
|
|
64
|
+
*
|
|
65
|
+
* @param msg
|
|
66
|
+
*/
|
|
67
|
+
static warning(msg?: string): void;
|
|
68
|
+
static error(msg?: string): void;
|
|
69
|
+
/**
|
|
70
|
+
* Return the primary user's name
|
|
71
|
+
*/
|
|
72
|
+
static getPrimaryUser(): Promise<string>;
|
|
73
|
+
/**
|
|
74
|
+
* restituisce uuid
|
|
75
|
+
* @param device
|
|
76
|
+
*/
|
|
77
|
+
static uuid(device: string): string;
|
|
78
|
+
/**
|
|
79
|
+
*
|
|
80
|
+
* @param date
|
|
81
|
+
*/
|
|
82
|
+
static formatDate(date: Date): string;
|
|
83
|
+
/**
|
|
84
|
+
* return the name of the package: penguins-eggs
|
|
85
|
+
* @returns penguins-eggs
|
|
86
|
+
*/
|
|
87
|
+
static getPackageName(): string;
|
|
88
|
+
/**
|
|
89
|
+
* Count the eggs present in the nest
|
|
90
|
+
* @returns {number} Numero degli snapshot presenti
|
|
91
|
+
*/
|
|
92
|
+
static getSnapshotCount(snapshot_dir?: string): number;
|
|
93
|
+
/**
|
|
94
|
+
* Get the syze of the snapshot
|
|
95
|
+
* @returns {string} grandezza dello snapshot in Byte
|
|
96
|
+
*/
|
|
97
|
+
static getSnapshotSize(snapshot_dir?: string): number;
|
|
98
|
+
/**
|
|
99
|
+
* uefiArch
|
|
100
|
+
* @returns arch
|
|
101
|
+
*/
|
|
102
|
+
static uefiArch(): string;
|
|
103
|
+
/**
|
|
104
|
+
* i386-efi,
|
|
105
|
+
* x86_64-efi,
|
|
106
|
+
* arm64-efi,
|
|
107
|
+
*/
|
|
108
|
+
static uefiFormat(): string;
|
|
109
|
+
/**
|
|
110
|
+
*
|
|
111
|
+
* @returns
|
|
112
|
+
*/
|
|
113
|
+
static uefiBN(): string;
|
|
114
|
+
/**
|
|
115
|
+
*
|
|
116
|
+
* @returns
|
|
117
|
+
*/
|
|
118
|
+
static usrLibPath(): string;
|
|
119
|
+
/**
|
|
120
|
+
*
|
|
121
|
+
* @param prefix
|
|
122
|
+
* @param backup
|
|
123
|
+
* @returns
|
|
124
|
+
*/
|
|
125
|
+
static getPrefix(prefix: string, backup?: boolean): string;
|
|
126
|
+
/**
|
|
127
|
+
*
|
|
128
|
+
* @param volid
|
|
129
|
+
*/
|
|
130
|
+
static getVolid(volid?: string): string;
|
|
131
|
+
/**
|
|
132
|
+
* Return postfix
|
|
133
|
+
* @param basename
|
|
134
|
+
* @returns eggName
|
|
135
|
+
*/
|
|
136
|
+
static getPostfix(): string;
|
|
137
|
+
/**
|
|
138
|
+
* Calculate the space used on the disk
|
|
139
|
+
* @return {void}
|
|
140
|
+
*/
|
|
141
|
+
static getUsedSpace(): number;
|
|
142
|
+
/**
|
|
143
|
+
* Extimate the linuxfs dimension
|
|
144
|
+
* probably is better to rename it as
|
|
145
|
+
* getLiveSpaceRootNeed
|
|
146
|
+
* @returns {number} Byte
|
|
147
|
+
*/
|
|
148
|
+
static getLiveRootSpace(type?: string): number;
|
|
149
|
+
/**
|
|
150
|
+
* Return true if i686 architecture
|
|
151
|
+
* @remarks to move in Utils
|
|
152
|
+
* @returns {boolean} true se l'architettura è i686
|
|
153
|
+
*/
|
|
154
|
+
static isi686(): boolean;
|
|
155
|
+
/**
|
|
156
|
+
* Controlla se è un pacchetto deb
|
|
157
|
+
* /usr/lib/penguins-eggs/bin/node
|
|
158
|
+
*/
|
|
159
|
+
static isDebPackage(): boolean;
|
|
160
|
+
/**
|
|
161
|
+
* Controlla se è un pacchetto sorgente
|
|
162
|
+
*/
|
|
163
|
+
static isSources(): boolean;
|
|
164
|
+
/**
|
|
165
|
+
* Controlla se è un pacchetto npm
|
|
166
|
+
*/
|
|
167
|
+
static isNpmPackage(): boolean;
|
|
168
|
+
/**
|
|
169
|
+
*
|
|
170
|
+
*/
|
|
171
|
+
static rootPenguin(): string;
|
|
172
|
+
/**
|
|
173
|
+
* return the short name of the package: eggs
|
|
174
|
+
* @returns eggs
|
|
175
|
+
*/
|
|
176
|
+
static getFriendName(): string;
|
|
177
|
+
/**
|
|
178
|
+
* return the version of the package
|
|
179
|
+
* @returns version example 8.0.0
|
|
180
|
+
*/
|
|
181
|
+
static getPackageVersion(): string;
|
|
182
|
+
/**
|
|
183
|
+
* Get author name
|
|
184
|
+
*/
|
|
185
|
+
static getAuthorName(): string;
|
|
186
|
+
/**
|
|
187
|
+
* Return the Debian version
|
|
188
|
+
* @returns {number} Versione di Debian
|
|
189
|
+
*/
|
|
190
|
+
static getDebianVersion(): number;
|
|
191
|
+
/**
|
|
192
|
+
* Return true if live system
|
|
193
|
+
* @returns {boolean} isLive
|
|
194
|
+
*/
|
|
195
|
+
static isLive(): boolean;
|
|
196
|
+
/**
|
|
197
|
+
* Ritorna vero se path è un mountpoint
|
|
198
|
+
* @param path
|
|
199
|
+
*/
|
|
200
|
+
static isMountpoint(path?: string): boolean;
|
|
201
|
+
/**
|
|
202
|
+
*
|
|
203
|
+
* @param device
|
|
204
|
+
* @returns
|
|
205
|
+
*/
|
|
206
|
+
static isBlockDevice(device?: string): boolean;
|
|
207
|
+
/**
|
|
208
|
+
* return true if eggs run as root
|
|
209
|
+
* @returns isRoot
|
|
210
|
+
*/
|
|
211
|
+
static isRoot(command?: string): boolean;
|
|
212
|
+
/**
|
|
213
|
+
*
|
|
214
|
+
* @param command
|
|
215
|
+
*/
|
|
216
|
+
static useRoot(command?: string): void;
|
|
217
|
+
/**
|
|
218
|
+
* get the kernel version
|
|
219
|
+
*/
|
|
220
|
+
static kernelVersion(): string;
|
|
221
|
+
/**
|
|
222
|
+
* return the name of network device
|
|
223
|
+
*/
|
|
224
|
+
static iface(): Promise<string>;
|
|
225
|
+
/**
|
|
226
|
+
* address
|
|
227
|
+
*/
|
|
228
|
+
static address(): string;
|
|
229
|
+
/**
|
|
230
|
+
* netmask
|
|
231
|
+
*/
|
|
232
|
+
static netmask(): string;
|
|
233
|
+
/**
|
|
234
|
+
* cidr
|
|
235
|
+
*/
|
|
236
|
+
static cidr(): string;
|
|
237
|
+
/**
|
|
238
|
+
*
|
|
239
|
+
* broadcast
|
|
240
|
+
*/
|
|
241
|
+
static broadcast(): string;
|
|
242
|
+
/**
|
|
243
|
+
* dns
|
|
244
|
+
*/
|
|
245
|
+
static getDns(): string[];
|
|
246
|
+
/**
|
|
247
|
+
* getDomain
|
|
248
|
+
*/
|
|
249
|
+
static getDomain(): string;
|
|
250
|
+
/**
|
|
251
|
+
* @returns gateway
|
|
252
|
+
*/
|
|
253
|
+
static gateway(): string;
|
|
254
|
+
/**
|
|
255
|
+
* write a file
|
|
256
|
+
* @param file
|
|
257
|
+
* @param text
|
|
258
|
+
*/
|
|
259
|
+
static write(file: string, text: string): void;
|
|
260
|
+
/**
|
|
261
|
+
*
|
|
262
|
+
* @param file
|
|
263
|
+
* @param cmd
|
|
264
|
+
*/
|
|
265
|
+
static writeX(file: string, cmd: string): void;
|
|
266
|
+
/**
|
|
267
|
+
*
|
|
268
|
+
* @param file
|
|
269
|
+
* @param cmd
|
|
270
|
+
*/
|
|
271
|
+
static writeXs(file: string, cmds: string[]): void;
|
|
272
|
+
/**
|
|
273
|
+
*
|
|
274
|
+
* @param msg
|
|
275
|
+
*/
|
|
276
|
+
static customConfirm(msg?: string): Promise<boolean>;
|
|
277
|
+
/**
|
|
278
|
+
*
|
|
279
|
+
* @param msg
|
|
280
|
+
*/
|
|
281
|
+
static customConfirmCompanion(msg?: string): Promise<any>;
|
|
282
|
+
/**
|
|
283
|
+
*
|
|
284
|
+
* @param msg
|
|
285
|
+
*/
|
|
286
|
+
static customConfirmAbort(msg?: string): Promise<any>;
|
|
287
|
+
/**
|
|
288
|
+
*
|
|
289
|
+
*/
|
|
290
|
+
static pressKeyToExit(warming?: string, procContinue?: boolean): Promise<void>;
|
|
291
|
+
/**
|
|
292
|
+
* titles
|
|
293
|
+
* Penguin's are gettings alive!
|
|
294
|
+
*/
|
|
295
|
+
static titles(command?: string): void;
|
|
296
|
+
/**
|
|
297
|
+
*
|
|
298
|
+
* @returns flag
|
|
299
|
+
*/
|
|
300
|
+
static flag(): string;
|
|
301
|
+
/**
|
|
302
|
+
*
|
|
303
|
+
* @param verbose
|
|
304
|
+
*/
|
|
305
|
+
static setEcho(verbose?: boolean): object;
|
|
306
|
+
/**
|
|
307
|
+
*
|
|
308
|
+
* @param bytes
|
|
309
|
+
* @param decimals
|
|
310
|
+
* @returns
|
|
311
|
+
*/
|
|
312
|
+
static formatBytes(bytes: number, decimals?: number): string;
|
|
313
|
+
/**
|
|
314
|
+
*
|
|
315
|
+
* @returns wardrobe
|
|
316
|
+
*/
|
|
317
|
+
static wardrobe(): Promise<string>;
|
|
318
|
+
}
|