penguins-eggs 25.9.14 → 25.9.25

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 (572) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/README.md +29 -29
  3. package/addons/eggs/adapt/applications/eggs-adapt.desktop +0 -0
  4. package/addons/eggs/pve/applications/eggs-pve.desktop +0 -0
  5. package/addons/eggs/rsupport/applications/eggs-rsupport.desktop +0 -0
  6. package/addons/eggs/theme/applications/install-system.desktop +0 -0
  7. package/addons/eggs/theme/calamares/branding/show.qml +61 -74
  8. package/assets/calamares/install-system.sh +0 -0
  9. package/assets/penguins-eggs.desktop +0 -0
  10. package/assets/penguins-krill.desktop +0 -0
  11. package/assets/penguins-links-add.desktop +0 -0
  12. package/assets/penguins-live-installer.desktop +0 -0
  13. package/bin/dev.js +0 -0
  14. package/conf/derivatives.yaml +2 -2
  15. package/conf/distros/alpine/calamares/calamares-modules/machineid-openrc/machineid-openrc.sh +0 -0
  16. package/conf/distros/alpine/calamares/modules/mount.yml +104 -39
  17. package/conf/distros/alpine/calamares/settings.yml +4 -4
  18. package/conf/distros/bionic/calamares/calamares-modules/after-bootloader/after-bootloader.sh +0 -0
  19. package/conf/distros/bionic/calamares/calamares-modules/before-bootloader/before-bootloader.sh +0 -0
  20. package/conf/distros/bionic/calamares/calamares-modules/before-bootloader-mkdirs/before-bootloader-mkdirs.sh +0 -0
  21. package/conf/distros/bionic/calamares/calamares-modules/bug/bug.sh +0 -0
  22. package/conf/distros/bionic/calamares/calamares-modules/grubcfg/main.py +0 -0
  23. package/conf/distros/bionic/calamares/settings.yml +5 -5
  24. package/conf/distros/buster/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  25. package/conf/distros/buster/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
  26. package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  27. package/conf/distros/buster/calamares/libexec/.keepit +0 -0
  28. package/conf/distros/buster/calamares/libexec/README.md +5 -0
  29. package/conf/distros/{noble/calamares/modules/focal-jammy/mount.yml → buster/calamares/modules/mount.3.2.yml} +3 -6
  30. package/conf/distros/buster/calamares/modules/mount.yml +2 -4
  31. package/conf/distros/buster/calamares/modules/shellprocess@boot_deploy.yml +23 -0
  32. package/conf/distros/buster/calamares/modules/shellprocess@boot_reconfigure.yml +14 -0
  33. package/conf/distros/buster/calamares/modules/shellprocess@mkinitramfs.yml +4 -0
  34. package/conf/distros/buster/calamares/settings.yml +28 -11
  35. package/conf/distros/fedora/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  36. package/conf/distros/fedora/calamares/settings.yml +6 -6
  37. package/conf/distros/jessie/krill/settings.yml +6 -6
  38. package/conf/distros/noble/README.md +8 -1
  39. package/conf/distros/noble/calamares/libexec/.keepit +0 -0
  40. package/conf/distros/noble/calamares/libexec/README.md +5 -0
  41. package/conf/distros/noble/calamares/libexec/calamares-aptsources.sh +15 -0
  42. package/conf/distros/noble/calamares/libexec/calamares-l10n-helper.sh +35 -0
  43. package/conf/distros/noble/calamares/libexec/calamares-logs-helper.sh +34 -0
  44. package/conf/distros/noble/calamares/libexec/calamares-nomodeset.sh +19 -0
  45. package/conf/distros/noble/calamares/modules/after_bootloader_context.yml +26 -0
  46. package/conf/distros/noble/calamares/modules/before_bootloader_context.yml +12 -0
  47. package/conf/distros/noble/calamares/modules/bootloader.yml +67 -14
  48. package/conf/distros/noble/calamares/modules/bootloader.yml.old +35 -0
  49. package/conf/distros/noble/calamares/modules/displaymanager.yml +21 -0
  50. package/conf/distros/noble/calamares/modules/finished.yml +3 -0
  51. package/conf/distros/noble/calamares/modules/fstab.yml +9 -0
  52. package/conf/distros/noble/calamares/modules/grubcfg.yml +49 -1
  53. package/conf/distros/noble/calamares/modules/keyboard.yml +29 -0
  54. package/conf/distros/noble/calamares/modules/locale.yml +5 -6
  55. package/conf/distros/noble/calamares/modules/machineid.yml +3 -1
  56. package/conf/distros/noble/calamares/modules/mount.yml +21 -19
  57. package/conf/distros/noble/calamares/modules/netinstall.yml +5 -0
  58. package/conf/distros/noble/calamares/modules/packages.yml +5 -16
  59. package/conf/distros/noble/calamares/modules/shellprocess@aptsources.yml +11 -0
  60. package/conf/distros/noble/calamares/modules/shellprocess@boot_deploy.yml +18 -0
  61. package/conf/distros/noble/calamares/modules/shellprocess@boot_reconfigure.yml +14 -0
  62. package/conf/distros/noble/calamares/modules/shellprocess@install_translations.yml +7 -0
  63. package/conf/distros/noble/calamares/modules/shellprocess@logs.yml +7 -0
  64. package/conf/distros/noble/calamares/modules/shellprocess@mkinitramfs.yml +4 -0
  65. package/conf/distros/noble/calamares/modules/shellprocess@nomodeset.yml +11 -0
  66. package/conf/distros/noble/calamares/modules/unpackfs.yml +2 -1
  67. package/conf/distros/noble/calamares/modules/users.yml +19 -17
  68. package/conf/distros/noble/calamares/modules/welcome.yml +9 -13
  69. package/conf/distros/noble/calamares/settings.yml +82 -72
  70. package/conf/distros/openmamba/calamares/settings.yml +4 -4
  71. package/conf/distros/opensuse/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  72. package/conf/distros/opensuse/calamares/settings.yml +6 -6
  73. package/conf/distros/opensuse/calamares/zstd2lzo.sh +0 -0
  74. package/conf/distros/rolling/calamares/settings.yml +4 -4
  75. package/conf/distros/stretch/krill/settings.yml +6 -6
  76. package/conf/init/unattended.sh +0 -0
  77. package/eui/eui-autostart-cinnamon.desktop +0 -0
  78. package/eui/eui-autostart-xfce.desktop +0 -0
  79. package/eui/eui-create-image.sh +0 -0
  80. package/eui/eui-start.sh +0 -0
  81. package/package.json +125 -131
  82. package/perrisbrewery/scripts/postinst +0 -0
  83. package/perrisbrewery/scripts/postrm +0 -0
  84. package/perrisbrewery/scripts/preinst +0 -0
  85. package/perrisbrewery/scripts/prerm +0 -0
  86. package/perrisbrewery/template/dependencies.yaml +1 -0
  87. package/pods/almalinux.sh +0 -0
  88. package/pods/archlinux.sh +0 -0
  89. package/pods/ci/kernel-overlay-install.sh +0 -0
  90. package/pods/ci/minimal/almalinux-container2host.sh +0 -0
  91. package/pods/ci/minimal/archlinux-container2host.sh +0 -0
  92. package/pods/ci/minimal/debian-container2host.sh +0 -0
  93. package/pods/ci/minimal/fedora-container2host.sh +0 -0
  94. package/pods/ci/minimal/manjaro-container2host.sh +0 -0
  95. package/pods/ci/minimal/opensuse-container2host.sh +0 -0
  96. package/pods/ci/penguins-eggs-execute.sh +0 -0
  97. package/pods/ci/penguins-eggs-install.sh +0 -0
  98. package/pods/ci/run +0 -0
  99. package/pods/ci/run-on-almalinux.sh +0 -0
  100. package/pods/ci/run-on-archlinux.sh +0 -0
  101. package/pods/ci/run-on-debian.sh +0 -0
  102. package/pods/ci/run-on-devuan.sh +0 -0
  103. package/pods/ci/run-on-fedora.sh +0 -0
  104. package/pods/ci/run-on-manjaro.sh +0 -0
  105. package/pods/ci/run-on-opensuse.sh +0 -0
  106. package/pods/ci/run-on-rockylinux.sh +0 -0
  107. package/pods/ci/run-on-ubuntu.sh +0 -0
  108. package/pods/debian.sh +0 -0
  109. package/pods/devuan.sh +0 -0
  110. package/pods/fedora.sh +0 -0
  111. package/pods/lmde.sh +0 -0
  112. package/pods/manjaro.sh +0 -0
  113. package/pods/opensuse.sh +0 -0
  114. package/pods/podman.command.sh +0 -0
  115. package/pods/rocky.sh +0 -0
  116. package/pods/run-build-packages-debs.sh +0 -0
  117. package/pods/run-create-debs.sh +0 -0
  118. package/pods/ubuntu.sh +0 -0
  119. package/scripts/99clean +0 -0
  120. package/scripts/adapt.sh +0 -0
  121. package/scripts/bros/waydroid-helper.sh +0 -0
  122. package/scripts/lsb_release +0 -0
  123. package/scripts/mom.sh +0 -0
  124. package/scripts/pve-live.service +0 -0
  125. package/scripts/pve-live.sh +0 -0
  126. package/scripts/resy +0 -0
  127. package/conf/distros/noble/calamares/modules/_automirror.yml +0 -6
  128. package/conf/distros/noble/calamares/modules/_before_bootloader_context.yml +0 -18
  129. package/conf/distros/noble/calamares/modules/_before_bootloader_mkdirs_context.yml +0 -10
  130. package/conf/distros/noble/calamares/modules/_displaymanager.yml +0 -9
  131. package/conf/distros/noble/calamares/modules/_oemid.yml +0 -2
  132. package/conf/distros/noble/calamares/modules/_pkgselect_context.yml +0 -19
  133. package/conf/distros/noble/calamares/modules/_pkgselect_snap_context.yml +0 -9
  134. package/conf/distros/noble/calamares/modules/_shellprocess_logs.yml +0 -5
  135. package/conf/distros/noble/calamares/modules/_users.conf.oem +0 -30
  136. package/conf/distros/noble/calamares/modules/focal-jammy/fstab.yml +0 -13
  137. package/conf/distros/noble/calamares/modules/focal-jammy/users.yml +0 -19
  138. package/conf/distros/noble/calamares/modules/shellprocess_add386arch.yml +0 -5
  139. package/conf/distros/noble/calamares/modules/shellprocess_bug-LP#1829805.yml +0 -5
  140. package/conf/distros/noble/calamares/modules/shellprocess_fixconkeys_part1.yml +0 -5
  141. package/conf/distros/noble/calamares/modules/shellprocess_fixconkeys_part2.yml +0 -5
  142. package/conf/distros/noble/calamares/modules/shellprocess_oemprep.yml +0 -5
  143. package/dist/classes/bleach.d.ts +0 -37
  144. package/dist/classes/bleach.js +0 -148
  145. package/dist/classes/cli-autologin.d.ts +0 -52
  146. package/dist/classes/cli-autologin.js +0 -252
  147. package/dist/classes/compressors.d.ts +0 -54
  148. package/dist/classes/compressors.js +0 -109
  149. package/dist/classes/daddy.d.ts +0 -26
  150. package/dist/classes/daddy.js +0 -175
  151. package/dist/classes/distro.d.ts +0 -32
  152. package/dist/classes/distro.js +0 -382
  153. package/dist/classes/diversions.d.ts +0 -53
  154. package/dist/classes/diversions.js +0 -133
  155. package/dist/classes/incubation/branding.d.ts +0 -17
  156. package/dist/classes/incubation/branding.js +0 -85
  157. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +0 -11
  158. package/dist/classes/incubation/fisherman-helper/displaymanager.js +0 -40
  159. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  160. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  161. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  162. package/dist/classes/incubation/fisherman-helper/settings.js +0 -83
  163. package/dist/classes/incubation/fisherman.d.ts +0 -74
  164. package/dist/classes/incubation/fisherman.js +0 -271
  165. package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
  166. package/dist/classes/incubation/incubator.d/alpine.js +0 -78
  167. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  168. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  169. package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
  170. package/dist/classes/incubation/incubator.d/buster.js +0 -85
  171. package/dist/classes/incubation/incubator.d/fedora.d.ts +0 -32
  172. package/dist/classes/incubation/incubator.d/fedora.js +0 -80
  173. package/dist/classes/incubation/incubator.d/jessie.d.ts +0 -31
  174. package/dist/classes/incubation/incubator.d/jessie.js +0 -44
  175. package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
  176. package/dist/classes/incubation/incubator.d/noble.js +0 -85
  177. package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
  178. package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
  179. package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
  180. package/dist/classes/incubation/incubator.d/opensuse.js +0 -78
  181. package/dist/classes/incubation/incubator.d/rolling.d.ts +0 -32
  182. package/dist/classes/incubation/incubator.d/rolling.js +0 -78
  183. package/dist/classes/incubation/incubator.d.ts +0 -48
  184. package/dist/classes/incubation/incubator.js +0 -404
  185. package/dist/classes/incubation/installer.d.ts +0 -13
  186. package/dist/classes/incubation/installer.js +0 -52
  187. package/dist/classes/keyboards.d.ts +0 -50
  188. package/dist/classes/keyboards.js +0 -287
  189. package/dist/classes/locales.d.ts +0 -21
  190. package/dist/classes/locales.js +0 -77
  191. package/dist/classes/network.d.ts +0 -37
  192. package/dist/classes/network.js +0 -98
  193. package/dist/classes/ovary.d/bind-live-fs.d.ts +0 -18
  194. package/dist/classes/ovary.d/bind-live-fs.js +0 -185
  195. package/dist/classes/ovary.d/bind-vfs.d.ts +0 -17
  196. package/dist/classes/ovary.d/bind-vfs.js +0 -37
  197. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +0 -13
  198. package/dist/classes/ovary.d/create-xdg-autostart.js +0 -194
  199. package/dist/classes/ovary.d/edit-live-fs.d.ts +0 -20
  200. package/dist/classes/ovary.d/edit-live-fs.js +0 -245
  201. package/dist/classes/ovary.d/fertilization.d.ts +0 -12
  202. package/dist/classes/ovary.d/fertilization.js +0 -52
  203. package/dist/classes/ovary.d/finished.d.ts +0 -13
  204. package/dist/classes/ovary.d/finished.js +0 -44
  205. package/dist/classes/ovary.d/initrd.d.ts +0 -21
  206. package/dist/classes/ovary.d/initrd.js +0 -97
  207. package/dist/classes/ovary.d/kernel-copy.d.ts +0 -12
  208. package/dist/classes/ovary.d/kernel-copy.js +0 -22
  209. package/dist/classes/ovary.d/live-create-structure.d.ts +0 -12
  210. package/dist/classes/ovary.d/live-create-structure.js +0 -73
  211. package/dist/classes/ovary.d/make-dot-disk.d.ts +0 -12
  212. package/dist/classes/ovary.d/make-dot-disk.js +0 -62
  213. package/dist/classes/ovary.d/make-efi.d.ts +0 -14
  214. package/dist/classes/ovary.d/make-efi.js +0 -274
  215. package/dist/classes/ovary.d/make-iso.d.ts +0 -13
  216. package/dist/classes/ovary.d/make-iso.js +0 -45
  217. package/dist/classes/ovary.d/make-squashfs.d.ts +0 -18
  218. package/dist/classes/ovary.d/make-squashfs.js +0 -110
  219. package/dist/classes/ovary.d/merged.d.ts +0 -27
  220. package/dist/classes/ovary.d/merged.js +0 -78
  221. package/dist/classes/ovary.d/produce.d.ts +0 -23
  222. package/dist/classes/ovary.d/produce.js +0 -319
  223. package/dist/classes/ovary.d/rexec.d.ts +0 -13
  224. package/dist/classes/ovary.d/rexec.js +0 -34
  225. package/dist/classes/ovary.d/syslinux.d.ts +0 -12
  226. package/dist/classes/ovary.d/syslinux.js +0 -82
  227. package/dist/classes/ovary.d/user-create-live.d.ts +0 -14
  228. package/dist/classes/ovary.d/user-create-live.js +0 -97
  229. package/dist/classes/ovary.d/users-remove.d.ts +0 -9
  230. package/dist/classes/ovary.d/users-remove.js +0 -38
  231. package/dist/classes/ovary.d/xorriso-command.d.ts +0 -14
  232. package/dist/classes/ovary.d/xorriso-command.js +0 -123
  233. package/dist/classes/ovary.d.ts +0 -87
  234. package/dist/classes/ovary.js +0 -90
  235. package/dist/classes/pacman.d/aldos.d.ts +0 -52
  236. package/dist/classes/pacman.d/aldos.js +0 -100
  237. package/dist/classes/pacman.d/alpine.d.ts +0 -56
  238. package/dist/classes/pacman.d/alpine.js +0 -167
  239. package/dist/classes/pacman.d/archlinux.d.ts +0 -62
  240. package/dist/classes/pacman.d/archlinux.js +0 -136
  241. package/dist/classes/pacman.d/debian.d.ts +0 -65
  242. package/dist/classes/pacman.d/debian.js +0 -143
  243. package/dist/classes/pacman.d/fedora.d.ts +0 -53
  244. package/dist/classes/pacman.d/fedora.js +0 -101
  245. package/dist/classes/pacman.d/openmamba.d.ts +0 -52
  246. package/dist/classes/pacman.d/openmamba.js +0 -100
  247. package/dist/classes/pacman.d/opensuse.d.ts +0 -53
  248. package/dist/classes/pacman.d/opensuse.js +0 -103
  249. package/dist/classes/pacman.d/voidlinux.d.ts +0 -52
  250. package/dist/classes/pacman.d/voidlinux.js +0 -90
  251. package/dist/classes/pacman.d.ts +0 -139
  252. package/dist/classes/pacman.js +0 -774
  253. package/dist/classes/pve-live.d.ts +0 -17
  254. package/dist/classes/pve-live.js +0 -52
  255. package/dist/classes/pxe.d.ts +0 -76
  256. package/dist/classes/pxe.js +0 -353
  257. package/dist/classes/settings.d.ts +0 -52
  258. package/dist/classes/settings.js +0 -185
  259. package/dist/classes/sources_list.d.ts +0 -28
  260. package/dist/classes/sources_list.js +0 -89
  261. package/dist/classes/systemctl.d.ts +0 -47
  262. package/dist/classes/systemctl.js +0 -86
  263. package/dist/classes/tailor.d.ts +0 -50
  264. package/dist/classes/tailor.js +0 -563
  265. package/dist/classes/tools.d.ts +0 -26
  266. package/dist/classes/tools.js +0 -50
  267. package/dist/classes/users.d.ts +0 -28
  268. package/dist/classes/users.js +0 -143
  269. package/dist/classes/utils.d/kernel.d.ts +0 -38
  270. package/dist/classes/utils.d/kernel.js +0 -184
  271. package/dist/classes/utils.d.ts +0 -327
  272. package/dist/classes/utils.js +0 -955
  273. package/dist/classes/xdg.d.ts +0 -45
  274. package/dist/classes/xdg.js +0 -337
  275. package/dist/classes/yolk.d.ts +0 -33
  276. package/dist/classes/yolk.js +0 -114
  277. package/dist/commands/adapt.d.ts +0 -17
  278. package/dist/commands/adapt.js +0 -33
  279. package/dist/commands/analyze.d.ts +0 -26
  280. package/dist/commands/analyze.js +0 -95
  281. package/dist/commands/calamares.d.ts +0 -29
  282. package/dist/commands/calamares.js +0 -112
  283. package/dist/commands/config.d.ts +0 -35
  284. package/dist/commands/config.js +0 -120
  285. package/dist/commands/cuckoo.d.ts +0 -17
  286. package/dist/commands/cuckoo.js +0 -61
  287. package/dist/commands/dad.d.ts +0 -21
  288. package/dist/commands/dad.js +0 -47
  289. package/dist/commands/export/iso.d.ts +0 -19
  290. package/dist/commands/export/iso.js +0 -55
  291. package/dist/commands/export/pkg.d.ts +0 -29
  292. package/dist/commands/export/pkg.js +0 -173
  293. package/dist/commands/export/tarballs.d.ts +0 -27
  294. package/dist/commands/export/tarballs.js +0 -79
  295. package/dist/commands/install.d.ts +0 -38
  296. package/dist/commands/install.js +0 -91
  297. package/dist/commands/kill.d.ts +0 -24
  298. package/dist/commands/kill.js +0 -50
  299. package/dist/commands/love.d.ts +0 -21
  300. package/dist/commands/love.js +0 -73
  301. package/dist/commands/mom.d.ts +0 -16
  302. package/dist/commands/mom.js +0 -30
  303. package/dist/commands/pods.d.ts +0 -22
  304. package/dist/commands/pods.js +0 -92
  305. package/dist/commands/produce.d.ts +0 -35
  306. package/dist/commands/produce.js +0 -221
  307. package/dist/commands/status.d.ts +0 -23
  308. package/dist/commands/status.js +0 -31
  309. package/dist/commands/syncfrom.d.ts +0 -45
  310. package/dist/commands/syncfrom.js +0 -152
  311. package/dist/commands/syncto.d.ts +0 -40
  312. package/dist/commands/syncto.js +0 -175
  313. package/dist/commands/tools/clean.d.ts +0 -18
  314. package/dist/commands/tools/clean.js +0 -37
  315. package/dist/commands/tools/ppa.d.ts +0 -31
  316. package/dist/commands/tools/ppa.js +0 -176
  317. package/dist/commands/tools/skel.d.ts +0 -18
  318. package/dist/commands/tools/skel.js +0 -44
  319. package/dist/commands/tools/stat.d.ts +0 -31
  320. package/dist/commands/tools/stat.js +0 -70
  321. package/dist/commands/tools/yolk.d.ts +0 -24
  322. package/dist/commands/tools/yolk.js +0 -45
  323. package/dist/commands/update.d.ts +0 -46
  324. package/dist/commands/update.js +0 -238
  325. package/dist/commands/wardrobe/get.d.ts +0 -23
  326. package/dist/commands/wardrobe/get.js +0 -52
  327. package/dist/commands/wardrobe/list.d.ts +0 -24
  328. package/dist/commands/wardrobe/list.js +0 -125
  329. package/dist/commands/wardrobe/show.d.ts +0 -25
  330. package/dist/commands/wardrobe/show.js +0 -97
  331. package/dist/commands/wardrobe/wear.d.ts +0 -26
  332. package/dist/commands/wardrobe/wear.js +0 -84
  333. package/dist/dhcpd-proxy/classes/packet.d.ts +0 -36
  334. package/dist/dhcpd-proxy/classes/packet.js +0 -124
  335. package/dist/dhcpd-proxy/index.d.ts +0 -4
  336. package/dist/dhcpd-proxy/index.js +0 -4
  337. package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +0 -45
  338. package/dist/dhcpd-proxy/interfaces/i-pxe.js +0 -1
  339. package/dist/dhcpd-proxy/lib/packet/converters.d.ts +0 -11
  340. package/dist/dhcpd-proxy/lib/packet/converters.js +0 -395
  341. package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +0 -10
  342. package/dist/dhcpd-proxy/lib/packet/message-types.js +0 -12
  343. package/dist/dhcpd-proxy/lib/packet/options.d.ts +0 -8
  344. package/dist/dhcpd-proxy/lib/packet/options.js +0 -264
  345. package/dist/dhcpd-proxy/lib/sprintf.d.ts +0 -6
  346. package/dist/dhcpd-proxy/lib/sprintf.js +0 -130
  347. package/dist/dhcpd-proxy/lib/utils.d.ts +0 -126
  348. package/dist/dhcpd-proxy/lib/utils.js +0 -255
  349. package/dist/dhcpd-proxy/simple-proxy.d.ts +0 -11
  350. package/dist/dhcpd-proxy/simple-proxy.js +0 -118
  351. package/dist/index.d.ts +0 -8
  352. package/dist/index.js +0 -8
  353. package/dist/interfaces/i-addons.d.ts +0 -12
  354. package/dist/interfaces/i-addons.js +0 -8
  355. package/dist/interfaces/i-analyze.d.ts +0 -17
  356. package/dist/interfaces/i-analyze.js +0 -17
  357. package/dist/interfaces/i-app.d.ts +0 -14
  358. package/dist/interfaces/i-app.js +0 -8
  359. package/dist/interfaces/i-branding.d.ts +0 -36
  360. package/dist/interfaces/i-branding.js +0 -8
  361. package/dist/interfaces/i-calamares-displaymanager.d.ts +0 -17
  362. package/dist/interfaces/i-calamares-displaymanager.js +0 -1
  363. package/dist/interfaces/i-calamares-finished.d.ts +0 -12
  364. package/dist/interfaces/i-calamares-finished.js +0 -1
  365. package/dist/interfaces/i-calamares-packages.d.ts +0 -28
  366. package/dist/interfaces/i-calamares-packages.js +0 -1
  367. package/dist/interfaces/i-calamares-partition.d.ts +0 -40
  368. package/dist/interfaces/i-calamares-partition.js +0 -1
  369. package/dist/interfaces/i-config-tools.d.ts +0 -15
  370. package/dist/interfaces/i-config-tools.js +0 -8
  371. package/dist/interfaces/i-devices.d.ts +0 -20
  372. package/dist/interfaces/i-devices.js +0 -8
  373. package/dist/interfaces/i-distro.d.ts +0 -23
  374. package/dist/interfaces/i-distro.js +0 -8
  375. package/dist/interfaces/i-drive-list.d.ts +0 -33
  376. package/dist/interfaces/i-drive-list.js +0 -8
  377. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  378. package/dist/interfaces/i-eggs-config.js +0 -8
  379. package/dist/interfaces/i-excludes.d.ts +0 -14
  380. package/dist/interfaces/i-excludes.js +0 -8
  381. package/dist/interfaces/i-exec.d.ts +0 -11
  382. package/dist/interfaces/i-exec.js +0 -8
  383. package/dist/interfaces/i-initrd.d.ts +0 -13
  384. package/dist/interfaces/i-initrd.js +0 -8
  385. package/dist/interfaces/i-install.d.ts +0 -16
  386. package/dist/interfaces/i-install.js +0 -8
  387. package/dist/interfaces/i-installer.d.ts +0 -17
  388. package/dist/interfaces/i-installer.js +0 -8
  389. package/dist/interfaces/i-luks-passphrase.d.ts +0 -11
  390. package/dist/interfaces/i-luks-passphrase.js +0 -8
  391. package/dist/interfaces/i-materia.d.ts +0 -36
  392. package/dist/interfaces/i-materia.js +0 -8
  393. package/dist/interfaces/i-net.d.ts +0 -16
  394. package/dist/interfaces/i-net.js +0 -8
  395. package/dist/interfaces/i-os-release.d.ts +0 -5
  396. package/dist/interfaces/i-os-release.js +0 -1
  397. package/dist/interfaces/i-packages.d.ts +0 -16
  398. package/dist/interfaces/i-packages.js +0 -8
  399. package/dist/interfaces/i-partitions.d.ts +0 -16
  400. package/dist/interfaces/i-partitions.js +0 -8
  401. package/dist/interfaces/i-pxe.d.ts +0 -45
  402. package/dist/interfaces/i-pxe.js +0 -1
  403. package/dist/interfaces/i-remix.d.ts +0 -21
  404. package/dist/interfaces/i-remix.js +0 -8
  405. package/dist/interfaces/i-settings.d.ts +0 -33
  406. package/dist/interfaces/i-settings.js +0 -8
  407. package/dist/interfaces/i-user.d.ts +0 -14
  408. package/dist/interfaces/i-user.js +0 -8
  409. package/dist/interfaces/i-workdir.d.ts +0 -14
  410. package/dist/interfaces/i-workdir.js +0 -8
  411. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  412. package/dist/interfaces/i-xkb-model.js +0 -8
  413. package/dist/interfaces/index.d.ts +0 -26
  414. package/dist/interfaces/index.js +0 -8
  415. package/dist/krill/classes/cfs.d.ts +0 -17
  416. package/dist/krill/classes/cfs.js +0 -39
  417. package/dist/krill/classes/krill_enums.d.ts +0 -37
  418. package/dist/krill/classes/krill_enums.js +0 -41
  419. package/dist/krill/classes/prepare.d/confirm.d.ts +0 -5
  420. package/dist/krill/classes/prepare.d/confirm.js +0 -30
  421. package/dist/krill/classes/prepare.d/keyboard.d.ts +0 -14
  422. package/dist/krill/classes/prepare.d/keyboard.js +0 -62
  423. package/dist/krill/classes/prepare.d/location.d.ts +0 -17
  424. package/dist/krill/classes/prepare.d/location.js +0 -59
  425. package/dist/krill/classes/prepare.d/network.d.ts +0 -14
  426. package/dist/krill/classes/prepare.d/network.js +0 -68
  427. package/dist/krill/classes/prepare.d/partitions.d.ts +0 -14
  428. package/dist/krill/classes/prepare.d/partitions.js +0 -86
  429. package/dist/krill/classes/prepare.d/summary.d.ts +0 -15
  430. package/dist/krill/classes/prepare.d/summary.js +0 -69
  431. package/dist/krill/classes/prepare.d/users.d.ts +0 -6
  432. package/dist/krill/classes/prepare.d/users.js +0 -63
  433. package/dist/krill/classes/prepare.d/welcome.d.ts +0 -6
  434. package/dist/krill/classes/prepare.d/welcome.js +0 -30
  435. package/dist/krill/classes/prepare.d.ts +0 -89
  436. package/dist/krill/classes/prepare.js +0 -314
  437. package/dist/krill/classes/sequence.d/add_user.d.ts +0 -20
  438. package/dist/krill/classes/sequence.d/add_user.js +0 -77
  439. package/dist/krill/classes/sequence.d/bootloader.d.ts +0 -14
  440. package/dist/krill/classes/sequence.d/bootloader.js +0 -117
  441. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +0 -14
  442. package/dist/krill/classes/sequence.d/bootloader_config.js +0 -192
  443. package/dist/krill/classes/sequence.d/change_password.d.ts +0 -15
  444. package/dist/krill/classes/sequence.d/change_password.js +0 -18
  445. package/dist/krill/classes/sequence.d/del_live_user.d.ts +0 -14
  446. package/dist/krill/classes/sequence.d/del_live_user.js +0 -39
  447. package/dist/krill/classes/sequence.d/fstab.d.ts +0 -14
  448. package/dist/krill/classes/sequence.d/fstab.js +0 -177
  449. package/dist/krill/classes/sequence.d/grubcfg.d.ts +0 -17
  450. package/dist/krill/classes/sequence.d/grubcfg.js +0 -35
  451. package/dist/krill/classes/sequence.d/hostname.d.ts +0 -13
  452. package/dist/krill/classes/sequence.d/hostname.js +0 -50
  453. package/dist/krill/classes/sequence.d/initramfs.d.ts +0 -13
  454. package/dist/krill/classes/sequence.d/initramfs.js +0 -54
  455. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +0 -14
  456. package/dist/krill/classes/sequence.d/initramfs_cfg.js +0 -35
  457. package/dist/krill/classes/sequence.d/locale.d.ts +0 -13
  458. package/dist/krill/classes/sequence.d/locale.js +0 -91
  459. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +0 -10
  460. package/dist/krill/classes/sequence.d/locale_cfg.js +0 -58
  461. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +0 -14
  462. package/dist/krill/classes/sequence.d/m_keyboard.js +0 -58
  463. package/dist/krill/classes/sequence.d/machine_id.d.ts +0 -15
  464. package/dist/krill/classes/sequence.d/machine_id.js +0 -33
  465. package/dist/krill/classes/sequence.d/mkfs.d.ts +0 -15
  466. package/dist/krill/classes/sequence.d/mkfs.js +0 -75
  467. package/dist/krill/classes/sequence.d/mount_fs.d.ts +0 -17
  468. package/dist/krill/classes/sequence.d/mount_fs.js +0 -68
  469. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +0 -17
  470. package/dist/krill/classes/sequence.d/mount_vfs.js +0 -59
  471. package/dist/krill/classes/sequence.d/network_cfg.d.ts +0 -19
  472. package/dist/krill/classes/sequence.d/network_cfg.js +0 -73
  473. package/dist/krill/classes/sequence.d/packages.d.ts +0 -14
  474. package/dist/krill/classes/sequence.d/packages.js +0 -111
  475. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +0 -17
  476. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +0 -73
  477. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +0 -16
  478. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +0 -51
  479. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +0 -17
  480. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +0 -78
  481. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +0 -10
  482. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -33
  483. package/dist/krill/classes/sequence.d/partition.d.ts +0 -14
  484. package/dist/krill/classes/sequence.d/partition.js +0 -84
  485. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +0 -13
  486. package/dist/krill/classes/sequence.d/remove_installer_link.js +0 -35
  487. package/dist/krill/classes/sequence.d/umount.d.ts +0 -14
  488. package/dist/krill/classes/sequence.d/umount.js +0 -28
  489. package/dist/krill/classes/sequence.d/unpackfs.d.ts +0 -13
  490. package/dist/krill/classes/sequence.d/unpackfs.js +0 -20
  491. package/dist/krill/classes/sequence.d.ts +0 -133
  492. package/dist/krill/classes/sequence.js +0 -396
  493. package/dist/krill/components/finished.d.ts +0 -16
  494. package/dist/krill/components/finished.js +0 -56
  495. package/dist/krill/components/information.d.ts +0 -8
  496. package/dist/krill/components/information.js +0 -162
  497. package/dist/krill/components/install.d.ts +0 -15
  498. package/dist/krill/components/install.js +0 -60
  499. package/dist/krill/components/keyboard.d.ts +0 -16
  500. package/dist/krill/components/keyboard.js +0 -54
  501. package/dist/krill/components/location.d.ts +0 -16
  502. package/dist/krill/components/location.js +0 -59
  503. package/dist/krill/components/network.d.ts +0 -19
  504. package/dist/krill/components/network.js +0 -65
  505. package/dist/krill/components/partitions.d.ts +0 -18
  506. package/dist/krill/components/partitions.js +0 -89
  507. package/dist/krill/components/steps.d.ts +0 -13
  508. package/dist/krill/components/steps.js +0 -148
  509. package/dist/krill/components/summary.d.ts +0 -25
  510. package/dist/krill/components/summary.js +0 -77
  511. package/dist/krill/components/title.d.ts +0 -11
  512. package/dist/krill/components/title.js +0 -35
  513. package/dist/krill/components/users.d.ts +0 -24
  514. package/dist/krill/components/users.js +0 -80
  515. package/dist/krill/components/welcome.d.ts +0 -13
  516. package/dist/krill/components/welcome.js +0 -63
  517. package/dist/krill/interfaces/i_krill.d.ts +0 -44
  518. package/dist/krill/interfaces/i_krill.js +0 -8
  519. package/dist/krill/interfaces/i_krill_config.d.ts +0 -35
  520. package/dist/krill/interfaces/i_krill_config.js +0 -8
  521. package/dist/krill/lib/get_address.d.ts +0 -8
  522. package/dist/krill/lib/get_address.js +0 -23
  523. package/dist/krill/lib/get_dns.d.ts +0 -8
  524. package/dist/krill/lib/get_dns.js +0 -23
  525. package/dist/krill/lib/get_domain.d.ts +0 -8
  526. package/dist/krill/lib/get_domain.js +0 -23
  527. package/dist/krill/lib/get_gateway.d.ts +0 -8
  528. package/dist/krill/lib/get_gateway.js +0 -23
  529. package/dist/krill/lib/get_hostname.d.ts +0 -8
  530. package/dist/krill/lib/get_hostname.js +0 -23
  531. package/dist/krill/lib/get_luks_passphrase.d.ts +0 -8
  532. package/dist/krill/lib/get_luks_passphrase.js +0 -40
  533. package/dist/krill/lib/get_netmask.d.ts +0 -8
  534. package/dist/krill/lib/get_netmask.js +0 -23
  535. package/dist/krill/lib/get_password.d.ts +0 -8
  536. package/dist/krill/lib/get_password.js +0 -36
  537. package/dist/krill/lib/get_userfullname.d.ts +0 -8
  538. package/dist/krill/lib/get_userfullname.js +0 -23
  539. package/dist/krill/lib/get_username.d.ts +0 -8
  540. package/dist/krill/lib/get_username.js +0 -23
  541. package/dist/krill/lib/select_address_type.d.ts +0 -8
  542. package/dist/krill/lib/select_address_type.js +0 -24
  543. package/dist/krill/lib/select_filesystem_type.d.ts +0 -8
  544. package/dist/krill/lib/select_filesystem_type.js +0 -40
  545. package/dist/krill/lib/select_installation_device.d.ts +0 -8
  546. package/dist/krill/lib/select_installation_device.js +0 -40
  547. package/dist/krill/lib/select_installation_mode.d.ts +0 -9
  548. package/dist/krill/lib/select_installation_mode.js +0 -25
  549. package/dist/krill/lib/select_interface.d.ts +0 -8
  550. package/dist/krill/lib/select_interface.js +0 -24
  551. package/dist/krill/lib/select_keyboard_layout.d.ts +0 -11
  552. package/dist/krill/lib/select_keyboard_layout.js +0 -36
  553. package/dist/krill/lib/select_keyboard_model.d.ts +0 -11
  554. package/dist/krill/lib/select_keyboard_model.js +0 -34
  555. package/dist/krill/lib/select_keyboard_option.d.ts +0 -11
  556. package/dist/krill/lib/select_keyboard_option.js +0 -34
  557. package/dist/krill/lib/select_keyboard_variant.d.ts +0 -11
  558. package/dist/krill/lib/select_keyboard_variant.js +0 -35
  559. package/dist/krill/lib/select_languages.d.ts +0 -8
  560. package/dist/krill/lib/select_languages.js +0 -28
  561. package/dist/krill/lib/select_regions.d.ts +0 -8
  562. package/dist/krill/lib/select_regions.js +0 -24
  563. package/dist/krill/lib/select_replaced_partition.d.ts +0 -8
  564. package/dist/krill/lib/select_replaced_partition.js +0 -31
  565. package/dist/krill/lib/select_user_swap_choice.d.ts +0 -9
  566. package/dist/krill/lib/select_user_swap_choice.js +0 -35
  567. package/dist/krill/lib/select_zones.d.ts +0 -8
  568. package/dist/krill/lib/select_zones.js +0 -518
  569. package/dist/lib/kill_me_softly.d.ts +0 -11
  570. package/dist/lib/kill_me_softly.js +0 -61
  571. package/dist/lib/utils.d.ts +0 -19
  572. package/dist/lib/utils.js +0 -65
