penguins-eggs 10.0.50 → 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 (138) 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 +12 -1
  83. package/dist/classes/xdg.js +9 -1
  84. package/dist/krill/modules/bootloader.js +13 -5
  85. package/package.json +3 -3
  86. package/conf/distros/alpine/calamares/calamares-modules/bootloader-config/bootloader-config.sh +0 -40
  87. package/conf/distros/alpine/calamares/calamares-modules/bootloader-config/module.yml +0 -9
  88. package/conf/distros/alpine/calamares/calamares-modules/cleanup/cleanup.sh +0 -13
  89. package/conf/distros/alpine/calamares/calamares-modules/cleanup/module.yml +0 -9
  90. package/conf/distros/alpine/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -13
  91. package/conf/distros/alpine/calamares/calamares-modules/dpkg-unsafe-io/module.yml +0 -6
  92. package/conf/distros/alpine/calamares/calamares-modules/dpkg-unsafe-io-undo/module.yml +0 -6
  93. package/conf/distros/alpine/calamares/calamares-modules/sources-yolk/module.yml +0 -8
  94. package/conf/distros/alpine/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -50
  95. package/conf/distros/alpine/calamares/calamares-modules/sources-yolk-undo/module.yml +0 -8
  96. package/conf/distros/fedora/calamares/calamares-modules/bootloader-config/bootloader-config.sh +0 -40
  97. package/conf/distros/fedora/calamares/calamares-modules/bootloader-config/module.yml +0 -9
  98. package/conf/distros/fedora/calamares/calamares-modules/cleanup/cleanup.sh +0 -13
  99. package/conf/distros/fedora/calamares/calamares-modules/cleanup/module.yml +0 -9
  100. package/conf/distros/fedora/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -13
  101. package/conf/distros/fedora/calamares/calamares-modules/dpkg-unsafe-io/module.yml +0 -6
  102. package/conf/distros/fedora/calamares/calamares-modules/dpkg-unsafe-io-undo/module.yml +0 -6
  103. package/conf/distros/fedora/calamares/calamares-modules/sources-yolk/module.yml +0 -8
  104. package/conf/distros/fedora/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -50
  105. package/conf/distros/fedora/calamares/calamares-modules/sources-yolk-undo/module.yml +0 -8
  106. package/conf/distros/opensuse/calamares/calamares-modules/bootloader-config/bootloader-config.sh +0 -40
  107. package/conf/distros/opensuse/calamares/calamares-modules/bootloader-config/module.yml +0 -9
  108. package/conf/distros/opensuse/calamares/calamares-modules/cleanup/cleanup.sh +0 -13
  109. package/conf/distros/opensuse/calamares/calamares-modules/cleanup/module.yml +0 -9
  110. package/conf/distros/opensuse/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -13
  111. package/conf/distros/opensuse/calamares/calamares-modules/dpkg-unsafe-io/module.yml +0 -6
  112. package/conf/distros/opensuse/calamares/calamares-modules/dpkg-unsafe-io-undo/module.yml +0 -6
  113. package/conf/distros/opensuse/calamares/calamares-modules/sources-yolk/module.yml +0 -8
  114. package/conf/distros/opensuse/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -50
  115. package/conf/distros/opensuse/calamares/calamares-modules/sources-yolk-undo/module.yml +0 -8
  116. /package/dist/classes/incubation/{distros → incubator.d}/alpine.d.ts +0 -0
  117. /package/dist/classes/incubation/{distros → incubator.d}/alpine.js +0 -0
  118. /package/dist/classes/incubation/{distros → incubator.d}/bionic.d.ts +0 -0
  119. /package/dist/classes/incubation/{distros → incubator.d}/bionic.js +0 -0
  120. /package/dist/classes/incubation/{distros → incubator.d}/buster.d.ts +0 -0
  121. /package/dist/classes/incubation/{distros → incubator.d}/buster.js +0 -0
  122. /package/dist/classes/incubation/{distros → incubator.d}/jessie.d.ts +0 -0
  123. /package/dist/classes/incubation/{distros → incubator.d}/jessie.js +0 -0
  124. /package/dist/classes/incubation/{distros → incubator.d}/noble.d.ts +0 -0
  125. /package/dist/classes/incubation/{distros → incubator.d}/noble.js +0 -0
  126. /package/dist/classes/incubation/{distros → incubator.d}/rolling.d.ts +0 -0
  127. /package/dist/classes/{families → pacman.d}/alpine.d.ts +0 -0
  128. /package/dist/classes/{families → pacman.d}/alpine.js +0 -0
  129. /package/dist/classes/{families → pacman.d}/archlinux.d.ts +0 -0
  130. /package/dist/classes/{families → pacman.d}/archlinux.js +0 -0
  131. /package/dist/classes/{families → pacman.d}/debian.d.ts +0 -0
  132. /package/dist/classes/{families → pacman.d}/debian.js +0 -0
  133. /package/dist/classes/{families → pacman.d}/fedora.d.ts +0 -0
  134. /package/dist/classes/{families → pacman.d}/fedora.js +0 -0
  135. /package/dist/classes/{families → pacman.d}/opensuse.d.ts +0 -0
  136. /package/dist/classes/{families → pacman.d}/opensuse.js +0 -0
  137. /package/dist/classes/{families → pacman.d}/voidlinux.d.ts +0 -0
  138. /package/dist/classes/{families → pacman.d}/voidlinux.js +0 -0
