penguins-eggs 9.6.34 → 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 +1458 -1
- package/README.md +823 -8
- package/addons/eggs/theme/livecd/grub.main.cfg +4 -4
- package/addons/eggs/theme/livecd/isolinux.main.cfg +5 -5
- package/bin/dev.cmd +1 -1
- package/bin/dev.js +6 -0
- package/bin/run.js +5 -0
- package/conf/derivatives.yaml +2 -0
- package/conf/distros/buster/calamares/calamares-modules/bootloader-config/bootloader-config.sh +3 -3
- package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +1 -1
- package/conf/distros/buster/calamares/modules/fstab.yml +1 -1
- package/conf/distros/focal/calamares/modules/fstab.yml +1 -1
- package/conf/{exclude.list.homes → exclude.list.d/home.list} +6 -1
- package/conf/{exclude.list.template → exclude.list.d/master.list} +15 -24
- package/conf/exclude.list.d/var.list +21 -0
- package/conf/tools.yaml +1 -3
- 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 +51 -58
- package/dist/classes/daddy.d.ts +18 -0
- package/dist/classes/daddy.js +93 -101
- package/dist/classes/distro.d.ts +26 -0
- package/dist/classes/distro.js +45 -27
- package/dist/classes/families/archlinux.d.ts +61 -0
- package/dist/classes/families/archlinux.js +56 -113
- package/dist/classes/families/debian.d.ts +65 -0
- package/dist/classes/families/debian.js +68 -143
- package/dist/classes/families/fedora.d.ts +52 -0
- package/dist/classes/families/fedora.js +43 -99
- 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 +45 -97
- package/dist/classes/incubation/branding.d.ts +17 -0
- package/dist/classes/incubation/branding.js +33 -32
- package/dist/classes/incubation/distros/bionic.d.ts +32 -0
- package/dist/classes/incubation/distros/bionic.js +15 -15
- package/dist/classes/incubation/distros/buster.d.ts +32 -0
- package/dist/classes/incubation/distros/buster.js +15 -15
- package/dist/classes/incubation/distros/focal.d.ts +32 -0
- package/dist/classes/incubation/distros/focal.js +15 -15
- package/dist/classes/incubation/distros/jessie.d.ts +31 -0
- package/dist/classes/incubation/distros/jessie.js +11 -13
- package/dist/classes/incubation/distros/rolling.d.ts +32 -0
- package/dist/classes/incubation/distros/rolling.js +15 -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 -17
- 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 +137 -132
- package/dist/classes/incubation/incubator.d.ts +40 -0
- package/dist/classes/incubation/incubator.js +93 -87
- 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 +42 -44
- package/dist/classes/keyboards.d.ts +50 -0
- package/dist/classes/keyboards.js +110 -107
- 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 +21 -25
- package/dist/classes/ovary.d.ts +205 -0
- package/dist/classes/ovary.js +1262 -1334
- package/dist/classes/pacman.d.ts +149 -0
- package/dist/classes/pacman.js +347 -426
- package/dist/classes/pve-live.d.ts +17 -0
- package/dist/classes/pve-live.js +23 -25
- package/dist/classes/pxe.d.ts +65 -0
- package/dist/classes/pxe.js +206 -210
- package/dist/classes/settings.d.ts +53 -0
- package/dist/classes/settings.js +99 -102
- 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 +35 -39
- package/dist/classes/tailor.d.ts +46 -0
- package/dist/classes/tailor.js +225 -241
- package/dist/classes/tools.d.ts +30 -0
- package/dist/classes/tools.js +20 -26
- package/dist/classes/users.d.ts +28 -0
- package/dist/classes/users.js +22 -16
- package/dist/classes/utils.d.ts +318 -0
- package/dist/classes/utils.js +91 -76
- 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 +54 -60
- package/dist/commands/adapt.d.ts +17 -0
- package/dist/commands/adapt.js +21 -25
- package/dist/commands/analyze.d.ts +26 -0
- package/dist/commands/analyze.js +60 -74
- package/dist/commands/calamares.d.ts +29 -0
- package/dist/commands/calamares.js +53 -60
- package/dist/commands/config.d.ts +36 -0
- package/dist/commands/config.js +120 -142
- package/dist/commands/cuckoo.d.ts +16 -0
- package/dist/commands/cuckoo.js +24 -28
- package/dist/commands/dad.d.ts +19 -0
- package/dist/commands/dad.js +26 -30
- package/dist/commands/export/deb.d.ts +19 -0
- package/dist/commands/export/deb.js +33 -42
- package/dist/commands/export/iso.d.ts +19 -0
- package/dist/commands/export/iso.js +24 -28
- package/dist/commands/install.d.ts +37 -0
- package/dist/commands/install.js +68 -68
- package/dist/commands/kill.d.ts +24 -0
- package/dist/commands/kill.js +31 -38
- package/dist/commands/mom.d.ts +16 -0
- package/dist/commands/mom.js +20 -22
- package/dist/commands/produce.d.ts +33 -0
- package/dist/commands/produce.js +100 -92
- package/dist/commands/status.d.ts +23 -0
- package/dist/commands/status.js +14 -20
- package/dist/commands/syncfrom.d.ts +45 -0
- package/dist/commands/syncfrom.js +99 -109
- package/dist/commands/syncto.d.ts +40 -0
- package/dist/commands/syncto.js +152 -216
- package/dist/commands/tools/clean.d.ts +18 -0
- package/dist/commands/tools/clean.js +21 -25
- package/dist/commands/tools/ppa.d.ts +26 -0
- package/dist/commands/tools/ppa.js +46 -50
- package/dist/commands/tools/skel.d.ts +18 -0
- package/dist/commands/tools/skel.js +27 -31
- package/dist/commands/tools/stat.d.ts +31 -0
- package/dist/commands/tools/stat.js +21 -25
- package/dist/commands/tools/yolk.d.ts +24 -0
- package/dist/commands/tools/yolk.js +23 -27
- package/dist/commands/update.d.ts +47 -0
- package/dist/commands/update.js +66 -70
- package/dist/commands/wardrobe/get.d.ts +23 -0
- package/dist/commands/wardrobe/get.js +26 -28
- package/dist/commands/wardrobe/list.d.ts +24 -0
- package/dist/commands/wardrobe/list.js +69 -67
- package/dist/commands/wardrobe/show.d.ts +25 -0
- package/dist/commands/wardrobe/show.js +57 -52
- package/dist/commands/wardrobe/wear.d.ts +26 -0
- package/dist/commands/wardrobe/wear.js +39 -41
- 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 +53 -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 +11 -16
- 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 -0
- 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 +69 -46
- 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 +33 -23
- 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 +28 -31
- 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 +80 -86
- 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} +136 -130
- package/dist/krill/sequence.d.ts +156 -0
- package/dist/krill/sequence.js +640 -0
- 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 +19 -17
- 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 +130 -76
- package/package.json +55 -74
- package/scripts/_eggs +9 -7
- package/scripts/eggs.bash +4 -4
- package/LICENSE +0 -339
- package/bin/dev +0 -17
- package/bin/run +0 -5
- package/conf/exclude.list.custom +0 -3
- 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/interfaces/i-filters.js +0 -3
- package/dist/krill/krill-sequence.js +0 -645
- package/dist/lib/dependencies.js +0 -120
- package/manpages/doc/man/README.md +0 -0
- /package/conf/{exclude.list.usr → exclude.list.d/usr.list} +0 -0
|
@@ -1,109 +1,43 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/* eslint-disable no-console */
|
|
3
1
|
/**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const utils_1 = tslib_1.__importDefault(require("../utils"));
|
|
15
|
-
const pacman_1 = tslib_1.__importDefault(require("../pacman"));
|
|
16
|
-
const dependencies_1 = require("../../lib/dependencies");
|
|
17
|
-
const utils_2 = require("../../lib/utils");
|
|
2
|
+
* ./src/classes/families/archlinux.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 shx from 'shelljs';
|
|
10
|
+
import { exec } from '../../lib/utils.js';
|
|
11
|
+
import Utils from '../utils.js';
|
|
18
12
|
/**
|
|
19
13
|
* Archlinux
|
|
20
14
|
* @remarks all the utilities
|
|
21
15
|
*/
|
|
22
|
-
class Archlinux {
|
|
23
|
-
|
|
24
|
-
* Archlinux: isInstalledXorg
|
|
25
|
-
* @returns true if xorg is installed
|
|
26
|
-
*/
|
|
27
|
-
static isInstalledXorg() {
|
|
28
|
-
return this.packageIsInstalled('xorg-server-common');
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Archlinux: isInstalledWayland
|
|
32
|
-
* @returns true if wayland is installed
|
|
33
|
-
*/
|
|
34
|
-
static isInstalledWayland() {
|
|
35
|
-
return this.packageIsInstalled('xwayland');
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Archlinux: packages
|
|
39
|
-
* Create array packages to install/remove
|
|
40
|
-
*/
|
|
41
|
-
static packages(remove = false, verbose = false) {
|
|
42
|
-
const packages = ['']; // 'arch-install-scripts', 'e2fsprogs', 'erofs-utils', 'findutils', 'gzip', 'libarchive', 'libisoburn', 'mtools', 'openssl', 'rsync', 'sed', 'syslinux', 'squashfs-tools']
|
|
43
|
-
const toInstall = [];
|
|
44
|
-
const toRemove = [];
|
|
45
|
-
for (const elem of packages) {
|
|
46
|
-
if (!this.packageIsInstalled(elem)) {
|
|
47
|
-
toInstall.push(elem);
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
toRemove.push(elem);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
if (remove) {
|
|
54
|
-
return toRemove;
|
|
55
|
-
}
|
|
56
|
-
return toInstall;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Archlinux: prerequisitesInstall
|
|
60
|
-
*/
|
|
61
|
-
static async prerequisitesInstall(verbose = true) {
|
|
62
|
-
const echo = utils_1.default.setEcho(verbose);
|
|
63
|
-
const retVal = false;
|
|
64
|
-
await (0, utils_2.exec)(`pacman -Sy ${(0, dependencies_1.array2spaced)(this.packages(false, verbose))}`, echo);
|
|
65
|
-
if (!pacman_1.default.isInstalledGui()) {
|
|
66
|
-
/**
|
|
67
|
-
* live-config-getty-generator
|
|
68
|
-
*
|
|
69
|
-
* Viene rimosso in naked, altrimenti non funziona il login
|
|
70
|
-
* generando un errore getty.
|
|
71
|
-
* Sarebbe utile individuarne le ragioni, forse rompe anche sul desktop
|
|
72
|
-
* non permettendo di cambiare terminale e loggarsi
|
|
73
|
-
*
|
|
74
|
-
* A che serve?
|
|
75
|
-
*/
|
|
76
|
-
const fileToRemove = '/lib/systemd/system-generators/live-config-getty-generator';
|
|
77
|
-
if (node_fs_1.default.existsSync(fileToRemove)) {
|
|
78
|
-
await (0, utils_2.exec)(`rm ${fileToRemove}`);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return retVal;
|
|
82
|
-
}
|
|
16
|
+
export default class Archlinux {
|
|
17
|
+
static packs4calamares = ['calamares-eggs']; // , 'calamares', 'calamares-git']
|
|
83
18
|
/**
|
|
84
19
|
* Archlinux: calamaresInstall
|
|
85
20
|
*/
|
|
86
21
|
static async calamaresInstall(verbose = false) {
|
|
87
22
|
verbose = true; // serve per pacman
|
|
88
|
-
const echo =
|
|
89
|
-
// const cal_eggs = 'calamares-
|
|
90
|
-
// const cal_eggs = 'arco-calamares-
|
|
91
|
-
// const cal_eggs = '
|
|
92
|
-
|
|
93
|
-
const cal_eggs = 'arco-calamares-3.3.2-02-x86_64.pkg.tar.zst'; // 2024-02-10
|
|
23
|
+
const echo = Utils.setEcho(verbose);
|
|
24
|
+
// const cal_eggs = 'arco-calamares-3.3.2-02-x86_64.pkg.tar.zst' // 2024-02-10
|
|
25
|
+
// const cal_eggs = 'arco-calamares-3.3.5-02-x86_64.pkg.tar.zst' // 2024-03-10
|
|
26
|
+
// const cal_eggs = 'calamares-garuda-3.3.5.r19.g10acebff4-1-x86_64.pkg.tar.zst' // 2024-03-10
|
|
27
|
+
const cal_eggs = 'arco-calamares-3.3.6-06-x86_64.pkg.tar.zst'; // 24/04/27
|
|
94
28
|
let cmd = `wget -O /tmp/${cal_eggs} https://sourceforge.net/projects/penguins-eggs/files/PKGBUILD/${cal_eggs}/download`;
|
|
95
29
|
try {
|
|
96
|
-
await
|
|
30
|
+
await exec(cmd, echo);
|
|
97
31
|
cmd = `pacman -U /tmp/${cal_eggs}`;
|
|
98
32
|
try {
|
|
99
|
-
await
|
|
33
|
+
await exec(cmd, echo);
|
|
100
34
|
}
|
|
101
35
|
catch {
|
|
102
|
-
|
|
36
|
+
Utils.error(`Cannot install /tmp/${cal_eggs}`); // + e.error)
|
|
103
37
|
}
|
|
104
38
|
}
|
|
105
39
|
catch {
|
|
106
|
-
|
|
40
|
+
Utils.error(`Cannot download ${cal_eggs}`); // + e.error)
|
|
107
41
|
}
|
|
108
42
|
}
|
|
109
43
|
/**
|
|
@@ -111,7 +45,7 @@ class Archlinux {
|
|
|
111
45
|
*/
|
|
112
46
|
static async calamaresPolicies() {
|
|
113
47
|
const policyFile = '/usr/share/polkit-1/actions/com.github.calamares.calamares.policy';
|
|
114
|
-
await
|
|
48
|
+
await exec(`sed -i 's/auth_admin/yes/' ${policyFile}`);
|
|
115
49
|
}
|
|
116
50
|
/**
|
|
117
51
|
* Archlinux: calamaresRemove
|
|
@@ -119,39 +53,36 @@ class Archlinux {
|
|
|
119
53
|
static async calamaresRemove(verbose = true) {
|
|
120
54
|
verbose = true; // serve per pacman
|
|
121
55
|
let removed = false;
|
|
122
|
-
const echo =
|
|
123
|
-
|
|
56
|
+
const echo = Utils.setEcho(verbose);
|
|
57
|
+
const calPKGs = [
|
|
124
58
|
'arco-calamares',
|
|
125
|
-
'arco-calamares-git',
|
|
126
59
|
'calamares',
|
|
127
|
-
'calamares-
|
|
60
|
+
'calamares-garuda',
|
|
128
61
|
];
|
|
129
62
|
for (const calPKG of calPKGs) {
|
|
130
63
|
if (await this.packagePacmanAvailable(calPKG)) {
|
|
131
|
-
await
|
|
64
|
+
await exec(`pacman -R ${calPKG}`, echo);
|
|
132
65
|
removed = true;
|
|
133
66
|
}
|
|
134
67
|
}
|
|
135
|
-
if (removed) {
|
|
136
|
-
|
|
137
|
-
await (0, utils_2.exec)('rm /etc/calamares -rf', echo);
|
|
138
|
-
}
|
|
68
|
+
if (removed && fs.existsSync('/etc/calamares')) {
|
|
69
|
+
await exec('rm /etc/calamares -rf', echo);
|
|
139
70
|
}
|
|
140
71
|
return removed;
|
|
141
72
|
}
|
|
142
73
|
/**
|
|
143
|
-
* Archlinux:
|
|
144
|
-
*
|
|
145
|
-
* @param packageName
|
|
74
|
+
* Archlinux: isInstalledWayland
|
|
75
|
+
* @returns true if wayland is installed
|
|
146
76
|
*/
|
|
147
|
-
static
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
77
|
+
static isInstalledWayland() {
|
|
78
|
+
return this.packageIsInstalled('xwayland');
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Archlinux: isInstalledXorg
|
|
82
|
+
* @returns true if xorg is installed
|
|
83
|
+
*/
|
|
84
|
+
static isInstalledXorg() {
|
|
85
|
+
return this.packageIsInstalled('xorg-server-common');
|
|
155
86
|
}
|
|
156
87
|
/**
|
|
157
88
|
* Archlinux: packageInstall
|
|
@@ -161,11 +92,25 @@ class Archlinux {
|
|
|
161
92
|
*/
|
|
162
93
|
static async packageInstall(packageName) {
|
|
163
94
|
let retVal = false;
|
|
164
|
-
if (
|
|
95
|
+
if (shx.exec(`/usr/bin/pacman -Si ${packageName}`, { silent: true }) === '0') {
|
|
165
96
|
retVal = true;
|
|
166
97
|
}
|
|
167
98
|
return retVal;
|
|
168
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Archlinux: packageIsInstalled
|
|
102
|
+
* restuisce VERO se il pacchetto è installato
|
|
103
|
+
* @param packageName
|
|
104
|
+
*/
|
|
105
|
+
static packageIsInstalled(packageName) {
|
|
106
|
+
let installed = false;
|
|
107
|
+
const cmd = `/usr/bin/pacman -Qi ${packageName}`;
|
|
108
|
+
const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
|
|
109
|
+
if (stdout.includes(packageName)) {
|
|
110
|
+
installed = true;
|
|
111
|
+
}
|
|
112
|
+
return installed;
|
|
113
|
+
}
|
|
169
114
|
/**
|
|
170
115
|
* Archlinux: packagePacmanAvailable
|
|
171
116
|
* restuisce VERO se il pacchetto è installato
|
|
@@ -174,7 +119,7 @@ class Archlinux {
|
|
|
174
119
|
static async packagePacmanAvailable(packageName) {
|
|
175
120
|
let available = false;
|
|
176
121
|
const cmd = `/usr/bin/pacman -Q ${packageName} | awk '{ print $1 }'`;
|
|
177
|
-
const stdout =
|
|
122
|
+
const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
|
|
178
123
|
if (stdout == packageName) {
|
|
179
124
|
available = true;
|
|
180
125
|
}
|
|
@@ -188,7 +133,7 @@ class Archlinux {
|
|
|
188
133
|
static async packagePacmanLast(packageName) {
|
|
189
134
|
let version = '';
|
|
190
135
|
const cmd = `/usr/bin/pacman -Q ${packageName} | grep Version:`;
|
|
191
|
-
const stdout =
|
|
136
|
+
const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
|
|
192
137
|
version = stdout.slice(9);
|
|
193
138
|
// console.log('===================================')
|
|
194
139
|
// console.log('[' + version + ']')
|
|
@@ -196,5 +141,3 @@ class Archlinux {
|
|
|
196
141
|
return version;
|
|
197
142
|
}
|
|
198
143
|
}
|
|
199
|
-
Archlinux.packs4calamares = ['calamares-eggs']; // , 'calamares', 'calamares-git']
|
|
200
|
-
exports.default = Archlinux;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/families/debian.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
|
+
* Debian
|
|
10
|
+
* @remarks all the utilities
|
|
11
|
+
*/
|
|
12
|
+
export default class Debian {
|
|
13
|
+
static debs4calamares: string[];
|
|
14
|
+
/**
|
|
15
|
+
* Debian: calamaresInstall
|
|
16
|
+
*/
|
|
17
|
+
static calamaresInstall(verbose?: boolean): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Debian: calamaresPolicies
|
|
20
|
+
*/
|
|
21
|
+
static calamaresPolicies(): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Debian: calamaresRemove
|
|
24
|
+
*/
|
|
25
|
+
static calamaresRemove(verbose?: boolean): Promise<boolean>;
|
|
26
|
+
/**
|
|
27
|
+
* Debian: isInstalledWayland
|
|
28
|
+
* @returns true if wayland is installed
|
|
29
|
+
*/
|
|
30
|
+
static isInstalledWayland(): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Debian: isInstalledXorg
|
|
33
|
+
* @returns true if xorg is installed
|
|
34
|
+
*/
|
|
35
|
+
static isInstalledXorg(): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Debian: liveInstallerPolicies
|
|
38
|
+
* liveInstallerPolicies is NOT USED
|
|
39
|
+
*/
|
|
40
|
+
static liveInstallerPolicies(): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Debian: packageAptAvailable
|
|
43
|
+
* return TRUE if package is present on repository
|
|
44
|
+
* @param debPackage
|
|
45
|
+
*/
|
|
46
|
+
static packageAptAvailable(packageName: string): Promise<boolean>;
|
|
47
|
+
/**
|
|
48
|
+
* Debian: packageAptLast
|
|
49
|
+
* @param debPackage
|
|
50
|
+
* @returns version
|
|
51
|
+
*/
|
|
52
|
+
static packageAptLast(debPackage: string): Promise<string>;
|
|
53
|
+
/**
|
|
54
|
+
* Debian: packageInstall
|
|
55
|
+
* @param packageName {string} Pacchetto Debian da installare
|
|
56
|
+
* @returns {boolean} True if success
|
|
57
|
+
*/
|
|
58
|
+
static packageInstall(packageName: string): Promise<boolean>;
|
|
59
|
+
/**
|
|
60
|
+
* Debian: packageIsInstalled
|
|
61
|
+
* restuisce VERO se il pacchetto è installato
|
|
62
|
+
* @param debPackage
|
|
63
|
+
*/
|
|
64
|
+
static packageIsInstalled(debPackage: string): boolean;
|
|
65
|
+
}
|
|
@@ -1,127 +1,37 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const utils_1 = tslib_1.__importDefault(require("../utils"));
|
|
14
|
-
const pacman_1 = tslib_1.__importDefault(require("../pacman"));
|
|
15
|
-
const utils_2 = require("../../lib/utils");
|
|
16
|
-
const dependencies_1 = require("../../lib/dependencies");
|
|
2
|
+
* ./src/classes/families/debian.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 shx from 'shelljs';
|
|
10
|
+
import { exec } from '../../lib/utils.js';
|
|
11
|
+
import Utils from '../utils.js';
|
|
17
12
|
/**
|
|
18
13
|
* Debian
|
|
19
14
|
* @remarks all the utilities
|
|
20
15
|
*/
|
|
21
|
-
class Debian {
|
|
22
|
-
|
|
23
|
-
* Debian: isInstalledXorg
|
|
24
|
-
* @returns true if xorg is installed
|
|
25
|
-
*/
|
|
26
|
-
static isInstalledXorg() {
|
|
27
|
-
return this.packageIsInstalled('xserver-xorg-core');
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Debian: isInstalledWayland
|
|
31
|
-
* @returns true if wayland is installed
|
|
32
|
-
*/
|
|
33
|
-
static isInstalledWayland() {
|
|
34
|
-
return this.packageIsInstalled('xwayland');
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Debian: packages
|
|
38
|
-
* Create array packages to install/remove
|
|
39
|
-
*/
|
|
40
|
-
static packages(remove = false, verbose = false) {
|
|
41
|
-
let packages = [];
|
|
42
|
-
const toInstall = [];
|
|
43
|
-
const toRemove = [];
|
|
44
|
-
for (const elem of dependencies_1.depCommon) {
|
|
45
|
-
if (!this.packageIsInstalled(elem)) {
|
|
46
|
-
toInstall.push(elem);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
toRemove.push(elem);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
const arch = utils_1.default.uefiArch();
|
|
53
|
-
for (const dep of dependencies_1.depArch) {
|
|
54
|
-
if (dep.arch.includes(arch)) {
|
|
55
|
-
if (!this.packageIsInstalled(dep.package)) {
|
|
56
|
-
toInstall.push(dep.package);
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
toRemove.push(dep.package);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* depending on init/systemd
|
|
65
|
-
*/
|
|
66
|
-
const initType = shelljs_1.default.exec('ps --no-headers -o comm 1', { silent: !verbose }).trim();
|
|
67
|
-
for (const dep of dependencies_1.depInit) {
|
|
68
|
-
if (dep.init.includes(initType)) {
|
|
69
|
-
if (!this.packageIsInstalled(dep.package)) {
|
|
70
|
-
toInstall.push(dep.package);
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
toRemove.push(dep.package);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
packages = toInstall;
|
|
78
|
-
if (remove) {
|
|
79
|
-
packages = toRemove;
|
|
80
|
-
}
|
|
81
|
-
return packages;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Debian: prerequisitesInstall
|
|
85
|
-
* install prerequisites
|
|
86
|
-
*/
|
|
87
|
-
static async prerequisitesInstall(verbose = true) {
|
|
88
|
-
const echo = utils_1.default.setEcho(verbose);
|
|
89
|
-
const retVal = false;
|
|
90
|
-
await (0, utils_2.exec)(`apt-get install --yes ${(0, dependencies_1.array2spaced)(this.packages(false, verbose))}`, echo);
|
|
91
|
-
if (!pacman_1.default.isInstalledGui()) {
|
|
92
|
-
/**
|
|
93
|
-
* live-config-getty-generator
|
|
94
|
-
*
|
|
95
|
-
* Viene rimosso in naked, altrimenti non funziona il login
|
|
96
|
-
* generando un errore getty.
|
|
97
|
-
* Sarebbe utile individuarne le ragioni, forse rompe anche sul desktop
|
|
98
|
-
* non permettendo di cambiare terminale e loggarsi
|
|
99
|
-
*
|
|
100
|
-
* A che serve?
|
|
101
|
-
*/
|
|
102
|
-
const fileToRemove = '/lib/systemd/system-generators/live-config-getty-generator';
|
|
103
|
-
if (node_fs_1.default.existsSync(fileToRemove)) {
|
|
104
|
-
await (0, utils_2.exec)(`rm ${fileToRemove}`);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
return retVal;
|
|
108
|
-
}
|
|
16
|
+
export default class Debian {
|
|
17
|
+
static debs4calamares = ['calamares', 'qml-module-qtquick2', 'qml-module-qtquick-controls'];
|
|
109
18
|
/**
|
|
110
19
|
* Debian: calamaresInstall
|
|
111
20
|
*/
|
|
112
21
|
static async calamaresInstall(verbose = true) {
|
|
113
|
-
const echo =
|
|
22
|
+
const echo = Utils.setEcho(verbose);
|
|
114
23
|
try {
|
|
115
|
-
await
|
|
24
|
+
await exec('apt-get update --yes', echo);
|
|
116
25
|
}
|
|
117
26
|
catch {
|
|
118
|
-
|
|
27
|
+
Utils.error('Debian.calamaresInstall() apt-get update --yes '); // + e.error as string)
|
|
119
28
|
}
|
|
120
29
|
try {
|
|
121
|
-
await
|
|
30
|
+
// await exec(`apt-get install --yes ${array2spaced(this.debs4calamares)}`, echo)
|
|
31
|
+
await exec(`apt-get install --yes ${this.debs4calamares.join(' ')}`, echo);
|
|
122
32
|
}
|
|
123
33
|
catch {
|
|
124
|
-
|
|
34
|
+
Utils.error(`Debian.calamaresInstall() apt-get install --yes ${array2spaced(this.debs4calamares)}`); // + e.error)
|
|
125
35
|
}
|
|
126
36
|
}
|
|
127
37
|
/**
|
|
@@ -129,54 +39,42 @@ class Debian {
|
|
|
129
39
|
*/
|
|
130
40
|
static async calamaresPolicies() {
|
|
131
41
|
const policyFile = '/usr/share/polkit-1/actions/com.github.calamares.calamares.policy';
|
|
132
|
-
await
|
|
42
|
+
await exec(`sed -i 's/auth_admin/yes/' ${policyFile}`);
|
|
133
43
|
}
|
|
134
44
|
/**
|
|
135
45
|
* Debian: calamaresRemove
|
|
136
46
|
*/
|
|
137
47
|
static async calamaresRemove(verbose = true) {
|
|
138
|
-
const echo =
|
|
48
|
+
const echo = Utils.setEcho(verbose);
|
|
139
49
|
const retVal = false;
|
|
140
|
-
if (
|
|
141
|
-
await
|
|
50
|
+
if (fs.existsSync('/etc/calamares')) {
|
|
51
|
+
await exec('rm /etc/calamares -rf', echo);
|
|
142
52
|
}
|
|
143
|
-
await
|
|
144
|
-
await
|
|
53
|
+
await exec('apt-get remove --purge --yes calamares', echo);
|
|
54
|
+
await exec('apt-get autoremove --yes', echo);
|
|
145
55
|
return retVal;
|
|
146
56
|
}
|
|
147
57
|
/**
|
|
148
|
-
* Debian:
|
|
149
|
-
*
|
|
58
|
+
* Debian: isInstalledWayland
|
|
59
|
+
* @returns true if wayland is installed
|
|
150
60
|
*/
|
|
151
|
-
static
|
|
152
|
-
|
|
153
|
-
await (0, utils_2.exec)(`sed -i 's/auth_admin/yes/' ${policyFile}`);
|
|
61
|
+
static isInstalledWayland() {
|
|
62
|
+
return this.packageIsInstalled('xwayland');
|
|
154
63
|
}
|
|
155
64
|
/**
|
|
156
|
-
* Debian:
|
|
157
|
-
*
|
|
158
|
-
* @param debPackage
|
|
65
|
+
* Debian: isInstalledXorg
|
|
66
|
+
* @returns true if xorg is installed
|
|
159
67
|
*/
|
|
160
|
-
static
|
|
161
|
-
|
|
162
|
-
const cmd = `/usr/bin/dpkg -s ${debPackage} | grep Status:`;
|
|
163
|
-
const stdout = shelljs_1.default.exec(cmd, { silent: true }).stdout.trim();
|
|
164
|
-
if (stdout === 'Status: install ok installed') {
|
|
165
|
-
installed = true;
|
|
166
|
-
}
|
|
167
|
-
return installed;
|
|
68
|
+
static isInstalledXorg() {
|
|
69
|
+
return this.packageIsInstalled('xserver-xorg-core');
|
|
168
70
|
}
|
|
169
71
|
/**
|
|
170
|
-
* Debian:
|
|
171
|
-
*
|
|
172
|
-
* @returns {boolean} True if success
|
|
72
|
+
* Debian: liveInstallerPolicies
|
|
73
|
+
* liveInstallerPolicies is NOT USED
|
|
173
74
|
*/
|
|
174
|
-
static async
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
retVal = true;
|
|
178
|
-
}
|
|
179
|
-
return retVal;
|
|
75
|
+
static async liveInstallerPolicies() {
|
|
76
|
+
const policyFile = '/usr/share/polkit-1/actions/com.github.pieroproietti.penguins-eggs.policy';
|
|
77
|
+
await exec(`sed -i 's/auth_admin/yes/' ${policyFile}`);
|
|
180
78
|
}
|
|
181
79
|
/**
|
|
182
80
|
* Debian: packageAptAvailable
|
|
@@ -187,7 +85,7 @@ class Debian {
|
|
|
187
85
|
let available = false;
|
|
188
86
|
const cmd = `apt-cache show ${packageName} | grep Package:`;
|
|
189
87
|
const test = `Package: ${packageName}`;
|
|
190
|
-
const stdout =
|
|
88
|
+
const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
|
|
191
89
|
if (stdout === test) {
|
|
192
90
|
available = true;
|
|
193
91
|
}
|
|
@@ -201,13 +99,40 @@ class Debian {
|
|
|
201
99
|
static async packageAptLast(debPackage) {
|
|
202
100
|
let version = '';
|
|
203
101
|
const cmd = `apt-cache show ${debPackage} | grep Version:`;
|
|
204
|
-
const stdout =
|
|
102
|
+
const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
|
|
205
103
|
version = stdout.slice(9);
|
|
206
104
|
// console.log('===================================')
|
|
207
105
|
// console.log('[' + version + ']')
|
|
208
106
|
// console.log('===================================')
|
|
209
107
|
return version;
|
|
210
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Debian: packageInstall
|
|
111
|
+
* @param packageName {string} Pacchetto Debian da installare
|
|
112
|
+
* @returns {boolean} True if success
|
|
113
|
+
*/
|
|
114
|
+
static async packageInstall(packageName) {
|
|
115
|
+
let retVal = false;
|
|
116
|
+
if (shx.exec(`/usr/bin/apt-get install -y ${packageName}`, { silent: true }) === '0') {
|
|
117
|
+
retVal = true;
|
|
118
|
+
}
|
|
119
|
+
return retVal;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Debian: packageIsInstalled
|
|
123
|
+
* restuisce VERO se il pacchetto è installato
|
|
124
|
+
* @param debPackage
|
|
125
|
+
*/
|
|
126
|
+
static packageIsInstalled(debPackage) {
|
|
127
|
+
let installed = false;
|
|
128
|
+
const cmd = `/usr/bin/dpkg -s ${debPackage} | grep Status:`;
|
|
129
|
+
const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
|
|
130
|
+
if (stdout === 'Status: install ok installed') {
|
|
131
|
+
installed = true;
|
|
132
|
+
}
|
|
133
|
+
return installed;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
function array2spaced(oArray) {
|
|
137
|
+
return oArray.join(' ');
|
|
211
138
|
}
|
|
212
|
-
Debian.debs4calamares = ['calamares', 'qml-module-qtquick2', 'qml-module-qtquick-controls'];
|
|
213
|
-
exports.default = Debian;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/classes/families/fedora.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
|
+
* Utils: general porpourse utils
|
|
10
|
+
* @remarks all the utilities
|
|
11
|
+
*/
|
|
12
|
+
export default class Fedora {
|
|
13
|
+
static packs4calamares: string[];
|
|
14
|
+
/**
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
static calamaresInstall(verbose?: boolean): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* calamaresPolicies
|
|
20
|
+
*/
|
|
21
|
+
static calamaresPolicies(): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
25
|
+
static calamaresRemove(verbose?: boolean): Promise<boolean>;
|
|
26
|
+
/**
|
|
27
|
+
* check if it's installed wayland
|
|
28
|
+
* @returns true if wayland
|
|
29
|
+
*/
|
|
30
|
+
static isInstalledWayland(): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* check if it's installed xorg
|
|
33
|
+
* @returns true if xorg is installed
|
|
34
|
+
*/
|
|
35
|
+
static isInstalledXorg(): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* restuisce VERO se il pacchetto è installato
|
|
38
|
+
* @param packageName
|
|
39
|
+
*/
|
|
40
|
+
static packageAvailable(packageName: string): Promise<boolean>;
|
|
41
|
+
/**
|
|
42
|
+
* Install the package packageName
|
|
43
|
+
* @param packageName {string} Pacchetto da installare
|
|
44
|
+
* @returns {boolean} True if success
|
|
45
|
+
*/
|
|
46
|
+
static packageInstall(packageName: string): Promise<boolean>;
|
|
47
|
+
/**
|
|
48
|
+
* restuisce VERO se il pacchetto è installato
|
|
49
|
+
* @param packageName
|
|
50
|
+
*/
|
|
51
|
+
static packageIsInstalled(packageName: string): boolean;
|
|
52
|
+
}
|