@@ -1,314 +0,0 @@
1
- /**
2
- * Krill Installer - Simplified Refactoring
3
- * ./src/krill/prepare.ts
4
- * penguins-eggs v.25.7.x / ecmascript 2020
5
- * author: Piero Proietti
6
- * email: piero.proietti@gmail.com
7
- * license: MIT
8
- */
9
- import os from 'os';
10
- import fs from 'fs';
11
- import shx from 'shelljs';
12
- import axios from 'axios';
13
- import { SwapChoice, InstallationMode, FsType } from './krill_enums.js';
14
- import Keyboards from '../../classes/keyboards.js';
15
- import Locales from '../../classes/locales.js';
16
- import Systemctl from '../../classes/systemctl.js';
17
- import Utils from '../../classes/utils.js';
18
- import { exec } from '../../lib/utils.js';
19
- import Sequence from './sequence.js';
20
- // UI Components
21
- import { welcome } from './prepare.d/welcome.js';
22
- import { location } from './prepare.d/location.js';
23
- import { keyboard } from './prepare.d/keyboard.js';
24
- import { partitions } from './prepare.d/partitions.js';
25
- import { users } from './prepare.d/users.js';
26
- import { network } from './prepare.d/network.js';
27
- import { summary } from './prepare.d/summary.js';
28
- const config_file = '/etc/penguins-eggs.d/krill.yaml';
29
- /**
30
- * Main Krill installer class - Simplified refactoring
31
- */
32
- export default class Krill {
33
- // UI Components
34
- welcome = welcome;
35
- location = location;
36
- keyboard = keyboard;
37
- partitions = partitions;
38
- users = users;
39
- network = network;
40
- summary = summary;
41
- // Configuration
42
- krillConfig = {};
43
- locales = new Locales();
44
- keyboards = new Keyboards();
45
- // Installation flags
46
- unattended = false;
47
- nointeractive = false;
48
- chroot = false;
49
- halt = false;
50
- /**
51
- * Constructor
52
- */
53
- constructor(unattended = false, nointeractive = false, halt = false, chroot = false) {
54
- this.unattended = unattended;
55
- this.nointeractive = nointeractive;
56
- this.chroot = chroot;
57
- this.halt = halt;
58
- }
59
- /**
60
- * Main prepare method - Simplified and cleaner
61
- */
62
- async prepare(krillConfig = {}, ip = false, random = false, domain = '', suspend = false, small = false, none = false, crypted = false, pve = false, btrfs = false, testing = false, verbose = false) {
63
- try {
64
- // System validation
65
- await this.checkSystemRequirements();
66
- // Configuration setup
67
- this.krillConfig = krillConfig;
68
- await this.setupConfiguration();
69
- // Stop services
70
- await this.stopSystemServices(verbose, testing);
71
- // Build configurations
72
- const configs = await this.buildConfigurations(ip, random, suspend, small, none);
73
- // Interactive or unattended mode
74
- const finalConfigs = this.unattended
75
- ? this.applyUnattendedOptions(configs, crypted, pve, btrfs)
76
- : await this.runInteractiveMode(crypted, pve, btrfs);
77
- // Install
78
- await this.performInstallation(finalConfigs, domain, testing, verbose);
79
- }
80
- catch (error) {
81
- await Utils.pressKeyToExit(`${error.message}\nkrill installer refuses to continue`);
82
- process.exit();
83
- }
84
- }
85
- /**
86
- * Check system requirements (disks, LVM)
87
- */
88
- async checkSystemRequirements() {
89
- // Check disk presence
90
- const drives = shx.exec('lsblk |grep disk|cut -f 1 "-d "', { silent: true }).stdout.trim().split('\n');
91
- if (drives[0] === '') {
92
- throw new Error('No disk to install the system in this machine.');
93
- }
94
- // Check LVM presence
95
- if (await this.pvExist()) {
96
- await this.createLvmRemovalScript();
97
- throw new Error('There is a lvm2 volume in the system, remove it manually before installation.');
98
- }
99
- }
100
- /**
101
- * Setup configuration files and auto-configure timezone
102
- */
103
- async setupConfiguration() {
104
- // Check config file
105
- if (!fs.existsSync(config_file)) {
106
- throw new Error(`Cannot find configuration file ${config_file}`);
107
- }
108
- // Check calamares/krill configuration
109
- let configRoot = '/etc/penguins-eggs.d/krill/';
110
- if (fs.existsSync('/etc/calamares/settings.conf')) {
111
- configRoot = '/etc/calamares/';
112
- }
113
- if (!fs.existsSync(configRoot + 'settings.conf')) {
114
- throw new Error('Cannot find calamares/krill configuration file, please create it running: sudo eggs calamares');
115
- }
116
- // Auto-configure timezone
117
- await this.autoConfigureTimezone();
118
- }
119
- /**
120
- * Auto-configure timezone from internet
121
- */
122
- async autoConfigureTimezone() {
123
- try {
124
- const response = await axios.get('https://geoip.kde.org/v1/calamares');
125
- if (response.statusText === 'OK') {
126
- const timeZone = response.data.time_zone;
127
- this.krillConfig.region = timeZone.substring(0, timeZone.indexOf('/'));
128
- this.krillConfig.zone = timeZone.substring(timeZone.indexOf('/') + 1);
129
- }
130
- }
131
- catch (error) {
132
- console.error('Error auto-configuring timezone:', error);
133
- }
134
- }
135
- /**
136
- * Stop system services
137
- */
138
- async stopSystemServices(verbose, testing) {
139
- const systemdCtl = new Systemctl(verbose);
140
- if (await systemdCtl.isActive('udisks2.service') && !testing) {
141
- await systemdCtl.stop('udisks2.service');
142
- }
143
- }
144
- /**
145
- * Build default configurations
146
- */
147
- async buildConfigurations(ip, random, suspend, small, none) {
148
- // Generate hostname
149
- const hostname = this.generateHostname(ip, random);
150
- // Build configuration objects
151
- const oWelcome = { language: this.krillConfig.language };
152
- const oLocation = {
153
- language: this.krillConfig.language,
154
- region: this.krillConfig.region,
155
- zone: this.krillConfig.zone
156
- };
157
- const oKeyboard = {
158
- keyboardModel: this.krillConfig.keyboardModel,
159
- keyboardLayout: this.krillConfig.keyboardLayout,
160
- keyboardVariant: this.krillConfig.keyboardVariant,
161
- keyboardOption: this.krillConfig.keyboardOption
162
- };
163
- let userSwapChoice = this.krillConfig.userSwapChoice;
164
- if (suspend)
165
- userSwapChoice = SwapChoice.Suspend;
166
- else if (small)
167
- userSwapChoice = SwapChoice.Small;
168
- else if (none)
169
- userSwapChoice = SwapChoice.None;
170
- const oPartitions = {
171
- installationDevice: this.krillConfig.installationDevice,
172
- installationMode: this.krillConfig.installationMode,
173
- filesystemType: this.krillConfig.filesystemType,
174
- userSwapChoice,
175
- replacedPartition: this.krillConfig.replacedPartition
176
- };
177
- const oUsers = {
178
- username: this.krillConfig.name,
179
- fullname: this.krillConfig.fullname,
180
- password: this.krillConfig.password,
181
- rootPassword: this.krillConfig.rootPassword,
182
- autologin: this.krillConfig.autologin,
183
- hostname
184
- };
185
- const oNetwork = {
186
- iface: await Utils.iface(),
187
- addressType: this.krillConfig.addressType,
188
- address: Utils.address(),
189
- netmask: Utils.netmask(),
190
- gateway: Utils.gateway(),
191
- dns: Utils.getDns(),
192
- domain: Utils.getDomain()
193
- };
194
- return { oWelcome, oLocation, oKeyboard, oPartitions, oUsers, oNetwork };
195
- }
196
- /**
197
- * Generate hostname based on options
198
- */
199
- generateHostname(ip, random) {
200
- let hostname = this.krillConfig.hostname;
201
- if (hostname === '') {
202
- hostname = shx.exec('cat /etc/hostname', { silent: true }).trim();
203
- }
204
- if (ip) {
205
- hostname = 'ip-' + Utils.address().replaceAll('.', '-');
206
- }
207
- if (random) {
208
- const fl = shx.exec(`tr -dc a-z </dev/urandom | head -c 2 ; echo ''`, { silent: true }).trim();
209
- const n = shx.exec(`tr -dc 0-9 </dev/urandom | head -c 3 ; echo ''`, { silent: true }).trim();
210
- const sl = shx.exec(`tr -dc a-z </dev/urandom | head -c 2 ; echo ''`, { silent: true }).trim();
211
- hostname = `${os.hostname()}-${fl}${n}${sl}`;
212
- }
213
- return hostname;
214
- }
215
- /**
216
- * Apply options for unattended installation
217
- */
218
- applyUnattendedOptions(configs, crypted, pve, btrfs) {
219
- const { oPartitions, oUsers } = configs;
220
- // Set defaults for unattended
221
- oPartitions.installationMode = InstallationMode.EraseDisk;
222
- // Apply options
223
- if (btrfs)
224
- oPartitions.filesystemType = FsType.btrfs;
225
- if (crypted || pve)
226
- oPartitions.installationMode = InstallationMode.Luks;
227
- // Set default installation device if empty
228
- if (oPartitions.installationDevice === '') {
229
- const drives = shx.exec('lsblk |grep disk|cut -f 1 "-d "', { silent: true }).stdout.trim().split('\n');
230
- if (drives.length > 0) {
231
- oPartitions.installationDevice = `/dev/` + drives[0];
232
- }
233
- else {
234
- throw new Error("Unable to find installation drive");
235
- }
236
- }
237
- return configs;
238
- }
239
- /**
240
- * Run interactive mode with UI
241
- */
242
- async runInteractiveMode(crypted, pve, btrfs) {
243
- const oWelcome = await this.welcome();
244
- const oLocation = await this.location(oWelcome.language);
245
- const oKeyboard = await this.keyboard();
246
- const oPartitions = await this.partitions(this.krillConfig.installationDevice, crypted, pve, btrfs);
247
- const oUsers = await this.users();
248
- const oNetwork = await this.network();
249
- return { oWelcome, oLocation, oKeyboard, oPartitions, oUsers, oNetwork };
250
- }
251
- /**
252
- * Perform installation or testing
253
- */
254
- async performInstallation(configs, domain, testing, verbose) {
255
- const { oLocation, oKeyboard, oPartitions, oUsers, oNetwork } = configs;
256
- await this.summary(oLocation, oKeyboard, oPartitions, oUsers);
257
- if (testing) {
258
- console.log();
259
- Utils.titles("install --testing");
260
- console.log("Just testing krill, the process will end!");
261
- console.log("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
262
- console.log(oPartitions);
263
- process.exit();
264
- }
265
- else {
266
- const sequence = new Sequence(oLocation, oKeyboard, oPartitions, oUsers, oNetwork);
267
- await sequence.start(domain, this.unattended, this.nointeractive, this.chroot, this.halt, verbose);
268
- }
269
- }
270
- /**
271
- * Create script to remove LVM partitions
272
- */
273
- async createLvmRemovalScript() {
274
- const scriptName = "removeLvmPartitions";
275
- let cmds = "#!/bin/bash\n";
276
- cmds += `# remove LV (Logical Volumes)\n`;
277
- cmds += `vg=$(vgs --noheadings -o vg_name| awk '{$1=$1};1')\n`;
278
- cmds += `lvs -o lv_name --noheadings | awk '{$1=$1};1' | while read -r lv; do\n`;
279
- cmds += ` lvremove -y /dev/mapper/$vg-$lv\n`;
280
- cmds += `done\n`;
281
- cmds += `\n`;
282
- cmds += `# remove VG (Volume groups)\n`;
283
- cmds += `vgremove --force $(vgs --noheadings -o vg_name $vg)\n`;
284
- cmds += `\n`;
285
- cmds += `# remove PV (Physical Volumes) \n`;
286
- cmds += `pv=$(pvs --noheading -o pv_name | awk '{$1=$1};1')\n`;
287
- cmds += `pvremove --force --force $pv\n`;
288
- cmds += `# wipe PV (Physical Volumes) \n`;
289
- cmds += `wipefs -a $pv\n`;
290
- cmds += `# clean device\n`;
291
- cmds += `sgdisk --zap-all $pv\n`;
292
- cmds += `dd if=/dev/zero of=$pv bs=1M count=10\n`;
293
- fs.writeFileSync(scriptName, cmds);
294
- await exec(`chmod +x ${scriptName}`);
295
- }
296
- /**
297
- * Check if Physical Volumes exist
298
- */
299
- async pvExist() {
300
- const check = `#!/bin/sh\npvdisplay |grep "PV Name" >/dev/null && echo 1|| echo 0`;
301
- return shx.exec(check, { silent: true }).stdout.trim() === '1';
302
- }
303
- }
304
- /**
305
- * Utility function for netmask conversion
306
- */
307
- function netmask2CIDR(mask) {
308
- const countCharOccurences = (string, char) => string.split(char).length - 1;
309
- const decimalToBinary = (dec) => (dec >>> 0).toString(2);
310
- const getNetMaskParts = (nmask) => nmask.split('.').map(Number);
311
- return countCharOccurences(getNetMaskParts(mask)
312
- .map(part => decimalToBinary(part))
313
- .join(''), '1');
314
- }
@@ -1,20 +0,0 @@
1
- /**
2
- * ./src/krill/modules/add-user.ts
3
- * penguins-eggs v.25.7.x / 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
- * @param username
14
- * @param password
15
- * @param fullusername
16
- * @param roomNumber
17
- * @param workPhone
18
- * @param homePhone
19
- */
20
- export default function addUser(this: Sequence, username?: string, password?: string, fullusername?: string, roomNumber?: string, workPhone?: string, homePhone?: string): Promise<void>;
@@ -1,77 +0,0 @@
1
- /**
2
- * ./src/krill/modules/add-user.ts
3
- * penguins-eggs v.25.7.x / 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 fs from 'fs';
11
- import yaml from 'js-yaml';
12
- import { exec } from '../../../lib/utils.js';
13
- /**
14
- *
15
- * @param this
16
- * @param username
17
- * @param password
18
- * @param fullusername
19
- * @param roomNumber
20
- * @param workPhone
21
- * @param homePhone
22
- */
23
- export default async function addUser(username = 'live', password = 'evolution', fullusername = '', roomNumber = '', workPhone = '', homePhone = '') {
24
- // adduser user
25
- let cmd = `chroot ${this.installTarget} adduser ${username} --home /home/${username} --shell /bin/bash --disabled-password --gecos "${fullusername},${roomNumber},${workPhone},${homePhone}" ${this.toNull}`;
26
- if (this.distro.familyId === 'archlinux') {
27
- cmd = `chroot ${this.installTarget} useradd --create-home --shell /bin/bash ${username} ${this.toNull}`;
28
- }
29
- else if (this.distro.familyId === 'fedora') {
30
- cmd = `chroot ${this.installTarget} adduser ${username} --create-home --shell /bin/bash --comment "${fullusername},${roomNumber},${workPhone},${homePhone}" ${this.toNull}`;
31
- }
32
- else if (this.distro.familyId === 'openmamba') {
33
- cmd = `chroot ${this.installTarget} useradd ${username} --create-home --shell /bin/bash --comment "${fullusername},${roomNumber},${workPhone},${homePhone}" ${this.toNull}`;
34
- }
35
- else if (this.distro.familyId === 'opensuse') {
36
- cmd = `chroot ${this.installTarget} useradd ${username} --create-home --shell /bin/bash --comment "${fullusername},${roomNumber},${workPhone},${homePhone}" ${this.toNull}`;
37
- }
38
- await exec(cmd, this.echo);
39
- cmd = `echo ${username}:${password} | chroot ${this.installTarget} /usr/sbin/chpasswd ${this.toNull}`;
40
- await exec(cmd, this.echo);
41
- let group = 'wheel';
42
- if (this.distro.familyId === 'debian') {
43
- group = 'sudo';
44
- }
45
- else if (this.distro.familyId === 'openmamba') {
46
- group = 'sysadmin';
47
- }
48
- cmd = `chroot ${this.installTarget} usermod -aG ${group} ${username} ${this.toNull}`;
49
- await exec(cmd, this.echo);
50
- // add autologin group in archlinux
51
- await exec(cmd, this.echo);
52
- if (this.distro.familyId === 'archlinux') {
53
- await exec(`chroot ${this.installTarget} getent group autologin || groupadd autologin`);
54
- await exec(`chroot ${this.installTarget} usermod -aG autologin ${username}`);
55
- }
56
- /**
57
- * look to calamares/modules/users.conf for groups
58
- */
59
- let usersConf = '/etc/calamares/modules/users.conf';
60
- if (!fs.existsSync(usersConf)) {
61
- usersConf = '/etc/penguins-eggs.d/krill/modules/users.conf';
62
- }
63
- if (fs.existsSync(usersConf)) {
64
- const o = yaml.load(fs.readFileSync(usersConf, 'utf8'));
65
- for (const group of o.defaultGroups) {
66
- const groupExists = await exec(`getent group ${group}`);
67
- if (groupExists.code == 0) {
68
- let addGroup = `chroot ${this.installTarget} usermod -aG ${group} ${username}`;
69
- await exec(addGroup);
70
- }
71
- }
72
- }
73
- else {
74
- console.log(`cannot find: ${usersConf}!`);
75
- await Utils.pressKeyToExit();
76
- }
77
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * ./src/krill/modules/bootloader.ts
3
- * penguins-eggs v.25.7.x / 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 '../../classes/sequence.js';
10
- /**
11
- *
12
- * @param this
13
- */
14
- export default function bootloader(this: Sequence): Promise<void>;
@@ -1,117 +0,0 @@
1
- /**
2
- * ./src/krill/modules/bootloader.ts
3
- * penguins-eggs v.25.7.x / 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 Diversion from '../../../classes/diversions.js';
10
- import Utils from '../../../classes/utils.js';
11
- import { exec } from '../../../lib/utils.js';
12
- import fs from 'node:fs';
13
- import path from 'node:path';
14
- /**
15
- *
16
- * @param this
17
- */
18
- export default async function bootloader() {
19
- let grubName = Diversion.grubName(this.distro.familyId);
20
- let grubForce = Diversion.grubForce(this.distro.familyId);
21
- let cmd = '';
22
- if (this.efi) {
23
- /**
24
- * UEFI Installation
25
- * This is the correct way to install GRUB for UEFI systems.
26
- * --target: Specifies the EFI architecture (x86_64-efi or arm64-efi).
27
- * --efi-directory: Tells GRUB where the EFI System Partition is mounted. CRITICAL.
28
- * --bootloader-id: Creates the \EFI\fedora directory on the ESP and labels the NVRAM entry. CRITICAL.
29
- * We do NOT specify the device (e.g., /dev/sda) for UEFI.
30
- */
31
- let target = `x86_64-efi`;
32
- if (process.arch === 'arm64') {
33
- target = `arm64-efi`;
34
- }
35
- let bootloaderId = this.distro.distroLike.toLowerCase();
36
- cmd = `chroot ${this.installTarget} ${grubName}-install --target=${target} --efi-directory=/boot/efi --bootloader-id=${bootloaderId} --recheck ${grubForce}`;
37
- }
38
- else {
39
- /**
40
- * MBR (Legacy BIOS) Installation
41
- * For legacy boot, we specify the installation device directly.
42
- */
43
- const target = 'i386-pc';
44
- cmd = `chroot ${this.installTarget} ${grubName}-install --target=${target} ${this.partitions.installationDevice} ${grubForce}`;
45
- }
46
- // await Utils.debug(`grub-install: ${cmd}`)
47
- await exec(cmd, this.echo);
48
- /**
49
- * grub-mkconfig
50
- */
51
- cmd = `chroot ${this.installTarget} ${grubName}-mkconfig -o /boot/${grubName}/grub.cfg ${this.toNull}`;
52
- await exec(cmd, this.echo);
53
- /**
54
- * In fedora family, we need to call kernel-install to force entry creation
55
- */
56
- if (this.distro.familyId === "fedora") {
57
- /**
58
- * create grub2 entries
59
- *
60
- */
61
- cmd = `chroot ${this.installTarget} kernel-install add $(uname -r) /boot/vmlinuz-$(uname -r)`;
62
- await exec(cmd, this.echo);
63
- /**
64
- * and not only: on RHEL, Almalinux, Rocky it take UUID from janitor
65
- */
66
- if (this.distro.distroId === "Almalinux" || this.distro.distroId === "Rocky") {
67
- /**
68
- * grub2: adapt entries at new system
69
- */
70
- const rootUUID = Utils.uuid(this.devices.root.name);
71
- const resumeUUID = Utils.uuid(this.devices.swap.name);
72
- await updateEntries(this.installTarget, rootUUID, resumeUUID);
73
- }
74
- }
75
- }
76
- /**
77
- *
78
- * @param installTarget
79
- * @param rootUUID
80
- * @param resumeUUID
81
- */
82
- async function updateEntries(installTarget, rootUUID, resumeUUID) {
83
- const entriesPath = path.join(installTarget, `/boot/loader/entries/`);
84
- const entries = fs.readdirSync(entriesPath);
85
- if (entries.length > 0) {
86
- for (const entry of entries) {
87
- const currentEntry = path.join(entriesPath, entry);
88
- let source = fs.readFileSync(currentEntry, 'utf8');
89
- let lines = source.split('\n');
90
- let content = '';
91
- for (let line of lines) {
92
- line = searchAndReplace(line, 'root=UUID=', rootUUID);
93
- line = searchAndReplace(line, 'resume=UUID=', resumeUUID);
94
- content += line + '\n';
95
- }
96
- fs.writeFileSync(`${currentEntry}`, content, 'utf-8');
97
- }
98
- }
99
- }
100
- /**
101
- *
102
- * @param line
103
- * @param search
104
- * @param replace
105
- * @returns
106
- */
107
- function searchAndReplace(line, search, replace) {
108
- if (line.includes(search)) {
109
- const lenSearch = search.length;
110
- const lenReplace = replace.length;
111
- const at = line.indexOf(search);
112
- const first = line.substring(0, at + lenSearch);
113
- const last = line.substring(at + lenSearch + lenReplace);
114
- line = first + replace + last;
115
- }
116
- return line;
117
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * ./src/krill/modules/bootloader-config.ts
3
- * penguins-eggs v.25.7.x / 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 bootloaderConfig(this: Sequence): Promise<void>;