penguins-eggs 25.10.24 → 25.10.28

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 (513) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/README.md +3 -770
  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 +1 -1
  7. package/addons/eggs/theme/livecd/generic.grub.theme.cfg +1 -3
  8. package/addons/eggs/theme/livecd/generic.isolinux.theme.cfg +1 -2
  9. package/assets/calamares/install-system.sh +0 -0
  10. package/assets/penguins-eggs.desktop +0 -0
  11. package/assets/penguins-krill.desktop +0 -0
  12. package/assets/penguins-links-add.desktop +0 -0
  13. package/assets/penguins-live-installer.desktop +0 -0
  14. package/bin/dev.js +0 -0
  15. package/conf/distros/alpine/calamares/calamares-modules/machineid-openrc/machineid-openrc.sh +0 -0
  16. package/conf/distros/buster/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  17. package/conf/distros/buster/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
  18. package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  19. package/conf/distros/fedora/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  20. package/conf/distros/focal/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  21. package/conf/distros/focal/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  22. package/conf/distros/noble/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  23. package/conf/distros/noble/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  24. package/conf/distros/noble/calamares/libexec/calamares-aptsources.sh +0 -0
  25. package/conf/distros/noble/calamares/libexec/calamares-l10n-helper.sh +0 -0
  26. package/conf/distros/noble/calamares/libexec/calamares-logs-helper.sh +0 -0
  27. package/conf/distros/noble/calamares/libexec/calamares-nomodeset.sh +0 -0
  28. package/conf/distros/opensuse/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  29. package/conf/distros/opensuse/calamares/settings.yml +0 -0
  30. package/conf/distros/opensuse/calamares/zstd2lzo.sh +0 -0
  31. package/conf/distros/trixie/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  32. package/conf/distros/trixie/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
  33. package/conf/distros/trixie/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  34. package/conf/init/unattended.sh +0 -0
  35. package/dracut/create-symlink +0 -0
  36. package/dracut/export +0 -0
  37. package/dracut/export-dracut-analysis +0 -0
  38. package/dracut/export-dracut-log +0 -0
  39. package/dracut/mkisofs +0 -0
  40. package/dracut/modules.d/00debug-shell/debug-hook.sh +0 -0
  41. package/dracut/modules.d/00debug-shell/module-setup.sh +0 -0
  42. package/dracut/modules.d/90block/block-cmdline.sh +0 -0
  43. package/dracut/modules.d/90block/module-setup.sh +0 -0
  44. package/dracut/modules.d/95iso-scan/iso-scan-fallback.sh +0 -0
  45. package/dracut/modules.d/95iso-scan/iso-scan.sh +0 -0
  46. package/dracut/modules.d/95iso-scan/module-setup.sh +0 -0
  47. package/dracut/modules.d/95luks-loop/luks-loop.sh +0 -0
  48. package/dracut/modules.d/95luks-loop/module-setup.sh +0 -0
  49. package/dracut/renew-initramfs +0 -0
  50. package/dracut/sbin2bin +0 -0
  51. package/dracut/update-dracut-conf-d +0 -0
  52. package/dracut/update-dracut-modules +0 -0
  53. package/eui/eui-autostart-cinnamon.desktop +0 -0
  54. package/eui/eui-autostart-xfce.desktop +0 -0
  55. package/eui/eui-create-image.sh +0 -0
  56. package/eui/eui-start.sh +0 -0
  57. package/package.json +124 -130
  58. package/perrisbrewery/scripts/postinst +0 -0
  59. package/perrisbrewery/scripts/postrm +0 -0
  60. package/perrisbrewery/scripts/preinst +0 -0
  61. package/perrisbrewery/scripts/prerm +0 -0
  62. package/scripts/99clean +0 -0
  63. package/scripts/adapt.sh +0 -0
  64. package/scripts/boot-encrypted-root.sh +138 -95
  65. package/scripts/bros/waydroid-helper.sh +0 -0
  66. package/scripts/lsb_release +0 -0
  67. package/scripts/mom.sh +0 -0
  68. package/scripts/mount-encrypted-home.sh +130 -65
  69. package/scripts/pve-live.service +0 -0
  70. package/scripts/pve-live.sh +0 -0
  71. package/scripts/resy +0 -0
  72. package/dist/classes/bleach.d.ts +0 -37
  73. package/dist/classes/bleach.js +0 -148
  74. package/dist/classes/cli-autologin.d.ts +0 -52
  75. package/dist/classes/cli-autologin.js +0 -252
  76. package/dist/classes/compressors.d.ts +0 -54
  77. package/dist/classes/compressors.js +0 -109
  78. package/dist/classes/daddy.d.ts +0 -26
  79. package/dist/classes/daddy.js +0 -175
  80. package/dist/classes/distro.d.ts +0 -32
  81. package/dist/classes/distro.js +0 -363
  82. package/dist/classes/diversions.d.ts +0 -53
  83. package/dist/classes/diversions.js +0 -131
  84. package/dist/classes/incubation/branding.d.ts +0 -17
  85. package/dist/classes/incubation/branding.js +0 -85
  86. package/dist/classes/incubation/customize/customize-partitions.d.ts +0 -4
  87. package/dist/classes/incubation/customize/customize-partitions.js +0 -29
  88. package/dist/classes/incubation/fisherman-helper/initcpio.d.ts +0 -1
  89. package/dist/classes/incubation/fisherman-helper/initcpio.js +0 -69
  90. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  91. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  92. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  93. package/dist/classes/incubation/fisherman-helper/settings.js +0 -116
  94. package/dist/classes/incubation/fisherman.d.ts +0 -71
  95. package/dist/classes/incubation/fisherman.js +0 -281
  96. package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
  97. package/dist/classes/incubation/incubator.d/alpine.js +0 -78
  98. package/dist/classes/incubation/incubator.d/archlinux.d.ts +0 -32
  99. package/dist/classes/incubation/incubator.d/archlinux.js +0 -82
  100. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  101. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  102. package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
  103. package/dist/classes/incubation/incubator.d/buster.js +0 -101
  104. package/dist/classes/incubation/incubator.d/fedora.d.ts +0 -32
  105. package/dist/classes/incubation/incubator.d/fedora.js +0 -81
  106. package/dist/classes/incubation/incubator.d/focal.d.ts +0 -32
  107. package/dist/classes/incubation/incubator.d/focal.js +0 -85
  108. package/dist/classes/incubation/incubator.d/manjaro.d.ts +0 -32
  109. package/dist/classes/incubation/incubator.d/manjaro.js +0 -82
  110. package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
  111. package/dist/classes/incubation/incubator.d/noble.js +0 -102
  112. package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
  113. package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
  114. package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
  115. package/dist/classes/incubation/incubator.d/opensuse.js +0 -81
  116. package/dist/classes/incubation/incubator.d/trixie.d.ts +0 -32
  117. package/dist/classes/incubation/incubator.d/trixie.js +0 -98
  118. package/dist/classes/incubation/incubator.d.ts +0 -48
  119. package/dist/classes/incubation/incubator.js +0 -378
  120. package/dist/classes/incubation/installer.d.ts +0 -13
  121. package/dist/classes/incubation/installer.js +0 -52
  122. package/dist/classes/keyboards.d.ts +0 -50
  123. package/dist/classes/keyboards.js +0 -287
  124. package/dist/classes/locales.d.ts +0 -21
  125. package/dist/classes/locales.js +0 -77
  126. package/dist/classes/network.d.ts +0 -37
  127. package/dist/classes/network.js +0 -98
  128. package/dist/classes/ovary.d/bind-live-fs.d.ts +0 -18
  129. package/dist/classes/ovary.d/bind-live-fs.js +0 -185
  130. package/dist/classes/ovary.d/bind-vfs.d.ts +0 -17
  131. package/dist/classes/ovary.d/bind-vfs.js +0 -37
  132. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +0 -13
  133. package/dist/classes/ovary.d/create-xdg-autostart.js +0 -194
  134. package/dist/classes/ovary.d/edit-live-fs.d.ts +0 -20
  135. package/dist/classes/ovary.d/edit-live-fs.js +0 -239
  136. package/dist/classes/ovary.d/fertilization.d.ts +0 -12
  137. package/dist/classes/ovary.d/fertilization.js +0 -53
  138. package/dist/classes/ovary.d/finished.d.ts +0 -13
  139. package/dist/classes/ovary.d/finished.js +0 -40
  140. package/dist/classes/ovary.d/initrd.d.ts +0 -21
  141. package/dist/classes/ovary.d/initrd.js +0 -96
  142. package/dist/classes/ovary.d/kernel-copy.d.ts +0 -12
  143. package/dist/classes/ovary.d/kernel-copy.js +0 -22
  144. package/dist/classes/ovary.d/live-create-structure.d.ts +0 -12
  145. package/dist/classes/ovary.d/live-create-structure.js +0 -70
  146. package/dist/classes/ovary.d/luks-get-password.d.ts +0 -12
  147. package/dist/classes/ovary.d/luks-get-password.js +0 -58
  148. package/dist/classes/ovary.d/luks-home-support.d.ts +0 -12
  149. package/dist/classes/ovary.d/luks-home-support.js +0 -75
  150. package/dist/classes/ovary.d/luks-home.d.ts +0 -15
  151. package/dist/classes/ovary.d/luks-home.js +0 -152
  152. package/dist/classes/ovary.d/luks-root-initrd.d.ts +0 -17
  153. package/dist/classes/ovary.d/luks-root-initrd.js +0 -213
  154. package/dist/classes/ovary.d/luks-root.d.ts +0 -15
  155. package/dist/classes/ovary.d/luks-root.js +0 -151
  156. package/dist/classes/ovary.d/make-dot-disk.d.ts +0 -12
  157. package/dist/classes/ovary.d/make-dot-disk.js +0 -71
  158. package/dist/classes/ovary.d/make-efi.d.ts +0 -14
  159. package/dist/classes/ovary.d/make-efi.js +0 -290
  160. package/dist/classes/ovary.d/make-iso.d.ts +0 -13
  161. package/dist/classes/ovary.d/make-iso.js +0 -45
  162. package/dist/classes/ovary.d/make-squashfs.d.ts +0 -18
  163. package/dist/classes/ovary.d/make-squashfs.js +0 -111
  164. package/dist/classes/ovary.d/merged.d.ts +0 -27
  165. package/dist/classes/ovary.d/merged.js +0 -78
  166. package/dist/classes/ovary.d/produce.d.ts +0 -23
  167. package/dist/classes/ovary.d/produce.js +0 -348
  168. package/dist/classes/ovary.d/rexec.d.ts +0 -13
  169. package/dist/classes/ovary.d/rexec.js +0 -34
  170. package/dist/classes/ovary.d/syslinux.d.ts +0 -12
  171. package/dist/classes/ovary.d/syslinux.js +0 -95
  172. package/dist/classes/ovary.d/user-create-live.d.ts +0 -14
  173. package/dist/classes/ovary.d/user-create-live.js +0 -97
  174. package/dist/classes/ovary.d/users-remove.d.ts +0 -9
  175. package/dist/classes/ovary.d/users-remove.js +0 -38
  176. package/dist/classes/ovary.d/xorriso-command.d.ts +0 -14
  177. package/dist/classes/ovary.d/xorriso-command.js +0 -120
  178. package/dist/classes/ovary.d.ts +0 -105
  179. package/dist/classes/ovary.js +0 -116
  180. package/dist/classes/pacman.d/alpine.d.ts +0 -56
  181. package/dist/classes/pacman.d/alpine.js +0 -167
  182. package/dist/classes/pacman.d/archlinux.d.ts +0 -62
  183. package/dist/classes/pacman.d/archlinux.js +0 -128
  184. package/dist/classes/pacman.d/debian.d.ts +0 -65
  185. package/dist/classes/pacman.d/debian.js +0 -143
  186. package/dist/classes/pacman.d/fedora.d.ts +0 -53
  187. package/dist/classes/pacman.d/fedora.js +0 -107
  188. package/dist/classes/pacman.d/openmamba.d.ts +0 -52
  189. package/dist/classes/pacman.d/openmamba.js +0 -106
  190. package/dist/classes/pacman.d/opensuse.d.ts +0 -53
  191. package/dist/classes/pacman.d/opensuse.js +0 -109
  192. package/dist/classes/pacman.d.ts +0 -139
  193. package/dist/classes/pacman.js +0 -683
  194. package/dist/classes/pve-live.d.ts +0 -17
  195. package/dist/classes/pve-live.js +0 -52
  196. package/dist/classes/pxe.d.ts +0 -76
  197. package/dist/classes/pxe.js +0 -353
  198. package/dist/classes/settings.d.ts +0 -52
  199. package/dist/classes/settings.js +0 -185
  200. package/dist/classes/sources_list.d.ts +0 -28
  201. package/dist/classes/sources_list.js +0 -89
  202. package/dist/classes/systemctl.d.ts +0 -47
  203. package/dist/classes/systemctl.js +0 -86
  204. package/dist/classes/tailor.d.ts +0 -50
  205. package/dist/classes/tailor.js +0 -563
  206. package/dist/classes/tools.d.ts +0 -26
  207. package/dist/classes/tools.js +0 -50
  208. package/dist/classes/users.d.ts +0 -28
  209. package/dist/classes/users.js +0 -143
  210. package/dist/classes/utils.d/kernel.d.ts +0 -39
  211. package/dist/classes/utils.d/kernel.js +0 -206
  212. package/dist/classes/utils.d.ts +0 -330
  213. package/dist/classes/utils.js +0 -968
  214. package/dist/classes/xdg.d.ts +0 -45
  215. package/dist/classes/xdg.js +0 -337
  216. package/dist/classes/yolk.d.ts +0 -33
  217. package/dist/classes/yolk.js +0 -114
  218. package/dist/commands/adapt.d.ts +0 -17
  219. package/dist/commands/adapt.js +0 -33
  220. package/dist/commands/analyze.d.ts +0 -26
  221. package/dist/commands/analyze.js +0 -95
  222. package/dist/commands/calamares.d.ts +0 -29
  223. package/dist/commands/calamares.js +0 -112
  224. package/dist/commands/config.d.ts +0 -35
  225. package/dist/commands/config.js +0 -120
  226. package/dist/commands/cuckoo.d.ts +0 -17
  227. package/dist/commands/cuckoo.js +0 -61
  228. package/dist/commands/dad.d.ts +0 -21
  229. package/dist/commands/dad.js +0 -47
  230. package/dist/commands/export/iso.d.ts +0 -19
  231. package/dist/commands/export/iso.js +0 -55
  232. package/dist/commands/export/pkg.d.ts +0 -29
  233. package/dist/commands/export/pkg.js +0 -173
  234. package/dist/commands/export/tarballs.d.ts +0 -27
  235. package/dist/commands/export/tarballs.js +0 -79
  236. package/dist/commands/install.d.ts +0 -39
  237. package/dist/commands/install.js +0 -113
  238. package/dist/commands/kill.d.ts +0 -24
  239. package/dist/commands/kill.js +0 -50
  240. package/dist/commands/love.d.ts +0 -25
  241. package/dist/commands/love.js +0 -118
  242. package/dist/commands/mom.d.ts +0 -16
  243. package/dist/commands/mom.js +0 -30
  244. package/dist/commands/pods.d.ts +0 -22
  245. package/dist/commands/pods.js +0 -92
  246. package/dist/commands/produce.d.ts +0 -37
  247. package/dist/commands/produce.js +0 -232
  248. package/dist/commands/status.d.ts +0 -23
  249. package/dist/commands/status.js +0 -31
  250. package/dist/commands/tools/clean.d.ts +0 -18
  251. package/dist/commands/tools/clean.js +0 -37
  252. package/dist/commands/tools/repo.d.ts +0 -31
  253. package/dist/commands/tools/repo.js +0 -246
  254. package/dist/commands/tools/skel.d.ts +0 -18
  255. package/dist/commands/tools/skel.js +0 -44
  256. package/dist/commands/tools/stat.d.ts +0 -31
  257. package/dist/commands/tools/stat.js +0 -70
  258. package/dist/commands/tools/yolk.d.ts +0 -24
  259. package/dist/commands/tools/yolk.js +0 -45
  260. package/dist/commands/update.d.ts +0 -46
  261. package/dist/commands/update.js +0 -238
  262. package/dist/commands/wardrobe/get.d.ts +0 -23
  263. package/dist/commands/wardrobe/get.js +0 -52
  264. package/dist/commands/wardrobe/list.d.ts +0 -24
  265. package/dist/commands/wardrobe/list.js +0 -125
  266. package/dist/commands/wardrobe/show.d.ts +0 -25
  267. package/dist/commands/wardrobe/show.js +0 -97
  268. package/dist/commands/wardrobe/wear.d.ts +0 -26
  269. package/dist/commands/wardrobe/wear.js +0 -84
  270. package/dist/dhcpd-proxy/classes/packet.d.ts +0 -36
  271. package/dist/dhcpd-proxy/classes/packet.js +0 -124
  272. package/dist/dhcpd-proxy/index.d.ts +0 -4
  273. package/dist/dhcpd-proxy/index.js +0 -4
  274. package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +0 -45
  275. package/dist/dhcpd-proxy/interfaces/i-pxe.js +0 -1
  276. package/dist/dhcpd-proxy/lib/packet/converters.d.ts +0 -11
  277. package/dist/dhcpd-proxy/lib/packet/converters.js +0 -395
  278. package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +0 -10
  279. package/dist/dhcpd-proxy/lib/packet/message-types.js +0 -12
  280. package/dist/dhcpd-proxy/lib/packet/options.d.ts +0 -8
  281. package/dist/dhcpd-proxy/lib/packet/options.js +0 -264
  282. package/dist/dhcpd-proxy/lib/sprintf.d.ts +0 -6
  283. package/dist/dhcpd-proxy/lib/sprintf.js +0 -130
  284. package/dist/dhcpd-proxy/lib/utils.d.ts +0 -126
  285. package/dist/dhcpd-proxy/lib/utils.js +0 -255
  286. package/dist/dhcpd-proxy/simple-proxy.d.ts +0 -11
  287. package/dist/dhcpd-proxy/simple-proxy.js +0 -118
  288. package/dist/index.d.ts +0 -8
  289. package/dist/index.js +0 -8
  290. package/dist/interfaces/calamares/i-calamares-bootloader.d.ts +0 -23
  291. package/dist/interfaces/calamares/i-calamares-bootloader.js +0 -7
  292. package/dist/interfaces/calamares/i-calamares-branding.d.ts +0 -46
  293. package/dist/interfaces/calamares/i-calamares-branding.js +0 -1
  294. package/dist/interfaces/calamares/i-calamares-displaymanager.d.ts +0 -34
  295. package/dist/interfaces/calamares/i-calamares-displaymanager.js +0 -1
  296. package/dist/interfaces/calamares/i-calamares-finished.d.ts +0 -14
  297. package/dist/interfaces/calamares/i-calamares-finished.js +0 -1
  298. package/dist/interfaces/calamares/i-calamares-packages.d.ts +0 -26
  299. package/dist/interfaces/calamares/i-calamares-packages.js +0 -1
  300. package/dist/interfaces/calamares/i-calamares-partitions.d.ts +0 -39
  301. package/dist/interfaces/calamares/i-calamares-partitions.js +0 -1
  302. package/dist/interfaces/calamares/i-calamares-settings.d.ts +0 -36
  303. package/dist/interfaces/calamares/i-calamares-settings.js +0 -1
  304. package/dist/interfaces/i-addons.d.ts +0 -12
  305. package/dist/interfaces/i-addons.js +0 -8
  306. package/dist/interfaces/i-analyze.d.ts +0 -17
  307. package/dist/interfaces/i-analyze.js +0 -17
  308. package/dist/interfaces/i-app.d.ts +0 -14
  309. package/dist/interfaces/i-app.js +0 -8
  310. package/dist/interfaces/i-config-tools.d.ts +0 -15
  311. package/dist/interfaces/i-config-tools.js +0 -8
  312. package/dist/interfaces/i-devices.d.ts +0 -20
  313. package/dist/interfaces/i-devices.js +0 -8
  314. package/dist/interfaces/i-distro.d.ts +0 -23
  315. package/dist/interfaces/i-distro.js +0 -8
  316. package/dist/interfaces/i-drive-list.d.ts +0 -33
  317. package/dist/interfaces/i-drive-list.js +0 -8
  318. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  319. package/dist/interfaces/i-eggs-config.js +0 -8
  320. package/dist/interfaces/i-excludes.d.ts +0 -14
  321. package/dist/interfaces/i-excludes.js +0 -8
  322. package/dist/interfaces/i-exec.d.ts +0 -11
  323. package/dist/interfaces/i-exec.js +0 -8
  324. package/dist/interfaces/i-initrd.d.ts +0 -13
  325. package/dist/interfaces/i-initrd.js +0 -8
  326. package/dist/interfaces/i-install.d.ts +0 -16
  327. package/dist/interfaces/i-install.js +0 -8
  328. package/dist/interfaces/i-installer.d.ts +0 -17
  329. package/dist/interfaces/i-installer.js +0 -8
  330. package/dist/interfaces/i-luks-passphrase.d.ts +0 -11
  331. package/dist/interfaces/i-luks-passphrase.js +0 -8
  332. package/dist/interfaces/i-materia.d.ts +0 -36
  333. package/dist/interfaces/i-materia.js +0 -8
  334. package/dist/interfaces/i-net.d.ts +0 -16
  335. package/dist/interfaces/i-net.js +0 -8
  336. package/dist/interfaces/i-os-release.d.ts +0 -5
  337. package/dist/interfaces/i-os-release.js +0 -1
  338. package/dist/interfaces/i-packages.d.ts +0 -16
  339. package/dist/interfaces/i-packages.js +0 -8
  340. package/dist/interfaces/i-partitions.d.ts +0 -16
  341. package/dist/interfaces/i-partitions.js +0 -8
  342. package/dist/interfaces/i-pxe.d.ts +0 -45
  343. package/dist/interfaces/i-pxe.js +0 -1
  344. package/dist/interfaces/i-remix.d.ts +0 -21
  345. package/dist/interfaces/i-remix.js +0 -8
  346. package/dist/interfaces/i-settings.d.ts +0 -33
  347. package/dist/interfaces/i-settings.js +0 -8
  348. package/dist/interfaces/i-user.d.ts +0 -14
  349. package/dist/interfaces/i-user.js +0 -8
  350. package/dist/interfaces/i-workdir.d.ts +0 -14
  351. package/dist/interfaces/i-workdir.js +0 -8
  352. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  353. package/dist/interfaces/i-xkb-model.js +0 -8
  354. package/dist/interfaces/index.d.ts +0 -26
  355. package/dist/interfaces/index.js +0 -8
  356. package/dist/krill/classes/cfs.d.ts +0 -17
  357. package/dist/krill/classes/cfs.js +0 -39
  358. package/dist/krill/classes/krill_enums.d.ts +0 -37
  359. package/dist/krill/classes/krill_enums.js +0 -41
  360. package/dist/krill/classes/prepare.d/confirm.d.ts +0 -5
  361. package/dist/krill/classes/prepare.d/confirm.js +0 -30
  362. package/dist/krill/classes/prepare.d/keyboard.d.ts +0 -14
  363. package/dist/krill/classes/prepare.d/keyboard.js +0 -62
  364. package/dist/krill/classes/prepare.d/location.d.ts +0 -17
  365. package/dist/krill/classes/prepare.d/location.js +0 -59
  366. package/dist/krill/classes/prepare.d/network.d.ts +0 -14
  367. package/dist/krill/classes/prepare.d/network.js +0 -68
  368. package/dist/krill/classes/prepare.d/partitions.d.ts +0 -14
  369. package/dist/krill/classes/prepare.d/partitions.js +0 -86
  370. package/dist/krill/classes/prepare.d/summary.d.ts +0 -15
  371. package/dist/krill/classes/prepare.d/summary.js +0 -72
  372. package/dist/krill/classes/prepare.d/users.d.ts +0 -6
  373. package/dist/krill/classes/prepare.d/users.js +0 -63
  374. package/dist/krill/classes/prepare.d/welcome.d.ts +0 -6
  375. package/dist/krill/classes/prepare.d/welcome.js +0 -30
  376. package/dist/krill/classes/prepare.d.ts +0 -89
  377. package/dist/krill/classes/prepare.js +0 -319
  378. package/dist/krill/classes/sequence.d/add_user.d.ts +0 -20
  379. package/dist/krill/classes/sequence.d/add_user.js +0 -77
  380. package/dist/krill/classes/sequence.d/bootloader.d.ts +0 -14
  381. package/dist/krill/classes/sequence.d/bootloader.js +0 -117
  382. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +0 -14
  383. package/dist/krill/classes/sequence.d/bootloader_config.js +0 -192
  384. package/dist/krill/classes/sequence.d/change_password.d.ts +0 -15
  385. package/dist/krill/classes/sequence.d/change_password.js +0 -18
  386. package/dist/krill/classes/sequence.d/del_live_user.d.ts +0 -14
  387. package/dist/krill/classes/sequence.d/del_live_user.js +0 -39
  388. package/dist/krill/classes/sequence.d/fstab.d.ts +0 -14
  389. package/dist/krill/classes/sequence.d/fstab.js +0 -177
  390. package/dist/krill/classes/sequence.d/grubcfg.d.ts +0 -17
  391. package/dist/krill/classes/sequence.d/grubcfg.js +0 -35
  392. package/dist/krill/classes/sequence.d/hostname.d.ts +0 -13
  393. package/dist/krill/classes/sequence.d/hostname.js +0 -50
  394. package/dist/krill/classes/sequence.d/initramfs.d.ts +0 -13
  395. package/dist/krill/classes/sequence.d/initramfs.js +0 -54
  396. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +0 -14
  397. package/dist/krill/classes/sequence.d/initramfs_cfg.js +0 -35
  398. package/dist/krill/classes/sequence.d/locale.d.ts +0 -13
  399. package/dist/krill/classes/sequence.d/locale.js +0 -91
  400. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +0 -10
  401. package/dist/krill/classes/sequence.d/locale_cfg.js +0 -58
  402. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +0 -14
  403. package/dist/krill/classes/sequence.d/m_keyboard.js +0 -58
  404. package/dist/krill/classes/sequence.d/machine_id.d.ts +0 -15
  405. package/dist/krill/classes/sequence.d/machine_id.js +0 -33
  406. package/dist/krill/classes/sequence.d/mkfs.d.ts +0 -15
  407. package/dist/krill/classes/sequence.d/mkfs.js +0 -88
  408. package/dist/krill/classes/sequence.d/mount_fs.d.ts +0 -17
  409. package/dist/krill/classes/sequence.d/mount_fs.js +0 -68
  410. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +0 -17
  411. package/dist/krill/classes/sequence.d/mount_vfs.js +0 -59
  412. package/dist/krill/classes/sequence.d/network_cfg.d.ts +0 -19
  413. package/dist/krill/classes/sequence.d/network_cfg.js +0 -73
  414. package/dist/krill/classes/sequence.d/packages.d.ts +0 -14
  415. package/dist/krill/classes/sequence.d/packages.js +0 -111
  416. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +0 -17
  417. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +0 -73
  418. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +0 -16
  419. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +0 -51
  420. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +0 -17
  421. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +0 -77
  422. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +0 -10
  423. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -33
  424. package/dist/krill/classes/sequence.d/partition.d.ts +0 -14
  425. package/dist/krill/classes/sequence.d/partition.js +0 -84
  426. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +0 -13
  427. package/dist/krill/classes/sequence.d/remove_installer_link.js +0 -35
  428. package/dist/krill/classes/sequence.d/umount.d.ts +0 -14
  429. package/dist/krill/classes/sequence.d/umount.js +0 -28
  430. package/dist/krill/classes/sequence.d/unpackfs.d.ts +0 -13
  431. package/dist/krill/classes/sequence.d/unpackfs.js +0 -20
  432. package/dist/krill/classes/sequence.d.ts +0 -134
  433. package/dist/krill/classes/sequence.js +0 -400
  434. package/dist/krill/components/finished.d.ts +0 -16
  435. package/dist/krill/components/finished.js +0 -56
  436. package/dist/krill/components/information.d.ts +0 -8
  437. package/dist/krill/components/information.js +0 -162
  438. package/dist/krill/components/install.d.ts +0 -15
  439. package/dist/krill/components/install.js +0 -60
  440. package/dist/krill/components/keyboard.d.ts +0 -16
  441. package/dist/krill/components/keyboard.js +0 -54
  442. package/dist/krill/components/location.d.ts +0 -16
  443. package/dist/krill/components/location.js +0 -59
  444. package/dist/krill/components/network.d.ts +0 -19
  445. package/dist/krill/components/network.js +0 -65
  446. package/dist/krill/components/partitions.d.ts +0 -18
  447. package/dist/krill/components/partitions.js +0 -89
  448. package/dist/krill/components/steps.d.ts +0 -13
  449. package/dist/krill/components/steps.js +0 -148
  450. package/dist/krill/components/summary.d.ts +0 -25
  451. package/dist/krill/components/summary.js +0 -77
  452. package/dist/krill/components/title.d.ts +0 -11
  453. package/dist/krill/components/title.js +0 -35
  454. package/dist/krill/components/users.d.ts +0 -24
  455. package/dist/krill/components/users.js +0 -80
  456. package/dist/krill/components/welcome.d.ts +0 -13
  457. package/dist/krill/components/welcome.js +0 -63
  458. package/dist/krill/interfaces/i_krill.d.ts +0 -44
  459. package/dist/krill/interfaces/i_krill.js +0 -8
  460. package/dist/krill/interfaces/i_krill_config.d.ts +0 -35
  461. package/dist/krill/interfaces/i_krill_config.js +0 -8
  462. package/dist/krill/lib/get_address.d.ts +0 -8
  463. package/dist/krill/lib/get_address.js +0 -23
  464. package/dist/krill/lib/get_dns.d.ts +0 -8
  465. package/dist/krill/lib/get_dns.js +0 -23
  466. package/dist/krill/lib/get_domain.d.ts +0 -8
  467. package/dist/krill/lib/get_domain.js +0 -23
  468. package/dist/krill/lib/get_gateway.d.ts +0 -8
  469. package/dist/krill/lib/get_gateway.js +0 -23
  470. package/dist/krill/lib/get_hostname.d.ts +0 -8
  471. package/dist/krill/lib/get_hostname.js +0 -23
  472. package/dist/krill/lib/get_luks_passphrase.d.ts +0 -8
  473. package/dist/krill/lib/get_luks_passphrase.js +0 -32
  474. package/dist/krill/lib/get_netmask.d.ts +0 -8
  475. package/dist/krill/lib/get_netmask.js +0 -23
  476. package/dist/krill/lib/get_password.d.ts +0 -8
  477. package/dist/krill/lib/get_password.js +0 -36
  478. package/dist/krill/lib/get_userfullname.d.ts +0 -8
  479. package/dist/krill/lib/get_userfullname.js +0 -23
  480. package/dist/krill/lib/get_username.d.ts +0 -8
  481. package/dist/krill/lib/get_username.js +0 -23
  482. package/dist/krill/lib/select_address_type.d.ts +0 -8
  483. package/dist/krill/lib/select_address_type.js +0 -24
  484. package/dist/krill/lib/select_filesystem_type.d.ts +0 -8
  485. package/dist/krill/lib/select_filesystem_type.js +0 -40
  486. package/dist/krill/lib/select_installation_device.d.ts +0 -8
  487. package/dist/krill/lib/select_installation_device.js +0 -40
  488. package/dist/krill/lib/select_installation_mode.d.ts +0 -9
  489. package/dist/krill/lib/select_installation_mode.js +0 -25
  490. package/dist/krill/lib/select_interface.d.ts +0 -8
  491. package/dist/krill/lib/select_interface.js +0 -24
  492. package/dist/krill/lib/select_keyboard_layout.d.ts +0 -11
  493. package/dist/krill/lib/select_keyboard_layout.js +0 -36
  494. package/dist/krill/lib/select_keyboard_model.d.ts +0 -11
  495. package/dist/krill/lib/select_keyboard_model.js +0 -34
  496. package/dist/krill/lib/select_keyboard_option.d.ts +0 -11
  497. package/dist/krill/lib/select_keyboard_option.js +0 -34
  498. package/dist/krill/lib/select_keyboard_variant.d.ts +0 -11
  499. package/dist/krill/lib/select_keyboard_variant.js +0 -35
  500. package/dist/krill/lib/select_languages.d.ts +0 -8
  501. package/dist/krill/lib/select_languages.js +0 -28
  502. package/dist/krill/lib/select_regions.d.ts +0 -8
  503. package/dist/krill/lib/select_regions.js +0 -24
  504. package/dist/krill/lib/select_replaced_partition.d.ts +0 -8
  505. package/dist/krill/lib/select_replaced_partition.js +0 -31
  506. package/dist/krill/lib/select_user_swap_choice.d.ts +0 -9
  507. package/dist/krill/lib/select_user_swap_choice.js +0 -35
  508. package/dist/krill/lib/select_zones.d.ts +0 -8
  509. package/dist/krill/lib/select_zones.js +0 -518
  510. package/dist/lib/kill_me_softly.d.ts +0 -11
  511. package/dist/lib/kill_me_softly.js +0 -61
  512. package/dist/lib/utils.d.ts +0 -19
  513. package/dist/lib/utils.js +0 -65
