penguins-eggs 25.10.26 → 25.10.30
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 +1 -768
- package/addons/eggs/theme/applications/install-system.desktop +8 -6
- package/addons/eggs/theme/livecd/generic.grub.theme.cfg +1 -3
- package/addons/eggs/theme/livecd/generic.isolinux.theme.cfg +1 -2
- package/assets/calamares/io.calamares.calamares.policy +25 -0
- package/dist/classes/daddy.js +7 -3
- package/dist/classes/incubation/customize/customize-partitions.d.ts +9 -1
- package/dist/classes/incubation/customize/customize-partitions.js +10 -2
- package/dist/classes/incubation/incubator.d.ts +1 -0
- package/dist/classes/incubation/incubator.js +16 -11
- package/dist/classes/ovary.d/create-xdg-autostart.js +6 -7
- package/dist/classes/ovary.d/luks-get-password.d.ts +1 -1
- package/dist/classes/ovary.d/luks-get-password.js +1 -1
- package/dist/classes/ovary.d/luks-helpers.d.ts +19 -0
- package/dist/classes/ovary.d/luks-helpers.js +73 -0
- package/dist/classes/ovary.d/luks-home-support.js +1 -6
- package/dist/classes/ovary.d/luks-home.js +7 -34
- package/dist/classes/ovary.d/luks-interactive-crypto-config.js +5 -1
- package/dist/classes/ovary.d/luks-root-initrd.d.ts +1 -1
- package/dist/classes/ovary.d/luks-root-initrd.js +1 -1
- package/dist/classes/ovary.d/luks-root.d.ts +1 -1
- package/dist/classes/ovary.d/luks-root.js +8 -70
- package/dist/classes/ovary.d/make-efi.js +9 -3
- package/dist/classes/ovary.d/produce.js +1 -6
- package/dist/classes/ovary.d/syslinux.js +5 -1
- package/dist/classes/ovary.d/xorriso-command.js +5 -0
- package/dist/classes/ovary.d.ts +3 -0
- package/dist/classes/ovary.js +3 -0
- package/dist/classes/pacman.d/alpine.js +1 -1
- package/dist/classes/pacman.d/debian.js +1 -1
- package/dist/commands/produce.js +2 -2
- package/dist/krill/lib/select_filesystem_type.js +1 -1
- package/dracut/dracut.conf.d/50-live.conf +12 -13
- package/package.json +5 -5
- package/perrisbrewery/template/dependencies.yaml +1 -0
|
@@ -63,12 +63,7 @@ export async function produce(kernel = '', clone = false, homecrypt = false, ful
|
|
|
63
63
|
this.luksMountpoint = `/tmp/mnt/${this.luksMappedName}`;
|
|
64
64
|
this.luksDevice = `/dev/mapper/${this.luksMappedName}`;
|
|
65
65
|
this.luksPassword = '0'; // USARE UNA PASSWORD SICURA IN PRODUZIONE!
|
|
66
|
-
|
|
67
|
-
* Al momento homecrypt resta con default
|
|
68
|
-
*/
|
|
69
|
-
if (fullcrypt) {
|
|
70
|
-
this.luksConfig = await this.interactiveCryptoConfig();
|
|
71
|
-
}
|
|
66
|
+
this.luksConfig = await this.interactiveCryptoConfig();
|
|
72
67
|
Utils.warning("You choose an encrypted eggs");
|
|
73
68
|
await this.luksGetPassword();
|
|
74
69
|
}
|
|
@@ -84,8 +84,12 @@ export async function syslinux(theme = 'eggs') {
|
|
|
84
84
|
// isolinux.main.cfg
|
|
85
85
|
const kernel_parameters = Diversions.kernelParameters(this.familyId, this.volid, this.fullcrypt);
|
|
86
86
|
let template = fs.readFileSync(isolinuxTemplate, 'utf8');
|
|
87
|
+
let fullname = this.settings.remix.fullname.toUpperCase();
|
|
88
|
+
if (this.hidden) {
|
|
89
|
+
fullname = "LINUX";
|
|
90
|
+
}
|
|
87
91
|
const view = {
|
|
88
|
-
fullname:
|
|
92
|
+
fullname: fullname,
|
|
89
93
|
initrdImg: `/live/${path.basename(this.initrd)}`,
|
|
90
94
|
kernel: this.kernel,
|
|
91
95
|
kernel_parameters,
|
|
@@ -38,6 +38,11 @@ export async function xorrisoCommand(clone = false, homecrypt = false, fullcrypt
|
|
|
38
38
|
}
|
|
39
39
|
// postfix (data)
|
|
40
40
|
const postfix = Utils.getPostfix();
|
|
41
|
+
console.log('prefix:', prefix);
|
|
42
|
+
console.log('prefix:', this.volid);
|
|
43
|
+
console.log('arch:', Utils.uefiArch());
|
|
44
|
+
console.log('typology:', typology);
|
|
45
|
+
console.log('postfix:', postfix);
|
|
41
46
|
this.settings.isoFilename = prefix + this.volid + '_' + Utils.uefiArch() + typology + postfix;
|
|
42
47
|
// node della ISO
|
|
43
48
|
const output = this.settings.config.snapshot_mnt + this.settings.isoFilename;
|
package/dist/classes/ovary.d.ts
CHANGED
|
@@ -28,6 +28,7 @@ import { makeDotDisk } from './ovary.d/make-dot-disk.js';
|
|
|
28
28
|
import { kernelCopy } from './ovary.d/kernel-copy.js';
|
|
29
29
|
import { liveCreateStructure } from './ovary.d/live-create-structure.js';
|
|
30
30
|
import { finished } from './ovary.d/finished.js';
|
|
31
|
+
import { luksExecuteCommand, buildLuksFormatArgs } from './ovary.d/luks-helpers.js';
|
|
31
32
|
import { luksGetPassword } from './ovary.d/luks-get-password.js';
|
|
32
33
|
import { interactiveCryptoConfig, CryptoConfig } from './ovary.d/luks-interactive-crypto-config.js';
|
|
33
34
|
import { luksHome } from './ovary.d/luks-home.js';
|
|
@@ -80,6 +81,8 @@ export default class Ovary {
|
|
|
80
81
|
copied: typeof copied;
|
|
81
82
|
createXdgAutostart: typeof createXdgAutostart;
|
|
82
83
|
editLiveFs: typeof editLiveFs;
|
|
84
|
+
luksExecuteCommand: typeof luksExecuteCommand;
|
|
85
|
+
buildLuksFormatArgs: typeof buildLuksFormatArgs;
|
|
83
86
|
luksGetPassword: typeof luksGetPassword;
|
|
84
87
|
interactiveCryptoConfig: typeof interactiveCryptoConfig;
|
|
85
88
|
luksHome: typeof luksHome;
|
package/dist/classes/ovary.js
CHANGED
|
@@ -30,6 +30,7 @@ import { kernelCopy } from './ovary.d/kernel-copy.js';
|
|
|
30
30
|
import { liveCreateStructure } from './ovary.d/live-create-structure.js';
|
|
31
31
|
import { finished } from './ovary.d/finished.js';
|
|
32
32
|
// crypt
|
|
33
|
+
import { luksExecuteCommand, buildLuksFormatArgs } from './ovary.d/luks-helpers.js';
|
|
33
34
|
import { luksGetPassword } from './ovary.d/luks-get-password.js';
|
|
34
35
|
import { interactiveCryptoConfig } from './ovary.d/luks-interactive-crypto-config.js';
|
|
35
36
|
// homecrypt
|
|
@@ -89,6 +90,8 @@ export default class Ovary {
|
|
|
89
90
|
createXdgAutostart = createXdgAutostart;
|
|
90
91
|
editLiveFs = editLiveFs;
|
|
91
92
|
// luks
|
|
93
|
+
luksExecuteCommand = luksExecuteCommand;
|
|
94
|
+
buildLuksFormatArgs = buildLuksFormatArgs;
|
|
92
95
|
luksGetPassword = luksGetPassword;
|
|
93
96
|
interactiveCryptoConfig = interactiveCryptoConfig;
|
|
94
97
|
// luksHome
|
|
@@ -83,7 +83,7 @@ export default class Alpine {
|
|
|
83
83
|
*/
|
|
84
84
|
static async calamaresPolicies(verbose = false) {
|
|
85
85
|
const echo = Utils.setEcho(verbose);
|
|
86
|
-
const policyFile = '/usr/share/polkit-1/actions/
|
|
86
|
+
const policyFile = '/usr/share/polkit-1/actions/io.calamares.calamares.policy';
|
|
87
87
|
await exec(`sed -i 's/auth_admin/yes/' ${policyFile}`, echo);
|
|
88
88
|
}
|
|
89
89
|
/**
|
|
@@ -43,7 +43,7 @@ export default class Debian {
|
|
|
43
43
|
*/
|
|
44
44
|
static async calamaresPolicies(verbose = false) {
|
|
45
45
|
const echo = Utils.setEcho(verbose);
|
|
46
|
-
const policyFile = '/usr/share/polkit-1/actions/
|
|
46
|
+
const policyFile = '/usr/share/polkit-1/actions/io.calamares.calamares.policy';
|
|
47
47
|
await exec(`sed -i 's/auth_admin/yes/' ${policyFile}`, echo);
|
|
48
48
|
}
|
|
49
49
|
/**
|
package/dist/commands/produce.js
CHANGED
|
@@ -212,11 +212,11 @@ export default class Produce extends Command {
|
|
|
212
212
|
if (fullcrypt) {
|
|
213
213
|
const distro = new Distro();
|
|
214
214
|
if (distro.familyId === 'debian') {
|
|
215
|
-
Utils.info("Use this option
|
|
215
|
+
Utils.info("Use penguins-eggs and this option in particular with extreme caution, and ALWAYS first try it out in a test environment.");
|
|
216
216
|
Utils.sleep(3000);
|
|
217
217
|
}
|
|
218
218
|
else {
|
|
219
|
-
Utils.warning("This option is still experimental and can only be
|
|
219
|
+
Utils.warning("This option is still in the experimental phase and can only be tested on Debian trixie");
|
|
220
220
|
process.exit(9);
|
|
221
221
|
}
|
|
222
222
|
}
|
|
@@ -18,7 +18,7 @@ export default async function selectFileSystemType() {
|
|
|
18
18
|
partitions.defaultFileSystemType = 'ext4';
|
|
19
19
|
}
|
|
20
20
|
const choices = ['ext4'];
|
|
21
|
-
if (Pacman.packageIsInstalled('
|
|
21
|
+
if (Pacman.packageIsInstalled('progs') ||
|
|
22
22
|
Pacman.packageIsInstalled('btrfsprogs')) {
|
|
23
23
|
choices.push('btrfs');
|
|
24
24
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ==============================================================
|
|
2
|
-
# 50-live.conf –
|
|
3
|
-
#
|
|
2
|
+
# 50-live.conf – Configurazione per avvio LIVE "IN CHIARO"
|
|
3
|
+
# Avvia un filesystem.squashfs standard
|
|
4
4
|
# ==============================================================
|
|
5
5
|
|
|
6
6
|
compress="zstd"
|
|
@@ -10,19 +10,18 @@ lvmconf="no"
|
|
|
10
10
|
mdadmconf="no"
|
|
11
11
|
early_microcode="no"
|
|
12
12
|
|
|
13
|
-
# Moduli
|
|
13
|
+
# Moduli per avvio "in chiaro"
|
|
14
14
|
add_dracutmodules+=" dm kernel-modules "
|
|
15
|
-
add_dracutmodules+="
|
|
16
|
-
add_dracutmodules+="
|
|
17
|
-
add_dracutmodules+="
|
|
18
|
-
add_dracutmodules+="
|
|
19
|
-
add_dracutmodules+=" livenet qemu qemu-net "
|
|
20
|
-
add_dracutmodules+=" debug-shell "
|
|
15
|
+
add_dracutmodules+=" pollcdrom " # 'iso-scan' è stato rimosso
|
|
16
|
+
add_dracutmodules+=" dmsquash-live "
|
|
17
|
+
add_dracutmodules+=" dmsquash-live-autooverlay "
|
|
18
|
+
add_dracutmodules+=" debug " # Rinominato da 'debug-shell'
|
|
21
19
|
|
|
22
|
-
|
|
20
|
+
# Omettere i moduli crypto non è più critico, ma possiamo lasciarlo
|
|
21
|
+
omit_dracutmodules+=" plymouth luks systemd-cryptsetup fido2 pkcs11 "
|
|
23
22
|
|
|
24
|
-
#
|
|
25
|
-
#
|
|
26
|
-
kernel_cmdline="boot=live root=live:LABEL=colibri rd.luks.loop=/live/luks.img eggs.luks.uuid=fedb19f3-e117-4e94-a85c-debe41b18e5b rd.live.dir=/live rd.live.overlay.overlayfs=1 rd.shell rd.debug"
|
|
23
|
+
# I parametri kernel non servono qui, verranno da GRUB/ISOLINUX
|
|
24
|
+
# kernel_cmdline="..."
|
|
27
25
|
|
|
26
|
+
# OBBLIGATORI per trovare il disco/file squashfs
|
|
28
27
|
install_items+=" /usr/bin/find /usr/bin/lsblk /bin/cat "
|
package/package.json
CHANGED
|
@@ -2,20 +2,20 @@
|
|
|
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": "25.10.
|
|
5
|
+
"version": "25.10.30",
|
|
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.
|
|
12
|
+
"@oclif/core": "^4.8.0",
|
|
13
13
|
"@oclif/plugin-autocomplete": "^3.2.38",
|
|
14
14
|
"@oclif/plugin-help": "^6.2.34",
|
|
15
15
|
"@oclif/plugin-version": "^2.2.35",
|
|
16
|
-
"@types/express": "^5.0.
|
|
16
|
+
"@types/express": "^5.0.5",
|
|
17
17
|
"ansis": "^4.2.0",
|
|
18
|
-
"axios": "^1.
|
|
18
|
+
"axios": "^1.13.1",
|
|
19
19
|
"chalk": "^5.6.2",
|
|
20
20
|
"cli-cursor": "^5.0.0",
|
|
21
21
|
"debug": "^4.4.3",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"eslint-config-prettier": "^10.1.8",
|
|
57
57
|
"glob": "^11.0.3",
|
|
58
58
|
"mocha": "^11.7.4",
|
|
59
|
-
"oclif": "^4.22.
|
|
59
|
+
"oclif": "^4.22.38",
|
|
60
60
|
"perrisbrewery": "^25.9.16",
|
|
61
61
|
"prettier": "^3.6.2",
|
|
62
62
|
"shx": "^0.4.0",
|