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
@@ -12,12 +12,14 @@ import path from 'node:path';
12
12
  import shx from 'shelljs';
13
13
  import { exec } from '../lib/utils.js';
14
14
  import Distro from './distro.js';
15
- import Alpine from './families/alpine.js';
16
- import Archlinux from './families/archlinux.js';
17
- import Debian from './families/debian.js';
18
- import Fedora from './families/fedora.js';
19
- import Opensuse from './families/opensuse.js';
20
- import Voidlinux from './families/voidlinux.js';
15
+ import Aldos from './pacman.d/aldos.js';
16
+ import Alpine from './pacman.d/alpine.js';
17
+ import Archlinux from './pacman.d/archlinux.js';
18
+ import Debian from './pacman.d/debian.js';
19
+ import Fedora from './pacman.d/fedora.js';
20
+ import Openmamba from './pacman.d/openmamba.js';
21
+ import Opensuse from './pacman.d/opensuse.js';
22
+ import Voidlinux from './pacman.d/voidlinux.js';
21
23
  import Settings from './settings.js';
22
24
  import Utils from './utils.js';
23
25
  const __dirname = path.dirname(new URL(import.meta.url).pathname);
@@ -56,33 +58,34 @@ export default class Pacman {
56
58
  */
57
59
  static async calamaresInstall(verbose = false) {
58
60
  if (this.isInstalledGui()) {
59
- if (this.distro().familyId === 'debian') {
60
- await Debian.calamaresInstall(verbose);
61
+ const familyId = this.distro().familyId;
62
+ if (familyId === 'aldos') {
63
+ await Aldos.calamaresInstall(verbose);
61
64
  }
62
- else if (this.distro().familyId === 'fedora') {
63
- await Fedora.calamaresInstall(verbose);
65
+ else if (familyId === 'alpine') {
66
+ await Alpine.calamaresInstall(verbose);
64
67
  }
65
- else if (this.distro().familyId === 'archlinux') {
68
+ else if (familyId === 'archlinux') {
66
69
  if (this.distro().distroId === 'ManjaroLinux' || this.distro().distroId === 'BigLinux') {
67
- const cmd = `pacman -Sy --noconfirm calamares`;
68
- try {
69
- await exec(cmd, Utils.setEcho(true));
70
- }
71
- catch {
72
- Utils.error(`manjaro: ${cmd}`); // + e.error)
73
- }
70
+ await exec(`pacman -Sy --noconfirm calamares`, Utils.setEcho(true));
74
71
  }
75
72
  else {
76
73
  await Archlinux.calamaresInstall(verbose);
77
74
  }
78
75
  }
79
- else if (this.distro().familyId === 'alpine') {
80
- await Alpine.calamaresInstall(verbose);
76
+ else if (familyId === 'debian') {
77
+ await Debian.calamaresInstall(verbose);
81
78
  }
82
- else if (this.distro().familyId === 'opensuse') {
79
+ else if (familyId === 'fedora') {
80
+ await Fedora.calamaresInstall(verbose);
81
+ }
82
+ else if (familyId === 'openmamba') {
83
+ await Openmamba.calamaresInstall(verbose);
84
+ }
85
+ else if (familyId === 'opensuse') {
83
86
  await Opensuse.calamaresInstall(verbose);
84
87
  }
85
- else if (this.distro().familyId === 'voidlinux') {
88
+ else if (familyId === 'voidlinux') {
86
89
  await Voidlinux.calamaresInstall(verbose);
87
90
  }
88
91
  // remove others calamares links
@@ -104,22 +107,29 @@ export default class Pacman {
104
107
  */
105
108
  static async calamaresRemove(verbose = true) {
106
109
  let retVal = false;
107
- if (this.distro().familyId === 'debian') {
108
- retVal = await Debian.calamaresRemove(verbose);
110
+ const familyId = this.distro().familyId;
111
+ if (familyId === 'aldos') {
112
+ retVal = await Aldos.calamaresRemove(verbose);
109
113
  }
110
- else if (this.distro().familyId === 'fedora') {
111
- retVal = await Fedora.calamaresRemove(verbose);
114
+ else if (familyId === 'alpine') {
115
+ retVal = await Alpine.calamaresRemove(verbose);
112
116
  }
113
- else if (this.distro().familyId === 'archlinux') {
117
+ else if (familyId === 'archlinux') {
114
118
  retVal = await Archlinux.calamaresRemove(verbose);
115
119
  }
116
- else if (this.distro().familyId === 'alpine') {
117
- retVal = await Alpine.calamaresRemove(verbose);
120
+ else if (familyId === 'debian') {
121
+ retVal = await Debian.calamaresRemove(verbose);
118
122
  }
119
- else if (this.distro().familyId === 'opensuse') {
123
+ else if (familyId === 'fedora') {
124
+ retVal = await Fedora.calamaresRemove(verbose);
125
+ }
126
+ else if (familyId === 'openmamba') {
127
+ retVal = await Openmamba.calamaresRemove(verbose);
128
+ }
129
+ else if (familyId === 'opensuse') {
120
130
  retVal = await Opensuse.calamaresRemove(verbose);
121
131
  }
122
- else if (this.distro().familyId === 'voidlinux') {
132
+ else if (familyId === 'voidlinux') {
123
133
  retVal = await Voidlinux.calamaresRemove(verbose);
124
134
  }
125
135
  return retVal;
@@ -165,12 +175,6 @@ export default class Pacman {
165
175
  config.compression = 'xz';
166
176
  config.ssh_pass = false;
167
177
  config.timezone = 'Europe/Rome';
168
- // config.locales_default = '__NOT_USED_MORE'
169
- // config.locales = ['__NOT_USED_MORE']
170
- // config.timezone = 'America/New_York'
171
- // const env = process.env
172
- // config.locales_default = env.LANG !== undefined ? env.LANG : 'en_US.UTF-8'
173
- // config.locales = config.locales_default === 'en_US.UTF-8' ? ['en_US.UTF-8'] : [config.locales_default, 'en_US.UTF-8']
174
178
  config.pmount_fixed = false;
175
179
  if (!this.calamaresExists()) {
176
180
  config.force_installer = false;
@@ -272,6 +276,7 @@ export default class Pacman {
272
276
  */
273
277
  static distroTemplateCheck() {
274
278
  const { codenameLikeId } = this.distro();
279
+ // console.log(codenameLikeId)
275
280
  return fs.existsSync(`/etc/penguins-eggs.d/distros/${codenameLikeId}`);
276
281
  }
277
282
  /**
@@ -291,42 +296,74 @@ export default class Pacman {
291
296
  /**
292
297
  * Debian 8 jessie: eredita grub, isolinux e locales da buster, contiene krill al posto di calamares
293
298
  */
294
- if (this.distro().codenameLikeId === 'jessie') {
299
+ const codenameLikeId = this.distro().codenameLikeId;
300
+ /***********************************************************************************
301
+ * aldos
302
+ **********************************************************************************/
303
+ if (codenameLikeId === 'aldos') {
304
+ const dest = '/etc/penguins-eggs.d/distros/aldos/';
305
+ const aldos = `${rootPen}/conf/distros/aldos/*`;
306
+ await exec(`cp -r ${aldos} ${dest}`, echo);
307
+ /***********************************************************************************
308
+ * Alpine
309
+ **********************************************************************************/
310
+ }
311
+ else if (codenameLikeId === 'alpine') {
312
+ // eredita solo da alpine
313
+ const dest = '/etc/penguins-eggs.d/distros/alpine/';
314
+ const alpine = `${rootPen}/conf/distros/alpine/`;
315
+ await exec(`cp -r ${alpine}/calamares ${dest}/calamares`, echo);
316
+ /***********************************************************************************
317
+ * Arch Linux
318
+ **********************************************************************************/
319
+ }
320
+ else if (codenameLikeId === 'rolling') {
321
+ const dest = '/etc/penguins-eggs.d/distros/rolling/';
322
+ const rolling = `${rootPen}/conf/distros/rolling/*`;
323
+ await exec(`cp -r ${rolling} ${dest}`, echo);
324
+ /***********************************************************************************
325
+ * Debian
326
+ **********************************************************************************/
327
+ /**
328
+ * Debian 8 jessie
329
+ */
330
+ }
331
+ else if (codenameLikeId === 'jessie') {
295
332
  const dest = '/etc/penguins-eggs.d/distros/jessie';
296
- await exec(`cp -r ${rootPen}/conf/distros/jessie/krill ${dest}/krill`, echo);
333
+ await exec(`cp -r ${rootPen}/conf/distros/jessie/krill ${dest}/calamares`, echo);
297
334
  /**
298
335
  * Debian 9 stretch: eredita grub, isolinux e locales da buster, contiene krill al posto di calamares
299
336
  */
300
337
  }
301
- else if (this.distro().codenameLikeId === 'stretch') {
338
+ else if (codenameLikeId === 'stretch') {
302
339
  const dest = '/etc/penguins-eggs.d/distros/stretch';
303
- await exec(`cp -r ${rootPen}/conf/distros/jessie/krill ${dest}/krill`, echo);
340
+ await exec(`cp -r ${rootPen}/conf/distros/jessie/krill ${dest}/calamares`, echo);
304
341
  /**
305
342
  * Debian 10 buster: eredita tutto da buster
306
343
  */
307
344
  }
308
- else if (this.distro().codenameLikeId === 'buster') {
345
+ else if (codenameLikeId === 'buster') {
309
346
  const dest = '/etc/penguins-eggs.d/distros/buster';
310
347
  await exec(`cp -r ${buster}/calamares ${dest}/calamares`, echo);
311
348
  /**
312
349
  * Debian 11 bullseye: eredita tutto da buster
313
350
  */
314
351
  }
315
- else if (this.distro().codenameLikeId === 'bullseye') {
352
+ else if (codenameLikeId === 'bullseye') {
316
353
  const dest = '/etc/penguins-eggs.d/distros/bullseye';
317
354
  await exec(`cp -r ${buster}/calamares ${dest}/calamares`, echo);
318
355
  /**
319
356
  * Debian 12 bookworm: eredita tutto da buster
320
357
  */
321
358
  }
322
- else if (this.distro().codenameLikeId === 'bookworm') {
359
+ else if (codenameLikeId === 'bookworm') {
323
360
  const dest = '/etc/penguins-eggs.d/distros/bookworm';
324
361
  await exec(`cp -r ${buster}/calamares ${dest}/calamares`, echo);
325
362
  /**
326
363
  * Debian 13 trixie: eredita tutto da buster
327
364
  */
328
365
  }
329
- else if (this.distro().codenameLikeId === 'trixie') {
366
+ else if (codenameLikeId === 'trixie') {
330
367
  const dest = '/etc/penguins-eggs.d/distros/trixie';
331
368
  await exec(`cp -r ${buster}/calamares ${dest}/calamares`, echo);
332
369
  /***********************************************************************************
@@ -336,30 +373,55 @@ export default class Pacman {
336
373
  * Devuan beowulf: eredita tutto da buster
337
374
  */
338
375
  }
339
- else if (this.distro().codenameLikeId === 'beowulf') {
376
+ else if (codenameLikeId === 'beowulf') {
340
377
  const dest = '/etc/penguins-eggs.d/distros/beowulf';
341
378
  await exec(`cp -r ${buster}/calamares ${dest}/calamares`, echo);
342
379
  /**
343
380
  * Devuan chimaera: eredita tutto da buster
344
381
  */
345
382
  }
346
- else if (this.distro().codenameLikeId === 'chimaera') {
383
+ else if (codenameLikeId === 'chimaera') {
347
384
  const dest = '/etc/penguins-eggs.d/distros/chimaera';
348
385
  await exec(`cp -r ${buster}/calamares ${dest}/calamares`, echo);
349
386
  /**
350
387
  * Devuan daedalus: eredita tutto da buster
351
388
  */
352
389
  }
353
- else if (this.distro().codenameLikeId === 'daedalus') {
390
+ else if (codenameLikeId === 'daedalus') {
354
391
  const dest = '/etc/penguins-eggs.d/distros/daedalus';
355
392
  await exec(`cp -r ${buster}/calamares ${dest}/calamares`, echo);
356
393
  /**
357
394
  * Devuan excalibur: eredita tutto da buster
358
395
  */
359
396
  }
360
- else if (this.distro().codenameLikeId === 'excalibur') {
397
+ else if (codenameLikeId === 'excalibur') {
361
398
  const dest = '/etc/penguins-eggs.d/distros/excalibur';
362
399
  await exec(`cp -r ${buster}/calamares ${dest}/calamares`, echo);
400
+ /***********************************************************************************
401
+ * Fedora
402
+ **********************************************************************************/
403
+ }
404
+ else if (codenameLikeId === 'fedora') {
405
+ const dest = '/etc/penguins-eggs.d/distros/fedora/';
406
+ const fedora = `${rootPen}/conf/distros/fedora/*`;
407
+ await exec(`cp -r ${fedora} ${dest}`, echo);
408
+ /***********************************************************************************
409
+ * openmamba
410
+ **********************************************************************************/
411
+ }
412
+ else if (codenameLikeId === 'openmamba') {
413
+ // eredita solo da openmamba
414
+ const dest = '/etc/penguins-eggs.d/distros/openmamba/';
415
+ const mamba = `${rootPen}/conf/distros/openmamba/*`;
416
+ await exec(`cp -r ${mamba} ${dest}`, echo);
417
+ /***********************************************************************************
418
+ * opensuse
419
+ **********************************************************************************/
420
+ }
421
+ else if (codenameLikeId === 'opensuse') {
422
+ const dest = '/etc/penguins-eggs.d/distros/opensuse/';
423
+ const suse = `${rootPen}/conf/distros/opensuse/*`;
424
+ await exec(`cp -r ${suse} ${dest}`, echo);
363
425
  /***********************************************************************************
364
426
  * Ubuntu
365
427
  **********************************************************************************/
@@ -367,52 +429,31 @@ export default class Pacman {
367
429
  * Ubuntu 10.04 bionic: eredita da bionic, focal grub ed isolinux, da buster i seguenti
368
430
  */
369
431
  }
370
- else if (this.distro().codenameLikeId === 'bionic') {
432
+ else if (codenameLikeId === 'bionic') {
371
433
  const dest = '/etc/penguins-eggs.d/distros/bionic';
372
434
  const bionic = `${rootPen}/conf/distros/bionic`;
373
435
  await exec(`cp -r ${bionic}/* ${dest}`, echo);
374
- // Poi da buster
375
- await exec(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
376
- await exec(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
377
- await exec(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-undo ${dest}/calamares/calamares-modules/sources-yolk-undo`, echo);
378
- await exec(`cp -r ${buster}/calamares/modules/packages.yml ${dest}/calamares/modules/packages.yml`, echo);
379
- await exec(`cp -r ${buster}/calamares/modules/removeuser.yml ${dest}/calamares/modules/removeuser.yml`, echo);
380
- await exec(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
381
- await exec(`cp -r ${buster}/calamares/modules/displaymanager.yml ${dest}/calamares/modules/displaymanager.yml`, echo);
436
+ await partialFromBuster(dest, echo);
382
437
  /**
383
438
  * Ubuntu focal: eredita da noble e buster
384
439
  */
385
440
  }
386
- else if (this.distro().codenameLikeId === 'focal') {
441
+ else if (codenameLikeId === 'focal') {
387
442
  const dest = '/etc/penguins-eggs.d/distros/focal';
388
443
  const noble = `${rootPen}/conf/distros/noble`;
389
444
  await exec(`cp -r ${noble}/* ${dest}`, echo);
390
- // backport per focal e jammy: fstab, mount, users
391
445
  await exec(`cp ${noble}/calamares/modules/focal-jammy/* ${dest}/calamares/modules/`, echo);
392
- await exec(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
393
- await exec(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
394
- await exec(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-undo ${dest}/calamares/calamares-modules/sources-yolk-undo`, echo);
395
- await exec(`cp -r ${buster}/calamares/modules/packages.yml ${dest}/calamares/modules/packages.yml`, echo);
396
- await exec(`cp -r ${buster}/calamares/modules/removeuser.yml ${dest}/calamares/modules/removeuser.yml`, echo);
397
- await exec(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
398
- await exec(`cp -r ${buster}/calamares/modules/displaymanager.yml ${dest}/calamares/modules/displaymanager.yml`, echo);
446
+ await partialFromBuster(dest, echo);
399
447
  /**
400
448
  * Ubuntu 22.04 jammy: eredita da noble e buster
401
449
  */
402
450
  }
403
- else if (this.distro().codenameLikeId === 'jammy') {
451
+ else if (codenameLikeId === 'jammy') {
404
452
  const dest = '/etc/penguins-eggs.d/distros/jammy';
405
453
  const noble = `${rootPen}/conf/distros/noble`;
406
454
  await exec(`cp -r ${noble}/* ${dest}`, echo);
407
- // backport per focal e jammy: fstab, mount, users
408
455
  await exec(`cp ${noble}/calamares/modules/focal-jammy/* ${dest}/calamares/modules/`, echo);
409
- await exec(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
410
- await exec(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
411
- await exec(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-undo ${dest}/calamares/calamares-modules/sources-yolk-undo`, echo);
412
- await exec(`cp -r ${buster}/calamares/modules/packages.yml ${dest}/calamares/modules/packages.yml`, echo);
413
- await exec(`cp -r ${buster}/calamares/modules/removeuser.yml ${dest}/calamares/modules/removeuser.yml`, echo);
414
- await exec(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
415
- await exec(`cp -r ${buster}/calamares/modules/displaymanager.yml ${dest}/calamares/modules/displaymanager.yml`, echo);
456
+ await partialFromBuster(dest, echo);
416
457
  /**
417
458
  * Ubuntu noble: e la nuova baseline per ubuntu
418
459
  *
@@ -422,70 +463,22 @@ export default class Pacman {
422
463
  const dest = '/etc/penguins-eggs.d/distros/noble';
423
464
  const noble = `${rootPen}/conf/distros/noble`;
424
465
  await exec(`cp -r ${noble}/* ${dest}`, echo);
425
- await exec(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
426
- await exec(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
427
- await exec(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-undo ${dest}/calamares/calamares-modules/sources-yolk-undo`, echo);
428
- await exec(`cp -r ${buster}/calamares/modules/packages.yml ${dest}/calamares/modules/packages.yml`, echo);
429
- await exec(`cp -r ${buster}/calamares/modules/removeuser.yml ${dest}/calamares/modules/removeuser.yml`, echo);
430
- await exec(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
431
- await exec(`cp -r ${buster}/calamares/modules/displaymanager.yml ${dest}/calamares/modules/displaymanager.yml`, echo);
466
+ await partialFromBuster(dest, echo);
432
467
  /**
433
468
  * Ubuntu rhino: eredita da noble e buster
434
469
  *
435
470
  */
436
471
  }
437
- else if (this.distro().codenameLikeId === 'devel') {
472
+ else if (codenameLikeId === 'devel') {
438
473
  const dest = '/etc/penguins-eggs.d/distros/devel';
439
474
  const noble = `${rootPen}/conf/distros/noble`;
440
475
  await exec(`cp -r ${noble}/* ${dest}`, echo);
441
- await exec(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
442
- await exec(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
443
- await exec(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-undo ${dest}/calamares/calamares-modules/sources-yolk-undo`, echo);
444
- await exec(`cp -r ${buster}/calamares/modules/packages.yml ${dest}/calamares/modules/packages.yml`, echo);
445
- await exec(`cp -r ${buster}/calamares/modules/removeuser.yml ${dest}/calamares/modules/removeuser.yml`, echo);
446
- await exec(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
447
- await exec(`cp -r ${buster}/calamares/modules/displaymanager.yml ${dest}/calamares/modules/displaymanager.yml`, echo);
448
- /***********************************************************************************
449
- * Fedora
450
- **********************************************************************************/
451
- }
452
- else if (this.distro().codenameLikeId === 'fedora') {
453
- const dest = '/etc/penguins-eggs.d/distros/fedora/';
454
- const fedora = `${rootPen}/conf/distros/fedora/*`;
455
- await exec(`cp -r ${fedora} ${dest}`, echo);
456
- /***********************************************************************************
457
- * Arch Linux
458
- **********************************************************************************/
459
- /**
460
- * Endeavour rolling: eredita da rolling
461
- */
462
- }
463
- else if (this.distro().codenameLikeId === 'rolling') {
464
- const dest = '/etc/penguins-eggs.d/distros/rolling/';
465
- const rolling = `${rootPen}/conf/distros/rolling/*`;
466
- await exec(`cp -r ${rolling} ${dest}`, echo);
467
- /***********************************************************************************
468
- * Alpine
469
- **********************************************************************************/
470
- }
471
- else if (this.distro().codenameLikeId === 'alpine') {
472
- // eredita solo da alpine
473
- const dest = '/etc/penguins-eggs.d/distros/alpine/';
474
- const alpine = `${rootPen}/conf/distros/alpine/`;
475
- await exec(`cp -r ${alpine}/calamares ${dest}/calamares`, echo);
476
- /***********************************************************************************
477
- * opensuse
478
- **********************************************************************************/
479
- }
480
- else if (this.distro().codenameLikeId === 'opensuse') {
481
- const dest = '/etc/penguins-eggs.d/distros/opensuse/';
482
- const suse = `${rootPen}/conf/distros/opensuse/*`;
483
- await exec(`cp -r ${suse} ${dest}`, echo);
476
+ await partialFromBuster(dest, echo);
484
477
  /***********************************************************************************
485
478
  * voidlinux
486
479
  **********************************************************************************/
487
480
  }
488
- else if (this.distro().codenameLikeId === 'voidlinux') {
481
+ else if (codenameLikeId === 'voidlinux') {
489
482
  const dest = '/etc/penguins-eggs.d/distros/voidlinux/';
490
483
  const voidLinux = `${rootPen}/conf/distros/voidlinux/*`;
491
484
  await exec(`cp -r ${voidLinux} ${dest}`, echo);
@@ -515,32 +508,43 @@ export default class Pacman {
515
508
  */
516
509
  static isInstalledWayland() {
517
510
  let installed = false;
518
- if (this.distro().familyId === 'debian') {
519
- if (Debian.packageIsInstalled('xwayland')) {
511
+ const familyId = this.distro().familyId;
512
+ if (familyId === 'aldos') {
513
+ if (Aldos.packageIsInstalled('wayland')) {
520
514
  installed = true;
521
515
  }
522
516
  }
523
- else if (this.distro().familyId === 'fedora') {
524
- if (Fedora.packageIsInstalled('xorg-x11-server-Xwayland*')) {
517
+ else if (familyId === 'alpine') {
518
+ if (Alpine.packageIsInstalled('xwayland*')) {
525
519
  installed = true;
526
520
  }
527
521
  }
528
- else if (this.distro().familyId === 'archlinux') {
522
+ else if (familyId === 'archlinux') {
529
523
  if (Archlinux.packageIsInstalled('xwayland')) {
530
524
  installed = true;
531
525
  }
532
526
  }
533
- else if (this.distro().familyId === 'alpine') {
534
- if (Alpine.packageIsInstalled('xwayland*')) {
527
+ else if (familyId === 'debian') {
528
+ if (Debian.packageIsInstalled('xwayland')) {
535
529
  installed = true;
536
530
  }
537
531
  }
538
- else if (this.distro().familyId === 'opensuse') {
532
+ else if (familyId === 'fedora') {
533
+ if (Fedora.packageIsInstalled('xorg-x11-server-Xwayland*')) {
534
+ installed = true;
535
+ }
536
+ }
537
+ else if (familyId === 'openmamba') {
538
+ if (Openmamba.packageIsInstalled('wayland')) {
539
+ installed = true;
540
+ }
541
+ }
542
+ else if (familyId === 'opensuse') {
539
543
  if (Opensuse.packageIsInstalled('wayland')) {
540
544
  installed = true;
541
545
  }
542
546
  }
543
- else if (this.distro().familyId === 'voidlinux') {
547
+ else if (familyId === 'voidlinux') {
544
548
  if (Voidlinux.packageIsInstalled('wayland')) {
545
549
  installed = true;
546
550
  }
@@ -553,27 +557,38 @@ export default class Pacman {
553
557
  */
554
558
  static isInstalledXorg() {
555
559
  let installed = false;
556
- if (this.distro().familyId === 'debian') {
557
- if (Debian.packageIsInstalled('xserver-xorg-core')) {
560
+ const familyId = this.distro().familyId;
561
+ if (familyId === 'aldos') {
562
+ if (Aldos.packageIsInstalled('xorg-server')) {
558
563
  installed = true;
559
564
  }
560
565
  }
561
- else if (this.distro().familyId === 'fedora') {
562
- if (Fedora.packageIsInstalled('xorg-x11-server-Xorg.x86_64')) {
566
+ else if (familyId === 'alpine') {
567
+ if (Alpine.packageIsInstalled('xorg-server')) {
563
568
  installed = true;
564
569
  }
565
570
  }
566
- else if (this.distro().familyId === 'archlinux') {
571
+ else if (familyId === 'archlinux') {
567
572
  if (Archlinux.packageIsInstalled('xorg-server-common')) {
568
573
  installed = true;
569
574
  }
570
575
  }
571
- else if (this.distro().familyId === 'alpine') {
572
- if (Alpine.packageIsInstalled('xorg-server')) {
576
+ else if (familyId === 'debian') {
577
+ if (Debian.packageIsInstalled('xserver-xorg-core')) {
573
578
  installed = true;
574
579
  }
575
580
  }
576
- else if (this.distro().familyId === 'opensuse') {
581
+ else if (familyId === 'fedora') {
582
+ if (Fedora.packageIsInstalled('xorg-x11-server-Xorg.x86_64')) {
583
+ installed = true;
584
+ }
585
+ }
586
+ else if (familyId === 'openmamba') {
587
+ if (Openmamba.packageIsInstalled('xorg-server')) {
588
+ installed = true;
589
+ }
590
+ }
591
+ else if (familyId === 'opensuse') {
577
592
  if (Opensuse.packageIsInstalled('xorg-x11-server')) {
578
593
  installed = true;
579
594
  }
@@ -659,21 +674,31 @@ export default class Pacman {
659
674
  */
660
675
  static async packageInstall(packageName) {
661
676
  let retVal = false;
662
- if (this.distro().familyId === 'debian') {
663
- retVal = await Debian.packageInstall(packageName);
677
+ const familyId = this.distro().familyId;
678
+ if (familyId === 'aldos') {
679
+ retVal = await Aldos.packageInstall(packageName);
680
+ }
681
+ else if (familyId === 'alpine') {
682
+ retVal = await Alpine.packageInstall(packageName);
664
683
  }
665
- else if (this.distro().familyId === 'archlinux') {
684
+ else if (familyId === 'archlinux') {
666
685
  retVal = await Archlinux.packageInstall(packageName);
667
686
  }
668
- else if (this.distro().familyId === 'fedora') {
687
+ else if (familyId === 'debian') {
688
+ retVal = await Debian.packageInstall(packageName);
689
+ }
690
+ else if (familyId === 'fedora') {
669
691
  retVal = await Fedora.packageInstall(packageName);
670
692
  }
671
- else if (this.distro().familyId === 'alpine') {
672
- retVal = await Alpine.packageInstall(packageName);
693
+ else if (familyId === 'openmamba') {
694
+ retVal = await Openmamba.packageInstall(packageName);
673
695
  }
674
- else if (this.distro().familyId === 'opensuse') {
696
+ else if (familyId === 'opensuse') {
675
697
  retVal = await Opensuse.packageInstall(packageName);
676
698
  }
699
+ else if (familyId === 'voidlinux') {
700
+ retVal = await Voidlinux.packageInstall(packageName);
701
+ }
677
702
  return retVal;
678
703
  }
679
704
  /**
@@ -682,56 +707,50 @@ export default class Pacman {
682
707
  */
683
708
  static packageIsInstalled(packageName) {
684
709
  let installed = false;
685
- if (this.distro().familyId === 'debian') {
686
- installed = Debian.packageIsInstalled(packageName);
710
+ const familyId = this.distro().familyId;
711
+ if (familyId === 'aldos') {
712
+ installed = Aldos.packageIsInstalled(packageName);
687
713
  }
688
- else if (this.distro().familyId === 'fedora') {
689
- installed = Fedora.packageIsInstalled(packageName);
714
+ else if (familyId === 'alpine') {
715
+ installed = Alpine.packageIsInstalled(packageName);
690
716
  }
691
- else if (this.distro().familyId === 'archlinux') {
717
+ else if (familyId === 'archlinux') {
692
718
  installed = Archlinux.packageIsInstalled(packageName);
693
719
  }
694
- else if (this.distro().familyId === 'alpine') {
695
- installed = Alpine.packageIsInstalled(packageName);
720
+ else if (familyId === 'debian') {
721
+ installed = Debian.packageIsInstalled(packageName);
722
+ }
723
+ else if (familyId === 'fedora') {
724
+ installed = Fedora.packageIsInstalled(packageName);
725
+ }
726
+ else if (familyId === 'openmamba') {
727
+ installed = Openmamba.packageIsInstalled(packageName);
696
728
  }
697
- else if (this.distro().familyId === 'opensuse') {
729
+ else if (familyId === 'opensuse') {
698
730
  installed = Opensuse.packageIsInstalled(packageName);
699
731
  }
732
+ else if (familyId === 'voidlinux') {
733
+ installed = Voidlinux.packageIsInstalled(packageName);
734
+ }
700
735
  return installed;
701
736
  }
702
737
  static async packageNpmLast(packageNpm = 'penguins-eggs') {
703
738
  return shx.exec('npm show ' + packageNpm + ' version', { silent: true }).stdout.trim();
704
739
  }
705
- /**
706
- *
707
- * @returns grub
708
- */
709
- static whichGrubIsInstalled() {
710
- let grubInstalled = '';
711
- if (this.distro().familyId === 'debian') {
712
- if (this.packageIsInstalled('grub-common')) {
713
- grubInstalled = 'grub';
714
- }
715
- }
716
- else if (this.distro().familyId === 'fedora') {
717
- if (this.packageIsInstalled('grub2-common.noarch')) {
718
- grubInstalled = 'grub2';
719
- }
720
- }
721
- else if (this.distro().familyId === 'archlinux') {
722
- if (this.packageIsInstalled('grub')) {
723
- grubInstalled = 'grub';
724
- }
725
- }
726
- else if (this.distro().familyId === 'alpine') {
727
- grubInstalled = 'grub';
728
- }
729
- else if (this.distro().familyId === 'opensuse') {
730
- grubInstalled = 'grub';
731
- }
732
- else if (this.distro().familyId === 'voidlinux') {
733
- grubInstalled = 'grub';
734
- }
735
- return grubInstalled;
736
- }
740
+ }
741
+ /**
742
+ *
743
+ * @param dest
744
+ * @param echo
745
+ */
746
+ async function partialFromBuster(dest, echo) {
747
+ const rootPen = Utils.rootPenguin();
748
+ const buster = `${rootPen}/conf/distros/buster`;
749
+ await exec(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
750
+ await exec(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
751
+ await exec(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-undo ${dest}/calamares/calamares-modules/sources-yolk-undo`, echo);
752
+ await exec(`cp -r ${buster}/calamares/modules/displaymanager.yml ${dest}/calamares/modules/displaymanager.yml`, echo);
753
+ await exec(`cp -r ${buster}/calamares/modules/packages.yml ${dest}/calamares/modules/packages.yml`, echo);
754
+ await exec(`cp -r ${buster}/calamares/modules/removeuser.yml ${dest}/calamares/modules/removeuser.yml`, echo);
755
+ await exec(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
737
756
  }
@@ -128,6 +128,8 @@ export default class Tailor {
128
128
  }
129
129
  break;
130
130
  }
131
+ case 'AlmaLinux':
132
+ case 'RockyLinux':
131
133
  case 'Fedora': {
132
134
  tailorList = `${this.costume}/fedora.yml`;
133
135
  if (!fs.existsSync(tailorList)) {