penguins-eggs 10.0.35 → 10.0.37

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 (62) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/README.md +33 -33
  3. package/addons/eggs/theme/livecd/isolinux.main.simple.cfg +21 -0
  4. package/conf/distros/fedora/README.md +3 -0
  5. package/conf/distros/fedora/calamares/calamares-modules/bootloader-config/bootloader-config.sh +40 -0
  6. package/conf/distros/fedora/calamares/calamares-modules/bootloader-config/module.yml +9 -0
  7. package/conf/distros/fedora/calamares/calamares-modules/cleanup/cleanup.sh +13 -0
  8. package/conf/distros/fedora/calamares/calamares-modules/cleanup/module.yml +9 -0
  9. package/conf/distros/fedora/calamares/modules/bootloader.yml +57 -0
  10. package/conf/distros/fedora/calamares/modules/displaymanager.yml +23 -0
  11. package/conf/distros/fedora/calamares/modules/finished.yml +5 -0
  12. package/conf/distros/fedora/calamares/modules/fstab.yml +12 -0
  13. package/conf/distros/fedora/calamares/modules/locale.yml +98 -0
  14. package/conf/distros/fedora/calamares/modules/luksopenswaphookcfg.yml +5 -0
  15. package/conf/distros/fedora/calamares/modules/machineid.yml +17 -0
  16. package/conf/distros/fedora/calamares/modules/mount.yml +56 -0
  17. package/conf/distros/fedora/calamares/modules/packages.yml +6 -0
  18. package/conf/distros/fedora/calamares/modules/partition.yml +242 -0
  19. package/conf/distros/fedora/calamares/modules/removeuser.yml +15 -0
  20. package/conf/distros/fedora/calamares/modules/unpackfs.yml +6 -0
  21. package/conf/distros/fedora/calamares/modules/users.yml +18 -0
  22. package/conf/distros/fedora/calamares/modules/welcome.yml +19 -0
  23. package/conf/distros/fedora/calamares/settings.yml +57 -0
  24. package/dist/classes/distro.js +70 -55
  25. package/dist/classes/families/alpine.d.ts +0 -4
  26. package/dist/classes/families/alpine.js +0 -8
  27. package/dist/classes/families/archlinux.d.ts +0 -4
  28. package/dist/classes/families/archlinux.js +0 -7
  29. package/dist/classes/families/debian.d.ts +0 -4
  30. package/dist/classes/families/debian.js +0 -7
  31. package/dist/classes/families/fedora.d.ts +0 -4
  32. package/dist/classes/families/fedora.js +0 -6
  33. package/dist/classes/families/opensuse.d.ts +0 -4
  34. package/dist/classes/families/opensuse.js +3 -12
  35. package/dist/classes/incubation/incubator.js +8 -0
  36. package/dist/classes/locales.d.ts +4 -4
  37. package/dist/classes/locales.js +33 -36
  38. package/dist/classes/ovary.d.ts +3 -3
  39. package/dist/classes/ovary.js +46 -52
  40. package/dist/classes/pacman.d.ts +1 -1
  41. package/dist/classes/pacman.js +53 -24
  42. package/dist/classes/utils.js +30 -13
  43. package/dist/commands/calamares.js +39 -39
  44. package/dist/krill/modules/add-user.js +7 -5
  45. package/dist/krill/modules/bootloader-config.js +26 -0
  46. package/dist/krill/modules/bootloader.js +8 -1
  47. package/dist/krill/modules/del-live-user.js +2 -2
  48. package/dist/krill/modules/locale-cfg.js +0 -3
  49. package/dist/krill/modules/m-keyboard.js +1 -1
  50. package/dist/krill/sequence.js +110 -38
  51. package/dracut/README.md +4 -38
  52. package/dracut/dracut.conf +3 -0
  53. package/dracut/dracut.conf.d/01-live.conf +8 -0
  54. package/dracut/test.sh +40 -0
  55. package/manpages/doc/man/eggs.1.gz +0 -0
  56. package/manpages/doc/man/eggs.html +4 -4
  57. package/package.json +9 -9
  58. package/addons/eggs/theme/livecd/isolinux.main.alpine.cfg +0 -39
  59. package/dist/classes/families/mockup.d.ts +0 -60
  60. package/dist/classes/families/mockup.js +0 -79
  61. package/dracut/live.conf +0 -8
  62. /package/addons/eggs/theme/livecd/{isolinux.main.original.cfg → isolinux.main.full.cfg} +0 -0
