penguins-eggs 25.11.12 → 25.11.29
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 +161 -140
- package/README.md +811 -4
- package/README.pdf +20763 -3833
- package/addons/eggs/adapt/applications/eggs-adapt.desktop +0 -0
- package/addons/eggs/pve/applications/eggs-pve.desktop +0 -0
- package/addons/eggs/rsupport/applications/eggs-rsupport.desktop +0 -0
- package/addons/eggs/theme/applications/install-system.desktop +0 -0
- package/addons/eggs/theme/livecd/full.grub.main.cfg +39 -4
- package/addons/eggs/theme/livecd/full.isolinux.main.cfg +47 -4
- package/assets/calamares/install-system.sh +0 -0
- package/assets/penguins-eggs.desktop +0 -0
- package/assets/penguins-krill.desktop +0 -0
- package/assets/penguins-links-add.desktop +0 -0
- package/assets/penguins-live-installer.desktop +0 -0
- package/bin/dev.js +0 -0
- package/bin/run.js +11 -0
- package/conf/derivatives.yaml +2 -1
- package/conf/distros/alpine/calamares/calamares-modules/machineid-openrc/machineid-openrc.sh +0 -0
- package/conf/distros/buster/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
- package/conf/distros/buster/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
- package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
- package/conf/distros/fedora/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
- package/conf/distros/focal/calamares/calamares-modules/.keepit +0 -0
- package/conf/distros/focal/calamares/calamares-modules/cleanup/cleanup.sh +20 -0
- package/conf/distros/focal/calamares/calamares-modules/cleanup/module.yml +9 -0
- package/conf/distros/focal/calamares/calamares-modules/sources-yolk/module.yml +8 -0
- package/conf/distros/focal/calamares/calamares-modules/sources-yolk/sources-yolk.sh +50 -0
- package/conf/distros/focal/calamares/calamares-modules/sources-yolk-undo/module.yml +8 -0
- package/conf/distros/focal/calamares/libexec/.keepit +0 -0
- package/conf/distros/focal/calamares/libexec/README.md +5 -0
- package/conf/distros/focal/calamares/libexec/calamares-aptsources.sh +15 -0
- package/conf/distros/focal/calamares/libexec/calamares-l10n-helper.sh +38 -0
- package/conf/distros/focal/calamares/libexec/calamares-logs-helper.sh +34 -0
- package/conf/distros/focal/calamares/libexec/calamares-nomodeset.sh +19 -0
- package/conf/distros/focal/calamares/modules/after_bootloader_context.yml +26 -0
- package/conf/distros/focal/calamares/modules/before_bootloader_context.yml +12 -0
- package/conf/distros/focal/calamares/modules/bootloader.yml +86 -0
- package/conf/distros/focal/calamares/modules/bootloader.yml.old +35 -0
- package/conf/distros/focal/calamares/modules/displaymanager.yml +12 -0
- package/conf/distros/focal/calamares/modules/finished.yml +6 -0
- package/conf/distros/focal/calamares/modules/fstab.yml +63 -0
- package/conf/distros/focal/calamares/modules/grubcfg.yml +51 -0
- package/conf/distros/focal/calamares/modules/keyboard.yml +29 -0
- package/conf/distros/focal/calamares/modules/locale.yml +7 -0
- package/conf/distros/focal/calamares/modules/machineid.yml +10 -0
- package/conf/distros/focal/calamares/modules/mount.yml +20 -0
- package/conf/distros/focal/calamares/modules/netinstall.yml +5 -0
- package/conf/distros/focal/calamares/modules/packages.mustache +5 -0
- package/conf/distros/focal/calamares/modules/partition.yml +21 -0
- package/conf/distros/focal/calamares/modules/removeuser.mustache +3 -0
- package/conf/distros/focal/calamares/modules/shellprocess@aptsources.yml +11 -0
- package/conf/distros/focal/calamares/modules/shellprocess@boot_deploy.yml +9 -0
- package/conf/distros/focal/calamares/modules/shellprocess@boot_reconfigure.yml +15 -0
- package/conf/distros/focal/calamares/modules/shellprocess@install_translations.yml +8 -0
- package/conf/distros/focal/calamares/modules/shellprocess@logs.yml +8 -0
- package/conf/distros/focal/calamares/modules/shellprocess@mkinitramfs.yml +6 -0
- package/conf/distros/focal/calamares/modules/shellprocess@nomodeset.yml +12 -0
- package/conf/distros/focal/calamares/modules/umount.yml +4 -0
- package/conf/distros/focal/calamares/modules/unpackfs.mustache +6 -0
- package/conf/distros/focal/calamares/modules/users.yml +27 -0
- package/conf/distros/focal/calamares/modules/welcome.yml +24 -0
- package/conf/distros/focal/calamares/settings.yml +97 -0
- package/conf/distros/noble/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
- package/conf/distros/noble/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
- package/conf/distros/noble/calamares/libexec/calamares-aptsources.sh +0 -0
- package/conf/distros/noble/calamares/libexec/calamares-l10n-helper.sh +0 -0
- package/conf/distros/noble/calamares/libexec/calamares-logs-helper.sh +0 -0
- package/conf/distros/noble/calamares/libexec/calamares-nomodeset.sh +0 -0
- package/conf/distros/opensuse/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
- package/conf/distros/opensuse/calamares/settings.yml +0 -0
- package/conf/distros/opensuse/calamares/zstd2lzo.sh +0 -0
- package/conf/distros/trixie/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
- package/conf/distros/trixie/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
- package/conf/distros/trixie/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
- package/conf/init/unattended.sh +0 -0
- package/dist/appimage/dependency-manager.d.ts +31 -0
- package/dist/appimage/dependency-manager.js +292 -0
- package/dist/appimage/first-run-check.d.ts +8 -0
- package/dist/appimage/first-run-check.js +13 -0
- package/dist/bin/dev.cmd +3 -0
- package/dist/bin/dev.js +6 -0
- package/dist/bin/run.cmd +3 -0
- package/dist/bin/run.js +16 -0
- package/dist/classes/cli-autologin.js +5 -5
- package/dist/classes/daddy.js +11 -11
- package/dist/classes/diversions.d.ts +5 -0
- package/dist/classes/diversions.js +23 -7
- package/dist/classes/incubation/fisherman-helper/initcpio.d.ts +7 -0
- package/dist/classes/incubation/fisherman-helper/initcpio.js +7 -0
- package/dist/classes/incubation/fisherman.js +0 -2
- package/dist/classes/network.d.ts +1 -1
- package/dist/classes/ovary.d/edit-live-fs.d.ts +1 -1
- package/dist/classes/ovary.d/edit-live-fs.js +129 -93
- package/dist/classes/ovary.d/fertilization.js +1 -1
- package/dist/classes/ovary.d/xorriso-command.js +1 -5
- package/dist/classes/pacman.d.ts +21 -7
- package/dist/classes/pacman.js +59 -39
- package/dist/classes/utils.d.ts +5 -5
- package/dist/classes/utils.js +30 -11
- package/dist/commands/calamares.js +1 -1
- package/dist/commands/config.js +3 -14
- package/dist/commands/cuckoo.js +1 -1
- package/dist/commands/{analyze.d.ts → export/appimage.d.ts} +10 -9
- package/dist/commands/export/appimage.js +76 -0
- package/dist/commands/export/iso.js +1 -1
- package/dist/commands/export/pkg.d.ts +1 -1
- package/dist/commands/export/pkg.js +2 -2
- package/dist/commands/{install.d.ts → krill.d.ts} +3 -4
- package/dist/commands/{install.js → krill.js} +5 -6
- package/dist/commands/produce.js +1 -1
- package/dist/commands/setup/install.d.ts +17 -0
- package/dist/commands/setup/install.js +71 -0
- package/dist/commands/setup/purge.d.ts +17 -0
- package/dist/commands/setup/purge.js +71 -0
- package/dist/commands/tools/repo.d.ts +0 -5
- package/dist/commands/tools/repo.js +205 -127
- package/dist/commands/update.d.ts +16 -1
- package/dist/commands/update.js +140 -63
- package/dist/krill/components/information.js +2 -2
- package/dist/krill/components/title.js +13 -13
- package/dist/lib/utils.d.ts +16 -0
- package/dist/lib/utils.js +5 -32
- package/dracut/create-symlink +0 -0
- package/dracut/export +0 -0
- package/dracut/export-dracut-analysis +0 -0
- package/dracut/export-dracut-log +0 -0
- package/dracut/mkisofs +0 -0
- package/dracut/modules.d/00debug-shell/debug-hook.sh +0 -0
- package/dracut/modules.d/00debug-shell/module-setup.sh +0 -0
- package/dracut/modules.d/90block/block-cmdline.sh +0 -0
- package/dracut/modules.d/90block/module-setup.sh +0 -0
- package/dracut/modules.d/95iso-scan/iso-scan-fallback.sh +0 -0
- package/dracut/modules.d/95iso-scan/iso-scan.sh +0 -0
- package/dracut/modules.d/95iso-scan/module-setup.sh +0 -0
- package/dracut/modules.d/95luks-loop/luks-loop.sh +0 -0
- package/dracut/modules.d/95luks-loop/module-setup.sh +0 -0
- package/dracut/renew-initramfs +0 -0
- package/dracut/sbin2bin +0 -0
- package/dracut/update-dracut-conf-d +0 -0
- package/dracut/update-dracut-modules +0 -0
- package/eui/eui-autostart-cinnamon.desktop +0 -0
- package/eui/eui-autostart-xfce.desktop +0 -0
- package/eui/eui-create-image.sh +0 -0
- package/eui/eui-start.sh +0 -0
- package/manpages/doc/man/eggs.1.gz +0 -0
- package/manpages/doc/man/eggs.html +594 -9
- package/package.json +124 -130
- package/perrisbrewery/scripts/postinst +0 -0
- package/perrisbrewery/scripts/postrm +0 -0
- package/perrisbrewery/scripts/preinst +0 -0
- package/perrisbrewery/scripts/prerm +0 -0
- package/perrisbrewery/template/dependencies.yaml +0 -5
- package/perrisbrewery/template/man.template.md +7 -0
- package/scripts/99clean +0 -0
- package/scripts/_eggs +56 -47
- package/scripts/adapt.sh +0 -0
- package/scripts/bros/waydroid-helper.sh +0 -0
- package/scripts/eggs.bash +4 -4
- package/scripts/lsb_release +0 -0
- package/scripts/mom.sh +0 -0
- package/scripts/pve-live.service +0 -0
- package/scripts/pve-live.sh +0 -0
- package/scripts/resy +0 -0
- package/dist/commands/analyze.js +0 -95
- package/dist/commands/pods.d.ts +0 -22
- package/dist/commands/pods.js +0 -92
- package/scripts/boot-encrypted-root.sh +0 -220
- package/scripts/mount-encrypted-home.sh +0 -324
package/dist/commands/update.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* ./src/commands/
|
|
2
|
+
* ./src/commands/update.ts
|
|
3
3
|
* penguins-eggs v.25.7.x / ecmascript 2020
|
|
4
4
|
* author: Piero Proietti
|
|
5
5
|
* email: piero.proietti@gmail.com
|
|
@@ -12,6 +12,7 @@ import Tools from '../classes/tools.js';
|
|
|
12
12
|
import Utils from '../classes/utils.js';
|
|
13
13
|
import Diversions from '../classes/diversions.js';
|
|
14
14
|
import { exec } from '../lib/utils.js';
|
|
15
|
+
import { spawn } from 'child_process';
|
|
15
16
|
import axios from 'axios';
|
|
16
17
|
import https from 'node:https';
|
|
17
18
|
const agent = new https.Agent({
|
|
@@ -57,8 +58,13 @@ export default class Update extends Command {
|
|
|
57
58
|
await this.getPkgFromLan();
|
|
58
59
|
break;
|
|
59
60
|
}
|
|
60
|
-
case '
|
|
61
|
-
|
|
61
|
+
case 'Internet': {
|
|
62
|
+
if (Utils.isAppImage()) {
|
|
63
|
+
await this.getLatestAppImage();
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
await this.getPkgFromPackageManager();
|
|
67
|
+
}
|
|
62
68
|
break;
|
|
63
69
|
}
|
|
64
70
|
case 'Source': {
|
|
@@ -73,7 +79,7 @@ export default class Update extends Command {
|
|
|
73
79
|
*/
|
|
74
80
|
async choosePkg() {
|
|
75
81
|
const choices = ['Abort'];
|
|
76
|
-
choices.push('LAN', '
|
|
82
|
+
choices.push('LAN', 'Internet', 'Source');
|
|
77
83
|
const questions = [
|
|
78
84
|
{
|
|
79
85
|
choices,
|
|
@@ -92,6 +98,7 @@ export default class Update extends Command {
|
|
|
92
98
|
*
|
|
93
99
|
*/
|
|
94
100
|
async getPkgFromPackageManager() {
|
|
101
|
+
Utils.titles(`update from package Manager`);
|
|
95
102
|
let cmd = "";
|
|
96
103
|
if (this.distro.familyId === 'alpine') {
|
|
97
104
|
cmd = `doas apk add penguins-egga`;
|
|
@@ -111,7 +118,6 @@ export default class Update extends Command {
|
|
|
111
118
|
else if (this.distro.familyId === "opensuse") {
|
|
112
119
|
cmd = 'sudo zypper install penguins-eggs\\zypper install --force penguins-eggs';
|
|
113
120
|
}
|
|
114
|
-
Utils.titles(`update`);
|
|
115
121
|
Utils.warning(`To install/update penguins-eggs cut and copy one of the follow commands`);
|
|
116
122
|
console.log();
|
|
117
123
|
console.log(cmd);
|
|
@@ -127,68 +133,77 @@ export default class Update extends Command {
|
|
|
127
133
|
let filter = '';
|
|
128
134
|
let copy = '';
|
|
129
135
|
let install = '';
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
136
|
+
let repo = '';
|
|
137
|
+
if (Utils.isAppImage()) {
|
|
138
|
+
console.log("AppImage: penguins-eggs-*-x86_64.AppImage will be installed as /usr/bin/eggs");
|
|
139
|
+
filter = `penguins-eggs-*-x86_64.AppImage`;
|
|
140
|
+
copy = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/${filter} /tmp`;
|
|
141
|
+
install = `mv /tmp/${filter} /usr/bin/eggs`;
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
138
144
|
/**
|
|
139
|
-
*
|
|
145
|
+
* Alpine
|
|
140
146
|
*/
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
147
|
+
if (this.distro.familyId === 'alpine') {
|
|
148
|
+
repo = `alpine/x86_64`;
|
|
149
|
+
filter = `penguins-eggs-*-*.*.?-r?.apk`;
|
|
150
|
+
copy = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/${repo}/${filter} /tmp`;
|
|
151
|
+
install = `apk add /tmp/${filter}`;
|
|
152
|
+
/**
|
|
153
|
+
* Arch
|
|
154
|
+
*/
|
|
148
155
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
156
|
+
else if (this.distro.familyId === 'archlinux') {
|
|
157
|
+
repo = "aur";
|
|
158
|
+
filter = `penguins-eggs-??.*.*-?-any.pkg.tar.zst`;
|
|
159
|
+
if (Diversions.isManjaroBased(this.distro.distroId)) {
|
|
160
|
+
repo = 'manjaro';
|
|
161
|
+
filter = `penguins-eggs-??.*.*-?-any.pkg.tar.*`;
|
|
162
|
+
}
|
|
163
|
+
copy = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/${repo}/${filter} /tmp`;
|
|
164
|
+
install = `pacman -U /tmp/${filter}`;
|
|
165
|
+
/**
|
|
166
|
+
* Devuan/Debian/Ubuntu
|
|
167
|
+
*/
|
|
168
|
+
}
|
|
169
|
+
else if (this.distro.familyId === "debian") {
|
|
170
|
+
repo = 'debs';
|
|
171
|
+
filter = `penguins-eggs_??.*.*-?_${Utils.uefiArch()}.deb`;
|
|
172
|
+
copy = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/${repo}/${filter} /tmp`;
|
|
173
|
+
install = `apt reinstall /tmp/${filter}`;
|
|
174
|
+
/**
|
|
175
|
+
* fedora/el9
|
|
176
|
+
*/
|
|
177
|
+
}
|
|
178
|
+
else if (this.distro.familyId === "fedora") {
|
|
179
|
+
repo = 'fedora';
|
|
180
|
+
let ftype = 'fc??';
|
|
181
|
+
if (this.distro.distroId !== 'Fedora') {
|
|
182
|
+
repo = 'el9';
|
|
183
|
+
ftype = 'el?';
|
|
184
|
+
}
|
|
185
|
+
filter = `penguins-eggs-??.*.*-?.${ftype}.x86_64.rpm`;
|
|
186
|
+
copy = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/${repo}/${filter} /tmp`;
|
|
187
|
+
install = `dnf reinstall /tmp/${filter} || dnf install /tmp/${filter}`;
|
|
188
|
+
/**
|
|
189
|
+
* openmamba
|
|
190
|
+
*/
|
|
191
|
+
}
|
|
192
|
+
else if (this.distro.familyId === "openmamba") {
|
|
193
|
+
repo = 'openmamba';
|
|
194
|
+
filter = `penguins-eggs-??.*.*-?mamba.x86_64.rpm`;
|
|
195
|
+
copy = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/${repo}/${filter} /tmp`;
|
|
196
|
+
install = `dnf reinstall /tmp/${filter} || dnf install /tmp/${filter}`;
|
|
197
|
+
/**
|
|
198
|
+
* opensuse
|
|
199
|
+
*/
|
|
200
|
+
}
|
|
201
|
+
else if (this.distro.familyId === "opensuse") {
|
|
202
|
+
repo = 'opensuse';
|
|
203
|
+
filter = `penguins-eggs-*.*.*-?.opensuse.x86_64.rpm`;
|
|
204
|
+
copy = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/${repo}/${filter} /tmp`;
|
|
205
|
+
install = `zypper install --force /tmp/${filter} || zypper install /tmp/${filter}`;
|
|
170
206
|
}
|
|
171
|
-
filter = `penguins-eggs-??.*.*-?.${ftype}.x86_64.rpm`;
|
|
172
|
-
copy = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/${repo}/${filter} /tmp`;
|
|
173
|
-
install = `dnf reinstall /tmp/${filter} || dnf install /tmp/${filter}`;
|
|
174
|
-
/**
|
|
175
|
-
* openmamba
|
|
176
|
-
*/
|
|
177
|
-
}
|
|
178
|
-
else if (this.distro.familyId === "openmamba") {
|
|
179
|
-
let repo = 'openmamba';
|
|
180
|
-
filter = `penguins-eggs-??.*.*-?mamba.x86_64.rpm`;
|
|
181
|
-
copy = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/${repo}/${filter} /tmp`;
|
|
182
|
-
install = `dnf reinstall /tmp/${filter} || dnf install /tmp/${filter}`;
|
|
183
|
-
/**
|
|
184
|
-
* opensuse
|
|
185
|
-
*/
|
|
186
|
-
}
|
|
187
|
-
else if (this.distro.familyId === "opensuse") {
|
|
188
|
-
let repo = 'opensuse';
|
|
189
|
-
filter = `penguins-eggs-*.*.*-?.opensuse.x86_64.rpm`;
|
|
190
|
-
copy = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/${repo}/${filter} /tmp`;
|
|
191
|
-
install = `zypper install --force /tmp/${filter} || zypper install /tmp/${filter}`;
|
|
192
207
|
}
|
|
193
208
|
/**
|
|
194
209
|
* copy and install
|
|
@@ -235,4 +250,66 @@ export default class Update extends Command {
|
|
|
235
250
|
console.log('- ' + country[0] + ': ' + country[1]);
|
|
236
251
|
}
|
|
237
252
|
}
|
|
253
|
+
/**
|
|
254
|
+
*
|
|
255
|
+
*/
|
|
256
|
+
async getLatestAppImage() {
|
|
257
|
+
let url = await this.getLatestAppImageUrl();
|
|
258
|
+
console.log(`Downloading AppImage from ${url}`);
|
|
259
|
+
let AppFile = '/tmp/eggs.AppImage';
|
|
260
|
+
if (url !== null) {
|
|
261
|
+
await this.downloadWithCurl(url, AppFile);
|
|
262
|
+
}
|
|
263
|
+
await exec(`mv ${AppFile} /usr/bin/eggs`);
|
|
264
|
+
await exec(`chmod +x /usr/bin/eggs`);
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
*
|
|
268
|
+
*/
|
|
269
|
+
async getLatestAppImageUrl() {
|
|
270
|
+
const repo = 'pieroproietti/penguins-eggs';
|
|
271
|
+
const apiUrl = `https://api.github.com/repos/${repo}/releases/latest`;
|
|
272
|
+
try {
|
|
273
|
+
const response = await fetch(apiUrl);
|
|
274
|
+
if (!response.ok)
|
|
275
|
+
throw new Error(`Errore API GitHub: ${response.statusText}`);
|
|
276
|
+
const data = await response.json();
|
|
277
|
+
// Cerchiamo l'asset che finisce per .AppImage
|
|
278
|
+
const asset = data.assets.find((a) => a.name.endsWith('.AppImage'));
|
|
279
|
+
return asset ? asset.browser_download_url : null;
|
|
280
|
+
}
|
|
281
|
+
catch (error) {
|
|
282
|
+
console.error(" :", error);
|
|
283
|
+
return null;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
*
|
|
288
|
+
* @param url
|
|
289
|
+
* @param outputFilename
|
|
290
|
+
* @returns
|
|
291
|
+
*/
|
|
292
|
+
async downloadWithCurl(url, outputFilename) {
|
|
293
|
+
return new Promise((resolve, reject) => {
|
|
294
|
+
console.log(`Avvio download di: ${outputFilename}...`);
|
|
295
|
+
// Spawniamo il processo curl
|
|
296
|
+
// -L: segue i redirect (fondamentale per GitHub)
|
|
297
|
+
// -o: specifica il file di output
|
|
298
|
+
const curl = spawn('curl', ['-L', '-o', outputFilename, url], {
|
|
299
|
+
stdio: 'inherit' // Questo mostra la progress bar di curl direttamente nel tuo terminale!
|
|
300
|
+
});
|
|
301
|
+
curl.on('close', (code) => {
|
|
302
|
+
if (code === 0) {
|
|
303
|
+
console.log('\nDownload completato con successo!');
|
|
304
|
+
resolve();
|
|
305
|
+
}
|
|
306
|
+
else {
|
|
307
|
+
reject(new Error(`Curl è uscito con codice errore: ${code}`));
|
|
308
|
+
}
|
|
309
|
+
});
|
|
310
|
+
curl.on('error', (err) => {
|
|
311
|
+
reject(new Error(`Impossibile avviare curl. È installato? ${err.message}`));
|
|
312
|
+
});
|
|
313
|
+
});
|
|
314
|
+
}
|
|
238
315
|
}
|
|
@@ -125,8 +125,8 @@ export default async function information(verbose = false) {
|
|
|
125
125
|
React.createElement(Text, null, " ")),
|
|
126
126
|
React.createElement(Box, { borderStyle: "round", marginRight: 2, flexDirection: "column" },
|
|
127
127
|
React.createElement(Box, null,
|
|
128
|
-
React.createElement(Text, { color: "cyan" }, "eggs
|
|
129
|
-
React.createElement(Text, null, " install your CLI
|
|
128
|
+
React.createElement(Text, { color: "cyan" }, "eggs krill"),
|
|
129
|
+
React.createElement(Text, null, " install your CLI system with TUI installer krill, on GUI use calamares")),
|
|
130
130
|
React.createElement(Box, null,
|
|
131
131
|
React.createElement(Text, { color: "cyan" }, "eggs wardrobe"),
|
|
132
132
|
React.createElement(Text, null, " build your personal system starting from cli")),
|
|
@@ -9,13 +9,19 @@ import React from 'react';
|
|
|
9
9
|
import { Text, Box, Newline } from 'ink';
|
|
10
10
|
// pjson
|
|
11
11
|
import { createRequire } from 'module';
|
|
12
|
+
import Utils from '../../classes/utils.js';
|
|
12
13
|
const require = createRequire(import.meta.url);
|
|
13
14
|
const pjson = require('../../../package.json');
|
|
14
15
|
export default function Title({ title = "", version = "" }) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
let type = "";
|
|
17
|
+
if (!Utils.isAppImage()) {
|
|
18
|
+
type = "native";
|
|
19
|
+
}
|
|
20
|
+
if (title === "")
|
|
21
|
+
title = `${pjson.name}`;
|
|
22
|
+
let green = ` ${title}`.padEnd(25, " ");
|
|
23
|
+
let white = ` Perri's brewery edition `.padEnd(25, " ");
|
|
24
|
+
let red = ` v${pjson.version} ${type} `.padStart(25, " ");
|
|
19
25
|
return (React.createElement(React.Fragment, null,
|
|
20
26
|
React.createElement(Box, { flexDirection: "column" },
|
|
21
27
|
React.createElement(Box, null),
|
|
@@ -23,13 +29,7 @@ export default function Title({ title = "", version = "" }) {
|
|
|
23
29
|
React.createElement(Text, null, "E G G S: reproductive system of penguins")),
|
|
24
30
|
React.createElement(Newline, null)),
|
|
25
31
|
React.createElement(Box, { flexDirection: "row" },
|
|
26
|
-
React.createElement(Text, { backgroundColor: "green" },
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
" "),
|
|
30
|
-
React.createElement(Text, { backgroundColor: "white", color: "blue" }, " Perri's brewery edition "),
|
|
31
|
-
React.createElement(Text, { backgroundColor: "red" },
|
|
32
|
-
" ver. ",
|
|
33
|
-
version,
|
|
34
|
-
" "))));
|
|
32
|
+
React.createElement(Text, { backgroundColor: "green" }, green),
|
|
33
|
+
React.createElement(Text, { backgroundColor: "white", color: "blue" }, white),
|
|
34
|
+
React.createElement(Text, { backgroundColor: "red" }, red))));
|
|
35
35
|
}
|
package/dist/lib/utils.d.ts
CHANGED
|
@@ -5,6 +5,22 @@
|
|
|
5
5
|
* email: piero.proietti@gmail.com
|
|
6
6
|
* license: MIT
|
|
7
7
|
*/
|
|
8
|
+
/**
|
|
9
|
+
* Executes shell command as it would happen in BASH script
|
|
10
|
+
* @param {string} command
|
|
11
|
+
* @param {Object} [options] Object with options.
|
|
12
|
+
* echo: true, to echo command passed.
|
|
13
|
+
* ignore: true to ignore stdout
|
|
14
|
+
* capture: true, to capture and return stdout.
|
|
15
|
+
*
|
|
16
|
+
* @returns {Promise<{code: number, data: string | undefined, error: Object}>}
|
|
17
|
+
*
|
|
18
|
+
* https://github.com/oclif/core/issues/453#issuecomment-1200778612
|
|
19
|
+
* codespool:
|
|
20
|
+
* You could wrap spawn in a promise, listen to exit event, and resolve when it happens. That should play nicely with oclif/core.
|
|
21
|
+
* We are using it here:
|
|
22
|
+
* https://github.com/AstarNetwork/swanky-cli/blob/master/src/commands/compile/index.ts
|
|
23
|
+
*/
|
|
8
24
|
import { IExec } from '../interfaces/index.js';
|
|
9
25
|
/**
|
|
10
26
|
*
|
package/dist/lib/utils.js
CHANGED
|
@@ -5,23 +5,7 @@
|
|
|
5
5
|
* email: piero.proietti@gmail.com
|
|
6
6
|
* license: MIT
|
|
7
7
|
*/
|
|
8
|
-
|
|
9
|
-
* Executes shell command as it would happen in BASH script
|
|
10
|
-
* @param {string} command
|
|
11
|
-
* @param {Object} [options] Object with options.
|
|
12
|
-
* echo: true, to echo command passed.
|
|
13
|
-
* ignore: true to ignore stdout
|
|
14
|
-
* capture: true, to capture and return stdout.
|
|
15
|
-
*
|
|
16
|
-
* @returns {Promise<{code: number, data: string | undefined, error: Object}>}
|
|
17
|
-
*
|
|
18
|
-
* https://github.com/oclif/core/issues/453#issuecomment-1200778612
|
|
19
|
-
* codespool:
|
|
20
|
-
* You could wrap spawn in a promise, listen to exit event, and resolve when it happens. That should play nicely with oclif/core.
|
|
21
|
-
* We are using it here:
|
|
22
|
-
* https://github.com/AstarNetwork/swanky-cli/blob/master/src/commands/compile/index.ts
|
|
23
|
-
*/
|
|
24
|
-
import { spawn } from 'node:child_process';
|
|
8
|
+
import { spawn } from 'child_process';
|
|
25
9
|
/**
|
|
26
10
|
*
|
|
27
11
|
* @param command
|
|
@@ -29,37 +13,26 @@ import { spawn } from 'node:child_process';
|
|
|
29
13
|
* @returns
|
|
30
14
|
*/
|
|
31
15
|
export async function exec(command, { echo = false, ignore = false, capture = false } = {}) {
|
|
32
|
-
/**
|
|
33
|
-
* You could wrap spawn in a promise,
|
|
34
|
-
* listen to exit event,
|
|
35
|
-
* and resolve when it happens.
|
|
36
|
-
*
|
|
37
|
-
* That should play nicely with oclif/core.
|
|
38
|
-
*/
|
|
39
16
|
return new Promise((resolve, reject) => {
|
|
40
17
|
if (echo) {
|
|
41
|
-
// seem no need!
|
|
42
18
|
console.log(command);
|
|
43
19
|
}
|
|
44
|
-
|
|
20
|
+
// Opzioni di base per spawn
|
|
21
|
+
const spawnOptions = {
|
|
45
22
|
stdio: ignore ? 'ignore' : capture ? 'pipe' : 'inherit'
|
|
46
|
-
}
|
|
23
|
+
};
|
|
24
|
+
const child = spawn('bash', ['-c', command], spawnOptions);
|
|
47
25
|
let stdout = '';
|
|
48
26
|
if (capture) {
|
|
49
27
|
child.stdout?.on('data', (data) => {
|
|
50
28
|
stdout += data;
|
|
51
29
|
});
|
|
52
30
|
}
|
|
53
|
-
// 'error' event
|
|
54
31
|
child.on('error', (error) => {
|
|
55
32
|
reject({ code: 1, error });
|
|
56
33
|
});
|
|
57
|
-
// The 'exit' event is emitted after the child process ends. If the process exited, code is the final exit code of the process,
|
|
58
|
-
// otherwise null. If the process terminated due to receipt of a signal, signal is the string name of the signal, otherwise null.
|
|
59
|
-
// One of the two will always be non-null.
|
|
60
34
|
child.on('exit', (code) => {
|
|
61
35
|
resolve({ code, data: stdout });
|
|
62
36
|
});
|
|
63
|
-
// end promise
|
|
64
37
|
});
|
|
65
38
|
}
|
package/dracut/create-symlink
CHANGED
|
File without changes
|
package/dracut/export
CHANGED
|
File without changes
|
|
File without changes
|
package/dracut/export-dracut-log
CHANGED
|
File without changes
|
package/dracut/mkisofs
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dracut/renew-initramfs
CHANGED
|
File without changes
|
package/dracut/sbin2bin
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/eui/eui-create-image.sh
CHANGED
|
File without changes
|
package/eui/eui-start.sh
CHANGED
|
File without changes
|
|
Binary file
|