penguins-eggs 10.0.60 → 10.1.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 (470) hide show
  1. package/.oclif.manifest.json +93 -1
  2. package/README.md +79 -40
  3. package/addons/eggs/theme/calamares/modules/{_users.yml → users.yml} +3 -3
  4. package/addons/eggs/theme/livecd/grub.main.full.cfg +1 -1
  5. package/addons/eggs/theme/livecd/grub.main.simple.cfg +1 -1
  6. package/conf/derivatives.yaml +1 -3
  7. package/conf/derivatives_fedora.yaml +6 -0
  8. package/conf/distros/alpine/calamares/modules/users.yml +3 -3
  9. package/conf/distros/bionic/calamares/calamares-modules/grubcfg/grubcfg.yml +1 -1
  10. package/conf/distros/bionic/calamares/modules/users.yml +3 -3
  11. package/conf/distros/buster/calamares/modules/users.yml +3 -3
  12. package/conf/distros/fedora/calamares/modules/users.yml +3 -3
  13. package/conf/distros/noble/calamares/modules/focal-jammy/users.yml +3 -3
  14. package/conf/distros/opensuse/calamares/modules/users.yml +3 -3
  15. package/conf/distros/rolling/calamares/modules/users.yml +3 -3
  16. package/conf/eggs.yaml +1 -1
  17. package/conf/love.yaml +4 -4
  18. package/package.json +22 -19
  19. package/perrisbrewery/scripts/postinst +98 -0
  20. package/perrisbrewery/scripts/postrm +82 -0
  21. package/perrisbrewery/scripts/preinst +40 -0
  22. package/perrisbrewery/scripts/prerm +47 -0
  23. package/perrisbrewery/template/control.template +17 -0
  24. package/perrisbrewery/template/dependencies-bionic.yaml +33 -0
  25. package/perrisbrewery/template/dependencies.yaml +37 -0
  26. package/perrisbrewery/template/man.template.md +110 -0
  27. package/pods/README.md +14 -0
  28. package/pods/almalinux.sh +10 -0
  29. package/pods/archlinux.sh +10 -0
  30. package/pods/ci/README.md +5 -0
  31. package/pods/ci/kernel-overlay-install.sh +114 -0
  32. package/pods/ci/minimal/almalinux-container2host.sh +165 -0
  33. package/pods/ci/minimal/archlinux-container2host.sh +125 -0
  34. package/pods/ci/minimal/debian-container2host.sh +173 -0
  35. package/pods/ci/minimal/fedora-container2host.sh +170 -0
  36. package/pods/ci/minimal/manjaro-container2host.sh +123 -0
  37. package/pods/ci/minimal/opensuse-container2host.sh +143 -0
  38. package/pods/ci/penguins-eggs-execute.sh +22 -0
  39. package/pods/ci/penguins-eggs-install.sh +115 -0
  40. package/pods/ci/run +34 -0
  41. package/pods/ci/run-on-almalinux.sh +50 -0
  42. package/pods/ci/run-on-archlinux.sh +64 -0
  43. package/pods/ci/run-on-debian.sh +51 -0
  44. package/pods/ci/run-on-devuan.sh +48 -0
  45. package/pods/ci/run-on-fedora.sh +51 -0
  46. package/pods/ci/run-on-manjaro.sh +61 -0
  47. package/pods/ci/run-on-opensuse.sh +58 -0
  48. package/pods/ci/run-on-rockylinux.sh +51 -0
  49. package/pods/ci/run-on-ubuntu.sh +52 -0
  50. package/pods/debian.sh +23 -0
  51. package/pods/devuan.sh +26 -0
  52. package/pods/fedora.sh +12 -0
  53. package/pods/lmde.sh +22 -0
  54. package/pods/manjaro.sh +10 -0
  55. package/pods/opensuse.sh +12 -0
  56. package/pods/podman.command.sh +85 -0
  57. package/pods/rocky.sh +12 -0
  58. package/pods/run-build-packages-debs.sh +45 -0
  59. package/pods/run-create-debs.sh +23 -0
  60. package/pods/ubuntu.sh +24 -0
  61. package/scripts/_eggs +21 -6
  62. package/scripts/eggs.bash +6 -4
  63. package/dist/classes/bleach.d.ts +0 -32
  64. package/dist/classes/bleach.js +0 -135
  65. package/dist/classes/cli-autologin.d.ts +0 -52
  66. package/dist/classes/cli-autologin.js +0 -247
  67. package/dist/classes/compressors.d.ts +0 -54
  68. package/dist/classes/compressors.js +0 -109
  69. package/dist/classes/daddy.d.ts +0 -26
  70. package/dist/classes/daddy.js +0 -167
  71. package/dist/classes/distro.d.ts +0 -32
  72. package/dist/classes/distro.js +0 -341
  73. package/dist/classes/diversions.d.ts +0 -52
  74. package/dist/classes/diversions.js +0 -126
  75. package/dist/classes/incubation/branding.d.ts +0 -17
  76. package/dist/classes/incubation/branding.js +0 -85
  77. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +0 -11
  78. package/dist/classes/incubation/fisherman-helper/displaymanager.js +0 -40
  79. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  80. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  81. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  82. package/dist/classes/incubation/fisherman-helper/settings.js +0 -83
  83. package/dist/classes/incubation/fisherman.d.ts +0 -70
  84. package/dist/classes/incubation/fisherman.js +0 -263
  85. package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
  86. package/dist/classes/incubation/incubator.d/alpine.js +0 -78
  87. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  88. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  89. package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
  90. package/dist/classes/incubation/incubator.d/buster.js +0 -85
  91. package/dist/classes/incubation/incubator.d/jessie.d.ts +0 -31
  92. package/dist/classes/incubation/incubator.d/jessie.js +0 -44
  93. package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
  94. package/dist/classes/incubation/incubator.d/noble.js +0 -85
  95. package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
  96. package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
  97. package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
  98. package/dist/classes/incubation/incubator.d/opensuse.js +0 -81
  99. package/dist/classes/incubation/incubator.d/rolling.d.ts +0 -32
  100. package/dist/classes/incubation/incubator.d/rolling.js +0 -80
  101. package/dist/classes/incubation/incubator.d.ts +0 -44
  102. package/dist/classes/incubation/incubator.js +0 -382
  103. package/dist/classes/incubation/installer.d.ts +0 -13
  104. package/dist/classes/incubation/installer.js +0 -52
  105. package/dist/classes/keyboards.d.ts +0 -50
  106. package/dist/classes/keyboards.js +0 -287
  107. package/dist/classes/locales.d.ts +0 -21
  108. package/dist/classes/locales.js +0 -77
  109. package/dist/classes/network.d.ts +0 -37
  110. package/dist/classes/network.js +0 -98
  111. package/dist/classes/ovary.d/bind-live-fs.d.ts +0 -18
  112. package/dist/classes/ovary.d/bind-live-fs.js +0 -185
  113. package/dist/classes/ovary.d/bind-vfs.d.ts +0 -17
  114. package/dist/classes/ovary.d/bind-vfs.js +0 -37
  115. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +0 -13
  116. package/dist/classes/ovary.d/create-xdg-autostart.js +0 -194
  117. package/dist/classes/ovary.d/edit-live-fs.d.ts +0 -19
  118. package/dist/classes/ovary.d/edit-live-fs.js +0 -249
  119. package/dist/classes/ovary.d/fertilization.d.ts +0 -12
  120. package/dist/classes/ovary.d/fertilization.js +0 -46
  121. package/dist/classes/ovary.d/finished.d.ts +0 -13
  122. package/dist/classes/ovary.d/finished.js +0 -41
  123. package/dist/classes/ovary.d/initrd.d.ts +0 -21
  124. package/dist/classes/ovary.d/initrd.js +0 -72
  125. package/dist/classes/ovary.d/kernel-copy.d.ts +0 -12
  126. package/dist/classes/ovary.d/kernel-copy.js +0 -36
  127. package/dist/classes/ovary.d/live-create-structure.d.ts +0 -12
  128. package/dist/classes/ovary.d/live-create-structure.js +0 -90
  129. package/dist/classes/ovary.d/make-dot-disk.d.ts +0 -12
  130. package/dist/classes/ovary.d/make-dot-disk.js +0 -40
  131. package/dist/classes/ovary.d/make-efi.d.ts +0 -12
  132. package/dist/classes/ovary.d/make-efi.js +0 -268
  133. package/dist/classes/ovary.d/make-iso.d.ts +0 -13
  134. package/dist/classes/ovary.d/make-iso.js +0 -45
  135. package/dist/classes/ovary.d/make-squashfs.d.ts +0 -18
  136. package/dist/classes/ovary.d/make-squashfs.js +0 -117
  137. package/dist/classes/ovary.d/merged.d.ts +0 -31
  138. package/dist/classes/ovary.d/merged.js +0 -87
  139. package/dist/classes/ovary.d/produce.d.ts +0 -23
  140. package/dist/classes/ovary.d/produce.js +0 -287
  141. package/dist/classes/ovary.d/rexec.d.ts +0 -13
  142. package/dist/classes/ovary.d/rexec.js +0 -34
  143. package/dist/classes/ovary.d/syslinux.d.ts +0 -12
  144. package/dist/classes/ovary.d/syslinux.js +0 -79
  145. package/dist/classes/ovary.d/user-create-live.d.ts +0 -14
  146. package/dist/classes/ovary.d/user-create-live.js +0 -86
  147. package/dist/classes/ovary.d/users-remove.d.ts +0 -9
  148. package/dist/classes/ovary.d/users-remove.js +0 -38
  149. package/dist/classes/ovary.d/xorriso-commend.d.ts +0 -14
  150. package/dist/classes/ovary.d/xorriso-commend.js +0 -119
  151. package/dist/classes/ovary.d.ts +0 -77
  152. package/dist/classes/ovary.js +0 -81
  153. package/dist/classes/pacman.d/aldos.d.ts +0 -52
  154. package/dist/classes/pacman.d/aldos.js +0 -100
  155. package/dist/classes/pacman.d/alpine.d.ts +0 -56
  156. package/dist/classes/pacman.d/alpine.js +0 -162
  157. package/dist/classes/pacman.d/archlinux.d.ts +0 -62
  158. package/dist/classes/pacman.d/archlinux.js +0 -140
  159. package/dist/classes/pacman.d/debian.d.ts +0 -65
  160. package/dist/classes/pacman.d/debian.js +0 -143
  161. package/dist/classes/pacman.d/fedora.d.ts +0 -53
  162. package/dist/classes/pacman.d/fedora.js +0 -101
  163. package/dist/classes/pacman.d/openmamba.d.ts +0 -52
  164. package/dist/classes/pacman.d/openmamba.js +0 -100
  165. package/dist/classes/pacman.d/opensuse.d.ts +0 -53
  166. package/dist/classes/pacman.d/opensuse.js +0 -102
  167. package/dist/classes/pacman.d/voidlinux.d.ts +0 -52
  168. package/dist/classes/pacman.d/voidlinux.js +0 -90
  169. package/dist/classes/pacman.d.ts +0 -139
  170. package/dist/classes/pacman.js +0 -775
  171. package/dist/classes/pve-live.d.ts +0 -17
  172. package/dist/classes/pve-live.js +0 -52
  173. package/dist/classes/pxe.d.ts +0 -74
  174. package/dist/classes/pxe.js +0 -410
  175. package/dist/classes/settings.d.ts +0 -52
  176. package/dist/classes/settings.js +0 -185
  177. package/dist/classes/sources_list.d.ts +0 -28
  178. package/dist/classes/sources_list.js +0 -89
  179. package/dist/classes/systemctl.d.ts +0 -47
  180. package/dist/classes/systemctl.js +0 -86
  181. package/dist/classes/tailor.d.ts +0 -50
  182. package/dist/classes/tailor.js +0 -526
  183. package/dist/classes/tools.d.ts +0 -26
  184. package/dist/classes/tools.js +0 -50
  185. package/dist/classes/users.d.ts +0 -28
  186. package/dist/classes/users.js +0 -143
  187. package/dist/classes/utils.d.ts +0 -327
  188. package/dist/classes/utils.js +0 -1019
  189. package/dist/classes/xdg.d.ts +0 -45
  190. package/dist/classes/xdg.js +0 -337
  191. package/dist/classes/yolk.d.ts +0 -33
  192. package/dist/classes/yolk.js +0 -114
  193. package/dist/commands/adapt.d.ts +0 -17
  194. package/dist/commands/adapt.js +0 -33
  195. package/dist/commands/analyze.d.ts +0 -26
  196. package/dist/commands/analyze.js +0 -95
  197. package/dist/commands/calamares.d.ts +0 -29
  198. package/dist/commands/calamares.js +0 -112
  199. package/dist/commands/config.d.ts +0 -35
  200. package/dist/commands/config.js +0 -120
  201. package/dist/commands/cuckoo.d.ts +0 -16
  202. package/dist/commands/cuckoo.js +0 -62
  203. package/dist/commands/dad.d.ts +0 -20
  204. package/dist/commands/dad.js +0 -46
  205. package/dist/commands/export/iso.d.ts +0 -19
  206. package/dist/commands/export/iso.js +0 -55
  207. package/dist/commands/export/pkg.d.ts +0 -29
  208. package/dist/commands/export/pkg.js +0 -163
  209. package/dist/commands/export/tarballs.d.ts +0 -27
  210. package/dist/commands/export/tarballs.js +0 -84
  211. package/dist/commands/install.d.ts +0 -38
  212. package/dist/commands/install.js +0 -91
  213. package/dist/commands/kill.d.ts +0 -24
  214. package/dist/commands/kill.js +0 -50
  215. package/dist/commands/love.d.ts +0 -20
  216. package/dist/commands/love.js +0 -59
  217. package/dist/commands/mom.d.ts +0 -16
  218. package/dist/commands/mom.js +0 -30
  219. package/dist/commands/produce.d.ts +0 -34
  220. package/dist/commands/produce.js +0 -201
  221. package/dist/commands/status.d.ts +0 -23
  222. package/dist/commands/status.js +0 -31
  223. package/dist/commands/syncfrom.d.ts +0 -45
  224. package/dist/commands/syncfrom.js +0 -152
  225. package/dist/commands/syncto.d.ts +0 -40
  226. package/dist/commands/syncto.js +0 -175
  227. package/dist/commands/tools/clean.d.ts +0 -18
  228. package/dist/commands/tools/clean.js +0 -37
  229. package/dist/commands/tools/ppa.d.ts +0 -26
  230. package/dist/commands/tools/ppa.js +0 -138
  231. package/dist/commands/tools/skel.d.ts +0 -18
  232. package/dist/commands/tools/skel.js +0 -44
  233. package/dist/commands/tools/stat.d.ts +0 -31
  234. package/dist/commands/tools/stat.js +0 -70
  235. package/dist/commands/tools/yolk.d.ts +0 -24
  236. package/dist/commands/tools/yolk.js +0 -45
  237. package/dist/commands/update.d.ts +0 -51
  238. package/dist/commands/update.js +0 -219
  239. package/dist/commands/wardrobe/get.d.ts +0 -23
  240. package/dist/commands/wardrobe/get.js +0 -52
  241. package/dist/commands/wardrobe/list.d.ts +0 -24
  242. package/dist/commands/wardrobe/list.js +0 -125
  243. package/dist/commands/wardrobe/show.d.ts +0 -25
  244. package/dist/commands/wardrobe/show.js +0 -97
  245. package/dist/commands/wardrobe/wear.d.ts +0 -26
  246. package/dist/commands/wardrobe/wear.js +0 -84
  247. package/dist/index.d.ts +0 -54
  248. package/dist/index.js +0 -147
  249. package/dist/index_old.d.ts +0 -8
  250. package/dist/index_old.js +0 -8
  251. package/dist/interfaces/i-addons.d.ts +0 -12
  252. package/dist/interfaces/i-addons.js +0 -8
  253. package/dist/interfaces/i-analyze.d.ts +0 -17
  254. package/dist/interfaces/i-analyze.js +0 -17
  255. package/dist/interfaces/i-app.d.ts +0 -14
  256. package/dist/interfaces/i-app.js +0 -8
  257. package/dist/interfaces/i-branding.d.ts +0 -36
  258. package/dist/interfaces/i-branding.js +0 -8
  259. package/dist/interfaces/i-calamares-displaymanager.d.ts +0 -17
  260. package/dist/interfaces/i-calamares-displaymanager.js +0 -1
  261. package/dist/interfaces/i-calamares-finished.d.ts +0 -12
  262. package/dist/interfaces/i-calamares-finished.js +0 -1
  263. package/dist/interfaces/i-calamares-packages.d.ts +0 -28
  264. package/dist/interfaces/i-calamares-packages.js +0 -1
  265. package/dist/interfaces/i-calamares-partition.d.ts +0 -40
  266. package/dist/interfaces/i-calamares-partition.js +0 -1
  267. package/dist/interfaces/i-config-tools.d.ts +0 -15
  268. package/dist/interfaces/i-config-tools.js +0 -8
  269. package/dist/interfaces/i-devices.d.ts +0 -20
  270. package/dist/interfaces/i-devices.js +0 -8
  271. package/dist/interfaces/i-distro.d.ts +0 -23
  272. package/dist/interfaces/i-distro.js +0 -8
  273. package/dist/interfaces/i-drive-list.d.ts +0 -33
  274. package/dist/interfaces/i-drive-list.js +0 -8
  275. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  276. package/dist/interfaces/i-eggs-config.js +0 -8
  277. package/dist/interfaces/i-excludes.d.ts +0 -14
  278. package/dist/interfaces/i-excludes.js +0 -8
  279. package/dist/interfaces/i-exec.d.ts +0 -11
  280. package/dist/interfaces/i-exec.js +0 -8
  281. package/dist/interfaces/i-initrd.d.ts +0 -13
  282. package/dist/interfaces/i-initrd.js +0 -8
  283. package/dist/interfaces/i-install.d.ts +0 -16
  284. package/dist/interfaces/i-install.js +0 -8
  285. package/dist/interfaces/i-installer.d.ts +0 -17
  286. package/dist/interfaces/i-installer.js +0 -8
  287. package/dist/interfaces/i-luks-passphrase.d.ts +0 -11
  288. package/dist/interfaces/i-luks-passphrase.js +0 -8
  289. package/dist/interfaces/i-materia.d.ts +0 -36
  290. package/dist/interfaces/i-materia.js +0 -8
  291. package/dist/interfaces/i-net.d.ts +0 -16
  292. package/dist/interfaces/i-net.js +0 -8
  293. package/dist/interfaces/i-os-release.d.ts +0 -5
  294. package/dist/interfaces/i-os-release.js +0 -1
  295. package/dist/interfaces/i-packages.d.ts +0 -16
  296. package/dist/interfaces/i-packages.js +0 -8
  297. package/dist/interfaces/i-partitions.d.ts +0 -16
  298. package/dist/interfaces/i-partitions.js +0 -8
  299. package/dist/interfaces/i-pxe.d.ts +0 -45
  300. package/dist/interfaces/i-pxe.js +0 -1
  301. package/dist/interfaces/i-remix.d.ts +0 -21
  302. package/dist/interfaces/i-remix.js +0 -8
  303. package/dist/interfaces/i-settings.d.ts +0 -33
  304. package/dist/interfaces/i-settings.js +0 -8
  305. package/dist/interfaces/i-user.d.ts +0 -14
  306. package/dist/interfaces/i-user.js +0 -8
  307. package/dist/interfaces/i-workdir.d.ts +0 -14
  308. package/dist/interfaces/i-workdir.js +0 -8
  309. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  310. package/dist/interfaces/i-xkb-model.js +0 -8
  311. package/dist/interfaces/index.d.ts +0 -26
  312. package/dist/interfaces/index.js +0 -8
  313. package/dist/krill/classes/cfs.d.ts +0 -17
  314. package/dist/krill/classes/cfs.js +0 -39
  315. package/dist/krill/classes/krill_enums.d.ts +0 -24
  316. package/dist/krill/classes/krill_enums.js +0 -26
  317. package/dist/krill/classes/prepare.d/confirm.d.ts +0 -5
  318. package/dist/krill/classes/prepare.d/confirm.js +0 -30
  319. package/dist/krill/classes/prepare.d/keyboard.d.ts +0 -14
  320. package/dist/krill/classes/prepare.d/keyboard.js +0 -62
  321. package/dist/krill/classes/prepare.d/location.d.ts +0 -17
  322. package/dist/krill/classes/prepare.d/location.js +0 -59
  323. package/dist/krill/classes/prepare.d/network.d.ts +0 -14
  324. package/dist/krill/classes/prepare.d/network.js +0 -68
  325. package/dist/krill/classes/prepare.d/partitions.d.ts +0 -14
  326. package/dist/krill/classes/prepare.d/partitions.js +0 -86
  327. package/dist/krill/classes/prepare.d/summary.d.ts +0 -15
  328. package/dist/krill/classes/prepare.d/summary.js +0 -69
  329. package/dist/krill/classes/prepare.d/users.d.ts +0 -6
  330. package/dist/krill/classes/prepare.d/users.js +0 -63
  331. package/dist/krill/classes/prepare.d/welcome.d.ts +0 -6
  332. package/dist/krill/classes/prepare.d/welcome.js +0 -30
  333. package/dist/krill/classes/prepare.d.ts +0 -64
  334. package/dist/krill/classes/prepare.js +0 -314
  335. package/dist/krill/classes/sequence.d/add_user.d.ts +0 -20
  336. package/dist/krill/classes/sequence.d/add_user.js +0 -48
  337. package/dist/krill/classes/sequence.d/bootloader.d.ts +0 -14
  338. package/dist/krill/classes/sequence.d/bootloader.js +0 -95
  339. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +0 -14
  340. package/dist/krill/classes/sequence.d/bootloader_config.js +0 -165
  341. package/dist/krill/classes/sequence.d/change_password.d.ts +0 -15
  342. package/dist/krill/classes/sequence.d/change_password.js +0 -18
  343. package/dist/krill/classes/sequence.d/del_live_user.d.ts +0 -14
  344. package/dist/krill/classes/sequence.d/del_live_user.js +0 -39
  345. package/dist/krill/classes/sequence.d/fstab.d.ts +0 -14
  346. package/dist/krill/classes/sequence.d/fstab.js +0 -189
  347. package/dist/krill/classes/sequence.d/grubcfg.d.ts +0 -17
  348. package/dist/krill/classes/sequence.d/grubcfg.js +0 -33
  349. package/dist/krill/classes/sequence.d/hostname.d.ts +0 -13
  350. package/dist/krill/classes/sequence.d/hostname.js +0 -50
  351. package/dist/krill/classes/sequence.d/initramfs.d.ts +0 -13
  352. package/dist/krill/classes/sequence.d/initramfs.js +0 -54
  353. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +0 -14
  354. package/dist/krill/classes/sequence.d/initramfs_cfg.js +0 -35
  355. package/dist/krill/classes/sequence.d/locale.d.ts +0 -13
  356. package/dist/krill/classes/sequence.d/locale.js +0 -91
  357. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +0 -10
  358. package/dist/krill/classes/sequence.d/locale_cfg.js +0 -58
  359. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +0 -14
  360. package/dist/krill/classes/sequence.d/m_keyboard.js +0 -58
  361. package/dist/krill/classes/sequence.d/machine_id.d.ts +0 -15
  362. package/dist/krill/classes/sequence.d/machine_id.js +0 -33
  363. package/dist/krill/classes/sequence.d/mkfs.d.ts +0 -15
  364. package/dist/krill/classes/sequence.d/mkfs.js +0 -72
  365. package/dist/krill/classes/sequence.d/mount_fs.d.ts +0 -17
  366. package/dist/krill/classes/sequence.d/mount_fs.js +0 -68
  367. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +0 -17
  368. package/dist/krill/classes/sequence.d/mount_vfs.js +0 -40
  369. package/dist/krill/classes/sequence.d/network_cfg.d.ts +0 -19
  370. package/dist/krill/classes/sequence.d/network_cfg.js +0 -73
  371. package/dist/krill/classes/sequence.d/packages.d.ts +0 -14
  372. package/dist/krill/classes/sequence.d/packages.js +0 -111
  373. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +0 -17
  374. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +0 -73
  375. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +0 -17
  376. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +0 -36
  377. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +0 -17
  378. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +0 -78
  379. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +0 -10
  380. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -32
  381. package/dist/krill/classes/sequence.d/partition.d.ts +0 -14
  382. package/dist/krill/classes/sequence.d/partition.js +0 -84
  383. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +0 -13
  384. package/dist/krill/classes/sequence.d/remove_installer_link.js +0 -35
  385. package/dist/krill/classes/sequence.d/umount.d.ts +0 -14
  386. package/dist/krill/classes/sequence.d/umount.js +0 -28
  387. package/dist/krill/classes/sequence.d/unpackfs.d.ts +0 -13
  388. package/dist/krill/classes/sequence.d/unpackfs.js +0 -20
  389. package/dist/krill/classes/sequence.d.ts +0 -136
  390. package/dist/krill/classes/sequence.js +0 -663
  391. package/dist/krill/components/finished.d.ts +0 -16
  392. package/dist/krill/components/finished.js +0 -56
  393. package/dist/krill/components/information.d.ts +0 -8
  394. package/dist/krill/components/information.js +0 -156
  395. package/dist/krill/components/install.d.ts +0 -15
  396. package/dist/krill/components/install.js +0 -60
  397. package/dist/krill/components/keyboard.d.ts +0 -16
  398. package/dist/krill/components/keyboard.js +0 -54
  399. package/dist/krill/components/location.d.ts +0 -16
  400. package/dist/krill/components/location.js +0 -59
  401. package/dist/krill/components/network.d.ts +0 -19
  402. package/dist/krill/components/network.js +0 -65
  403. package/dist/krill/components/partitions.d.ts +0 -18
  404. package/dist/krill/components/partitions.js +0 -89
  405. package/dist/krill/components/steps.d.ts +0 -13
  406. package/dist/krill/components/steps.js +0 -148
  407. package/dist/krill/components/summary.d.ts +0 -25
  408. package/dist/krill/components/summary.js +0 -77
  409. package/dist/krill/components/title.d.ts +0 -11
  410. package/dist/krill/components/title.js +0 -35
  411. package/dist/krill/components/users.d.ts +0 -24
  412. package/dist/krill/components/users.js +0 -80
  413. package/dist/krill/components/welcome.d.ts +0 -13
  414. package/dist/krill/components/welcome.js +0 -63
  415. package/dist/krill/interfaces/i_krill.d.ts +0 -44
  416. package/dist/krill/interfaces/i_krill.js +0 -8
  417. package/dist/krill/interfaces/i_krill_config.d.ts +0 -35
  418. package/dist/krill/interfaces/i_krill_config.js +0 -8
  419. package/dist/krill/lib/get_address.d.ts +0 -8
  420. package/dist/krill/lib/get_address.js +0 -23
  421. package/dist/krill/lib/get_dns.d.ts +0 -8
  422. package/dist/krill/lib/get_dns.js +0 -23
  423. package/dist/krill/lib/get_domain.d.ts +0 -8
  424. package/dist/krill/lib/get_domain.js +0 -23
  425. package/dist/krill/lib/get_gateway.d.ts +0 -8
  426. package/dist/krill/lib/get_gateway.js +0 -23
  427. package/dist/krill/lib/get_hostname.d.ts +0 -8
  428. package/dist/krill/lib/get_hostname.js +0 -23
  429. package/dist/krill/lib/get_luks_passphrase.d.ts +0 -8
  430. package/dist/krill/lib/get_luks_passphrase.js +0 -40
  431. package/dist/krill/lib/get_netmask.d.ts +0 -8
  432. package/dist/krill/lib/get_netmask.js +0 -23
  433. package/dist/krill/lib/get_password.d.ts +0 -8
  434. package/dist/krill/lib/get_password.js +0 -36
  435. package/dist/krill/lib/get_userfullname.d.ts +0 -8
  436. package/dist/krill/lib/get_userfullname.js +0 -23
  437. package/dist/krill/lib/get_username.d.ts +0 -8
  438. package/dist/krill/lib/get_username.js +0 -23
  439. package/dist/krill/lib/kill_me_softly.d.ts +0 -11
  440. package/dist/krill/lib/kill_me_softly.js +0 -61
  441. package/dist/krill/lib/select_address_type.d.ts +0 -8
  442. package/dist/krill/lib/select_address_type.js +0 -24
  443. package/dist/krill/lib/select_filesystem_type.d.ts +0 -8
  444. package/dist/krill/lib/select_filesystem_type.js +0 -39
  445. package/dist/krill/lib/select_installation_device.d.ts +0 -8
  446. package/dist/krill/lib/select_installation_device.js +0 -40
  447. package/dist/krill/lib/select_installation_mode.d.ts +0 -9
  448. package/dist/krill/lib/select_installation_mode.js +0 -25
  449. package/dist/krill/lib/select_interface.d.ts +0 -8
  450. package/dist/krill/lib/select_interface.js +0 -24
  451. package/dist/krill/lib/select_keyboard_layout.d.ts +0 -11
  452. package/dist/krill/lib/select_keyboard_layout.js +0 -36
  453. package/dist/krill/lib/select_keyboard_model.d.ts +0 -11
  454. package/dist/krill/lib/select_keyboard_model.js +0 -34
  455. package/dist/krill/lib/select_keyboard_option.d.ts +0 -11
  456. package/dist/krill/lib/select_keyboard_option.js +0 -34
  457. package/dist/krill/lib/select_keyboard_variant.d.ts +0 -11
  458. package/dist/krill/lib/select_keyboard_variant.js +0 -35
  459. package/dist/krill/lib/select_languages.d.ts +0 -8
  460. package/dist/krill/lib/select_languages.js +0 -28
  461. package/dist/krill/lib/select_regions.d.ts +0 -8
  462. package/dist/krill/lib/select_regions.js +0 -24
  463. package/dist/krill/lib/select_replaced_partition.d.ts +0 -8
  464. package/dist/krill/lib/select_replaced_partition.js +0 -31
  465. package/dist/krill/lib/select_user_swap_choice.d.ts +0 -9
  466. package/dist/krill/lib/select_user_swap_choice.js +0 -35
  467. package/dist/krill/lib/select_zones.d.ts +0 -8
  468. package/dist/krill/lib/select_zones.js +0 -518
  469. package/dist/lib/utils.d.ts +0 -42
  470. package/dist/lib/utils.js +0 -87
