penguins-eggs 9.6.34 → 10.0.0

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 (351) hide show
  1. package/.oclif.manifest.json +1458 -1
  2. package/README.md +823 -8
  3. package/addons/eggs/theme/livecd/grub.main.cfg +4 -4
  4. package/addons/eggs/theme/livecd/isolinux.main.cfg +5 -5
  5. package/bin/dev.cmd +1 -1
  6. package/bin/dev.js +6 -0
  7. package/bin/run.js +5 -0
  8. package/conf/derivatives.yaml +2 -0
  9. package/conf/distros/buster/calamares/calamares-modules/bootloader-config/bootloader-config.sh +3 -3
  10. package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +1 -1
  11. package/conf/distros/buster/calamares/modules/fstab.yml +1 -1
  12. package/conf/distros/focal/calamares/modules/fstab.yml +1 -1
  13. package/conf/{exclude.list.homes → exclude.list.d/home.list} +6 -1
  14. package/conf/{exclude.list.template → exclude.list.d/master.list} +15 -24
  15. package/conf/exclude.list.d/var.list +21 -0
  16. package/conf/tools.yaml +1 -3
  17. package/dist/classes/bleach.d.ts +37 -0
  18. package/dist/classes/bleach.js +43 -91
  19. package/dist/classes/cfs.d.ts +17 -0
  20. package/dist/classes/cfs.js +15 -12
  21. package/dist/classes/compressors.d.ts +53 -0
  22. package/dist/classes/compressors.js +51 -58
  23. package/dist/classes/daddy.d.ts +18 -0
  24. package/dist/classes/daddy.js +93 -101
  25. package/dist/classes/distro.d.ts +26 -0
  26. package/dist/classes/distro.js +45 -27
  27. package/dist/classes/families/archlinux.d.ts +61 -0
  28. package/dist/classes/families/archlinux.js +56 -113
  29. package/dist/classes/families/debian.d.ts +65 -0
  30. package/dist/classes/families/debian.js +68 -143
  31. package/dist/classes/families/fedora.d.ts +52 -0
  32. package/dist/classes/families/fedora.js +43 -99
  33. package/dist/classes/families/mockup.d.ts +60 -0
  34. package/dist/classes/families/mockup.js +27 -46
  35. package/dist/classes/families/suse.d.ts +52 -0
  36. package/dist/classes/families/suse.js +45 -97
  37. package/dist/classes/incubation/branding.d.ts +17 -0
  38. package/dist/classes/incubation/branding.js +33 -32
  39. package/dist/classes/incubation/distros/bionic.d.ts +32 -0
  40. package/dist/classes/incubation/distros/bionic.js +15 -15
  41. package/dist/classes/incubation/distros/buster.d.ts +32 -0
  42. package/dist/classes/incubation/distros/buster.js +15 -15
  43. package/dist/classes/incubation/distros/focal.d.ts +32 -0
  44. package/dist/classes/incubation/distros/focal.js +15 -15
  45. package/dist/classes/incubation/distros/jessie.d.ts +31 -0
  46. package/dist/classes/incubation/distros/jessie.js +11 -13
  47. package/dist/classes/incubation/distros/rolling.d.ts +32 -0
  48. package/dist/classes/incubation/distros/rolling.js +15 -16
  49. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +11 -0
  50. package/dist/classes/incubation/fisherman-helper/displaymanager.js +8 -9
  51. package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
  52. package/dist/classes/incubation/fisherman-helper/packages.js +17 -17
  53. package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
  54. package/dist/classes/incubation/fisherman-helper/settings.js +30 -28
  55. package/dist/classes/incubation/fisherman.d.ts +77 -0
  56. package/dist/classes/incubation/fisherman.js +137 -132
  57. package/dist/classes/incubation/incubator.d.ts +40 -0
  58. package/dist/classes/incubation/incubator.js +93 -87
  59. package/dist/classes/incubation/installer.d.ts +13 -0
  60. package/dist/classes/incubation/installer.js +27 -12
  61. package/dist/classes/initrd.d.ts +41 -0
  62. package/dist/classes/initrd.js +42 -44
  63. package/dist/classes/keyboards.d.ts +50 -0
  64. package/dist/classes/keyboards.js +110 -107
  65. package/dist/classes/locales.d.ts +21 -0
  66. package/dist/classes/locales.js +30 -34
  67. package/dist/classes/n8.d.ts +17 -0
  68. package/dist/classes/n8.js +16 -22
  69. package/dist/classes/network.d.ts +37 -0
  70. package/dist/classes/network.js +21 -25
  71. package/dist/classes/ovary.d.ts +205 -0
  72. package/dist/classes/ovary.js +1262 -1334
  73. package/dist/classes/pacman.d.ts +149 -0
  74. package/dist/classes/pacman.js +347 -426
  75. package/dist/classes/pve-live.d.ts +17 -0
  76. package/dist/classes/pve-live.js +23 -25
  77. package/dist/classes/pxe.d.ts +65 -0
  78. package/dist/classes/pxe.js +206 -210
  79. package/dist/classes/settings.d.ts +53 -0
  80. package/dist/classes/settings.js +99 -102
  81. package/dist/classes/sources_list.d.ts +28 -0
  82. package/dist/classes/sources_list.js +35 -39
  83. package/dist/classes/systemctl.d.ts +47 -0
  84. package/dist/classes/systemctl.js +35 -39
  85. package/dist/classes/tailor.d.ts +46 -0
  86. package/dist/classes/tailor.js +225 -241
  87. package/dist/classes/tools.d.ts +30 -0
  88. package/dist/classes/tools.js +20 -26
  89. package/dist/classes/users.d.ts +28 -0
  90. package/dist/classes/users.js +22 -16
  91. package/dist/classes/utils.d.ts +318 -0
  92. package/dist/classes/utils.js +91 -76
  93. package/dist/classes/xdg.d.ts +45 -0
  94. package/dist/classes/xdg.js +129 -133
  95. package/dist/classes/yolk.d.ts +33 -0
  96. package/dist/classes/yolk.js +54 -60
  97. package/dist/commands/adapt.d.ts +17 -0
  98. package/dist/commands/adapt.js +21 -25
  99. package/dist/commands/analyze.d.ts +26 -0
  100. package/dist/commands/analyze.js +60 -74
  101. package/dist/commands/calamares.d.ts +29 -0
  102. package/dist/commands/calamares.js +53 -60
  103. package/dist/commands/config.d.ts +36 -0
  104. package/dist/commands/config.js +120 -142
  105. package/dist/commands/cuckoo.d.ts +16 -0
  106. package/dist/commands/cuckoo.js +24 -28
  107. package/dist/commands/dad.d.ts +19 -0
  108. package/dist/commands/dad.js +26 -30
  109. package/dist/commands/export/deb.d.ts +19 -0
  110. package/dist/commands/export/deb.js +33 -42
  111. package/dist/commands/export/iso.d.ts +19 -0
  112. package/dist/commands/export/iso.js +24 -28
  113. package/dist/commands/install.d.ts +37 -0
  114. package/dist/commands/install.js +68 -68
  115. package/dist/commands/kill.d.ts +24 -0
  116. package/dist/commands/kill.js +31 -38
  117. package/dist/commands/mom.d.ts +16 -0
  118. package/dist/commands/mom.js +20 -22
  119. package/dist/commands/produce.d.ts +33 -0
  120. package/dist/commands/produce.js +100 -92
  121. package/dist/commands/status.d.ts +23 -0
  122. package/dist/commands/status.js +14 -20
  123. package/dist/commands/syncfrom.d.ts +45 -0
  124. package/dist/commands/syncfrom.js +99 -109
  125. package/dist/commands/syncto.d.ts +40 -0
  126. package/dist/commands/syncto.js +152 -216
  127. package/dist/commands/tools/clean.d.ts +18 -0
  128. package/dist/commands/tools/clean.js +21 -25
  129. package/dist/commands/tools/ppa.d.ts +26 -0
  130. package/dist/commands/tools/ppa.js +46 -50
  131. package/dist/commands/tools/skel.d.ts +18 -0
  132. package/dist/commands/tools/skel.js +27 -31
  133. package/dist/commands/tools/stat.d.ts +31 -0
  134. package/dist/commands/tools/stat.js +21 -25
  135. package/dist/commands/tools/yolk.d.ts +24 -0
  136. package/dist/commands/tools/yolk.js +23 -27
  137. package/dist/commands/update.d.ts +47 -0
  138. package/dist/commands/update.js +66 -70
  139. package/dist/commands/wardrobe/get.d.ts +23 -0
  140. package/dist/commands/wardrobe/get.js +26 -28
  141. package/dist/commands/wardrobe/list.d.ts +24 -0
  142. package/dist/commands/wardrobe/list.js +69 -67
  143. package/dist/commands/wardrobe/show.d.ts +25 -0
  144. package/dist/commands/wardrobe/show.js +57 -52
  145. package/dist/commands/wardrobe/wear.d.ts +26 -0
  146. package/dist/commands/wardrobe/wear.js +39 -41
  147. package/dist/components/finished.d.ts +15 -0
  148. package/dist/components/finished.js +37 -42
  149. package/dist/components/information.d.ts +8 -0
  150. package/dist/components/information.js +155 -0
  151. package/dist/components/install.d.ts +15 -0
  152. package/dist/components/install.js +31 -35
  153. package/dist/components/keyboard.d.ts +16 -0
  154. package/dist/components/keyboard.js +37 -40
  155. package/dist/components/location.d.ts +16 -0
  156. package/dist/components/location.js +38 -38
  157. package/dist/components/network.d.ts +19 -0
  158. package/dist/components/network.js +47 -48
  159. package/dist/components/partitions.d.ts +16 -0
  160. package/dist/components/partitions.js +47 -51
  161. package/dist/components/steps.d.ts +13 -0
  162. package/dist/components/steps.js +148 -0
  163. package/dist/components/summary.d.ts +24 -0
  164. package/dist/components/summary.js +53 -54
  165. package/dist/components/title.d.ts +12 -0
  166. package/dist/components/title.js +35 -0
  167. package/dist/components/users.d.ts +24 -0
  168. package/dist/components/users.js +43 -43
  169. package/dist/components/welcome.d.ts +13 -0
  170. package/dist/components/welcome.js +37 -38
  171. package/dist/index.d.ts +8 -0
  172. package/dist/index.js +8 -5
  173. package/dist/interfaces/i-addons.d.ts +13 -0
  174. package/dist/interfaces/i-addons.js +8 -3
  175. package/dist/interfaces/i-analyze.d.ts +17 -0
  176. package/dist/interfaces/i-analyze.js +11 -16
  177. package/dist/interfaces/i-app.d.ts +14 -0
  178. package/dist/interfaces/i-app.js +8 -2
  179. package/dist/interfaces/i-branding.d.ts +36 -0
  180. package/dist/interfaces/i-branding.js +8 -2
  181. package/dist/interfaces/i-calamares-partition.d.ts +18 -0
  182. package/dist/interfaces/i-calamares-partition.js +3 -4
  183. package/dist/interfaces/i-config-tools.d.ts +18 -0
  184. package/dist/interfaces/i-config-tools.js +8 -2
  185. package/dist/interfaces/i-devices.d.ts +20 -0
  186. package/dist/interfaces/i-devices.js +8 -2
  187. package/dist/interfaces/i-distro.d.ts +27 -0
  188. package/dist/interfaces/i-distro.js +3 -4
  189. package/dist/interfaces/i-drive-list.d.ts +33 -0
  190. package/dist/interfaces/i-drive-list.js +3 -4
  191. package/dist/interfaces/i-eggs-config.d.ts +32 -0
  192. package/dist/interfaces/i-eggs-config.js +3 -4
  193. package/dist/interfaces/i-excludes.d.ts +14 -0
  194. package/dist/interfaces/i-excludes.js +8 -0
  195. package/dist/interfaces/i-exec.d.ts +11 -0
  196. package/dist/interfaces/i-exec.js +3 -4
  197. package/dist/interfaces/i-initrd.d.ts +13 -0
  198. package/dist/interfaces/i-initrd.js +8 -2
  199. package/dist/interfaces/i-install.d.ts +16 -0
  200. package/dist/interfaces/i-install.js +8 -2
  201. package/dist/interfaces/i-installer.d.ts +17 -0
  202. package/dist/interfaces/i-installer.js +8 -2
  203. package/dist/interfaces/i-krill-config.d.ts +33 -0
  204. package/dist/interfaces/i-krill-config.js +3 -4
  205. package/dist/interfaces/i-krill.d.ts +42 -0
  206. package/dist/interfaces/i-krill.js +8 -2
  207. package/dist/interfaces/i-materia.d.ts +41 -0
  208. package/dist/interfaces/i-materia.js +8 -2
  209. package/dist/interfaces/i-net.d.ts +16 -0
  210. package/dist/interfaces/i-net.js +8 -2
  211. package/dist/interfaces/i-packages.d.ts +29 -0
  212. package/dist/interfaces/i-packages.js +3 -4
  213. package/dist/interfaces/i-partitions.d.ts +16 -0
  214. package/dist/interfaces/i-partitions.js +8 -2
  215. package/dist/interfaces/i-pxe.d.ts +21 -0
  216. package/dist/interfaces/i-pxe.js +8 -39
  217. package/dist/interfaces/i-remix.d.ts +21 -0
  218. package/dist/interfaces/i-remix.js +3 -4
  219. package/dist/interfaces/i-settings.d.ts +39 -0
  220. package/dist/interfaces/i-settings.js +8 -2
  221. package/dist/interfaces/i-user.d.ts +14 -0
  222. package/dist/interfaces/i-user.js +8 -2
  223. package/dist/interfaces/i-workdir.d.ts +14 -0
  224. package/dist/interfaces/i-workdir.js +8 -2
  225. package/dist/interfaces/i-xkb-model.d.ts +24 -0
  226. package/dist/interfaces/i-xkb-model.js +8 -2
  227. package/dist/interfaces/index.d.ts +25 -0
  228. package/dist/interfaces/index.js +3 -4
  229. package/dist/krill/modules/add-user.d.ts +20 -0
  230. package/dist/krill/modules/add-user.js +11 -15
  231. package/dist/krill/modules/bootloader-config-arch.d.ts +14 -0
  232. package/dist/krill/modules/bootloader-config-arch.js +15 -11
  233. package/dist/krill/modules/bootloader-config-debian.d.ts +10 -0
  234. package/dist/krill/modules/bootloader-config-debian.js +20 -16
  235. package/dist/krill/modules/bootloader-config.d.ts +10 -0
  236. package/dist/krill/modules/bootloader-config.js +3 -6
  237. package/dist/krill/modules/bootloader.d.ts +14 -0
  238. package/dist/krill/modules/bootloader.js +9 -13
  239. package/dist/krill/modules/change-password.d.ts +15 -0
  240. package/dist/krill/modules/change-password.js +5 -8
  241. package/dist/krill/modules/del-live-user.d.ts +14 -0
  242. package/dist/krill/modules/del-live-user.js +8 -12
  243. package/dist/krill/modules/fstab.d.ts +14 -0
  244. package/dist/krill/modules/fstab.js +69 -46
  245. package/dist/krill/modules/grubcfg.d.ts +17 -0
  246. package/dist/krill/modules/grubcfg.js +8 -17
  247. package/dist/krill/modules/hostname.d.ts +13 -0
  248. package/dist/krill/modules/hostname.js +11 -17
  249. package/dist/krill/modules/initramfs-cfg.d.ts +14 -0
  250. package/dist/krill/modules/initramfs-cfg.js +6 -15
  251. package/dist/krill/modules/initramfs.d.ts +13 -0
  252. package/dist/krill/modules/initramfs.js +17 -19
  253. package/dist/krill/modules/locale-cfg.d.ts +10 -0
  254. package/dist/krill/modules/locale-cfg.js +8 -12
  255. package/dist/krill/modules/locale.d.ts +13 -0
  256. package/dist/krill/modules/locale.js +7 -11
  257. package/dist/krill/modules/m-keyboard.d.ts +14 -0
  258. package/dist/krill/modules/m-keyboard.js +14 -18
  259. package/dist/krill/modules/m-timezone.d.ts +14 -0
  260. package/dist/krill/modules/m-timezone.js +8 -12
  261. package/dist/krill/modules/machine-id.d.ts +15 -0
  262. package/dist/krill/modules/machine-id.js +6 -10
  263. package/dist/krill/modules/mkfs.d.ts +13 -0
  264. package/dist/krill/modules/mkfs.js +33 -23
  265. package/dist/krill/modules/mount-fs.d.ts +17 -0
  266. package/dist/krill/modules/mount-fs.js +20 -26
  267. package/dist/krill/modules/mount-vfs.d.ts +17 -0
  268. package/dist/krill/modules/mount-vfs.js +16 -21
  269. package/dist/krill/modules/network-cfg.d.ts +19 -0
  270. package/dist/krill/modules/network-cfg.js +28 -31
  271. package/dist/krill/modules/packages.d.ts +14 -0
  272. package/dist/krill/modules/packages.js +17 -21
  273. package/dist/krill/modules/partition.d.ts +20 -0
  274. package/dist/krill/modules/partition.js +80 -86
  275. package/dist/krill/modules/remove-installer-link.d.ts +13 -0
  276. package/dist/krill/modules/remove-installer-link.js +7 -11
  277. package/dist/krill/modules/umount.d.ts +14 -0
  278. package/dist/krill/modules/umount.js +9 -13
  279. package/dist/krill/modules/unpackfs.d.ts +13 -0
  280. package/dist/krill/modules/unpackfs.js +7 -11
  281. package/dist/krill/prepare.d.ts +77 -0
  282. package/dist/krill/{krill-prepare.js → prepare.js} +136 -130
  283. package/dist/krill/sequence.d.ts +156 -0
  284. package/dist/krill/sequence.js +640 -0
  285. package/dist/lib/cli-autologin.d.ts +43 -0
  286. package/dist/lib/cli-autologin.js +88 -92
  287. package/dist/lib/get_address.d.ts +8 -0
  288. package/dist/lib/get_address.js +9 -11
  289. package/dist/lib/get_dns.d.ts +8 -0
  290. package/dist/lib/get_dns.js +9 -11
  291. package/dist/lib/get_domain.d.ts +8 -0
  292. package/dist/lib/get_domain.js +9 -11
  293. package/dist/lib/get_gateway.d.ts +8 -0
  294. package/dist/lib/get_gateway.js +9 -11
  295. package/dist/lib/get_hostname.d.ts +8 -0
  296. package/dist/lib/get_hostname.js +9 -11
  297. package/dist/lib/get_netmask.d.ts +8 -0
  298. package/dist/lib/get_netmask.js +9 -11
  299. package/dist/lib/get_password.d.ts +8 -0
  300. package/dist/lib/get_password.js +10 -13
  301. package/dist/lib/get_userfullname.d.ts +8 -0
  302. package/dist/lib/get_userfullname.js +9 -11
  303. package/dist/lib/get_username.d.ts +8 -0
  304. package/dist/lib/get_username.js +9 -12
  305. package/dist/lib/kill_me_softly.d.ts +11 -0
  306. package/dist/lib/kill_me_softly.js +19 -24
  307. package/dist/lib/select_address_type.d.ts +8 -0
  308. package/dist/lib/select_address_type.js +9 -12
  309. package/dist/lib/select_filesystem_type.d.ts +8 -0
  310. package/dist/lib/select_filesystem_type.js +19 -17
  311. package/dist/lib/select_installation_device.d.ts +8 -0
  312. package/dist/lib/select_installation_device.js +11 -15
  313. package/dist/lib/select_installation_mode.d.ts +8 -0
  314. package/dist/lib/select_installation_mode.js +9 -11
  315. package/dist/lib/select_interface.d.ts +8 -0
  316. package/dist/lib/select_interface.js +9 -12
  317. package/dist/lib/select_keyboard_layout.d.ts +11 -0
  318. package/dist/lib/select_keyboard_layout.js +11 -15
  319. package/dist/lib/select_keyboard_model.d.ts +11 -0
  320. package/dist/lib/select_keyboard_model.js +11 -15
  321. package/dist/lib/select_keyboard_option.d.ts +11 -0
  322. package/dist/lib/select_keyboard_option.js +11 -15
  323. package/dist/lib/select_keyboard_variant.d.ts +11 -0
  324. package/dist/lib/select_keyboard_variant.js +11 -15
  325. package/dist/lib/select_languages.d.ts +8 -0
  326. package/dist/lib/select_languages.js +11 -15
  327. package/dist/lib/select_regions.d.ts +8 -0
  328. package/dist/lib/select_regions.js +9 -11
  329. package/dist/lib/select_user_swap_choice.d.ts +8 -0
  330. package/dist/lib/select_user_swap_choice.js +13 -17
  331. package/dist/lib/select_zones.d.ts +8 -0
  332. package/dist/lib/select_zones.js +9 -11
  333. package/dist/lib/utils.d.ts +34 -0
  334. package/dist/lib/utils.js +24 -14
  335. package/manpages/doc/man/eggs.1.gz +0 -0
  336. package/manpages/doc/man/eggs.html +130 -76
  337. package/package.json +55 -74
  338. package/scripts/_eggs +9 -7
  339. package/scripts/eggs.bash +4 -4
  340. package/LICENSE +0 -339
  341. package/bin/dev +0 -17
  342. package/bin/run +0 -5
  343. package/conf/exclude.list.custom +0 -3
  344. package/dist/components/elements/information.js +0 -194
  345. package/dist/components/elements/steps.js +0 -152
  346. package/dist/components/elements/title.js +0 -36
  347. package/dist/interfaces/i-filters.js +0 -3
  348. package/dist/krill/krill-sequence.js +0 -645
  349. package/dist/lib/dependencies.js +0 -120
  350. package/manpages/doc/man/README.md +0 -0
  351. /package/conf/{exclude.list.usr → exclude.list.d/usr.list} +0 -0
