penguins-eggs 9.3.25 → 9.3.27

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 (125) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/README.md +50 -46
  3. package/addons/templates/isolinux.template +1 -1
  4. package/conf/derivatives.yaml +7 -0
  5. package/conf/distros/buster/calamares/calamares-modules/bootloader-config/bootloader-config.sh +2 -2
  6. package/conf/distros/jessie/krill/krill-modules/bootloader-config/bootloader-config.sh +2 -2
  7. package/dist/classes/compressors.js +3 -3
  8. package/dist/classes/daddy.js +8 -8
  9. package/dist/classes/distro.js +23 -22
  10. package/dist/classes/family/archlinux.js +1 -1
  11. package/dist/classes/family/debian.js +5 -5
  12. package/dist/classes/incubation/branding.js +4 -4
  13. package/dist/classes/incubation/distros/jessie.js +1 -1
  14. package/dist/classes/incubation/distros/rolling.js +4 -4
  15. package/dist/classes/incubation/fisherman-helper/packages.js +8 -8
  16. package/dist/classes/incubation/fisherman.js +5 -7
  17. package/dist/classes/incubation/incubator.js +7 -7
  18. package/dist/classes/keyboards.js +16 -16
  19. package/dist/classes/locales.js +9 -9
  20. package/dist/classes/network.js +5 -7
  21. package/dist/classes/ovary.js +84 -89
  22. package/dist/classes/pacman.js +2 -4
  23. package/dist/classes/pxe.js +131 -131
  24. package/dist/classes/settings.js +2 -2
  25. package/dist/classes/sources_list.js +20 -22
  26. package/dist/classes/systemctl.js +2 -2
  27. package/dist/classes/tailor.js +216 -225
  28. package/dist/classes/users.js +24 -24
  29. package/dist/classes/xdg.js +17 -17
  30. package/dist/classes/yolk.js +2 -4
  31. package/dist/commands/adapt.js +2 -2
  32. package/dist/commands/analyze.js +34 -3
  33. package/dist/commands/calamares.js +8 -6
  34. package/dist/commands/config.js +10 -13
  35. package/dist/commands/cuckoo.js +8 -8
  36. package/dist/commands/dad.js +4 -4
  37. package/dist/commands/export/deb.js +7 -7
  38. package/dist/commands/export/iso.js +6 -6
  39. package/dist/commands/install.js +18 -18
  40. package/dist/commands/kill.js +6 -4
  41. package/dist/commands/mom.js +2 -2
  42. package/dist/commands/produce.js +11 -11
  43. package/dist/commands/status.js +2 -2
  44. package/dist/commands/syncfrom.js +11 -13
  45. package/dist/commands/syncto.js +36 -41
  46. package/dist/commands/tools/clean.js +5 -3
  47. package/dist/commands/tools/ppa.js +13 -11
  48. package/dist/commands/tools/skel.js +3 -3
  49. package/dist/commands/tools/stat.js +5 -5
  50. package/dist/commands/tools/yolk.js +2 -2
  51. package/dist/commands/update.js +4 -4
  52. package/dist/commands/wardrobe/get.js +5 -5
  53. package/dist/commands/wardrobe/list.js +13 -13
  54. package/dist/commands/wardrobe/show.js +12 -12
  55. package/dist/commands/wardrobe/wear.js +8 -8
  56. package/dist/components/elements/title.js +1 -1
  57. package/dist/interfaces/i-packages.js +1 -1
  58. package/dist/interfaces/i-pxe.js +39 -0
  59. package/dist/krill/krill-prepare.js +6 -6
  60. package/dist/krill/krill-sequence.js +3 -3
  61. package/dist/krill/modules/add-user.js +2 -2
  62. package/dist/krill/modules/bootloader-config-ubuntu.js +1 -1
  63. package/dist/krill/modules/bootloader.js +2 -2
  64. package/dist/krill/modules/fstab.js +21 -21
  65. package/dist/krill/modules/grubcfg.js +1 -1
  66. package/dist/krill/modules/hostname.js +15 -15
  67. package/dist/krill/modules/initramfs.js +4 -4
  68. package/dist/krill/modules/locale-cfg.js +8 -8
  69. package/dist/krill/modules/locale.js +6 -6
  70. package/dist/krill/modules/m-keyboard.js +20 -20
  71. package/dist/krill/modules/machine-id.js +1 -1
  72. package/dist/krill/modules/mkfs.js +1 -1
  73. package/dist/krill/modules/mount-fs.js +7 -9
  74. package/dist/krill/modules/network-cfg.js +15 -17
  75. package/dist/krill/modules/packages.js +6 -6
  76. package/dist/krill/modules/partition.js +91 -84
  77. package/dist/krill/modules/remove-installer-link.js +3 -3
  78. package/dist/krill/modules/unpackfs.js +1 -1
  79. package/dist/lib/cli-autologin.js +7 -7
  80. package/dist/lib/dependencies.js +10 -10
  81. package/dist/lib/get_address.js +2 -2
  82. package/dist/lib/get_dns.js +2 -2
  83. package/dist/lib/get_domain.js +2 -2
  84. package/dist/lib/get_gateway.js +2 -2
  85. package/dist/lib/get_hostname.js +2 -2
  86. package/dist/lib/get_netmask.js +2 -2
  87. package/dist/lib/get_password.js +4 -4
  88. package/dist/lib/get_root_password.js +3 -3
  89. package/dist/lib/get_userfullname.js +2 -2
  90. package/dist/lib/get_username.js +2 -2
  91. package/dist/lib/select_address_type.js +2 -2
  92. package/dist/lib/select_filesystem_type.js +2 -2
  93. package/dist/lib/select_installation_device.js +2 -2
  94. package/dist/lib/select_installation_mode.js +2 -2
  95. package/dist/lib/select_interface.js +2 -2
  96. package/dist/lib/select_keyboard_layout.js +4 -4
  97. package/dist/lib/select_keyboard_model.js +4 -4
  98. package/dist/lib/select_keyboard_option.js +4 -4
  99. package/dist/lib/select_keyboard_variant.js +4 -4
  100. package/dist/lib/select_languages.js +3 -3
  101. package/dist/lib/select_regions.js +2 -2
  102. package/dist/lib/select_user_swap_choice.js +2 -2
  103. package/dist/lib/select_zones.js +8 -8
  104. package/dist/lib/utils.js +3 -3
  105. package/dist/types/etrick.js +1 -0
  106. package/eui/README.md +72 -0
  107. package/eui/eui-create-image.sh +12 -0
  108. package/eui/eui-start.sh +32 -0
  109. package/eui/eui-users +2 -0
  110. package/eui/eui.desktop +10 -0
  111. package/package.json +9 -2
  112. package/scripts/_eggs +7 -3
  113. package/scripts/eggs.bash +4 -4
  114. package/scripts/mom.sh +6 -7
  115. package/dist/dhcpd/dhcpd.js +0 -222
  116. package/dist/dhcpd/index.js +0 -7
  117. package/dist/dhcpd/packet/converters.js +0 -377
  118. package/dist/dhcpd/packet/options.js +0 -2
  119. package/dist/dhcpd/packet/types.js +0 -2
  120. package/dist/dhcpd/packet.js +0 -251
  121. package/dist/dhcpd/proxy.js +0 -152
  122. package/dist/dhcpd/server.js +0 -152
  123. package/dist/dhcpd/sprintf.js +0 -170
  124. package/dist/dhcpd/utils.js +0 -190
  125. package/dist/interfaces/i-pxe-options.js +0 -2
