penguins-eggs 9.0.16 → 9.0.35

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 (85) hide show
  1. package/README.md +49 -27
  2. package/addons/{blissos → telos}/theme/applications/install-debian.desktop +0 -0
  3. package/addons/{blissos → telos}/theme/artwork/install-debian.png +0 -0
  4. package/addons/telos/theme/calamares/branding/banner.png +0 -0
  5. package/addons/telos/theme/calamares/branding/branding.desc +25 -0
  6. package/addons/telos/theme/calamares/branding/show.qml +51 -0
  7. package/addons/telos/theme/calamares/branding/slide1.png +0 -0
  8. package/addons/telos/theme/calamares/branding/telos-logo.png +0 -0
  9. package/addons/telos/theme/calamares/branding/welcome.png +0 -0
  10. package/addons/{blissos → telos}/theme/calamares/modules/partition.yml +0 -0
  11. package/addons/{blissos → telos}/theme/livecd/grub.theme.cfg +1 -1
  12. package/addons/{blissos → telos}/theme/livecd/isolinux.theme.cfg +1 -1
  13. package/addons/telos/theme/livecd/splash.png +0 -0
  14. package/addons/templates/grub.template +2 -0
  15. package/addons/waydroid/theme/applications/install-debian.desktop +28 -0
  16. package/addons/waydroid/theme/artwork/install-debian.png +0 -0
  17. package/addons/{blissos → waydroid}/theme/calamares/branding/branding.desc +0 -0
  18. package/addons/{blissos → waydroid}/theme/calamares/branding/languages.png +0 -0
  19. package/addons/{blissos → waydroid}/theme/calamares/branding/show.qml +0 -0
  20. package/addons/{blissos → waydroid}/theme/calamares/branding/slide1.png +0 -0
  21. package/addons/{blissos → waydroid}/theme/calamares/branding/slide2.png +0 -0
  22. package/addons/{blissos → waydroid}/theme/calamares/branding/slide3.png +0 -0
  23. package/addons/{blissos/theme/calamares/branding/blissos-logo.png → waydroid/theme/calamares/branding/waydroid-logo.png} +0 -0
  24. package/addons/{blissos → waydroid}/theme/calamares/branding/welcome.png +0 -0
  25. package/addons/waydroid/theme/calamares/modules/partition.yml +233 -0
  26. package/addons/waydroid/theme/livecd/grub.theme.cfg +43 -0
  27. package/addons/waydroid/theme/livecd/isolinux.theme.cfg +45 -0
  28. package/addons/{blissos → waydroid}/theme/livecd/splash.png +0 -0
  29. package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +57 -38
  30. package/lib/classes/daddy.js +7 -7
  31. package/lib/classes/distro.d.ts +4 -2
  32. package/lib/classes/distro.js +60 -76
  33. package/lib/classes/family/debian.js +2 -2
  34. package/lib/classes/i18n.js +2 -2
  35. package/lib/classes/incubation/fisherman-helper/packages.js +1 -1
  36. package/lib/classes/incubation/incubator.js +6 -1
  37. package/lib/classes/incubation/installer.d.ts +1 -1
  38. package/lib/classes/incubation/installer.js +2 -2
  39. package/lib/classes/krill_install.d.ts +56 -26
  40. package/lib/classes/krill_install.js +598 -357
  41. package/lib/classes/krill_prepare.d.ts +7 -3
  42. package/lib/classes/krill_prepare.js +62 -22
  43. package/lib/classes/ovary.d.ts +27 -27
  44. package/lib/classes/ovary.js +344 -370
  45. package/lib/classes/pacman.d.ts +1 -1
  46. package/lib/classes/pacman.js +21 -21
  47. package/lib/classes/pve-live.js +10 -14
  48. package/lib/classes/systemctl.d.ts +36 -7
  49. package/lib/classes/systemctl.js +63 -28
  50. package/lib/classes/utils.d.ts +14 -3
  51. package/lib/classes/utils.js +66 -19
  52. package/lib/classes/xdg.js +18 -34
  53. package/lib/classes/yolk.d.ts +12 -10
  54. package/lib/classes/yolk.js +50 -52
  55. package/lib/commands/install.d.ts +1 -0
  56. package/lib/commands/install.js +14 -3
  57. package/lib/commands/kill.js +1 -1
  58. package/lib/commands/produce.js +4 -4
  59. package/lib/commands/syncfrom.d.ts +9 -3
  60. package/lib/commands/syncfrom.js +38 -31
  61. package/lib/commands/syncto.d.ts +26 -6
  62. package/lib/commands/syncto.js +71 -48
  63. package/lib/components/elements/information.js +31 -12
  64. package/lib/components/partitions.d.ts +1 -2
  65. package/lib/components/partitions.js +1 -4
  66. package/lib/interfaces/i-devices.d.ts +1 -0
  67. package/lib/interfaces/i-distro.d.ts +4 -2
  68. package/lib/interfaces/i-installer.d.ts +1 -1
  69. package/lib/interfaces/i-krill.d.ts +0 -1
  70. package/lib/lib/cli-autologin.js +8 -3
  71. package/lib/lib/select_installation_device.js +1 -0
  72. package/lib/lib/select_installation_mode.js +1 -1
  73. package/manpages/doc/man/eggs.html +65 -6
  74. package/oclif.manifest.json +1 -1
  75. package/package.json +14 -13
  76. package/scripts/_eggs +9 -8
  77. package/scripts/bros/waydroid-helper.sh +1 -1
  78. package/scripts/eggs.bash +3 -3
  79. package/scripts/{not-used/install-eggs-ppa.sh → install-eggs-ppa.sh} +1 -0
  80. package/scripts/mom-cli.sh +1 -1
  81. package/scripts/{not-used/pve-live.sh → pve-live.sh} +2 -6
  82. package/scripts/userexist.sh +6 -0
  83. package/scripts/not-used/eggs-cleanup.sh +0 -7
  84. package/scripts/not-used/mkinitramfs +0 -469
  85. package/scripts/update-initramfs +0 -94
