penguins-eggs 9.5.22 → 9.5.24

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 (144) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/README.md +1 -1
  3. package/dist/classes/bleach.js +4 -3
  4. package/dist/classes/compressors.js +6 -1
  5. package/dist/classes/daddy.js +24 -63
  6. package/dist/classes/distro.js +4 -3
  7. package/dist/classes/family/archlinux.js +3 -1
  8. package/dist/classes/family/debian.js +2 -1
  9. package/dist/classes/family/fedora.js +2 -1
  10. package/dist/classes/family/suse.js +2 -1
  11. package/dist/classes/incubation/distros/bionic.js +4 -2
  12. package/dist/classes/incubation/distros/buster.js +7 -5
  13. package/dist/classes/incubation/distros/focal.js +7 -0
  14. package/dist/classes/incubation/distros/jessie.js +4 -5
  15. package/dist/classes/incubation/distros/rolling.js +5 -1
  16. package/dist/classes/initrd.js +4 -3
  17. package/dist/classes/keyboards.js +7 -0
  18. package/dist/classes/locales.js +7 -0
  19. package/dist/classes/n8.js +2 -1
  20. package/dist/classes/network.js +2 -1
  21. package/dist/classes/ovary.js +123 -85
  22. package/dist/classes/pacman.js +2 -1
  23. package/dist/classes/pve-live.js +2 -2
  24. package/dist/classes/pxe.js +6 -4
  25. package/dist/classes/settings.js +4 -56
  26. package/dist/classes/sources_list.js +4 -3
  27. package/dist/classes/systemctl.js +4 -3
  28. package/dist/classes/tailor.js +7 -6
  29. package/dist/classes/tools.js +2 -1
  30. package/dist/classes/users.js +7 -0
  31. package/dist/classes/utils.js +3 -2
  32. package/dist/classes/xdg.js +2 -1
  33. package/dist/classes/yolk.js +4 -3
  34. package/dist/commands/adapt.js +2 -1
  35. package/dist/commands/analyze.js +2 -1
  36. package/dist/commands/calamares.js +2 -1
  37. package/dist/commands/config.js +2 -1
  38. package/dist/commands/cuckoo.js +7 -3
  39. package/dist/commands/dad.js +2 -1
  40. package/dist/commands/export/deb.js +7 -0
  41. package/dist/commands/export/iso.js +5 -1
  42. package/dist/commands/install.js +4 -3
  43. package/dist/commands/kill.js +1 -0
  44. package/dist/commands/mom.js +2 -1
  45. package/dist/commands/produce.js +2 -1
  46. package/dist/commands/status.js +7 -3
  47. package/dist/commands/syncfrom.js +2 -1
  48. package/dist/commands/syncto.js +2 -1
  49. package/dist/commands/tools/clean.js +2 -1
  50. package/dist/commands/tools/ppa.js +2 -1
  51. package/dist/commands/tools/skel.js +2 -1
  52. package/dist/commands/tools/stat.js +7 -0
  53. package/dist/commands/tools/yolk.js +2 -1
  54. package/dist/commands/update.js +2 -1
  55. package/dist/commands/wardrobe/get.js +4 -3
  56. package/dist/commands/wardrobe/list.js +4 -3
  57. package/dist/commands/wardrobe/show.js +7 -3
  58. package/dist/commands/wardrobe/wear.js +2 -1
  59. package/dist/components/elements/information.js +7 -0
  60. package/dist/components/elements/steps.js +7 -0
  61. package/dist/components/elements/title.js +7 -0
  62. package/dist/components/finished.js +5 -1
  63. package/dist/components/install.js +5 -1
  64. package/dist/components/keyboard.js +5 -1
  65. package/dist/components/location.js +7 -3
  66. package/dist/components/network.js +5 -1
  67. package/dist/components/partitions.js +5 -1
  68. package/dist/components/summary.js +5 -1
  69. package/dist/components/users.js +7 -3
  70. package/dist/components/welcome.js +5 -1
  71. package/dist/interfaces/i-addons.js +0 -5
  72. package/dist/interfaces/i-analyze.js +5 -1
  73. package/dist/interfaces/i-calamares-partition.js +7 -0
  74. package/dist/interfaces/i-devices.js +0 -5
  75. package/dist/interfaces/i-distro.js +7 -0
  76. package/dist/interfaces/i-drive-list.js +5 -1
  77. package/dist/interfaces/i-eggs-config.js +7 -0
  78. package/dist/interfaces/i-exec.js +7 -0
  79. package/dist/interfaces/i-initrd.js +0 -5
  80. package/dist/interfaces/i-install.js +0 -5
  81. package/dist/interfaces/i-krill-config.js +7 -0
  82. package/dist/interfaces/i-packages.js +7 -0
  83. package/dist/interfaces/i-remix.js +7 -0
  84. package/dist/interfaces/i-settings.js +0 -4
  85. package/dist/interfaces/index.js +7 -0
  86. package/dist/krill/krill-prepare.js +9 -7
  87. package/dist/krill/krill-sequence.js +5 -4
  88. package/dist/krill/modules/add-user.js +5 -0
  89. package/dist/krill/modules/bootloader-config-ubuntu.js +0 -3
  90. package/dist/krill/modules/bootloader-config.js +5 -0
  91. package/dist/krill/modules/bootloader.js +5 -0
  92. package/dist/krill/modules/change-password.js +5 -0
  93. package/dist/krill/modules/del-live-user.js +5 -0
  94. package/dist/krill/modules/fstab.js +4 -4
  95. package/dist/krill/modules/grubcfg.js +4 -4
  96. package/dist/krill/modules/hostname.js +4 -4
  97. package/dist/krill/modules/initramfs-cfg.js +4 -4
  98. package/dist/krill/modules/initramfs.js +4 -4
  99. package/dist/krill/modules/locale-cfg.js +4 -4
  100. package/dist/krill/modules/locale.js +4 -4
  101. package/dist/krill/modules/m-keyboard.js +4 -4
  102. package/dist/krill/modules/m-timezone.js +4 -4
  103. package/dist/krill/modules/machine-id.js +4 -4
  104. package/dist/krill/modules/mkfs.js +4 -4
  105. package/dist/krill/modules/mount-fs.js +4 -4
  106. package/dist/krill/modules/mount-vfs.js +4 -4
  107. package/dist/krill/modules/network-cfg.js +4 -4
  108. package/dist/krill/modules/packages.js +4 -4
  109. package/dist/krill/modules/partition.js +4 -4
  110. package/dist/krill/modules/remove-installer-link.js +4 -4
  111. package/dist/krill/modules/umount.js +4 -4
  112. package/dist/krill/modules/unpackfs.js +4 -4
  113. package/dist/lib/cli-autologin.js +7 -0
  114. package/dist/lib/dependencies.js +9 -2
  115. package/dist/lib/get_address.js +7 -0
  116. package/dist/lib/get_dns.js +7 -0
  117. package/dist/lib/get_domain.js +7 -0
  118. package/dist/lib/get_gateway.js +7 -0
  119. package/dist/lib/get_hostname.js +7 -0
  120. package/dist/lib/get_netmask.js +7 -0
  121. package/dist/lib/get_password.js +7 -0
  122. package/dist/lib/get_root_password.js +7 -0
  123. package/dist/lib/get_userfullname.js +7 -0
  124. package/dist/lib/get_username.js +7 -0
  125. package/dist/lib/kill_me_softly.js +24 -11
  126. package/dist/lib/select_address_type.js +5 -1
  127. package/dist/lib/select_filesystem_type.js +7 -0
  128. package/dist/lib/select_installation_device.js +7 -0
  129. package/dist/lib/select_installation_mode.js +7 -0
  130. package/dist/lib/select_interface.js +5 -1
  131. package/dist/lib/select_keyboard_layout.js +3 -1
  132. package/dist/lib/select_keyboard_model.js +5 -3
  133. package/dist/lib/select_keyboard_option.js +3 -1
  134. package/dist/lib/select_keyboard_variant.js +3 -1
  135. package/dist/lib/select_languages.js +5 -1
  136. package/dist/lib/select_regions.js +7 -0
  137. package/dist/lib/select_user_swap_choice.js +7 -0
  138. package/dist/lib/select_zones.js +7 -0
  139. package/dist/lib/utils.js +5 -14
  140. package/manpages/doc/man/eggs.1.gz +0 -0
  141. package/manpages/doc/man/eggs.html +3 -3
  142. package/package.json +1 -1
  143. package/scripts/mom.sh +1 -1
  144. package/scripts/addaur.sh +0 -32
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  /**
3
- * penguins-eggs: ovary.ts
3
+ * penguins-eggs
4
+ * class: ovary.ts
4
5
  * author: Piero Proietti
5
- * mail: piero.proietti@gmail.com
6
- *
6
+ * email: piero.proietti@gmail.com
7
+ * license: MIT
7
8
  */
