penguins-eggs 10.0.57 → 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 (404) hide show
  1. package/.oclif.manifest.json +100 -1
  2. package/README.md +84 -44
  3. package/addons/eggs/theme/calamares/modules/{_users.yml → users.yml} +3 -3
  4. package/addons/eggs/theme/livecd/grub.main.full.cfg +1 -7
  5. package/addons/eggs/theme/livecd/grub.main.simple.cfg +1 -1
  6. package/assets/config.cfg +30 -0
  7. package/conf/derivatives.yaml +1 -3
  8. package/conf/derivatives_fedora.yaml +6 -0
  9. package/conf/distros/alpine/calamares/modules/users.yml +3 -3
  10. package/conf/distros/bionic/calamares/calamares-modules/grubcfg/grubcfg.yml +1 -1
  11. package/conf/distros/bionic/calamares/modules/users.yml +3 -3
  12. package/conf/distros/buster/calamares/calamares-modules/cleanup/cleanup.sh +8 -1
  13. package/conf/distros/buster/calamares/modules/partition.yml +159 -23
  14. package/conf/distros/buster/calamares/modules/removeuser.yml +1 -1
  15. package/conf/distros/buster/calamares/modules/users.yml +3 -3
  16. package/conf/distros/fedora/calamares/modules/users.yml +3 -3
  17. package/conf/distros/noble/calamares/modules/focal-jammy/users.yml +3 -3
  18. package/conf/distros/opensuse/calamares/modules/users.yml +3 -3
  19. package/conf/distros/rolling/calamares/modules/users.yml +3 -3
  20. package/conf/eggs.yaml +1 -1
  21. package/conf/exclude.list.d/master.list +1 -0
  22. package/conf/krill.yaml +8 -0
  23. package/conf/love.yaml +4 -4
  24. package/package.json +33 -29
  25. package/perrisbrewery/scripts/postinst +98 -0
  26. package/perrisbrewery/scripts/postrm +82 -0
  27. package/perrisbrewery/scripts/preinst +40 -0
  28. package/perrisbrewery/scripts/prerm +47 -0
  29. package/perrisbrewery/template/control.template +17 -0
  30. package/perrisbrewery/template/dependencies-bionic.yaml +33 -0
  31. package/perrisbrewery/template/dependencies.yaml +37 -0
  32. package/perrisbrewery/template/man.template.md +110 -0
  33. package/pods/README.md +14 -0
  34. package/pods/almalinux.sh +10 -0
  35. package/pods/archlinux.sh +10 -0
  36. package/pods/ci/README.md +5 -0
  37. package/pods/ci/kernel-overlay-install.sh +114 -0
  38. package/pods/ci/minimal/almalinux-container2host.sh +165 -0
  39. package/pods/ci/minimal/archlinux-container2host.sh +125 -0
  40. package/pods/ci/minimal/debian-container2host.sh +173 -0
  41. package/pods/ci/minimal/fedora-container2host.sh +170 -0
  42. package/pods/ci/minimal/manjaro-container2host.sh +123 -0
  43. package/pods/ci/minimal/opensuse-container2host.sh +143 -0
  44. package/pods/ci/penguins-eggs-execute.sh +22 -0
  45. package/pods/ci/penguins-eggs-install.sh +115 -0
  46. package/pods/ci/run +34 -0
  47. package/pods/ci/run-on-almalinux.sh +50 -0
  48. package/pods/ci/run-on-archlinux.sh +64 -0
  49. package/pods/ci/run-on-debian.sh +51 -0
  50. package/pods/ci/run-on-devuan.sh +48 -0
  51. package/pods/ci/run-on-fedora.sh +51 -0
  52. package/pods/ci/run-on-manjaro.sh +61 -0
  53. package/pods/ci/run-on-opensuse.sh +58 -0
  54. package/pods/ci/run-on-rockylinux.sh +51 -0
  55. package/pods/ci/run-on-ubuntu.sh +52 -0
  56. package/pods/debian.sh +23 -0
  57. package/pods/devuan.sh +26 -0
  58. package/pods/fedora.sh +12 -0
  59. package/pods/lmde.sh +22 -0
  60. package/pods/manjaro.sh +10 -0
  61. package/pods/opensuse.sh +12 -0
  62. package/pods/podman.command.sh +85 -0
  63. package/pods/rocky.sh +12 -0
  64. package/pods/run-build-packages-debs.sh +45 -0
  65. package/pods/run-create-debs.sh +23 -0
  66. package/pods/ubuntu.sh +24 -0
  67. package/scripts/_eggs +23 -6
  68. package/scripts/eggs.bash +8 -6
  69. package/dist/classes/bleach.d.ts +0 -32
  70. package/dist/classes/bleach.js +0 -135
  71. package/dist/classes/cfs.d.ts +0 -17
  72. package/dist/classes/cfs.js +0 -39
  73. package/dist/classes/cli-autologin.d.ts +0 -52
  74. package/dist/classes/cli-autologin.js +0 -247
  75. package/dist/classes/compressors.d.ts +0 -54
  76. package/dist/classes/compressors.js +0 -109
  77. package/dist/classes/daddy.d.ts +0 -26
  78. package/dist/classes/daddy.js +0 -167
  79. package/dist/classes/distro.d.ts +0 -32
  80. package/dist/classes/distro.js +0 -341
  81. package/dist/classes/diversions.d.ts +0 -52
  82. package/dist/classes/diversions.js +0 -126
  83. package/dist/classes/incubation/branding.d.ts +0 -17
  84. package/dist/classes/incubation/branding.js +0 -85
  85. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +0 -11
  86. package/dist/classes/incubation/fisherman-helper/displaymanager.js +0 -40
  87. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  88. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  89. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  90. package/dist/classes/incubation/fisherman-helper/settings.js +0 -83
  91. package/dist/classes/incubation/fisherman.d.ts +0 -70
  92. package/dist/classes/incubation/fisherman.js +0 -263
  93. package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
  94. package/dist/classes/incubation/incubator.d/alpine.js +0 -78
  95. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  96. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  97. package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
  98. package/dist/classes/incubation/incubator.d/buster.js +0 -85
  99. package/dist/classes/incubation/incubator.d/jessie.d.ts +0 -31
  100. package/dist/classes/incubation/incubator.d/jessie.js +0 -44
  101. package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
  102. package/dist/classes/incubation/incubator.d/noble.js +0 -85
  103. package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
  104. package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
  105. package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
  106. package/dist/classes/incubation/incubator.d/opensuse.js +0 -81
  107. package/dist/classes/incubation/incubator.d/rolling.d.ts +0 -32
  108. package/dist/classes/incubation/incubator.d/rolling.js +0 -80
  109. package/dist/classes/incubation/incubator.d.ts +0 -44
  110. package/dist/classes/incubation/incubator.js +0 -382
  111. package/dist/classes/incubation/installer.d.ts +0 -13
  112. package/dist/classes/incubation/installer.js +0 -52
  113. package/dist/classes/keyboards.d.ts +0 -50
  114. package/dist/classes/keyboards.js +0 -287
  115. package/dist/classes/locales.d.ts +0 -21
  116. package/dist/classes/locales.js +0 -77
  117. package/dist/classes/network.d.ts +0 -37
  118. package/dist/classes/network.js +0 -98
  119. package/dist/classes/ovary.d.ts +0 -198
  120. package/dist/classes/ovary.js +0 -1850
  121. package/dist/classes/pacman.d/aldos.d.ts +0 -52
  122. package/dist/classes/pacman.d/aldos.js +0 -100
  123. package/dist/classes/pacman.d/alpine.d.ts +0 -56
  124. package/dist/classes/pacman.d/alpine.js +0 -162
  125. package/dist/classes/pacman.d/archlinux.d.ts +0 -62
  126. package/dist/classes/pacman.d/archlinux.js +0 -139
  127. package/dist/classes/pacman.d/debian.d.ts +0 -65
  128. package/dist/classes/pacman.d/debian.js +0 -143
  129. package/dist/classes/pacman.d/fedora.d.ts +0 -53
  130. package/dist/classes/pacman.d/fedora.js +0 -101
  131. package/dist/classes/pacman.d/openmamba.d.ts +0 -52
  132. package/dist/classes/pacman.d/openmamba.js +0 -100
  133. package/dist/classes/pacman.d/opensuse.d.ts +0 -53
  134. package/dist/classes/pacman.d/opensuse.js +0 -102
  135. package/dist/classes/pacman.d/voidlinux.d.ts +0 -52
  136. package/dist/classes/pacman.d/voidlinux.js +0 -90
  137. package/dist/classes/pacman.d.ts +0 -139
  138. package/dist/classes/pacman.js +0 -775
  139. package/dist/classes/pve-live.d.ts +0 -17
  140. package/dist/classes/pve-live.js +0 -52
  141. package/dist/classes/pxe.d.ts +0 -74
  142. package/dist/classes/pxe.js +0 -410
  143. package/dist/classes/settings.d.ts +0 -53
  144. package/dist/classes/settings.js +0 -185
  145. package/dist/classes/sources_list.d.ts +0 -28
  146. package/dist/classes/sources_list.js +0 -89
  147. package/dist/classes/systemctl.d.ts +0 -47
  148. package/dist/classes/systemctl.js +0 -86
  149. package/dist/classes/tailor.d.ts +0 -50
  150. package/dist/classes/tailor.js +0 -526
  151. package/dist/classes/tools.d.ts +0 -26
  152. package/dist/classes/tools.js +0 -50
  153. package/dist/classes/users.d.ts +0 -28
  154. package/dist/classes/users.js +0 -143
  155. package/dist/classes/utils.d.ts +0 -326
  156. package/dist/classes/utils.js +0 -1025
  157. package/dist/classes/xdg.d.ts +0 -45
  158. package/dist/classes/xdg.js +0 -337
  159. package/dist/classes/yolk.d.ts +0 -33
  160. package/dist/classes/yolk.js +0 -114
  161. package/dist/commands/adapt.d.ts +0 -17
  162. package/dist/commands/adapt.js +0 -33
  163. package/dist/commands/analyze.d.ts +0 -26
  164. package/dist/commands/analyze.js +0 -95
  165. package/dist/commands/calamares.d.ts +0 -29
  166. package/dist/commands/calamares.js +0 -112
  167. package/dist/commands/config.d.ts +0 -35
  168. package/dist/commands/config.js +0 -120
  169. package/dist/commands/cuckoo.d.ts +0 -16
  170. package/dist/commands/cuckoo.js +0 -62
  171. package/dist/commands/dad.d.ts +0 -20
  172. package/dist/commands/dad.js +0 -46
  173. package/dist/commands/export/iso.d.ts +0 -19
  174. package/dist/commands/export/iso.js +0 -55
  175. package/dist/commands/export/pkg.d.ts +0 -29
  176. package/dist/commands/export/pkg.js +0 -163
  177. package/dist/commands/export/tarballs.d.ts +0 -27
  178. package/dist/commands/export/tarballs.js +0 -84
  179. package/dist/commands/install.d.ts +0 -37
  180. package/dist/commands/install.js +0 -88
  181. package/dist/commands/kill.d.ts +0 -24
  182. package/dist/commands/kill.js +0 -50
  183. package/dist/commands/love.d.ts +0 -20
  184. package/dist/commands/love.js +0 -59
  185. package/dist/commands/mom.d.ts +0 -16
  186. package/dist/commands/mom.js +0 -30
  187. package/dist/commands/produce.d.ts +0 -34
  188. package/dist/commands/produce.js +0 -201
  189. package/dist/commands/status.d.ts +0 -23
  190. package/dist/commands/status.js +0 -31
  191. package/dist/commands/syncfrom.d.ts +0 -45
  192. package/dist/commands/syncfrom.js +0 -152
  193. package/dist/commands/syncto.d.ts +0 -40
  194. package/dist/commands/syncto.js +0 -175
  195. package/dist/commands/tools/clean.d.ts +0 -18
  196. package/dist/commands/tools/clean.js +0 -37
  197. package/dist/commands/tools/ppa.d.ts +0 -26
  198. package/dist/commands/tools/ppa.js +0 -138
  199. package/dist/commands/tools/skel.d.ts +0 -18
  200. package/dist/commands/tools/skel.js +0 -44
  201. package/dist/commands/tools/stat.d.ts +0 -31
  202. package/dist/commands/tools/stat.js +0 -70
  203. package/dist/commands/tools/yolk.d.ts +0 -24
  204. package/dist/commands/tools/yolk.js +0 -45
  205. package/dist/commands/update.d.ts +0 -51
  206. package/dist/commands/update.js +0 -219
  207. package/dist/commands/wardrobe/get.d.ts +0 -23
  208. package/dist/commands/wardrobe/get.js +0 -52
  209. package/dist/commands/wardrobe/list.d.ts +0 -24
  210. package/dist/commands/wardrobe/list.js +0 -125
  211. package/dist/commands/wardrobe/show.d.ts +0 -25
  212. package/dist/commands/wardrobe/show.js +0 -97
  213. package/dist/commands/wardrobe/wear.d.ts +0 -26
  214. package/dist/commands/wardrobe/wear.js +0 -84
  215. package/dist/components/finished.d.ts +0 -16
  216. package/dist/components/finished.js +0 -56
  217. package/dist/components/information.d.ts +0 -8
  218. package/dist/components/information.js +0 -156
  219. package/dist/components/install.d.ts +0 -15
  220. package/dist/components/install.js +0 -60
  221. package/dist/components/keyboard.d.ts +0 -16
  222. package/dist/components/keyboard.js +0 -54
  223. package/dist/components/location.d.ts +0 -16
  224. package/dist/components/location.js +0 -59
  225. package/dist/components/network.d.ts +0 -19
  226. package/dist/components/network.js +0 -65
  227. package/dist/components/partitions.d.ts +0 -16
  228. package/dist/components/partitions.js +0 -73
  229. package/dist/components/steps.d.ts +0 -13
  230. package/dist/components/steps.js +0 -148
  231. package/dist/components/summary.d.ts +0 -24
  232. package/dist/components/summary.js +0 -81
  233. package/dist/components/title.d.ts +0 -11
  234. package/dist/components/title.js +0 -35
  235. package/dist/components/users.d.ts +0 -24
  236. package/dist/components/users.js +0 -80
  237. package/dist/components/welcome.d.ts +0 -13
  238. package/dist/components/welcome.js +0 -63
  239. package/dist/index-old.d.ts +0 -8
  240. package/dist/index-old.js +0 -8
  241. package/dist/index.d.ts +0 -54
  242. package/dist/index.js +0 -147
  243. package/dist/interfaces/i-addons.d.ts +0 -12
  244. package/dist/interfaces/i-addons.js +0 -8
  245. package/dist/interfaces/i-analyze.d.ts +0 -17
  246. package/dist/interfaces/i-analyze.js +0 -17
  247. package/dist/interfaces/i-app.d.ts +0 -14
  248. package/dist/interfaces/i-app.js +0 -8
  249. package/dist/interfaces/i-branding.d.ts +0 -36
  250. package/dist/interfaces/i-branding.js +0 -8
  251. package/dist/interfaces/i-calamares-displaymanager.d.ts +0 -17
  252. package/dist/interfaces/i-calamares-displaymanager.js +0 -1
  253. package/dist/interfaces/i-calamares-finished.d.ts +0 -12
  254. package/dist/interfaces/i-calamares-finished.js +0 -1
  255. package/dist/interfaces/i-calamares-packages.d.ts +0 -28
  256. package/dist/interfaces/i-calamares-packages.js +0 -1
  257. package/dist/interfaces/i-calamares-partition.d.ts +0 -40
  258. package/dist/interfaces/i-calamares-partition.js +0 -1
  259. package/dist/interfaces/i-config-tools.d.ts +0 -15
  260. package/dist/interfaces/i-config-tools.js +0 -8
  261. package/dist/interfaces/i-devices.d.ts +0 -20
  262. package/dist/interfaces/i-devices.js +0 -8
  263. package/dist/interfaces/i-distro.d.ts +0 -23
  264. package/dist/interfaces/i-distro.js +0 -8
  265. package/dist/interfaces/i-drive-list.d.ts +0 -33
  266. package/dist/interfaces/i-drive-list.js +0 -8
  267. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  268. package/dist/interfaces/i-eggs-config.js +0 -8
  269. package/dist/interfaces/i-excludes.d.ts +0 -14
  270. package/dist/interfaces/i-excludes.js +0 -8
  271. package/dist/interfaces/i-exec.d.ts +0 -11
  272. package/dist/interfaces/i-exec.js +0 -8
  273. package/dist/interfaces/i-initrd.d.ts +0 -13
  274. package/dist/interfaces/i-initrd.js +0 -8
  275. package/dist/interfaces/i-install.d.ts +0 -16
  276. package/dist/interfaces/i-install.js +0 -8
  277. package/dist/interfaces/i-installer.d.ts +0 -17
  278. package/dist/interfaces/i-installer.js +0 -8
  279. package/dist/interfaces/i-krill-config.d.ts +0 -33
  280. package/dist/interfaces/i-krill-config.js +0 -8
  281. package/dist/interfaces/i-krill.d.ts +0 -42
  282. package/dist/interfaces/i-krill.js +0 -8
  283. package/dist/interfaces/i-materia.d.ts +0 -36
  284. package/dist/interfaces/i-materia.js +0 -8
  285. package/dist/interfaces/i-net.d.ts +0 -16
  286. package/dist/interfaces/i-net.js +0 -8
  287. package/dist/interfaces/i-os-release.d.ts +0 -5
  288. package/dist/interfaces/i-os-release.js +0 -1
  289. package/dist/interfaces/i-packages.d.ts +0 -16
  290. package/dist/interfaces/i-packages.js +0 -8
  291. package/dist/interfaces/i-partitions.d.ts +0 -16
  292. package/dist/interfaces/i-partitions.js +0 -8
  293. package/dist/interfaces/i-pxe.d.ts +0 -45
  294. package/dist/interfaces/i-pxe.js +0 -1
  295. package/dist/interfaces/i-remix.d.ts +0 -21
  296. package/dist/interfaces/i-remix.js +0 -8
  297. package/dist/interfaces/i-settings.d.ts +0 -33
  298. package/dist/interfaces/i-settings.js +0 -8
  299. package/dist/interfaces/i-user.d.ts +0 -14
  300. package/dist/interfaces/i-user.js +0 -8
  301. package/dist/interfaces/i-workdir.d.ts +0 -14
  302. package/dist/interfaces/i-workdir.js +0 -8
  303. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  304. package/dist/interfaces/i-xkb-model.js +0 -8
  305. package/dist/interfaces/index.d.ts +0 -25
  306. package/dist/interfaces/index.js +0 -8
  307. package/dist/krill/modules/add-user.d.ts +0 -20
  308. package/dist/krill/modules/add-user.js +0 -48
  309. package/dist/krill/modules/bootloader-config.d.ts +0 -14
  310. package/dist/krill/modules/bootloader-config.js +0 -165
  311. package/dist/krill/modules/bootloader.d.ts +0 -14
  312. package/dist/krill/modules/bootloader.js +0 -95
  313. package/dist/krill/modules/change-password.d.ts +0 -15
  314. package/dist/krill/modules/change-password.js +0 -18
  315. package/dist/krill/modules/del-live-user.d.ts +0 -14
  316. package/dist/krill/modules/del-live-user.js +0 -39
  317. package/dist/krill/modules/fstab.d.ts +0 -14
  318. package/dist/krill/modules/fstab.js +0 -128
  319. package/dist/krill/modules/grubcfg.d.ts +0 -17
  320. package/dist/krill/modules/grubcfg.js +0 -29
  321. package/dist/krill/modules/hostname.d.ts +0 -13
  322. package/dist/krill/modules/hostname.js +0 -50
  323. package/dist/krill/modules/initramfs-cfg.d.ts +0 -14
  324. package/dist/krill/modules/initramfs-cfg.js +0 -22
  325. package/dist/krill/modules/initramfs.d.ts +0 -13
  326. package/dist/krill/modules/initramfs.js +0 -54
  327. package/dist/krill/modules/locale-cfg.d.ts +0 -10
  328. package/dist/krill/modules/locale-cfg.js +0 -58
  329. package/dist/krill/modules/locale.d.ts +0 -13
  330. package/dist/krill/modules/locale.js +0 -91
  331. package/dist/krill/modules/m-keyboard.d.ts +0 -14
  332. package/dist/krill/modules/m-keyboard.js +0 -58
  333. package/dist/krill/modules/machine-id.d.ts +0 -15
  334. package/dist/krill/modules/machine-id.js +0 -33
  335. package/dist/krill/modules/mkfs.d.ts +0 -15
  336. package/dist/krill/modules/mkfs.js +0 -50
  337. package/dist/krill/modules/mount-fs.d.ts +0 -17
  338. package/dist/krill/modules/mount-fs.js +0 -62
  339. package/dist/krill/modules/mount-vfs.d.ts +0 -17
  340. package/dist/krill/modules/mount-vfs.js +0 -40
  341. package/dist/krill/modules/network-cfg.d.ts +0 -19
  342. package/dist/krill/modules/network-cfg.js +0 -64
  343. package/dist/krill/modules/packages.d.ts +0 -14
  344. package/dist/krill/modules/packages.js +0 -111
  345. package/dist/krill/modules/partition.d.ts +0 -20
  346. package/dist/krill/modules/partition.js +0 -345
  347. package/dist/krill/modules/remove-installer-link.d.ts +0 -13
  348. package/dist/krill/modules/remove-installer-link.js +0 -35
  349. package/dist/krill/modules/umount.d.ts +0 -14
  350. package/dist/krill/modules/umount.js +0 -28
  351. package/dist/krill/modules/unpackfs.d.ts +0 -13
  352. package/dist/krill/modules/unpackfs.js +0 -20
  353. package/dist/krill/prepare.d.ts +0 -78
  354. package/dist/krill/prepare.js +0 -626
  355. package/dist/krill/sequence.d.ts +0 -154
  356. package/dist/krill/sequence.js +0 -652
  357. package/dist/lib/get_address.d.ts +0 -8
  358. package/dist/lib/get_address.js +0 -23
  359. package/dist/lib/get_dns.d.ts +0 -8
  360. package/dist/lib/get_dns.js +0 -23
  361. package/dist/lib/get_domain.d.ts +0 -8
  362. package/dist/lib/get_domain.js +0 -23
  363. package/dist/lib/get_gateway.d.ts +0 -8
  364. package/dist/lib/get_gateway.js +0 -23
  365. package/dist/lib/get_hostname.d.ts +0 -8
  366. package/dist/lib/get_hostname.js +0 -23
  367. package/dist/lib/get_netmask.d.ts +0 -8
  368. package/dist/lib/get_netmask.js +0 -23
  369. package/dist/lib/get_password.d.ts +0 -8
  370. package/dist/lib/get_password.js +0 -36
  371. package/dist/lib/get_userfullname.d.ts +0 -8
  372. package/dist/lib/get_userfullname.js +0 -23
  373. package/dist/lib/get_username.d.ts +0 -8
  374. package/dist/lib/get_username.js +0 -23
  375. package/dist/lib/kill_me_softly.d.ts +0 -11
  376. package/dist/lib/kill_me_softly.js +0 -61
  377. package/dist/lib/select_address_type.d.ts +0 -8
  378. package/dist/lib/select_address_type.js +0 -24
  379. package/dist/lib/select_filesystem_type.d.ts +0 -8
  380. package/dist/lib/select_filesystem_type.js +0 -46
  381. package/dist/lib/select_installation_device.d.ts +0 -8
  382. package/dist/lib/select_installation_device.js +0 -34
  383. package/dist/lib/select_installation_mode.d.ts +0 -8
  384. package/dist/lib/select_installation_mode.js +0 -24
  385. package/dist/lib/select_interface.d.ts +0 -8
  386. package/dist/lib/select_interface.js +0 -24
  387. package/dist/lib/select_keyboard_layout.d.ts +0 -11
  388. package/dist/lib/select_keyboard_layout.js +0 -36
  389. package/dist/lib/select_keyboard_model.d.ts +0 -11
  390. package/dist/lib/select_keyboard_model.js +0 -34
  391. package/dist/lib/select_keyboard_option.d.ts +0 -11
  392. package/dist/lib/select_keyboard_option.js +0 -34
  393. package/dist/lib/select_keyboard_variant.d.ts +0 -11
  394. package/dist/lib/select_keyboard_variant.js +0 -35
  395. package/dist/lib/select_languages.d.ts +0 -8
  396. package/dist/lib/select_languages.js +0 -28
  397. package/dist/lib/select_regions.d.ts +0 -8
  398. package/dist/lib/select_regions.js +0 -24
  399. package/dist/lib/select_user_swap_choice.d.ts +0 -8
  400. package/dist/lib/select_user_swap_choice.js +0 -34
  401. package/dist/lib/select_zones.d.ts +0 -8
  402. package/dist/lib/select_zones.js +0 -518
  403. package/dist/lib/utils.d.ts +0 -34
  404. package/dist/lib/utils.js +0 -79
