penguins-eggs 10.0.40 → 10.0.41

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 (40) 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 +1 -1
  4. package/conf/derivatives.yaml +2 -0
  5. package/conf/distros/voidlinux/README.md +1 -0
  6. package/dist/classes/bleach.js +5 -1
  7. package/dist/classes/distro.d.ts +0 -4
  8. package/dist/classes/distro.js +75 -134
  9. package/dist/classes/families/voidlinux.d.ts +48 -0
  10. package/dist/classes/families/voidlinux.js +84 -0
  11. package/dist/classes/ovary.d.ts +6 -13
  12. package/dist/classes/ovary.js +56 -67
  13. package/dist/classes/pacman.js +27 -13
  14. package/dist/classes/pxe.js +3 -3
  15. package/dist/classes/utils.js +9 -0
  16. package/dist/commands/config.js +26 -94
  17. package/dist/commands/produce.js +1 -1
  18. package/dist/interfaces/i-distro.d.ts +0 -4
  19. package/dist/interfaces/i-install.d.ts +2 -2
  20. package/dist/krill/modules/initramfs-cfg.js +0 -3
  21. package/dist/krill/modules/initramfs.js +26 -30
  22. package/dist/krill/prepare.js +2 -2
  23. package/dist/krill/sequence.js +17 -17
  24. package/dracut/README.md +2 -2
  25. package/dracut/dracut.conf.d/01-live.conf +1 -1
  26. package/dracut/sidecar.sh +19 -0
  27. package/manpages/doc/man/eggs.1.gz +0 -0
  28. package/manpages/doc/man/eggs.html +4 -4
  29. package/mkinitcpio/arch/live.conf +3 -8
  30. package/mkinitcpio/biglinux/live.conf +4 -74
  31. package/mkinitcpio/manjarolinux/live.conf +4 -9
  32. package/package.json +8 -8
  33. package/syslinux/README.md +3 -0
  34. package/syslinux/lpxelinux.0 +0 -0
  35. package/syslinux/memdisk +0 -0
  36. package/syslinux/pxelinux.0 +0 -0
  37. package/dracut/test.sh +0 -40
  38. package/mkinitcpio/arch/mkinitcpio.conf +0 -5
  39. package/mkinitcpio/biglinux/mkinitcpio.conf +0 -73
  40. package/mkinitcpio/manjarolinux/mkinitcpio.conf +0 -7
@@ -1498,5 +1498,5 @@
1498
1498
  ]
1499
1499
  }
1500
1500
  },
1501
- "version": "10.0.40"
1501
+ "version": "10.0.41"
1502
1502
  }
package/README.md CHANGED
@@ -491,7 +491,7 @@ EXAMPLES
491
491
  $ eggs adapt
492
492
  ```
493
493
 
494
- _See code: [src/commands/adapt.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/adapt.ts)_
494
+ _See code: [src/commands/adapt.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/adapt.ts)_
495
495
 
496
496
  ## `eggs analyze`
497
497
 
@@ -512,7 +512,7 @@ EXAMPLES
512
512
  sudo eggs analyze
513
513
  ```
514
514
 
515
- _See code: [src/commands/analyze.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/analyze.ts)_
515
+ _See code: [src/commands/analyze.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/analyze.ts)_
516
516
 
517
517
  ## `eggs autocomplete [SHELL]`
518
518
 
@@ -543,7 +543,7 @@ EXAMPLES
543
543
  $ eggs autocomplete --refresh-cache
544
544
  ```
545
545
 
546
- _See code: [@oclif/plugin-autocomplete](https://github.com/oclif/plugin-autocomplete/blob/v3.2.4/src/commands/autocomplete/index.ts)_
546
+ _See code: [@oclif/plugin-autocomplete](https://github.com/oclif/plugin-autocomplete/blob/v3.2.5/src/commands/autocomplete/index.ts)_
547
547
 
548
548
  ## `eggs calamares`
549
549
 
@@ -576,7 +576,7 @@ EXAMPLES
576
576
  sudo eggs calamares --remove
577
577
  ```
578
578
 
579
- _See code: [src/commands/calamares.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/calamares.ts)_
579
+ _See code: [src/commands/calamares.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/calamares.ts)_
580
580
 
581
581
  ## `eggs config`
582
582
 
@@ -603,7 +603,7 @@ EXAMPLES
603
603
  sudo eggs config --clean --nointeractive