@@ -1,663 +0,0 @@
1
- /**
2
- * ./src/krill/sequence.tsx
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 Settings from '../../classes/settings.js';
10
- import React from 'react';
11
- import { render, Box, Text } from 'ink';
12
- import Install from '../components/install.js';
13
- import Finished from '../components/finished.js';
14
- import fs from 'fs';
15
- import yaml from 'js-yaml';
16
- import { installer } from '../../classes/incubation/installer.js';
17
- import CliAutologin from '../../classes/cli-autologin.js';
18
- import Distro from '../../classes/distro.js';
19
- import Pacman from '../../classes/pacman.js';
20
- import Utils from '../../classes/utils.js';
21
- import Xdg from '../../classes/xdg.js';
22
- import { exec } from '../../lib/utils.js';
23
- // import krill modules
24
- import partition from './sequence.d/partition.js';
25
- // import createLvmPartitions from './sequence.d/partition.d/create-lvm-partitions.js'
26
- import biosStandard from './sequence.d/partition.d/bios_standard.js';
27
- import biosLuks from './sequence.d/partition.d/bios_luks.js';
28
- import uefiStandard from './sequence.d/partition.d/uefi_standard.js';
29
- import uefiLuks from './sequence.d/partition.d/uefi_luks.js';
30
- import { mountFs, umountFs } from './sequence.d/mount_fs.js';
31
- import { mountVfs, umountVfs } from './sequence.d/mount_vfs.js';
32
- import unpackfs from './sequence.d/unpackfs.js';
33
- import machineId from './sequence.d/machine_id.js';
34
- import fstab from './sequence.d/fstab.js';
35
- import locale from './sequence.d/locale.js';
36
- import mKeyboard from './sequence.d/m_keyboard.js';
37
- import localeCfg from './sequence.d/locale_cfg.js';
38
- // users
39
- import addUser from './sequence.d/add_user.js';
40
- import changePassword from './sequence.d/change_password.js';
41
- // displaymanager: autologin
42
- import networkCfg from './sequence.d/network_cfg.js';
43
- // hwclock:
44
- // services-systemd:
45
- // bootloader-config
46
- import bootloaderConfig from './sequence.d/bootloader_config.js';
47
- import grubcfg from './sequence.d/grubcfg.js';
48
- import bootloader from './sequence.d/bootloader.js';
49
- import packages from './sequence.d/packages.js';
50
- import removeInstallerLink from './sequence.d/remove_installer_link.js';
51
- import initramfsCfg from './sequence.d/initramfs_cfg.js';
52
- import initramfs from './sequence.d/initramfs.js';
53
- import delLiveUser from './sequence.d/del_live_user.js';
54
- import umount from './sequence.d/umount.js';
55
- import mkfs from './sequence.d/mkfs.js';
56
- import hostname from './sequence.d/hostname.js';
57
- import CFS from './cfs.js';
58
- import Title from '../components/title.js';
59
- import cliCursor from 'cli-cursor';
60
- import { spawnSync } from 'child_process';
61
- /**
62
- * hatching: installazione o cova!!!
63
- */
64
- export default class Sequence {
65
- partition = partition;
66
- // createLvmPartitions = createLvmPartitions
67
- partitionBiosStandard = biosStandard;
68
- partitionUefiStandard = uefiStandard;
69
- partitionBiosLuks = biosLuks;
70
- partitionUefiLuks = uefiLuks;
71
- // mount
72
- mountFs = mountFs;
73
- mountVfs = mountVfs;
74
- //
75
- unpackfs = unpackfs;
76
- machineId = machineId;
77
- fstab = fstab;
78
- locale = locale;
79
- keyboard = mKeyboard;
80
- localeCfg = localeCfg;
81
- // users
82
- addUser = addUser;
83
- changePassword = changePassword;
84
- // displaumanager: autologin
85
- networkCfg = networkCfg;
86
- // hwclock:
87
- // services-systemd:
88
- // bootloader-config
89
- bootloaderConfig = bootloaderConfig;
90
- //
91
- grubcfg = grubcfg;
92
- bootloader = bootloader;
93
- packages = packages;
94
- removeInstallerLink = removeInstallerLink;
95
- // luksbootkeyfile:
96
- // plymouthcfg;
97
- initramfsCfg = initramfsCfg;
98
- initramfs = initramfs;
99
- delLiveUser = delLiveUser;
100
- umountFs = umountFs;
101
- umountVfs = umountVfs;
102
- umount = umount;
103
- mkfs = mkfs;
104
- hostname = hostname;
105
- installer = {};
106
- installTarget = '/tmp/calamares-krill-root';
107
- verbose = false;
108
- echo = {};
109
- efi = false;
110
- devices = {};
111
- users = {};
112
- network = {};
113
- partitions = {};
114
- swapSize = 0;
115
- language = '';
116
- region = '';
117
- zone = '';
118
- keyboardModel = '';
119
- keyboardLayout = '';
120
- keyboardVariant = '';
121
- toNull = ' > /dev/null 2>&1';
122
- spinner = true;
123
- settings = {};
124
- remix = {};
125
- distro = {};
126
- // Crypted Clone
127
- luksName = 'luks-volume';
128
- luksFile = ``;
129
- luksDevice = `/dev/mapper/${this.luksName}`;
130
- luksMountpoint = `/mnt`;
131
- is_clone = fs.existsSync('/etc/penguins-eggs.d/is_clone');
132
- is_crypted_clone = fs.existsSync('/etc/penguins-eggs.d/is_crypted_clone');
133
- unattended = false;
134
- nointeractive = false;
135
- chroot = false;
136
- halt = false;
137
- cliAutologin = new CliAutologin();
138
- /**
139
- * constructor
140
- */
141
- constructor(location, keyboard, partitions, users, network) {
142
- this.installer = installer();
143
- this.settings = new Settings();
144
- this.language = location.language;
145
- this.region = location.region;
146
- this.zone = location.zone;
147
- this.keyboardModel = keyboard.keyboardModel;
148
- this.keyboardLayout = keyboard.keyboardLayout;
149
- this.keyboardVariant = keyboard.keyboardVariant;
150
- this.network = network;
151
- this.partitions = partitions;
152
- this.users = users;
153
- this.devices.efi = {};
154
- this.devices.boot = {};
155
- this.devices.root = {};
156
- this.devices.data = {};
157
- this.devices.swap = {};
158
- this.distro = new Distro();
159
- this.efi = fs.existsSync('/sys/firmware/efi/efivars');
160
- this.luksFile = `${this.distro.liveMediumPath}live/${this.luksName}`;
161
- }
162
- /**
163
- * install
164
- * @param verbose
165
- * @param umount
166
- * @returns
167
- */
168
- async start(domain = '', unattended = false, nointeractive = false, chroot = false, halt = false, verbose = false) {
169
- // Imposta il domain per flag
170
- if (domain !== '') {
171
- if (domain.at(0) !== '.') {
172
- domain = '.' + domain;
173
- }
174
- this.network.domain = domain;
175
- }
176
- /**
177
- * To let krill to work with Arch we need:
178
- */
179
- if (this.distro.familyId === 'archlinux') {
180
- if (this.distro.distroId === 'Manjarolinux') {
181
- await exec(`ln -s /run/miso/bootmnt/live/ /live`);
182
- }
183
- else {
184
- await exec(`ln -s /run/archiso/bootmnt/live/ /live`);
185
- }
186
- }
187
- /**
188
- * dmsetup remove_all
189
- */
190
- if (this.distro.familyId === 'opensuse') {
191
- await exec('dmsetup remove_all');
192
- }
193
- this.unattended = unattended;
194
- this.nointeractive = nointeractive;
195
- this.chroot = chroot;
196
- this.halt = halt;
197
- this.verbose = verbose;
198
- this.echo = Utils.setEcho(this.verbose);
199
- if (this.verbose) {
200
- this.toNull = '';
201
- this.spinner = false;
202
- }
203
- // start
204
- await this.settings.load();
205
- let isPartitioned = false;
206
- let message = "Creating partitions";
207
- await redraw(React.createElement(Install, { message: message, percent: 0, spinner: this.spinner }));
208
- try {
209
- isPartitioned = await this.partition();
210
- }
211
- catch (error) {
212
- await this.showProblem(message, error);
213
- }
214
- if (isPartitioned) {
215
- // formatting
216
- message = "Formatting file system";
217
- await redraw(React.createElement(Install, { message: message, percent: 6, spinner: this.spinner }));
218
- try {
219
- await this.mkfs();
220
- }
221
- catch (error) {
222
- await this.showProblem(message, error);
223
- }
224
- // mountFs
225
- message = "Mounting target file system";
226
- redraw(React.createElement(Install, { message: message, percent: 9, spinner: this.spinner }));
227
- try {
228
- let success = await this.mountFs();
229
- await sleep(500); // diamo il tempo di montare
230
- }
231
- catch (error) {
232
- await this.showProblem(message, error);
233
- }
234
- // mountVfs
235
- message = "Mounting on target VFS";
236
- await redraw(React.createElement(Install, { message: message, percent: 12, spinner: this.spinner }));
237
- try {
238
- await this.mountVfs();
239
- }
240
- catch (error) {
241
- await this.showProblem(message, error);
242
- }
243
- // unpackfs
244
- message = "Unpacking filesystem";
245
- await redraw(React.createElement(Install, { message: message, percent: 15, spinner: this.spinner }));
246
- try {
247
- await this.unpackfs();
248
- }
249
- catch (error) {
250
- await this.showProblem(message, error);
251
- }
252
- // dpkg-unsafe-io
253
- if (this.distro.familyId === 'debian') {
254
- message = "Force dpkg-unsafe-io";
255
- await redraw(React.createElement(Install, { message: message, percent: 40, spinner: this.spinner }));
256
- try {
257
- await this.execCalamaresModule('dpkg-unsafe-io');
258
- }
259
- catch (error) {
260
- await this.showProblem(message, error);
261
- }
262
- }
263
- // sources-yolk
264
- if (this.distro.familyId === 'debian') {
265
- message = 'Add sources-yolk';
266
- await redraw(React.createElement(Install, { message: message, percent: 43, spinner: this.spinner }));
267
- try {
268
- await this.execCalamaresModule('sources-yolk');
269
- }
270
- catch (error) {
271
- await this.showProblem(message, error);
272
- }
273
- }
274
- // machineid
275
- message = 'machineid';
276
- await redraw(React.createElement(Install, { message: message, percent: 46, spinner: this.spinner }));
277
- try {
278
- await this.machineId();
279
- }
280
- catch (error) {
281
- await this.showProblem(message, error);
282
- }
283
- // fstab
284
- message = "Creating fstab";
285
- await redraw(React.createElement(Install, { message: message, percent: 49, spinner: this.spinner }));
286
- try {
287
- await this.fstab(this.partitions.installationDevice);
288
- }
289
- catch (error) {
290
- await this.showProblem(message, error);
291
- }
292
- /**
293
- * CryptedClone exec eggs syncfrom
294
- */
295
- if (this.is_crypted_clone) {
296
- message = "Restore private data from crypted clone";
297
- await redraw(React.createElement(Install, { message: message, percent: 55, spinner: this.spinner }));
298
- if (fs.existsSync(this.luksFile)) {
299
- let cmd = `eggs syncfrom --rootdir /tmp/calamares-krill-root/ --file ${this.luksFile}`;
300
- try {
301
- await exec(cmd, Utils.setEcho(true));
302
- this.is_clone = true; // Adesso è un clone
303
- }
304
- catch (error) {
305
- await this.showProblem(message, error);
306
- }
307
- }
308
- else {
309
- await Utils.pressKeyToExit(`Cannot find luks-volume file ${this.luksFile}`);
310
- }
311
- }
312
- // networkcfg
313
- message = "Network configuration";
314
- await redraw(React.createElement(Install, { message: message, percent: 61, spinner: this.spinner }));
315
- try {
316
- await this.networkCfg();
317
- }
318
- catch (error) {
319
- await this.showProblem(message, error);
320
- }
321
- // hostname
322
- message = "Create hostname";
323
- await redraw(React.createElement(Install, { message: message, percent: 64, spinner: this.spinner }));
324
- try {
325
- await this.hostname(this.network.domain);
326
- }
327
- catch (error) {
328
- await this.showProblem(message, error);
329
- }
330
- // dpkg-unsafe-io-undo
331
- if (this.distro.familyId === 'debian') {
332
- message = "Remove dpkg-unsafe-io";
333
- await redraw(React.createElement(Install, { message: message, percent: 65, spinner: this.spinner }));
334
- try {
335
- await this.execCalamaresModule('dpkg-unsafe-io-undo');
336
- }
337
- catch (error) {
338
- await this.showProblem(message, error);
339
- }
340
- }
341
- /**
342
- * IF NOT CLONE:
343
- * locale,
344
- * keyboard,
345
- * localeCfg,
346
- * delLiveUser,
347
- * adduser,
348
- * addRootPassword,
349
- * autologin GUI
350
- */
351
- if (!this.is_clone) {
352
- // NOT_CLONE: locale
353
- message = "Locale";
354
- redraw(React.createElement(Install, { message: message, percent: 70, spinner: this.spinner }));
355
- try {
356
- if (this.distro.familyId === 'alpine' ||
357
- this.distro.familyId === 'archlinux' ||
358
- this.distro.familyId === 'debian') {
359
- await this.locale();
360
- }
361
- }
362
- catch (error) {
363
- await this.showProblem(message, error);
364
- }
365
- // NOT_CLONE: keyboard
366
- message = "Settings keyboard";
367
- redraw(React.createElement(Install, { message: message, percent: 71, spinner: this.spinner }));
368
- try {
369
- await this.keyboard();
370
- }
371
- catch (error) {
372
- await this.showProblem(message, error);
373
- }
374
- // NOT_CLONE: localeCfg
375
- if (this.distro.familyId === 'archlinux' ||
376
- this.distro.familyId === 'debian') {
377
- message = "Locale Configuration";
378
- redraw(React.createElement(Install, { message: message, percent: 72, spinner: this.spinner }));
379
- try {
380
- await this.localeCfg();
381
- await exec("chroot " + this.installTarget + " locale-gen" + this.toNull);
382
- }
383
- catch (error) {
384
- await this.showProblem(message, error);
385
- }
386
- }
387
- // NOT_CLONE: delLiveUser
388
- message = "Remove live user";
389
- await redraw(React.createElement(Install, { message: message, percent: 73, spinner: this.spinner }));
390
- try {
391
- await this.delLiveUser();
392
- }
393
- catch (error) {
394
- await this.showProblem(message, error);
395
- }
396
- // NOT_CLONE: addUser
397
- message = `Add user ${this.users.username}`;
398
- await redraw(React.createElement(Install, { message: message, percent: 74, spinner: this.spinner }));
399
- try {
400
- await this.addUser(this.users.username, this.users.password, this.users.fullname, '', '', '');
401
- }
402
- catch (error) {
403
- await this.showProblem(message, error);
404
- }
405
- // NOT_CLONE: addRootPassword
406
- message = "Add root password";
407
- await redraw(React.createElement(Install, { message: message, percent: 75, spinner: this.spinner }));
408
- try {
409
- await this.changePassword('root', this.users.rootPassword);
410
- }
411
- catch (error) {
412
- await this.showProblem(message, error);
413
- }
414
- // NOT_CLONE: autologin GUI
415
- if (Pacman.isInstalledGui()) {
416
- try {
417
- message = "Autologin GUI";
418
- await redraw(React.createElement(Install, { message: message, percent: 78, spinner: this.spinner }));
419
- if (this.users.autologin) {
420
- await Xdg.autologin(await Utils.getPrimaryUser(), this.users.username, this.installTarget);
421
- if (this.distro.distroLike === 'Arch') {
422
- await exec(`chroot ${this.installTarget} groupadd autologin ${this.toNull}`);
423
- await exec(`chroot ${this.installTarget} gpasswd -a ${this.users.username} autologin ${this.toNull}`);
424
- }
425
- }
426
- }
427
- catch (error) {
428
- await this.showProblem(message, error);
429
- }
430
- }
431
- } // IF NOT CLONE END
432
- // ALWAYS remove autologin CLI
433
- message = "Remove autologin CLI";
434
- await redraw(React.createElement(Install, { message: message, percent: 80, spinner: this.spinner }));
435
- try {
436
- await this.cliAutologin.remove(this.installTarget);
437
- }
438
- catch (error) {
439
- await this.showProblem(message, error);
440
- }
441
- // bootloader-config
442
- message = "bootloader-config";
443
- await redraw(React.createElement(Install, { message: message, percent: 81, spinner: this.spinner }));
444
- try {
445
- await this.bootloaderConfig();
446
- }
447
- catch (error) {
448
- await this.showProblem(message, error);
449
- }
450
- // grubcfg
451
- message = "grubcfg";
452
- await redraw(React.createElement(Install, { message: message, percent: 82, spinner: this.spinner }));
453
- try {
454
- await this.grubcfg();
455
- }
456
- catch (error) {
457
- await this.showProblem(message, error);
458
- }
459
- // bootloader (grub-install)
460
- message = "bootloader";
461
- await redraw(React.createElement(Install, { message: message, percent: 83, spinner: this.spinner }));
462
- try {
463
- await this.bootloader();
464
- }
465
- catch (error) {
466
- await this.showProblem(message, error);
467
- }
468
- // sources-yolk-undo
469
- if (this.distro.familyId === 'debian') {
470
- message = "Remove sources-yolk";
471
- await redraw(React.createElement(Install, { message: message, percent: 84, spinner: this.spinner }));
472
- try {
473
- await this.execCalamaresModule('sources-yolk-undo');
474
- }
475
- catch (error) {
476
- await this.showProblem(message, error);
477
- }
478
- }
479
- // packages
480
- message = "Add/remove packages";
481
- await redraw(React.createElement(Install, { message: message, percent: 85, spinner: this.spinner }));
482
- try {
483
- await this.packages();
484
- }
485
- catch (error) {
486
- await this.showProblem(message, error);
487
- }
488
- // initramfsCfg
489
- message = "initramfs configure";
490
- await redraw(React.createElement(Install, { message: message, percent: 86, spinner: this.spinner }));
491
- try {
492
- await this.initramfsCfg(this.partitions.installationDevice);
493
- }
494
- catch (error) {
495
- await this.showProblem(message, error);
496
- }
497
- // initramfs
498
- message = "initramfs";
499
- await redraw(React.createElement(Install, { message: message, percent: 87, spinner: this.spinner }));
500
- try {
501
- await this.initramfs();
502
- }
503
- catch (error) {
504
- await this.showProblem(message, error);
505
- }
506
- /**
507
- *
508
- * remove CLI/GUI installer link
509
- */
510
- message = "Remove GUI installer link";
511
- await redraw(React.createElement(Install, { message: message, percent: 88, spinner: this.spinner }));
512
- try {
513
- await this.removeInstallerLink();
514
- }
515
- catch (error) {
516
- await this.showProblem(message, error);
517
- }
518
- // remove /etc/penguins_eggs.d/is_clone*
519
- message = "Cleanup";
520
- await redraw(React.createElement(Install, { message: message, percent: 89, spinner: this.spinner }));
521
- try {
522
- await exec(`rm -f ${this.installTarget}/etc/penguins-eggs.d/is_clone`);
523
- await exec(`rm -f ${this.installTarget}/etc/penguins-eggs.d/is_crypted_clone`);
524
- }
525
- catch (error) {
526
- await this.showProblem(message, error);
527
- }
528
- /**
529
- * custom final steps
530
- */
531
- const cfs = new CFS();
532
- const steps = await cfs.steps();
533
- if (steps.length > 0) {
534
- for (const step of steps) {
535
- message = `running ${step}`;
536
- await redraw(React.createElement(Install, { message: message, percent: 90, spinner: this.spinner }));
537
- try {
538
- await this.execCalamaresModule(step);
539
- }
540
- catch (error) {
541
- await this.showProblem(message, error);
542
- }
543
- }
544
- }
545
- // chroot
546
- if (chroot) {
547
- message = `You are in chroot mode under ${this.installTarget}, type "exit" to exit.`;
548
- await this.emergencyShell(message);
549
- }
550
- // umountVfs
551
- message = "umount Virtual File System";
552
- await redraw(React.createElement(Install, { message: message, percent: 96, spinner: this.spinner }));
553
- try {
554
- await this.umountVfs();
555
- }
556
- catch (error) {
557
- await this.showProblem(message, error);
558
- }
559
- //await Utils.pressKeyToExit('passed:' + message)
560
- message = "umount File system";
561
- await redraw(React.createElement(Install, { message: message, percent: 99, spinner: this.spinner }));
562
- try {
563
- await this.umountFs();
564
- }
565
- catch (error) {
566
- await this.showProblem(message, error);
567
- }
568
- await sleep(500); // wait 0,5 seconds
569
- /**
570
- * Finished
571
- */
572
- let cmd = "reboot";
573
- if (this.halt) {
574
- cmd = "poweroff";
575
- }
576
- message = `Press a key to ${cmd}`;
577
- if (this.unattended && this.nointeractive) {
578
- message = `System will ${cmd} in 5 seconds...`;
579
- }
580
- await redraw(React.createElement(Finished, { installationDevice: this.partitions.installationDevice, hostName: this.users.hostname, userName: this.users.username, message: message }));
581
- // await Utils.pressKeyToExit('passed:' + message)
582
- if (this.unattended && this.nointeractive) {
583
- await sleep(5000);
584
- }
585
- else {
586
- spawnSync('read _ ', { shell: true, stdio: [0, 1, 2] });
587
- }
588
- await exec(cmd, { echo: false });
589
- }
590
- }
591
- /**
592
- *
593
- */
594
- async execCalamaresModule(name) {
595
- const moduleName = this.installer.multiarchModules + name + '/module.desc';
596
- if (fs.existsSync(moduleName)) {
597
- const calamaresModule = yaml.load(fs.readFileSync(moduleName, 'utf8'));
598
- let command = calamaresModule.command;
599
- if (command !== '' || command !== undefined) {
600
- command += this.toNull;
601
- await exec(command, this.echo);
602
- }
603
- }
604
- }
605
- /**
606
- *
607
- * @param message
608
- */
609
- async emergencyShell(message) {
610
- try {
611
- await redraw(React.createElement(React.Fragment, null,
612
- React.createElement(Title, null),
613
- React.createElement(Box, null,
614
- React.createElement(Text, null, message))));
615
- cliCursor.show();
616
- await exec(`chroot ${this.installTarget} /bin/bash`);
617
- cliCursor.hide();
618
- }
619
- catch (error) {
620
- await Utils.pressKeyToExit(JSON.stringify(error));
621
- }
622
- }
623
- /**
624
- *
625
- * @param message
626
- */
627
- async showProblem(message, currErr) {
628
- message = `We was on "${message}", get error: ${JSON.stringify(currErr)}, type "exit" to exit from krill emergency shell.`;
629
- try {
630
- await redraw(React.createElement(React.Fragment, null,
631
- React.createElement(Title, null),
632
- React.createElement(Box, null,
633
- React.createElement(Text, null, message))));
634
- cliCursor.show();
635
- await exec("/bin/bash");
636
- cliCursor.hide();
637
- }
638
- catch (error) {
639
- await Utils.pressKeyToExit(JSON.stringify(error));
640
- }
641
- }
642
- }
643
- /**
644
- *
645
- * @param elem
646
- */
647
- async function redraw(elem) {
648
- let opt = {};
649
- opt.patchConsole = false;
650
- opt.debug = true;
651
- console.clear();
652
- render(elem, opt);
653
- }
654
- /**
655
- *
656
- * @param ms
657
- * @returns
658
- */
659
- function sleep(ms = 0) {
660
- return new Promise((resolve) => {
661
- setTimeout(resolve, ms);
662
- });
663
- }
@@ -1,16 +0,0 @@
1
- /**
2
- * ./src/components/finished.tsx
3
- * penguins-eggs v.10.0.0 / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- */
8
- import React from 'react';
9
- type FinishedProps = {
10
- installationDevice?: string;
11
- hostName?: string;
12
- userName?: string;
13
- message?: string;
14
- };
15
- export default function Finished({ installationDevice, hostName, userName, message }: FinishedProps): React.JSX.Element;
16
- export {};