penguins-eggs 10.0.49 → 10.0.52

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.
Files changed (142) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/README.md +29 -29
  3. package/addons/eggs/theme/livecd/isolinux.main.simple.cfg +25 -11
  4. package/conf/distros/aldos/calamares/modules/bootloader.yml +85 -0
  5. package/conf/distros/aldos/calamares/modules/displaymanager.yml +22 -0
  6. package/conf/distros/aldos/calamares/modules/finished.yml +5 -0
  7. package/conf/distros/aldos/calamares/modules/fstab.yml +12 -0
  8. package/conf/distros/aldos/calamares/modules/locale.yml +97 -0
  9. package/conf/distros/aldos/calamares/modules/luksopenswaphookcfg.yml +5 -0
  10. package/conf/distros/aldos/calamares/modules/machineid.yml +17 -0
  11. package/conf/distros/aldos/calamares/modules/mount.yml +56 -0
  12. package/conf/distros/aldos/calamares/modules/packages.yml +6 -0
  13. package/conf/distros/aldos/calamares/modules/partition.yml +242 -0
  14. package/conf/distros/aldos/calamares/modules/removeuser.yml +15 -0
  15. package/conf/distros/aldos/calamares/modules/unpackfs.yml +6 -0
  16. package/conf/distros/aldos/calamares/modules/users.yml +19 -0
  17. package/conf/distros/aldos/calamares/modules/welcome.yml +19 -0
  18. package/conf/distros/aldos/calamares/settings.yml +124 -0
  19. package/conf/distros/fedora/calamares/modules/bootloader.conf +85 -0
  20. package/conf/distros/fedora/calamares/modules/bootloader.yml +5 -5
  21. package/conf/distros/fedora/calamares/modules/displaymanager.yml +1 -1
  22. package/conf/distros/fedora/calamares/modules/packages.yml +2 -2
  23. package/conf/distros/fedora/calamares/modules/partition.yml +1 -1
  24. package/conf/distros/fedora/calamares/settings.yml +4 -10
  25. package/conf/distros/openmamba/calamares/modules/bootloader.yml +83 -0
  26. package/conf/distros/openmamba/calamares/modules/displaymanager.yml +22 -0
  27. package/conf/distros/openmamba/calamares/modules/finished.yml +47 -0
  28. package/conf/distros/openmamba/calamares/modules/fstab.yml +37 -0
  29. package/conf/distros/openmamba/calamares/modules/grubcfg.yml +51 -0
  30. package/conf/distros/openmamba/calamares/modules/keyboard.yml +33 -0
  31. package/conf/distros/openmamba/calamares/modules/locale.yml +131 -0
  32. package/conf/distros/openmamba/calamares/modules/luksopenswaphookcfg.yml +7 -0
  33. package/conf/distros/openmamba/calamares/modules/machineid.yml +56 -0
  34. package/conf/distros/openmamba/calamares/modules/mount.yml +121 -0
  35. package/conf/distros/openmamba/calamares/modules/openrcdmcryptcfg.yml +5 -0
  36. package/conf/distros/openmamba/calamares/modules/packages.yml +6 -0
  37. package/conf/distros/openmamba/calamares/modules/partition.yml +318 -0
  38. package/conf/distros/openmamba/calamares/modules/removeuser.yml +13 -0
  39. package/conf/distros/openmamba/calamares/modules/services-systemd.yml +54 -0
  40. package/conf/distros/openmamba/calamares/modules/umount.yml +14 -0
  41. package/conf/distros/openmamba/calamares/modules/unpackfs.yml +93 -0
  42. package/conf/distros/openmamba/calamares/modules/users.yml +272 -0
  43. package/conf/distros/openmamba/calamares/modules/welcome.yml +138 -0
  44. package/conf/distros/openmamba/calamares/settings.yml +228 -0
  45. package/conf/distros/opensuse/calamares/modules/bootloader.conf +86 -0
  46. package/conf/distros/opensuse/calamares/modules/bootloader.yml +5 -5
  47. package/conf/distros/opensuse/calamares/modules/displaymanager.yml +1 -1
  48. package/conf/distros/opensuse/calamares/modules/finished.yml +1 -1
  49. package/conf/distros/opensuse/calamares/modules/fstab.yml +1 -1
  50. package/conf/distros/opensuse/calamares/modules/locale.yml +1 -0
  51. package/conf/distros/opensuse/calamares/modules/luksopenswaphookcfg.yml +1 -1
  52. package/conf/distros/opensuse/calamares/modules/machineid.yml +1 -1
  53. package/conf/distros/opensuse/calamares/modules/mount.yml +1 -1
  54. package/conf/distros/opensuse/calamares/modules/packages.yml +2 -2
  55. package/conf/distros/opensuse/calamares/modules/partition.yml +1 -1
  56. package/conf/distros/opensuse/calamares/modules/removeuser.yml +1 -1
  57. package/conf/distros/opensuse/calamares/settings.yml +4 -10
  58. package/dist/classes/bleach.js +21 -35
  59. package/dist/classes/distro.js +204 -176
  60. package/dist/classes/diversions.d.ts +38 -0
  61. package/dist/classes/diversions.js +107 -0
  62. package/dist/classes/incubation/branding.js +6 -10
  63. package/dist/classes/incubation/fisherman.d.ts +2 -2
  64. package/dist/classes/incubation/fisherman.js +2 -35
  65. package/dist/classes/incubation/incubator.d/openmamba.d.ts +32 -0
  66. package/dist/classes/incubation/incubator.d/openmamba.js +81 -0
  67. package/dist/classes/incubation/incubator.d/opensuse.d.ts +32 -0
  68. package/dist/classes/incubation/incubator.d/opensuse.js +81 -0
  69. package/dist/classes/incubation/{distros → incubator.d}/rolling.js +1 -3
  70. package/dist/classes/incubation/incubator.d.ts +3 -3
  71. package/dist/classes/incubation/incubator.js +118 -119
  72. package/dist/classes/incubation/installer.js +5 -12
  73. package/dist/classes/ovary.d.ts +1 -6
  74. package/dist/classes/ovary.js +26 -68
  75. package/dist/classes/pacman.d/aldos.d.ts +47 -0
  76. package/dist/classes/pacman.d/aldos.js +93 -0
  77. package/dist/classes/pacman.d/openmamba.d.ts +47 -0
  78. package/dist/classes/pacman.d/openmamba.js +93 -0
  79. package/dist/classes/pacman.d.ts +0 -5
  80. package/dist/classes/pacman.js +211 -192
  81. package/dist/classes/tailor.js +2 -0
  82. package/dist/classes/utils.js +15 -1
  83. package/dist/classes/xdg.js +9 -1
  84. package/dist/krill/modules/bootloader.js +59 -26
  85. package/dist/krill/modules/machine-id.js +8 -11
  86. package/dist/krill/sequence.js +1 -5
  87. package/manpages/doc/man/eggs.1.gz +0 -0
  88. package/manpages/doc/man/eggs.html +4 -604
  89. package/package.json +3 -3
  90. package/conf/distros/alpine/calamares/calamares-modules/bootloader-config/bootloader-config.sh +0 -40
  91. package/conf/distros/alpine/calamares/calamares-modules/bootloader-config/module.yml +0 -9
  92. package/conf/distros/alpine/calamares/calamares-modules/cleanup/cleanup.sh +0 -13
  93. package/conf/distros/alpine/calamares/calamares-modules/cleanup/module.yml +0 -9
  94. package/conf/distros/alpine/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -13
  95. package/conf/distros/alpine/calamares/calamares-modules/dpkg-unsafe-io/module.yml +0 -6
  96. package/conf/distros/alpine/calamares/calamares-modules/dpkg-unsafe-io-undo/module.yml +0 -6
  97. package/conf/distros/alpine/calamares/calamares-modules/sources-yolk/module.yml +0 -8
  98. package/conf/distros/alpine/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -50
  99. package/conf/distros/alpine/calamares/calamares-modules/sources-yolk-undo/module.yml +0 -8
  100. package/conf/distros/fedora/calamares/calamares-modules/bootloader-config/bootloader-config.sh +0 -40
  101. package/conf/distros/fedora/calamares/calamares-modules/bootloader-config/module.yml +0 -9
  102. package/conf/distros/fedora/calamares/calamares-modules/cleanup/cleanup.sh +0 -13
  103. package/conf/distros/fedora/calamares/calamares-modules/cleanup/module.yml +0 -9
  104. package/conf/distros/fedora/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -13
  105. package/conf/distros/fedora/calamares/calamares-modules/dpkg-unsafe-io/module.yml +0 -6
  106. package/conf/distros/fedora/calamares/calamares-modules/dpkg-unsafe-io-undo/module.yml +0 -6
  107. package/conf/distros/fedora/calamares/calamares-modules/sources-yolk/module.yml +0 -8
  108. package/conf/distros/fedora/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -50
  109. package/conf/distros/fedora/calamares/calamares-modules/sources-yolk-undo/module.yml +0 -8
  110. package/conf/distros/opensuse/calamares/calamares-modules/bootloader-config/bootloader-config.sh +0 -40
  111. package/conf/distros/opensuse/calamares/calamares-modules/bootloader-config/module.yml +0 -9
  112. package/conf/distros/opensuse/calamares/calamares-modules/cleanup/cleanup.sh +0 -13
  113. package/conf/distros/opensuse/calamares/calamares-modules/cleanup/module.yml +0 -9
  114. package/conf/distros/opensuse/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -13
  115. package/conf/distros/opensuse/calamares/calamares-modules/dpkg-unsafe-io/module.yml +0 -6
  116. package/conf/distros/opensuse/calamares/calamares-modules/dpkg-unsafe-io-undo/module.yml +0 -6
  117. package/conf/distros/opensuse/calamares/calamares-modules/sources-yolk/module.yml +0 -8
  118. package/conf/distros/opensuse/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -50
  119. package/conf/distros/opensuse/calamares/calamares-modules/sources-yolk-undo/module.yml +0 -8
  120. /package/dist/classes/incubation/{distros → incubator.d}/alpine.d.ts +0 -0
  121. /package/dist/classes/incubation/{distros → incubator.d}/alpine.js +0 -0
  122. /package/dist/classes/incubation/{distros → incubator.d}/bionic.d.ts +0 -0
  123. /package/dist/classes/incubation/{distros → incubator.d}/bionic.js +0 -0
  124. /package/dist/classes/incubation/{distros → incubator.d}/buster.d.ts +0 -0
  125. /package/dist/classes/incubation/{distros → incubator.d}/buster.js +0 -0
  126. /package/dist/classes/incubation/{distros → incubator.d}/jessie.d.ts +0 -0
  127. /package/dist/classes/incubation/{distros → incubator.d}/jessie.js +0 -0
  128. /package/dist/classes/incubation/{distros → incubator.d}/noble.d.ts +0 -0
  129. /package/dist/classes/incubation/{distros → incubator.d}/noble.js +0 -0
  130. /package/dist/classes/incubation/{distros → incubator.d}/rolling.d.ts +0 -0
  131. /package/dist/classes/{families → pacman.d}/alpine.d.ts +0 -0
  132. /package/dist/classes/{families → pacman.d}/alpine.js +0 -0
  133. /package/dist/classes/{families → pacman.d}/archlinux.d.ts +0 -0
  134. /package/dist/classes/{families → pacman.d}/archlinux.js +0 -0
  135. /package/dist/classes/{families → pacman.d}/debian.d.ts +0 -0
  136. /package/dist/classes/{families → pacman.d}/debian.js +0 -0
  137. /package/dist/classes/{families → pacman.d}/fedora.d.ts +0 -0
  138. /package/dist/classes/{families → pacman.d}/fedora.js +0 -0
  139. /package/dist/classes/{families → pacman.d}/opensuse.d.ts +0 -0
  140. /package/dist/classes/{families → pacman.d}/opensuse.js +0 -0
  141. /package/dist/classes/{families → pacman.d}/voidlinux.d.ts +0 -0
  142. /package/dist/classes/{families → pacman.d}/voidlinux.js +0 -0