604
604
  ```
605
605
 
606
- _See code: [src/commands/config.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/config.ts)_
606
+ _See code: [src/commands/config.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/config.ts)_
607
607
 
608
608
  ## `eggs cuckoo`
609
609
 
@@ -623,7 +623,7 @@ EXAMPLES
623
623
  sudo eggs cuckoo
624
624
  ```
625
625
 
626
- _See code: [src/commands/cuckoo.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/cuckoo.ts)_
626
+ _See code: [src/commands/cuckoo.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/cuckoo.ts)_
627
627
 
628
628
  ## `eggs dad`
629
629
 
@@ -651,7 +651,7 @@ EXAMPLES
651
651
  sudo dad --default
652
652
  ```
653
653
 
654
- _See code: [src/commands/dad.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/dad.ts)_
654
+ _See code: [src/commands/dad.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/dad.ts)_
655
655
 
656
656
  ## `eggs export deb`
657
657
 
@@ -678,7 +678,7 @@ EXAMPLES
678
678
  $ eggs export deb --all
679
679
  ```
680
680
 
681
- _See code: [src/commands/export/deb.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/export/deb.ts)_
681
+ _See code: [src/commands/export/deb.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/export/deb.ts)_
682
682
 
683
683
  ## `eggs export iso`
684
684
 
@@ -703,7 +703,7 @@ EXAMPLES
703
703
  $ eggs export iso --clean
704
704
  ```
705
705
 
706
- _See code: [src/commands/export/iso.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/export/iso.ts)_
706
+ _See code: [src/commands/export/iso.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/export/iso.ts)_
707
707
 
708
708
  ## `eggs help [COMMAND]`
709
709
 
@@ -723,7 +723,7 @@ DESCRIPTION
723
723
  Display help for eggs.
724
724
  ```
725
725
 
726
- _See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v6.2.12/src/commands/help.ts)_
726
+ _See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v6.2.13/src/commands/help.ts)_
727
727
 
728
728
  ## `eggs install`
729
729
 
@@ -764,7 +764,7 @@ EXAMPLES
764
764
  sudo eggs install --chroot
765
765
  ```
766
766
 
767
- _See code: [src/commands/install.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/install.ts)_
767
+ _See code: [src/commands/install.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/install.ts)_
768
768
 
769
769
  ## `eggs kill`
770
770
 
@@ -787,7 +787,7 @@ EXAMPLES
787
787
  sudo eggs kill
788
788
  ```
789
789
 
790
- _See code: [src/commands/kill.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/kill.ts)_
790
+ _See code: [src/commands/kill.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/kill.ts)_
791
791
 
792
792
  ## `eggs krill`
793
793
 
@@ -847,7 +847,7 @@ EXAMPLES
847
847
  $ eggs auto
848
848
  ```
849
849
 
850
- _See code: [src/commands/love.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/love.ts)_
850
+ _See code: [src/commands/love.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/love.ts)_
851
851
 
852
852
  ## `eggs mom`
853
853
 
@@ -867,7 +867,7 @@ EXAMPLES
867
867
  $ eggs mom
868
868
  ```
869
869
 
870
- _See code: [src/commands/mom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/mom.ts)_
870
+ _See code: [src/commands/mom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/mom.ts)_
871
871
 
872
872
  ## `eggs produce`
873
873
 
@@ -924,7 +924,7 @@ EXAMPLES
924
924
  sudo eggs produce --excludes home # exclude ~/*
925
925
  ```
926
926
 
927
- _See code: [src/commands/produce.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/produce.ts)_
927
+ _See code: [src/commands/produce.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/produce.ts)_
928
928
 
929
929
  ## `eggs status`
930
930
 
@@ -945,7 +945,7 @@ EXAMPLES
945
945
  $ eggs status
946
946
  ```
947
947
 
948
- _See code: [src/commands/status.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/status.ts)_
948
+ _See code: [src/commands/status.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/status.ts)_
949
949
 
950
950
  ## `eggs syncfrom`
951
951
 
@@ -971,7 +971,7 @@ EXAMPLES
971
971
  sudo eggs syncfrom --file /path/to/luks-volume
972
972
  ```
973
973
 
974
- _See code: [src/commands/syncfrom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/syncfrom.ts)_
974
+ _See code: [src/commands/syncfrom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/syncfrom.ts)_
975
975
 
976
976
  ## `eggs syncto`
977
977
 
@@ -998,7 +998,7 @@ EXAMPLES
998
998
  sudo eggs syncto --excludes
999
999
  ```
