penguins-eggs 10.0.36 → 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.
- package/.oclif.manifest.json +1 -1
- package/README.md +26 -26
- package/addons/eggs/theme/livecd/{isolinux.main.alpine.cfg → isolinux.main.simple.cfg} +1 -1
- package/dist/classes/distro.js +70 -52
- package/dist/classes/families/opensuse.js +3 -3
- package/dist/classes/locales.d.ts +4 -4
- package/dist/classes/locales.js +33 -36
- package/dist/classes/ovary.d.ts +3 -3
- package/dist/classes/ovary.js +28 -37
- package/dist/classes/pacman.js +37 -0
- package/dist/classes/utils.js +18 -9
- package/dist/krill/modules/m-keyboard.js +1 -1
- package/dracut/README.md +8 -0
- package/manpages/doc/man/eggs.1.gz +0 -0
- package/manpages/doc/man/eggs.html +4 -4
- package/package.json +1 -1
- /package/addons/eggs/theme/livecd/{isolinux.main.original.cfg → isolinux.main.full.cfg} +0 -0
package/.oclif.manifest.json
CHANGED
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.
|
|
494
|
+
_See code: [src/commands/adapt.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
515
|
+
_See code: [src/commands/analyze.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/src/commands/analyze.ts)_
|
|
516
516
|
|
|
517
517
|
## `eggs autocomplete [SHELL]`
|
|
518
518
|
|
|
@@ -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.
|
|
579
|
+
_See code: [src/commands/calamares.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
606
|
+
_See code: [src/commands/config.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
626
|
+
_See code: [src/commands/cuckoo.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
654
|
+
_See code: [src/commands/dad.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
681
|
+
_See code: [src/commands/export/deb.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
706
|
+
_See code: [src/commands/export/iso.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/src/commands/export/iso.ts)_
|
|
707
707
|
|
|
708
708
|
## `eggs help [COMMAND]`
|
|
709
709
|
|
|
@@ -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.
|
|
767
|
+
_See code: [src/commands/install.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
790
|
+
_See code: [src/commands/kill.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
850
|
+
_See code: [src/commands/love.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
870
|
+
_See code: [src/commands/mom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
927
|
+
_See code: [src/commands/produce.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
948
|
+
_See code: [src/commands/status.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
974
|
+
_See code: [src/commands/syncfrom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
1001
|
+
_See code: [src/commands/syncto.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
1023
|
+
_See code: [src/commands/tools/clean.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
1049
|
+
_See code: [src/commands/tools/ppa.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
1073
|
+
_See code: [src/commands/tools/skel.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
1099
|
+
_See code: [src/commands/tools/stat.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
1120
|
+
_See code: [src/commands/tools/yolk.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
1141
|
+
_See code: [src/commands/update.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/src/commands/update.ts)_
|
|
1142
1142
|
|
|
1143
1143
|
## `eggs version`
|
|
1144
1144
|
|
|
@@ -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.
|
|
1187
|
+
_See code: [src/commands/wardrobe/get.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
1216
|
+
_See code: [src/commands/wardrobe/list.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
1246
|
+
_See code: [src/commands/wardrobe/show.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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.
|
|
1277
|
+
_See code: [src/commands/wardrobe/wear.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.37/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
|
package/dist/classes/distro.js
CHANGED
|
@@ -105,58 +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.syslinuxPath = '/usr/share/syslinux/'; // correct
|
|
115
|
-
this.pxelinuxPath = this.syslinuxPath;
|
|
116
|
-
this.usrLibPath = '/usr/lib/';
|
|
117
|
-
this.memdiskPath = this.syslinuxPath;
|
|
118
|
-
this.isolinuxPath = this.syslinuxPath;
|
|
119
|
-
// At the moment
|
|
120
|
-
this.isCalamaresAvailable = true;
|
|
121
113
|
break;
|
|
122
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Fedora compatible
|
|
117
|
+
*/
|
|
118
|
+
case 'NobaraLinux':
|
|
123
119
|
case 'Fedora': {
|
|
124
120
|
this.familyId = 'fedora';
|
|
125
|
-
this.distroLike = 'Fedora';
|
|
126
|
-
this.codenameId = 'rolling'; // questo viene rimosso dal nome
|
|
127
|
-
this.codenameLikeId = 'fedora';
|
|
128
|
-
this.liveMediumPath = '/run/initramfs/live/';
|
|
129
|
-
this.syslinuxPath = '/usr/share/syslinux/';
|
|
130
|
-
this.pxelinuxPath = this.syslinuxPath;
|
|
131
|
-
this.usrLibPath = '/usr/lib/';
|
|
132
|
-
this.memdiskPath = this.syslinuxPath;
|
|
133
|
-
this.isolinuxPath = this.syslinuxPath;
|
|
134
|
-
// At the moment
|
|
135
|
-
this.isCalamaresAvailable = true;
|
|
136
121
|
break;
|
|
137
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* opensuse compatible
|
|
125
|
+
*/
|
|
138
126
|
case 'openSUSE': {
|
|
139
127
|
this.familyId = 'suse';
|
|
140
|
-
this.distroLike = 'openSUSE';
|
|
141
|
-
this.codenameId = 'rolling';
|
|
142
|
-
this.codenameLikeId = 'Tumbleweed';
|
|
143
|
-
this.liveMediumPath = '/run/install/repo/'; // ? è il mount della root su cd di installatione
|
|
144
|
-
this.syslinuxPath = '/usr/share/syslinux/';
|
|
145
|
-
this.pxelinuxPath = this.syslinuxPath;
|
|
146
|
-
this.usrLibPath = '/usr/lib/';
|
|
147
|
-
this.memdiskPath = this.syslinuxPath;
|
|
148
|
-
this.isolinuxPath = this.syslinuxPath;
|
|
149
|
-
// At the moment
|
|
150
|
-
this.isCalamaresAvailable = false;
|
|
151
128
|
break;
|
|
152
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* Arch/Debian/Devuan/Manjaro and Ubuntu
|
|
132
|
+
*/
|
|
153
133
|
default: {
|
|
154
|
-
/**
|
|
155
|
-
* Arch/Debian/Devuan/Manjaro and Ubuntu
|
|
156
|
-
*/
|
|
157
134
|
switch (this.codenameId) {
|
|
158
135
|
case 'jessie': {
|
|
159
|
-
// Debian 8 jessie
|
|
160
136
|
this.distroLike = 'Debian';
|
|
161
137
|
this.codenameLikeId = 'jessie';
|
|
162
138
|
this.liveMediumPath = '/lib/live/mount/medium/';
|
|
@@ -164,7 +140,6 @@ class Distro {
|
|
|
164
140
|
break;
|
|
165
141
|
}
|
|
166
142
|
case 'stretch': {
|
|
167
|
-
// Debian 9 stretch
|
|
168
143
|
this.distroLike = 'Debian';
|
|
169
144
|
this.codenameLikeId = 'stretch';
|
|
170
145
|
this.liveMediumPath = '/lib/live/mount/medium/';
|
|
@@ -172,43 +147,39 @@ class Distro {
|
|
|
172
147
|
break;
|
|
173
148
|
}
|
|
174
149
|
case 'buster': {
|
|
175
|
-
// Debian 10 buster
|
|
176
150
|
this.distroLike = 'Debian';
|
|
177
151
|
this.codenameLikeId = 'buster';
|
|
178
152
|
break;
|
|
179
153
|
}
|
|
180
154
|
case 'bullseye': {
|
|
181
|
-
// Debian 11 bullseye
|
|
182
155
|
this.distroLike = 'Debian';
|
|
183
156
|
this.codenameLikeId = 'bullseye';
|
|
184
157
|
break;
|
|
185
158
|
}
|
|
186
159
|
case 'bookworm': {
|
|
187
|
-
// Debian 12 bookworm
|
|
188
160
|
this.distroLike = 'Debian';
|
|
189
161
|
this.codenameLikeId = 'bookworm';
|
|
190
162
|
break;
|
|
191
163
|
}
|
|
192
164
|
case 'trixie': {
|
|
193
|
-
// Debian 13 trixie
|
|
194
165
|
this.distroLike = 'Debian';
|
|
195
166
|
this.codenameLikeId = 'trixie';
|
|
196
167
|
break;
|
|
197
168
|
}
|
|
169
|
+
/**
|
|
170
|
+
* Devuan
|
|
171
|
+
*/
|
|
198
172
|
case 'beowulf': {
|
|
199
|
-
// Devuab 3 beowulf
|
|
200
173
|
this.distroLike = 'Devuan';
|
|
201
174
|
this.codenameLikeId = 'beowulf';
|
|
202
175
|
break;
|
|
203
176
|
}
|
|
204
177
|
case 'chimaera': {
|
|
205
|
-
// Devuab 4 chimaera
|
|
206
178
|
this.distroLike = 'Devuan';
|
|
207
179
|
this.codenameLikeId = 'chimaera';
|
|
208
180
|
break;
|
|
209
181
|
}
|
|
210
182
|
case 'daedalus': {
|
|
211
|
-
// Devuan 5 daedalus
|
|
212
183
|
this.distroLike = 'Devuan';
|
|
213
184
|
this.codenameLikeId = 'daedalus';
|
|
214
185
|
break;
|
|
@@ -217,38 +188,36 @@ class Distro {
|
|
|
217
188
|
* Ubuntu LTS + actual
|
|
218
189
|
*/
|
|
219
190
|
case 'bionic': {
|
|
220
|
-
// Ubuntu 18.04 bionic LTS eol aprile 2023
|
|
221
191
|
this.distroLike = 'Ubuntu';
|
|
222
192
|
this.codenameLikeId = 'bionic';
|
|
223
193
|
this.liveMediumPath = '/lib/live/mount/medium/';
|
|
224
194
|
break;
|
|
225
195
|
}
|
|
226
196
|
case 'focal': {
|
|
227
|
-
// Ubuntu 20.04 focal LTS
|
|
228
197
|
this.distroLike = 'Ubuntu';
|
|
229
198
|
this.codenameLikeId = 'focal';
|
|
230
199
|
break;
|
|
231
200
|
}
|
|
232
201
|
case 'jammy': {
|
|
233
|
-
// Ubuntu 22.04 jammy LTS
|
|
234
202
|
this.distroLike = 'Ubuntu';
|
|
235
203
|
this.codenameLikeId = 'jammy';
|
|
236
204
|
break;
|
|
237
205
|
}
|
|
238
206
|
case 'noble': {
|
|
239
|
-
// Ubuntu 24.04 noble LTS
|
|
240
207
|
this.distroLike = 'Ubuntu';
|
|
241
208
|
this.codenameLikeId = 'noble';
|
|
242
209
|
break;
|
|
243
210
|
}
|
|
211
|
+
/**
|
|
212
|
+
* Rhino
|
|
213
|
+
*/
|
|
244
214
|
case 'devel': {
|
|
245
|
-
// Ubuntu rhino
|
|
246
215
|
this.distroLike = 'Ubuntu';
|
|
247
216
|
this.codenameLikeId = 'devel';
|
|
248
217
|
break;
|
|
249
218
|
}
|
|
250
219
|
/**
|
|
251
|
-
* Arch
|
|
220
|
+
* Arch
|
|
252
221
|
*/
|
|
253
222
|
case 'Spizaetus':
|
|
254
223
|
case 'n/a':
|
|
@@ -261,6 +230,9 @@ class Distro {
|
|
|
261
230
|
this.squashfs = `arch/x86_64/airootfs.sfs`;
|
|
262
231
|
break;
|
|
263
232
|
}
|
|
233
|
+
/**
|
|
234
|
+
* find in derivatives
|
|
235
|
+
*/
|
|
264
236
|
default: {
|
|
265
237
|
/**
|
|
266
238
|
* patch per Roy VERIFICARE
|
|
@@ -315,9 +287,55 @@ class Distro {
|
|
|
315
287
|
this.isolinuxPath = this.syslinuxPath;
|
|
316
288
|
break;
|
|
317
289
|
}
|
|
318
|
-
// No default
|
|
319
290
|
} // Fine analisi codenameId
|
|
320
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
|
+
}
|
|
321
339
|
}
|
|
322
340
|
/**
|
|
323
341
|
* if lsb-release exists
|
|
@@ -19,9 +19,10 @@ export default class Opensuse {
|
|
|
19
19
|
*
|
|
20
20
|
*/
|
|
21
21
|
static async calamaresInstall(verbose = true) {
|
|
22
|
-
const echo = Utils.setEcho(
|
|
22
|
+
const echo = Utils.setEcho(true);
|
|
23
|
+
console.log("installazione calamares SuSE");
|
|
23
24
|
try {
|
|
24
|
-
await exec(`zypper install
|
|
25
|
+
await exec(`zypper install calamares`, echo);
|
|
25
26
|
}
|
|
26
27
|
catch {
|
|
27
28
|
Utils.error(`Opensuse.calamaresInstall()`);
|
|
@@ -84,7 +85,6 @@ export default class Opensuse {
|
|
|
84
85
|
*/
|
|
85
86
|
static packageIsInstalled(packageName) {
|
|
86
87
|
let installed = false;
|
|
87
|
-
// rpm -qa | grep -i nano
|
|
88
88
|
const cmd = `/usr/bin/zypper search --installed-only ${packageName}`;
|
|
89
89
|
const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
|
|
90
90
|
if (stdout.includes(packageName)) {
|
|
@@ -11,11 +11,11 @@ export default class Locales {
|
|
|
11
11
|
*/
|
|
12
12
|
getDefault(): Promise<string>;
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* getSupported
|
|
15
15
|
*/
|
|
16
|
-
|
|
16
|
+
getSupported(): Promise<string[]>;
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
18
|
+
* getEnabled
|
|
19
19
|
*/
|
|
20
|
-
|
|
20
|
+
getEnabled(): Promise<string[]>;
|
|
21
21
|
}
|
package/dist/classes/locales.js
CHANGED
|
@@ -8,50 +8,22 @@
|
|
|
8
8
|
import fs from 'node:fs';
|
|
9
9
|
import { exec } from '../lib/utils.js';
|
|
10
10
|
import Distro from './distro.js';
|
|
11
|
+
import Utils from './utils.js';
|
|
11
12
|
export default class Locales {
|
|
12
13
|
/**
|
|
13
14
|
*
|
|
14
15
|
*/
|
|
15
16
|
async getDefault() {
|
|
16
|
-
const
|
|
17
|
-
const cmd = `grep LANG < ${file}|cut -f2 -d=`;
|
|
17
|
+
const cmd = `locale|grep LANG|cut -f2 -d=`;
|
|
18
18
|
let defaultLanguage = 'en_US.UTF-8';
|
|
19
|
-
if (fs.existsSync(file)) {
|
|
20
|
-
const result = await exec(cmd, { capture: true, echo: false, ignore: false });
|
|
21
|
-
if (result.code === 0) {
|
|
22
|
-
defaultLanguage = result.data.replaceAll('"', '').replaceAll("'", '').trim();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return defaultLanguage;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
*
|
|
29
|
-
*/
|
|
30
|
-
async getEnabled() {
|
|
31
|
-
const distro = new Distro();
|
|
32
|
-
let cmd = 'localectl list-locales';
|
|
33
|
-
if (distro.familyId === 'alpine') {
|
|
34
|
-
cmd = 'locale -a';
|
|
35
|
-
}
|
|
36
|
-
// Restituisce i locales abilitati in Debian, per manjaro quelli presenti
|
|
37
|
-
// in /etc/locale.gen anche se #disabilitati
|
|
38
|
-
const enabledLocales = [];
|
|
39
19
|
const result = await exec(cmd, { capture: true, echo: false, ignore: false });
|
|
40
20
|
if (result.code === 0) {
|
|
41
|
-
|
|
42
|
-
for (const line of lines) {
|
|
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
|
-
}
|
|
49
|
-
}
|
|
21
|
+
defaultLanguage = result.data.trim();
|
|
50
22
|
}
|
|
51
|
-
return
|
|
23
|
+
return defaultLanguage;
|
|
52
24
|
}
|
|
53
25
|
/**
|
|
54
|
-
*
|
|
26
|
+
* getSupported
|
|
55
27
|
*/
|
|
56
28
|
async getSupported() {
|
|
57
29
|
const distro = new Distro();
|
|
@@ -61,15 +33,22 @@ export default class Locales {
|
|
|
61
33
|
supporteds = await this.getEnabled();
|
|
62
34
|
break;
|
|
63
35
|
}
|
|
36
|
+
case 'archlinux': {
|
|
37
|
+
supporteds = await this.getEnabled();
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
64
40
|
case 'debian': {
|
|
65
41
|
supporteds = fs.readFileSync('/usr/share/i18n/SUPPORTED', 'utf8').split('\n');
|
|
66
42
|
break;
|
|
67
43
|
}
|
|
68
|
-
case '
|
|
69
|
-
supporteds =
|
|
44
|
+
case 'fedora': {
|
|
45
|
+
supporteds = await this.getEnabled();
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
case 'suse': {
|
|
49
|
+
supporteds = await this.getEnabled();
|
|
70
50
|
break;
|
|
71
51
|
}
|
|
72
|
-
// No default
|
|
73
52
|
}
|
|
74
53
|
const elements = [];
|
|
75
54
|
for (const elem of supporteds) {
|
|
@@ -77,4 +56,22 @@ export default class Locales {
|
|
|
77
56
|
}
|
|
78
57
|
return elements;
|
|
79
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* getEnabled
|
|
61
|
+
*/
|
|
62
|
+
async getEnabled() {
|
|
63
|
+
let cmd = "locale -a";
|
|
64
|
+
if (Utils.isSystemd()) {
|
|
65
|
+
cmd = "localectl list-locales";
|
|
66
|
+
}
|
|
67
|
+
const enabledLocales = [];
|
|
68
|
+
const result = await exec(cmd, { capture: true, echo: false, ignore: false });
|
|
69
|
+
if (result.code === 0) {
|
|
70
|
+
const lines = result.data.split('\n');
|
|
71
|
+
for (const line of lines) {
|
|
72
|
+
enabledLocales.push(line.trim());
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return enabledLocales;
|
|
76
|
+
}
|
|
80
77
|
}
|
package/dist/classes/ovary.d.ts
CHANGED
|
@@ -126,6 +126,9 @@ export default class Ovary {
|
|
|
126
126
|
* makeDotDisk
|
|
127
127
|
*/
|
|
128
128
|
makeDotDisk(info?: string, mksquashfs?: string, mkisofs?: string): void;
|
|
129
|
+
/**
|
|
130
|
+
* makeEFI
|
|
131
|
+
*/
|
|
129
132
|
makeEfi(theme?: string): Promise<void>;
|
|
130
133
|
/**
|
|
131
134
|
* makeIso
|
|
@@ -177,9 +180,6 @@ export default class Ovary {
|
|
|
177
180
|
* syslinux
|
|
178
181
|
*/
|
|
179
182
|
syslinux(): Promise<void>;
|
|
180
|
-
/**
|
|
181
|
-
* makeEfi
|
|
182
|
-
*/
|
|
183
183
|
/**
|
|
184
184
|
*
|
|
185
185
|
* @param cmd
|
package/dist/classes/ovary.js
CHANGED
|
@@ -199,7 +199,7 @@ export default class Ovary {
|
|
|
199
199
|
});
|
|
200
200
|
const users = result.data.split('\n');
|
|
201
201
|
let deluser = 'deluser';
|
|
202
|
-
if (this.familyId === 'archlinux' || this.familyId === 'fedora') {
|
|
202
|
+
if (this.familyId === 'archlinux' || this.familyId === 'fedora' || this.familyId === 'suse') {
|
|
203
203
|
deluser = 'userdel';
|
|
204
204
|
}
|
|
205
205
|
for (let i = 0; i < users.length - 1; i++) {
|
|
@@ -710,7 +710,6 @@ export default class Ovary {
|
|
|
710
710
|
* initrdAlpine()
|
|
711
711
|
*/
|
|
712
712
|
async initrdAlpine() {
|
|
713
|
-
Utils.warning(`creating ${path.basename(this.settings.initrdImg)} Alpine on ISO/live`);
|
|
714
713
|
Utils.warning(`creating ${path.basename(this.settings.initrdImg)} Alpine on ISO/live`);
|
|
715
714
|
const sidecar = path.resolve(__dirname, `../../mkinitfs/initramfs-init.in`);
|
|
716
715
|
Utils.warning(`Adding ${sidecar} to /usr/share/mkinitfs/initramfs-init`);
|
|
@@ -719,6 +718,12 @@ export default class Ovary {
|
|
|
719
718
|
initrdImg = initrdImg.slice(Math.max(0, initrdImg.lastIndexOf('/') + 1));
|
|
720
719
|
const pathConf = path.resolve(__dirname, `../../mkinitfs/live.conf`);
|
|
721
720
|
await exec(`mkinitfs -c ${pathConf} -o ${this.settings.iso_work}live/${initrdImg}`, Utils.setEcho(true));
|
|
721
|
+
/** tempt for dracut
|
|
722
|
+
const kernelVersion = shx.exec('uname -r', { silent: true }).stdout.trim()
|
|
723
|
+
const conf = path.resolve(__dirname, `../../dracut/dracut.conf`)
|
|
724
|
+
const confdir = path.resolve(__dirname, `../../dracut/dracut.conf.d`)
|
|
725
|
+
await exec(`dracut --confdir ${confdir} ${this.settings.iso_work}live/${this.settings.initrdImg}`, Utils.setEcho(true))
|
|
726
|
+
*/
|
|
722
727
|
}
|
|
723
728
|
/**
|
|
724
729
|
* initrdArch()
|
|
@@ -764,7 +769,7 @@ export default class Ovary {
|
|
|
764
769
|
const kernelVersion = shx.exec('uname -r', { silent: true }).stdout.trim();
|
|
765
770
|
const conf = path.resolve(__dirname, `../../dracut/dracut.conf`);
|
|
766
771
|
const confdir = path.resolve(__dirname, `../../dracut/dracut.conf.d`);
|
|
767
|
-
await exec(`dracut --
|
|
772
|
+
await exec(`dracut --confdir ${confdir} ${this.settings.iso_work}live/${this.settings.initrdImg}`, Utils.setEcho(true));
|
|
768
773
|
}
|
|
769
774
|
/**
|
|
770
775
|
* initrdSuse()
|
|
@@ -774,15 +779,12 @@ export default class Ovary {
|
|
|
774
779
|
const kernelVersion = shx.exec('uname -r', { silent: true }).stdout.trim();
|
|
775
780
|
const conf = path.resolve(__dirname, `../../dracut/dracut.conf`);
|
|
776
781
|
const confdir = path.resolve(__dirname, `../../dracut/dracut.conf.d`);
|
|
777
|
-
await exec(`dracut --
|
|
782
|
+
await exec(`dracut --confdir ${confdir} ${this.settings.iso_work}live/${this.settings.initrdImg}`, Utils.setEcho(true));
|
|
778
783
|
}
|
|
779
784
|
/**
|
|
780
785
|
* async isolinux
|
|
781
786
|
*/
|
|
782
787
|
async isolinux(theme = 'eggs') {
|
|
783
|
-
if (this.verbose) {
|
|
784
|
-
console.log('Ovary: isolinux');
|
|
785
|
-
}
|
|
786
788
|
/**
|
|
787
789
|
* isolinux.bin
|
|
788
790
|
*/
|
|
@@ -862,26 +864,29 @@ export default class Ovary {
|
|
|
862
864
|
* @returns kernelParameters
|
|
863
865
|
*/
|
|
864
866
|
kernelParameters() {
|
|
865
|
-
if (this.verbose) {
|
|
866
|
-
console.log('Ovary: kernelParameters');
|
|
867
|
-
}
|
|
868
867
|
// GRUB_CMDLINE_LINUX='ipv6.disable=1'
|
|
869
868
|
const { distroId } = this.settings.distro;
|
|
870
869
|
let kp = "";
|
|
871
|
-
if (this.familyId === '
|
|
872
|
-
kp += `
|
|
870
|
+
if (this.familyId === 'alpine') {
|
|
871
|
+
kp += `alpinelivelabel=${this.volid} alpinelivesquashfs=/mnt/live/filesystem.squashfs`;
|
|
872
|
+
/**
|
|
873
|
+
* tempt for dracut
|
|
874
|
+
* kp += `root=live:CDLABEL=${this.volid} rd.live.image rd.live.dir=/live rd.live.squashimg=filesystem.squashfs`
|
|
875
|
+
*/
|
|
873
876
|
}
|
|
874
877
|
else if (this.familyId === 'archlinux') {
|
|
875
878
|
kp += `boot=live components locales=${process.env.LANG}`;
|
|
876
879
|
kp += isMiso(distroId) ? ` misobasedir=manjaro misolabel=${this.volid}` : ` archisobasedir=arch archisolabel=${this.volid}`;
|
|
877
880
|
}
|
|
881
|
+
else if (this.familyId === 'debian') {
|
|
882
|
+
kp += `boot=live components locales=${process.env.LANG} cow_spacesize=2G`;
|
|
883
|
+
}
|
|
878
884
|
else if (this.familyId === 'fedora') {
|
|
879
885
|
kp += `root=live:CDLABEL=${this.volid} rd.live.image rd.live.dir=/live rd.live.squashimg=filesystem.squashfs selinux=0`; // rd.shell rd.debug log_buf_len=1M
|
|
880
886
|
}
|
|
881
|
-
else if (this.familyId === '
|
|
882
|
-
kp += `
|
|
887
|
+
else if (this.familyId === 'suse') {
|
|
888
|
+
kp += `root=live:CDLABEL=${this.volid} rd.live.image rd.live.dir=/live rd.live.squashimg=filesystem.squashfs`;
|
|
883
889
|
}
|
|
884
|
-
kp += ` cow_spacesize=2G`;
|
|
885
890
|
return kp;
|
|
886
891
|
}
|
|
887
892
|
/**
|
|
@@ -963,7 +968,9 @@ export default class Ovary {
|
|
|
963
968
|
// .disk/mkisofs
|
|
964
969
|
fs.writeFileSync(dotDisk + '/mkisofs', text + mkisofs, 'utf-8');
|
|
965
970
|
}
|
|
966
|
-
|
|
971
|
+
/**
|
|
972
|
+
* makeEFI
|
|
973
|
+
*/
|
|
967
974
|
async makeEfi(theme = 'eggs') {
|
|
968
975
|
if (this.verbose) {
|
|
969
976
|
console.log('Ovary: makeEfi');
|
|
@@ -1148,8 +1155,6 @@ export default class Ovary {
|
|
|
1148
1155
|
* loopback.cfg
|
|
1149
1156
|
*/
|
|
1150
1157
|
fs.writeFileSync(`${isoDir}/boot/grub/loopback.cfg`, 'source /boot/grub/grub.cfg\n');
|
|
1151
|
-
// console.log('end makeEfi')
|
|
1152
|
-
// process.exit()
|
|
1153
1158
|
}
|
|
1154
1159
|
/**
|
|
1155
1160
|
* makeIso
|
|
@@ -1592,26 +1597,15 @@ export default class Ovary {
|
|
|
1592
1597
|
* syslinux
|
|
1593
1598
|
*/
|
|
1594
1599
|
async syslinux() {
|
|
1595
|
-
if (this.verbose) {
|
|
1596
|
-
console.log('Ovary: syslinux');
|
|
1597
|
-
}
|
|
1598
1600
|
await exec(`cp ${this.settings.distro.syslinuxPath}/vesamenu.c32 ${this.settings.iso_work}/isolinux/`, this.echo);
|
|
1599
1601
|
await exec(`cp ${this.settings.distro.syslinuxPath}/chain.c32 ${this.settings.iso_work}/isolinux/`, this.echo);
|
|
1600
1602
|
/**
|
|
1601
|
-
*
|
|
1602
|
-
* quale pacchetto installi:
|
|
1603
|
-
* ldllinux.c43, libcom32 e libutil.c32
|
|
1603
|
+
* OpenSuSE: ldllinux.c32, libcom32 e libutil.c32 not exists!
|
|
1604
1604
|
*/
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
await exec(`cp ${this.settings.distro.syslinuxPath}/libutil.c32 ${this.settings.iso_work}/isolinux/`, this.echo);
|
|
1609
|
-
}
|
|
1605
|
+
await exec(`cp ${this.settings.distro.syslinuxPath}/ldlinux.c32 ${this.settings.iso_work}/isolinux/`, this.echo);
|
|
1606
|
+
await exec(`cp ${this.settings.distro.syslinuxPath}/libcom32.c32 ${this.settings.iso_work}/isolinux/`, this.echo);
|
|
1607
|
+
await exec(`cp ${this.settings.distro.syslinuxPath}/libutil.c32 ${this.settings.iso_work}/isolinux/`, this.echo);
|
|
1610
1608
|
}
|
|
1611
|
-
// #######################################################################################
|
|
1612
|
-
/**
|
|
1613
|
-
* makeEfi
|
|
1614
|
-
*/
|
|
1615
1609
|
/**
|
|
1616
1610
|
*
|
|
1617
1611
|
* @param cmd
|
|
@@ -1628,7 +1622,6 @@ export default class Ovary {
|
|
|
1628
1622
|
await Utils.pressKeyToExit(cmd);
|
|
1629
1623
|
}
|
|
1630
1624
|
}
|
|
1631
|
-
// #######################################################################################
|
|
1632
1625
|
/**
|
|
1633
1626
|
* ubind del fs live
|
|
1634
1627
|
* @param verbose
|
|
@@ -1876,9 +1869,7 @@ function isMiso(distro) {
|
|
|
1876
1869
|
return found;
|
|
1877
1870
|
}
|
|
1878
1871
|
/**
|
|
1879
|
-
* se non zuppa, pan bagnato
|
|
1880
|
-
* @param distro
|
|
1881
|
-
* @returns
|
|
1872
|
+
* isArchiso: se non zuppa, pan bagnato
|
|
1882
1873
|
*/
|
|
1883
1874
|
function isArchiso(distro) {
|
|
1884
1875
|
return !isMiso(distro);
|
package/dist/classes/pacman.js
CHANGED
|
@@ -16,6 +16,7 @@ import Alpine from './families/alpine.js';
|
|
|
16
16
|
import Archlinux from './families/archlinux.js';
|
|
17
17
|
import Debian from './families/debian.js';
|
|
18
18
|
import Fedora from './families/fedora.js';
|
|
19
|
+
import Opensuse from './families/opensuse.js';
|
|
19
20
|
import Settings from './settings.js';
|
|
20
21
|
import Utils from './utils.js';
|
|
21
22
|
const __dirname = path.dirname(new URL(import.meta.url).pathname);
|
|
@@ -82,6 +83,9 @@ export default class Pacman {
|
|
|
82
83
|
else if (this.distro().familyId === 'alpine') {
|
|
83
84
|
await Alpine.calamaresInstall(verbose);
|
|
84
85
|
}
|
|
86
|
+
else if (this.distro().familyId === 'suse') {
|
|
87
|
+
await Opensuse.calamaresInstall(verbose);
|
|
88
|
+
}
|
|
85
89
|
// remove others calamares links
|
|
86
90
|
await exec('rm -f /usr/share/applications/calamares-eggs-debugging.desktop');
|
|
87
91
|
await exec('rm -f /usr/share/applications/calamares-eggs.desktop');
|
|
@@ -113,6 +117,9 @@ export default class Pacman {
|
|
|
113
117
|
else if (this.distro().familyId === 'alpine') {
|
|
114
118
|
retVal = await Alpine.calamaresRemove(verbose);
|
|
115
119
|
}
|
|
120
|
+
else if (this.distro().familyId === 'suse') {
|
|
121
|
+
retVal = await Opensuse.calamaresRemove(verbose);
|
|
122
|
+
}
|
|
116
123
|
return retVal;
|
|
117
124
|
}
|
|
118
125
|
/**
|
|
@@ -457,6 +464,14 @@ export default class Pacman {
|
|
|
457
464
|
const dest = '/etc/penguins-eggs.d/distros/alpine/';
|
|
458
465
|
const alpine = `${rootPen}/conf/distros/alpine/`;
|
|
459
466
|
await exec(`cp -r ${alpine}/calamares ${dest}/calamares`, echo);
|
|
467
|
+
/***********************************************************************************
|
|
468
|
+
* opensuse
|
|
469
|
+
**********************************************************************************/
|
|
470
|
+
}
|
|
471
|
+
else if (this.distro().codenameLikeId === 'suse') {
|
|
472
|
+
const dest = '/etc/penguins-eggs.d/distros/suse/';
|
|
473
|
+
const suse = `${rootPen}/conf/distros/suse/*`;
|
|
474
|
+
await exec(`cp -r ${suse} ${dest}`, echo);
|
|
460
475
|
}
|
|
461
476
|
}
|
|
462
477
|
/**
|
|
@@ -503,6 +518,11 @@ export default class Pacman {
|
|
|
503
518
|
installed = true;
|
|
504
519
|
}
|
|
505
520
|
}
|
|
521
|
+
else if (this.distro().familyId === 'suse') {
|
|
522
|
+
if (Opensuse.packageIsInstalled('wayland')) {
|
|
523
|
+
installed = true;
|
|
524
|
+
}
|
|
525
|
+
}
|
|
506
526
|
return installed;
|
|
507
527
|
}
|
|
508
528
|
/**
|
|
@@ -531,6 +551,11 @@ export default class Pacman {
|
|
|
531
551
|
installed = true;
|
|
532
552
|
}
|
|
533
553
|
}
|
|
554
|
+
else if (this.distro().familyId === 'suse') {
|
|
555
|
+
if (Opensuse.packageIsInstalled('xorg-x11-server')) {
|
|
556
|
+
installed = true;
|
|
557
|
+
}
|
|
558
|
+
}
|
|
534
559
|
return installed;
|
|
535
560
|
}
|
|
536
561
|
/**
|
|
@@ -577,6 +602,9 @@ export default class Pacman {
|
|
|
577
602
|
else if (Pacman.distro().familyId === 'alpine') {
|
|
578
603
|
isUefi = true;
|
|
579
604
|
}
|
|
605
|
+
else if (Pacman.distro().familyId === 'suse') {
|
|
606
|
+
isUefi = true;
|
|
607
|
+
}
|
|
580
608
|
return isUefi;
|
|
581
609
|
}
|
|
582
610
|
/**
|
|
@@ -641,6 +669,9 @@ export default class Pacman {
|
|
|
641
669
|
else if (this.distro().familyId === 'alpine') {
|
|
642
670
|
retVal = await Alpine.packageInstall(packageName);
|
|
643
671
|
}
|
|
672
|
+
else if (this.distro().familyId === 'suse') {
|
|
673
|
+
retVal = await Opensuse.packageInstall(packageName);
|
|
674
|
+
}
|
|
644
675
|
return retVal;
|
|
645
676
|
}
|
|
646
677
|
/**
|
|
@@ -661,6 +692,9 @@ export default class Pacman {
|
|
|
661
692
|
else if (this.distro().familyId === 'alpine') {
|
|
662
693
|
installed = Alpine.packageIsInstalled(packageName);
|
|
663
694
|
}
|
|
695
|
+
else if (this.distro().familyId === 'suse') {
|
|
696
|
+
installed = Opensuse.packageIsInstalled(packageName);
|
|
697
|
+
}
|
|
664
698
|
return installed;
|
|
665
699
|
}
|
|
666
700
|
static async packageNpmLast(packageNpm = 'penguins-eggs') {
|
|
@@ -690,6 +724,9 @@ export default class Pacman {
|
|
|
690
724
|
else if (this.distro().familyId === 'alpine') {
|
|
691
725
|
grubInstalled = 'grub';
|
|
692
726
|
}
|
|
727
|
+
else if (this.distro().familyId === 'suse') {
|
|
728
|
+
grubInstalled = 'grub'; //controllare
|
|
729
|
+
}
|
|
693
730
|
return grubInstalled;
|
|
694
731
|
}
|
|
695
732
|
}
|
package/dist/classes/utils.js
CHANGED
|
@@ -188,32 +188,41 @@ export default class Utils {
|
|
|
188
188
|
* ricava path per initrdImg
|
|
189
189
|
*/
|
|
190
190
|
static initrdImg() {
|
|
191
|
-
let separator = "-";
|
|
192
191
|
const vmlinuz = Utils.vmlinuz();
|
|
193
192
|
const path = vmlinuz.substring(0, vmlinuz.lastIndexOf('/')) + '/';
|
|
194
|
-
let initrd = '
|
|
195
|
-
let
|
|
193
|
+
let initrd = '';
|
|
194
|
+
let separator = '';
|
|
195
|
+
let version = '';
|
|
196
196
|
let suffix = '';
|
|
197
197
|
let distro = new Distro();
|
|
198
|
-
if (distro.familyId === '
|
|
199
|
-
|
|
198
|
+
if (distro.familyId === 'alpine') {
|
|
199
|
+
initrd = 'initramfs';
|
|
200
|
+
separator = '-';
|
|
201
|
+
version = 'lts';
|
|
200
202
|
}
|
|
201
203
|
else if (distro.familyId === 'archlinux') {
|
|
202
204
|
initrd = 'initramfs';
|
|
205
|
+
separator = '-';
|
|
206
|
+
version = 'linux';
|
|
203
207
|
suffix = '.img';
|
|
204
208
|
}
|
|
209
|
+
else if (distro.familyId === 'debian') {
|
|
210
|
+
initrd = 'initrd.img';
|
|
211
|
+
separator = "-";
|
|
212
|
+
version = vmlinuz.substring(vmlinuz.indexOf('-') + 1);
|
|
213
|
+
}
|
|
205
214
|
else if (distro.familyId === 'fedora') {
|
|
206
215
|
initrd = 'initramfs';
|
|
207
216
|
separator = '-';
|
|
208
217
|
version = vmlinuz.substring(vmlinuz.indexOf('-') + 1);
|
|
209
218
|
suffix = '.img';
|
|
210
219
|
}
|
|
211
|
-
else if (distro.familyId === '
|
|
212
|
-
initrd = '
|
|
220
|
+
else if (distro.familyId === 'suse') {
|
|
221
|
+
initrd = 'initrd';
|
|
213
222
|
separator = '-';
|
|
214
|
-
version = '
|
|
215
|
-
suffix = '';
|
|
223
|
+
version = vmlinuz.substring(vmlinuz.indexOf('-') + 1);
|
|
216
224
|
}
|
|
225
|
+
// manjaro eredita da arch
|
|
217
226
|
if (distro.distroId === 'Manjaro') {
|
|
218
227
|
version = vmlinuz.substring(vmlinuz.indexOf('-') + 1);
|
|
219
228
|
}
|
|
@@ -19,7 +19,7 @@ export default async function mKeyboard() {
|
|
|
19
19
|
* - /etc/X11/xorg.conf.d/00-keyboard.conf
|
|
20
20
|
* - /ext/vconsole.conf (non systemd)
|
|
21
21
|
*/
|
|
22
|
-
if (this.distro.familyId === 'archlinux' || this.distro.familyId === 'debian') {
|
|
22
|
+
if (this.distro.familyId === 'archlinux' || this.distro.familyId === 'debian' || this.distro.familyId === 'fedora') {
|
|
23
23
|
let cmd = '';
|
|
24
24
|
let content = '';
|
|
25
25
|
if (Utils.isSystemd()) {
|
package/dracut/README.md
CHANGED
|
Binary file
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
7
7
|
</head>
|
|
8
8
|
<body>
|
|
9
|
-
<h1>eggs(1) -- the reproductive system of penguins: eggs v10.0.
|
|
9
|
+
<h1>eggs(1) -- the reproductive system of penguins: eggs v10.0.37</h1>
|
|
10
10
|
<h1>SYNOPSIS</h1>
|
|
11
11
|
<p>eggs is a console utility, in active development, who let you to remaster your system and redistribuite it as live ISO image.</p>
|
|
12
12
|
<h1>INSTALL</h1>
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
</code></pre>
|
|
16
16
|
<p>Arch</p>
|
|
17
17
|
<pre><code>$ sudo pacman -S penguins-eggs
|
|
18
|
-
$ sudo pacman -U penguins-eggs_10.0.
|
|
18
|
+
$ sudo pacman -U penguins-eggs_10.0.37-1_amd64-1-x86_64.pkg.tar.zst
|
|
19
19
|
</code></pre>
|
|
20
20
|
<p>Debian/Devuan/Ubuntu</p>
|
|
21
21
|
<pre><code>$ sudo apt install penguins-eggs
|
|
22
|
-
$ sudo dpkg -i penguins-eggs_10.0.
|
|
22
|
+
$ sudo dpkg -i penguins-eggs_10.0.37-1_amd64.deb
|
|
23
23
|
</code></pre>
|
|
24
24
|
<p>Manjaro</p>
|
|
25
25
|
<pre><code>$ sudo pamac install penguins-eggs
|
|
@@ -27,7 +27,7 @@ $ sudo dpkg -i penguins-eggs_10.0.36-1_amd64.deb
|
|
|
27
27
|
<h1>USAGE</h1>
|
|
28
28
|
<pre><code>$ eggs (-v|--version|version)
|
|
29
29
|
|
|
30
|
-
penguins-eggs/10.0.
|
|
30
|
+
penguins-eggs/10.0.37
|
|
31
31
|
$ eggs --help [COMMAND]
|
|
32
32
|
|
|
33
33
|
USAGE
|
package/package.json
CHANGED
|
File without changes
|