8
9
  Object.defineProperty(exports, "__esModule", { value: true });
9
10
  const tslib_1 = require("tslib");
@@ -166,6 +167,7 @@ class Ovary {
166
167
  * put reCreate = true in release
167
168
  */
168
169
  const reCreate = true;
170
+ let mksquashfsCmd = '';
169
171
  if (reCreate) { // start pre-clone
170
172
  /**
171
173
  * installer
@@ -213,7 +215,7 @@ class Ovary {
213
215
  this.cliAutologin.addAutologin(this.settings.distro.distroId, this.settings.distro.codenameId, this.settings.config.user_opt, this.settings.config.user_opt_passwd, this.settings.config.root_passwd, this.settings.work_dir.merged);
214
216
  }
215
217
  await this.editLiveFs(clone, cryptedclone);
216
- await this.makeSquashfs(scriptOnly);
218
+ mksquashfsCmd = await this.makeSquashfs(scriptOnly);
217
219
  await this.uBindLiveFs(); // Lo smonto prima della fase di backup
218
220
  }
219
221
  if (cryptedclone) {
@@ -223,38 +225,37 @@ class Ovary {
223
225
  utils_2.default.warning(`moving ${luksFile} in ${this.ovarium}iso/live`);
224
226
  await (0, utils_1.exec)(`mv ${luksFile} ${this.ovarium}iso/live`, this.echo);
225
227
  }
226
- const xorrisoCommand = this.makeDotDisk(clone, cryptedclone);
228
+ const mkIsofsCmd = this.xorrisoCommand(clone, cryptedclone).replace(/\s\s+/g, ' ');
229
+ const info = utils_2.default.getVolid(this.settings.remix.name);
230
+ this.makeDotDisk(info, mksquashfsCmd, mkIsofsCmd);
227
231
  /**
228
232
  * patch to emulate miso/archiso on archilinux
229
233
  */
230
234
  if (this.familyId === 'archlinux') {
235
+ let pathName = `arch/x86_64/airootfs`;
236
+ let hashCmd = 'sha512sum';
237
+ let hashExt = '.sha512';
231
238
  if (this.settings.distro.distroId === 'ManjaroLinux') {
232
- await (0, utils_1.exec)(`mkdir ${this.settings.iso_work}manjaro/x86_64 -p`, this.echo);
233
- await (0, utils_1.exec)(`ln ${this.settings.iso_work}live/filesystem.squashfs ${this.settings.iso_work}manjaro/x86_64/livefs.sfs`, this.echo);
234
- await (0, utils_1.exec)(`md5sum ${this.settings.iso_work}live/filesystem.squashfs > ${this.settings.iso_work}manjaro/x86_64/livefs.md5`, this.echo);
235
- }
236
- else if (this.settings.distro.distroId === 'Arch' ||
237
- this.settings.distro.distroId === 'blendOS' ||
238
- this.settings.distro.distroId === 'Garuda' ||
239
- this.settings.distro.distroId === 'phyOS' ||
240
- this.settings.distro.distroId === 'RebornOS' ||
241
- this.settings.distro.distroId === 'EndeavourOS') {
242
- await (0, utils_1.exec)(`mkdir ${this.settings.iso_work}arch/x86_64 -p`, this.echo);
243
- await (0, utils_1.exec)(`ln ${this.settings.iso_work}live/filesystem.squashfs ${this.settings.iso_work}arch/x86_64/airootfs.sfs`, this.echo);
244
- await (0, utils_1.exec)(`sha512sum ${this.settings.iso_work}live/filesystem.squashfs > ${this.settings.iso_work}arch/x86_64/airootfs.sha512`, this.echo);
239
+ pathName = `manjaro/x86_64/livefs`;
240
+ hashCmd = `md5sum`;
241
+ hashExt = '.md5';
245
242
  }
243
+ await (0, utils_1.exec)(`mkdir ${this.settings.iso_work}${pathName}/x86_64 -p`, this.echo);
244
+ // await exec(`ln -s ${this.settings.iso_work}live/filesystem.squashfs ${this.settings.iso_work}${pathName}.sfs`, this.echo)
245
+ await (0, utils_1.exec)(`mv ${this.settings.iso_work}live/filesystem.squashfs ${this.settings.iso_work}${pathName}.sfs`, this.echo);
246
+ await (0, utils_1.exec)(`${hashCmd} ${this.settings.iso_work}${pathName}.sfs > ${this.settings.iso_work}${pathName}${hashExt}`, this.echo);
246
247
  }
247
- await this.makeIso(xorrisoCommand, scriptOnly);
248
+ await this.makeIso(mkIsofsCmd, scriptOnly);
248
249
  }
249
250
  }