1000
1000
 
1001
- _See code: [src/commands/syncto.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/syncto.ts)_
1001
+ _See code: [src/commands/syncto.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/syncto.ts)_
1002
1002
 
1003
1003
  ## `eggs tools clean`
1004
1004
 
@@ -1020,7 +1020,7 @@ EXAMPLES
1020
1020
  sudo eggs tools clean
1021
1021
  ```
1022
1022
 
1023
- _See code: [src/commands/tools/clean.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/tools/clean.ts)_
1023
+ _See code: [src/commands/tools/clean.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/tools/clean.ts)_
1024
1024
 
1025
1025
  ## `eggs tools ppa`
1026
1026
 
@@ -1046,7 +1046,7 @@ EXAMPLES
1046
1046
  sudo eggs tools ppa --remove
1047
1047
  ```
1048
1048
 
1049
- _See code: [src/commands/tools/ppa.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/tools/ppa.ts)_
1049
+ _See code: [src/commands/tools/ppa.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/tools/ppa.ts)_
1050
1050
 
1051
1051
  ## `eggs tools skel`
1052
1052
 
@@ -1070,7 +1070,7 @@ EXAMPLES
1070
1070
  sudo eggs tools skel --user user-to-be-copied
1071
1071
  ```
1072
1072
 
1073
- _See code: [src/commands/tools/skel.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/tools/skel.ts)_
1073
+ _See code: [src/commands/tools/skel.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/tools/skel.ts)_
1074
1074
 
1075
1075
  ## `eggs tools stat`
1076
1076
 
@@ -1096,7 +1096,7 @@ EXAMPLES
1096
1096
  $ eggs tools stat --year
1097
1097
  ```
1098
1098
 
1099
- _See code: [src/commands/tools/stat.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/tools/stat.ts)_
1099
+ _See code: [src/commands/tools/stat.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/tools/stat.ts)_
1100
1100
 
1101
1101
  ## `eggs tools yolk`
1102
1102
 
@@ -1117,7 +1117,7 @@ EXAMPLES
1117
1117
  sudo eggs tools yolk
1118
1118
  ```
1119
1119
 
1120
- _See code: [src/commands/tools/yolk.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/tools/yolk.ts)_
1120
+ _See code: [src/commands/tools/yolk.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/tools/yolk.ts)_
1121
1121
 
1122
1122
  ## `eggs update`
1123
1123
 
@@ -1138,7 +1138,7 @@ EXAMPLES
1138
1138
  $ eggs update
1139
1139
  ```
1140
1140
 
1141
- _See code: [src/commands/update.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/update.ts)_
1141
+ _See code: [src/commands/update.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/update.ts)_
1142
1142
 
1143
1143
  ## `eggs version`
1144
1144
 
@@ -1158,7 +1158,7 @@ FLAG DESCRIPTIONS
1158
1158
  Additionally shows the architecture, node version, operating system, and versions of plugins that the CLI is using.
1159
1159
  ```
1160
1160
 
1161
- _See code: [@oclif/plugin-version](https://github.com/oclif/plugin-version/blob/v2.2.13/src/commands/version.ts)_
1161
+ _See code: [@oclif/plugin-version](https://github.com/oclif/plugin-version/blob/v2.2.14/src/commands/version.ts)_
1162
1162
 
1163
1163
  ## `eggs wardrobe get [REPO]`
1164
1164
 
@@ -1184,7 +1184,7 @@ EXAMPLES
1184
1184
  $ eggs wardrobe get your-wardrobe
1185
1185
  ```
1186
1186
 
1187
- _See code: [src/commands/wardrobe/get.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/wardrobe/get.ts)_
1187
+ _See code: [src/commands/wardrobe/get.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/wardrobe/get.ts)_
1188
1188
 
1189
1189
  ## `eggs wardrobe list [REPO]`
1190
1190
 
@@ -1213,7 +1213,7 @@ EXAMPLES
1213
1213
  $ eggs wardrobe list --distro arch