@@ -67,7 +67,11 @@ export default class Utils {
67
67
  let result = '';
68
68
  if (codenameId === 'rolling' || codenameId === '') {
69
69
  result = 'egg-of_' + distroId.toLowerCase() + '-';
70
- if (distroId === 'Alpine' || distroId === 'Fedora') {
70
+ if (distroId === 'ALDOS' ||
71
+ distroId === 'AlmaLinux' ||
72
+ distroId === 'Alpine' ||
73
+ distroId === 'Fedora' ||
74
+ distroId === 'RockyLinux') {
71
75
  const releaseId = shx.exec('lsb_release -rs', { silent: true }).stdout.toString().trim();
72
76
  result = 'egg-of_' + distroId.toLowerCase() + '-' + releaseId.trim() + '-';
73
77
  }
@@ -219,6 +223,16 @@ export default class Utils {
219
223
  version = vmlinuz.substring(vmlinuz.indexOf('-') + 1);
220
224
  suffix = '.img';
221
225
  }
226
+ else if (distro.familyId === 'openmamba') {
227
+ initrd = 'initramfs';
228
+ separator = '-';
229
+ version = vmlinuz.substring(vmlinuz.indexOf('-') + 1);
230
+ }
231
+ else if (distro.familyId === 'aldos') {
232
+ initrd = 'initramfs';
233
+ separator = '-';
234
+ version = vmlinuz.substring(vmlinuz.indexOf('-') + 1);
235
+ }
222
236
  else if (distro.familyId === 'opensuse') {
223
237
  initrd = 'initrd';
224
238
  separator = '-';
@@ -61,7 +61,6 @@ export default class Xdg {
61
61
  for (const elem of files) {
62
62
  const curFile = dc + elem;
63
63
  if (!fs.statSync(`/${curFile}`).isDirectory()) {
64
- //if (!N8.isDirectory(curFile)) {
65
64
  let content = fs.readFileSync(curFile, 'utf8');
66
65
  const find = '[Seat:*]';
67
66
  if (content.includes(find)) {
@@ -72,6 +71,15 @@ export default class Xdg {
72
71
  }
73
72
  }
74
73
  }
74
+ else if (Pacman.packageIsInstalled('lxdm')) {
75
+ let lxdmConf = '/etc/lxdm/lxdm.conf';
76
+ if (fs.existsSync(lxdmConf)) {
77
+ let content = fs.readFileSync(lxdmConf, 'utf8');
78
+ const regex = new RegExp(`autologin\\s*=\\s*${olduser}`, 'g'); // remove spaces
79
+ content = content.replace(regex, `autologin=${newuser}`);
80
+ fs.writeFileSync(lxdmConf, content, 'utf8');
81
+ }
82
+ }
75
83
  else if (Pacman.packageIsInstalled('sddm')) {
76
84
  /**
77
85
  * SDDM
@@ -15,6 +15,20 @@ import path from 'node:path';
15
15
  * @param this
16
16
  */
17
17
  export default async function bootloader() {
18
+ /**
19
+ * look at: https://systemd.io/BOOT/
20
+ */
21
+ // update boot/loader/entries/
22
+ const pathEntries = path.join(this.installTarget, '/boot/loader/entries/');
23
+ if (fs.existsSync(pathEntries)) {
24
+ const uuid = Utils.uuid(this.devices.root.name);
25
+ const machineId = fs.readFileSync(path.join(this.installTarget, '/etc/machine-id'), 'utf-8').trim();
26
+ await renameLoaderEntries(pathEntries, machineId);
27
+ await updateLoaderEntries(pathEntries, machineId, uuid);
28
+ }
29
+ /**
30
+ * GRUB
31
+ */
18
32
  let grubInstall = 'grub-install';
19
33
  if (this.distro.familyId === 'fedora' || this.distro.familyId === 'opensuse') {
20
34
  grubInstall = 'grub2-install';
@@ -36,14 +50,6 @@ export default async function bootloader() {
36
50
  catch {
37
51
  await Utils.pressKeyToExit(cmd);
38
52
  }
39
- // update boot/loader/entries/
40
- const pathEntries = path.join(this.installTarget, '/boot/loader/entries/');
41
- if (fs.existsSync(pathEntries)) {
42
- const uuid = Utils.uuid(this.devices.root.name);
43
- const machineId = fs.readFileSync(path.join(this.installTarget, '/etc/machine-id'), 'utf-8').trim();
44
- await renameLoaderEntries(pathEntries, machineId);
45
- await updateLoaderEntries(pathEntries, uuid);
46
- }
47
53
  }
48
54
  /**
49
55
  *
@@ -54,11 +60,19 @@ async function renameLoaderEntries(directoryPath, machineId) {
54
60
  const files = fs.readdirSync(directoryPath);
55
61
  if (files.length > 0) {
56
62
  for (const file of files) {
57
- const oldPath = path.join(directoryPath, file);
58
- let current = file.substring(32);
59
- current = machineId + current;
60
- const newPath = path.join(directoryPath, current);
61
- await exec(`mv ${oldPath} ${newPath}`);
63
+ if (file.length > 32) {
64
+ const oldEntry = path.join(directoryPath, file);
65
+ let current = file.substring(32);
66
+ current = machineId + current;
67
+ const newEntry = path.join(directoryPath, current);
68
+ const cmd = `mv ${oldEntry} ${newEntry}`;
69
+ try {
70
+ await exec(cmd);
71
+ }
72
+ catch (error) {
73
+ console.log(`error executing: ${cmd}`);
74
+ }
75
+ }
62
76
  }
63
77
  }
64
78
  }
@@ -67,27 +81,46 @@ async function renameLoaderEntries(directoryPath, machineId) {
67
81
  * @param directoryPath
68
82
  * @param newUUID
69
83
  */
70
- async function updateLoaderEntries(directoryPath, newUUID) {
84
+ async function updateLoaderEntries(directoryPath, machineId, newUUID) {
71
85
  const files = fs.readdirSync(directoryPath);
72
86
  if (files.length > 0) {
73
87
  for (const file of files) {
74
- console.log(file);
75
88
  const filePath = path.join(directoryPath, file);
76
- console.log(`entry: ${filePath}`);
77
89
  let source = fs.readFileSync(filePath, 'utf8');
78
90
  let lines = source.split('\n');
79
91
  let content = '';
80
92
  for (let line of lines) {
81
- if (line.includes('UUID=')) {
82
- const at = line.indexOf('UUID=');
83
- const p1 = line.substring(0, at + 5);
84
- const p2 = newUUID;
85
- const p3 = line.substring(at + 5 + 36);
86
- console.log("Orig: " + line);
87
- console.log("p1: " + p1);
88
- console.log("p2: " + p2);
89
- console.log("p3: " + p3);
90
- line = p1 + p2 + p3;
93
+ /**
94
+ * REPLACE root=UUID=
95
+ */
96
+ if (line.includes('root=UUID=')) {
97
+ const at = line.indexOf('root=UUID=');
98
+ const start = line.substring(0, at + 10);
99
+ const stop = line.substring(at + 10 + 36);
100
+ line = start + newUUID + stop;
101
+ }
102
+ /**
103
+ * REMOVE resume=UUID=
104
+ */
105
+ if (line.includes('resume=UUID=')) {
106
+ const at = line.indexOf('resume=UUID=');
107
+ const start = line.substring(0, at - 1);
108
+ line = start;
109
+ }
110
+ /**
111
+ * REPLACE machineId
112
+ */
113
+ // version 0-rescue-
114
+ if (line.includes('version 0-rescue-')) {
115
+ line = `version 0-rescue-${machineId}`;
116
+ }
117
+ // linux /boot/vmlinuz-0-rescue-
118
+ if (line.includes('vmlinuz-0-rescue-')) {
119
+ line = `vmlinuz-0-rescue-${machineId}`;
120
+ }
121
+ // initrd /boot/initramfs-0-rescue-
122
+ if (line.includes('initrd /boot/initramfs-0-rescue-')) {
123
+ line = `initrd /boot/initramfs-0-rescue-${machineId}.img`;
91
124
  }
92
125
  content += line + '\n';
93
126
  }
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import fs from 'node:fs';
10
10
  import { exec } from '../../lib/utils.js';
11
+ import Utils from '../../classes/utils.js';
11
12
  /**
12
13
  * On Ubuntu
13
14
  * /etc/machine-id must exist to be re-created
@@ -20,17 +21,13 @@ export default async function machineId() {
20
21
  await exec(`rm ${file} ${this.toNull}`, this.echo);
21
22
  }
22
23
  /**
23
- * machine/id always new now
24
+ * machine/id ALWAYS new
24
25
  */
25
- await exec(`dbus-uuidgen --ensure=${this.installTarget}/var/lib/dbus/machine-id ${this.toNull}`);
26
- await exec(`cp ${this.installTarget}/var/lib/dbus/machine-id ${this.installTarget}/etc/machine-id`);
27
- /*
28
- // On Alpine, we need to create the machine-id file
29
- if (this.distro.familyId === 'alpine') {
30
- await exec(`dbus-uuidgen --ensure=${this.installTarget}/var/lib/dbus/machine-id ${this.toNull}`)
31
- await exec(`cp ${this.installTarget}/var/lib/dbus/machine-id ${this.installTarget}/etc/machine-id`)
32
- } else {
33
- await exec(`touch ${file} ${this.toNull}`)
26
+ if (Utils.isSystemd()) {
27
+ await exec(`chroot ${this.installTarget} systemd-machine-id-setup`);
28
+ }
29
+ else {
30
+ await exec(`chroot ${this.installTarget} dbus-uuidgen --ensure=/var/lib/dbus/machine-id ${this.toNull}`);
31
+ await exec(`chroot ${this.installTarget} cp /var/lib/dbus/machine-id /etc/machine-id`);
34
32
  }
35
- */
36
33
  }
@@ -617,11 +617,7 @@ export default class Sequence {
617
617
  await redraw(React.createElement(React.Fragment, null,
618
618
  React.createElement(Title, null),
619
619
  React.createElement(Box, null,
620
- React.createElement(Text, null, message)),
621
- React.createElement(Box, null,
622
- React.createElement(Text, null,
623
- "Error: ",
624
- currErr))));
620
+ React.createElement(Text, null, message))));
625
621
  cliCursor.show();
626
622
  await exec("/bin/bash");
627
623
  cliCursor.hide();
Binary file