@@ -60,7 +60,7 @@ function tryInstall(distro) {
60
60
  // Pacchetti da installare sempre
61
61
  text += ` - hunspell-${lang}\n`;
62
62
  // Pacchetti da installare a seconda della distribuzione
63
- if (distro.versionLike === 'focal' || distro.versionLike === 'bionic') {
63
+ if (distro.codenameLikeId === 'focal' || distro.codenameLikeId === 'bionic') {
64
64
  text += ` - language-pack-${lang}\n`;
65
65
  }
66
66
  // Pacchetti da installare se sono presenti
@@ -48,7 +48,7 @@ class Incubator {
48
48
  const echo = utils_1.default.setEcho(verbose);
49
49
  this.createInstallerDirs();
50
50
  // DEBIAN
51
- switch (this.distro.versionLike) {
51
+ switch (this.distro.codenameLikeId) {
52
52
  case 'jessie': {
53
53
  const jessie = new jessie_1.Jessie(this.installer, this.remix, this.distro, release, this.user_opt, this.verbose);
54
54
  await jessie.create();
@@ -59,6 +59,11 @@ class Incubator {
59
59
  await stretch.create();
60
60
  break;
61
61
  }
62
+ case 'buster': {
63
+ const buster = new buster_1.Buster(this.installer, this.remix, this.distro, release, this.user_opt, this.verbose);
64
+ await buster.create();
65
+ break;
66
+ }
62
67
  case 'bullseye': {
63
68
  const bullseye = new buster_1.Buster(this.installer, this.remix, this.distro, release, this.user_opt, this.verbose);
64
69
  await bullseye.create();
@@ -6,7 +6,7 @@
6
6
  * modules = configuration + 'modules/'
7
7
  * modulesMultiarch = '/usr/lib/' + arch-linux-gnu + '/' + installer + '/'
8
8
  *
9
- * template = '/etc/penguins-eggs/' + .distro.versionLike + '/' + installer + '/'
9
+ * template = '/etc/penguins-eggs/' + .distro.codenameLikeId + '/' + installer + '/'
10
10
  * templateModules = template + '/modules/'
11
11
  * templateMultiarch = template + installer + '-modules/'
12
12
  *
@@ -24,12 +24,12 @@ function installer() {
24
24
  const remix = {};
25
25
  const distro = new distro_1.default(remix);
26
26
  if (distro.isCalamaresAvailable) {
27
- installer.template = '/etc/penguins-eggs.d/distros/' + distro.versionLike + '/calamares/';
27
+ installer.template = '/etc/penguins-eggs.d/distros/' + distro.codenameLikeId + '/calamares/';
28
28
  installer.templateModules = installer.template + 'modules/';
29
29
  installer.templateMultiarch = installer.template + 'calamares-modules/';
30
30
  }
31
31
  else {
32
- installer.template = '/etc/penguins-eggs.d/distros/' + distro.versionLike + '/krill/';
32
+ installer.template = '/etc/penguins-eggs.d/distros/' + distro.codenameLikeId + '/krill/';
33
33
  installer.templateModules = installer.template + 'modules/';
34
34
  installer.templateMultiarch = installer.template + 'krill-modules/';
35
35
  }
@@ -1,38 +1,40 @@
1
1
  /**
2
- * penguins-eggs: hatching.js
2
+ * penguins-eggs: krill_install
3
3
  *
4
4
  * author: Piero Proietti
5
5
  * mail: piero.proietti@gmail.com
6
6
  *
7
7
  */
8
8
  /**
9
- * Ideally, I want to respect this schema
10
- - partition
11
- - mount
12
- - unpackfs
13
- - sources-yolk
14
- - machineid // to do
15
- - fstab
9
+ * Ideally, I want to respect calamares way, remplementing the same (SEMPLIFIED) steps for CLI
10
+ *
11
+ - partition OK
12
+ - mount this.mountFs, this.mountVfs OK
13
+ - unpackfs OK
14
+ - Restore private data from backup
15
+ - sources-yolk // call execCalamaresModule('sources-yolk')
16
+ - machineid OK
17
+ - fstab OK
16
18
  - locale // to do
17
- - keyboard
19
+ - keyboard // this.setKeyboard OK
18
20
  - localecfg // to do
19
- - users // rivedere
20
- - displaymanager // autologin
21
- - networkcfg
21
+ - users OK
22
+ - displaymanager // this.autologin OK
23
+ - networkcfg OK
22
24
  - hwclock // to do
23
25
  - services-systemd // to do
24
- - bootloader-config // compatible calamares-module bootloader-config
25
- - grubcfg //
26
- - bootloader // compatible calamares-module calamares-modules grubInstall
26
+ - bootloader-config // call execCalamaresModule('bootloader-config')
27
+ - grubcfg OK
28
+ - bootloader OK
27
29
  - packages // to do
28
30
  - luksbootkeyfile // to do
29
31
  - plymouthcfg // to do
30
32
  - initramfscfg OK
31
33
  - initramfs OK
32
- - removeuser
34
+ - removeuser OK
33
35
  - remove-link // OK
34
- - sources-yolk-unmount // compatible calamares-modules sources-yolk-unmount
35
- - umount
36
+ - sources-yolk-unmount // execCalamaresModule('sources-yolk-unmount')
37
+ - umount // this.umountVfs, this.umountFs
36
38
  */
37
39
  import { IRemix, IDistro, INet } from '../interfaces';
38
40
  import Settings from './settings';
@@ -45,6 +47,7 @@ export default class Hatching {
45
47
  installer: IInstaller;
46
48
  installTarget: string;
47
49
  verbose: boolean;
50
+ echo: {};
48
51
  efi: boolean;
49
52
  devices: IDevices;
50
53
  users: IUsers;
@@ -151,27 +154,40 @@ export default class Hatching {
151
154
  * mkfs
152
155
  */
153
156
  private mkfs;
157
+ /**
158
+ *
159
+ * @param device
160
+ */
161
+ ifMountedDismount(device?: string): Promise<void>;
154
162
  /**
155
163
  * mount
156
164
  */
157
- private mount;
165
+ private mountFs;
158
166
  /**
159
- * umount
167
+ * umountFs
160
168
  */
161
- private umount;
169
+ private umountFs;
162
170
  /**
163
171
  * mountvfs()
164
172
  */
165
- private mountvfs;
173
+ private mountVfs;
166
174
  /**
175
+ *
167
176
  */
168
- private umountvfs;
177
+ private umountVfs;
178
+ /**
179
+ *
180
+ * @param mountpoint
181
+ */
182
+ private umount;
169
183
  /**
170
184
  *
171
- * @param p
172
- * @returns
173
185
  */
174
186
  private partition;
187
+ /**
188
+ * Return lvmPartname, lvmSwapSize, lvmRootSize
189
+ */
190
+ private lvmPartInfo;
175
191
  /**
176
192
  * isRotational
177
193
  * @param device
@@ -187,8 +203,22 @@ export default class Hatching {
187
203
  *
188
204
  */
189
205
  bootloaderConfigUbuntu(): Promise<void>;
206
+ /**
207
+ * grubcfg
208
+ * - open /etc/default/grub
209
+ * - find GRUB_CMDLINE_LINUX_DEFAULT=
210
+ * - replace with GRUB_CMDLINE_LINUX_DEFAULT=
211
+ * 's/GRUB_CMDLINE_LINUX_DEFAULT=.*$/GRUB_CMDLINE_LINUX_DEFAULT=/g'
212
+ */
213
+ grubcfg(): void;
214
+ /**
215
+ * On Ubuntu
216
+ * /etc/machine-id must exist to be re-created
217
+ * https://unix.stackexchange.com/questions/402999/is-it-ok-to-change-etc-machine-id
218
+ */
219
+ machineId(): Promise<void>;
190
220
  /**
191
221
  * only show the result
192
222
  */
193
- finished(): void;
223
+ finished(): Promise<void>;
194
224
  }