250
251
  /**
251
252
  * Crea la struttura della workdir
252
253
  */
253
254
  async liveCreateStructure() {
254
- // efi-work iso memdiskDir sotto mountpoint
255
255
  if (this.verbose) {
256
256
  console.log('Ovary: liveCreateStructure');
257
257
  }
258
+ // efi-work iso memdiskDir sotto mountpoint
258
259
  utils_2.default.warning(`Creating egg in ${this.settings.config.snapshot_dir}`);
259
260
  let cmd;
260
261
  if (!fs_1.default.existsSync(this.settings.config.snapshot_dir)) {
@@ -285,11 +286,11 @@ class Ovary {
285
286
  * Creo le directory di destinazione per boot, efi, isolinux e live
286
287
  */
287
288
  if (!fs_1.default.existsSync(this.settings.iso_work)) {
288
- cmd = `mkdir -p ${this.settings.iso_work}/boot/grub/${utils_2.default.machineUEFI()}`;
289
+ cmd = `mkdir -p ${this.settings.iso_work}boot/grub/${utils_2.default.machineUEFI()}`;
289
290
  this.tryCatch(cmd);
290
- cmd = `mkdir -p ${this.settings.iso_work}/efi/boot`;
291
+ cmd = `mkdir -p ${this.settings.iso_work}efi/boot`;
291
292
  this.tryCatch(cmd);
292
- cmd = `mkdir -p ${this.settings.iso_work}/isolinux`;
293
+ cmd = `mkdir -p ${this.settings.iso_work}isolinux`;
293
294
  this.tryCatch(cmd);
294
295
  cmd = `mkdir -p ${this.settings.iso_work}live`;
295
296
  this.tryCatch(cmd);
@@ -300,6 +301,9 @@ class Ovary {
300
301
  * @param cmd
301
302
  */
302
303
  async tryCatch(cmd = '') {
304
+ if (this.verbose) {
305
+ console.log('Ovary: tryCatch');
306
+ }
303
307
  try {
304
308
  await (0, utils_1.exec)(cmd, this.echo);
305
309
  }
@@ -320,7 +324,7 @@ class Ovary {
320
324
  */
321
325
  async editLiveFs(clone = false, cryptedclone = false) {
322
326
  if (this.verbose) {
323
- console.log('ovary: editLiveFs');
327
+ console.log('Ovary: editLiveFs');
324
328
  }
325
329
  /**
326
330
  * /etc/penguins-eggs.d/is_clone file created on live
@@ -528,8 +532,7 @@ class Ovary {
528
532
  */
529
533
  async syslinux() {
530
534
  if (this.verbose) {
531
- console.log('ovary: syslinux');
532
- console.log('syslinux path: ' + this.settings.distro.syslinuxPath);
535
+ console.log('Ovary: syslinux');
533
536
  }
534
537
  await (0, utils_1.exec)(`cp ${this.settings.distro.syslinuxPath}/vesamenu.c32 ${this.settings.iso_work}/isolinux/`, this.echo);
535
538
  await (0, utils_1.exec)(`cp ${this.settings.distro.syslinuxPath}/chain.c32 ${this.settings.iso_work}/isolinux/`, this.echo);
@@ -549,7 +552,7 @@ class Ovary {
549
552
  */
550
553
  async isolinux(theme = 'eggs') {
551
554
  if (this.verbose) {
552
- console.log('ovary: isolinux');
555
+ console.log('Ovary: isolinux');
553
556
  }
554
557
  /**
555
558
  * isolinux.bin
@@ -606,6 +609,9 @@ class Ovary {
606
609
  * @returns kernelParameters
607
610
  */
608
611
  kernelParameters() {
612
+ if (this.verbose) {
613
+ console.log('Ovary: kernelParameters');
614
+ }
609
615
  const distroId = this.settings.distro.distroId;
610
616
  let kp = `boot=live components locales=${process.env.LANG}`;
611
617
  if (this.familyId === 'archlinux') {
@@ -630,11 +636,11 @@ class Ovary {
630
636
  */
631
637
  async kernelCopy() {
632
638
  if (this.verbose) {
633
- console.log('ovary: kernelCopy');
639
+ console.log('Ovary: kernelCopy');
634
640
  }
635
641
  let lackVmlinuzImage = false;
636
642
  if (fs_1.default.existsSync(this.settings.kernel_image)) {
637
- await (0, utils_1.exec)(`cp ${this.settings.kernel_image} ${this.settings.iso_work}/live/`, this.echo);
643
+ await (0, utils_1.exec)(`cp ${this.settings.kernel_image} ${this.settings.iso_work}live/`, this.echo);
638
644
  }
639
645
  else {
640
646
  utils_2.default.error(`Cannot find ${this.settings.kernel_image}`);
@@ -650,9 +656,12 @@ class Ovary {
650
656
  * necessita di echoYes
651
657
  */
652
658
  async initrdCreate() {
659
+ if (this.verbose) {
660
+ console.log('Ovary: initrdCreate');
661
+ }
653
662
  let initrdImg = utils_2.default.initrdImg();
654
663
  initrdImg = initrdImg.slice(Math.max(0, initrdImg.lastIndexOf('/') + 1));
655
- utils_2.default.warning(`Creating ${initrdImg} in ${this.settings.iso_work}/live/`);
664
+ utils_2.default.warning(`Creating ${initrdImg} in ${this.settings.iso_work}live/`);
656
665
  const distroId = this.settings.distro.distroId;
657
666
  let fileConf = 'archlinux';
658
667
  if (distroId === 'Arch' ||
@@ -673,13 +682,16 @@ class Ovary {
673
682
  fileConf = distroId.toLowerCase();
674
683
  }
675
684
  let pathConf = node_path_1.default.resolve(__dirname, `../../mkinitcpio/${fileConf}/live.conf`);
676
- await (0, utils_1.exec)(`mkinitcpio -c ${pathConf} -g ${this.settings.iso_work}/live/${initrdImg}`, utils_2.default.setEcho(true));
685
+ await (0, utils_1.exec)(`mkinitcpio -c ${pathConf} -g ${this.settings.iso_work}live/${initrdImg}`, utils_2.default.setEcho(true));
677
686
  }
678
687
  /**
679
688
  * We must upgrade to initrdCreate for Debian/Ubuntu
680
689
  * @returns
681
690
  */
682
691
  async initrdCopy(verbose = false) {
692
+ if (this.verbose) {
693
+ console.log('Ovary: initrdCopy');
694
+ }
683
695
  let isCrypted = false;
684
696
  utils_2.default.warning('initrdCreate');
685
697
  if (fs_1.default.existsSync('/etc/crypttab')) {
@@ -716,7 +728,7 @@ class Ovary {
716
728
  */
717
729
  async makeSquashfs(scriptOnly = false) {
718
730
  if (this.verbose) {
719
- console.log('ovary: makeSquashfs');
731
+ console.log('Ovary: makeSquashfs');
720
732
  }
721
733
  /**
722
734
  * exclude all the accurence of cryptdisks in rc0.d, etc
@@ -764,6 +776,7 @@ class Ovary {
764
776
  process.exit();
765
777
  }
766
778
  }
779
+ return cmd;
767
780
  }
768
781
  /**
769
782
  * Restituisce true per le direcory da montare con overlay
@@ -776,7 +789,10 @@ class Ovary {
776
789
  *
777
790
  * @param dir
778
791
  */
779
- mergedAndOvelay(dir) {
792
+ mergedAndOverlay(dir) {
793
+ if (this.verbose) {
794
+ console.log('Ovary: mergedAndOverlay');
795
+ }
780
796
  const mountDirs = ['boot', 'etc', 'usr', 'var'];
781
797
  let mountDir = '';
782
798
  let overlay = false;
@@ -798,6 +814,9 @@ class Ovary {
798
814
  * - copied: creazione directory e copia
799
815
  */
800
816
  merged(dir) {
817
+ if (this.verbose) {
818
+ console.log('Ovary: merged');
819
+ }
801
820
  let merged = true;
802
821
  if (dir === 'home') {
803
822
  merged = this.clone;
@@ -833,7 +852,7 @@ class Ovary {
833
852
  */
834
853
  async bindLiveFs() {
835
854
  if (this.verbose) {
836
- console.log('ovary: bindLiveFs');
855
+ console.log('Ovary: bindLiveFs');
837
856
  }
838
857
  /**
839
858
  * Attenzione:
@@ -855,7 +874,7 @@ class Ovary {
855
874
  if (dir !== 'boot') {
856
875
  if (dir !== 'lost+found') {
857
876
  cmd = `# /${dir} is a directory`;
858
- if (this.mergedAndOvelay(dir)) {
877
+ if (this.mergedAndOverlay(dir)) {
859
878
  /**
860
879
  * mergedAndOverlay creazione directory, overlay e mount rw
861
880
  */
@@ -921,9 +940,8 @@ class Ovary {
921
940
  */
922
941
  async copyBoot() {
923
942
  if (this.verbose) {
924
- console.log('ovary: copyBoot');
943
+ console.log('Ovary: copyBoot');
925
944
  }
926
- console.log('ovary: copyBoot');
927
945
  await rexec(`cp -r /boot ${this.settings.config.snapshot_mnt}filesystem.squashfs`, this.verbose);
928
946
  }
929
947
  /**
@@ -932,7 +950,7 @@ class Ovary {
932
950
  */
933
951
  async uBindLiveFs() {
934
952
  if (this.verbose) {
935
- console.log('ovary: uBindLiveFs');
953
+ console.log('Ovary: uBindLiveFs');
936
954
  }
937
955
  const cmds = [];
938
956
  cmds.push('# NOTE: home, cdrom, dev, live, media, mnt, proc, run, sys and tmp', `# need just to be removed in ${this.settings.work_dir.merged}`);
@@ -946,7 +964,7 @@ class Ovary {
946
964
  cmds.push('#############################################################');
947
965
  if (n8_1.default.isDirectory(dirname)) {
948
966
  cmds.push(`\n# directory: ${dirname}`);
949
- if (this.mergedAndOvelay(dirname)) {
967
+ if (this.mergedAndOverlay(dirname)) {
950
968
  cmds.push(`\n# ${dirname} has overlay`, `\n# First, umount it from ${this.settings.config.snapshot_dir}`);
951
969
  cmds.push(await rexec(`umount ${this.settings.work_dir.merged}/${dirname}`, this.verbose), `\n# Second, umount it from ${this.settings.work_dir.lowerdir}`);
952
970
  cmds.push(await rexec(`umount ${this.settings.work_dir.lowerdir}/${dirname}`, this.verbose));
@@ -983,6 +1001,9 @@ class Ovary {
983
1001
  * bind dei virtual file system
984
1002
  */
985
1003
  async bindVfs() {
1004
+ if (this.verbose) {
1005
+ console.log('Ovary: bindVfs');
1006
+ }
986
1007
  const cmds = [];
987
1008
  cmds.push(`mount -o bind /dev ${this.settings.work_dir.merged}/dev`, `mount -o bind /dev/pts ${this.settings.work_dir.merged}/dev/pts`, `mount -o bind /proc ${this.settings.work_dir.merged}/proc`, `mount -o bind /sys ${this.settings.work_dir.merged}/sys`, `mount -o bind /run ${this.settings.work_dir.merged}/run`);
988
1009
  // Utils.writeXs(`${this.settings.config.snapshot_dir}bindvfs`, cmds)
@@ -993,6 +1014,9 @@ class Ovary {
993
1014
  * @param verbose
994
1015
  */
995
1016
  async ubindVfs() {
1017
+ if (this.verbose) {
1018
+ console.log('Ovary: ubindVfs');
1019
+ }
996
1020
  const cmds = [];
997
1021
  cmds.push(`umount ${this.settings.work_dir.merged}/dev/pts`, `umount ${this.settings.work_dir.merged}/dev`, `umount ${this.settings.work_dir.merged}/proc`, `umount ${this.settings.work_dir.merged}/run`, `umount ${this.settings.work_dir.merged}/sys`);
998
1022
  // Utils.writeXs(`${this.settings.config.snapshot_dir}ubindvfs`, cmds)
@@ -1003,6 +1027,9 @@ class Ovary {
1003
1027
  * @param verbose
1004
1028
  */
1005
1029
  async cleanUsersAccounts() {
1030
+ if (this.verbose) {
1031
+ console.log('Ovary: cleanUsersAccounts');
1032
+ }
1006
1033
  /**
1007
1034
  * delete all user in chroot
1008
1035
  */
@@ -1026,13 +1053,14 @@ class Ovary {
1026
1053
  */
1027
1054
  async createUserLive() {
1028
1055
  if (this.verbose) {
1029
- console.log('ovary: createUserLive');
1056
+ console.log('Ovary: createUserLive');
1030
1057
  }
1031
1058
  const cmds = [];
1032
1059
  cmds.push(await rexec('chroot ' + this.settings.work_dir.merged + ' rm /home/' + this.settings.config.user_opt + ' -rf', this.verbose));
1033
1060
  cmds.push(await rexec('chroot ' + this.settings.work_dir.merged + ' mkdir /home/' + this.settings.config.user_opt, this.verbose));
1034
1061
  cmds.push(await rexec('chroot ' + this.settings.work_dir.merged + ' useradd ' + this.settings.config.user_opt + ' --home-dir /home/' + this.settings.config.user_opt + ' --shell /bin/bash ', this.verbose));
1035
1062
  cmds.push(await rexec('chroot ' + this.settings.work_dir.merged + ' cp /etc/skel/. /home/' + this.settings.config.user_opt + ' -R', this.verbose));
1063
+ // da problemi con il mount sshfs
1036
1064
  cmds.push(await rexec('chroot ' + this.settings.work_dir.merged + ' chown ' + this.settings.config.user_opt + ':users' + ' /home/' + this.settings.config.user_opt + ' -R', this.verbose));
1037
1065
  // live password
1038
1066
  cmds.push(await rexec('chroot ' + this.settings.work_dir.merged + ' echo ' + this.settings.config.user_opt + ':' + this.settings.config.user_opt_passwd + '| chroot ' + this.settings.work_dir.merged + ' chpasswd', this.verbose));
@@ -1067,7 +1095,7 @@ class Ovary {
1067
1095
  */
1068
1096
  async createXdgAutostart(theme = 'eggs', myAddons, noicons = false) {
1069
1097
  if (this.verbose) {
1070
- console.log('ovary: createXdgAutostart()');
1098
+ console.log('Ovary: createXdgAutostart');
1071
1099
  }
1072
1100
  const pathHomeLive = `/home/${this.settings.config.user_opt}`;
1073
1101
  if (noicons) { // NO icone
@@ -1204,6 +1232,9 @@ class Ovary {
1204
1232
  * @param icon
1205
1233
  */
1206
1234
  lxdeLink(file, name, icon) {
1235
+ if (this.verbose) {
1236
+ console.log('Ovary: lxdeLink');
1237
+ }
1207
1238
  const lnk = `lnk-${file}`;
1208
1239
  let text = '';
1209
1240
  text += `echo "[Desktop Entry]" >$DESKTOP/${lnk}\n`;
@@ -1219,6 +1250,9 @@ class Ovary {
1219
1250
  * @param exclusion {atring} path to add/remove
1220
1251
  */
1221
1252
  addRemoveExclusion(add, exclusion) {
1253
+ if (this.verbose) {
1254
+ console.log('Ovary: addRemoveExclusion');
1255
+ }
1222
1256
  if (exclusion.startsWith('/')) {
1223
1257
  exclusion = exclusion.slice(1); // remove / initial Non compatible with rsync
1224
1258
  }
@@ -1239,11 +1273,8 @@ class Ovary {
1239
1273
  // #######################################################################################
1240
1274
  async makeEfi(theme = 'eggs') {
1241
1275
  if (this.verbose) {
1242
- console.log('ovary: makeEfi');
1276
+ console.log('Ovary: makeEfi');
1243
1277
  }
1244
- // const memdiskDir = this.settings.work_dir.path + 'memdiskDir'
1245
- // const efiWorkDir = this.settings.efi_work
1246
- // const isoDir = this.settings.iso_work
1247
1278
  const memdiskDir = this.settings.config.snapshot_mnt + 'memdiskDir';
1248
1279
  const efiWorkDir = this.settings.efi_work;
1249
1280
  const isoDir = this.settings.iso_work;
@@ -1283,15 +1314,15 @@ class Ovary {
1283
1314
  }
1284
1315
  utils_2.default.warning('creating efiWordDir: ' + efiWorkDir);
1285
1316
  await (0, utils_1.exec)(`mkdir ${efiWorkDir}`, this.echo);
1286
- await (0, utils_1.exec)(`mkdir ${efiWorkDir}/boot`, this.echo);
1287
- await (0, utils_1.exec)(`mkdir ${efiWorkDir}/boot/grub`, this.echo);
1288
- await (0, utils_1.exec)(`mkdir ${efiWorkDir}/boot/grub/${utils_2.default.machineUEFI()}`, this.echo);
1289
- await (0, utils_1.exec)(`mkdir ${efiWorkDir}/efi`, this.echo);
1290
- await (0, utils_1.exec)(`mkdir ${efiWorkDir}/efi/boot`, this.echo);
1317
+ await (0, utils_1.exec)(`mkdir ${efiWorkDir}boot`, this.echo);
1318
+ await (0, utils_1.exec)(`mkdir ${efiWorkDir}boot/grub`, this.echo);
1319
+ await (0, utils_1.exec)(`mkdir ${efiWorkDir}boot/grub/${utils_2.default.machineUEFI()}`, this.echo);
1320
+ await (0, utils_1.exec)(`mkdir ${efiWorkDir}efi`, this.echo);
1321
+ await (0, utils_1.exec)(`mkdir ${efiWorkDir}efi/boot`, this.echo);
1291
1322
  /**
1292
1323
  * copy splash to efiWorkDir
1293
1324
  */
1294
- const splashDest = `${efiWorkDir}/boot/grub/splash.png`;
1325
+ const splashDest = `${efiWorkDir}boot/grub/splash.png`;
1295
1326
  let splashSrc = node_path_1.default.resolve(__dirname, `../../addons/${theme}/theme/livecd/splash.png`);
1296
1327
  if (this.theme.includes('/')) {
1297
1328
  splashSrc = `${theme}/theme/livecd/splash.png`;
@@ -1304,7 +1335,7 @@ class Ovary {
1304
1335
  /**
1305
1336
  * copy theme
1306
1337
  */
1307
- const themeDest = `${efiWorkDir}/boot/grub/theme.cfg`;
1338
+ const themeDest = `${efiWorkDir}boot/grub/theme.cfg`;
1308
1339
  let themeSrc = node_path_1.default.resolve(__dirname, `../../addons/${theme}/theme/livecd/grub.theme.cfg`);
1309
1340
  if (this.theme.includes('/')) {
1310
1341
  themeSrc = `${theme}/theme/livecd/grub.theme.cfg`;
@@ -1320,10 +1351,10 @@ class Ovary {
1320
1351
  // for i in $(ls /usr/lib/grub/x86_64-efi |grep part_|grep \.mod|sed 's/.mod//'); do echo "insmod $i" >> boot/grub/x86_64-efi/grub.cfg; done
1321
1352
  let cmd = `for i in $(ls /usr/lib/grub/${utils_2.default.machineUEFI()}|grep part_|grep \.mod|sed 's/.mod//'); do echo "insmod $i" >> ${efiWorkDir}boot/grub/${utils_2.default.machineUEFI()}/grub.cfg; done`;
1322
1353
  await (0, utils_1.exec)(cmd, this.echo);
1323
- // for i in efi_gop efi_uga ieee1275_fb vbe vga video_bochs video_cirrus jpeg png gfxterm ; do echo "insmod $i" >> boot/grub/x86_64-efi/grub.cfg ; done
1324
- cmd = `for i in efi_gop efi_uga ieee1275_fb vbe vga video_bochs video_cirrus jpeg png gfxterm ; do echo "insmod $i" >> ${efiWorkDir}/boot/grub/${utils_2.default.machineUEFI()}/grub.cfg ; done`;
1354
+ //cmd = `for i in efi_gop efi_uga ieee1275_fb vbe vga video_bochs video_cirrus jpeg png gfxterm ; do echo "insmod $i" >> ${efiWorkDir}boot/grub/${Utils.machineUEFI()}/grub.cfg ; done`
1355
+ cmd = `for i in efi_gop efi_uga ieee1275_fb vbe vga video_bochs video_cirrus jpeg png gfxterm ; do echo "insmod $i" >> ${efiWorkDir}boot/grub/${utils_2.default.machineUEFI()}/grub.cfg ; done`;
1325
1356
  await (0, utils_1.exec)(cmd, this.echo);
1326
- await (0, utils_1.exec)(`echo "source /boot/grub/grub.cfg" >> ${efiWorkDir}/boot/grub/${utils_2.default.machineUEFI()}/grub.cfg`, this.echo);
1357
+ await (0, utils_1.exec)(`echo "source /boot/grub/grub.cfg" >> ${efiWorkDir}boot/grub/${utils_2.default.machineUEFI()}/grub.cfg`, this.echo);
1327
1358
  /**
1328
1359
  * andiamo in memdiskDir
1329
1360
  */
@@ -1346,41 +1377,41 @@ class Ovary {
1346
1377
  await (0, utils_1.exec)(`${grubName}-mkimage -O "${utils_2.default.machineUEFI()}" -m "${memdiskDir}/memdisk" -o "${memdiskDir}/bootx64.efi" -p '(memdisk)/boot/grub' search iso9660 configfile normal memdisk tar cat part_msdos part_gpt fat ext2 ntfs ntfscomp hfsplus chain boot linux`, this.echo);
1347
1378
  // popd torna in efiWorkDir
1348
1379
  // copy the grub image to efi/boot (to go later in the device's root)
1349
- await (0, utils_1.exec)(`cp ${memdiskDir}/bootx64.efi ${efiWorkDir}/efi/boot`, this.echo);
1380
+ await (0, utils_1.exec)(`cp ${memdiskDir}/bootx64.efi ${efiWorkDir}efi/boot`, this.echo);
1350
1381
  // #######################
1351
1382
  // Do the boot image "boot/grub/efiboot.img"
1352
- await (0, utils_1.exec)(`dd if=/dev/zero of=${efiWorkDir}/boot/grub/efiboot.img bs=1K count=1440`, this.echo);
1353
- await (0, utils_1.exec)(`/sbin/mkdosfs -F 12 ${efiWorkDir}/boot/grub/efiboot.img`, this.echo);
1354
- await (0, utils_1.exec)(`mkdir ${efiWorkDir}/img-mnt`, this.echo);
1355
- await (0, utils_1.exec)(`mount -o loop ${efiWorkDir}/boot/grub/efiboot.img ${efiWorkDir}/img-mnt`, this.echo);
1356
- await (0, utils_1.exec)(`mkdir ${efiWorkDir}/img-mnt/efi`, this.echo);
1357
- await (0, utils_1.exec)(`mkdir ${efiWorkDir}/img-mnt/efi/boot`, this.echo);
1383
+ await (0, utils_1.exec)(`dd if=/dev/zero of=${efiWorkDir}boot/grub/efiboot.img bs=1K count=1440`, this.echo);
1384
+ await (0, utils_1.exec)(`/sbin/mkdosfs -F 12 ${efiWorkDir}boot/grub/efiboot.img`, this.echo);
1385
+ await (0, utils_1.exec)(`mkdir ${efiWorkDir}img-mnt`, this.echo);
1386
+ await (0, utils_1.exec)(`mount -o loop ${efiWorkDir}boot/grub/efiboot.img ${efiWorkDir}img-mnt`, this.echo);
1387
+ await (0, utils_1.exec)(`mkdir ${efiWorkDir}img-mnt/efi`, this.echo);
1388
+ await (0, utils_1.exec)(`mkdir ${efiWorkDir}img-mnt/efi/boot`, this.echo);
1358
1389
  // era cp -r
1359
- await (0, utils_1.exec)(`cp ${memdiskDir}/bootx64.efi ${efiWorkDir}/img-mnt/efi/boot`, this.echo);
1390
+ await (0, utils_1.exec)(`cp ${memdiskDir}/bootx64.efi ${efiWorkDir}img-mnt/efi/boot`, this.echo);
1360
1391
  // #######################
1361
1392
  // copy modules and font
1362
- await (0, utils_1.exec)(`cp -r /usr/lib/grub/${utils_2.default.machineUEFI()}/* ${efiWorkDir}/boot/grub/${utils_2.default.machineUEFI()}/`, this.echo);
1393
+ await (0, utils_1.exec)(`cp -r /usr/lib/grub/${utils_2.default.machineUEFI()}/* ${efiWorkDir}boot/grub/${utils_2.default.machineUEFI()}/`, this.echo);
1363
1394
  // if this doesn't work try another font from the same place (grub's default, unicode.pf2, is much larger)
1364
1395
  // Either of these will work, and they look the same to me. Unicode seems to work with qemu. -fsr
1365
1396
  if (fs_1.default.existsSync('/usr/share/grub/font.pf2')) {
1366
- await (0, utils_1.exec)(`cp /usr/share/grub/font.pf2 ${efiWorkDir}/boot/grub/font.pf2`, this.echo);
1397
+ await (0, utils_1.exec)(`cp /usr/share/grub/font.pf2 ${efiWorkDir}boot/grub/font.pf2`, this.echo);
1367
1398
  }
1368
1399
  else if (fs_1.default.existsSync('/usr/share/grub/unicode.pf2')) {
1369
- await (0, utils_1.exec)(`cp /usr/share/grub/unicode.pf2 ${efiWorkDir}/boot/grub/font.pf2`, this.echo);
1400
+ await (0, utils_1.exec)(`cp /usr/share/grub/unicode.pf2 ${efiWorkDir}boot/grub/font.pf2`, this.echo);
1370
1401
  }
1371
1402
  else if (fs_1.default.existsSync('/usr/share/grub/ascii.pf2')) {
1372
- await (0, utils_1.exec)(`cp /usr/share/grub/ascii.pf2 ${efiWorkDir}/boot/grub/font.pf2`, this.echo);
1403
+ await (0, utils_1.exec)(`cp /usr/share/grub/ascii.pf2 ${efiWorkDir}boot/grub/font.pf2`, this.echo);
1373
1404
  }
1374
1405
  // doesn't need to be root-owned
1375
1406
  // chown -R 1000:1000 $(pwd) 2>/dev/null
1376
1407
  // Cleanup efi temps
1377
- await (0, utils_1.exec)(`umount ${efiWorkDir}/img-mnt`, this.echo);
1378
- await (0, utils_1.exec)(`rmdir ${efiWorkDir}/img-mnt`, this.echo);
1408
+ await (0, utils_1.exec)(`umount ${efiWorkDir}img-mnt`, this.echo);
1409
+ await (0, utils_1.exec)(`rmdir ${efiWorkDir}img-mnt`, this.echo);
1379
1410
  await (0, utils_1.exec)(`rm ${memdiskDir}/img-mnt -rf`, this.echo);
1380
1411
  // popd
1381
1412
  // Copy efi files to iso
1382
- await (0, utils_1.exec)(`rsync -avx ${efiWorkDir}/boot ${isoDir}/`, this.echo);
1383
- await (0, utils_1.exec)(`rsync -avx ${efiWorkDir}/efi ${isoDir}/`, this.echo);
1413
+ await (0, utils_1.exec)(`rsync -avx ${efiWorkDir}boot ${isoDir}/`, this.echo);
1414
+ await (0, utils_1.exec)(`rsync -avx ${efiWorkDir}efi ${isoDir}/`, this.echo);
1384
1415
  // Do the main grub.cfg (which gets loaded last):
1385
1416
  // grub.theme.cfg
1386
1417
  let grubThemeSrc = node_path_1.default.resolve(__dirname, `../../addons/${theme}/theme/livecd/grub.theme.cfg`);
@@ -1420,26 +1451,24 @@ class Ovary {
1420
1451
  // #######################################################################################
1421
1452
  /**
1422
1453
  * makeDotDisk
1423
- * create .disk/info, .disk/mksquashfs, .disk/mkiso
1424
- * return mkiso
1425
1454
  */
1426
- makeDotDisk(clone = false, cryptedclone = false) {
1427
- const dotDisk = this.settings.iso_work + '/.disk';
1455
+ makeDotDisk(info = '', mksquashfs = '', mkisofs = '') {
1456
+ if (this.verbose) {
1457
+ console.log('Ovary: makeDotDisk');
1458
+ }
1459
+ const dotDisk = this.settings.iso_work + '.disk';
1428
1460
  if (fs_1.default.existsSync(dotDisk)) {
1429
1461
  shelljs_1.default.rm('-rf', dotDisk);
1430
1462
  }
1431
1463
  shelljs_1.default.mkdir('-p', dotDisk);
1464
+ let text = `# Created at: ${utils_2.default.formatDate(new Date())}\n`;
1465
+ text += `# penguins_eggs v. ${utils_2.default.getPackageVersion()}\n`;
1432
1466
  // .disk/info
1433
- let file = dotDisk + '/info';
1434
- let content = utils_2.default.getVolid(this.settings.remix.name);
1435
- fs_1.default.writeFileSync(file, content, 'utf-8');
1467
+ fs_1.default.writeFileSync(dotDisk + '/info', info, 'utf-8');
1436
1468
  // .disk/mksquashfs
1437
- shelljs_1.default.cp(this.ovarium + 'mksquashfs', dotDisk + '/mksquashfs');
1469
+ fs_1.default.writeFileSync(dotDisk + '/mksquashfs', text + mksquashfs, 'utf-8');
1438
1470
  // .disk/mkisofs
1439
- content = this.xorrisoCommand(clone, cryptedclone).replace(/\s\s+/g, ' ');
1440
- file = dotDisk + '/mkisofs';
1441
- fs_1.default.writeFileSync(file, content, 'utf-8');
1442
- return content;
1471
+ fs_1.default.writeFileSync(dotDisk + '/mkisofs', text + mkisofs, 'utf-8');
1443
1472
  }
1444
1473
  /**
1445
1474
  *
@@ -1447,6 +1476,9 @@ class Ovary {
1447
1476
  * @returns cmd 4 mkiso
1448
1477
  */
1449
1478
  xorrisoCommand(clone = false, cryptedclone = false) {
1479
+ if (this.verbose) {
1480
+ console.log('Ovary: xorrisoCommand');
1481
+ }
1450
1482
  const volid = utils_2.default.getVolid(this.settings.remix.name);
1451
1483
  let prefix = this.settings.config.snapshot_prefix;
1452
1484
  if (prefix.endsWith('rolling-')) {
@@ -1600,7 +1632,7 @@ class Ovary {
1600
1632
  async makeIso(cmd, scriptOnly = false) {
1601
1633
  // echo = { echo: true, ignore: false }
1602
1634
  if (this.verbose) {
1603
- console.log('ovary: makeIso');
1635
+ console.log('Ovary: makeIso');
1604
1636
  }
1605
1637
  //Utils.writeX(`${this.settings.config.snapshot_dir}mkisofs`, cmd)
1606
1638
  utils_2.default.writeX(`${this.settings.work_dir.ovarium}mkisofs`, cmd);
@@ -1644,6 +1676,9 @@ class Ovary {
1644
1676
  * fill
1645
1677
  */
1646
1678
  async usersFill() {
1679
+ if (this.verbose) {
1680
+ console.log('Ovary: usersFill');
1681
+ }
1647
1682
  const usersArray = [];
1648
1683
  await (0, promises_1.access)('/etc/passwd', fs_2.constants.R_OK | fs_2.constants.W_OK);
1649
1684
  const passwd = fs_1.default.readFileSync('/etc/passwd', 'utf-8').split('\n');
@@ -1665,7 +1700,7 @@ exports.default = Ovary;
1665
1700
  */
1666
1701
  async function makeIfNotExist(path, verbose = false) {
1667
1702
  if (verbose) {
1668
- console.log(`ovary: makeIfNotExist(${path})`);
1703
+ console.log(`Ovary: makeIfNotExist(${path})`);
1669
1704
  }
1670
1705
  const echo = utils_2.default.setEcho(verbose);
1671
1706
  let cmd = `# ${path} alreasy exist`;
@@ -1681,6 +1716,9 @@ async function makeIfNotExist(path, verbose = false) {
1681
1716
  * @param echo
1682
1717
  */
1683
1718
  async function rexec(cmd, verbose = false) {
1719
+ if (verbose) {
1720
+ console.log(`Ovary: rexec(${cmd})`);
1721
+ }
1684
1722
  const echo = utils_2.default.setEcho(verbose);
1685
1723
  const check = await (0, utils_1.exec)(cmd, echo);
1686
1724
  if (!cmd.startsWith('umount')) { // skip umount errors
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  /**
3
- * penguins-eggs-v8
3
+ * penguins-eggs
4
+ * class: pacman.ts
4
5
  * author: Piero Proietti
5
6
  * email: piero.proietti@gmail.com
6
7
  * license: MIT
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  /**
3
- * penguins-eggss
3
+ * penguins-eggs
4
+ * class: pve.ts
4
5
  * author: Piero Proietti
5
6
  * email: piero.proietti@gmail.com
6
7
  * license: MIT
7
- * pve-live
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  const tslib_1 = require("tslib");
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
2
  /**
5
- * penguins-eggs: pxe.ts
3
+ * penguins-eggs
4
+ * class: pxe.ts
6
5
  * author: Piero Proietti
7
- * mail: piero.proietti@gmail.com
6
+ * email: piero.proietti@gmail.com
7
+ * license: MIT
8
8
  */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const tslib_1 = require("tslib");
9
11
  const utils_1 = require("../lib/utils");
10
12
  const distro_1 = tslib_1.__importDefault(require("./distro"));
11
13
  const fs_1 = tslib_1.__importDefault(require("fs"));
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  /**
3
- * penguins-eggs: ovary.ts VERSIONE DEBIAN-LIVE
3
+ * penguins-eggs
4
+ * class: settings.ts
4
5
  * author: Piero Proietti
5
- * mail: piero.proietti@gmail.com
6
- *
6
+ * email: piero.proietti@gmail.com
7
+ * license: MIT
7
8
  */
8
9
  Object.defineProperty(exports, "__esModule", { value: true });
9
10
  const tslib_1 = require("tslib");
@@ -178,58 +179,5 @@ class Settings {
178
179
  this.remix.fullname = name;
179
180
  this.remix.versionName = name.toUpperCase();
180
181
  }
181
- /**
182
- * show NOT USED MORE
183
- */
184
- async show_not_used_more() {
185
- console.log(`application_name: ${this.app.name} ${this.app.version}`);
186
- // console.log(`config_file: ${config_file}`)
187
- console.log(`snapshot_dir: ${this.config.snapshot_dir}`);
188
- if (this.config.snapshot_prefix === '') {
189
- console.log('snapshot_prefix: ' + chalk_1.default.bgYellow('no value') + ' run ' + chalk_1.default.cyan('sudo eggs dad') + ' or edit ' + chalk_1.default.cyan('/etc/penguins-eggs.d/eggs.yaml'));
190
- }
191
- else {
192
- console.log('snapshot_prefix: ' + chalk_1.default.green(this.config.snapshot_prefix));
193
- }
194
- console.log(`snapshot_basename: ${this.config.snapshot_basename}`);
195
- // console.log(`snapshot_excludes: ${this.config.snapshot_excludes}`)
196
- if (node_fs_1.default.existsSync(this.kernel_image)) {
197
- console.log('kernel_image: ' + chalk_1.default.green(this.kernel_image));
198
- }
199
- else {
200
- console.log('kernel_image: ' + chalk_1.default.red(this.kernel_image) + ' not found! Please edit /etc/penguins-eggs.d/eggs.yaml');
201
- }
202
- if (node_fs_1.default.existsSync(this.initrd_image)) {
203
- console.log('initrd_image: ' + chalk_1.default.green(this.initrd_image));
204
- }
205
- else {
206
- console.log('initrd_image: ' + chalk_1.default.red(this.initrd_image) + ' not found! Please edit /etc/penguins-eggs.d/eggs.yaml');
207
- }
208
- console.log(`snapshot_dir: ${this.config.snapshot_dir}`);
209
- // console.log(`efi_work: ${this.efi_work}`)
210
- // console.log(`make_efi: ${this.config.make_efi}`)
211
- // console.log(`make_md5sum: ${this.config.make_md5sum}`)
212
- // console.log(`make_isohybrid: ${this.config.make_isohybrid}`)
213
- console.log(`compression: ${this.config.compression}`);
214
- // console.log(`force_installer: ${this.config.force_installer}`)
215
- console.log(`user_opt: ${this.config.user_opt}`);
216
- console.log(`locales: ${this.config.locales}`);
217
- console.log(`locale default: ${this.config.locales_default}`);
218
- // console.log(`ssh_pass: ${this.config.ssh_pass}`)
219
- if (this.config.make_efi) {
220
- if (!pacman_1.default.isUefi()) {
221
- utils_1.default.error('You choose to create an UEFI image, but miss to install grub-efi-amd64-bin package.');
222
- utils_1.default.error('Please install it before to create an UEFI image:');
223
- utils_1.default.warning('sudo apt install grub-efi-amd64-bin');
224
- this.config.make_efi = false;
225
- }
226
- else if (!pacman_1.default.packageIsInstalled('dosfstools')) {
227
- utils_1.default.error('You choose to create an UEFI image, but miss to install dosfstools package.');
228
- utils_1.default.error('Please install it before to create an UEFI image:');
229
- utils_1.default.warning('sudo apt install dosfstools');
230
- this.config.make_efi = false;
231
- }
232
- }
233
- }
234
182
  }
235
183
  exports.default = Settings;