@@ -1,111 +0,0 @@
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 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';
14
- /**
15
- *
16
- * @param this
17
- */
18
- export default async function packages() {
19
- const echoYes = Utils.setEcho(true);
20
- let modulePath = '/etc/penguins-eggs.d/krill/';
21
- if (Pacman.packageIsInstalled('calamares')) {
22
- modulePath = '/etc/calamares/';
23
- }
24
- const config_file = `${modulePath}modules/packages.conf`;
25
- if (fs.existsSync(config_file)) {
26
- const packages = yaml.load(fs.readFileSync(config_file, 'utf8'));
27
- let packagesToInstall = [];
28
- let packagesToRemove = [];
29
- if (packages.operations !== undefined) {
30
- for (const operation of packages.operations) {
31
- if ('try_remove' in operation) {
32
- packagesToRemove = operation.try_remove;
33
- }
34
- if ('try_install' in operation) {
35
- packagesToInstall = operation.try_install;
36
- }
37
- }
38
- }
39
- // Alpine
40
- if (this.distro.familyId === 'alpine') {
41
- packages.backend = 'apk';
42
- }
43
- switch (packages.backend) {
44
- case 'apt': {
45
- /**
46
- * apt
47
- */
48
- if (packagesToRemove != undefined && packagesToRemove.length > 0) {
49
- let cmd = `chroot ${this.installTarget} apt-get purge -y `;
50
- for (const elem of packagesToRemove) {
51
- if (Pacman.packageIsInstalled(elem)) {
52
- cmd += elem + ' ';
53
- }
54
- }
55
- await exec(`${cmd} ${this.toNull}`, this.echo);
56
- const autoremove = `chroot ${this.installTarget} apt-get autoremove -y ${this.toNull}`;
57
- await exec(autoremove, this.echo);
58
- }
59
- if (packagesToInstall != undefined && packagesToInstall.length > 0) {
60
- let cmd = `chroot ${this.installTarget} apt-get install -y `;
61
- for (const elem of packagesToInstall) {
62
- cmd += elem + ' ';
63
- }
64
- const update = `chroot ${this.installTarget} apt-get update ${this.toNull}`;
65
- await exec(update, this.echo);
66
- await exec(`${cmd} ${this.toNull}`, this.echo);
67
- }
68
- break;
69
- }
70
- case 'pacman': {
71
- /**
72
- * pacman
73
- */
74
- if (packagesToRemove != undefined && packagesToRemove.length > 0) {
75
- let cmd = `chroot ${this.installTarget} pacman -R\n`;
76
- for (const elem of packagesToRemove) {
77
- cmd += elem + ' ';
78
- }
79
- await exec(`${cmd} ${echoYes}`, this.echo);
80
- }
81
- if (packagesToInstall != undefined && packagesToInstall.length > 0) {
82
- for (const elem of packagesToInstall) {
83
- await exec(`chroot ${this.installTarget} pacman -S ${elem}`, echoYes);
84
- }
85
- }
86
- break;
87
- }
88
- case 'apk': {
89
- /**
90
- * apk
91
- */
92
- if (packagesToRemove != undefined && packagesToRemove.length > 0) {
93
- let cmd = `chroot ${this.installTarget} apk del `;
94
- for (const elem of packagesToRemove) {
95
- cmd += elem + ' ';
96
- }
97
- await exec(`${cmd} ${this.toNull}`, this.echo);
98
- }
99
- if (packagesToInstall != undefined && packagesToInstall.length > 0) {
100
- let cmd = `chroot ${this.installTarget} apk add `;
101
- for (const elem of packagesToInstall) {
102
- cmd += elem + ' ';
103
- }
104
- await exec(`${cmd} ${this.toNull}`, this.echo);
105
- }
106
- break;
107
- }
108
- // No default
109
- }
110
- }
111
- }
@@ -1,20 +0,0 @@
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,345 +0,0 @@
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 os from 'node:os';
10
- import shx from 'shelljs';
11
- import Utils from '../../classes/utils.js';
12
- import { exec } from '../../lib/utils.js';
13
- /**
14
- *
15
- * @param this
16
- */
17
- export default async function partition() {
18
- const echoYes = Utils.setEcho(true);
19
- let retVal = false;
20
- const installDevice = this.partitions.installationDevice;
21
- /**
22
- * Support for NVMe
23
- *
24
- * /dev/sda1 = /dev/nvme0n1p1 = /dev/md0p1
25
- */
26
- let p = '';
27
- if (installDevice.includes('nvme') || installDevice.startsWith('/dev/md')) {
28
- p = 'p';
29
- }
30
- const installMode = this.partitions.installationMode;
31
- let swapSize = Math.round(os.totalmem() / 1_073_741_824) * 1024;
32
- switch (this.partitions.userSwapChoice) {
33
- case 'none': {
34
- swapSize = 256;
35
- break;
36
- }
37
- case 'small': {
38
- break;
39
- }
40
- case 'suspend': {
41
- swapSize *= 2;
42
- break;
43
- }
44
- case 'file': {
45
- swapSize = 0;
46
- break;
47
- }
48
- // No default
49
- }
50
- /**
51
- * Quindi, per risolvere questo problema, invece di creare RAID e poi partizionare, è necessario
52
- * prima partizionare i dischi e poi raccogliere alcune partizioni in RAID.
53
- * Anche se questo è discutibile, suggerisco il seguente schema:
54
- *
55
- * per l'installazione EFI: un ESP (tipo 1) di 511MiB (offset predefinito 1MiB),
56
- * poi 512MiB per /boot di tipo Linux RAID, poi il resto per il resto di tipo Linux RAID
57
- * (questo è il tipo 29 in fdisk se non sbaglio).
58
- *
59
- * per l'installazione legacy: 1 MiB (tipo 4 - biosgrub), 510 MiB di avvio (RAID) e il resto RAID.
60
- *
61
- * Quindi, si creano due RAID (/boot e il resto) e si seleziona uno degli ESP come “l'ESP”.
62
- *
63
- * Dopo l'installazione si abilita l'avvio dal secondo disco. Poi si crea LVM sul RAID grande, per contenere
64
- * i filesystem; si può creare un volume di swap, un volume FS di root (30 GiB sono sufficienti
65
- * per Debian ed è facile da ingrandire al volo; si noti che tutti i dati saranno collocati
66
- * in altri volumi dedicati montati - non è utile memorizzare i dati delle applicazioni nel
67
- * volume di root).
68
- *
69
- * Il resto può essere creato secondo le necessità, durante la vita del sistema.
70
- */
71
- if (installMode === 'standard' && !this.efi) {
72
- /**
73
- * ===========================================================================================
74
- * BIOS: working
75
- * ===========================================================================================
76
- */
77
- await exec(`parted --script ${installDevice} mklabel msdos`, this.echo);
78
- await exec(`parted --script --align optimal ${installDevice} mkpart primary linux-swap 1MiB ${swapSize + 1}MiB`, this.echo); // dev/sda1 swap
79
- await exec(`parted --script --align optimal ${installDevice} mkpart primary ext4 ${swapSize + 1}MiB 100%`, this.echo); // dev/sda2 root
80
- await exec(`parted ${installDevice} set 1 boot on`, this.echo);
81
- await exec(`parted ${installDevice} set 1 esp on`, this.echo);
82
- // SWAP
83
- this.devices.swap.name = `${installDevice}${p}1`;
84
- this.devices.swap.fsType = 'swap';
85
- this.devices.swap.mountPoint = 'none';
86
- // ROOT
87
- this.devices.root.name = `${installDevice}${p}2`;
88
- this.devices.root.fsType = 'ext4';
89
- this.devices.root.mountPoint = '/';
90
- // BOOT/DATA/EFI
91
- this.devices.boot.name = 'none';
92
- this.devices.data.name = 'none';
93
- this.devices.efi.name = 'none';
94
- retVal = true;
95
- }
96
- else if (installMode === 'full-encrypted' && !this.efi) {
97
- /**
98
- * ===========================================================================================
99
- * BIOS: full-encrypt:
100
- * ===========================================================================================
101
- */
102
- await exec(`parted --script ${installDevice} mklabel msdos`, this.echo);
103
- await exec(`parted --script --align optimal ${installDevice} mkpart primary ext4 1MiB 512MiB`, this.echo); // sda1
104
- await exec(`parted --script --align optimal ${installDevice} mkpart primary linux-swap 512MiB ${swapSize + 512}MiB`, this.echo); // sda2
105
- await exec(`parted --script --align optimal ${installDevice} mkpart primary ext4 ${swapSize + 512}MiB 100%`, this.echo); // sda3
106
- await exec(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
107
- await exec(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
108
- // BOOT 512M
109
- this.devices.boot.name = `${installDevice}${p}1`; // 'boot'
110
- this.devices.boot.fsType = 'ext4';
111
- this.devices.boot.mountPoint = '/boot';
112
- // SWAP 8G
113
- // this.redraw(<Install message={`Formatting LUKS ${installDevice}2`} percent={0} />)
114
- const crytoSwap = await exec(`cryptsetup -y -v luksFormat --type luks2 ${installDevice}${p}2`, echoYes);
115
- if (crytoSwap.code !== 0) {
116
- Utils.warning(`Error: ${crytoSwap.code} ${crytoSwap.data}`);
117
- process.exit(1);
118
- }
119
- // this.redraw(<Install message={`Opening ${installDevice}${p}2 as swap_crypted`} percent={0} />)
120
- const crytoSwapOpen = await exec(`cryptsetup luksOpen --type luks2 ${installDevice}${p}2 swap_crypted`, echoYes);
121
- if (crytoSwapOpen.code !== 0) {
122
- Utils.warning(`Error: ${crytoSwapOpen.code} ${crytoSwapOpen.data}`);
123
- process.exit(1);
124
- }
125
- this.devices.swap.name = '/dev/mapper/swap_crypted';
126
- this.devices.swap.cryptedFrom = `${installDevice}${p}2`;
127
- this.devices.swap.fsType = 'swap';
128
- this.devices.swap.mountPoint = 'none';
129
- // ROOT
130
- // this.redraw(<Install message={`Formatting LUKS ${installDevice}${p}3`} percent={0} />)
131
- const crytoRoot = await exec(`cryptsetup -y -v luksFormat --type luks2 ${installDevice}${p}3`, echoYes);
132
- if (crytoRoot.code !== 0) {
133
- Utils.warning(`Error: ${crytoRoot.code} ${crytoRoot.data}`);
134
- process.exit(1);
135
- }
136
- // this.redraw(<Install message={`Opening ${installDevice}${p}3 as root_crypted`} percent={0} />)
137
- const crytoRootOpen = await exec(`cryptsetup luksOpen --type luks2 ${installDevice}${p}3 root_crypted`, echoYes);
138
- if (crytoRootOpen.code !== 0) {
139
- Utils.warning(`Error: ${crytoRootOpen.code} ${crytoRootOpen.data}`);
140
- process.exit(1);
141
- }
142
- this.devices.root.name = '/dev/mapper/root_crypted';
143
- this.devices.root.cryptedFrom = `${installDevice}${p}3`;
144
- this.devices.root.fsType = 'ext4';
145
- this.devices.root.mountPoint = '/';
146
- // BOOT/DATA/EFI
147
- this.devices.data.name = 'none';
148
- this.devices.efi.name = 'none';
149
- retVal = true;
150
- }
151
- else if (installMode === 'standard' && this.efi) {
152
- /**
153
- * ===========================================================================================
154
- * UEFI: working
155
- * ===========================================================================================
156
- */
157
- await exec(`parted --script ${installDevice} mklabel gpt`, this.echo);
158
- await exec(`parted --script ${installDevice} mkpart efi fat32 34s 256MiB`, this.echo); // sda1 EFI
159
- await exec(`parted --script ${installDevice} mkpart swap linux-swap 256MiB ${swapSize + 256}Mib`, this.echo); // sda2 swap
160
- await exec(`parted --script ${installDevice} mkpart root ext4 ${swapSize + 256}MiB 100%`, this.echo); // sda3 root
161
- await exec(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
162
- await exec(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
163
- this.devices.efi.name = `${installDevice}${p}1`;
164
- this.devices.efi.fsType = 'F 32 -I';
165
- this.devices.efi.mountPoint = '/boot/efi';
166
- this.devices.boot.name = 'none';
167
- this.devices.swap.name = `${installDevice}${p}2`;
168
- this.devices.swap.fsType = 'swap';
169
- this.devices.root.name = `${installDevice}${p}3`;
170
- this.devices.root.fsType = 'ext4';
171
- this.devices.root.mountPoint = '/';
172
- // BOOT/DATA/EFI
173
- this.devices.boot.name = 'none';
174
- this.devices.data.name = 'none';
175
- // this.devices.efi.name = `none`
176
- retVal = true;
177
- }
178
- else if (installMode === 'full-encrypted' && this.efi) {
179
- /**
180
- * ===========================================================================================
181
- * UEFI, full-encrypt
182
- * ===========================================================================================
183
- */
184
- await exec(`parted --script ${installDevice} mklabel gpt`, this.echo);
185
- await exec(`parted --script ${installDevice} mkpart efi fat32 34s 256MiB`, this.echo); // sda1 EFI
186
- await exec(`parted --script ${installDevice} mkpart boot ext4 256MiB 768MiB`, this.echo); // sda2 boot
187
- await exec(`parted --script ${installDevice} mkpart swap linux-swap 768MiB ${swapSize + 768}MiB`, this.echo); // sda3 swap
188
- await exec(`parted --script ${installDevice} mkpart root ext4 ${swapSize + 768}MiB 100%`, this.echo); // sda4 root
189
- await exec(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
190
- await exec(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
191
- // EFI 256M
192
- this.devices.efi.name = `${installDevice}${p}1`; // 'efi'
193
- this.devices.efi.fsType = 'F 32 -I';
194
- this.devices.efi.mountPoint = '/boot/efi';
195
- // BOOT 512M
196
- this.devices.boot.name = `${installDevice}${p}2`; // 'boot'
197
- this.devices.boot.fsType = 'ext4';
198
- this.devices.boot.mountPoint = '/boot';
199
- /**
200
- * cryptsetup return codes are:
201
- *
202
- * 1 wrong parameters,
203
- * 2 no permission (bad passphrase),
204
- * 3 out of memory,
205
- * 4 wrong device specified,
206
- * 5 device already exists or device is busy.
207
- *
208
- * sometime due scarce memory 2GB, we can have the process killed
209
- */
210
- // SWAP 8G
211
- // redraw(<Install message={`Formatting LUKS ${installDevice}${p}3`} percent={0} />)
212
- const crytoSwap = await exec(`cryptsetup -y -v luksFormat --type luks2 ${installDevice}${p}3`, echoYes);
213
- if (crytoSwap.code !== 0) {
214
- Utils.warning(`Error: ${crytoSwap.code} ${crytoSwap.data}`);
215
- process.exit(1);
216
- }
217
- // this.redraw(<Install message={`Opening ${installDevice}${p}3 as swap_crypted`} percent={0} />)
218
- const crytoSwapOpen = await exec(`cryptsetup luksOpen --type luks2 ${installDevice}${p}3 swap_crypted`, echoYes);
219
- if (crytoSwapOpen.code !== 0) {
220
- Utils.warning(`Error: ${crytoSwapOpen.code} ${crytoSwapOpen.data}`);
221
- process.exit(1);
222
- }
223
- this.devices.swap.name = '/dev/mapper/swap_crypted';
224
- this.devices.swap.cryptedFrom = `${installDevice}${p}3`;
225
- this.devices.swap.fsType = 'swap';
226
- this.devices.swap.mountPoint = 'none';
227
- // ROOT
228
- // this.redraw(<Install message={`Formatting LUKS ${installDevice}${p}4`} percent={0} />)
229
- const crytoRoot = await exec(`cryptsetup -y -v luksFormat --type luks2 ${installDevice}${p}4`, echoYes);
230
- if (crytoRoot.code !== 0) {
231
- Utils.warning(`Error: ${crytoRoot.code} ${crytoRoot.data}`);
232
- process.exit(1);
233
- }
234
- // this.redraw(<Install message={`Opening ${installDevice}${p}4 as root_crypted`} percent={0} />)
235
- const crytoRootOpen = await exec(`cryptsetup luksOpen --type luks2 ${installDevice}${p}4 root_crypted`, echoYes);
236
- if (crytoRootOpen.code !== 0) {
237
- Utils.warning(`Error: ${crytoRootOpen.code} ${crytoRootOpen.data}`);
238
- process.exit(1);
239
- }
240
- this.devices.root.name = '/dev/mapper/root_crypted';
241
- this.devices.root.cryptedFrom = `${installDevice}${p}4`;
242
- this.devices.root.fsType = 'ext4';
243
- this.devices.root.mountPoint = '/';
244
- // BOOT/DATA/EFI
245
- // this.devices.boot.name = `none`
246
- this.devices.data.name = 'none';
247
- // this.devices.efi.name = `none`
248
- retVal = true;
249
- }
250
- else if (installMode === 'lvm2' && !this.efi) {
251
- /**
252
- * ===========================================================================================
253
- * PROXMOX VE: BIOS and lvm2
254
- * ===========================================================================================
255
- */
256
- // Creo partizioni
257
- await exec(`parted --script ${installDevice} mklabel msdos`, this.echo);
258
- await exec(`parted --script ${installDevice} mkpart primary ext2 1 512`, this.echo); // sda1
259
- await exec(`parted --script --align optimal ${installDevice} mkpart primary ext2 512 100%`, this.echo); // sda2
260
- await exec(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
261
- await exec(`parted --script ${installDevice} set 2 lvm on`, this.echo); // sda2
262
- const partInfo = await lvmPartInfo(installDevice);
263
- const lvmPartname = partInfo[0];
264
- const lvmSwapSize = partInfo[1];
265
- const lvmRootSize = partInfo[2];
266
- await exec(`pvcreate /dev/${lvmPartname}`, this.echo);
267
- await exec(`vgcreate pve /dev/${lvmPartname}`, this.echo);
268
- await exec('vgchange -an', this.echo);
269
- await exec(`lvcreate -L ${lvmSwapSize} -nswap pve`, this.echo);
270
- await exec(`lvcreate -L ${lvmRootSize} -nroot pve`, this.echo);
271
- await exec('lvcreate -l 100%FREE -ndata pve', this.echo);
272
- await exec('vgchange -a y pve', this.echo);
273
- this.devices.efi.name = 'none';
274
- this.devices.boot.name = `${installDevice}${p}1`;
275
- this.devices.root.fsType = 'ext2';
276
- this.devices.root.mountPoint = '/boot';
277
- this.devices.root.name = '/dev/pve/root';
278
- this.devices.root.fsType = 'ext4';
279
- this.devices.root.mountPoint = '/';
280
- this.devices.data.name = '/dev/pve/data';
281
- this.devices.data.fsType = 'ext4';
282
- this.devices.data.mountPoint = '/var/lib/vz';
283
- this.devices.swap.name = '/dev/pve/swap';
284
- retVal = true;
285
- }
286
- else if (this.partitions.installationMode === 'lvm2' && this.efi) {
287
- /**
288
- * ===========================================================================================
289
- * PROXMOX VE: lvm2 and UEFI
290
- * ===========================================================================================
291
- */
292
- await exec(`parted --script ${installDevice} mklabel gpt`, this.echo);
293
- await exec(`parted --script ${installDevice} mkpart efi fat32 34s 256MiB`, this.echo); // sda1 EFI
294
- await exec(`parted --script ${installDevice} mkpart boot ext2 256MiB 768MiB`, this.echo); // sda2 boot
295
- await exec(`parted --script ${installDevice} mkpart lvm ext4 768MiB 100%`, this.echo); // sda3 lmv2
296
- await exec(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
297
- await exec(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
298
- await exec(`parted --script ${installDevice} set 3 lvm on`, this.echo); // sda3
299
- const partInfo = await lvmPartInfo(installDevice);
300
- const lvmPartname = partInfo[0];
301
- const lvmSwapSize = partInfo[1];
302
- const lvmRootSize = partInfo[2];
303
- await exec(`pvcreate /dev/${lvmPartname}`, this.echo);
304
- await exec(`vgcreate pve /dev/${lvmPartname}`, this.echo);
305
- await exec('vgchange -an', this.echo);
306
- await exec(`lvcreate -L ${lvmSwapSize} -nswap pve`, this.echo);
307
- await exec(`lvcreate -L ${lvmRootSize} -nroot pve`, this.echo);
308
- await exec('lvcreate -l 100%FREE -ndata pve', this.echo);
309
- await exec('vgchange -a y pve', this.echo);
310
- this.devices.efi.name = `${installDevice}${p}1`;
311
- this.devices.efi.fsType = 'F 32 -I';
312
- this.devices.efi.mountPoint = '/boot/efi';
313
- this.devices.boot.name = `${installDevice}${p}2`;
314
- this.devices.boot.fsType = 'ext4';
315
- this.devices.boot.mountPoint = '/boot';
316
- this.devices.root.name = '/dev/pve/root';
317
- this.devices.root.fsType = 'ext4';
318
- this.devices.root.mountPoint = '/';
319
- this.devices.data.name = '/dev/pve/data';
320
- this.devices.data.fsType = 'ext4';
321
- this.devices.data.mountPoint = '/var/lib/vz';
322
- this.devices.swap.name = '/dev/pve/swap';
323
- retVal = true;
324
- }
325
- return retVal;
326
- }
327
- /**
328
- *
329
- * @param installDevice
330
- * @returns
331
- */
332
- export async function lvmPartInfo(installDevice = '/dev/sda') {
333
- // Partizione LVM
334
- const lvmPartname = shx.exec(`fdisk ${installDevice} -l | grep LVM | awk '{print $1}' | cut -d "/" -f3`).stdout.trim();
335
- const lvmByteSize = Number(shx.exec(`cat /proc/partitions | grep ${lvmPartname}| awk '{print $3}' | grep "[0-9]"`).stdout.trim());
336
- const lvmSize = lvmByteSize / 1024;
337
- // La partizione di root viene posta ad 1/4 della partizione LVM, limite max 100 GB
338
- const lvmSwapSize = 8192;
339
- let lvmRootSize = lvmSize / 8;
340
- if (lvmRootSize < 20_480) {
341
- lvmRootSize = 20_480;
342
- }
343
- const lvmDataSize = lvmSize - lvmRootSize - lvmSwapSize;
344
- return [lvmPartname, lvmSwapSize, lvmRootSize, lvmDataSize];
345
- }
@@ -1,13 +0,0 @@
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>;
@@ -1,35 +0,0 @@
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 fs from 'node:fs';
10
- /**
11
- * removeInstallerLink
12
- */
13
- export default async function removeInstallerLink() {
14
- const file = `${this.installTarget}/usr/bin/penguins-links-add.sh`;
15
- let lines = [];
16
- let content = '';
17
- if (fs.existsSync(file)) {
18
- lines = fs.readFileSync(file, { encoding: 'utf8', flag: 'r' }).split('\n');
19
- for (let i = 0; i < lines.length; i++) {
20
- if (lines[i]) {
21
- if (lines[i].search('penguins-krill.desktop') !== -1) {
22
- lines[i] = '#' + lines[i];
23
- }
24
- if (lines[i].search('penguins-clinstaller.desktop') !== -1) {
25
- lines[i] = '#' + lines[i];
26
- }
27
- if (lines[i].search('install-system.desktop') !== -1) {
28
- lines[i] = '#' + lines[i];
29
- }
30
- content += lines[i] + '\n';
31
- }
32
- }
33
- }
34
- fs.writeFileSync(file, content);
35
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * ./src/krill/modules/umount.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 mountpoint
13
- */
14
- export default function umount(this: Sequence, mountPoint?: string): Promise<void>;
@@ -1,28 +0,0 @@
1
- /**
2
- * ./src/krill/modules/umount.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 Utils from '../../classes/utils.js';
10
- import { exec } from '../../lib/utils.js';
11
- /**
12
- *
13
- * @param mountpoint
14
- */
15
- export default async function umount(mountPoint = '') {
16
- let message = 'umount: ' + mountPoint;
17
- if (Utils.isMountpoint(mountPoint)) {
18
- let cmd = `umount ${mountPoint} ${this.toNull}`;
19
- try {
20
- await exec(cmd, this.echo);
21
- await exec('sleep 1', this.echo);
22
- }
23
- catch (error) {
24
- message += cmd + JSON.stringify(error);
25
- await Utils.pressKeyToExit(message, true);
26
- }
27
- }
28
- }
@@ -1,13 +0,0 @@
1
- /**
2
- * ./src/krill/modules/unpackfs.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
- * unpackfs
12
- */
13
- export default function unpackfs(this: Sequence): Promise<void>;
@@ -1,20 +0,0 @@
1
- /**
2
- * ./src/krill/modules/unpackfs.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 Utils from '../../classes/utils.js';
10
- import { exec } from '../../lib/utils.js';
11
- /**
12
- * unpackfs
13
- */
14
- export default async function unpackfs() {
15
- // const cmd = `unsquashfs -d ${this.installTarget} -f ${this.distro.liveMediumPath}`
16
- const cmd = `unsquashfs -d ${this.installTarget} -f ${this.distro.liveMediumPath}${this.distro.squashfs} ${this.toNull}`;
17
- const echoYes = Utils.setEcho(true);
18
- const echoNo = Utils.setEcho(false);
19
- await exec(cmd, echoNo);
20
- }