@@ -15,8 +15,8 @@ async function selectInstallationDevice() {
15
15
  type: 'list',
16
16
  name: 'installationDevice',
17
17
  message: 'Select the installation disk: ',
18
- choices: driveList
19
- }
18
+ choices: driveList,
19
+ },
20
20
  ];
21
21
  return new Promise(function (resolve) {
22
22
  inquirer_1.default.prompt(questions).then(function (options) {
@@ -9,8 +9,8 @@ async function selectInstallationMode() {
9
9
  type: 'list',
10
10
  name: 'installationMode',
11
11
  message: 'Select the installation mode: ',
12
- choices: modes
13
- }
12
+ choices: modes,
13
+ },
14
14
  ];
15
15
  return new Promise(function (resolve) {
16
16
  inquirer_1.default.prompt(questions).then(function (options) {
@@ -12,8 +12,8 @@ async function selectInterface(iface = 'eth0', ifaces) {
12
12
  name: 'option',
13
13
  message: 'Select interface: ',
14
14
  choices: ifaces,
15
- default: iface
16
- }
15
+ default: iface,
16
+ },
17
17
  ];
18
18
  return new Promise(function (resolve) {
19
19
  inquirer_1.default.prompt(questions).then(function (options) {
@@ -9,8 +9,8 @@ const tslib_1 = require("tslib");
9
9
  const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
10
10
  const keyboards_1 = tslib_1.__importDefault(require("../classes/keyboards"));
11
11
  /**
12
- *
13
- */
12
+ *
13
+ */
14
14
  async function selectKeyboardLayout(selected = '') {
15
15
  const keyboards = new keyboards_1.default();
16
16
  const layouts = keyboards.getLayouts();
@@ -24,8 +24,8 @@ async function selectKeyboardLayout(selected = '') {
24
24
  name: 'layout',
25
25
  message: 'Select layout: ',
26
26
  choices: supported,
27
- default: selected
28
- }
27
+ default: selected,
28
+ },
29
29
  ];
30
30
  return new Promise(function (resolve) {
31
31
  inquirer_1.default.prompt(questions).then(function (options) {
@@ -9,8 +9,8 @@ const tslib_1 = require("tslib");
9
9
  const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
10
10
  const keyboards_1 = tslib_1.__importDefault(require("../classes/keyboards"));
11
11
  /**
12
- *
13
- */
12
+ *
13
+ */
14
14
  async function selectKeyboardModel(selected = '') {
15
15
  const keyboards = new keyboards_1.default();
16
16
  const models = keyboards.getModels();
@@ -24,8 +24,8 @@ async function selectKeyboardModel(selected = '') {
24
24
  name: 'model',
25
25
  message: 'Select model: ',
26
26
  choices: supported,
27
- default: selected
28
- }
27
+ default: selected,
28
+ },
29
29
  ];
30
30
  return new Promise(function (resolve) {
31
31
  inquirer_1.default.prompt(questions).then(function (options) {
@@ -9,8 +9,8 @@ const tslib_1 = require("tslib");
9
9
  const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
10
10
  const keyboards_1 = tslib_1.__importDefault(require("../classes/keyboards"));
11
11
  /**
12
- * selectKeyboardOption
13
- */
12
+ * selectKeyboardOption
13
+ */
14
14
  async function selectKeyboardOption(selected = '') {
15
15
  const keyboards = new keyboards_1.default();
16
16
  const options = keyboards.getOptions();
@@ -24,8 +24,8 @@ async function selectKeyboardOption(selected = '') {
24
24
  name: 'option',
25
25
  message: 'Select option: ',
26
26
  choices: supported,
27
- default: selected
28
- }
27
+ default: selected,
28
+ },
29
29
  ];
30
30
  return new Promise(function (resolve) {
31
31
  inquirer_1.default.prompt(questions).then(function (options) {
@@ -9,8 +9,8 @@ const tslib_1 = require("tslib");
9
9
  const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
10
10
  const keyboards_1 = tslib_1.__importDefault(require("../classes/keyboards"));
11
11
  /**
12
- *
13
- */
12
+ *
13
+ */
14
14
  async function selectKeyboardVariant(keyboardLayout = '') {
15
15
  const keyboards = new keyboards_1.default();
16
16
  const variants = keyboards.getVariants(keyboardLayout);
@@ -25,8 +25,8 @@ async function selectKeyboardVariant(keyboardLayout = '') {
25
25
  name: 'variant',
26
26
  message: 'Select variant: ',
27
27
  choices: supported,
28
- default: ''
29
- }
28
+ default: '',
29
+ },
30
30
  ];
31
31
  return new Promise(function (resolve) {
32
32
  inquirer_1.default.prompt(questions).then(function (options) {
@@ -6,7 +6,7 @@ const tslib_1 = require("tslib");
6
6
  */
7
7
  const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
8
8
  const locales_1 = tslib_1.__importDefault(require("../classes/locales"));
9
- async function selectLanguages(selectedLanguage = "") {
9
+ async function selectLanguages(selectedLanguage = '') {
10
10
  const locales = new locales_1.default();
11
11
  const supported = await locales.getSupported();
12
12
  const selected = selectedLanguage;
@@ -16,8 +16,8 @@ async function selectLanguages(selectedLanguage = "") {
16
16
  name: 'language',
17
17
  message: 'Select language: ',
18
18
  choices: supported,
19
- default: selected
20
- }
19
+ default: selected,
20
+ },
21
21
  ];
22
22
  return new Promise(function (resolve) {
23
23
  inquirer_1.default.prompt(questions).then(function (options) {
@@ -9,8 +9,8 @@ async function selectRegions(selected = '') {
9
9
  name: 'region',
10
10
  message: 'Select your region: ',
11
11
  choices: ['Atlantic', 'Africa', 'America', 'Antarctica', 'Artic', 'Australia', 'Europe', 'India', 'Europe', 'Pacific'],
12
- default: selected
13
- }
12
+ default: selected,
13
+ },
14
14
  ];
15
15
  return new Promise(function (resolve) {
16
16
  inquirer_1.default.prompt(questions).then(function (options) {
@@ -19,8 +19,8 @@ async function selectUserSwapChoice() {
19
19
  name: 'userSwapChoices',
20
20
  message: 'Select the swap choice',
21
21
  choices: partitions.userSwapChoices,
22
- default: partitions.initialSwapChoice
23
- }
22
+ default: partitions.initialSwapChoice,
23
+ },
24
24
  ];
25
25
  return new Promise(function (resolve) {
26
26
  inquirer_1.default.prompt(questions).then(function (options) {
@@ -57,7 +57,7 @@ async function selectRegions(region = '') {
57
57
  'Timbuktu',
58
58
  'Tripoli',
59
59
  'Tunis',
60
- 'Windhoek'
60
+ 'Windhoek',
61
61
  ];
62
62
  const america = [
63
63
  'Adak',
@@ -215,7 +215,7 @@ async function selectRegions(region = '') {
215
215
  'Whitehorse',
216
216
  'Winnipeg',
217
217
  'Yakutat',
218
- 'Yellowknife'
218
+ 'Yellowknife',
219
219
  ];
220
220
  const antartica = ['Casey', 'Davis', 'DumontDUrville', 'Macquarie', 'Mawson', 'McMurdo', 'Palmer', 'Rothera', 'Syowa', 'Troll', 'Vostok'];
221
221
  const australia = ['Adelaide', 'Brisbane', 'Broken_Hill', 'Canberra', 'Currie', 'Darwin', 'Eucla', 'Hobart', 'Lindeman', 'Lord_Howe', 'Melbourne', 'Perth', 'Sydney', 'Yancowinna'];
@@ -310,7 +310,7 @@ async function selectRegions(region = '') {
310
310
  'Yakutsk',
311
311
  'Yangon',
312
312
  'Yekaterinburg',
313
- 'Yerevan'
313
+ 'Yerevan',
314
314
  ];
315
315
  const atlantic = ['Azores', 'Bermuda', 'Canary', 'Cape_Verde', 'Faroe', 'Jan_Mayen', 'Madeira', 'Reykjavik', 'South_Georgia', 'St_Helena', 'Stanley'];
316
316
  const europe = [
@@ -373,7 +373,7 @@ async function selectRegions(region = '') {
373
373
  'Warsaw',
374
374
  'Zagreb',
375
375
  'Zaporozhye',
376
- 'Zurich'
376
+ 'Zurich',
377
377
  ];
378
378
  const indian = ['Antananarivo', 'Chagos', 'Christmas', 'Cocos', 'Comoro', 'Kerguelen', 'Mahe', 'Maldives', 'Mauritius', 'Mayotte', 'Reunion'];
379
379
  const pacific = [
@@ -419,7 +419,7 @@ async function selectRegions(region = '') {
419
419
  'Truk',
420
420
  'Wake',
421
421
  'Wallis',
422
- 'Yap'
422
+ 'Yap',
423
423
  ];
424
424
  const us = ['Alaska', 'Aleutian', 'Arizona', 'Central', 'Eastern', 'Hawaii', 'Indiana-Starke', 'Michigan', 'Mountain', 'Pacific', 'Samoa'];
425
425
  const etc = [
@@ -457,7 +457,7 @@ async function selectRegions(region = '') {
457
457
  'UCT',
458
458
  'UTC',
459
459
  'Universal',
460
- 'Zulu'
460
+ 'Zulu',
461
461
  ];
462
462
  let zone = [];
463
463
  switch (region) {
@@ -504,8 +504,8 @@ async function selectRegions(region = '') {
504
504
  type: 'list',
505
505
  name: 'zone',
506
506
  message: 'Please select the city or region corresponding to your time zone: ',
507
- choices: zone
508
- }
507
+ choices: zone,
508
+ },
509
509
  ];
510
510
  return new Promise(function (resolve) {
511
511
  inquirer_1.default.prompt(questions).then(function (options) {
package/dist/lib/utils.js CHANGED
@@ -37,7 +37,7 @@ async function exec(command, { echo = false, ignore = false, capture = false } =
37
37
  console.log(command);
38
38
  }
39
39
  const child = (0, child_process_1.spawn)('bash', ['-c', command], {
40
- stdio: ignore ? 'ignore' : capture ? 'pipe' : 'inherit'
40
+ stdio: ignore ? 'ignore' : (capture ? 'pipe' : 'inherit'),
41
41
  });
42
42
  // const spawn = require('child_process').spawn
43
43
  // child.stdout.on('data', (data: string) => {
@@ -51,8 +51,8 @@ async function exec(command, { echo = false, ignore = false, capture = false } =
51
51
  child.on('error', function (error) {
52
52
  reject({ code: 1, error: error });
53
53
  });
54
- // The 'exit' event is emitted after the child process ends. If the process exited, code is the final exit code of the process,
55
- // otherwise null. If the process terminated due to receipt of a signal, signal is the string name of the signal, otherwise null.
54
+ // The 'exit' event is emitted after the child process ends. If the process exited, code is the final exit code of the process,
55
+ // otherwise null. If the process terminated due to receipt of a signal, signal is the string name of the signal, otherwise null.
56
56
  // One of the two will always be non-null.
57
57
  child.on('exit', (code) => {
58
58
  resolve({ code: code, data: stdout });
@@ -0,0 +1 @@
1
+ "use strict";
package/eui/README.md ADDED
@@ -0,0 +1,72 @@
1
+ # eggs unattended install
2
+
3
+ Eggs unattended install è basato su semplici script ed, al momento,
4
+ per creare una ISO con possibilità di unattended-install, procedere come segue:
5
+
6
+ ```
7
+ cd /usr/lib/penguins-eggs/eui
8
+ ./eui-create-image.sh
9
+ ```
10
+ Verrà generata una immagine fast, quindi abbastanza veloce, e lanciato il comando cuckoo.
11
+
12
+
13
+ # Modifiche necessarie rispetto ad una normale immagine
14
+
15
+ Sono coinvolti 3 file:
16
+ * /etc/sudoers.d/eui-users
17
+ * /etc/xdg/autostart/eui.desktop
18
+ * /usr/bin/eui-start.ch
19
+
20
+ Vediamoli uno ad uno
21
+
22
+ ## /etc/sudoers.d/eui-users
23
+
24
+ Create a file:
25
+ ```
26
+ sudo nano /etc/sudoers.d/eui-users
27
+ ```
28
+ and copy and past, following code:
29
+
30
+ ```
31
+ live ALL=(ALL) NOPASSWD: /usr/bin/eui-start.sh
32
+ artisan ALL=(ALL) NOPASSWD: /usr/bin/eui-start.sh
33
+ ```
34
+ Change permissions to /etc/sudoers.d/eui-users
35
+ ```
36
+ chmod 0440 /etc/sudoers.d/eui-users
37
+ ```
38
+
39
+ ## /etc/xdg/autostart/eui.desktop
40
+
41
+ ```
42
+ [Desktop Entry]
43
+ Type=Application
44
+ Name=Eggs unattended install
45
+ Exec=sudo /usr/bin/eui-start.sh
46
+ StartupNotify=false
47
+ NoDisplay=true
48
+ Terminal=true #basically will open terminal and people can see the script executing
49
+ ```
50
+
51
+ ## /usr/bin/eui-start.sh
52
+
53
+ ```
54
+ #!/bin/env bash
55
+ if mountpoint -q "/lib/live/mount"; then
56
+ # isLive
57
+
58
+ # try to read /etc/hostname from /dev/sda
59
+ sudo mount "/dev/sda2" "/mnt"
60
+ OS_HOSTNAME=$(/usr/bin/cat /mnt/etc/hostname)
61
+ sudo umount "/dev/sda2"
62
+ sudo echo "I will completely format local system: ${OS_HOSTNAME}"
63
+ echo -n "Wait a minute for installation or CTRL-C to abort.";
64
+ for _ in {1..60}; do read -rs -n1 -t1 || printf ".";done;echo
65
+ sudo eggs install -unrd .local
66
+ else
67
+ # isInstalled
68
+ sudo rm /etc/sudoers.d/eui-users
69
+ sudo rm /usr/bin/eui-start.sh
70
+ sudo rm /etc/xdg/autostart/eui.desktop
71
+ fi
72
+ ```
@@ -0,0 +1,12 @@
1
+ #!/bin/env bash
2
+ sudo eggs tools clean -n
3
+ sudo eggs tools ppa -n
4
+ sudo eggs kill -n
5
+ sudo cp eui-users /etc/sudoers.d/
6
+ sudo cp eui-start.sh /usr/bin/
7
+ sudo cp eui.desktop /etc/xdg/autostart/
8
+ sudo eggs produce --release -n
9
+ sudo rm /etc/sudoers.d/eui-users
10
+ sudo rm /usr/bin/eui-start.sh
11
+ sudo rm /etc/xdg/autostart/eui.desktop
12
+ sudo eggs cuckoo
@@ -0,0 +1,32 @@
1
+ #!/bin/env bash
2
+ if mountpoint -q "/lib/live/mount"; then
3
+
4
+ # if isLive
5
+ echo "E G G S: the reproductive system of penguins"
6
+ echo
7
+ echo "WARNING: A fully automated system installation is about to start,"
8
+ echo " ALL data on the hard drive present will be ERASED!"
9
+ echo
10
+
11
+ # try to read /etc/hostname from /dev/sda
12
+ sudo mount "/dev/sda2" "/mnt"
13
+ OS_HOSTNAME=$(/usr/bin/cat /mnt/etc/hostname)
14
+ sudo umount "/dev/sda2"
15
+
16
+ echo "I will completely format local system: ${OS_HOSTNAME}"
17
+ echo
18
+ echo "Installation will start in one minute, press CTRL-C to abort!"
19
+ echo
20
+ echo -n "Waiting... ";
21
+ for _ in {1..60}; do read -rs -n1 -t1 || printf ".";done;echo
22
+
23
+ # install system
24
+ sudo eggs install -unrd .local
25
+ else
26
+ # isInstalled
27
+ sudo rm -f /etc/sudoers.d/eui-users
28
+ sudo rm -f /usr/bin/eui-start.sh
29
+ sudo rm -f /etc/xdg/autostart/eui.desktop
30
+ fi
31
+
32
+
package/eui/eui-users ADDED
@@ -0,0 +1,2 @@
1
+ live ALL=(ALL) NOPASSWD: /usr/bin/eui-start.sh
2
+ artisan ALL=(ALL) NOPASSWD: /usr/bin/eui-start.sh
@@ -0,0 +1,10 @@
1
+ [Desktop Entry]
2
+ Type=Application
3
+ Name=Eggs unattended install
4
+ Exec=sudo /usr/bin/eui-start.sh
5
+ StartupNotify=false
6
+ NoDisplay=true
7
+ Terminal=true
8
+ X-GNOME-Autostart-Phase=Initialization
9
+ X-KDE-autostart-phase=1
10
+ X-KDE-AutostartScript=true
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "penguins-eggs",
3
3
  "description": "Perri's Brewery edition: remaster your system and distribuite it",
4
- "version": "9.3.25",
4
+ "version": "9.3.27",
5
5
  "author": "Piero Proietti @pieroproietti",
6
6
  "bin": {
7
7
  "eggs": "bin/run"
@@ -25,8 +25,10 @@
25
25
  "mustache": "^4.2.0",
26
26
  "netmask": "^2.0.2",
27
27
  "node-static": "^0.7.11",
28
+ "etrick": "^0.0.2",
28
29
  "react": "^17.0.2",
29
30
  "shelljs": "0.8.5",
31
+ "systeminformation": "^5.17.9",
30
32
  "tftp": "^0.1.2",
31
33
  "tslib": "^2.4.1",
32
34
  "typescript": "^4.9.4"
@@ -73,6 +75,7 @@
73
75
  "/bin",
74
76
  "/conf",
75
77
  "/dist",
78
+ "/eui",
76
79
  "/ipxe",
77
80
  "/manpages",
78
81
  "mkinitcpio",
@@ -83,7 +86,8 @@
83
86
  "oclif",
84
87
  "refracta",
85
88
  "remastersys",
86
- "systemback"
89
+ "systemback",
90
+ "pxe"
87
91
  ],
88
92
  "license": "MIT",
89
93
  "main": "./dist/index.js",
@@ -113,7 +117,10 @@
113
117
  "docs": "rm docs -rf && npx typedoc src --out docs",
114
118
  "lint-and-fix": "eslint . --ext .ts --fix --config .eslintrc",
115
119
  "lint": "eslint . --ext .ts --config .eslintrc",
120
+ "manifest": "oclif manifest",
121
+ "readme": "oclif readme",
116
122
  "posttest": "eslint . --ext .ts --config .eslintrc",
123
+ "_prepack": "rm dist -rf && tsc -b && oclif manifest && oclif readme",
117
124
  "prettier-format": "prettier --config .prettierrc 'src/**/*.ts' --write",
118
125
  "tarballs": "oclif pack:tarballs --root=. --targets=linux-x64 --no-xz",
119
126
  "test": "nyc --extension .ts mocha --forbid-only \"test/**/*.test.ts\"",
package/scripts/_eggs CHANGED
@@ -57,6 +57,7 @@ calamares)
57
57
  _command_flags=(
58
58
  "--help[Show CLI help.]"
59
59
  "--install[install calamares and it's dependencies]"
60
+ "--nointeractive[no user interaction]"
60
61
  "--release[release: remove calamares and all it's dependencies after the installation]"
61
62
  "--remove[remove calamares and it's dependencies]"
62
63
  "--theme=-[theme/branding for eggs and calamares]:"
@@ -68,7 +69,7 @@ config)
68
69
  _command_flags=(
69
70
  "--clean[remove old configuration before to create new one]"
70
71
  "--help[Show CLI help.]"
71
- "--nointeractive[assume yes]"
72
+ "--nointeractive[no user interaction]"
72
73
  "--verbose[verbose]"
73
74
  )
74
75
  ;;
@@ -112,7 +113,7 @@ install)
112
113
  "--domain=-[Domain name, defult: .local]:"
113
114
  "--help[Show CLI help.]"
114
115
  "--ip[hostname as ip, eg: ip-192-168-1-33]"
115
- "--nointeractive[assume yes]"
116
+ "--nointeractive[no user interaction]"
116
117
  "--none[Swap none: 256M]"
117
118
  "--pve[Proxmox VE install]"
118
119
  "--random[Add random to hostname, eg: colibri-ay412dt]"
@@ -126,6 +127,7 @@ install)
126
127
  kill)
127
128
  _command_flags=(
128
129
  "--help[Show CLI help.]"
130
+ "--nointeractive[no user interaction]"
129
131
  "--verbose[verbose]"
130
132
  )
131
133
  ;;
@@ -144,7 +146,7 @@ produce)
144
146
  "--cryptedclone[crypted clone]"
145
147
  "--help[Show CLI help.]"
146
148
  "--max[max compression]"
147
- "--nointeractive[don't ask for user interctions]"
149
+ "--nointeractive[no user interaction]"
148
150
  "--prefix=-[prefix]:"
149
151
  "--release[release: max compression, remove penguins-eggs and calamares after installation]"
150
152
  "--script[script mode. Generate scripts to manage iso build]"
@@ -184,6 +186,7 @@ syncto)
184
186
  tools:clean)
185
187
  _command_flags=(
186
188
  "--help[Show CLI help.]"
189
+ "--nointeractive[no user interaction]"
187
190
  "--verbose[verbose]"
188
191
  )
189
192
  ;;
@@ -192,6 +195,7 @@ tools:ppa)
192
195
  _command_flags=(
193
196
  "--add[add penguins-eggs PPA repository]"
194
197
  "--help[Show CLI help.]"
198
+ "--nointeractive[no user interaction]"
195
199
  "--remove[remove penguins-eggs PPA repository]"
196
200
  "--verbose[verbose]"
197
201
  )
package/scripts/eggs.bash CHANGED
@@ -13,21 +13,21 @@ _eggs_autocomplete()
13
13
  local commands="
14
14
  adapt --help --verbose
15
15
  analyze --help --verbose
16
- calamares --help --install --release --remove --theme --verbose
16
+ calamares --help --install --nointeractive --release --remove --theme --verbose
17
17
  config --clean --help --nointeractive --verbose
18
18
  cuckoo --help
19
19
  dad --clean --default --help --verbose
20
20
  export:deb --all --clean --help --verbose
21
21
  export:iso --clean --help --verbose
22
22
  install --crypted --custom --domain --help --ip --nointeractive --none --pve --random --small --suspend --unattended --verbose
23
- kill --help --verbose
23
+ kill --help --nointeractive --verbose
24
24
  mom --help
25
25
  produce --addons --basename --clone --cryptedclone --help --max --nointeractive --prefix --release --script --standard --theme --verbose --yolk
26
26
  status --help --verbose
27
27
  syncfrom --delete --file --help --rootdir --verbose
28
28
  syncto --delete --file --help --verbose
29
- tools:clean --help --verbose
30
- tools:ppa --add --help --remove --verbose
29
+ tools:clean --help --nointeractive --verbose
30
+ tools:ppa --add --help --nointeractive --remove --verbose
31
31
  tools:skel --help --user --verbose
32
32
  tools:stat --help --month --year
33
33
  tools:yolk --help --verbose
package/scripts/mom.sh CHANGED
@@ -4,18 +4,17 @@ function main() {
4
4
 
5
5
  # root
6
6
  root=$(cat /usr/lib/penguins-eggs/.oclif.manifest.json | jq .)
7
- result=$(echo ${root} | jq ".commands[].id")
8
- result+=("documentation" "quit")
7
+ COMMANDS=$(echo ${root} | jq ".commands[].id")
8
+ result=("DOCUMENTATION" ${COMMANDS} "QUIT")
9
9
 
10
10
  while true; do
11
11
  clear
12
- # NOTE [@]
13
12
  menu ${result[@]}
14
13
  answer=$(0< "${dir_tmp}/${file_tmp}" )
15
14
  case "$answer" in
16
- quit)
15
+ QUIT)
17
16
  exit ;;
18
- documentation)
17
+ DOCUMENTATION)
19
18
  documentation ;;
20
19
  *)
21
20
  eggs $answer --help
@@ -31,7 +30,7 @@ function main() {
31
30
  function documentation() {
32
31
  while true; do
33
32
 
34
- menu "book" "manual" "man" "repository" "sourceforge" "quit"
33
+ menu "book" "manual" "man" "repository" "sourceforge" "QUIT"
35
34
  choose=$(0< "${dir_tmp}/${file_tmp}" )
36
35
 
37
36
  case "$choose" in
@@ -45,7 +44,7 @@ function documentation() {
45
44
  documentation_repository ;;
46
45
  sourceforge)
47
46
  documentation_sourceforge ;;
48
- quit)
47
+ QUIT)
49
48
  break ;;
50
49
  esac
51
50
  done