@@ -1,38 +1,34 @@
1
- "use strict";
2
1
  /**
3
- * penguins-eggs
4
- * krill modules: mount-vfs.ts
2
+ * ./src/krill/modules/mount-vfs.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
5
4
  * author: Piero Proietti
6
5
  * email: piero.proietti@gmail.com
7
6
  * license: MIT
8
7
  * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
9
8
  */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.umountVfs = exports.mountVfs = void 0;
12
- const utils_1 = require("../../lib/utils");
9
+ import { exec } from '../../lib/utils.js';
13
10
  /**
14
11
  * mountvfs()
15
12
  */
16
- async function mountVfs() {
17
- await (0, utils_1.exec)(`mkdir ${this.installTarget}/dev ${this.toNull}`, this.echo);
18
- await (0, utils_1.exec)(`mkdir ${this.installTarget}/dev/pts ${this.toNull}`, this.echo);
19
- await (0, utils_1.exec)(`mkdir ${this.installTarget}/proc ${this.toNull}`, this.echo);
20
- await (0, utils_1.exec)(`mkdir ${this.installTarget}/sys ${this.toNull}`, this.echo);
21
- await (0, utils_1.exec)(`mkdir ${this.installTarget}/run ${this.toNull}`, this.echo);
22
- await (0, utils_1.exec)(`mount -o bind /dev ${this.installTarget}/dev ${this.toNull}`, this.echo);
23
- await (0, utils_1.exec)(`mount -o bind /dev/pts ${this.installTarget}/dev/pts ${this.toNull}`, this.echo);
24
- await (0, utils_1.exec)(`mount -o bind /proc ${this.installTarget}/proc ${this.toNull}`, this.echo);
25
- await (0, utils_1.exec)(`mount -o bind /sys ${this.installTarget}/sys ${this.toNull}`, this.echo);
13
+ export async function mountVfs() {
14
+ await exec(`mkdir ${this.installTarget}/dev ${this.toNull}`, this.echo);
15
+ await exec(`mkdir ${this.installTarget}/dev/pts ${this.toNull}`, this.echo);
16
+ await exec(`mkdir ${this.installTarget}/proc ${this.toNull}`, this.echo);
17
+ await exec(`mkdir ${this.installTarget}/sys ${this.toNull}`, this.echo);
18
+ await exec(`mkdir ${this.installTarget}/run ${this.toNull}`, this.echo);
19
+ await exec(`mount -o bind /dev ${this.installTarget}/dev ${this.toNull}`, this.echo);
20
+ await exec(`mount -o bind /dev/pts ${this.installTarget}/dev/pts ${this.toNull}`, this.echo);
21
+ await exec(`mount -o bind /proc ${this.installTarget}/proc ${this.toNull}`, this.echo);
22
+ await exec(`mount -o bind /sys ${this.installTarget}/sys ${this.toNull}`, this.echo);
26
23
  if (this.efi) {
27
- await (0, utils_1.exec)(`mount -o bind /sys/firmware/efi/efivars ${this.installTarget}/sys/firmware/efi/efivars ${this.toNull}`, this.echo);
24
+ await exec(`mount -o bind /sys/firmware/efi/efivars ${this.installTarget}/sys/firmware/efi/efivars ${this.toNull}`, this.echo);
28
25
  }
29
- await (0, utils_1.exec)(`mount -o rbind /run ${this.installTarget}/run ${this.toNull}`, this.echo);
26
+ await exec(`mount -o rbind /run ${this.installTarget}/run ${this.toNull}`, this.echo);
30
27
  }
31
- exports.mountVfs = mountVfs;
32
28
  /**
33
29
  *
34
30
  */
35
- async function umountVfs() {
31
+ export async function umountVfs() {
36
32
  await this.umount(`${this.installTarget}/dev/pts`);
37
33
  await this.umount(`${this.installTarget}/dev`);
38
34
  await this.umount(`${this.installTarget}/proc`);
@@ -42,4 +38,3 @@ async function umountVfs() {
42
38
  }
43
39
  await this.umount(`${this.installTarget}/sys`);
44
40
  }
45
- exports.umountVfs = umountVfs;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * ./src/krill/modules/network-cfg.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
+ */
9
+ import Sequence from '../sequence.js';
10
+ /**
11
+ * networkcfg
12
+ *
13
+ * - debian: /etc/network/interface
14
+ * - ubuntu: netplan
15
+ * - arch:
16
+ *
17
+ * - all: /etc/resolv.conf
18
+ */
19
+ export default function networkCfg(this: Sequence): Promise<void>;
@@ -1,16 +1,15 @@
1
- "use strict";
2
1
  /**
3
- * penguins-eggs
4
- * krill modules: network.ts
2
+ * ./src/krill/modules/network-cfg.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
5
4
  * author: Piero Proietti
6
5
  * email: piero.proietti@gmail.com
7
6
  * license: MIT
8
7
  * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
9
8
  */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- const tslib_1 = require("tslib");
12
- const utils_1 = tslib_1.__importDefault(require("../../classes/utils"));
13
- const pacman_1 = tslib_1.__importDefault(require("../../classes/pacman"));
9
+ import Pacman from '../../classes/pacman.js';
10
+ import Systemctl from '../../classes/systemctl.js';
11
+ import Utils from '../../classes/utils.js';
12
+ import { exec } from '../../lib/utils.js';
14
13
  /**
15
14
  * networkcfg
16
15
  *
@@ -20,11 +19,12 @@ const pacman_1 = tslib_1.__importDefault(require("../../classes/pacman"));
20
19
  *
21
20
  * - all: /etc/resolv.conf
22
21
  */
23
- async function networkCfg() {
22
+ export default async function networkCfg() {
23
+ const systemdCtl = new Systemctl();
24
24
  /**
25
25
  * debian: /etc/network/interfaces
26
26
  */
27
- if (this.distro.familyId === 'debian' && !pacman_1.default.packageIsInstalled('netplan.io')) {
27
+ if (this.distro.familyId === 'debian' && !Pacman.packageIsInstalled('netplan.io')) {
28
28
  const file = this.installTarget + '/etc/network/interfaces';
29
29
  let content = '# created by eggs\n\n';
30
30
  content += 'auto lo\n';
@@ -36,37 +36,34 @@ async function networkCfg() {
36
36
  content += ' netmask ' + this.network.netmask + '\n';
37
37
  content += ' gateway ' + this.network.gateway + '\n';
38
38
  }
39
- utils_1.default.write(file, content);
40
- // trixie use systemd-networkd
41
- // const systemdCtl = new Systemctl()
39
+ Utils.write(file, content);
40
+ // trixie
42
41
  // if (await systemdCtl.isActive('systemd-networkd.service')) {
43
42
  // await exec (`rm ${file}`)
44
43
  // }
45
44
  }
46
- else if (this.distro.familyId === 'debian' && pacman_1.default.packageIsInstalled('netplan.io')) {
47
- // ubuntu: netplan
45
+ else if (this.distro.familyId === 'debian' && Pacman.packageIsInstalled('netplan.io')) {
46
+ // netplan: to do
48
47
  }
49
48
  else if (this.distro.familyId === 'arch') {
50
- // arch:
49
+ // arch: seem to work
51
50
  }
52
51
  /**
53
- * THIS IS EXCLUDED ACTUALLY
54
- *
52
+ * resolv.conf
53
+ */
55
54
  if (this.network.addressType === 'dhcp') {
56
- const systemdCtl = new Systemctl()
57
- if (await systemdCtl.isActive('resolvconf.service')) {
58
- await exec(`rm ${this.installTarget}/etc/resolv.conf`)
59
- await exec(`ln -s /run/resolvconf/resolv.conf ${this.installTarget}/etc/resolv.conf`)
60
- } else {
61
- const file = this.installTarget + '/etc/resolv.conf'
62
- let content = '# created by eggs\n\n'
63
- content += 'domain ' + this.network.domain + '\n'
64
- for (const element of this.network.dns) {
65
- content += 'nameserver ' + element + '\n'
55
+ if (await systemdCtl.isActive('resolvconf.service')) {
56
+ await exec(`rm ${this.installTarget}/etc/resolv.conf`);
57
+ await exec(`ln -s usr/lib/systemd/resolv.conf /etc/resolv.conf`);
58
+ }
59
+ else {
60
+ const file = this.installTarget + '/etc/resolv.conf';
61
+ let content = '# created by eggs\n\n';
62
+ content += 'domain ' + this.network.domain + '\n';
63
+ for (const element of this.network.dns) {
64
+ content += 'nameserver ' + element + '\n';
65
+ }
66
+ Utils.write(file, content);
66
67
  }
67
- Utils.write(file, content)
68
- }
69
68
  }
70
- */
71
69
  }
72
- exports.default = networkCfg;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * ./src/krill/modules/packages.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
+ */
9
+ import Sequence from '../sequence.js';
10
+ /**
11
+ *
12
+ * @param this
13
+ */
14
+ export default function packages(this: Sequence): Promise<void>;
@@ -1,34 +1,31 @@
1
- "use strict";
2
1
  /**
3
- * penguins-eggs
4
- * krill modules: packages.ts
2
+ * ./src/krill/modules/packages.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
5
4
  * author: Piero Proietti
6
5
  * email: piero.proietti@gmail.com
7
6
  * license: MIT
8
7
  * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
9
8
  */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- const tslib_1 = require("tslib");
12
- const utils_1 = require("../../lib/utils");
13
- const utils_2 = tslib_1.__importDefault(require("../../classes/utils"));
14
- const pacman_1 = tslib_1.__importDefault(require("../../classes/pacman"));
15
- const fs_1 = tslib_1.__importDefault(require("fs"));
16
- const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
9
+ import yaml from 'js-yaml';
10
+ import fs from 'node:fs';
11
+ import Pacman from '../../classes/pacman.js';
12
+ import Utils from '../../classes/utils.js';
13
+ import { exec } from '../../lib/utils.js';
17
14
  /**
18
15
  *
19
16
  * @param this
20
17
  */
21
- async function packages() {
22
- const echoYes = utils_2.default.setEcho(true);
18
+ export default async function packages() {
19
+ const echoYes = Utils.setEcho(true);
23
20
  let modulePath = '/etc/penguins-eggs.d/krill/';
24
- if (pacman_1.default.packageIsInstalled('calamares')) {
21
+ if (Pacman.packageIsInstalled('calamares')) {
25
22
  modulePath = '/etc/calamares/';
26
23
  }
27
24
  const config_file = `${this.installTarget}${modulePath}modules/packages.conf`;
28
25
  let remove = [];
29
26
  let install = [];
30
- if (fs_1.default.existsSync(config_file)) {
31
- const packages = js_yaml_1.default.load(fs_1.default.readFileSync(config_file, 'utf-8'));
27
+ if (fs.existsSync(config_file)) {
28
+ const packages = yaml.load(fs.readFileSync(config_file, 'utf8'));
32
29
  const operations = JSON.parse(JSON.stringify(packages.operations));
33
30
  remove = operations[0].remove;
34
31
  if (operations.length > 1) {
@@ -44,15 +41,15 @@ async function packages() {
44
41
  for (const elem of remove) {
45
42
  cmd += elem + ' ';
46
43
  }
47
- await (0, utils_1.exec)(`${cmd} ${this.toNull}`, this.echo);
44
+ await exec(`${cmd} ${this.toNull}`, this.echo);
48
45
  }
49
46
  if (install.length > 0) {
50
47
  let cmd = `chroot ${this.installTarget} apt-get install -y `;
51
48
  for (const elem of install) {
52
49
  cmd += elem + ' ';
53
50
  }
54
- await (0, utils_1.exec)(`chroot ${this.installTarget} apt-get update ${this.toNull}`, this.echo);
55
- await (0, utils_1.exec)(`${cmd} ${this.toNull}`, this.echo);
51
+ await exec(`chroot ${this.installTarget} apt-get update ${this.toNull}`, this.echo);
52
+ await exec(`${cmd} ${this.toNull}`, this.echo);
56
53
  }
57
54
  }
58
55
  else if (packages.backend === 'pacman') {
@@ -64,15 +61,14 @@ async function packages() {
64
61
  for (const elem of remove) {
65
62
  cmd += elem + ' ';
66
63
  }
67
- await (0, utils_1.exec)(`${cmd} ${echoYes}`, this.echo);
64
+ await exec(`${cmd} ${echoYes}`, this.echo);
68
65
  }
69
66
  if (install.length > 0) {
70
67
  for (const elem of install) {
71
- await (0, utils_1.exec)(`chroot ${this.installTarget} pacman -S ${elem}`, echoYes);
68
+ await exec(`chroot ${this.installTarget} pacman -S ${elem}`, echoYes);
72
69
  }
73
70
  }
74
71
  }
75
72
  }
76
73
  }
77
74
  }
78
- exports.default = packages;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * ./src/krill/modules/partition.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
+ */
9
+ import Sequence from '../sequence.js';
10
+ /**
11
+ *
12
+ * @param this
13
+ */
14
+ export default function partition(this: Sequence): Promise<boolean>;
15
+ /**
16
+ *
17
+ * @param installDevice
18
+ * @returns
19
+ */
20
+ export declare function lvmPartInfo(installDevice?: string): Promise<[string, number, number, number]>;
@@ -1,25 +1,21 @@
1
- "use strict";
2
1
  /**
3
- * penguins-eggs
4
- * krill modules: partition.ts
2
+ * ./src/krill/modules/partition.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
5
4
  * author: Piero Proietti
6
5
  * email: piero.proietti@gmail.com
7
6
  * license: MIT
8
7
  * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
9
8
  */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.lvmPartInfo = void 0;
12
- const tslib_1 = require("tslib");
13
- const utils_1 = require("../../lib/utils");
14
- const utils_2 = tslib_1.__importDefault(require("../../classes/utils"));
15
- const shelljs_1 = tslib_1.__importDefault(require("shelljs"));
16
- const os_1 = tslib_1.__importDefault(require("os"));
9
+ import os from 'node:os';
10
+ import shx from 'shelljs';
11
+ import Utils from '../../classes/utils.js';
12
+ import { exec } from '../../lib/utils.js';
17
13
  /**
18
14
  *
19
15
  * @param this
20
16
  */
21
- async function partition() {
22
- const echoYes = utils_2.default.setEcho(true);
17
+ export default async function partition() {
18
+ const echoYes = Utils.setEcho(true);
23
19
  let retVal = false;
24
20
  const installDevice = this.partitions.installationDevice;
25
21
  /**
@@ -32,7 +28,7 @@ async function partition() {
32
28
  p = 'p';
33
29
  }
34
30
  const installMode = this.partitions.installationMode;
35
- let swapSize = Math.round(os_1.default.totalmem() / 1073741824) * 1024;
31
+ let swapSize = Math.round(os.totalmem() / 1_073_741_824) * 1024;
36
32
  switch (this.partitions.userSwapChoice) {
37
33
  case 'none': {
38
34
  swapSize = 256;
@@ -57,11 +53,11 @@ async function partition() {
57
53
  * BIOS: working
58
54
  * ===========================================================================================
59
55
  */
60
- await (0, utils_1.exec)(`parted --script ${installDevice} mklabel msdos`, this.echo);
61
- await (0, utils_1.exec)(`parted --script --align optimal ${installDevice} mkpart primary linux-swap 1MiB ${swapSize + 1}MiB`, this.echo); // dev/sda1 swap
62
- await (0, utils_1.exec)(`parted --script --align optimal ${installDevice} mkpart primary ext4 ${swapSize + 1}MiB 100%`, this.echo); // dev/sda2 root
63
- await (0, utils_1.exec)(`parted ${installDevice} set 1 boot on`, this.echo);
64
- await (0, utils_1.exec)(`parted ${installDevice} set 1 esp on`, this.echo);
56
+ await exec(`parted --script ${installDevice} mklabel msdos`, this.echo);
57
+ await exec(`parted --script --align optimal ${installDevice} mkpart primary linux-swap 1MiB ${swapSize + 1}MiB`, this.echo); // dev/sda1 swap
58
+ await exec(`parted --script --align optimal ${installDevice} mkpart primary ext4 ${swapSize + 1}MiB 100%`, this.echo); // dev/sda2 root
59
+ await exec(`parted ${installDevice} set 1 boot on`, this.echo);
60
+ await exec(`parted ${installDevice} set 1 esp on`, this.echo);
65
61
  // SWAP
66
62
  this.devices.swap.name = `${installDevice}${p}1`;
67
63
  this.devices.swap.fsType = 'swap';
@@ -82,27 +78,27 @@ async function partition() {
82
78
  * BIOS: full-encrypt:
83
79
  * ===========================================================================================
84
80
  */
85
- await (0, utils_1.exec)(`parted --script ${installDevice} mklabel msdos`, this.echo);
86
- await (0, utils_1.exec)(`parted --script --align optimal ${installDevice} mkpart primary ext4 1MiB 512MiB`, this.echo); // sda1
87
- await (0, utils_1.exec)(`parted --script --align optimal ${installDevice} mkpart primary linux-swap 512MiB ${swapSize + 512}MiB`, this.echo); // sda2
88
- await (0, utils_1.exec)(`parted --script --align optimal ${installDevice} mkpart primary ext4 ${swapSize + 512}MiB 100%`, this.echo); // sda3
89
- await (0, utils_1.exec)(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
90
- await (0, utils_1.exec)(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
81
+ await exec(`parted --script ${installDevice} mklabel msdos`, this.echo);
82
+ await exec(`parted --script --align optimal ${installDevice} mkpart primary ext4 1MiB 512MiB`, this.echo); // sda1
83
+ await exec(`parted --script --align optimal ${installDevice} mkpart primary linux-swap 512MiB ${swapSize + 512}MiB`, this.echo); // sda2
84
+ await exec(`parted --script --align optimal ${installDevice} mkpart primary ext4 ${swapSize + 512}MiB 100%`, this.echo); // sda3
85
+ await exec(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
86
+ await exec(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
91
87
  // BOOT 512M
92
88
  this.devices.boot.name = `${installDevice}${p}1`; // 'boot'
93
89
  this.devices.boot.fsType = 'ext4';
94
90
  this.devices.boot.mountPoint = '/boot';
95
91
  // SWAP 8G
96
92
  // this.redraw(<Install message={`Formatting LUKS ${installDevice}2`} percent={0} />)
97
- const crytoSwap = await (0, utils_1.exec)(`cryptsetup -y -v luksFormat --type luks2 ${installDevice}${p}2`, echoYes);
93
+ const crytoSwap = await exec(`cryptsetup -y -v luksFormat --type luks2 ${installDevice}${p}2`, echoYes);
98
94
  if (crytoSwap.code !== 0) {
99
- utils_2.default.warning(`Error: ${crytoSwap.code} ${crytoSwap.data}`);
95
+ Utils.warning(`Error: ${crytoSwap.code} ${crytoSwap.data}`);
100
96
  process.exit(1);
101
97
  }
102
98
  // this.redraw(<Install message={`Opening ${installDevice}${p}2 as swap_crypted`} percent={0} />)
103
- const crytoSwapOpen = await (0, utils_1.exec)(`cryptsetup luksOpen --type luks2 ${installDevice}${p}2 swap_crypted`, echoYes);
99
+ const crytoSwapOpen = await exec(`cryptsetup luksOpen --type luks2 ${installDevice}${p}2 swap_crypted`, echoYes);
104
100
  if (crytoSwapOpen.code !== 0) {
105
- utils_2.default.warning(`Error: ${crytoSwapOpen.code} ${crytoSwapOpen.data}`);
101
+ Utils.warning(`Error: ${crytoSwapOpen.code} ${crytoSwapOpen.data}`);
106
102
  process.exit(1);
107
103
  }
108
104
  this.devices.swap.name = '/dev/mapper/swap_crypted';
@@ -111,15 +107,15 @@ async function partition() {
111
107
  this.devices.swap.mountPoint = 'none';
112
108
  // ROOT
113
109
  // this.redraw(<Install message={`Formatting LUKS ${installDevice}${p}3`} percent={0} />)
114
- const crytoRoot = await (0, utils_1.exec)(`cryptsetup -y -v luksFormat --type luks2 ${installDevice}${p}3`, echoYes);
110
+ const crytoRoot = await exec(`cryptsetup -y -v luksFormat --type luks2 ${installDevice}${p}3`, echoYes);
115
111
  if (crytoRoot.code !== 0) {
116
- utils_2.default.warning(`Error: ${crytoRoot.code} ${crytoRoot.data}`);
112
+ Utils.warning(`Error: ${crytoRoot.code} ${crytoRoot.data}`);
117
113
  process.exit(1);
118
114
  }
119
115
  // this.redraw(<Install message={`Opening ${installDevice}${p}3 as root_crypted`} percent={0} />)
120
- const crytoRootOpen = await (0, utils_1.exec)(`cryptsetup luksOpen --type luks2 ${installDevice}${p}3 root_crypted`, echoYes);
116
+ const crytoRootOpen = await exec(`cryptsetup luksOpen --type luks2 ${installDevice}${p}3 root_crypted`, echoYes);
121
117
  if (crytoRootOpen.code !== 0) {
122
- utils_2.default.warning(`Error: ${crytoRootOpen.code} ${crytoRootOpen.data}`);
118
+ Utils.warning(`Error: ${crytoRootOpen.code} ${crytoRootOpen.data}`);
123
119
  process.exit(1);
124
120
  }
125
121
  this.devices.root.name = '/dev/mapper/root_crypted';
@@ -137,12 +133,12 @@ async function partition() {
137
133
  * UEFI: working
138
134
  * ===========================================================================================
139
135
  */
140
- await (0, utils_1.exec)(`parted --script ${installDevice} mklabel gpt`, this.echo);
141
- await (0, utils_1.exec)(`parted --script ${installDevice} mkpart efi fat32 34s 256MiB`, this.echo); // sda1 EFI
142
- await (0, utils_1.exec)(`parted --script ${installDevice} mkpart swap linux-swap 256MiB ${swapSize + 256}Mib`, this.echo); // sda2 swap
143
- await (0, utils_1.exec)(`parted --script ${installDevice} mkpart root ext4 ${swapSize + 256}MiB 100%`, this.echo); // sda3 root
144
- await (0, utils_1.exec)(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
145
- await (0, utils_1.exec)(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
136
+ await exec(`parted --script ${installDevice} mklabel gpt`, this.echo);
137
+ await exec(`parted --script ${installDevice} mkpart efi fat32 34s 256MiB`, this.echo); // sda1 EFI
138
+ await exec(`parted --script ${installDevice} mkpart swap linux-swap 256MiB ${swapSize + 256}Mib`, this.echo); // sda2 swap
139
+ await exec(`parted --script ${installDevice} mkpart root ext4 ${swapSize + 256}MiB 100%`, this.echo); // sda3 root
140
+ await exec(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
141
+ await exec(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
146
142
  this.devices.efi.name = `${installDevice}${p}1`;
147
143
  this.devices.efi.fsType = 'F 32 -I';
148
144
  this.devices.efi.mountPoint = '/boot/efi';
@@ -164,13 +160,13 @@ async function partition() {
164
160
  * UEFI, full-encrypt
165
161
  * ===========================================================================================
166
162
  */
167
- await (0, utils_1.exec)(`parted --script ${installDevice} mklabel gpt`, this.echo);
168
- await (0, utils_1.exec)(`parted --script ${installDevice} mkpart efi fat32 34s 256MiB`, this.echo); // sda1 EFI
169
- await (0, utils_1.exec)(`parted --script ${installDevice} mkpart boot ext4 256MiB 768MiB`, this.echo); // sda2 boot
170
- await (0, utils_1.exec)(`parted --script ${installDevice} mkpart swap linux-swap 768MiB ${swapSize + 768}MiB`, this.echo); // sda3 swap
171
- await (0, utils_1.exec)(`parted --script ${installDevice} mkpart root ext4 ${swapSize + 768}MiB 100%`, this.echo); // sda4 root
172
- await (0, utils_1.exec)(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
173
- await (0, utils_1.exec)(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
163
+ await exec(`parted --script ${installDevice} mklabel gpt`, this.echo);
164
+ await exec(`parted --script ${installDevice} mkpart efi fat32 34s 256MiB`, this.echo); // sda1 EFI
165
+ await exec(`parted --script ${installDevice} mkpart boot ext4 256MiB 768MiB`, this.echo); // sda2 boot
166
+ await exec(`parted --script ${installDevice} mkpart swap linux-swap 768MiB ${swapSize + 768}MiB`, this.echo); // sda3 swap
167
+ await exec(`parted --script ${installDevice} mkpart root ext4 ${swapSize + 768}MiB 100%`, this.echo); // sda4 root
168
+ await exec(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
169
+ await exec(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
174
170
  // EFI 256M
175
171
  this.devices.efi.name = `${installDevice}${p}1`; // 'efi'
176
172
  this.devices.efi.fsType = 'F 32 -I';
@@ -192,15 +188,15 @@ async function partition() {
192
188
  */
193
189
  // SWAP 8G
194
190
  // redraw(<Install message={`Formatting LUKS ${installDevice}${p}3`} percent={0} />)
195
- const crytoSwap = await (0, utils_1.exec)(`cryptsetup -y -v luksFormat --type luks2 ${installDevice}${p}3`, echoYes);
191
+ const crytoSwap = await exec(`cryptsetup -y -v luksFormat --type luks2 ${installDevice}${p}3`, echoYes);
196
192
  if (crytoSwap.code !== 0) {
197
- utils_2.default.warning(`Error: ${crytoSwap.code} ${crytoSwap.data}`);
193
+ Utils.warning(`Error: ${crytoSwap.code} ${crytoSwap.data}`);
198
194
  process.exit(1);
199
195
  }
200
196
  // this.redraw(<Install message={`Opening ${installDevice}${p}3 as swap_crypted`} percent={0} />)
201
- const crytoSwapOpen = await (0, utils_1.exec)(`cryptsetup luksOpen --type luks2 ${installDevice}${p}3 swap_crypted`, echoYes);
197
+ const crytoSwapOpen = await exec(`cryptsetup luksOpen --type luks2 ${installDevice}${p}3 swap_crypted`, echoYes);
202
198
  if (crytoSwapOpen.code !== 0) {
203
- utils_2.default.warning(`Error: ${crytoSwapOpen.code} ${crytoSwapOpen.data}`);
199
+ Utils.warning(`Error: ${crytoSwapOpen.code} ${crytoSwapOpen.data}`);
204
200
  process.exit(1);
205
201
  }
206
202
  this.devices.swap.name = '/dev/mapper/swap_crypted';
@@ -209,15 +205,15 @@ async function partition() {
209
205
  this.devices.swap.mountPoint = 'none';
210
206
  // ROOT
211
207
  // this.redraw(<Install message={`Formatting LUKS ${installDevice}${p}4`} percent={0} />)
212
- const crytoRoot = await (0, utils_1.exec)(`cryptsetup -y -v luksFormat --type luks2 ${installDevice}${p}4`, echoYes);
208
+ const crytoRoot = await exec(`cryptsetup -y -v luksFormat --type luks2 ${installDevice}${p}4`, echoYes);
213
209
  if (crytoRoot.code !== 0) {
214
- utils_2.default.warning(`Error: ${crytoRoot.code} ${crytoRoot.data}`);
210
+ Utils.warning(`Error: ${crytoRoot.code} ${crytoRoot.data}`);
215
211
  process.exit(1);
216
212
  }
217
213
  // this.redraw(<Install message={`Opening ${installDevice}${p}4 as root_crypted`} percent={0} />)
218
- const crytoRootOpen = await (0, utils_1.exec)(`cryptsetup luksOpen --type luks2 ${installDevice}${p}4 root_crypted`, echoYes);
214
+ const crytoRootOpen = await exec(`cryptsetup luksOpen --type luks2 ${installDevice}${p}4 root_crypted`, echoYes);
219
215
  if (crytoRootOpen.code !== 0) {
220
- utils_2.default.warning(`Error: ${crytoRootOpen.code} ${crytoRootOpen.data}`);
216
+ Utils.warning(`Error: ${crytoRootOpen.code} ${crytoRootOpen.data}`);
221
217
  process.exit(1);
222
218
  }
223
219
  this.devices.root.name = '/dev/mapper/root_crypted';
@@ -237,22 +233,22 @@ async function partition() {
237
233
  * ===========================================================================================
238
234
  */
239
235
  // Creo partizioni
240
- await (0, utils_1.exec)(`parted --script ${installDevice} mklabel msdos`, this.echo);
241
- await (0, utils_1.exec)(`parted --script ${installDevice} mkpart primary ext2 1 512`, this.echo); // sda1
242
- await (0, utils_1.exec)(`parted --script --align optimal ${installDevice} mkpart primary ext2 512 100%`, this.echo); // sda2
243
- await (0, utils_1.exec)(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
244
- await (0, utils_1.exec)(`parted --script ${installDevice} set 2 lvm on`, this.echo); // sda2
236
+ await exec(`parted --script ${installDevice} mklabel msdos`, this.echo);
237
+ await exec(`parted --script ${installDevice} mkpart primary ext2 1 512`, this.echo); // sda1
238
+ await exec(`parted --script --align optimal ${installDevice} mkpart primary ext2 512 100%`, this.echo); // sda2
239
+ await exec(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
240
+ await exec(`parted --script ${installDevice} set 2 lvm on`, this.echo); // sda2
245
241
  const partInfo = await lvmPartInfo(installDevice);
246
242
  const lvmPartname = partInfo[0];
247
243
  const lvmSwapSize = partInfo[1];
248
244
  const lvmRootSize = partInfo[2];
249
- await (0, utils_1.exec)(`pvcreate /dev/${lvmPartname}`, this.echo);
250
- await (0, utils_1.exec)(`vgcreate pve /dev/${lvmPartname}`, this.echo);
251
- await (0, utils_1.exec)('vgchange -an', this.echo);
252
- await (0, utils_1.exec)(`lvcreate -L ${lvmSwapSize} -nswap pve`, this.echo);
253
- await (0, utils_1.exec)(`lvcreate -L ${lvmRootSize} -nroot pve`, this.echo);
254
- await (0, utils_1.exec)('lvcreate -l 100%FREE -ndata pve', this.echo);
255
- await (0, utils_1.exec)('vgchange -a y pve', this.echo);
245
+ await exec(`pvcreate /dev/${lvmPartname}`, this.echo);
246
+ await exec(`vgcreate pve /dev/${lvmPartname}`, this.echo);
247
+ await exec('vgchange -an', this.echo);
248
+ await exec(`lvcreate -L ${lvmSwapSize} -nswap pve`, this.echo);
249
+ await exec(`lvcreate -L ${lvmRootSize} -nroot pve`, this.echo);
250
+ await exec('lvcreate -l 100%FREE -ndata pve', this.echo);
251
+ await exec('vgchange -a y pve', this.echo);
256
252
  this.devices.efi.name = 'none';
257
253
  this.devices.boot.name = `${installDevice}${p}1`;
258
254
  this.devices.root.fsType = 'ext2';
@@ -272,24 +268,24 @@ async function partition() {
272
268
  * PROXMOX VE: lvm2 and UEFI
273
269
  * ===========================================================================================
274
270
  */
275
- await (0, utils_1.exec)(`parted --script ${installDevice} mklabel gpt`, this.echo);
276
- await (0, utils_1.exec)(`parted --script ${installDevice} mkpart efi fat32 34s 256MiB`, this.echo); // sda1 EFI
277
- await (0, utils_1.exec)(`parted --script ${installDevice} mkpart boot ext2 256MiB 768MiB`, this.echo); // sda2 boot
278
- await (0, utils_1.exec)(`parted --script ${installDevice} mkpart lvm ext4 768MiB 100%`, this.echo); // sda3 lmv2
279
- await (0, utils_1.exec)(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
280
- await (0, utils_1.exec)(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
281
- await (0, utils_1.exec)(`parted --script ${installDevice} set 3 lvm on`, this.echo); // sda3
271
+ await exec(`parted --script ${installDevice} mklabel gpt`, this.echo);
272
+ await exec(`parted --script ${installDevice} mkpart efi fat32 34s 256MiB`, this.echo); // sda1 EFI
273
+ await exec(`parted --script ${installDevice} mkpart boot ext2 256MiB 768MiB`, this.echo); // sda2 boot
274
+ await exec(`parted --script ${installDevice} mkpart lvm ext4 768MiB 100%`, this.echo); // sda3 lmv2
275
+ await exec(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
276
+ await exec(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
277
+ await exec(`parted --script ${installDevice} set 3 lvm on`, this.echo); // sda3
282
278
  const partInfo = await lvmPartInfo(installDevice);
283
279
  const lvmPartname = partInfo[0];
284
280
  const lvmSwapSize = partInfo[1];
285
281
  const lvmRootSize = partInfo[2];
286
- await (0, utils_1.exec)(`pvcreate /dev/${lvmPartname}`, this.echo);
287
- await (0, utils_1.exec)(`vgcreate pve /dev/${lvmPartname}`, this.echo);
288
- await (0, utils_1.exec)('vgchange -an', this.echo);
289
- await (0, utils_1.exec)(`lvcreate -L ${lvmSwapSize} -nswap pve`, this.echo);
290
- await (0, utils_1.exec)(`lvcreate -L ${lvmRootSize} -nroot pve`, this.echo);
291
- await (0, utils_1.exec)('lvcreate -l 100%FREE -ndata pve', this.echo);
292
- await (0, utils_1.exec)('vgchange -a y pve', this.echo);
282
+ await exec(`pvcreate /dev/${lvmPartname}`, this.echo);
283
+ await exec(`vgcreate pve /dev/${lvmPartname}`, this.echo);
284
+ await exec('vgchange -an', this.echo);
285
+ await exec(`lvcreate -L ${lvmSwapSize} -nswap pve`, this.echo);
286
+ await exec(`lvcreate -L ${lvmRootSize} -nroot pve`, this.echo);
287
+ await exec('lvcreate -l 100%FREE -ndata pve', this.echo);
288
+ await exec('vgchange -a y pve', this.echo);
293
289
  this.devices.efi.name = `${installDevice}${p}1`;
294
290
  this.devices.efi.fsType = 'F 32 -I';
295
291
  this.devices.efi.mountPoint = '/boot/efi';
@@ -307,24 +303,22 @@ async function partition() {
307
303
  }
308
304
  return retVal;
309
305
  }
310
- exports.default = partition;
311
306
  /**
312
307
  *
313
308
  * @param installDevice
314
309
  * @returns
315
310
  */
316
- async function lvmPartInfo(installDevice = '/dev/sda') {
311
+ export async function lvmPartInfo(installDevice = '/dev/sda') {
317
312
  // Partizione LVM
318
- const lvmPartname = shelljs_1.default.exec(`fdisk ${installDevice} -l | grep LVM | awk '{print $1}' | cut -d "/" -f3`).stdout.trim();
319
- const lvmByteSize = Number(shelljs_1.default.exec(`cat /proc/partitions | grep ${lvmPartname}| awk '{print $3}' | grep "[0-9]"`).stdout.trim());
313
+ const lvmPartname = shx.exec(`fdisk ${installDevice} -l | grep LVM | awk '{print $1}' | cut -d "/" -f3`).stdout.trim();
314
+ const lvmByteSize = Number(shx.exec(`cat /proc/partitions | grep ${lvmPartname}| awk '{print $3}' | grep "[0-9]"`).stdout.trim());
320
315
  const lvmSize = lvmByteSize / 1024;
321
316
  // La partizione di root viene posta ad 1/4 della partizione LVM, limite max 100 GB
322
317
  const lvmSwapSize = 8192;
323
318
  let lvmRootSize = lvmSize / 8;
324
- if (lvmRootSize < 20480) {
325
- lvmRootSize = 20480;
319
+ if (lvmRootSize < 20_480) {
320
+ lvmRootSize = 20_480;
326
321
  }
327
322
  const lvmDataSize = lvmSize - lvmRootSize - lvmSwapSize;
328
323
  return [lvmPartname, lvmSwapSize, lvmRootSize, lvmDataSize];
329
324
  }
330
- exports.lvmPartInfo = lvmPartInfo;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * ./src/krill/modules/remove-installer-link.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
8
+ */
9
+ import Sequence from '../sequence.js';
10
+ /**
11
+ * removeInstallerLink
12
+ */
13
+ export default function removeInstallerLink(this: Sequence): Promise<void>;