penguins-eggs 10.0.22 → 10.0.26
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 +8 -8
- package/README.md +27 -27
- package/addons/eggs/theme/livecd/grub.main.cfg +11 -5
- package/addons/eggs/theme/livecd/isolinux.main.cfg +10 -12
- package/conf/distros/devel/README.md +3 -0
- package/conf/distros/focal/README.md +3 -0
- package/conf/distros/jammy/README.md +1 -1
- package/conf/distros/noble/calamares/calamares-modules/.keepit +0 -0
- package/conf/distros/{focal/calamares/modules → noble/calamares/modules/focal-jammy}/fstab.yml +2 -2
- package/conf/distros/{focal/calamares/modules → noble/calamares/modules/focal-jammy}/mount.yml +2 -2
- package/conf/distros/{focal/calamares/modules → noble/calamares/modules/focal-jammy}/users.yml +2 -2
- package/conf/distros/noble/calamares/modules/mount.yml +1 -0
- package/conf/distros/noble/calamares/modules/partition.yml +2 -2
- package/conf/distros/noble/calamares/modules/users.yml +1 -0
- package/conf/distros/noble/calamares/modules/welcome.yml +1 -1
- package/conf/distros/noble/calamares/settings.yml +8 -8
- package/conf/distros/rolling/calamares/modules/finished.yml +1 -1
- package/dist/classes/bleach.js +22 -15
- package/dist/{lib → classes}/cli-autologin.d.ts +15 -6
- package/dist/{lib → classes}/cli-autologin.js +82 -36
- package/dist/classes/compressors.d.ts +1 -1
- package/dist/classes/compressors.js +10 -10
- package/dist/classes/daddy.d.ts +6 -6
- package/dist/classes/daddy.js +67 -67
- package/dist/classes/distro.js +206 -202
- package/dist/classes/families/alpine.js +2 -2
- package/dist/classes/incubation/distros/{focal.d.ts → noble.d.ts} +1 -1
- package/dist/classes/incubation/distros/{focal.js → noble.js} +1 -1
- package/dist/classes/incubation/incubator.js +5 -5
- package/dist/classes/keyboards.js +15 -0
- package/dist/classes/locales.js +25 -7
- package/dist/classes/ovary.d.ts +11 -11
- package/dist/classes/ovary.js +109 -93
- package/dist/classes/pacman.js +21 -19
- package/dist/classes/pxe.d.ts +6 -6
- package/dist/classes/pxe.js +42 -42
- package/dist/classes/utils.d.ts +5 -1
- package/dist/classes/utils.js +20 -17
- package/dist/classes/xdg.js +15 -14
- package/dist/classes/yolk.js +1 -1
- package/dist/commands/cuckoo.js +1 -1
- package/dist/commands/dad.d.ts +1 -1
- package/dist/commands/dad.js +5 -7
- package/dist/commands/produce.js +1 -1
- package/dist/commands/syncfrom.d.ts +1 -1
- package/dist/commands/syncfrom.js +1 -1
- package/dist/components/information.js +5 -10
- package/dist/components/summary.js +2 -1
- package/dist/interfaces/i-excludes.d.ts +2 -2
- package/dist/interfaces/i-pxe.d.ts +15 -15
- package/dist/krill/modules/add-user.js +10 -6
- package/dist/krill/modules/machine-id.js +1 -1
- package/dist/krill/modules/network-cfg.js +1 -1
- package/dist/krill/modules/packages.js +22 -0
- package/dist/krill/sequence.d.ts +1 -1
- package/dist/krill/sequence.js +3 -3
- package/dracut/README.md +84 -0
- package/dracut/dracut.conf +3 -0
- package/dracut/dracut.conf.d/90overlayfs.conf +5 -0
- package/dracut/dracut.conf.d/99custom.conf +4 -0
- package/dracut/install-dracut-99custom +1 -0
- package/dracut/usr/lib/dracut/modules.d/99custom/init-live.sh +4 -0
- package/dracut/usr/lib/dracut/modules.d/99custom/module-setup.sh +15 -0
- package/dracut/usr/lib/dracut/modules.d/99custom/mount-live.sh +25 -0
- package/manpages/doc/man/eggs.1.gz +0 -0
- package/manpages/doc/man/eggs.html +22 -28
- package/mkinitfs/README.md +46 -0
- package/mkinitfs/live.conf +2 -0
- package/mkinitfs/machine-id-gen.sh +3 -0
- package/mkinitfs/sidecar.sh +40 -0
- package/package.json +7 -5
- package/conf/distros/devel/calamares/calamares-modules/automirror/automirror.yml +0 -17
- package/conf/distros/devel/calamares/calamares-modules/automirror/main.py +0 -168
- package/conf/distros/devel/calamares/calamares-modules/automirror/module.yml +0 -7
- package/conf/distros/devel/calamares/modules/_packages.yml +0 -16
- package/conf/distros/devel/calamares/modules/after_bootloader_context.yml +0 -18
- package/conf/distros/devel/calamares/modules/automirror.yml +0 -16
- package/conf/distros/devel/calamares/modules/before_bootloader_context.yml +0 -24
- package/conf/distros/devel/calamares/modules/bootloader.yml +0 -33
- package/conf/distros/devel/calamares/modules/finished.yml +0 -3
- package/conf/distros/devel/calamares/modules/fstab.yml +0 -2
- package/conf/distros/devel/calamares/modules/grubcfg.yml +0 -3
- package/conf/distros/devel/calamares/modules/locale.yml +0 -8
- package/conf/distros/devel/calamares/modules/machineid.yml +0 -8
- package/conf/distros/devel/calamares/modules/mount.yml +0 -38
- package/conf/distros/devel/calamares/modules/partition.yml +0 -8
- package/conf/distros/devel/calamares/modules/shellprocess_add386arch.yml +0 -5
- package/conf/distros/devel/calamares/modules/shellprocess_bug-LP#1829805.yml +0 -5
- package/conf/distros/devel/calamares/modules/unpackfs.yml +0 -5
- package/conf/distros/devel/calamares/modules/users.yml +0 -23
- package/conf/distros/devel/calamares/modules/welcome.yml +0 -26
- package/conf/distros/devel/calamares/settings.yml +0 -72
- package/conf/distros/focal/calamares/calamares-modules/automirror/automirror.yml +0 -17
- package/conf/distros/focal/calamares/calamares-modules/automirror/main.py +0 -168
- package/conf/distros/focal/calamares/calamares-modules/automirror/module.yml +0 -7
- package/conf/distros/focal/calamares/modules/after_bootloader_context.yml +0 -19
- package/conf/distros/focal/calamares/modules/automirror.yml +0 -6
- package/conf/distros/focal/calamares/modules/before_bootloader_context.yml +0 -19
- package/conf/distros/focal/calamares/modules/before_bootloader_mkdirs_context.yml +0 -11
- package/conf/distros/focal/calamares/modules/bootloader.yml +0 -34
- package/conf/distros/focal/calamares/modules/finished.yml +0 -4
- package/conf/distros/focal/calamares/modules/grubcfg.yml +0 -5
- package/conf/distros/focal/calamares/modules/locale.yml +0 -9
- package/conf/distros/focal/calamares/modules/machineid.yml +0 -9
- package/conf/distros/focal/calamares/modules/partition.yml +0 -10
- package/conf/distros/focal/calamares/modules/shellprocess_add386arch.yml +0 -6
- package/conf/distros/focal/calamares/modules/shellprocess_bug-LP#1829805.yml +0 -5
- package/conf/distros/focal/calamares/modules/shellprocess_logs.yml +0 -6
- package/conf/distros/focal/calamares/modules/unpackfs.yml +0 -7
- package/conf/distros/focal/calamares/modules/welcome.yml +0 -26
- package/conf/distros/focal/calamares/settings.yml +0 -72
- package/conf/distros/noble/calamares/modules/before_bootloader_mkdirs_context.yml +0 -10
- package/conf/distros/noble/calamares/modules/displaymanager.yml +0 -9
- package/conf/distros/noble/calamares/modules/shellprocess_logs.yml +0 -5
- /package/conf/distros/noble/calamares/modules/{automirror.yml → _automirror.yml} +0 -0
- /package/conf/distros/noble/calamares/modules/{before_bootloader_context.yml → _before_bootloader_context.yml} +0 -0
- /package/conf/distros/{devel/calamares/modules/before_bootloader_mkdirs_context.yml → noble/calamares/modules/_before_bootloader_mkdirs_context.yml} +0 -0
- /package/conf/distros/{devel → noble}/calamares/modules/_displaymanager.yml +0 -0
- /package/conf/distros/noble/calamares/modules/{oemid.yml → _oemid.yml} +0 -0
- /package/conf/distros/noble/calamares/modules/{pkgselect_context.yml → _pkgselect_context.yml} +0 -0
- /package/conf/distros/noble/calamares/modules/{pkgselect_snap_context.yml → _pkgselect_snap_context.yml} +0 -0
- /package/conf/distros/{devel/calamares/modules/shellprocess_logs.yml → noble/calamares/modules/_shellprocess_logs.yml} +0 -0
- /package/conf/distros/noble/calamares/modules/{users.conf.oem → _users.conf.oem} +0 -0
package/dist/classes/distro.js
CHANGED
|
@@ -104,219 +104,223 @@ class Distro {
|
|
|
104
104
|
/**
|
|
105
105
|
* Analize distroId
|
|
106
106
|
*/
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
switch (this.codenameId) {
|
|
158
|
-
case 'jessie': {
|
|
159
|
-
// Debian 8 jessie
|
|
160
|
-
this.distroLike = 'Debian';
|
|
161
|
-
this.codenameLikeId = 'jessie';
|
|
162
|
-
this.liveMediumPath = '/lib/live/mount/medium/';
|
|
163
|
-
this.isCalamaresAvailable = false;
|
|
164
|
-
break;
|
|
165
|
-
}
|
|
166
|
-
case 'stretch': {
|
|
167
|
-
// Debian 9 stretch
|
|
168
|
-
this.distroLike = 'Debian';
|
|
169
|
-
this.codenameLikeId = 'stretch';
|
|
170
|
-
this.liveMediumPath = '/lib/live/mount/medium/';
|
|
171
|
-
this.isCalamaresAvailable = false;
|
|
172
|
-
break;
|
|
173
|
-
}
|
|
174
|
-
case 'buster': {
|
|
175
|
-
// Debian 10 buster
|
|
176
|
-
this.distroLike = 'Debian';
|
|
177
|
-
this.codenameLikeId = 'buster';
|
|
178
|
-
break;
|
|
179
|
-
}
|
|
180
|
-
case 'bullseye': {
|
|
181
|
-
// Debian 11 bullseye
|
|
182
|
-
this.distroLike = 'Debian';
|
|
183
|
-
this.codenameLikeId = 'bullseye';
|
|
184
|
-
break;
|
|
185
|
-
}
|
|
186
|
-
case 'bookworm': {
|
|
187
|
-
// Debian 12 bookworm
|
|
188
|
-
this.distroLike = 'Debian';
|
|
189
|
-
this.codenameLikeId = 'bookworm';
|
|
190
|
-
break;
|
|
191
|
-
}
|
|
192
|
-
case 'trixie': {
|
|
193
|
-
// Debian 13 trixie
|
|
194
|
-
this.distroLike = 'Debian';
|
|
195
|
-
this.codenameLikeId = 'trixie';
|
|
196
|
-
break;
|
|
197
|
-
}
|
|
198
|
-
case 'beowulf': {
|
|
199
|
-
// Devuab 3 beowulf
|
|
200
|
-
this.distroLike = 'Devuan';
|
|
201
|
-
this.codenameLikeId = 'beowulf';
|
|
202
|
-
break;
|
|
203
|
-
}
|
|
204
|
-
case 'chimaera': {
|
|
205
|
-
// Devuab 4 chimaera
|
|
206
|
-
this.distroLike = 'Devuan';
|
|
207
|
-
this.codenameLikeId = 'chimaera';
|
|
208
|
-
break;
|
|
209
|
-
}
|
|
210
|
-
case 'daedalus': {
|
|
211
|
-
// Devuan 5 daedalus
|
|
212
|
-
this.distroLike = 'Devuan';
|
|
213
|
-
this.codenameLikeId = 'daedalus';
|
|
214
|
-
break;
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Ubuntu LTS + actual
|
|
218
|
-
*/
|
|
219
|
-
case 'bionic': {
|
|
220
|
-
// Ubuntu 18.04 bionic LTS eol aprile 2023
|
|
221
|
-
this.distroLike = 'Ubuntu';
|
|
222
|
-
this.codenameLikeId = 'bionic';
|
|
223
|
-
this.liveMediumPath = '/lib/live/mount/medium/';
|
|
224
|
-
break;
|
|
225
|
-
}
|
|
226
|
-
case 'focal': {
|
|
227
|
-
// Ubuntu 20.04 focal LTS
|
|
228
|
-
this.distroLike = 'Ubuntu';
|
|
229
|
-
this.codenameLikeId = 'focal';
|
|
230
|
-
break;
|
|
231
|
-
}
|
|
232
|
-
case 'jammy': {
|
|
233
|
-
// Ubuntu 22.04 jammy LTS
|
|
234
|
-
this.distroLike = 'Ubuntu';
|
|
235
|
-
this.codenameLikeId = 'jammy';
|
|
236
|
-
break;
|
|
237
|
-
}
|
|
238
|
-
case 'noble': {
|
|
239
|
-
// Ubuntu 24.04 noble LTS
|
|
240
|
-
this.distroLike = 'Ubuntu';
|
|
241
|
-
this.codenameLikeId = 'noble';
|
|
242
|
-
break;
|
|
243
|
-
}
|
|
244
|
-
case 'devel': {
|
|
245
|
-
// Ubuntu rhino
|
|
246
|
-
this.distroLike = 'Ubuntu';
|
|
247
|
-
this.codenameLikeId = 'devel';
|
|
248
|
-
break;
|
|
249
|
-
}
|
|
107
|
+
switch (this.distroId) {
|
|
108
|
+
case 'Alpine': {
|
|
109
|
+
this.familyId = 'alpine';
|
|
110
|
+
this.distroLike = 'Alpine';
|
|
111
|
+
this.codenameId = 'rolling'; // questo viene rimosso dal nome
|
|
112
|
+
this.codenameLikeId = 'alpine'; // prende alpine come codenaneLikeId
|
|
113
|
+
this.liveMediumPath = '/mnt/'; // Qua è deciso da noi
|
|
114
|
+
this.squashfs = `live/filesystem.squashfs`;
|
|
115
|
+
this.syslinuxPath = '/usr/share/syslinux/'; // correct
|
|
116
|
+
this.pxelinuxPath = this.syslinuxPath;
|
|
117
|
+
this.usrLibPath = '/usr/lib/';
|
|
118
|
+
this.memdiskPath = this.syslinuxPath;
|
|
119
|
+
this.isolinuxPath = this.syslinuxPath;
|
|
120
|
+
// At the moment
|
|
121
|
+
this.isCalamaresAvailable = false;
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
case 'Fedora': {
|
|
125
|
+
this.familyId = 'fedora';
|
|
126
|
+
this.distroLike = 'Fedora';
|
|
127
|
+
this.codenameId = 'rolling';
|
|
128
|
+
this.codenameLikeId = '40';
|
|
129
|
+
this.liveMediumPath = '/run/install/repo/'; // ? è il mount della root su cd di installatione
|
|
130
|
+
this.squashfs = `live/filesystem.squashfs`;
|
|
131
|
+
this.syslinuxPath = '/usr/share/syslinux/';
|
|
132
|
+
this.pxelinuxPath = this.syslinuxPath;
|
|
133
|
+
this.usrLibPath = '/usr/lib/';
|
|
134
|
+
this.memdiskPath = this.syslinuxPath;
|
|
135
|
+
this.isolinuxPath = this.syslinuxPath;
|
|
136
|
+
// At the moment
|
|
137
|
+
this.isCalamaresAvailable = false;
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
case 'openSUSE': {
|
|
141
|
+
this.familyId = 'suse';
|
|
142
|
+
this.distroLike = 'openSUSE';
|
|
143
|
+
this.codenameId = 'rolling';
|
|
144
|
+
this.codenameLikeId = 'Tumbleweed';
|
|
145
|
+
this.liveMediumPath = '/run/install/repo/'; // ? è il mount della root su cd di installatione
|
|
146
|
+
this.squashfs = `live/filesystem.squashfs`;
|
|
147
|
+
this.syslinuxPath = '/usr/share/syslinux/';
|
|
148
|
+
this.pxelinuxPath = this.syslinuxPath;
|
|
149
|
+
this.usrLibPath = '/usr/lib/';
|
|
150
|
+
this.memdiskPath = this.syslinuxPath;
|
|
151
|
+
this.isolinuxPath = this.syslinuxPath;
|
|
152
|
+
// At the moment
|
|
153
|
+
this.isCalamaresAvailable = false;
|
|
154
|
+
break;
|
|
155
|
+
}
|
|
156
|
+
default: {
|
|
250
157
|
/**
|
|
251
|
-
* Arch
|
|
158
|
+
* Arch/Debian/Devuan/Manjaro and Ubuntu
|
|
252
159
|
*/
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
160
|
+
switch (this.codenameId) {
|
|
161
|
+
case 'jessie': {
|
|
162
|
+
// Debian 8 jessie
|
|
163
|
+
this.distroLike = 'Debian';
|
|
164
|
+
this.codenameLikeId = 'jessie';
|
|
165
|
+
this.liveMediumPath = '/lib/live/mount/medium/';
|
|
166
|
+
this.isCalamaresAvailable = false;
|
|
167
|
+
break;
|
|
168
|
+
}
|
|
169
|
+
case 'stretch': {
|
|
170
|
+
// Debian 9 stretch
|
|
171
|
+
this.distroLike = 'Debian';
|
|
172
|
+
this.codenameLikeId = 'stretch';
|
|
173
|
+
this.liveMediumPath = '/lib/live/mount/medium/';
|
|
174
|
+
this.isCalamaresAvailable = false;
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
case 'buster': {
|
|
178
|
+
// Debian 10 buster
|
|
179
|
+
this.distroLike = 'Debian';
|
|
180
|
+
this.codenameLikeId = 'buster';
|
|
181
|
+
break;
|
|
182
|
+
}
|
|
183
|
+
case 'bullseye': {
|
|
184
|
+
// Debian 11 bullseye
|
|
185
|
+
this.distroLike = 'Debian';
|
|
186
|
+
this.codenameLikeId = 'bullseye';
|
|
187
|
+
break;
|
|
188
|
+
}
|
|
189
|
+
case 'bookworm': {
|
|
190
|
+
// Debian 12 bookworm
|
|
191
|
+
this.distroLike = 'Debian';
|
|
192
|
+
this.codenameLikeId = 'bookworm';
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
195
|
+
case 'trixie': {
|
|
196
|
+
// Debian 13 trixie
|
|
197
|
+
this.distroLike = 'Debian';
|
|
198
|
+
this.codenameLikeId = 'trixie';
|
|
199
|
+
break;
|
|
200
|
+
}
|
|
201
|
+
case 'beowulf': {
|
|
202
|
+
// Devuab 3 beowulf
|
|
203
|
+
this.distroLike = 'Devuan';
|
|
204
|
+
this.codenameLikeId = 'beowulf';
|
|
205
|
+
break;
|
|
206
|
+
}
|
|
207
|
+
case 'chimaera': {
|
|
208
|
+
// Devuab 4 chimaera
|
|
209
|
+
this.distroLike = 'Devuan';
|
|
210
|
+
this.codenameLikeId = 'chimaera';
|
|
211
|
+
break;
|
|
212
|
+
}
|
|
213
|
+
case 'daedalus': {
|
|
214
|
+
// Devuan 5 daedalus
|
|
215
|
+
this.distroLike = 'Devuan';
|
|
216
|
+
this.codenameLikeId = 'daedalus';
|
|
217
|
+
break;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Ubuntu LTS + actual
|
|
221
|
+
*/
|
|
222
|
+
case 'bionic': {
|
|
223
|
+
// Ubuntu 18.04 bionic LTS eol aprile 2023
|
|
224
|
+
this.distroLike = 'Ubuntu';
|
|
225
|
+
this.codenameLikeId = 'bionic';
|
|
226
|
+
this.liveMediumPath = '/lib/live/mount/medium/';
|
|
227
|
+
break;
|
|
228
|
+
}
|
|
229
|
+
case 'focal': {
|
|
230
|
+
// Ubuntu 20.04 focal LTS
|
|
231
|
+
this.distroLike = 'Ubuntu';
|
|
232
|
+
this.codenameLikeId = 'focal';
|
|
233
|
+
break;
|
|
234
|
+
}
|
|
235
|
+
case 'jammy': {
|
|
236
|
+
// Ubuntu 22.04 jammy LTS
|
|
237
|
+
this.distroLike = 'Ubuntu';
|
|
238
|
+
this.codenameLikeId = 'jammy';
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
case 'noble': {
|
|
242
|
+
// Ubuntu 24.04 noble LTS
|
|
243
|
+
this.distroLike = 'Ubuntu';
|
|
244
|
+
this.codenameLikeId = 'noble';
|
|
245
|
+
break;
|
|
246
|
+
}
|
|
247
|
+
case 'devel': {
|
|
248
|
+
// Ubuntu rhino
|
|
249
|
+
this.distroLike = 'Ubuntu';
|
|
250
|
+
this.codenameLikeId = 'devel';
|
|
251
|
+
break;
|
|
252
|
+
}
|
|
265
253
|
/**
|
|
266
|
-
*
|
|
254
|
+
* Arch Linux/Garuda
|
|
267
255
|
*/
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
256
|
+
case 'Spizaetus':
|
|
257
|
+
case 'n/a':
|
|
258
|
+
case 'rolling': {
|
|
259
|
+
this.familyId = 'archlinux';
|
|
260
|
+
this.distroLike = 'Arch';
|
|
261
|
+
this.codenameId = 'rolling';
|
|
262
|
+
this.codenameLikeId = 'rolling';
|
|
263
|
+
this.liveMediumPath = '/run/archiso/bootmnt/';
|
|
264
|
+
this.squashfs = `arch/x86_64/airootfs.sfs`;
|
|
265
|
+
break;
|
|
272
266
|
}
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
267
|
+
default: {
|
|
268
|
+
/**
|
|
269
|
+
* patch per Roy VERIFICARE
|
|
270
|
+
*/
|
|
271
|
+
let found = false;
|
|
272
|
+
let file = path.resolve(__dirname, '../../conf/derivatives.yaml');
|
|
273
|
+
if (fs.existsSync('/etc/penguins-eggs.d/derivatives.yaml')) {
|
|
274
|
+
file = '/etc/penguins-eggs.d/derivatives.yaml';
|
|
275
|
+
}
|
|
276
|
+
const content = fs.readFileSync(file, 'utf8');
|
|
277
|
+
const distros = yaml.load(content);
|
|
278
|
+
for (const distro of distros) {
|
|
279
|
+
if (distro.ids !== undefined) {
|
|
280
|
+
for (let n = 0; n < distro.ids.length; n++) {
|
|
281
|
+
if (this.codenameId === distro.ids[n]) {
|
|
282
|
+
found = true;
|
|
283
|
+
this.distroLike = distro.distroLike;
|
|
284
|
+
this.codenameLikeId = distro.id;
|
|
285
|
+
this.familyId = distro.family;
|
|
286
|
+
}
|
|
283
287
|
}
|
|
284
288
|
}
|
|
285
289
|
}
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
290
|
+
if (!found) {
|
|
291
|
+
console.log(`This distro ${this.distroId}/${this.codenameId} is not yet recognized!`);
|
|
292
|
+
console.log('');
|
|
293
|
+
console.log('You can edit /usr/lib/penguins-eggs/conf/derivatives.yaml to add it -');
|
|
294
|
+
console.log('after that - run: sudo eggs dad -d to re-configure eggs.');
|
|
295
|
+
console.log('If you can create your new iso, you can contribute to the project');
|
|
296
|
+
console.log('by suggesting your modification.');
|
|
297
|
+
process.exit(0);
|
|
298
|
+
}
|
|
295
299
|
}
|
|
296
300
|
}
|
|
301
|
+
/**
|
|
302
|
+
* setting paths: syslinux, isolinux, usrLibPath
|
|
303
|
+
*/
|
|
304
|
+
switch (this.familyId) {
|
|
305
|
+
case 'debian': {
|
|
306
|
+
this.isolinuxPath = '/usr/lib/ISOLINUX/';
|
|
307
|
+
this.syslinuxPath = '/usr/lib/syslinux/modules/bios/';
|
|
308
|
+
this.pxelinuxPath = '/usr/lib/PXELINUX/';
|
|
309
|
+
this.memdiskPath = '/usr/lib/syslinux/';
|
|
310
|
+
this.usrLibPath = '/usr/lib/' + Utils.usrLibPath();
|
|
311
|
+
break;
|
|
312
|
+
}
|
|
313
|
+
case 'archlinux': {
|
|
314
|
+
this.syslinuxPath = '/usr/lib/syslinux/bios/';
|
|
315
|
+
this.pxelinuxPath = this.syslinuxPath;
|
|
316
|
+
this.usrLibPath = '/usr/lib/';
|
|
317
|
+
this.memdiskPath = this.syslinuxPath;
|
|
318
|
+
this.isolinuxPath = this.syslinuxPath;
|
|
319
|
+
break;
|
|
320
|
+
}
|
|
321
|
+
// No default
|
|
322
|
+
} // Fine analisi codenameId
|
|
297
323
|
}
|
|
298
|
-
/**
|
|
299
|
-
* setting paths: syslinux, isolinux, usrLibPath
|
|
300
|
-
*/
|
|
301
|
-
switch (this.familyId) {
|
|
302
|
-
case 'debian': {
|
|
303
|
-
this.isolinuxPath = '/usr/lib/ISOLINUX/';
|
|
304
|
-
this.syslinuxPath = '/usr/lib/syslinux/modules/bios/';
|
|
305
|
-
this.pxelinuxPath = '/usr/lib/PXELINUX/';
|
|
306
|
-
this.memdiskPath = '/usr/lib/syslinux/';
|
|
307
|
-
this.usrLibPath = '/usr/lib/' + Utils.usrLibPath();
|
|
308
|
-
break;
|
|
309
|
-
}
|
|
310
|
-
case 'archlinux': {
|
|
311
|
-
this.syslinuxPath = '/usr/lib/syslinux/bios/';
|
|
312
|
-
this.pxelinuxPath = this.syslinuxPath;
|
|
313
|
-
this.usrLibPath = '/usr/lib/';
|
|
314
|
-
this.memdiskPath = this.syslinuxPath;
|
|
315
|
-
this.isolinuxPath = this.syslinuxPath;
|
|
316
|
-
break;
|
|
317
|
-
}
|
|
318
|
-
// No default
|
|
319
|
-
} // Fine analisi codenameId
|
|
320
324
|
}
|
|
321
325
|
/**
|
|
322
326
|
* if lsb-release exists
|
|
@@ -20,7 +20,7 @@ export default class Alpine {
|
|
|
20
20
|
static async calamaresInstall(verbose = false) {
|
|
21
21
|
const echo = Utils.setEcho(verbose);
|
|
22
22
|
try {
|
|
23
|
-
|
|
23
|
+
const cmd = `apk add ${this.packs4calamares}`;
|
|
24
24
|
try {
|
|
25
25
|
await exec(cmd, echo);
|
|
26
26
|
}
|
|
@@ -44,7 +44,7 @@ export default class Alpine {
|
|
|
44
44
|
*/
|
|
45
45
|
static async calamaresRemove(verbose = true) {
|
|
46
46
|
verbose = true; // serve per pacman
|
|
47
|
-
|
|
47
|
+
const removed = true;
|
|
48
48
|
const echo = Utils.setEcho(verbose);
|
|
49
49
|
await exec(`apk del ${this.packs4calamares}`);
|
|
50
50
|
await exec('rm /etc/calamares -rf', echo);
|
|
@@ -14,8 +14,8 @@ import Pacman from '../pacman.js';
|
|
|
14
14
|
import Utils from '../utils.js';
|
|
15
15
|
import { Bionic } from './distros/bionic.js';
|
|
16
16
|
import { Buster } from './distros/buster.js';
|
|
17
|
-
import { Focal } from './distros/focal.js';
|
|
18
17
|
import { Jessie } from './distros/jessie.js';
|
|
18
|
+
import { Noble } from './distros/noble.js';
|
|
19
19
|
import { Rolling } from './distros/rolling.js';
|
|
20
20
|
import { installer } from './installer.js';
|
|
21
21
|
// _dirname
|
|
@@ -119,22 +119,22 @@ export default class Incubator {
|
|
|
119
119
|
break;
|
|
120
120
|
}
|
|
121
121
|
case 'focal': {
|
|
122
|
-
const focal = new
|
|
122
|
+
const focal = new Noble(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
|
|
123
123
|
await focal.create();
|
|
124
124
|
break;
|
|
125
125
|
}
|
|
126
126
|
case 'jammy': {
|
|
127
|
-
const jammy = new
|
|
127
|
+
const jammy = new Noble(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
|
|
128
128
|
await jammy.create();
|
|
129
129
|
break;
|
|
130
130
|
}
|
|
131
131
|
case 'noble': {
|
|
132
|
-
const noble = new
|
|
132
|
+
const noble = new Noble(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
|
|
133
133
|
await noble.create();
|
|
134
134
|
break;
|
|
135
135
|
}
|
|
136
136
|
case 'devel': {
|
|
137
|
-
const devel = new
|
|
137
|
+
const devel = new Noble(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
|
|
138
138
|
await devel.create();
|
|
139
139
|
break;
|
|
140
140
|
}
|
|
@@ -77,6 +77,21 @@ export default class Keyboard {
|
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
+
else {
|
|
81
|
+
this.models.push('pc105');
|
|
82
|
+
this.layouts = [
|
|
83
|
+
'af', 'al', 'am', 'ara', 'at', 'az', 'ba', 'bd', 'be', 'bg', 'br',
|
|
84
|
+
'brai', 'by', 'ca', 'ch', 'cm', 'cn', 'cz', 'de', 'dk', 'dz', 'ee',
|
|
85
|
+
'epo', 'fr', 'gb', 'ge', 'gh', 'gr', 'hr', 'hu', 'id', 'ie', 'il',
|
|
86
|
+
'in', 'iq', 'ir', 'is', 'it', 'jp', 'ke', 'kg', 'kr', 'kz', 'la',
|
|
87
|
+
'latam', 'lk', 'lt', 'lv', 'ma', 'md', 'me', 'mk', 'ml', 'mm',
|
|
88
|
+
'mt', 'my', 'ng', 'nl', 'no', 'nz', 'ph', 'pk', 'pl', 'pt', 'ro',
|
|
89
|
+
'rs', 'ru', 'se', 'si', 'sk', 'sy', 'th', 'tj', 'tw', 'ua',
|
|
90
|
+
'us', 'uz', 'vn'
|
|
91
|
+
];
|
|
92
|
+
this.variants.push('none');
|
|
93
|
+
this.options.push('none');
|
|
94
|
+
}
|
|
80
95
|
}
|
|
81
96
|
/**
|
|
82
97
|
* XKBLAYOUT='us'
|
package/dist/classes/locales.js
CHANGED
|
@@ -28,15 +28,24 @@ export default class Locales {
|
|
|
28
28
|
*
|
|
29
29
|
*/
|
|
30
30
|
async getEnabled() {
|
|
31
|
+
const distro = new Distro();
|
|
32
|
+
let cmd = 'localectl list-locales';
|
|
33
|
+
if (distro.familyId === 'alpine') {
|
|
34
|
+
cmd = 'locale -a';
|
|
35
|
+
}
|
|
31
36
|
// Restituisce i locales abilitati in Debian, per manjaro quelli presenti
|
|
32
37
|
// in /etc/locale.gen anche se #disabilitati
|
|
33
|
-
const cmd = 'localectl list-locales';
|
|
34
38
|
const enabledLocales = [];
|
|
35
39
|
const result = await exec(cmd, { capture: true, echo: false, ignore: false });
|
|
36
40
|
if (result.code === 0) {
|
|
37
41
|
const lines = result.data.split('\n');
|
|
38
42
|
for (const line of lines) {
|
|
39
|
-
|
|
43
|
+
if (distro.familyId === 'alpine') {
|
|
44
|
+
enabledLocales.push(line.replaceAll('"', '').replaceAll("'", '').trim() + '.UTF-8');
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
enabledLocales.push(line.replaceAll('"', '').replaceAll("'", '').trim());
|
|
48
|
+
}
|
|
40
49
|
}
|
|
41
50
|
}
|
|
42
51
|
return enabledLocales;
|
|
@@ -47,11 +56,20 @@ export default class Locales {
|
|
|
47
56
|
async getSupported() {
|
|
48
57
|
const distro = new Distro();
|
|
49
58
|
let supporteds = [];
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
59
|
+
switch (distro.familyId) {
|
|
60
|
+
case 'alpine': {
|
|
61
|
+
supporteds = await this.getEnabled();
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
case 'debian': {
|
|
65
|
+
supporteds = fs.readFileSync('/usr/share/i18n/SUPPORTED', 'utf8').split('\n');
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
case 'archlinux': {
|
|
69
|
+
supporteds = (await exec('localectl list-locales', { capture: true, echo: false, ignore: false })).data.split('\n');
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
// No default
|
|
55
73
|
}
|
|
56
74
|
const elements = [];
|
|
57
75
|
for (const elem of supporteds) {
|
package/dist/classes/ovary.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* license: MIT
|
|
7
7
|
*/
|
|
8
8
|
import { IAddons, IExcludes } from '../interfaces/index.js';
|
|
9
|
-
import CliAutologin from '
|
|
9
|
+
import CliAutologin from './cli-autologin.js';
|
|
10
10
|
import Incubator from './incubation/incubator.js';
|
|
11
11
|
import Settings from './settings.js';
|
|
12
12
|
import Users from './users.js';
|
|
@@ -20,16 +20,16 @@ export default class Ovary {
|
|
|
20
20
|
cryptedclone: boolean;
|
|
21
21
|
echo: {};
|
|
22
22
|
familyId: string;
|
|
23
|
+
genisoimage: boolean;
|
|
23
24
|
incubator: Incubator;
|
|
24
25
|
nest: string;
|
|
25
26
|
settings: Settings;
|
|
26
27
|
snapshot_basename: string;
|
|
27
28
|
snapshot_prefix: string;
|
|
28
29
|
theme: string;
|
|
29
|
-
volid: string;
|
|
30
30
|
toNull: string;
|
|
31
|
-
genisoimage: boolean;
|
|
32
31
|
verbose: boolean;
|
|
32
|
+
volid: string;
|
|
33
33
|
/**
|
|
34
34
|
* Add or remove exclusion
|
|
35
35
|
* @param add {boolean} true = add, false remove
|
|
@@ -86,14 +86,6 @@ export default class Ovary {
|
|
|
86
86
|
* initrdAlpine()
|
|
87
87
|
*/
|
|
88
88
|
initrdAlpine(): Promise<void>;
|
|
89
|
-
/**
|
|
90
|
-
* initrdFedora()
|
|
91
|
-
*/
|
|
92
|
-
initrdFedora(): Promise<void>;
|
|
93
|
-
/**
|
|
94
|
-
* initrdSuse()
|
|
95
|
-
*/
|
|
96
|
-
initrdSuse(): Promise<void>;
|
|
97
89
|
/**
|
|
98
90
|
* initrdArch()
|
|
99
91
|
* necessita di echoYes
|
|
@@ -105,6 +97,14 @@ export default class Ovary {
|
|
|
105
97
|
* We must upgrade to initrdCreate for Debian/Ubuntu
|
|
106
98
|
*/
|
|
107
99
|
initrdDebian(verbose?: boolean): Promise<void>;
|
|
100
|
+
/**
|
|
101
|
+
* initrdFedora()
|
|
102
|
+
*/
|
|
103
|
+
initrdFedora(): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* initrdSuse()
|
|
106
|
+
*/
|
|
107
|
+
initrdSuse(): Promise<void>;
|
|
108
108
|
/**
|
|
109
109
|
* async isolinux
|
|
110
110
|
*/
|