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,645 +0,0 @@
1
- "use strict";
2
- /**
3
- * penguins-eggs
4
- * krill modules: krill-sequence.ts
5
- * author: Piero Proietti
6
- * email: piero.proietti@gmail.com
7
- * license: MIT
8
- * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
9
- */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- const tslib_1 = require("tslib");
12
- const settings_1 = tslib_1.__importDefault(require("../classes/settings"));
13
- const react_1 = tslib_1.__importDefault(require("react"));
14
- const ink_1 = require("ink");
15
- const install_1 = tslib_1.__importDefault(require("../components/install"));
16
- const finished_1 = tslib_1.__importDefault(require("../components/finished"));
17
- const fs_1 = tslib_1.__importDefault(require("fs"));
18
- const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
19
- const utils_1 = tslib_1.__importDefault(require("../classes/utils"));
20
- const cli_autologin_1 = tslib_1.__importDefault(require("../lib/cli-autologin"));
21
- const pacman_1 = tslib_1.__importDefault(require("../classes/pacman"));
22
- const installer_1 = require("../classes/incubation/installer");
23
- const xdg_1 = tslib_1.__importDefault(require("../classes/xdg"));
24
- const distro_1 = tslib_1.__importDefault(require("../classes/distro"));
25
- const utils_2 = require("../lib/utils");
26
- // import krill modules
27
- const partition_1 = tslib_1.__importDefault(require("./modules/partition"));
28
- const mount_fs_1 = require("./modules/mount-fs");
29
- const mount_vfs_1 = require("./modules/mount-vfs");
30
- const unpackfs_1 = tslib_1.__importDefault(require("./modules/unpackfs"));
31
- const machine_id_1 = tslib_1.__importDefault(require("./modules/machine-id"));
32
- const fstab_1 = tslib_1.__importDefault(require("./modules/fstab"));
33
- const locale_1 = tslib_1.__importDefault(require("./modules/locale"));
34
- const m_keyboard_1 = tslib_1.__importDefault(require("./modules/m-keyboard"));
35
- const locale_cfg_1 = tslib_1.__importDefault(require("./modules/locale-cfg"));
36
- // users
37
- const add_user_1 = tslib_1.__importDefault(require("./modules/add-user"));
38
- const change_password_1 = tslib_1.__importDefault(require("./modules/change-password"));
39
- // displaymanager: autologin
40
- const network_cfg_1 = tslib_1.__importDefault(require("./modules/network-cfg"));
41
- // hwclock:
42
- // services-systemd:
43
- // bootloader-config
44
- const bootloader_config_1 = tslib_1.__importDefault(require("./modules/bootloader-config"));
45
- const bootloader_config_arch_1 = tslib_1.__importDefault(require("./modules/bootloader-config-arch"));
46
- const bootloader_config_debian_1 = tslib_1.__importDefault(require("./modules/bootloader-config-debian"));
47
- const grubcfg_1 = tslib_1.__importDefault(require("./modules/grubcfg"));
48
- const bootloader_1 = tslib_1.__importDefault(require("./modules/bootloader"));
49
- const packages_1 = tslib_1.__importDefault(require("./modules/packages"));
50
- const remove_installer_link_1 = tslib_1.__importDefault(require("./modules/remove-installer-link"));
51
- // luksbootkeyfile:
52
- // plymouthcfg;
53
- const initramfs_cfg_1 = tslib_1.__importDefault(require("./modules/initramfs-cfg"));
54
- const initramfs_1 = tslib_1.__importDefault(require("./modules/initramfs"));
55
- const del_live_user_1 = tslib_1.__importDefault(require("./modules/del-live-user"));
56
- // umount already imported
57
- // to order in same wat
58
- const m_timezone_1 = tslib_1.__importDefault(require("./modules/m-timezone"));
59
- const umount_1 = tslib_1.__importDefault(require("./modules/umount"));
60
- const mkfs_1 = tslib_1.__importDefault(require("./modules/mkfs"));
61
- const hostname_1 = tslib_1.__importDefault(require("./modules/hostname"));
62
- const cfs_1 = tslib_1.__importDefault(require("../classes/cfs"));
63
- /**
64
- * hatching: installazione o cova!!!
65
- */
66
- class Sequence {
67
- /**
68
- * constructor
69
- */
70
- constructor(location, keyboard, partitions, users, network) {
71
- this.partition = partition_1.default;
72
- // mount
73
- this.mountFs = mount_fs_1.mountFs;
74
- this.mountVfs = mount_vfs_1.mountVfs;
75
- //
76
- this.unpackfs = unpackfs_1.default;
77
- this.machineId = machine_id_1.default;
78
- this.fstab = fstab_1.default;
79
- this.locale = locale_1.default;
80
- this.keyboard = m_keyboard_1.default;
81
- this.localeCfg = locale_cfg_1.default;
82
- // users
83
- this.addUser = add_user_1.default;
84
- this.changePassword = change_password_1.default;
85
- // displaumanager: autologin
86
- this.networkCfg = network_cfg_1.default;
87
- // hwclock:
88
- // services-systemd:
89
- // bootloader-config
90
- this.bootloaderConfig = bootloader_config_1.default;
91
- this.bootloaderConfigArch = bootloader_config_arch_1.default;
92
- this.bootloaderConfigDebian = bootloader_config_debian_1.default;
93
- //
94
- this.grubcfg = grubcfg_1.default;
95
- this.bootloader = bootloader_1.default;
96
- this.packages = packages_1.default;
97
- this.removeInstallerLink = remove_installer_link_1.default;
98
- // luksbootkeyfile:
99
- // plymouthcfg;
100
- this.initramfsCfg = initramfs_cfg_1.default;
101
- this.initramfs = initramfs_1.default;
102
- this.delLiveUser = del_live_user_1.default;
103
- this.umountFs = mount_fs_1.umountFs;
104
- this.umountVfs = mount_vfs_1.umountVfs;
105
- // to order in same way
106
- this.timezone = m_timezone_1.default;
107
- this.umount = umount_1.default;
108
- this.mkfs = mkfs_1.default;
109
- this.hostname = hostname_1.default;
110
- this.installer = {};
111
- this.installTarget = '/tmp/calamares-krill-root';
112
- this.verbose = false;
113
- this.echo = {};
114
- this.efi = false;
115
- this.devices = {};
116
- this.users = {};
117
- this.network = {};
118
- this.partitions = {};
119
- this.language = '';
120
- this.region = '';
121
- this.zone = '';
122
- this.keyboardModel = '';
123
- this.keyboardLayout = '';
124
- this.keyboardVariant = '';
125
- this.toNull = ' > /dev/null 2>&1';
126
- this.settings = {};
127
- this.remix = {};
128
- this.distro = {};
129
- // Crypted Clone
130
- this.luksName = 'luks-eggs-data';
131
- this.luksFile = `/run/live/medium/live/${this.luksName}`;
132
- this.luksDevice = `/dev/mapper/${this.luksName}`;
133
- this.luksMountpoint = `/mnt`;
134
- // Clone (Uncrypted)
135
- this.is_clone = fs_1.default.existsSync('/etc/penguins-eggs.d/is_clone');
136
- this.is_crypted_clone = fs_1.default.existsSync('/etc/penguins-eggs.d/is_crypted_clone');
137
- this.unattended = false;
138
- this.nointeractive = false;
139
- this.halt = false;
140
- this.cliAutologin = new cli_autologin_1.default();
141
- this.installer = (0, installer_1.installer)();
142
- this.settings = new settings_1.default();
143
- this.language = location.language;
144
- this.region = location.region;
145
- this.zone = location.zone;
146
- this.keyboardModel = keyboard.keyboardModel;
147
- this.keyboardLayout = keyboard.keyboardLayout;
148
- this.keyboardVariant = keyboard.keyboardVariant;
149
- this.network = network;
150
- this.partitions = partitions;
151
- this.users = users;
152
- this.devices.efi = {};
153
- this.devices.boot = {};
154
- this.devices.root = {};
155
- this.devices.data = {};
156
- this.devices.swap = {};
157
- this.distro = new distro_1.default(this.remix);
158
- this.efi = fs_1.default.existsSync('/sys/firmware/efi/efivars');
159
- }
160
- /**
161
- * install
162
- * @param verbose
163
- * @param umount
164
- * @returns
165
- */
166
- async start(domain = '', unattended = false, nointeractive = false, halt = false, verbose = false) {
167
- // Imposta il domain per flag
168
- if (domain !== '') {
169
- if (domain.at(0) !== '.') {
170
- domain = '.' + domain;
171
- }
172
- this.network.domain = domain;
173
- }
174
- /**
175
- * To let krill to work with Arch we need:
176
- */
177
- if (this.distro.familyId === 'archlinux') {
178
- if (this.distro.distroId === 'ManjaroLinux') {
179
- await (0, utils_2.exec)(`sudo ln -s /run/miso/bootmnt/live/ /live`);
180
- }
181
- else {
182
- await (0, utils_2.exec)(`sudo ln -s /run/archiso/bootmnt/live/ /live`);
183
- }
184
- }
185
- this.unattended = unattended;
186
- this.nointeractive = nointeractive;
187
- this.halt = halt;
188
- this.verbose = verbose;
189
- this.echo = utils_1.default.setEcho(this.verbose);
190
- if (this.verbose) {
191
- this.toNull = '';
192
- }
193
- // start
194
- await this.settings.load();
195
- // partition
196
- let percent = 0.0;
197
- let message = "";
198
- let isPartitioned = false;
199
- message = "Creating partitions";
200
- percent = 0.03;
201
- try {
202
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
203
- isPartitioned = await this.partition();
204
- }
205
- catch (error) {
206
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
207
- }
208
- if (isPartitioned) {
209
- // formatting
210
- message = "Formatting file system ";
211
- percent = 0.06;
212
- try {
213
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
214
- await this.mkfs();
215
- }
216
- catch (error) {
217
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
218
- }
219
- // mountFs
220
- message = "Mounting target file system ";
221
- percent = 0.09;
222
- try {
223
- redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
224
- await this.mountFs();
225
- }
226
- catch (error) {
227
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
228
- }
229
- // mountVfs
230
- message = "Mounting on target VFS ";
231
- percent = 0.12;
232
- try {
233
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
234
- await this.mountVfs();
235
- }
236
- catch (error) {
237
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
238
- }
239
- // unpackfs
240
- message = "Unpacking filesystem ";
241
- percent = 0.15;
242
- try {
243
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
244
- await this.unpackfs();
245
- }
246
- catch (error) {
247
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
248
- }
249
- // dpkg-unsafe-io
250
- if (this.distro.familyId === 'debian') {
251
- message = "dpkg-unsafe-io";
252
- percent = 0.40;
253
- try {
254
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
255
- await this.execCalamaresModule('dpkg-unsafe-io');
256
- }
257
- catch (error) {
258
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
259
- }
260
- }
261
- // sources-yolk
262
- if (this.distro.familyId === 'debian') {
263
- message = 'sources-yolk';
264
- percent = 0.43;
265
- try {
266
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent, spinner: true }));
267
- await this.execCalamaresModule('sources-yolk');
268
- }
269
- catch (error) {
270
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
271
- }
272
- }
273
- // machineid
274
- message = 'machineid';
275
- percent = 0.46;
276
- try {
277
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent, spinner: true }));
278
- await this.machineId();
279
- }
280
- catch (error) {
281
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
282
- }
283
- // fstab
284
- message = "Creating fstab ";
285
- percent = 0.49;
286
- try {
287
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
288
- await this.fstab(this.partitions.installationDevice);
289
- }
290
- catch (error) {
291
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
292
- }
293
- /**
294
- * CryptedClone exec eggs syncfrom
295
- */
296
- if (this.is_crypted_clone) {
297
- message = "Restore private data from crypted clone ";
298
- if (fs_1.default.existsSync(this.luksFile)) {
299
- percent = 0.55;
300
- let cmd = `eggs syncfrom --rootdir /tmp/calamares-krill-root/ --file ${this.luksFile}`;
301
- try {
302
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent, spinner: true }));
303
- await (0, utils_2.exec)(cmd, utils_1.default.setEcho(true));
304
- this.is_clone = true; // Adesso è un clone
305
- }
306
- catch (error) {
307
- await utils_1.default.pressKeyToExit(cmd);
308
- }
309
- }
310
- else {
311
- await utils_1.default.pressKeyToExit(`Cannot find LUKS file ${this.luksFile}`);
312
- }
313
- }
314
- // networkcfg
315
- message = "networkcfg";
316
- percent = 0.61;
317
- try {
318
- await this.networkCfg();
319
- }
320
- catch (error) {
321
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
322
- }
323
- // hostname
324
- message = "Create hostname ";
325
- percent = 0.64;
326
- try {
327
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
328
- await this.hostname(this.network.domain);
329
- }
330
- catch (error) {
331
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
332
- }
333
- // initramfsCfg
334
- message = "initramfs configure";
335
- percent = 0.67;
336
- try {
337
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
338
- await this.initramfsCfg(this.partitions.installationDevice);
339
- }
340
- catch (error) {
341
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
342
- }
343
- // initramfs
344
- message = "initramfs ";
345
- percent = 0.70;
346
- try {
347
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
348
- await this.initramfs();
349
- }
350
- catch (error) {
351
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
352
- }
353
- // dpkg-unsafe-io-undo
354
- if (this.distro.familyId === 'debian') {
355
- message = "dpkg-unsafe-io-undo";
356
- percent = 0.72;
357
- try {
358
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
359
- await this.execCalamaresModule('dpkg-unsafe-io-undo');
360
- }
361
- catch (error) {
362
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
363
- }
364
- }
365
- /**
366
- * IF NOT CLONE:
367
- * - locale
368
- * - keyboard
369
- * - localeCfg
370
- * - delLiveUser
371
- * - adduser
372
- * - autologin
373
- */
374
- if (!this.is_clone) {
375
- // locale
376
- message = "Locale";
377
- percent = 0.74;
378
- try {
379
- redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
380
- await this.locale();
381
- }
382
- catch (error) {
383
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
384
- }
385
- // keyboard
386
- message = "settings keyboard";
387
- percent = 0.75;
388
- try {
389
- await this.keyboard();
390
- }
391
- catch (error) {
392
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
393
- }
394
- // localeCfg
395
- message = "Locale Configuration";
396
- percent = 0.76;
397
- try {
398
- await this.localeCfg();
399
- await (0, utils_2.exec)("chroot " + this.installTarget + " locale-gen");
400
- }
401
- catch (error) {
402
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
403
- }
404
- // delLiveUser
405
- message = "Remove user LIVE";
406
- percent = 0.75;
407
- try {
408
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
409
- await this.delLiveUser();
410
- }
411
- catch (error) {
412
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
413
- }
414
- // addUser
415
- message = "Add user";
416
- percent = 0.76;
417
- try {
418
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
419
- await this.addUser(this.users.name, this.users.password, this.users.fullname, '', '', '');
420
- }
421
- catch (error) {
422
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
423
- }
424
- // changePassword root
425
- message = "Add root password";
426
- percent = 0.77;
427
- try {
428
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
429
- await this.changePassword('root', this.users.rootPassword);
430
- }
431
- catch (error) {
432
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
433
- }
434
- // autologin
435
- if (pacman_1.default.isInstalledGui()) {
436
- try {
437
- message = "Autologin GUI";
438
- percent = 0.78;
439
- if (this.users.autologin) {
440
- await xdg_1.default.autologin(await utils_1.default.getPrimaryUser(), this.users.name, this.installTarget);
441
- if (this.distro.distroLike === 'Arch') {
442
- await (0, utils_2.exec)(`chroot ${this.installTarget} groupadd autologin`);
443
- await (0, utils_2.exec)(`chroot ${this.installTarget} gpasswd -a ${this.users.name} autologin`);
444
- }
445
- }
446
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
447
- }
448
- catch (error) {
449
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
450
- }
451
- }
452
- } // IF NOT CLONE END
453
- // Remove ALWAYS autologin CLI
454
- message = "Remove autologin CLI";
455
- percent = 0.80;
456
- try {
457
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
458
- await this.cliAutologin.remove(this.installTarget);
459
- }
460
- catch (error) {
461
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
462
- }
463
- // bootloader-config
464
- message = "bootloader-config ";
465
- percent = 0.82;
466
- try {
467
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
468
- await this.bootloaderConfig();
469
- }
470
- catch (error) {
471
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
472
- }
473
- // grubcfg
474
- message = "grubcfg ";
475
- percent = 0.84;
476
- try {
477
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
478
- await this.grubcfg();
479
- }
480
- catch (error) {
481
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
482
- }
483
- // bootloader (grub-install)
484
- message = "bootloader ";
485
- percent = 0.86;
486
- try {
487
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
488
- await this.bootloader();
489
- }
490
- catch (error) {
491
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
492
- }
493
- // sources-yolk-undo
494
- if (this.distro.familyId === 'debian') {
495
- message = "sources-yolk-undo";
496
- percent = 0.88;
497
- try {
498
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
499
- await this.execCalamaresModule('sources-yolk-undo');
500
- }
501
- catch (error) {
502
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
503
- }
504
- }
505
- // packages
506
- message = "add/remove packages";
507
- percent = 0.90;
508
- try {
509
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
510
- await this.packages();
511
- }
512
- catch (error) {
513
- console.log(JSON.stringify(error));
514
- }
515
- /**
516
- *
517
- * remove CLI/GUI installer link
518
- */
519
- message = "remove GUI installer link";
520
- percent = 0.92;
521
- try {
522
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
523
- await this.removeInstallerLink();
524
- }
525
- catch (error) {
526
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
527
- }
528
- // remove /etc/penguins_eggs.d/is_clone*
529
- message = "Cleanup";
530
- percent = 0.94;
531
- try {
532
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
533
- await (0, utils_2.exec)(`rm -f ${this.installTarget}/etc/penguins-eggs.d/is_clone`);
534
- await (0, utils_2.exec)(`rm -f ${this.installTarget}/etc/penguins-eggs.d/is_crypted_clone`);
535
- }
536
- catch (error) {
537
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
538
- }
539
- /**
540
- * custom final steps
541
- */
542
- const cfs = new cfs_1.default();
543
- const steps = await cfs.steps();
544
- if (steps.length > 0) {
545
- for (const step of steps) {
546
- message = `running ${step}`;
547
- percent = 0.97;
548
- try {
549
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
550
- await this.execCalamaresModule(step);
551
- }
552
- catch (error) {
553
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
554
- }
555
- }
556
- }
557
- // umountVfs
558
- message = "umount VFS";
559
- percent = 0.96;
560
- try {
561
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
562
- await this.umountVfs();
563
- }
564
- catch (error) {
565
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
566
- }
567
- message = "umount";
568
- percent = 0.98;
569
- try {
570
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
571
- await this.umountFs();
572
- }
573
- catch (error) {
574
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
575
- }
576
- // finished
577
- message = "finished";
578
- percent = 100.0;
579
- try {
580
- await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
581
- await this.finished();
582
- }
583
- catch (error) {
584
- await utils_1.default.pressKeyToExit(JSON.stringify(error));
585
- }
586
- }
587
- }
588
- /**
589
- *
590
- */
591
- async execCalamaresModule(name) {
592
- const moduleName = this.installer.multiarchModules + name + '/module.desc';
593
- if (fs_1.default.existsSync(moduleName)) {
594
- const calamaresModule = js_yaml_1.default.load(fs_1.default.readFileSync(moduleName, 'utf8'));
595
- let command = calamaresModule.command;
596
- if (command !== '' || command !== undefined) {
597
- command += this.toNull;
598
- await (0, utils_2.exec)(command, this.echo);
599
- }
600
- }
601
- }
602
- /**
603
- * only show the result
604
- */
605
- async finished() {
606
- await redraw(react_1.default.createElement(finished_1.default, { installationDevice: this.partitions.installationDevice, hostName: this.users.hostname, userName: this.users.name }));
607
- let cmd = "reboot";
608
- if (this.halt) {
609
- cmd = "poweroff";
610
- }
611
- if (this.unattended && this.nointeractive) {
612
- console.log(`System will ${cmd} in 5 seconds...`);
613
- await sleep(5000);
614
- await (0, utils_2.exec)(cmd, { echo: true });
615
- }
616
- else {
617
- utils_1.default.pressKeyToExit(`Press a key to ${cmd}`);
618
- await (0, utils_2.exec)(cmd, { echo: true });
619
- }
620
- }
621
- }
622
- exports.default = Sequence;
623
- // const ifaces: string[] = fs.readdirSync('/sys/class/net/')
624
- /**
625
- *
626
- * @param elem
627
- */
628
- async function redraw(elem) {
629
- let opt = {};
630
- opt.patchConsole = false;
631
- opt.debug = false;
632
- console.clear();
633
- // await exec('clear', Utils.setEcho(false))
634
- (0, ink_1.render)(elem, opt);
635
- }
636
- /**
637
- *
638
- * @param ms
639
- * @returns
640
- */
641
- function sleep(ms = 0) {
642
- return new Promise((resolve) => {
643
- setTimeout(resolve, ms);
644
- });
645
- }