penguins-eggs 10.0.31 → 10.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.oclif.manifest.json +1 -1
- package/README.md +29 -29
- package/addons/eggs/theme/livecd/isolinux.main.alpine.cfg +4 -8
- package/dist/classes/ovary.js +9 -4
- package/dist/index-old.d.ts +8 -0
- package/dist/index-old.js +8 -0
- package/dist/index.d.ts +52 -6
- package/dist/index.js +145 -6
- package/dist/krill/modules/bootloader-config.d.ts +4 -0
- package/dist/krill/modules/bootloader-config.js +86 -4
- package/dist/krill/modules/m-keyboard.js +2 -1
- package/dist/krill/modules/mount-fs.js +4 -2
- package/dist/krill/sequence.d.ts +0 -6
- package/dist/krill/sequence.js +0 -6
- package/manpages/doc/man/eggs.1.gz +0 -0
- package/manpages/doc/man/eggs.html +604 -4
- package/package.json +17 -14
- package/dist/krill/modules/bootloader-config-alpine.d.ts +0 -14
- package/dist/krill/modules/bootloader-config-alpine.js +0 -37
- package/dist/krill/modules/bootloader-config-arch.d.ts +0 -14
- package/dist/krill/modules/bootloader-config-arch.js +0 -37
- package/dist/krill/modules/bootloader-config-debian.d.ts +0 -10
- package/dist/krill/modules/bootloader-config-debian.js +0 -50
- package/mkinitfs/machine-id-gen.sh +0 -3
- package/mkinitfs/sidecar.sh +0 -40
package/package.json
CHANGED
|
@@ -2,22 +2,24 @@
|
|
|
2
2
|
"name": "penguins-eggs",
|
|
3
3
|
"shortName": "eggs",
|
|
4
4
|
"description": "A remaster system tool, compatible with Arch, Debian, Devuan, Ubuntu and others",
|
|
5
|
-
"version": "10.0.
|
|
5
|
+
"version": "10.0.32",
|
|
6
6
|
"author": "Piero Proietti",
|
|
7
7
|
"bin": {
|
|
8
8
|
"eggs": "./bin/run.js"
|
|
9
9
|
},
|
|
10
10
|
"bugs": "https://github.com/pieroproietti/penguins-eggs/issues",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@oclif/core": "^4.0.
|
|
13
|
-
"@oclif/plugin-autocomplete": "^3.
|
|
14
|
-
"@oclif/plugin-help": "^6.2.
|
|
15
|
-
"@oclif/plugin-version": "^2.2.
|
|
16
|
-
"
|
|
12
|
+
"@oclif/core": "^4.0.19",
|
|
13
|
+
"@oclif/plugin-autocomplete": "^3.2.2",
|
|
14
|
+
"@oclif/plugin-help": "^6.2.10",
|
|
15
|
+
"@oclif/plugin-version": "^2.2.11",
|
|
16
|
+
"ansis": "^3.3.2",
|
|
17
|
+
"axios": "^1.7.5",
|
|
17
18
|
"chalk": "^5.3.0",
|
|
18
19
|
"cli-cursor": "^4.0.0",
|
|
20
|
+
"debug": "^4.3.6",
|
|
19
21
|
"ink": "^5.0.1",
|
|
20
|
-
"inquirer": "^9.
|
|
22
|
+
"inquirer": "^9.3.6",
|
|
21
23
|
"js-yaml": "^4.1.0",
|
|
22
24
|
"mustache": "^4.2.0",
|
|
23
25
|
"netmask": "^2.0.2",
|
|
@@ -25,19 +27,20 @@
|
|
|
25
27
|
"node-static": "^0.7.11",
|
|
26
28
|
"react": "^18.3.1",
|
|
27
29
|
"shelljs": "^0.8.5",
|
|
28
|
-
"systeminformation": "^5.23.
|
|
30
|
+
"systeminformation": "^5.23.5",
|
|
29
31
|
"tftp": "^0.1.2"
|
|
30
32
|
},
|
|
31
33
|
"devDependencies": {
|
|
32
34
|
"@oclif/prettier-config": "^0.2.1",
|
|
33
|
-
"@oclif/test": "^4.0.
|
|
34
|
-
"@types/chai": "^4.3.
|
|
35
|
+
"@oclif/test": "^4.0.9",
|
|
36
|
+
"@types/chai": "^4.3.18",
|
|
37
|
+
"@types/debug": "^4.1.12",
|
|
35
38
|
"@types/inquirer": "^9.0.7",
|
|
36
39
|
"@types/js-yaml": "^4.0.9",
|
|
37
|
-
"@types/mocha": "^10.0.
|
|
40
|
+
"@types/mocha": "^10.0.7",
|
|
38
41
|
"@types/mustache": "^4.2.5",
|
|
39
42
|
"@types/netmask": "^2.0.5",
|
|
40
|
-
"@types/node": "^20.
|
|
43
|
+
"@types/node": "^20.16.1",
|
|
41
44
|
"@types/node-static": "^0.7.11",
|
|
42
45
|
"@types/react": "^18.3.4",
|
|
43
46
|
"@types/shelljs": "^0.8.15",
|
|
@@ -46,8 +49,8 @@
|
|
|
46
49
|
"eslint-config-oclif": "^5.2.1",
|
|
47
50
|
"eslint-config-oclif-typescript": "^3.1.9",
|
|
48
51
|
"eslint-config-prettier": "^9.1.0",
|
|
49
|
-
"mocha": "^10.
|
|
50
|
-
"oclif": "^4.14.
|
|
52
|
+
"mocha": "^10.7.3",
|
|
53
|
+
"oclif": "^4.14.26",
|
|
51
54
|
"perrisbrewery": "^10.0.1",
|
|
52
55
|
"prettier": "^3.3.3",
|
|
53
56
|
"shx": "^0.3.4",
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/add-user.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
8
|
-
*/
|
|
9
|
-
import Sequence from '../sequence.js';
|
|
10
|
-
/**
|
|
11
|
-
*
|
|
12
|
-
* @param this
|
|
13
|
-
*/
|
|
14
|
-
export default function bootloaderConfigAlpine(this: Sequence): Promise<void>;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/add-user.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
8
|
-
*/
|
|
9
|
-
import Utils from '../../classes/utils.js';
|
|
10
|
-
import { exec } from '../../lib/utils.js';
|
|
11
|
-
/**
|
|
12
|
-
*
|
|
13
|
-
* @param this
|
|
14
|
-
*/
|
|
15
|
-
export default async function bootloaderConfigAlpine() {
|
|
16
|
-
let cmd = '';
|
|
17
|
-
if (this.efi) {
|
|
18
|
-
try {
|
|
19
|
-
cmd = `chroot ${this.installTarget} apk add grub grub-efi efibootmgr} ${this.toNull}`;
|
|
20
|
-
await exec(cmd, this.echo);
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
console.log(error);
|
|
24
|
-
await Utils.pressKeyToExit(cmd, true);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
try {
|
|
29
|
-
cmd = `chroot ${this.installTarget} apk add grub grub-bios ${this.toNull}`;
|
|
30
|
-
await exec(cmd, this.echo);
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
console.log(error);
|
|
34
|
-
await Utils.pressKeyToExit(cmd, true);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/add-user.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
8
|
-
*/
|
|
9
|
-
import Sequence from '../sequence.js';
|
|
10
|
-
/**
|
|
11
|
-
*
|
|
12
|
-
* @param this
|
|
13
|
-
*/
|
|
14
|
-
export default function bootloaderConfigArch(this: Sequence): Promise<void>;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/add-user.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
8
|
-
*/
|
|
9
|
-
import Utils from '../../classes/utils.js';
|
|
10
|
-
import { exec } from '../../lib/utils.js';
|
|
11
|
-
/**
|
|
12
|
-
*
|
|
13
|
-
* @param this
|
|
14
|
-
*/
|
|
15
|
-
export default async function bootloaderConfigArch() {
|
|
16
|
-
let cmd = '';
|
|
17
|
-
if (this.efi) {
|
|
18
|
-
try {
|
|
19
|
-
cmd = `chroot ${this.installTarget} pacman -Sy grub efibootmgr} ${this.toNull}`;
|
|
20
|
-
await exec(cmd, this.echo);
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
console.log(error);
|
|
24
|
-
await Utils.pressKeyToExit(cmd, true);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
try {
|
|
29
|
-
cmd = `chroot ${this.installTarget} pacman -Sy grub ${this.toNull}`;
|
|
30
|
-
await exec(cmd, this.echo);
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
console.log(error);
|
|
34
|
-
await Utils.pressKeyToExit(cmd, true);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/bootloader-config-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
|
-
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
8
|
-
*/
|
|
9
|
-
import Sequence from '../sequence.js';
|
|
10
|
-
export default function bootloaderConfigDebian(this: Sequence): Promise<void>;
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/krill/modules/bootloader-config-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
|
-
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
8
|
-
*/
|
|
9
|
-
import Utils from '../../classes/utils.js';
|
|
10
|
-
import { exec } from '../../lib/utils.js';
|
|
11
|
-
export default async function bootloaderConfigDebian() {
|
|
12
|
-
let cmd = '';
|
|
13
|
-
try {
|
|
14
|
-
cmd = `chroot ${this.installTarget} apt-get update -y ${this.toNull}`;
|
|
15
|
-
await exec(cmd, this.echo);
|
|
16
|
-
}
|
|
17
|
-
catch (error) {
|
|
18
|
-
console.log(error);
|
|
19
|
-
await Utils.pressKeyToExit(cmd, true);
|
|
20
|
-
}
|
|
21
|
-
try {
|
|
22
|
-
cmd = `chroot ${this.installTarget} sleep 1 ${this.toNull}`;
|
|
23
|
-
await exec(cmd, this.echo);
|
|
24
|
-
}
|
|
25
|
-
catch (error) {
|
|
26
|
-
console.log(error);
|
|
27
|
-
await Utils.pressKeyToExit(cmd, true);
|
|
28
|
-
}
|
|
29
|
-
const aptInstallOptions = ' apt install -y --no-upgrade --allow-unauthenticated -o Acquire::gpgv::Options::=--ignore-time-conflict ';
|
|
30
|
-
if (this.efi) {
|
|
31
|
-
try {
|
|
32
|
-
cmd = `chroot ${this.installTarget} ${aptInstallOptions} grub-efi-${Utils.uefiArch()} --allow-unauthenticated ${this.toNull}`;
|
|
33
|
-
await exec(cmd, this.echo);
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
console.log(error);
|
|
37
|
-
await Utils.pressKeyToExit(cmd, true);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
try {
|
|
42
|
-
cmd = `chroot ${this.installTarget} ${aptInstallOptions} grub-pc ${this.toNull}`;
|
|
43
|
-
await exec(cmd, this.echo);
|
|
44
|
-
}
|
|
45
|
-
catch (error) {
|
|
46
|
-
console.log(error);
|
|
47
|
-
await Utils.pressKeyToExit(cmd, true);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
package/mkinitfs/sidecar.sh
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
#!/bin/sh -e
|
|
2
|
-
|
|
3
|
-
# At the end of the boot, initram goes into emergency,
|
|
4
|
-
# we give the following commands:
|
|
5
|
-
# mkdir /mnt
|
|
6
|
-
# mount /dev/sr0 /mnt
|
|
7
|
-
# /mnt/live/sidecar.sh
|
|
8
|
-
#
|
|
9
|
-
|
|
10
|
-
DIRECTORY="/sysroot"
|
|
11
|
-
if [ -z "$(find "$DIRECTORY" -mindepth 1)" ]; then
|
|
12
|
-
echo "sidecar: /sysroot is again emply!"
|
|
13
|
-
echo " type 'exit' to return init, then run sidecar.sh again"
|
|
14
|
-
exit 0
|
|
15
|
-
fi
|
|
16
|
-
|
|
17
|
-
# Creating mountpoints
|
|
18
|
-
mkdir -p /media/root-ro
|
|
19
|
-
mkdir -p /media/root-rw
|
|
20
|
-
|
|
21
|
-
# mount filesystem squashfs on /media/root-ro
|
|
22
|
-
mount -t squashfs /mnt/live/filesystem.squashfs /media/root-ro
|
|
23
|
-
|
|
24
|
-
# Mount tmpfs on /media/root-rw
|
|
25
|
-
mount -t tmpfs root-tmpfs /media/root-rw
|
|
26
|
-
|
|
27
|
-
# Creare i punti di montaggio necessari
|
|
28
|
-
mkdir -p /media/root-rw/work
|
|
29
|
-
mkdir -p /media/root-rw/root
|
|
30
|
-
|
|
31
|
-
# mount overlayfs on //sysroot
|
|
32
|
-
mount -t overlay overlay -o lowerdir=/media/root-ro,upperdir=/media/root-rw/root,workdir=/media/root-rw/work /sysroot
|
|
33
|
-
|
|
34
|
-
# insert a dummy value for /etc/machine-id
|
|
35
|
-
echo "9350a55456f5bb96ef2fda0166a86d91" | tee /sysroot/etc/machine-id
|
|
36
|
-
|
|
37
|
-
echo "sidecar: /sysroot was mounted!"
|
|
38
|
-
echo " ================================"
|
|
39
|
-
echo " YOU CAN TYPE 'exit' TO BOOT LIVE"
|
|
40
|
-
echo " ================================"
|