penguins-eggs 8.0.30 → 9.0.2
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/README.md +251 -163
- package/addons/README.md +78 -84
- package/addons/{pve → blissos}/theme/applications/install-debian.desktop +0 -0
- package/addons/{pve → blissos}/theme/artwork/install-debian.png +0 -0
- package/addons/blissos/theme/calamares/branding/blissos-logo.png +0 -0
- package/addons/{pve → blissos}/theme/calamares/branding/branding.desc +0 -0
- package/addons/blissos/theme/calamares/branding/languages.png +0 -0
- package/addons/blissos/theme/calamares/branding/show.qml +75 -0
- package/addons/blissos/theme/calamares/branding/slide1.png +0 -0
- package/addons/blissos/theme/calamares/branding/slide2.png +0 -0
- package/addons/blissos/theme/calamares/branding/slide3.png +0 -0
- package/addons/blissos/theme/calamares/branding/welcome.png +0 -0
- package/addons/{pve → blissos}/theme/calamares/modules/partition.yml +2 -2
- package/addons/blissos/theme/livecd/README.md +23 -0
- package/addons/blissos/theme/livecd/grub.template.cfg +34 -0
- package/addons/blissos/theme/livecd/grub.theme.cfg +46 -0
- package/addons/blissos/theme/livecd/isolinux.template.cfg +29 -0
- package/addons/blissos/theme/livecd/isolinux.theme.cfg +45 -0
- package/addons/blissos/theme/livecd/splash.png +0 -0
- package/addons/debian/theme/README.md +23 -0
- package/addons/debian/theme/{branding → calamares/branding}/branding.desc +0 -0
- package/addons/debian/theme/{branding → calamares/branding}/debian-logo.png +0 -0
- package/addons/debian/theme/{branding → calamares/branding}/show.qml +0 -0
- package/addons/debian/theme/{branding → calamares/branding}/slide1.png +0 -0
- package/addons/debian/theme/{branding → calamares/branding}/welcome.png +0 -0
- package/addons/debian/theme/calamares/modules/partition.yml +233 -0
- package/addons/debian/theme/livecd/README.md +23 -0
- package/addons/debian/theme/livecd/grub.template.cfg +34 -0
- package/addons/{pve/theme/livecd/theme.cfg → debian/theme/livecd/grub.theme.cfg} +4 -0
- package/addons/debian/theme/livecd/isolinux.template.cfg +30 -0
- package/{conf/distros/buster/isolinux/stdmenu.template.cfg → addons/debian/theme/livecd/isolinux.theme.cfg} +4 -0
- package/addons/debian/theme/livecd/splash.png +0 -0
- package/addons/deblinux/theme/README.md +19 -12
- package/addons/eggs/adapt/applications/eggs-adapt.desktop +1 -1
- package/addons/eggs/theme/livecd/README.md +21 -6
- package/addons/eggs/theme/livecd/grub.template.cfg +11 -37
- package/addons/eggs/theme/livecd/{theme.cfg → grub.theme.cfg} +5 -1
- package/addons/eggs/theme/livecd/isolinux.template.cfg +29 -0
- package/addons/eggs/theme/livecd/isolinux.theme.cfg +46 -0
- package/addons/eggs/theme/livecd/splash.png +0 -0
- package/addons/guadalinex/theme/livecd/README.md +23 -0
- package/addons/guadalinex/theme/livecd/{menu.template.cfg → isolinux.template.cfg} +12 -3
- package/addons/guadalinex/theme/livecd/{theme.cfg → isolinux.theme.cfg} +0 -0
- package/addons/neon/theme/livecd/README.md +23 -0
- package/addons/neon/theme/livecd/grub.template.cfg +34 -0
- package/addons/{ufficiozero/theme/livecd/theme.cfg → neon/theme/livecd/grub.theme.cfg} +5 -1
- package/addons/neon/theme/livecd/isolinux.template.cfg +29 -0
- package/addons/neon/theme/livecd/isolinux.theme.cfg +46 -0
- package/addons/neon/theme/livecd/splash.pcx +0 -0
- package/addons/neon/theme/livecd/splash.png +0 -0
- package/addons/openos/theme/livecd/README.md +23 -0
- package/addons/openos/theme/livecd/{theme.cfg → grub.theme.cfg} +0 -0
- package/addons/openos/theme/livecd/{menu.template.cfg → isolinux.template.cfg} +11 -3
- package/addons/openos/theme/livecd/isolinux.theme.cfg +45 -0
- package/addons/ufficiozero/theme/applications/install-debian.desktop +17 -2
- package/assets/penguins-minstall.desktop +95 -0
- package/bin/dev +17 -0
- package/bin/dev.cmd +3 -0
- package/bin/run +2 -4
- package/conf/distros/bionic/calamares/settings.yml +5 -5
- package/conf/distros/bookworm/README.md +9 -0
- package/conf/distros/bullseye/README.md +6 -8
- package/conf/distros/buster/calamares/modules/shellprocess_eggs-cleanup.yml +6 -0
- package/conf/distros/buster/calamares/settings.yml +14 -3
- package/conf/distros/chimaera/README.md +3 -0
- package/conf/distros/daedalus/README.md +3 -0
- package/conf/distros/focal/calamares/settings.yml +2 -2
- package/conf/distros/hirsute/README.md +1 -1
- package/conf/distros/impish/README.md +9 -0
- package/conf/distros/jammy/README.md +9 -0
- package/conf/distros/rolling/README.md +3 -0
- package/conf/distros/rolling/calamares/calamares-modules/remove-link/module.yml +9 -0
- package/conf/distros/rolling/calamares/calamares-modules/remove-link/remove-link.sh +3 -0
- package/conf/distros/rolling/calamares/modules/displaymanager.yml +22 -0
- package/conf/distros/rolling/calamares/modules/finished.yml +6 -0
- package/conf/distros/rolling/calamares/modules/fstab.yml +13 -0
- package/conf/distros/rolling/calamares/modules/locale.yml +97 -0
- package/conf/distros/rolling/calamares/modules/luksopenswaphookcfg.yml +6 -0
- package/conf/distros/rolling/calamares/modules/mount.yml +38 -0
- package/conf/distros/rolling/calamares/modules/packages.yml +8 -0
- package/conf/distros/rolling/calamares/modules/removeuser.yml +15 -0
- package/conf/distros/rolling/calamares/modules/unpackfs.yml +7 -0
- package/conf/distros/rolling/calamares/modules/users.yml +20 -0
- package/conf/distros/rolling/calamares/modules/welcome.yml +19 -0
- package/conf/distros/{bullseye → rolling}/calamares/settings.yml +17 -12
- package/conf/distros/thirtyfive/README.md +3 -0
- package/conf/distros/tumbleweed/README.md +3 -0
- package/conf/eggs.yaml +1 -1
- package/conf/exclude.list +2 -4
- package/conf/tools.yaml +1 -1
- package/lib/classes/basket.js +24 -20
- package/lib/classes/bleach.js +17 -17
- package/lib/classes/compressors.js +15 -14
- package/lib/classes/daddy.js +38 -31
- package/lib/classes/distro.d.ts +3 -2
- package/lib/classes/distro.js +288 -173
- package/lib/classes/family/archlinux.d.ts +69 -0
- package/lib/classes/family/archlinux.js +181 -0
- package/lib/classes/family/debian.d.ts +64 -0
- package/lib/classes/family/debian.js +227 -0
- package/lib/classes/family/fedora.d.ts +63 -0
- package/lib/classes/family/fedora.js +169 -0
- package/lib/classes/family/suse.d.ts +63 -0
- package/lib/classes/family/suse.js +169 -0
- package/lib/classes/i18n.js +16 -16
- package/lib/classes/incubation/branding.js +5 -4
- package/lib/classes/incubation/distros/bionic.js +1 -2
- package/lib/classes/incubation/distros/buster.js +2 -2
- package/lib/classes/incubation/distros/focal.js +3 -2
- package/lib/classes/incubation/distros/jessie.js +1 -25
- package/lib/classes/incubation/distros/{bullseye.d.ts → rolling.d.ts} +3 -3
- package/lib/classes/incubation/distros/{bullseye.js → rolling.js} +15 -16
- package/lib/classes/incubation/fisherman-helper/displaymanager.js +2 -7
- package/lib/classes/incubation/fisherman-helper/packages.js +31 -32
- package/lib/classes/incubation/fisherman.d.ts +17 -17
- package/lib/classes/incubation/fisherman.js +84 -71
- package/lib/classes/incubation/incubator.js +116 -74
- package/lib/classes/incubation/installer.d.ts +2 -2
- package/lib/classes/incubation/installer.js +6 -20
- package/lib/classes/initrd.d.ts +1 -1
- package/lib/classes/initrd.js +37 -30
- package/lib/classes/krill_install.js +135 -132
- package/lib/classes/krill_prepare.js +51 -51
- package/lib/classes/n8.js +6 -11
- package/lib/classes/ovary.d.ts +29 -11
- package/lib/classes/ovary.js +711 -605
- package/lib/classes/pacman.d.ts +55 -56
- package/lib/classes/pacman.js +514 -419
- package/lib/classes/pve-live.js +6 -6
- package/lib/classes/settings.js +46 -55
- package/lib/classes/systemctl.d.ts +6 -6
- package/lib/classes/systemctl.js +7 -7
- package/lib/classes/tools.d.ts +1 -1
- package/lib/classes/tools.js +10 -10
- package/lib/classes/utils.d.ts +9 -12
- package/lib/classes/utils.js +127 -106
- package/lib/classes/xdg.js +94 -90
- package/lib/classes/yolk.js +36 -29
- package/lib/commands/adapt.d.ts +3 -3
- package/lib/commands/adapt.js +12 -12
- package/lib/commands/bro.d.ts +14 -0
- package/lib/commands/bro.js +31 -0
- package/lib/commands/calamares.d.ts +7 -7
- package/lib/commands/calamares.js +22 -54
- package/lib/commands/config.d.ts +5 -5
- package/lib/commands/config.js +68 -74
- package/lib/commands/dad.d.ts +5 -5
- package/lib/commands/dad.js +11 -11
- package/lib/commands/export/deb.d.ts +8 -8
- package/lib/commands/export/deb.js +16 -16
- package/lib/commands/export/docs.d.ts +2 -2
- package/lib/commands/export/docs.js +9 -9
- package/lib/commands/export/iso.d.ts +4 -4
- package/lib/commands/export/iso.js +12 -17
- package/lib/commands/info.d.ts +9 -3
- package/lib/commands/info.js +14 -164
- package/lib/commands/install.d.ts +4 -4
- package/lib/commands/install.js +19 -14
- package/lib/commands/kill.d.ts +3 -3
- package/lib/commands/kill.js +11 -13
- package/lib/commands/mom.d.ts +2 -2
- package/lib/commands/mom.js +8 -8
- package/lib/commands/produce.d.ts +14 -14
- package/lib/commands/produce.js +42 -45
- package/lib/commands/remove.d.ts +5 -5
- package/lib/commands/remove.js +46 -57
- package/lib/commands/tools/clean.d.ts +3 -3
- package/lib/commands/tools/clean.js +10 -12
- package/lib/commands/tools/locales.d.ts +4 -4
- package/lib/commands/tools/locales.js +8 -8
- package/lib/commands/tools/skel.d.ts +4 -4
- package/lib/commands/tools/skel.js +10 -15
- package/lib/commands/tools/stat.d.ts +7 -4
- package/lib/commands/tools/stat.js +20 -13
- package/lib/commands/tools/yolk.d.ts +3 -3
- package/lib/commands/tools/yolk.js +12 -12
- package/lib/commands/update.d.ts +5 -10
- package/lib/commands/update.js +56 -72
- package/lib/components/elements/information.d.ts +4 -0
- package/lib/components/elements/information.js +166 -0
- package/lib/components/elements/steps.js +1 -1
- package/lib/components/elements/title.js +7 -10
- package/lib/components/finished.js +5 -5
- package/lib/components/install.js +5 -5
- package/lib/components/keyboard.js +5 -5
- package/lib/components/location.js +5 -5
- package/lib/components/network.js +5 -5
- package/lib/components/partitions.js +5 -5
- package/lib/components/summary.js +5 -5
- package/lib/components/users.js +6 -6
- package/lib/components/welcome.js +6 -6
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -2
- package/lib/interfaces/i-distro.d.ts +3 -2
- package/lib/interfaces/i-settings.d.ts +2 -2
- package/lib/lib/cli-autologin.d.ts +19 -2
- package/lib/lib/cli-autologin.js +114 -39
- package/lib/lib/dependencies.d.ts +9 -6
- package/lib/lib/dependencies.js +22 -13
- package/lib/lib/get_address.js +2 -2
- package/lib/lib/get_dns.js +2 -2
- package/lib/lib/get_domain.js +2 -2
- package/lib/lib/get_gateway.js +2 -2
- package/lib/lib/get_hostname.js +2 -2
- package/lib/lib/get_netmask.js +2 -2
- package/lib/lib/get_password.js +2 -2
- package/lib/lib/get_root_password.js +2 -2
- package/lib/lib/get_userfullname.js +2 -2
- package/lib/lib/get_username.js +2 -2
- package/lib/lib/select_address_type.js +2 -5
- package/lib/lib/select_filesystem_type.js +5 -14
- package/lib/lib/select_installation_device.js +3 -3
- package/lib/lib/select_interface.js +1 -1
- package/lib/lib/select_keyboard_layout.js +2 -10
- package/lib/lib/select_languages.js +2 -2
- package/lib/lib/select_regions.js +1 -12
- package/lib/lib/select_user_swap_choice.js +4 -4
- package/lib/lib/select_zones.js +483 -62
- package/oclif.manifest.json +1 -1
- package/package.json +115 -107
- package/scripts/bros/waydroid-helper.sh +92 -0
- package/scripts/eggs.bash +67 -21
- package/scripts/not-used/eggs-cleanup.sh +7 -0
- package/scripts/not-used/install-eggs-ppa.sh +2 -0
- package/scripts/{mkinitramfs → not-used/mkinitramfs} +0 -0
- package/scripts/{pve-live.sh → not-used/pve-live.sh} +0 -0
- package/addons/eggs/theme/livecd/menu.template.cfg +0 -54
- package/addons/pve/theme/applications/penguins-pve.desktop +0 -24
- package/addons/pve/theme/calamares/branding/pve-logo.png +0 -0
- package/addons/pve/theme/calamares/branding/show.qml +0 -227
- package/addons/pve/theme/calamares/branding/slide1.png +0 -0
- package/addons/pve/theme/calamares/branding/slide2.png +0 -0
- package/addons/pve/theme/calamares/branding/slide3.png +0 -0
- package/addons/pve/theme/calamares/branding/slide4.png +0 -0
- package/addons/pve/theme/calamares/branding/slide5.png +0 -0
- package/addons/pve/theme/calamares/branding/slide6.png +0 -0
- package/addons/pve/theme/calamares/branding/slide7.png +0 -0
- package/addons/pve/theme/calamares/branding/slide8.png +0 -0
- package/addons/pve/theme/calamares/branding/slide9.png +0 -0
- package/addons/pve/theme/calamares/branding/welcome.png +0 -0
- package/addons/pve/theme/livecd/README.md +0 -8
- package/addons/pve/theme/livecd/grub.template.cfg +0 -60
- package/addons/pve/theme/livecd/menu.template.cfg +0 -54
- package/addons/pve/theme/livecd/splash.png +0 -0
- package/addons/ufficiozero/theme/artwork/install-debian.png +0 -0
- package/addons/ufficiozero/theme/livecd/README.md +0 -8
- package/addons/ufficiozero/theme/livecd/grub.template.cfg +0 -60
- package/addons/ufficiozero/theme/livecd/menu.template.cfg +0 -54
- package/changelog.md +0 -127
- package/conf/distros/bullseye/calamares/calamares-modules/bootloader-config/bootloader-config.sh +0 -28
- package/conf/distros/bullseye/calamares/calamares-modules/bootloader-config/module.yml +0 -8
- package/conf/distros/buster/grub/grub.template.cfg +0 -58
- package/conf/distros/buster/grub/loopback.cfg +0 -1
- package/conf/distros/buster/grub/theme.cfg +0 -42
- package/conf/distros/buster/isolinux/isolinux.template.cfg +0 -8
- package/conf/distros/buster/isolinux/menu.template.cfg +0 -56
- package/conf/distros/focal/grub/grub.template.cfg +0 -67
- package/conf/distros/focal/isolinux/menu.template.cfg +0 -54
- package/lib/classes/incubation/distros/beowulf.d.ts +0 -30
- package/lib/classes/incubation/distros/beowulf.js +0 -69
- package/lib/classes/krill_install_compare.d.ts +0 -200
- package/lib/classes/krill_install_compare.js +0 -1110
- package/manpages/doc/man/eggs.1.gz +0 -0
package/lib/classes/xdg.js
CHANGED
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
const tslib_1 = require("tslib");
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const pacman_1 = tslib_1.__importDefault(require("./pacman"));
|
|
14
|
-
const utils_1 = tslib_1.__importDefault(require("./utils"));
|
|
10
|
+
const shelljs_1 = (0, tslib_1.__importDefault)(require("shelljs"));
|
|
11
|
+
const node_fs_1 = (0, tslib_1.__importDefault)(require("node:fs"));
|
|
12
|
+
const node_path_1 = (0, tslib_1.__importDefault)(require("node:path"));
|
|
13
|
+
const pacman_1 = (0, tslib_1.__importDefault)(require("./pacman"));
|
|
14
|
+
const utils_1 = (0, tslib_1.__importDefault)(require("./utils"));
|
|
15
15
|
// libraries
|
|
16
|
-
const
|
|
16
|
+
const utils_2 = require("../lib/utils");
|
|
17
17
|
const xdg_dirs = ['DESKTOP', 'DOWNLOAD', 'TEMPLATES', 'PUBLICSHARE', 'DOCUMENTS', 'MUSIC', 'PICTURES', 'VIDEOS'];
|
|
18
18
|
/**
|
|
19
19
|
* Xdg: xdg-user-dirs, etc
|
|
@@ -34,7 +34,7 @@ class Xdg {
|
|
|
34
34
|
else {
|
|
35
35
|
xdg_dirs.forEach(async (dir) => {
|
|
36
36
|
if (dir === xdg_dir) {
|
|
37
|
-
retval =
|
|
37
|
+
retval = node_path_1.default.basename(shelljs_1.default.exec(`sudo -u ${utils_1.default.getPrimaryUser()} xdg-user-dir ${dir}`, { silent: true }).stdout.trim());
|
|
38
38
|
}
|
|
39
39
|
});
|
|
40
40
|
}
|
|
@@ -65,8 +65,8 @@ class Xdg {
|
|
|
65
65
|
*/
|
|
66
66
|
static async mk(chroot, path, verbose = false) {
|
|
67
67
|
const echo = utils_1.default.setEcho(verbose);
|
|
68
|
-
if (!
|
|
69
|
-
await exec(`mkdir ${chroot}${path}`, echo);
|
|
68
|
+
if (!node_fs_1.default.existsSync(chroot + path)) {
|
|
69
|
+
await (0, utils_2.exec)(`mkdir ${chroot}${path}`, echo);
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
/**
|
|
@@ -76,43 +76,45 @@ class Xdg {
|
|
|
76
76
|
* @param chroot
|
|
77
77
|
*/
|
|
78
78
|
static async autologin(olduser, newuser, chroot = '/') {
|
|
79
|
-
if (await pacman_1.default.
|
|
79
|
+
if (await pacman_1.default.isInstalledGui()) {
|
|
80
80
|
// slim
|
|
81
81
|
if (pacman_1.default.packageIsInstalled('slim')) {
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
shelljs_1.default.sed('-i', 'auto_login no', 'auto_login yes', `${chroot}/etc/slim.conf`);
|
|
83
|
+
shelljs_1.default.sed('-i', `default_user ${olduser}`, `default_user ${newuser}`, `${chroot}/etc/slim.conf`);
|
|
84
84
|
}
|
|
85
85
|
// lightdm
|
|
86
86
|
if (pacman_1.default.packageIsInstalled('lightdm')) {
|
|
87
|
-
|
|
87
|
+
shelljs_1.default.sed('-i', `autologin-user=${olduser}`, `autologin-user=${newuser}`, `${chroot}/etc/lightdm/lightdm.conf`);
|
|
88
88
|
}
|
|
89
89
|
// sddm
|
|
90
90
|
if (pacman_1.default.packageIsInstalled('sddm')) {
|
|
91
|
-
|
|
92
|
-
//
|
|
93
|
-
// User=artisan
|
|
94
|
-
// Session=plasma.desktop
|
|
91
|
+
let sddmChanged = false;
|
|
92
|
+
// Cerco configurazione nel file sddm.conf
|
|
95
93
|
const fileConf = `${chroot}/etc/sddm.conf`;
|
|
96
|
-
if (
|
|
97
|
-
|
|
98
|
-
|
|
94
|
+
if (node_fs_1.default.existsSync(fileConf)) {
|
|
95
|
+
const content = node_fs_1.default.readFileSync(fileConf);
|
|
96
|
+
if (content.includes('[Autologin]')) {
|
|
97
|
+
shelljs_1.default.sed('-i', `User=${olduser}`, `User=${newuser}`, fileConf);
|
|
98
|
+
sddmChanged = true;
|
|
99
|
+
}
|
|
99
100
|
}
|
|
100
|
-
|
|
101
|
+
// Se non l'ho trovato, modifico /etc/sddm.conf.d/autologin.conf
|
|
102
|
+
if (!sddmChanged) {
|
|
101
103
|
const dirConf = `${chroot}/etc/sddm.conf.d`;
|
|
102
104
|
const autologin = `${dirConf}/autologin.conf`;
|
|
103
|
-
if (
|
|
104
|
-
|
|
105
|
+
if (node_fs_1.default.existsSync(autologin)) {
|
|
106
|
+
shelljs_1.default.sed('-i', `User=${olduser}`, `User=${newuser}`, autologin);
|
|
105
107
|
}
|
|
106
108
|
else {
|
|
107
109
|
const content = `[Autologin]\nUser=${newuser}\n`;
|
|
108
|
-
|
|
110
|
+
node_fs_1.default.writeFileSync(autologin, content, 'utf-8');
|
|
109
111
|
}
|
|
110
112
|
}
|
|
111
113
|
}
|
|
112
114
|
// gdm3
|
|
113
115
|
if (pacman_1.default.packageIsInstalled('gdm3')) {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
+
shelljs_1.default.sed('-i', 'AutomaticLoginEnable=False', 'AutomaticLoginEnable=True', `${chroot}/etc/gdm3/custom.conf`);
|
|
117
|
+
shelljs_1.default.sed('-i', `AutomaticLogin=${olduser}`, `AutomaticLogin=${newuser}`, `${chroot}/etc/gdm3/custom.conf`);
|
|
116
118
|
}
|
|
117
119
|
}
|
|
118
120
|
}
|
|
@@ -126,11 +128,11 @@ class Xdg {
|
|
|
126
128
|
if (verbose) {
|
|
127
129
|
utils_1.default.warning('removing /etc/skel');
|
|
128
130
|
}
|
|
129
|
-
await exec(
|
|
131
|
+
await (0, utils_2.exec)('rm /etc/skel -rf', echo);
|
|
130
132
|
if (verbose) {
|
|
131
133
|
utils_1.default.warning('create an empty /etc/skel');
|
|
132
134
|
}
|
|
133
|
-
await exec(
|
|
135
|
+
await (0, utils_2.exec)('mkdir -p /etc/skel', echo);
|
|
134
136
|
const files = ['.bashrc', '.bash_logout', '.config', '.local', '.profile'];
|
|
135
137
|
let desktop = '';
|
|
136
138
|
if (pacman_1.default.packageIsInstalled('cinnamon-core')) {
|
|
@@ -154,98 +156,100 @@ class Xdg {
|
|
|
154
156
|
if (desktop === 'kde') {
|
|
155
157
|
files.push('.kde');
|
|
156
158
|
}
|
|
159
|
+
// Node version manager
|
|
160
|
+
files.push('.nvm');
|
|
157
161
|
utils_1.default.warning('copying hidden files');
|
|
158
162
|
for (const i in files) {
|
|
159
|
-
if (
|
|
160
|
-
await exec(`cp -r /home/${user}/${files[i]} /etc/skel/ `, echo);
|
|
163
|
+
if (node_fs_1.default.existsSync(`/home/${user}/${files[i]}`)) {
|
|
164
|
+
await (0, utils_2.exec)(`cp -r /home/${user}/${files[i]} /etc/skel/ `, echo);
|
|
161
165
|
}
|
|
162
166
|
}
|
|
163
167
|
if (verbose) {
|
|
164
168
|
utils_1.default.warning('Try to clean personal datas in /etc/skel/config...');
|
|
165
169
|
}
|
|
166
|
-
await execIfExist(
|
|
167
|
-
await execIfExist(
|
|
168
|
-
await execIfExist(
|
|
169
|
-
await execIfExist(
|
|
170
|
+
await execIfExist('rm -rf', '/etc/skel/.config/balena-etcher-electron', verbose);
|
|
171
|
+
await execIfExist('rm -rf', '/etc/skel/.config/bleachbit', verbose);
|
|
172
|
+
await execIfExist('rm -rf', '/etc/skel/.config/cinnamon-session', verbose);
|
|
173
|
+
await execIfExist('rm -rf', '/etc/skel/.config/Code', verbose);
|
|
170
174
|
// await execIfExist(`rm -rf`, `/etc/skel/.config/configstore`, verbose)
|
|
171
175
|
// await execIfExist(`rm -rf`, `/etc/skel/.config/dconf`, verbose)
|
|
172
|
-
await execIfExist(
|
|
173
|
-
await execIfExist(
|
|
174
|
-
await execIfExist(
|
|
175
|
-
await execIfExist(
|
|
176
|
-
await execIfExist(
|
|
177
|
-
await execIfExist(
|
|
178
|
-
await execIfExist(
|
|
176
|
+
await execIfExist('rm -rf', '/etc/skel/.config/dleyna-server-service.conf', verbose);
|
|
177
|
+
await execIfExist('rm -rf', '/etc/skel/.config/enchant', verbose);
|
|
178
|
+
await execIfExist('rm -rf', '/etc/skel/.config/eog', verbose);
|
|
179
|
+
await execIfExist('rm -rf', '/etc/skel/.config/filezilla', verbose);
|
|
180
|
+
await execIfExist('rm -rf', '/etc/skel/.config/gedit', verbose);
|
|
181
|
+
await execIfExist('rm -rf', '/etc/skel/.config/GIMP', verbose);
|
|
182
|
+
await execIfExist('rm -rf', '/etc/skel/.config/Gitter', verbose);
|
|
179
183
|
// await execIfExist(`rm -rf`, `/etc/skel/.config/gnote`, verbose)
|
|
180
184
|
// await execIfExist(`rm -rf`, `/etc/skel/.config/goa-1.0`, verbose)
|
|
181
|
-
await execIfExist(
|
|
185
|
+
await execIfExist('rm -rf', '/etc/skel/.config/google-chrome', verbose);
|
|
182
186
|
// await execIfExist(`rm -rf`, `/etc/skel/.config/gtk-2.0`, verbose)
|
|
183
187
|
// await execIfExist(`rm -rf`, `/etc/skel/.config/gtk-3.0`, verbose)
|
|
184
|
-
await execIfExist(
|
|
185
|
-
await execIfExist(
|
|
186
|
-
await execIfExist(
|
|
187
|
-
await execIfExist(
|
|
188
|
-
await execIfExist(
|
|
188
|
+
await execIfExist('rm -rf', '/etc/skel/.config/ibus', verbose);
|
|
189
|
+
await execIfExist('rm -rf', '/etc/skel/.config/inkscape', verbose);
|
|
190
|
+
await execIfExist('rm -rf', '/etc/skel/.config/kazam', verbose);
|
|
191
|
+
await execIfExist('rm -rf', '/etc/skel/.config/KeePass', verbose);
|
|
192
|
+
await execIfExist('rm -rf', '/etc/skel/.config/libreoffice', verbose);
|
|
189
193
|
// await execIfExist(`rm -rf`, `/etc/skel/.config/menus`, verbose)
|
|
190
|
-
await execIfExist(
|
|
191
|
-
await execIfExist(
|
|
194
|
+
await execIfExist('rm -rf', '/etc/skel/.config/mimeapps.list', verbose);
|
|
195
|
+
await execIfExist('rm -rf', '/etc/skel/.config/mpv', verbose);
|
|
192
196
|
// await execIfExist(`rm -rf`, `/etc/skel/.config/nemo`, verbose)
|
|
193
|
-
await execIfExist(
|
|
197
|
+
await execIfExist('rm -rf', '/etc/skel/.config/obs-studio', verbose);
|
|
194
198
|
if (!pacman_1.default.packageIsInstalled('plank')) {
|
|
195
|
-
await execIfExist(
|
|
199
|
+
await execIfExist('rm -rf', '/etc/skel/.config/plank', verbose);
|
|
196
200
|
}
|
|
197
|
-
await execIfExist(
|
|
198
|
-
await execIfExist(
|
|
201
|
+
await execIfExist('rm -rf', '/etc/skel/.config/Postman', verbose);
|
|
202
|
+
await execIfExist('rm -rf', '/etc/skel/.config/procps', verbose);
|
|
199
203
|
// await execIfExist(`rm -rf`, `/etc/skel/.config/pulse`, verbose)
|
|
200
|
-
await execIfExist(
|
|
201
|
-
await execIfExist(
|
|
202
|
-
await execIfExist(
|
|
203
|
-
await execIfExist(
|
|
204
|
-
await execIfExist(
|
|
205
|
-
await execIfExist(
|
|
206
|
-
await execIfExist(
|
|
207
|
-
await execIfExist(
|
|
208
|
-
await execIfExist(
|
|
209
|
-
await execIfExist(
|
|
204
|
+
await execIfExist('rm -rf', '/etc/skel/.config/QtProject.conf', verbose);
|
|
205
|
+
await execIfExist('rm -rf', '/etc/skel/.config/Slack', verbose);
|
|
206
|
+
await execIfExist('rm -rf', '/etc/skel/.config/totem', verbose);
|
|
207
|
+
await execIfExist('rm -rf', '/etc/skel/.config/transmission', verbose);
|
|
208
|
+
await execIfExist('rm -rf', '/etc/skel/.config/Unknown Organization', verbose);
|
|
209
|
+
await execIfExist('rm -rf', '/etc/skel/.config/user-dirs.dirs', verbose);
|
|
210
|
+
await execIfExist('rm -rf', '/etc/skel/.config/user-dirs.locale', verbose);
|
|
211
|
+
await execIfExist('rm -rf', '/etc/skel/.config/virt-viewer', verbose);
|
|
212
|
+
await execIfExist('rm -rf', '/etc/skel/.config/yelp', verbose);
|
|
213
|
+
await execIfExist('rm -rf', '/etc/skel/.config/zoomus.conf', verbose);
|
|
210
214
|
if (verbose) {
|
|
211
215
|
utils_1.default.warning('Try to clean personal datas in /etc/skel/.local');
|
|
212
216
|
}
|
|
213
|
-
await execIfExist(
|
|
217
|
+
await execIfExist('rm -rf', '/etc/skel/.local/share/applications', verbose);
|
|
214
218
|
// await execIfExist(`rm -rf`, `/etc/skel/.local/share/cinnamon`, verbose)
|
|
215
|
-
await execIfExist(
|
|
216
|
-
await execIfExist(
|
|
217
|
-
await execIfExist(
|
|
218
|
-
await execIfExist(
|
|
219
|
-
await execIfExist(
|
|
220
|
-
await execIfExist(
|
|
221
|
-
await execIfExist(
|
|
222
|
-
await execIfExist(
|
|
223
|
-
await execIfExist(
|
|
224
|
-
await execIfExist(
|
|
225
|
-
await execIfExist(
|
|
226
|
-
await execIfExist(
|
|
219
|
+
await execIfExist('rm -rf', '/etc/skel/.local/share/data', verbose); // MEGAlink
|
|
220
|
+
await execIfExist('rm -rf', '/etc/skel/.local/share/desktop-directories', verbose);
|
|
221
|
+
await execIfExist('rm -rf', '/etc/skel/.local/share/gegl-0.4', verbose);
|
|
222
|
+
await execIfExist('rm -rf', '/etc/skel/.local/share/gnote', verbose);
|
|
223
|
+
await execIfExist('rm -rf', '/etc/skel/.local/share/grilo-plugins', verbose);
|
|
224
|
+
await execIfExist('rm -rf', '/etc/skel/.local/share/gsettings-data-convert', verbose);
|
|
225
|
+
await execIfExist('rm -rf', '/etc/skel/.local/share/gstreamer-1.0', verbose);
|
|
226
|
+
await execIfExist('rm -rf', '/etc/skel/.local/share/gvfs-metadata', verbose);
|
|
227
|
+
await execIfExist('rm -rf', '/etc/skel/.local/share/icc', verbose);
|
|
228
|
+
await execIfExist('rm -rf', '/etc/skel/.local/share/icons', verbose);
|
|
229
|
+
await execIfExist('rm -rf', '/etc/skel/.local/share/keyrings', verbose);
|
|
230
|
+
await execIfExist('rm -rf', '/etc/skel/.local/share/nemo', verbose);
|
|
227
231
|
if (!pacman_1.default.packageIsInstalled('plank')) {
|
|
228
|
-
await execIfExist(
|
|
232
|
+
await execIfExist('rm -rf', '/etc/skel/.local/share/plank', verbose);
|
|
229
233
|
}
|
|
230
|
-
await execIfExist(
|
|
231
|
-
await execIfExist(
|
|
232
|
-
await execIfExist(
|
|
233
|
-
await execIfExist(
|
|
234
|
-
await execIfExist(
|
|
234
|
+
await execIfExist('rm -rf', '/etc/skel/.local/share/recently-used.xbel', verbose);
|
|
235
|
+
await execIfExist('rm -rf', '/etc/skel/.local/share/shotwell', verbose);
|
|
236
|
+
await execIfExist('rm -rf', '/etc/skel/.local/share/totem', verbose);
|
|
237
|
+
await execIfExist('rm -rf', '/etc/skel/.local/share/Trash', verbose);
|
|
238
|
+
await execIfExist('rm -rf', '/etc/skel/.local/share/webkitgtk', verbose);
|
|
235
239
|
if (verbose) {
|
|
236
240
|
utils_1.default.warning('change righs on /etc/skel');
|
|
237
241
|
}
|
|
238
|
-
await exec(
|
|
242
|
+
await (0, utils_2.exec)('chmod a+rwx,g-w,o-w /etc/skel/ -R', echo);
|
|
239
243
|
if (verbose) {
|
|
240
244
|
utils_1.default.warning('change righs on /etc/skel (.bashrc, .bash_logout, .profile)');
|
|
241
245
|
}
|
|
242
|
-
execIfExist(
|
|
243
|
-
execIfExist(
|
|
244
|
-
execIfExist(
|
|
246
|
+
execIfExist('chmod a+rwx,g-w-x,o-wx', '/etc/skel/.bashrc', verbose);
|
|
247
|
+
execIfExist('chmod a+rwx,g-w-x,o-wx', '/etc/skel/.bash_logout', verbose);
|
|
248
|
+
execIfExist('chmod a+rwx,g-w-x,o-wx', '/etc/skel/.profile', verbose);
|
|
245
249
|
if (verbose) {
|
|
246
250
|
utils_1.default.warning('Change ower to root:root /etc/skel');
|
|
247
251
|
}
|
|
248
|
-
await exec(
|
|
252
|
+
await (0, utils_2.exec)('chown root:root /etc/skel -R', echo);
|
|
249
253
|
// https://www.thegeekdiary.com/understanding-the-etc-skel-directory-in-linux/
|
|
250
254
|
// cat /etc/defualt/useradd
|
|
251
255
|
// ls -lart /etc/skel
|
|
@@ -261,7 +265,7 @@ async function showAndExec(cmd, verbose = false) {
|
|
|
261
265
|
const echo = utils_1.default.setEcho(verbose);
|
|
262
266
|
if (verbose)
|
|
263
267
|
console.log(cmd);
|
|
264
|
-
await exec(cmd, echo);
|
|
268
|
+
await (0, utils_2.exec)(cmd, echo);
|
|
265
269
|
}
|
|
266
270
|
/**
|
|
267
271
|
* execIfExist
|
|
@@ -271,7 +275,7 @@ async function showAndExec(cmd, verbose = false) {
|
|
|
271
275
|
*/
|
|
272
276
|
async function execIfExist(cmd, file, verbose = false) {
|
|
273
277
|
const echo = utils_1.default.setEcho(verbose);
|
|
274
|
-
if (
|
|
275
|
-
await exec(`${cmd} ${file}`, echo);
|
|
278
|
+
if (node_fs_1.default.existsSync(file)) {
|
|
279
|
+
await (0, utils_2.exec)(`${cmd} ${file}`, echo);
|
|
276
280
|
}
|
|
277
281
|
}
|
package/lib/classes/yolk.js
CHANGED
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
/**
|
|
5
|
+
* penguins-eggs-v7 based on Debian live
|
|
6
|
+
* author: Piero Proietti
|
|
7
|
+
* email: piero.proietti@gmail.com
|
|
8
|
+
* license: MIT
|
|
9
|
+
*/
|
|
10
|
+
const fs_1 = (0, tslib_1.__importDefault)(require("fs"));
|
|
11
|
+
const utils_1 = (0, tslib_1.__importDefault)(require("./utils"));
|
|
12
|
+
const pacman_1 = (0, tslib_1.__importDefault)(require("./pacman"));
|
|
9
13
|
const child_process_1 = require("child_process");
|
|
10
|
-
const bleach_1 = tslib_1.__importDefault(require("./bleach"));
|
|
11
|
-
const
|
|
14
|
+
const bleach_1 = (0, tslib_1.__importDefault)(require("./bleach"));
|
|
15
|
+
const utils_2 = require("../lib/utils");
|
|
12
16
|
/**
|
|
13
17
|
*
|
|
14
18
|
*/
|
|
15
19
|
class Yolk {
|
|
16
20
|
constructor() {
|
|
17
|
-
this.dir = '/
|
|
21
|
+
this.dir = '/var/local/yolk';
|
|
18
22
|
}
|
|
19
23
|
/**
|
|
20
24
|
*
|
|
@@ -33,13 +37,14 @@ class Yolk {
|
|
|
33
37
|
}
|
|
34
38
|
const echo = utils_1.default.setEcho(verbose);
|
|
35
39
|
try {
|
|
36
|
-
await exec('apt-get update --yes', echo);
|
|
40
|
+
await (0, utils_2.exec)('apt-get update --yes', echo);
|
|
37
41
|
}
|
|
38
|
-
catch
|
|
39
|
-
utils_1.default.error('Yolk.create() apt-get update --yes ' + e.error)
|
|
42
|
+
catch {
|
|
43
|
+
utils_1.default.error('Yolk.create() apt-get update --yes '); // + e.error)
|
|
40
44
|
}
|
|
41
45
|
if (!this.exists()) {
|
|
42
|
-
|
|
46
|
+
await (0, utils_2.exec)(`mkdir ${this.dir} -p`, echo);
|
|
47
|
+
await (0, utils_2.exec)(`chown _apt:root ${this.dir} -R`, echo);
|
|
43
48
|
}
|
|
44
49
|
else {
|
|
45
50
|
this.clean();
|
|
@@ -53,7 +58,7 @@ class Yolk {
|
|
|
53
58
|
packages.push('grub-pc');
|
|
54
59
|
}
|
|
55
60
|
if (utils_1.default.machineArch() !== 'i386') {
|
|
56
|
-
// Aggiunto anche grub-efi-amd64 oltre a grub-efi-*-bin
|
|
61
|
+
// Aggiunto anche grub-efi-amd64 oltre a grub-efi-*-bin
|
|
57
62
|
// per la rimasterizzazione efi anche in bios
|
|
58
63
|
packages.push('grub-efi-' + utils_1.default.machineArch());
|
|
59
64
|
packages.push('grub-efi-' + utils_1.default.machineArch() + '-bin');
|
|
@@ -61,23 +66,23 @@ class Yolk {
|
|
|
61
66
|
// I Downloads avverranno nell directory corrente
|
|
62
67
|
process.chdir(this.dir);
|
|
63
68
|
// Per tutti i pacchetti cerca le dipendenze, controlla se non siano installate e le scarico.
|
|
64
|
-
for (
|
|
69
|
+
for (const package_ of packages) {
|
|
65
70
|
let cmd = '';
|
|
66
|
-
utils_1.default.warning(`downloading package ${
|
|
67
|
-
cmd = `apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances ${
|
|
68
|
-
const depends = await
|
|
71
|
+
utils_1.default.warning(`downloading package ${package_} and it's dependencies...`);
|
|
72
|
+
cmd = `apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances ${package_} | grep "^\\w" | sort -u`;
|
|
73
|
+
const depends = (await (0, utils_2.exec)(cmd, { echo: false, capture: true })).data;
|
|
69
74
|
await this.installDeps(depends.split('\n'));
|
|
70
75
|
}
|
|
71
76
|
// Creo Package.gz
|
|
72
|
-
//const cmd = 'dpkg-scanpackages -m . | gzip -c > Packages.gz'
|
|
77
|
+
// const cmd = 'dpkg-scanpackages -m . | gzip -c > Packages.gz'
|
|
73
78
|
const cmd = 'dpkg-scanpackages -h md5,sha1,sha256 . | gzip -c > Packages.gz';
|
|
74
79
|
utils_1.default.warning(cmd);
|
|
75
|
-
await
|
|
80
|
+
await (0, utils_2.exec)(cmd);
|
|
76
81
|
// Creo Release
|
|
77
|
-
const date = await
|
|
82
|
+
const date = await (0, utils_2.exec)('date -R -u');
|
|
78
83
|
const content = 'Archive: stable\nComponent: yolk\nOrigin: penguins-eggs\nArchitecture: ' + utils_1.default.machineArch() + '\nDate: ' + date + '\n';
|
|
79
84
|
utils_1.default.warning('Writing Release');
|
|
80
|
-
|
|
85
|
+
fs_1.default.writeFileSync('Release', content);
|
|
81
86
|
utils_1.default.warning('Cleaning apt cache');
|
|
82
87
|
const bleach = new bleach_1.default();
|
|
83
88
|
await bleach.clean(verbose);
|
|
@@ -86,14 +91,14 @@ class Yolk {
|
|
|
86
91
|
* Svuota la repo yolk
|
|
87
92
|
*/
|
|
88
93
|
clean() {
|
|
89
|
-
child_process_1.execSync(`rm ${this.dir}/*`);
|
|
94
|
+
(0, child_process_1.execSync)(`rm ${this.dir}/*`);
|
|
90
95
|
}
|
|
91
96
|
/**
|
|
92
97
|
* Controllo l'esistenza
|
|
93
98
|
*/
|
|
94
99
|
exists() {
|
|
95
100
|
const check = `${this.dir}/Packages.gz`;
|
|
96
|
-
return
|
|
101
|
+
return fs_1.default.existsSync(check);
|
|
97
102
|
}
|
|
98
103
|
/**
|
|
99
104
|
*
|
|
@@ -102,17 +107,19 @@ class Yolk {
|
|
|
102
107
|
async installDeps(depends) {
|
|
103
108
|
// scarico solo le dipendenze non installate
|
|
104
109
|
const toDownloads = [];
|
|
105
|
-
for (
|
|
106
|
-
if (
|
|
107
|
-
|
|
110
|
+
for (const depend of depends) {
|
|
111
|
+
if (depend !== '') {
|
|
112
|
+
if (!pacman_1.default.packageIsInstalled(depend)) {
|
|
113
|
+
toDownloads.push(depend);
|
|
114
|
+
}
|
|
108
115
|
}
|
|
109
116
|
}
|
|
110
117
|
// e li vado a scaricare in /usr/local/yolk
|
|
111
|
-
for (
|
|
118
|
+
for (const toDownload of toDownloads) {
|
|
112
119
|
process.chdir(this.dir);
|
|
113
|
-
const cmd = `apt-get download ${
|
|
120
|
+
const cmd = `apt-get download ${toDownload}`;
|
|
114
121
|
utils_1.default.warning(`- ${cmd}`);
|
|
115
|
-
await
|
|
122
|
+
await (0, utils_2.exec)(cmd);
|
|
116
123
|
}
|
|
117
124
|
}
|
|
118
125
|
}
|
package/lib/commands/adapt.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Command } from '@oclif/
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
2
|
export default class Adapt extends Command {
|
|
3
3
|
static description: string;
|
|
4
4
|
static aliases: string[];
|
|
5
5
|
static flags: {
|
|
6
|
-
verbose: import("@oclif/
|
|
7
|
-
help: import("@oclif/
|
|
6
|
+
verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
|
|
8
8
|
};
|
|
9
9
|
run(): Promise<void>;
|
|
10
10
|
}
|
package/lib/commands/adapt.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
const
|
|
5
|
-
const utils_1 = tslib_1.__importDefault(require("../classes/utils"));
|
|
6
|
-
const
|
|
7
|
-
class Adapt extends
|
|
4
|
+
const core_1 = require("@oclif/core");
|
|
5
|
+
const utils_1 = (0, tslib_1.__importDefault)(require("../classes/utils"));
|
|
6
|
+
const utils_2 = require("../lib/utils");
|
|
7
|
+
class Adapt extends core_1.Command {
|
|
8
8
|
async run() {
|
|
9
|
-
const { args, flags } = this.parse(Adapt);
|
|
9
|
+
const { args, flags } = await this.parse(Adapt);
|
|
10
10
|
let verbose = false;
|
|
11
11
|
if (flags.verbose) {
|
|
12
12
|
verbose = true;
|
|
13
13
|
}
|
|
14
14
|
const echo = utils_1.default.setEcho(verbose);
|
|
15
|
-
//const {args, flags} = this.parse(Adjust)
|
|
15
|
+
// const {args, flags} = this.parse(Adjust)
|
|
16
16
|
utils_1.default.titles(this.id + ' ' + this.argv);
|
|
17
17
|
utils_1.default.warning('Adapt monitor resolutions to the size of window in virtual machines');
|
|
18
|
-
await exec(
|
|
19
|
-
await exec(
|
|
20
|
-
await exec(
|
|
21
|
-
await exec(
|
|
18
|
+
await (0, utils_2.exec)('xrandr --output Virtual-0 --auto', echo);
|
|
19
|
+
await (0, utils_2.exec)('xrandr --output Virtual-1 --auto', echo);
|
|
20
|
+
await (0, utils_2.exec)('xrandr --output Virtual-2 --auto', echo);
|
|
21
|
+
await (0, utils_2.exec)('xrandr --output Virtual-3 --auto', echo);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
exports.default = Adapt;
|
|
25
25
|
Adapt.description = 'adapt monitor resolution for VM only';
|
|
26
26
|
Adapt.aliases = ['adjust'];
|
|
27
27
|
Adapt.flags = {
|
|
28
|
-
verbose:
|
|
29
|
-
help:
|
|
28
|
+
verbose: core_1.Flags.boolean({ char: 'v' }),
|
|
29
|
+
help: core_1.Flags.help({ char: 'h' })
|
|
30
30
|
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* penguins-eggs-v8
|
|
3
|
+
* author: Piero Proietti
|
|
4
|
+
* email: piero.proietti@gmail.com
|
|
5
|
+
* license: MIT
|
|
6
|
+
*/
|
|
7
|
+
import { Command } from '@oclif/core';
|
|
8
|
+
export default class Bro extends Command {
|
|
9
|
+
static description: string;
|
|
10
|
+
static flags: {
|
|
11
|
+
help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
/**
|
|
5
|
+
* penguins-eggs-v8
|
|
6
|
+
* author: Piero Proietti
|
|
7
|
+
* email: piero.proietti@gmail.com
|
|
8
|
+
* license: MIT
|
|
9
|
+
*/
|
|
10
|
+
const core_1 = require("@oclif/core");
|
|
11
|
+
const node_path_1 = (0, tslib_1.__importDefault)(require("node:path"));
|
|
12
|
+
const utils_1 = (0, tslib_1.__importDefault)(require("../classes/utils"));
|
|
13
|
+
const utils_2 = require("../lib/utils");
|
|
14
|
+
class Bro extends core_1.Command {
|
|
15
|
+
async run() {
|
|
16
|
+
utils_1.default.titles(this.id + ' ' + this.argv);
|
|
17
|
+
const { args, flags } = await this.parse(Bro);
|
|
18
|
+
// No sudo!
|
|
19
|
+
if (process.getuid && process.getuid() === 0) {
|
|
20
|
+
utils_1.default.warning('You must to be kind with your bro, call him without sudo');
|
|
21
|
+
process.exit(0);
|
|
22
|
+
}
|
|
23
|
+
const cmd = node_path_1.default.resolve(__dirname, '../../scripts/bros/waydroid-helper.sh');
|
|
24
|
+
await (0, utils_2.exec)(cmd);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.default = Bro;
|
|
28
|
+
Bro.description = 'bro: waydroid helper';
|
|
29
|
+
Bro.flags = {
|
|
30
|
+
help: core_1.Flags.help({ char: 'h' })
|
|
31
|
+
};
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* email: piero.proietti@gmail.com
|
|
5
5
|
* license: MIT
|
|
6
6
|
*/
|
|
7
|
-
import { Command
|
|
7
|
+
import { Command } from '@oclif/core';
|
|
8
8
|
import Settings from '../classes/settings';
|
|
9
9
|
import Incubator from '../classes/incubation/incubator';
|
|
10
10
|
import { IRemix } from '../interfaces';
|
|
@@ -14,12 +14,12 @@ export default class Calamares extends Command {
|
|
|
14
14
|
incubator: Incubator;
|
|
15
15
|
settings: Settings;
|
|
16
16
|
static flags: {
|
|
17
|
-
help: import("@oclif/
|
|
18
|
-
verbose: import("@oclif/
|
|
19
|
-
install: import("@oclif/
|
|
20
|
-
final: import("@oclif/
|
|
21
|
-
remove: import("@oclif/
|
|
22
|
-
theme:
|
|
17
|
+
help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
|
|
18
|
+
verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
19
|
+
install: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
20
|
+
final: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
21
|
+
remove: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
22
|
+
theme: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
23
23
|
};
|
|
24
24
|
static examples: string[];
|
|
25
25
|
run(): Promise<void>;
|