@@ -65,205 +65,230 @@ class Distro {
65
65
  this.distroId = "BigLinux";
66
66
  }
67
67
  /**
68
- * Per Alpine, Fedora ed OpenSUSE basta distroId,
68
+ * Alpine, Fedora, openmamba, opensuse, VoidLinux solo distroId.
69
+ *
69
70
  * Debian, Devuan, Ubuntu e derivate ricadono in
70
71
  * default e si analizza il codebaseId
71
72
  *
72
73
  */
73
- switch (this.distroId) {
74
+ if (this.distroId === 'ALDOS') {
75
+ this.familyId = 'aldos';
76
+ this.distroLike = 'ALDOS';
77
+ this.codenameId = 'rolling'; // viene rimosso dal nome
78
+ this.codenameLikeId = this.familyId; // per krill
79
+ this.liveMediumPath = '/run/initramfs/live/';
74
80
  /**
75
81
  * Alpine compatible
76
82
  */
77
- case 'Alpine': {
78
- this.familyId = 'alpine';
79
- this.distroLike = this.distroId;
80
- this.codenameId = 'rolling'; // viene rimosso dal nome
81
- this.codenameLikeId = this.familyId; // per krill
82
- this.liveMediumPath = '/mnt/'; // Qua è deciso da noi
83
- break;
84
- }
83
+ }
84
+ else if (this.distroId === 'Alpine') {
85
+ this.familyId = 'alpine';
86
+ this.distroLike = this.distroId;
87
+ this.codenameId = 'rolling'; // viene rimosso dal nome
88
+ this.codenameLikeId = this.familyId; // per krill
89
+ this.liveMediumPath = '/mnt/'; // Qua è deciso da noi
85
90
  /**
86
- * Fedora compatible
91
+ * Arch
87
92
  */
88
- case 'AlmaLinux':
89
- case 'RockyLinux':
90
- case 'Fedora': {
91
- this.familyId = 'fedora';
92
- this.distroLike = 'Fedora';
93
- this.codenameId = 'rolling'; // viene rimosso dal nome
94
- this.codenameLikeId = this.familyId; // per krill
95
- this.liveMediumPath = '/run/initramfs/live/';
96
- break;
97
- }
93
+ }
94
+ else if (this.distroId === 'rolling' || this.distroId === 'n/a') {
95
+ this.familyId = 'archlinux';
96
+ this.distroLike = 'Arch';
97
+ this.codenameId = 'rolling';
98
+ this.codenameLikeId = 'rolling';
99
+ this.liveMediumPath = '/run/archiso/bootmnt/';
100
+ this.squashfs = `arch/x86_64/airootfs.sfs`;
101
+ /**
102
+ * Fedora/RHEL compatible
103
+ */
104
+ }
105
+ else if (this.distroId === 'AlmaLinux' ||
106
+ this.distroId === 'Fedora' ||
107
+ this.distroId === 'NobaraLinux' ||
108
+ this.distroId === 'RockyLinux') {
109
+ this.familyId = 'fedora';
110
+ this.distroLike = 'Fedora';
111
+ this.codenameId = 'rolling'; // viene rimosso dal nome
112
+ this.codenameLikeId = this.familyId; // per krill
113
+ this.liveMediumPath = '/run/initramfs/live/';
114
+ /**
115
+ * openmamba
116
+ */
117
+ }
118
+ else if (this.distroId === 'openmamba') {
119
+ this.familyId = 'openmamba';
120
+ this.distroLike = 'openmamba';
121
+ this.codenameId = 'rolling'; // viene rimosso dal nome
122
+ this.codenameLikeId = this.familyId; // per krill
123
+ this.liveMediumPath = '/run/initramfs/live/';
98
124
  /**
99
125
  * opensuse compatible
100
126
  */
101
- case 'openSUSE': {
102
- this.familyId = 'opensuse';
103
- this.distroLike = this.distroId;
104
- this.codenameId = 'rolling'; // viene rimosso dal nome
105
- this.codenameLikeId = this.familyId; // per krill
106
- this.liveMediumPath = '/run/initramfs/live/';
107
- break;
108
- }
127
+ }
128
+ else if (this.distroId === 'openSUSE') {
129
+ this.familyId = 'opensuse';
130
+ this.distroLike = this.distroId;
131
+ this.codenameId = 'rolling'; // viene rimosso dal nome
132
+ this.codenameLikeId = this.familyId; // per krill
133
+ this.liveMediumPath = '/run/initramfs/live/'; // check
109
134
  /**
110
135
  * voidlinux compatible
111
136
  */
112
- case 'VoidLinux': {
113
- this.familyId = 'voidlinux';
114
- this.distroLike = this.distroId;
115
- this.codenameId = 'rolling';
116
- this.codenameLikeId = this.familyId; // per krill
117
- this.liveMediumPath = '/run/initramfs/live/'; // we must discover
118
- break;
119
- }
137
+ }
138
+ else if (this.distroId === 'VoidLinux') {
139
+ this.familyId = 'voidlinux';
140
+ this.distroLike = this.distroId;
141
+ this.codenameId = 'rolling';
142
+ this.codenameLikeId = this.familyId; // per krill
143
+ this.liveMediumPath = '/run/initramfs/live/'; // we must discover
144
+ }
145
+ else {
120
146
  /**
121
- * Arch/Debian/Devuan and Ubuntu
122
- * analizzo i codebase conosciuti
147
+ * We must analize codenameId
123
148
  */
124
- default: {
149
+ /**
150
+ * Debian jessie
151
+ */
152
+ if (this.codenameId === 'jessie') {
153
+ this.distroLike = 'Debian';
154
+ this.codenameLikeId = 'jessie';
155
+ this.liveMediumPath = '/lib/live/mount/medium/';
156
+ this.isCalamaresAvailable = false;
125
157
  /**
126
- * Debian
158
+ * Debian stretch
127
159
  */
128
- switch (this.codenameId) {
129
- case 'jessie': {
130
- this.distroLike = 'Debian';
131
- this.codenameLikeId = 'jessie';
132
- this.liveMediumPath = '/lib/live/mount/medium/';
133
- this.isCalamaresAvailable = false;
134
- break;
135
- }
136
- case 'stretch': {
137
- this.distroLike = 'Debian';
138
- this.codenameLikeId = 'stretch';
139
- this.liveMediumPath = '/lib/live/mount/medium/';
140
- this.isCalamaresAvailable = false;
141
- break;
142
- }
143
- case 'buster': {
144
- this.distroLike = 'Debian';
145
- this.codenameLikeId = 'buster';
146
- break;
147
- }
148
- case 'bullseye': {
149
- this.distroLike = 'Debian';
150
- this.codenameLikeId = 'bullseye';
151
- break;
152
- }
153
- case 'bookworm': {
154
- this.distroLike = 'Debian';
155
- this.codenameLikeId = 'bookworm';
156
- break;
157
- }
158
- case 'trixie': {
159
- this.distroLike = 'Debian';
160
- this.codenameLikeId = 'trixie';
161
- break;
162
- }
163
- /**
164
- * Devuan
165
- */
166
- case 'beowulf': {
167
- this.distroLike = 'Devuan';
168
- this.codenameLikeId = 'beowulf';
169
- break;
170
- }
171
- case 'chimaera': {
172
- this.distroLike = 'Devuan';
173
- this.codenameLikeId = 'chimaera';
174
- break;
175
- }
176
- case 'daedalus': {
177
- this.distroLike = 'Devuan';
178
- this.codenameLikeId = 'daedalus';
179
- break;
180
- }
181
- case 'excalibur': {
182
- this.distroLike = 'Devuan';
183
- this.codenameLikeId = 'excalibur';
184
- break;
185
- }
186
- /**
187
- * Ubuntu
188
- */
189
- case 'bionic': {
190
- this.distroLike = 'Ubuntu';
191
- this.codenameLikeId = 'bionic';
192
- this.liveMediumPath = '/lib/live/mount/medium/';
193
- break;
194
- }
195
- case 'focal': {
196
- this.distroLike = 'Ubuntu';
197
- this.codenameLikeId = 'focal';
198
- break;
199
- }
200
- case 'jammy': {
201
- this.distroLike = 'Ubuntu';
202
- this.codenameLikeId = 'jammy';
203
- break;
204
- }
205
- case 'noble': {
206
- this.distroLike = 'Ubuntu';
207
- this.codenameLikeId = 'noble';
208
- break;
209
- }
210
- // rhino
211
- case 'devel': {
212
- this.distroLike = 'Ubuntu';
213
- this.codenameLikeId = 'devel';
214
- break;
215
- }
216
- /**
217
- * Arch
218
- */
219
- case 'n/a':
220
- case 'rolling': {
221
- this.familyId = 'archlinux';
222
- this.distroLike = 'Arch';
223
- this.codenameId = 'rolling';
224
- this.codenameLikeId = 'rolling';
225
- this.liveMediumPath = '/run/archiso/bootmnt/';
226
- this.squashfs = `arch/x86_64/airootfs.sfs`;
227
- break;
228
- }
229
- /**
230
- * derivatives
231
- */
232
- default: {
233
- /**
234
- * patch per Roy VERIFICARE
235
- */
236
- let file = path.resolve(__dirname, '../../conf/derivatives.yaml');
237
- if (fs.existsSync('/etc/penguins-eggs.d/derivatives.yaml')) {
238
- file = '/etc/penguins-eggs.d/derivatives.yaml';
239
- }
240
- const content = fs.readFileSync(file, 'utf8');
241
- const distros = yaml.load(content);
242
- for (const distro of distros) {
243
- if (distro.ids !== undefined) {
244
- for (let n = 0; n < distro.ids.length; n++) {
245
- if (this.codenameId === distro.ids[n]) {
246
- found = true;
247
- this.distroLike = distro.distroLike;
248
- this.codenameLikeId = distro.id;
249
- this.familyId = distro.family;
250
- }
251
- }
160
+ }
161
+ else if (this.codenameId === 'stretch') {
162
+ this.distroLike = 'Debian';
163
+ this.codenameLikeId = 'stretch';
164
+ this.liveMediumPath = '/lib/live/mount/medium/';
165
+ this.isCalamaresAvailable = false;
166
+ /**
167
+ * Debian buster
168
+ */
169
+ }
170
+ else if (this.codenameId === 'buster') {
171
+ this.distroLike = 'Debian';
172
+ this.codenameLikeId = 'buster';
173
+ /**
174
+ * Debian bullseye
175
+ */
176
+ }
177
+ else if (this.codenameId === 'bullseye') {
178
+ this.distroLike = 'Debian';
179
+ this.codenameLikeId = 'bullseye';
180
+ /**
181
+ * Debian bookworm
182
+ */
183
+ }
184
+ else if (this.codenameId === 'bookworm') {
185
+ this.distroLike = 'Debian';
186
+ this.codenameLikeId = 'bookworm';
187
+ /**
188
+ * Debian trixie
189
+ */
190
+ }
191
+ else if (this.codenameId === 'trixie') {
192
+ this.distroLike = 'Debian';
193
+ this.codenameLikeId = 'trixie';
194
+ /**
195
+ * Devuan beowulf
196
+ */
197
+ }
198
+ else if (this.codenameId === 'beowulf') {
199
+ this.distroLike = 'Devuan';
200
+ this.codenameLikeId = 'beowulf';
201
+ /**
202
+ * Devuan chimaera
203
+ */
204
+ }
205
+ else if (this.codenameId === 'chimaera') {
206
+ this.distroLike = 'Devuan';
207
+ this.codenameLikeId = 'chimaera';
208
+ /**
209
+ * Devuan daedalus
210
+ */
211
+ }
212
+ else if (this.codenameId === 'daedalus') {
213
+ this.distroLike = 'Devuan';
214
+ this.codenameLikeId = 'daedalus';
215
+ /**
216
+ * Devuan excalibur
217
+ */
218
+ }
219
+ else if (this.codenameId === 'excalibur') {
220
+ this.distroLike = 'Devuan';
221
+ this.codenameLikeId = 'excalibur';
222
+ /**
223
+ * Ubuntu bionic
224
+ */
225
+ }
226
+ else if (this.codenameId === 'bionic') {
227
+ this.distroLike = 'Ubuntu';
228
+ this.codenameLikeId = 'bionic';
229
+ this.liveMediumPath = '/lib/live/mount/medium/';
230
+ /**
231
+ * Ubuntu focal
232
+ */
233
+ }
234
+ else if (this.codenameId === 'focal') {
235
+ this.distroLike = 'Ubuntu';
236
+ this.codenameLikeId = 'focal';
237
+ /**
238
+ * Ubuntu jammy
239
+ */
240
+ }
241
+ else if (this.codenameId === 'jammy') {
242
+ this.distroLike = 'Ubuntu';
243
+ this.codenameLikeId = 'jammy';
244
+ /**
245
+ * Ubuntu noble
246
+ */
247
+ }
248
+ else if (this.codenameId === 'noble') {
249
+ this.distroLike = 'Ubuntu';
250
+ this.codenameLikeId = 'noble';
251
+ /**
252
+ * Ubuntu devel
253
+ */
254
+ }
255
+ else if (this.codenameId === 'devel') {
256
+ this.distroLike = 'Ubuntu';
257
+ this.codenameLikeId = 'devel';
258
+ }
259
+ else {
260
+ /**
261
+ * patch per Roy VERIFICARE
262
+ */
263
+ let file = path.resolve(__dirname, '../../conf/derivatives.yaml');
264
+ if (fs.existsSync('/etc/penguins-eggs.d/derivatives.yaml')) {
265
+ file = '/etc/penguins-eggs.d/derivatives.yaml';
266
+ }
267
+ const content = fs.readFileSync(file, 'utf8');
268
+ const distros = yaml.load(content);
269
+ for (const distro of distros) {
270
+ if (distro.ids !== undefined) {
271
+ for (let n = 0; n < distro.ids.length; n++) {
272
+ if (this.codenameId === distro.ids[n]) {
273
+ found = true;
274
+ this.distroLike = distro.distroLike;
275
+ this.codenameLikeId = distro.id;
276
+ this.familyId = distro.family;
252
277
  }
253
278
  }
254
- if (!found) {
255
- console.log(`This distro ${this.distroId}/${this.codenameId} is not yet recognized!`);
256
- console.log('');
257
- console.log('You can edit /usr/lib/penguins-eggs/conf/derivatives.yaml to add it -');
258
- console.log('after that - run: sudo eggs dad -d to re-configure eggs.');
259
- console.log('If you can create your new iso, you can contribute to the project');
260
- console.log('by suggesting your modification.');
261
- process.exit(0);
262
- }
263
279
  }
264
280
  }
281
+ if (!found) {
282
+ console.log(`This distro ${this.distroId}/${this.codenameId} is not yet recognized!`);
283
+ console.log('');
284
+ console.log('You can edit /usr/lib/penguins-eggs/conf/derivatives.yaml to add it -');
285
+ console.log('after that - run: sudo eggs dad -d to re-configure eggs.');
286
+ console.log('If you can create your new iso, you can contribute to the project');
287
+ console.log('by suggesting your modification.');
288
+ process.exit(0);
289
+ }
265
290
  }
266
- } // Fine analisi distroId
291
+ }
267
292
  /**
268
293
  * Ultimi ritocchi
269
294
  */
@@ -274,6 +299,9 @@ class Distro {
274
299
  if (this.familyId === "debian") {
275
300
  this.usrLibPath = '/usr/lib/' + Utils.usrLibPath();
276
301
  }
302
+ else if (this.familyId === "opensuse") {
303
+ this.usrLibPath = '/usr/lib64/';
304
+ }
277
305
  /**
278
306
  * ManjaroLinux e derivate
279
307
  */
@@ -282,7 +310,7 @@ class Distro {
282
310
  this.squashfs = 'manjaro/x86_64/livefs.sfs';
283
311
  }
284
312
  /**
285
- * lottura os_release per i pulsanti
313
+ * lettura os_release per i pulsanti
286
314
  */
287
315
  const os_release = '/etc/os-release';
288
316
  if (fs.existsSync(os_release)) {
@@ -0,0 +1,38 @@
1
+ /**
2
+ * ./src/classes/diversions.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ /**
9
+ * contiene le variazione di nome
10
+ * per ogni famiglia
11
+ */
12
+ import { IDistro } from '../interfaces/index.js';
13
+ export default class Diversions {
14
+ /**
15
+ *
16
+ * @param familyId
17
+ * @returns deluser
18
+ */
19
+ static deluser(familyId: string): string;
20
+ /**
21
+ *
22
+ * @param familyId
23
+ * @returns
24
+ */
25
+ static grubName(familyId: string): string;
26
+ /**
27
+ *
28
+ * @param familyId
29
+ * @param volid
30
+ * @returns
31
+ */
32
+ static kernelParameters(familyId: string, volid: string): string;
33
+ /**
34
+ *
35
+ * @returns
36
+ */
37
+ static distro(): IDistro;
38
+ }
@@ -0,0 +1,107 @@
1
+ /**
2
+ * ./src/classes/diversions.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import Distro from './distro.js';
9
+ export default class Diversions {
10
+ /**
11
+ *
12
+ * @param familyId
13
+ * @returns deluser
14
+ */
15
+ static deluser(familyId) {
16
+ let deluser = 'deluser';
17
+ if (familyId === 'aldos' ||
18
+ familyId === 'archlinux' ||
19
+ familyId === 'fedora' ||
20
+ familyId === 'openmamba' ||
21
+ familyId === 'opensuse' ||
22
+ familyId === 'voidlinux') {
23
+ deluser = 'userdel';
24
+ }
25
+ return deluser;
26
+ }
27
+ /**
28
+ *
29
+ * @param familyId
30
+ * @returns
31
+ */
32
+ static grubName(familyId) {
33
+ let grubName = 'grub';
34
+ if (familyId === 'aldos' ||
35
+ familyId === 'fedora' ||
36
+ familyId === 'opensuse') {
37
+ grubName = 'grub2';
38
+ }
39
+ return grubName;
40
+ }
41
+ /**
42
+ *
43
+ * @param familyId
44
+ * @param volid
45
+ * @returns
46
+ */
47
+ static kernelParameters(familyId, volid) {
48
+ // GRUB_CMDLINE_LINUX='ipv6.disable=1'
49
+ let kp = "";
50
+ if (familyId === 'aldos') {
51
+ kp += `root=live:CDLABEL=${volid} rd.live.image rd.live.dir=/live rd.live.squashimg=filesystem.squashfs selinux=0 rootfstype=auto rd.locale.LANG=en_US.UTF-8 KEYBOARDTYPE=pc rd.vconsole.keymap=us rootflags=defaults,relatime,commit=60 nmi_watchdog=0 rhgb rd_NO_LUKS rd_NO_MD rd_NO_DM`;
52
+ }
53
+ else if (familyId === 'alpine') {
54
+ kp += `alpinelivelabel=${volid} alpinelivesquashfs=/mnt/live/filesystem.squashfs`;
55
+ }
56
+ else if (familyId === 'archlinux') {
57
+ kp += `boot=live components locales=${process.env.LANG}`;
58
+ const distroId = this.distro().distroId;
59
+ if (isMiso(distroId)) {
60
+ kp += ` misobasedir=manjaro misolabel=${volid}`;
61
+ // shx.exec(`mkdir -p ${this.settings.iso_work}.miso`)
62
+ }
63
+ else {
64
+ kp += ` archisobasedir=arch archisolabel=${volid}`;
65
+ }
66
+ }
67
+ else if (familyId === 'debian') {
68
+ kp += `boot=live components locales=${process.env.LANG} cow_spacesize=2G`;
69
+ }
70
+ else if (familyId === 'fedora') {
71
+ kp += `root=live:CDLABEL=${volid} rd.live.image rd.live.dir=/live rd.live.squashimg=filesystem.squashfs selinux=0`;
72
+ }
73
+ else if (familyId === 'openmamba') {
74
+ kp += `root=live:CDLABEL=${volid} rd.live.image rd.live.dir=/live rd.live.squashimg=filesystem.squashfs selinux=0`;
75
+ }
76
+ else if (familyId === 'opensuse') {
77
+ kp += `root=live:CDLABEL=${volid} rd.live.image rd.live.dir=/live rd.live.squashimg=filesystem.squashfs apparmor=0`;
78
+ }
79
+ else if (familyId === 'voidlinux') {
80
+ kp += `root=live:CDLABEL=${volid} rd.live.image rd.live.dir=/live rd.live.squashimg=filesystem.squashfs rd.debug`;
81
+ }
82
+ return kp;
83
+ }
84
+ /**
85
+ *
86
+ * @returns
87
+ */
88
+ static distro() {
89
+ return new Distro();
90
+ }
91
+ }
92
+ /**
93
+ * isMiso
94
+ */
95
+ function isMiso(distro) {
96
+ let found = false;
97
+ if (distro === 'ManjaroLinux' || distro === `BigLinux`) {
98
+ found = true;
99
+ }
100
+ return found;
101
+ }
102
+ /**
103
+ * isArchiso: se non zuppa, pan bagnato
104
+ */
105
+ function isArchiso(distro) {
106
+ return !isMiso(distro);
107
+ }
@@ -34,16 +34,12 @@ export function branding(remix, distro, theme = '', verbose = false) {
34
34
  * to work on EFI
35
35
  */
36
36
  let bootloaderEntryName = '';
37
- switch (distro.distroId.toLowerCase()) {
38
- case 'devuan':
39
- case 'lmde':
40
- case 'syslinuxos': {
41
- bootloaderEntryName = 'Debian';
42
- break;
43
- }
44
- default: {
45
- bootloaderEntryName = distro.distroId;
46
- }
37
+ const distroId = distro.distroId.toLowerCase();
38
+ if (distroId === 'devuan' || distroId === 'lmde' || distroId === 'syslinuxos') {
39
+ bootloaderEntryName = 'Debian';
40
+ }
41
+ else {
42
+ bootloaderEntryName = distro.distroId;
47
43
  }
48
44
  const productLogo = `${remix.branding}-logo.png`;
49
45
  const productIcon = `${remix.branding}-logo.png`;
@@ -56,7 +56,7 @@ export default class Fisherman {
56
56
  */
57
57
  moduleFinished(): Promise<void>;
58
58
  /**
59
- * Al momento rimane con la vecchia configurazione
59
+ * packages
60
60
  */
61
61
  modulePackages(distro: IDistro, release?: boolean): Promise<void>;
62
62
  /**
@@ -64,7 +64,7 @@ export default class Fisherman {
64
64
  */
65
65
  moduleRemoveuser(username: string): Promise<void>;
66
66
  /**
67
- * Al momento rimane con la vecchia configurazione
67
+ * unpackFs
68
68
  */
69
69
  moduleUnpackfs(): Promise<void>;
70
70
  }