@@ -0,0 +1,6 @@
1
+ # # Alpine 3.18
2
+ # packages
3
+ ---
4
+ backend: apk
5
+
6
+ {{operations}}
@@ -0,0 +1,242 @@
1
+ # # Alpine 3.18
2
+ # partition.yaml
3
+ ---
4
+ # This setting specifies the mount point of the EFI system partition. Some
5
+ # distributions (Fedora, Debian, Manjaro, etc.) use /boot/efi, others (KaOS,
6
+ # etc.) use just /boot.
7
+ efiSystemPartition: "/boot/efi"
8
+
9
+ # This optional setting specifies the size of the EFI system partition.
10
+ # If nothing is specified, the default size of 300MiB will be used.
11
+ # efiSystemPartitionSize: 300M
12
+
13
+ # In autogenerated partitioning, allow the user to select a swap size?
14
+ # If there is exactly one choice, no UI is presented, and the user
15
+ # cannot make a choice -- this setting is used. If there is more than
16
+ # one choice, a UI is presented.
17
+ #
18
+ # Legacy settings *neverCreateSwap* and *ensureSuspendToDisk* correspond
19
+ # to values of *userSwapChoices* as follows:
20
+ # - *neverCreateSwap* is true, means [none]
21
+ # - *neverCreateSwap* is false, *ensureSuspendToDisk* is false, [small]
22
+ # - *neverCreateSwap* is false, *ensureSuspendToDisk* is true, [suspend]
23
+ #
24
+ # Autogenerated swap sizes are as follows:
25
+ # - *suspend*: Swap is always at least total memory size,
26
+ # and up to 4GiB RAM follows the rule-of-thumb 2 * memory;
27
+ # from 4GiB to 8 GiB it stays steady at 8GiB, and over 8 GiB memory
28
+ # swap is the size of main memory.
29
+ # - *small*: Follows the rules above, but Swap is at
30
+ # most 8GiB, and no more than 10% of available disk.
31
+ # In both cases, a fudge factor (usually 10% extra) is applied so that there
32
+ # is some space for administrative overhead (e.g. 8 GiB swap will allocate
33
+ # 8.8GiB on disk in the end).
34
+ #
35
+ # If *file* is enabled here, make sure to have the *fstab* module
36
+ # as well (later in the exec phase) so that the swap file is
37
+ # actually created.
38
+ userSwapChoices:
39
+ - none # Create no swap, use no swap
40
+ - small # Up to 4GB
41
+ - suspend # At least main memory size
42
+ # - reuse # Re-use existing swap, but don't create any (unsupported right now)
43
+ - file # To swap file instead of partition
44
+
45
+ # This optional setting specifies the name of the swap partition (see
46
+ # PARTLABEL; gpt only; requires KPMCore >= 4.2.0).
47
+ # If nothing is specified, the partition name is left unset.
48
+ # swapPartitionName: swap
49
+
50
+ # LEGACY SETTINGS (these will generate a warning)
51
+ # ensureSuspendToDisk: true
52
+ # neverCreateSwap: false
53
+
54
+ # Correctly draw nested (e.g. logical) partitions as such.
55
+ drawNestedPartitions: false
56
+
57
+ # Show/hide partition labels on manual partitioning page.
58
+ alwaysShowPartitionLabels: true
59
+
60
+ # Allow manual partitioning.
61
+ #
62
+ # When set to false, this option hides the "Manual partitioning" button,
63
+ # limiting the user's choice to "Erase", "Replace" or "Alongside".
64
+ # This can be useful when using a custom partition layout we don't want
65
+ # the user to modify.
66
+ #
67
+ # If nothing is specified, manual partitioning is enabled.
68
+ #allowManualPartitioning: true
69
+
70
+ # Initial selection on the Choice page
71
+ #
72
+ # There are four radio buttons (in principle: erase, replace, alongside, manual),
73
+ # and you can pick which of them, if any, is initially selected. For most
74
+ # installers, "none" is the right choice: it makes the user pick something specific,
75
+ # rather than accidentally being able to click past an important choice (in particular,
76
+ # "erase" is a dangerous choice).
77
+ #
78
+ # The default is "none"
79
+ #
80
+ initialPartitioningChoice: none
81
+ #
82
+ # Similarly, some of the installation choices may offer a choice of swap;
83
+ # the available choices depend on *userSwapChoices*, above, and this
84
+ # setting can be used to pick a specific one.
85
+ #
86
+ # The default is "none" (no swap) if that is one of the enabled options, otherwise
87
+ # one of the items from the options.
88
+ initialSwapChoice: none
89
+
90
+ # Default partition table type, used when a "erase" disk is made.
91
+ #
92
+ # When erasing a disk, a new partition table is created on disk.
93
+ # In other cases, e.g. Replace and Alongside, as well as when using
94
+ # manual partitioning, this partition table exists already on disk
95
+ # and it is left unmodified.
96
+ #
97
+ # Suggested values: gpt, msdos
98
+ # If nothing is specified, Calamares defaults to "gpt" if system is
99
+ # efi or "msdos".
100
+ #
101
+ # Names are case-sensitive and defined by KPMCore.
102
+ # defaultPartitionTableType: msdos
103
+
104
+ # Requirement for partition table type
105
+ #
106
+ # Restrict the installation on disks that match the type of partition
107
+ # tables that are specified.
108
+ #
109
+ # Possible values: msdos, gpt. Names are case-sensitive and defined by KPMCore.
110
+ #
111
+ # If nothing is specified, Calamares defaults to both "msdos" and "gpt".
112
+ #
113
+ # requiredPartitionTableType: gpt
114
+ # requiredPartitionTableType:
115
+ # - msdos
116
+ # - gpt
117
+
118
+ # Default filesystem type, used when a "new" partition is made.
119
+ #
120
+ # When replacing a partition, the existing filesystem inside the
121
+ # partition is retained. In other cases, e.g. Erase and Alongside,
122
+ # as well as when using manual partitioning and creating a new
123
+ # partition, this filesystem type is pre-selected. Note that
124
+ # editing a partition in manual-creation mode will not automatically
125
+ # change the filesystem type to this default value -- it is not
126
+ # creating a new partition.
127
+ #
128
+ # Suggested values: ext2, ext3, ext4, reiser, xfs, jfs, btrfs
129
+ # If nothing is specified, Calamares defaults to "ext4".
130
+ #
131
+ # Names are case-sensitive and defined by KPMCore.
132
+ defaultFileSystemType: "ext4"
133
+
134
+ # Selectable filesystem type, used when "erase" is done.
135
+ #
136
+ # When erasing the disk, the *defaultFileSystemType* is used (see
137
+ # above), but it is also possible to give users a choice:
138
+ # list suitable filesystems here. A drop-down is provided
139
+ # to pick which is the filesystems will be used.
140
+ #
141
+ # The value *defaultFileSystemType* is added to this list (with a warning)
142
+ # if not present; the default pick is the *defaultFileSystemType*.
143
+ #
144
+ # If not specified at all, uses *defaultFileSystemType* without a
145
+ # warning (this matches traditional no-choice-available behavior best).
146
+ availableFileSystemTypes: ["ext4"]
147
+
148
+ # Show/hide LUKS related functionality in automated partitioning modes.
149
+ # Disable this if you choose not to deploy early unlocking support in GRUB2
150
+ # and/or your distribution's initramfs solution.
151
+ #
152
+ # BIG FAT WARNING:
153
+ #
154
+ # This option is unsupported, as it cuts out a crucial security feature.
155
+ # Disabling LUKS and shipping Calamares without a correctly configured GRUB2
156
+ # and initramfs is considered suboptimal use of the Calamares software. The
157
+ # Calamares team will not provide user support for any potential issue that
158
+ # may arise as a consequence of setting this option to false.
159
+ # It is strongly recommended that system integrators put in the work to support
160
+ # LUKS unlocking support in GRUB2 and initramfs/dracut/mkinitcpio/etc.
161
+ # For more information on setting up GRUB2 for Calamares with LUKS, see
162
+ # https://github.com/calamares/calamares/wiki/Deploy-LUKS
163
+ #
164
+ # If nothing is specified, LUKS is enabled in automated modes.
165
+ #enableLuksAutomatedPartitioning: true
166
+
167
+ # Partition layout.
168
+ #
169
+ # This optional setting specifies a custom partition layout.
170
+ #
171
+ # If nothing is specified, the default partition layout is a single partition
172
+ # for root that uses 100% of the space and uses the filesystem defined by
173
+ # defaultFileSystemType.
174
+ #
175
+ # Note: the EFI system partition is prepend automatically to the layout if
176
+ # needed; the swap partition is appended to the layout if enabled (small of
177
+ # suspend).
178
+ #
179
+ # Otherwise, the partition layout is defined as follow:
180
+ #
181
+ # partitionLayout:
182
+ # - name: "rootfs"
183
+ # type: "4f68bce3-e8cd-4db1-96e7-fbcaf984b709"
184
+ # filesystem: "ext4"
185
+ # mountPoint: "/"
186
+ # size: 20%
187
+ # minSize: 500M
188
+ # maxSize: 10G
189
+ # attributes: 0xffff000000000003
190
+ # - name: "home"
191
+ # type = "933ac7e1-2eb4-4f13-b844-0e14e2aef915"
192
+ # filesystem: "ext4"
193
+ # mountPoint: "/home"
194
+ # size: 3G
195
+ # minSize: 1.5G
196
+ # features:
197
+ # 64bit: false
198
+ # casefold: true
199
+ # - name: "data"
200
+ # filesystem: "fat32"
201
+ # mountPoint: "/data"
202
+ # features:
203
+ # sector-size: 4096
204
+ # sectors-per-cluster: 128
205
+ # size: 100%
206
+ #
207
+ # There can be any number of partitions, each entry having the following attributes:
208
+ # - name: filesystem label
209
+ # and
210
+ # partition name (gpt only; since KPMCore 4.2.0)
211
+ # - uuid: partition uuid (optional parameter; gpt only; requires KPMCore >= 4.2.0)
212
+ # - type: partition type (optional parameter; gpt only; requires KPMCore >= 4.2.0)
213
+ # - attributes: partition attributes (optional parameter; gpt only; requires KPMCore >= 4.2.0)
214
+ # - filesystem: filesystem type (optional parameter)
215
+ # - if not set at all, treat as "unformatted"
216
+ # - if "unformatted", no filesystem will be created
217
+ # - if "unknown" (or an unknown FS name, like "elephant") then the
218
+ # default filesystem type, or the user's choice, will be applied instead
219
+ # of "unknown" (e.g. the user might pick ext4, or xfs).
220
+ # - mountPoint: partition mount point (optional parameter; not mounted if unset)
221
+ # - size: partition size in bytes (append 'K', 'M' or 'G' for KiB, MiB or GiB)
222
+ # or
223
+ # % of the available drive space if a '%' is appended to the value
224
+ # - minSize: minimum partition size (optional parameter)
225
+ # - maxSize: maximum partition size (optional parameter)
226
+ # - features: filesystem features (optional parameter; requires KPMCore >= 4.2.0)
227
+ # name: boolean or integer or string
228
+
229
+ # Checking for available storage
230
+ #
231
+ # This overlaps with the setting of the same name in the welcome module's
232
+ # requirements section. If nothing is set by the welcome module, this
233
+ # value is used instead. It is still a problem if there is no required
234
+ # size set at all, and the replace and resize options will not be offered
235
+ # if no required size is set.
236
+ #
237
+ # The value is in Gibibytes (GiB).
238
+ #
239
+ # BIG FAT WARNING: except for OEM-phase-0 use, you should be using
240
+ # the welcome module, **and** configure this value in
241
+ # `welcome.conf`, not here.
242
+ requiredStorage: 6.0
@@ -0,0 +1,15 @@
1
+ # # Alpine 3.18
2
+ # removeuser
3
+ # SPDX-FileCopyrightText: no
4
+ # SPDX-License-Identifier: CC0-1.0
5
+ #
6
+ # Removes a single user (with userdel) from the system.
7
+ # This is typically used in OEM setups or if the live user
8
+ # spills into the target system.
9
+ #
10
+ # The module never fails; if userdel fails, this is logged
11
+ # but the module still reports success and installation / setup
12
+ # continues as normal.
13
+ ---
14
+ # Username in the target system to be removed.
15
+ username: {{username}}
@@ -0,0 +1,6 @@
1
+ # # Alpine 3.18
2
+ ---
3
+ unpack:
4
+ - source: {{source}}
5
+ sourcefs: "squashfs"
6
+ destination: ""
@@ -0,0 +1,18 @@
1
+ ---
2
+ userGroup: users
3
+ defaultGroups:
4
+ - cdrom
5
+ - floppy
6
+ - sudo
7
+ - audio
8
+ - dip
9
+ - video
10
+ - plugdev
11
+ - netdev
12
+ - lpadmin
13
+ - scanner
14
+ - bluetooth
15
+ autologinGroup: autologin
16
+ sudoersGroup: sudo
17
+ setRootPassword: true
18
+ doReusePassword: false
@@ -0,0 +1,19 @@
1
+ # Alpine 3.18
2
+ # welcome
3
+ ---
4
+ showSupportUrl: true
5
+ showKnownIssuesUrl: true
6
+ showReleaseNotesUrl: true
7
+
8
+ requirements:
9
+ requiredStorage: 10
10
+ requiredRam: 1.0
11
+ check:
12
+ - storage
13
+ - ram
14
+ - power
15
+ - root
16
+ required:
17
+ - storage
18
+ - ram
19
+ - root
@@ -0,0 +1,57 @@
1
+ # Alpine 3.18
2
+ ---
3
+ # "local" is LIBDIR/calamares/modules with settings in SHARE/calamares/modules
4
+ modules-search: [ local, /usr/lib/calamares/modules ]
5
+
6
+ oem-setup: false
7
+ disable-cancel: false
8
+ disable-cancel-during-exec: false
9
+ quit-at-end: false
10
+
11
+ instances:
12
+ - id: cleanup
13
+ module: shellprocess
14
+ config: shellprocess_cleanup.conf
15
+
16
+ sequence:
17
+ # Phase 1 - prepare.
18
+ - show:
19
+ - welcome
20
+ - locale
21
+ - keyboard
22
+ - partition
23
+ - users
24
+ - summary
25
+
26
+ # Phase 2 - install.
27
+ - exec:
28
+ - partition
29
+ - mount
30
+ - unpackfs
31
+ - machineid
32
+ - fstab
33
+ - locale
34
+ - keyboard
35
+ - users
36
+ - displaymanager
37
+ - networkcfg
38
+ - hwclock
39
+ - services-openrc
40
+ - bootloader-config
41
+ - grubcfg
42
+ - bootloader
43
+ - packages
44
+ - luksbootkeyfile
45
+ - plymouthcfg
46
+ - mkinitfs
47
+ - removeuser
48
+ - umount
49
+
50
+ # Phase 3 - postinstall.
51
+ - show:
52
+ - finished
53
+
54
+ # branding
55
+ branding: {{branding}}
56
+ prompt-install: false
57
+ dont-chroot: false
@@ -105,61 +105,34 @@ class Distro {
105
105
  * Analize distroId
106
106
  */
107
107
  switch (this.distroId) {
108
+ /**
109
+ * Alpine compatible
110
+ */
108
111
  case 'Alpine': {
109
112
  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 = true;
122
113
  break;
123
114
  }
115
+ /**
116
+ * Fedora compatible
117
+ */
118
+ case 'NobaraLinux':
124
119
  case 'Fedora': {
125
120
  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
121
  break;
139
122
  }
123
+ /**
124
+ * opensuse compatible
125
+ */
140
126
  case 'openSUSE': {
141
127
  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
128
  break;
155
129
  }
130
+ /**
131
+ * Arch/Debian/Devuan/Manjaro and Ubuntu
132
+ */
156
133
  default: {
157
- /**
158
- * Arch/Debian/Devuan/Manjaro and Ubuntu
159
- */
160
134
  switch (this.codenameId) {
161
135
  case 'jessie': {
162
- // Debian 8 jessie
163
136
  this.distroLike = 'Debian';
164
137
  this.codenameLikeId = 'jessie';
165
138
  this.liveMediumPath = '/lib/live/mount/medium/';
@@ -167,7 +140,6 @@ class Distro {
167
140
  break;
168
141
  }
169
142
  case 'stretch': {
170
- // Debian 9 stretch
171
143
  this.distroLike = 'Debian';
172
144
  this.codenameLikeId = 'stretch';
173
145
  this.liveMediumPath = '/lib/live/mount/medium/';
@@ -175,43 +147,39 @@ class Distro {
175
147
  break;
176
148
  }
177
149
  case 'buster': {
178
- // Debian 10 buster
179
150
  this.distroLike = 'Debian';
180
151
  this.codenameLikeId = 'buster';
181
152
  break;
182
153
  }
183
154
  case 'bullseye': {
184
- // Debian 11 bullseye
185
155
  this.distroLike = 'Debian';
186
156
  this.codenameLikeId = 'bullseye';
187
157
  break;
188
158
  }
189
159
  case 'bookworm': {
190
- // Debian 12 bookworm
191
160
  this.distroLike = 'Debian';
192
161
  this.codenameLikeId = 'bookworm';
193
162
  break;
194
163
  }
195
164
  case 'trixie': {
196
- // Debian 13 trixie
197
165
  this.distroLike = 'Debian';
198
166
  this.codenameLikeId = 'trixie';
199
167
  break;
200
168
  }
169
+ /**
170
+ * Devuan
171
+ */
201
172
  case 'beowulf': {
202
- // Devuab 3 beowulf
203
173
  this.distroLike = 'Devuan';
204
174
  this.codenameLikeId = 'beowulf';
205
175
  break;
206
176
  }
207
177
  case 'chimaera': {
208
- // Devuab 4 chimaera
209
178
  this.distroLike = 'Devuan';
210
179
  this.codenameLikeId = 'chimaera';
211
180
  break;
212
181
  }
213
182
  case 'daedalus': {
214
- // Devuan 5 daedalus
215
183
  this.distroLike = 'Devuan';
216
184
  this.codenameLikeId = 'daedalus';
217
185
  break;
@@ -220,38 +188,36 @@ class Distro {
220
188
  * Ubuntu LTS + actual
221
189
  */
222
190
  case 'bionic': {
223
- // Ubuntu 18.04 bionic LTS eol aprile 2023
224
191
  this.distroLike = 'Ubuntu';
225
192
  this.codenameLikeId = 'bionic';
226
193
  this.liveMediumPath = '/lib/live/mount/medium/';
227
194
  break;
228
195
  }
229
196
  case 'focal': {
230
- // Ubuntu 20.04 focal LTS
231
197
  this.distroLike = 'Ubuntu';
232
198
  this.codenameLikeId = 'focal';
233
199
  break;
234
200
  }
235
201
  case 'jammy': {
236
- // Ubuntu 22.04 jammy LTS
237
202
  this.distroLike = 'Ubuntu';
238
203
  this.codenameLikeId = 'jammy';
239
204
  break;
240
205
  }
241
206
  case 'noble': {
242
- // Ubuntu 24.04 noble LTS
243
207
  this.distroLike = 'Ubuntu';
244
208
  this.codenameLikeId = 'noble';
245
209
  break;
246
210
  }
211
+ /**
212
+ * Rhino
213
+ */
247
214
  case 'devel': {
248
- // Ubuntu rhino
249
215
  this.distroLike = 'Ubuntu';
250
216
  this.codenameLikeId = 'devel';
251
217
  break;
252
218
  }
253
219
  /**
254
- * Arch Linux/Garuda
220
+ * Arch
255
221
  */
256
222
  case 'Spizaetus':
257
223
  case 'n/a':
@@ -264,6 +230,9 @@ class Distro {
264
230
  this.squashfs = `arch/x86_64/airootfs.sfs`;
265
231
  break;
266
232
  }
233
+ /**
234
+ * find in derivatives
235
+ */
267
236
  default: {
268
237
  /**
269
238
  * patch per Roy VERIFICARE
@@ -318,9 +287,55 @@ class Distro {
318
287
  this.isolinuxPath = this.syslinuxPath;
319
288
  break;
320
289
  }
321
- // No default
322
290
  } // Fine analisi codenameId
323
291
  }
292
+ } // Fine analisi distroId
293
+ /**
294
+ * familyId
295
+ */
296
+ switch (this.familyId) {
297
+ case 'alpine': {
298
+ this.distroLike = 'Alpine';
299
+ this.codenameId = 'rolling'; // questo viene rimosso dal nome
300
+ this.codenameLikeId = 'alpine'; // prende alpine come codenaneLikeId
301
+ this.liveMediumPath = '/mnt/'; // Qua è deciso da noi
302
+ this.syslinuxPath = '/usr/share/syslinux/'; // correct
303
+ this.pxelinuxPath = this.syslinuxPath;
304
+ this.usrLibPath = '/usr/lib/';
305
+ this.memdiskPath = this.syslinuxPath;
306
+ this.isolinuxPath = this.syslinuxPath;
307
+ // At the moment
308
+ this.isCalamaresAvailable = true;
309
+ break;
310
+ }
311
+ case 'fedora': {
312
+ this.distroLike = 'Fedora';
313
+ this.codenameId = 'rolling'; // questo viene rimosso dal nome
314
+ this.codenameLikeId = 'fedora';
315
+ this.liveMediumPath = '/run/initramfs/live/';
316
+ this.syslinuxPath = '/usr/share/syslinux/';
317
+ this.pxelinuxPath = this.syslinuxPath;
318
+ this.usrLibPath = '/usr/lib/';
319
+ this.memdiskPath = this.syslinuxPath;
320
+ this.isolinuxPath = this.syslinuxPath;
321
+ // At the moment
322
+ this.isCalamaresAvailable = true;
323
+ break;
324
+ }
325
+ case 'suse': {
326
+ this.distroLike = 'openSUSE';
327
+ this.codenameId = 'rolling';
328
+ this.codenameLikeId = 'Tumbleweed';
329
+ this.liveMediumPath = '/run/install/repo/'; // ? è il mount della root su cd di installatione
330
+ this.syslinuxPath = '/usr/share/syslinux/';
331
+ this.pxelinuxPath = this.syslinuxPath;
332
+ this.usrLibPath = '/usr/lib/';
333
+ this.memdiskPath = this.syslinuxPath;
334
+ this.isolinuxPath = this.syslinuxPath;
335
+ // At the moment
336
+ this.isCalamaresAvailable = false;
337
+ break;
338
+ }
324
339
  }
325
340
  /**
326
341
  * if lsb-release exists
@@ -15,10 +15,6 @@ export default class Alpine {
15
15
  * Alpine: calamaresInstall
16
16
  */
17
17
  static calamaresInstall(verbose?: boolean): Promise<void>;
18
- /**
19
- * Alpine: calamaresPolicies
20
- */
21
- static calamaresPolicies(verbose?: boolean): Promise<void>;
22
18
  /**
23
19
  * Alpine: calamaresRemove
24
20
  */
@@ -74,14 +74,6 @@ export default class Alpine {
74
74
  Utils.error(`Alpine.calamaresInstall(): apk add calamares ...`);
75
75
  }
76
76
  }
77
- /**
78
- * Alpine: calamaresPolicies
79
- */
80
- static async calamaresPolicies(verbose = true) {
81
- const echo = Utils.setEcho(verbose);
82
- const policyFile = '/usr/share/polkit-1/actions/com.github.calamares.calamares.policy';
83
- await exec(`sed -i 's/auth_admin/yes/' ${policyFile}`, echo);
84
- }
85
77
  /**
86
78
  * Alpine: calamaresRemove
87
79
  */
@@ -15,10 +15,6 @@ export default class Archlinux {
15
15
  * Archlinux: calamaresInstall
16
16
  */
17
17
  static calamaresInstall(verbose?: boolean): Promise<void>;
18
- /**
19
- * Archlinux: calamaresPolicies
20
- */
21
- static calamaresPolicies(): Promise<void>;
22
18
  /**
23
19
  * Archlinux: calamaresRemove
24
20
  */
@@ -42,13 +42,6 @@ export default class Archlinux {
42
42
  Utils.error(`Cannot download ${cal_eggs}`); // + e.error)
43
43
  }
44
44
  }
45
- /**
46
- * Archlinux: calamaresPolicies
47
- */
48
- static async calamaresPolicies() {
49
- const policyFile = '/usr/share/polkit-1/actions/com.github.calamares.calamares.policy';
50
- await exec(`sed -i 's/auth_admin/yes/' ${policyFile}`);
51
- }
52
45
  /**
53
46
  * Archlinux: calamaresRemove
54
47
  */
@@ -15,10 +15,6 @@ export default class Debian {
15
15
  * Debian: calamaresInstall
16
16
  */
17
17
  static calamaresInstall(verbose?: boolean): Promise<void>;
18
- /**
19
- * Debian: calamaresPolicies
20
- */
21
- static calamaresPolicies(): Promise<void>;
22
18
  /**
23
19
  * Debian: calamaresRemove
24
20
  */