@@ -1,143 +0,0 @@
1
- /**
2
- * ./src/classes/users.ts
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- */
8
- import fs from 'node:fs';
9
- import { exec } from '../lib/utils.js';
10
- /**
11
- *
12
- */
13
- export default class Users {
14
- gecos;
15
- gid;
16
- hasHome;
17
- home;
18
- login;
19
- password;
20
- saveIt;
21
- shell;
22
- size;
23
- uid;
24
- constructor(login, password, uid, gid, gecos, home, shell) {
25
- this.login = login;
26
- this.password = password;
27
- this.uid = uid;
28
- this.gid = gid;
29
- this.gecos = gecos;
30
- this.home = home;
31
- this.shell = shell;
32
- this.size = 0;
33
- this.hasHome = false;
34
- this.saveIt = false;
35
- }
36
- /**
37
- * getSize
38
- * @param verbose
39
- */
40
- async getValues() {
41
- const fLevels = [
42
- { path: 'bin', saveIt: false },
43
- { path: 'boot', saveIt: false },
44
- { path: 'dev', saveIt: false },
45
- { path: 'etc', saveIt: false },
46
- { path: 'lib', saveIt: false },
47
- { path: 'lib32,', saveIt: false },
48
- { path: 'libx32', saveIt: false },
49
- { path: 'lib64', saveIt: false },
50
- { path: 'home', saveIt: true },
51
- { path: 'media', saveIt: false },
52
- { path: 'mnt', saveIt: false },
53
- { path: 'opt', saveIt: true },
54
- { path: 'proc', saveIt: false },
55
- { path: 'root', saveIt: false },
56
- { path: 'run', saveIt: false },
57
- { path: 'sbin', saveIt: false },
58
- { path: 'sys', saveIt: false },
59
- { path: 'srv', saveIt: true },
60
- { path: 'tmp', saveIt: false },
61
- { path: 'usr', saveIt: true },
62
- { path: 'var', saveIt: true }
63
- ];
64
- let hasHome = false;
65
- let saveIt = false;
66
- let size = 0;
67
- // Only users not services
68
- if (Number.parseInt(this.uid) >= 1000) {
69
- if (this.home != undefined) {
70
- /**
71
- * analyze firstLevel and
72
- * excluded to be saved
73
- */
74
- const fLevel = this.home.split('/')[1];
75
- for (const fLevel_ of fLevels) {
76
- if (fLevel_.path === fLevel) {
77
- saveIt = fLevel_.saveIt;
78
- }
79
- }
80
- /**
81
- * analize second level
82
- * examples: /var/run, /var/cache, /var/spool, etc
83
- */
84
- if (saveIt) {
85
- const sLevel = this.home.split('/')[2];
86
- if (sLevel === 'cache' || sLevel === 'run' || sLevel === 'spool') {
87
- saveIt = false;
88
- }
89
- }
90
- /**
91
- * exclude to save if home don't exist
92
- */
93
- if (!fs.existsSync(this.home)) {
94
- saveIt = false;
95
- }
96
- /**
97
- * others motivations to exclude
98
- */
99
- if (saveIt) {
100
- switch (this.home) {
101
- /**
102
- * exclude always /
103
- */
104
- case '/': {
105
- break;
106
- }
107
- /**
108
- * excludes: under /usr
109
- */
110
- case '/usr/bin':
111
- case '/usr/sbin': {
112
- saveIt = false;
113
- break;
114
- }
115
- /**
116
- * excludes: under var
117
- */
118
- case '/var/backups':
119
- case '/var/lib/colord':
120
- case '/var/lib/geoclue':
121
- case '/var/lib/misc':
122
- case '/var/mail': {
123
- saveIt = false;
124
- break;
125
- }
126
- default: {
127
- if (fs.existsSync(this.home)) {
128
- hasHome = true;
129
- const sizeUser = await exec(` du --block-size=1 --summarize ${this.home} | awk '{print $1}'`, { capture: true, echo: false, ignore: false });
130
- size = Number.parseInt(sizeUser.data);
131
- }
132
- saveIt = true;
133
- break;
134
- }
135
- }
136
- }
137
- }
138
- this.saveIt = saveIt;
139
- this.size = size;
140
- this.hasHome = hasHome;
141
- }
142
- }
143
- }
@@ -1,39 +0,0 @@
1
- /**
2
- * penguins-eggs
3
- *
4
- * Kernel management utilities
5
- * Handle vmlinuz and initramfs detection across different distributions
6
- */
7
- /**
8
- * Kernel utilities for managing vmlinuz and initramfs paths
9
- */
10
- export default class Kernel {
11
- /**
12
- * Ricava path per vmlinuz
13
- *
14
- * @returns Path al file vmlinuz
15
- */
16
- static vmlinuz(kernel?: string): string;
17
- /**
18
- * cerca il path per initramfs/initrd nella directory /boot
19
- * se fallisce, prova la convenzione Arch
20
- *
21
- * @param kernel - Versione del kernel (es. '6.5.0-14-generic'). Se omessa, usa il kernel in esecuzione.
22
- * @returns Path al file initramfs.
23
- */
24
- static initramfs(kernel?: string): string;
25
- /**
26
- * ALL PRIVATE
27
- */
28
- /**
29
- * most of the distros:
30
- * debian, fedora, opensuse, rasberry
31
- */
32
- private static vmlinuzFromUname;
33
- /**
34
- * vmlinuxFromCmdline
35
- *
36
- * It's used mostly on Manjaro
37
- */
38
- private static vmlinuzFromCmdline;
39
- }
@@ -1,206 +0,0 @@
1
- /**
2
- * penguins-eggs
3
- *
4
- * Kernel management utilities
5
- * Handle vmlinuz and initramfs detection across different distributions
6
- */
7
- import fs from 'node:fs';
8
- import path from 'path';
9
- import Distro from '../distro.js';
10
- import Utils from '../utils.js';
11
- import { execSync } from 'node:child_process';
12
- /**
13
- * Kernel utilities for managing vmlinuz and initramfs paths
14
- */
15
- export default class Kernel {
16
- /**
17
- * Ricava path per vmlinuz
18
- *
19
- * @returns Path al file vmlinuz
20
- */
21
- static vmlinuz(kernel = '') {
22
- let vmlinuz = '';
23
- if (!Utils.isContainer()) {
24
- vmlinuz = this.vmlinuzFromUname();
25
- if (vmlinuz === '') {
26
- vmlinuz = this.vmlinuzFromCmdline();
27
- if (vmlinuz === '') {
28
- console.log('vmlinuz not found');
29
- process.exit(1);
30
- }
31
- }
32
- }
33
- else {
34
- Utils.warning("cannot work on containers actually!");
35
- process.exit(1);
36
- }
37
- if (!fs.existsSync(vmlinuz)) {
38
- console.log(`vmlinuz: ${vmlinuz} does not exist!`);
39
- process.exit(1);
40
- }
41
- return vmlinuz;
42
- }
43
- /**
44
- * cerca il path per initramfs/initrd nella directory /boot
45
- * se fallisce, prova la convenzione Arch
46
- *
47
- * @param kernel - Versione del kernel (es. '6.5.0-14-generic'). Se omessa, usa il kernel in esecuzione.
48
- * @returns Path al file initramfs.
49
- */
50
- static initramfs(kernel = '') {
51
- let targetKernel = kernel;
52
- // 1. Determina la versione del kernel target
53
- if (targetKernel === '') {
54
- if (Utils.isContainer()) {
55
- Utils.warning("Non è possibile determinare il kernel in un container.");
56
- process.exit(1);
57
- }
58
- targetKernel = execSync('uname -r').toString().trim();
59
- }
60
- const kernelVersionShort = targetKernel.split('.').slice(0, 2).join('.');
61
- const bootDir = '/boot';
62
- // 2. Leggi tutti i file nella directory /boot
63
- let bootFiles;
64
- try {
65
- bootFiles = fs.readdirSync(bootDir);
66
- }
67
- catch (error) {
68
- console.error(`ERRORE: Impossibile leggere la directory ${bootDir}.`);
69
- process.exit(1);
70
- }
71
- // 3. Cerca il file corrispondente con un sistema di priorità
72
- const candidates = [];
73
- for (const filename of bootFiles) {
74
- if ((filename.startsWith('initramfs-') ||
75
- filename.startsWith('initrd.img-') ||
76
- filename.startsWith('initrd-')) &&
77
- (filename.includes(targetKernel) || filename.includes(kernelVersionShort))) {
78
- candidates.push(filename);
79
- }
80
- }
81
- // Se troviamo almeno un candidato, usiamo quello
82
- if (candidates.length > 0) {
83
- let foundPath = path.join(bootDir, candidates[0]);
84
- /**
85
- * ma, se sono più di uno, usiamo il più breve
86
- * per evitare estensioni come -fallback.img, .old, .bak, etc
87
- */
88
- if (candidates.length > 1) {
89
- // Filtra i candidati per escludere quelli di fallback se esiste un'alternativa
90
- const nonFallbackCandidates = candidates.filter(c => !c.includes('-fallback'));
91
- const searchArray = nonFallbackCandidates.length > 0 ? nonFallbackCandidates : candidates;
92
- foundPath = path.join(bootDir, searchArray[0]); // Inizia con il primo
93
- for (const candidate of searchArray) {
94
- const current = path.join(bootDir, candidate);
95
- if (current.length < foundPath.length) {
96
- foundPath = current;
97
- }
98
- }
99
- }
100
- return foundPath;
101
- }
102
- // 4. Fallback per casi specifici (Arch e Alpine Linux)
103
- // Questo viene eseguito solo se la ricerca dinamica fallisce.
104
- const staticFallbacks = [
105
- // --- Alpine Linux ---
106
- 'initramfs-lts', // Kernel Long-Term Support
107
- 'initramfs-virt', // Kernel per ambienti virtualizzati
108
- 'initramfs-standard', // Kernel standard (meno comune)
109
- 'initramfs-rpi', // Kernel per Raspberry Pi
110
- // --- Arch Linux ---
111
- 'initramfs-linux.img', // Arch Linux standard
112
- 'initramfs-linux-lts.img', // Arch Linux LTS
113
- 'initramfs-linux-zen.img', // Arch Linux Zen
114
- 'initramfs-linux-hardened.img', // Arch Linux hardened
115
- // --- Cacky Linux ---
116
- 'initramfs-linux-cachyos.img', // Cachyos standard
117
- 'initramfs-linux-cachyos-lts.img', // Cachyos LTS
118
- 'initramfs-linux-cachyos-zen.img', // Cachyos zen
119
- 'initramfs-linux-cachyos-hardened.img', // Cachyos hardened
120
- ];
121
- for (const fallback of staticFallbacks) {
122
- const fallbackPath = path.join(bootDir, fallback);
123
- if (fs.existsSync(fallbackPath)) {
124
- // Nota: questo potrebbe non corrispondere al 100% al kernel in esecuzione,
125
- // ma è il comportamento atteso su questi sistemi
126
- return fallbackPath;
127
- }
128
- }
129
- // 5. Se nessuna delle strategie ha funzionato, esci con errore
130
- Utils.warning(`Could not find an initramfs file for kernel ${targetKernel} in ${bootDir}.`);
131
- process.exit(1);
132
- }
133
- /**
134
- * ALL PRIVATE
135
- */
136
- /**
137
- * most of the distros:
138
- * debian, fedora, opensuse, rasberry
139
- */
140
- static vmlinuzFromUname() {
141
- let kernelVersion = execSync('uname -r').toString().trim();
142
- // Try 1: path standard (es. Debian, Ubuntu, Fedora)
143
- let standardPath = `/boot/vmlinuz-${kernelVersion}`;
144
- if (fs.existsSync(standardPath)) {
145
- return standardPath;
146
- }
147
- // Try 2: Arch Linux
148
- let archPath = '';
149
- if (kernelVersion.includes("-lts")) {
150
- archPath = `/boot/vmlinuz-linux-lts`;
151
- }
152
- else if (kernelVersion.includes("-zen")) {
153
- archPath = `/boot/vmlinuz-linux-zen`;
154
- }
155
- else if (kernelVersion.includes("-hardened")) {
156
- archPath = `/boot/vmlinuz-linux-hardened`;
157
- }
158
- else if (kernelVersion.includes("-arch")) {
159
- archPath = `/boot/vmlinuz-linux`;
160
- }
161
- // Se abbiamo trovato un percorso per Arch e il file esiste, lo ritorniamo
162
- if (archPath && fs.existsSync(archPath)) {
163
- return archPath;
164
- }
165
- // return an empty string: manjaro
166
- return '';
167
- }
168
- /**
169
- * vmlinuxFromCmdline
170
- *
171
- * It's used mostly on Manjaro
172
- */
173
- static vmlinuzFromCmdline() {
174
- let distro = new Distro();
175
- let vmlinuz = '';
176
- const cmdline = fs.readFileSync('/proc/cmdline', 'utf8').split(" ");
177
- cmdline.forEach(cmd => {
178
- if (cmd.includes('BOOT_IMAGE')) {
179
- vmlinuz = cmd.substring(cmd.indexOf('=') + 1);
180
- // patch per fedora BOOT_IMAGE=(hd0,gpt2)/vmlinuz-6.9.9-200.fc40.x86_64
181
- if (vmlinuz.includes(")")) {
182
- vmlinuz = cmd.substring(cmd.indexOf(')') + 1);
183
- }
184
- if (!fs.existsSync(vmlinuz)) {
185
- if (fs.existsSync(`/boot/${vmlinuz}`)) {
186
- vmlinuz = `/boot/${vmlinuz}`;
187
- }
188
- }
189
- }
190
- });
191
- // btrfs: eg: /@root/boot/vmlinuz
192
- if (vmlinuz.includes('@')) {
193
- let subvolumeEnd = vmlinuz.indexOf('/', vmlinuz.indexOf('@'));
194
- vmlinuz = vmlinuz.substring(subvolumeEnd);
195
- }
196
- /**
197
- * Take always /boot/vmlinuz if exists
198
- */
199
- if (path.dirname(vmlinuz) === '/') {
200
- if (fs.existsSync(`/boot${vmlinuz}`)) {
201
- vmlinuz = `/boot${vmlinuz}`;
202
- }
203
- }
204
- return vmlinuz;
205
- }
206
- }