1214
1214
  ```
1215
1215
 
1216
- _See code: [src/commands/wardrobe/list.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/wardrobe/list.ts)_
1216
+ _See code: [src/commands/wardrobe/list.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/wardrobe/list.ts)_
1217
1217
 
1218
1218
  ## `eggs wardrobe show [REPO]`
1219
1219
 
@@ -1243,7 +1243,7 @@ EXAMPLES
1243
1243
  $ eggs wardrobe show accessories/
1244
1244
  ```
1245
1245
 
1246
- _See code: [src/commands/wardrobe/show.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/wardrobe/show.ts)_
1246
+ _See code: [src/commands/wardrobe/show.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/wardrobe/show.ts)_
1247
1247
 
1248
1248
  ## `eggs wardrobe wear [REPO]`
1249
1249
 
@@ -1274,7 +1274,7 @@ EXAMPLES
1274
1274
  sudo eggs wardrobe wear wagtail/waydroid
1275
1275
  ```
1276
1276
 
1277
- _See code: [src/commands/wardrobe/wear.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.40/src/commands/wardrobe/wear.ts)_
1277
+ _See code: [src/commands/wardrobe/wear.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.41/src/commands/wardrobe/wear.ts)_
1278
1278
  <!-- commandsstop -->
1279
1279
 
1280
1280
  # penGUI
@@ -11,7 +11,7 @@ LABEL TEST
11
11
  MENU LABEL {{{fullname}}}
12
12
  SAY "Booting {{{fullname}}} GNU/Linux (kernel {{{kernel}}})"
13
13
  LINUX {{{vmlinuz}}}
14
- append initrd={{{initrdImg}}} {{{kernel_parameters}}}
14
+ append initrd={{{initrdImg}}} {{{kernel_parameters}}}
15
15
 
16
16
  label local
17
17
  menu label Boot from local disk
@@ -11,6 +11,7 @@
11
11
  ids:
12
12
  - debbie # LMDE4
13
13
  - siena # Ufficiozero siena
14
+ - byzantium # pureos
14
15
 
15
16
  - id: bullseye
16
17
  distroLike: Debian
@@ -135,4 +136,5 @@
135
136
  - Uranos
136
137
  - Vulcan
137
138
  - Wynsdey
139
+ - Xahea
138
140
 
@@ -0,0 +1 @@
1
+ # VoidLinux
@@ -34,7 +34,7 @@ export default class Bleach {
34
34
  break;
35
35
  }
36
36
  case 'archlinux': {
37
- await exec('pacman -Scc', Utils.setEcho(true));
37
+ await exec('pacman -Scc --noconfirm ', Utils.setEcho(true));
38
38
  break;
39
39
  }
40
40
  case 'alpine': {
@@ -50,6 +50,10 @@ export default class Bleach {
50
50
  await exec(`zypper clean`, echo);
51
51
  break;
52
52
  }
53
+ case 'voidlinux': {
54
+ await exec(`xbps-remove -O`, echo);
55
+ break;
56
+ }
53
57
  // No default
54
58
  }
55
59
  await this.cleanHistory(verbose);
@@ -18,12 +18,8 @@ declare class Distro implements IDistro {
18
18
  familyId: string;
19
19
  homeUrl: string;
20
20
  isCalamaresAvailable: boolean;
21
- isolinuxPath: string;
22
21
  liveMediumPath: string;
23
- memdiskPath: string;
24
- pxelinuxPath: string;
25
22
  releaseId: string;
26
- releaseLike: string;
27
23
  squashfs: string;
28
24
  supportUrl: string;
29
25
  syslinuxPath: string;
@@ -24,12 +24,8 @@ class Distro {
24
24
  familyId;
25
25
  homeUrl;
26
26
  isCalamaresAvailable;
27
- isolinuxPath;
28
27
  liveMediumPath;
29
- memdiskPath;
30
- pxelinuxPath;
31
28
  releaseId;
32
- releaseLike;
33
29
  squashfs;
34
30
  supportUrl;
35
31
  syslinuxPath;
@@ -39,6 +35,7 @@ class Distro {
39
35
  */
40
36
  constructor() {
41
37
  let found = false;
38
+ // Tutti i default sono per Debian
42
39
  this.bugReportUrl = 'https://github.com-pieroproietti/penguins-eggs/issue';
43
40
  this.codenameId = '';
44
41
  this.codenameLikeId = '';
@@ -47,36 +44,12 @@ class Distro {
47
44
  this.familyId = 'debian';
48
45
  this.homeUrl = 'https://penguins-eggs.net';
49
46
  this.isCalamaresAvailable = true;
50
- this.isolinuxPath = '';
51
47
  this.liveMediumPath = '/run/live/medium/';
52
- this.memdiskPath = '';
53
- this.pxelinuxPath = '';
54
48
  this.releaseId = '';
55
- this.releaseLike = '';
56
49
  this.squashfs = 'live/filesystem.squashfs';
57
50
  this.supportUrl = 'https://penguins-eggs.net';
58
- this.syslinuxPath = '';
51
+ this.syslinuxPath = path.resolve(__dirname, `../../syslinux`);
59
52
  this.usrLibPath = '/usr/lib';
60
- const os_release = '/etc/os-release';
61
- if (fs.existsSync(os_release)) {
62
- let lines = [];
63
- if (fs.existsSync(os_release)) {
64
- const data = fs.readFileSync(os_release, 'utf8');
65
- lines = data.split('\n');
66
- }
67
- // per ogni riga
68
- for (const line of lines) {
69
- if (line.startsWith('HOME_URL=')) {
70
- this.homeUrl = line.slice('HOME_URL='.length).replaceAll('"', '');
71
- }
72
- else if (line.startsWith('SUPPORT_URL=')) {
73
- this.supportUrl = line.slice('SUPPORT_URL='.length).replaceAll('"', '');
74
- }
75
- else if (line.startsWith('BUG_REPORT_URL=')) {
76
- this.bugReportUrl = line.slice('BUG_REPORT_URL='.length).replaceAll('"', '');
77
- }
78
- }
79
- }
80
53
  /**
81
54
  * lsb_release -cs per codename (version)
82
55
  * lsb_release -is per distribuzione
@@ -85,25 +58,17 @@ class Distro {
85
58
  this.codenameId = shell.exec('lsb_release -cs', { silent: true }).stdout.toString().trim();
86
59
  this.releaseId = shell.exec('lsb_release -rs', { silent: true }).stdout.toString().trim();
87
60
  this.distroId = shell.exec('lsb_release -is', { silent: true }).stdout.toString().trim();
88
- /**
89
- * releaseLike = releaseId
90
- */
91
- this.releaseLike = this.releaseId;
92
- /**
93
- * Per casi equivoci conviene normalizzare codenameId
94
- * -i, --id show distributor ID
95
- * -r, --release show release number of this distribution
96
- * -c, --codename show code name of this distribution
97
- */
98
- if (this.distroId === 'Debian' && this.releaseId === 'unstable' && this.codenameId === 'sid') {
61
+ if (this.distroId === 'Debian' && this.codenameId === 'sid') {
99
62
  this.codenameId = 'trixie';
100
63
  }
101
- else if (this.distroId === 'Debian' && this.releaseId === 'testing/unstable') {
102
- this.codenameId = 'trixie';
103
- this.releaseLike = 'unstable';
64
+ if (this.distroId.includes('BigLinux')) {
65
+ this.distroId = "BigLinux";
104
66
  }
105
67
  /**
106
- * Analize distroId
68
+ * Per Alpine, Fedora ed OpenSUSE basta distroId,
69
+ * Debian, Devuan, Ubuntu e derivate ricadono in
70
+ * default e si analizza il codebaseId
71
+ *
107
72
  */
108
73
  switch (this.distroId) {
109
74
  /**
@@ -111,6 +76,10 @@ class Distro {
111
76
  */
112
77
  case 'Alpine': {
113
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
114
83
  break;
115
84
  }
116
85
  /**
@@ -119,6 +88,10 @@ class Distro {
119
88
  case 'NobaraLinux':
120
89
  case 'Fedora': {
121
90
  this.familyId = 'fedora';
91
+ this.distroLike = this.distroId;
92
+ this.codenameId = 'rolling'; // viene rimosso dal nome
93
+ this.codenameLikeId = this.familyId; // per krill
94
+ this.liveMediumPath = '/run/initramfs/live/';
122
95
  break;
123
96
  }
124
97
  /**
@@ -126,12 +99,31 @@ class Distro {
126
99
  */
127
100
  case 'openSUSE': {
128
101
  this.familyId = 'opensuse';
102
+ this.distroLike = this.distroId;
103
+ this.codenameId = 'rolling'; // viene rimosso dal nome
104
+ this.codenameLikeId = this.familyId; // per krill
105
+ this.liveMediumPath = '/run/initramfs/live/';
106
+ break;
107
+ }
108
+ /**
109
+ * voidlinux compatible
110
+ */
111
+ case 'VoidLinux': {
112
+ this.familyId = 'voidlinux';
113
+ this.distroLike = this.distroId;
114
+ this.codenameId = 'rolling';
115
+ this.codenameLikeId = this.familyId; // per krill
116
+ this.liveMediumPath = '/run/initramfs/live/'; // we must discover
129
117
  break;
130
118
  }
131
119
  /**
132
- * Arch/Debian/Devuan/Manjaro and Ubuntu
120
+ * Arch/Debian/Devuan and Ubuntu
121
+ * analizzo i codebase conosciuti
133
122
  */
134
123
  default: {
124
+ /**
125
+ * Debian
126
+ */
135
127
  switch (this.codenameId) {
136
128
  case 'jessie': {
137
129
  this.distroLike = 'Debian';
@@ -186,7 +178,7 @@ class Distro {
186
178
  break;
187
179
  }
188
180
  /**
189
- * Ubuntu LTS + actual
181
+ * Ubuntu
190
182
  */
191
183
  case 'bionic': {
192
184
  this.distroLike = 'Ubuntu';
@@ -209,9 +201,7 @@ class Distro {
209
201
  this.codenameLikeId = 'noble';
210
202
  break;
211
203
  }
212
- /**
213
- * Rhino
214
- */
204
+ // rhino
215
205
  case 'devel': {
216
206
  this.distroLike = 'Ubuntu';
217
207
  this.codenameLikeId = 'devel';
@@ -231,7 +221,7 @@ class Distro {
231
221
  break;
232
222
  }
233
223
  /**
234
- * find in derivatives
224
+ * derivatives
235
225
  */
236
226
  default: {
237
227
  /**
@@ -255,107 +245,58 @@ class Distro {
255
245
  }
256
246
  }
257
247
  }
248
+ if (!found) {
249
+ console.log(`This distro ${this.distroId}/${this.codenameId} is not yet recognized!`);
250
+ console.log('');
251
+ console.log('You can edit /usr/lib/penguins-eggs/conf/derivatives.yaml to add it -');
252
+ console.log('after that - run: sudo eggs dad -d to re-configure eggs.');
253
+ console.log('If you can create your new iso, you can contribute to the project');
254
+ console.log('by suggesting your modification.');
255
+ process.exit(0);
256
+ }
258
257
  }
259
258
  }
260
- /**
261
- * setting paths: syslinux, isolinux, usrLibPath
262
- */
263
- switch (this.familyId) {
264
- case 'debian': {
265
- this.isolinuxPath = '/usr/lib/ISOLINUX/';
266
- this.syslinuxPath = '/usr/lib/syslinux/modules/bios/';
267
- this.pxelinuxPath = '/usr/lib/PXELINUX/';
268
- this.memdiskPath = '/usr/lib/syslinux/';
269
- this.usrLibPath = '/usr/lib/' + Utils.usrLibPath();
270
- break;
271
- }
272
- case 'archlinux': {
273
- this.syslinuxPath = '/usr/lib/syslinux/bios/';
274
- this.pxelinuxPath = this.syslinuxPath;
275
- this.usrLibPath = '/usr/lib/';
276
- this.memdiskPath = this.syslinuxPath;
277
- this.isolinuxPath = this.syslinuxPath;
278
- break;
279
- }
280
- } // Fine analisi codenameId
281
259
  }
282
260
  } // Fine analisi distroId
283
261
  /**
284
- * if lsb-release exists
262
+ * Ultimi ritocchi
285
263
  */
286
- const lsbConfig = '/etc/lsb-release';
287
- if (fs.existsSync(lsbConfig)) {
288
- this.distroId = Utils.searchOnFile(lsbConfig, `DISTRIB_ID`);
289
- this.codenameId = Utils.searchOnFile(lsbConfig, `DISTRIB_CODENAME`);
290
- // patch for BigLinux
291
- if (this.distroId.toLowerCase().includes('biglinux')) {
292
- this.distroId = 'biglinux';
293
- }
264
+ /**
265
+ * Debian: /usr/lib/x86_64-linux-gnu
266
+ * /usr/lib/aarch64-linux-gnu
267
+ */
268
+ if (this.familyId === "Debian") {
269
+ this.usrLibPath = '/usr/lib/' + Utils.usrLibPath();
294
270
  }
295
271
  /**
296
- * ManjaroLinux and BigLinux
272
+ * ManjaroLinux e derivate
297
273
  */
298
- if (this.distroId === 'ManjaroLinux' || this.distroId.toLowerCase().includes('biglinux')) {
274
+ if (this.distroId === 'ManjaroLinux' || this.distroId === 'BigLinux') {
299
275
  this.liveMediumPath = '/run/miso/bootmnt/';
300
276
  this.squashfs = 'manjaro/x86_64/livefs.sfs';
301
277
  }
302
278
  /**
303
- * all the distros without codename: Alpine, fedora, opensuse
279
+ * lottura os_release per i pulsanti
304
280
  */
305
- switch (this.familyId) {
306
- case 'alpine': {
307
- this.distroLike = 'Alpine';
308
- this.codenameId = 'rolling'; // questo viene rimosso dal nome
309
- this.codenameLikeId = 'alpine'; // prende alpine come codenaneLikeId
310
- this.liveMediumPath = '/mnt/'; // Qua è deciso da noi
311
- this.syslinuxPath = '/usr/share/syslinux/'; // correct
312
- this.pxelinuxPath = this.syslinuxPath;
313
- this.usrLibPath = '/usr/lib/';
314
- this.memdiskPath = this.syslinuxPath;
315
- this.isolinuxPath = this.syslinuxPath;
316
- // At the moment
317
- this.isCalamaresAvailable = true;
318
- found = true;
319
- break;
320
- }
321
- case 'fedora': {
322
- this.distroLike = 'Fedora';
323
- this.codenameId = 'rolling'; // questo viene rimosso dal nome
324
- this.codenameLikeId = 'fedora';
325
- this.liveMediumPath = '/run/initramfs/live/';
326
- this.syslinuxPath = '/usr/share/syslinux/';
327
- this.pxelinuxPath = this.syslinuxPath;
328
- this.usrLibPath = '/usr/lib/';
329
- this.memdiskPath = this.syslinuxPath;
330
- this.isolinuxPath = this.syslinuxPath;
331
- this.isCalamaresAvailable = true;
332
- found = true;
333
- break;
281
+ const os_release = '/etc/os-release';
282
+ if (fs.existsSync(os_release)) {
283
+ let lines = [];
284
+ if (fs.existsSync(os_release)) {
285
+ const data = fs.readFileSync(os_release, 'utf8');
286
+ lines = data.split('\n');
334
287
  }
335
- case 'opensuse':
336
- {
337
- this.distroLike = 'openSUSE';
338
- this.codenameId = 'rolling';
339
- this.codenameLikeId = 'opensuse';
340
- this.liveMediumPath = '/run/initramfs/live/'; // è il mount della root su cd di installatione
341
- this.syslinuxPath = '/usr/share/syslinux/';
342
- this.pxelinuxPath = this.syslinuxPath;
343
- this.usrLibPath = '/usr/lib/';
344
- this.memdiskPath = this.syslinuxPath;
345
- this.isolinuxPath = this.syslinuxPath;
346
- this.isCalamaresAvailable = true;
347
- found = true;
348
- break;
288
+ // per ogni riga
289
+ for (const line of lines) {
290
+ if (line.startsWith('HOME_URL=')) {
291
+ this.homeUrl = line.slice('HOME_URL='.length).replaceAll('"', '');
292
+ }
293
+ else if (line.startsWith('SUPPORT_URL=')) {
294
+ this.supportUrl = line.slice('SUPPORT_URL='.length).replaceAll('"', '');
349
295
  }
350
- if (!found) {
351
- console.log(`This distro ${this.distroId}/${this.codenameId} is not yet recognized!`);
352
- console.log('');
353
- console.log('You can edit /usr/lib/penguins-eggs/conf/derivatives.yaml to add it -');
354
- console.log('after that - run: sudo eggs dad -d to re-configure eggs.');
355
- console.log('If you can create your new iso, you can contribute to the project');
356
- console.log('by suggesting your modification.');
357
- process.exit(0);
296
+ else if (line.startsWith('BUG_REPORT_URL=')) {
297
+ this.bugReportUrl = line.slice('BUG_REPORT_URL='.length).replaceAll('"', '');
358
298
  }
299
+ }
359
300
  }
360
301
  }
361
302
  }