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,71 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/produce.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
- // packages
9
- import fs from 'node:fs';
10
- import shx from 'shelljs';
11
- import path from 'path';
12
- // interfaces
13
- // libraries
14
- // classes
15
- import Utils from './../utils.js';
16
- // _dirname
17
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
18
- /**
19
- * makeDotDisk
20
- */
21
- export function makeDotDisk(info = '', mksquashfs = '', mkisofs = '') {
22
- const dotDisk = this.settings.iso_work + '.disk';
23
- if (fs.existsSync(dotDisk)) {
24
- shx.rm('-rf', dotDisk);
25
- }
26
- shx.mkdir('-p', dotDisk);
27
- /**
28
- * write volid .disk/info
29
- * Required
30
- */
31
- let volidContent = "Linux live";
32
- if (this.hidden) {
33
- fs.writeFileSync(path.join(dotDisk, 'info'), volidContent, 'utf-8');
34
- return;
35
- }
36
- /**
37
- * write volid .disk/info
38
- * Complete
39
- */
40
- volidContent = this.settings.isoFilename;
41
- fs.writeFileSync(path.join(dotDisk, 'info'), volidContent, 'utf-8');
42
- /**
43
- * A readme now replace the old .disk/info
44
- */
45
- let readme = ``;
46
- readme += `# penguins_eggs\n`;
47
- readme += `\n`;
48
- readme += `Volinfo: ${this.volid}\n`;
49
- readme += `Image created at: ${Utils.formatDate(new Date())} using penguins_eggs v. ${Utils.getPackageVersion()})\n`;
50
- readme += `repo: [penguins-eggs](https://github.com/penguins-eggs)\n`;
51
- readme += `blog: [penguins-eggs.net](https://penguins-eggs.net)\n`;
52
- readme += `author: [Piero Proietti](mailto://piero.proietti@gmail.com)\n`;
53
- fs.writeFileSync(path.join(dotDisk, 'README.md'), readme, 'utf-8');
54
- /**
55
- * write mksquashfs as .disk/mksquashfs
56
- */
57
- fs.writeFileSync(path.join(dotDisk, 'mksquashfs'), mksquashfs, 'utf-8');
58
- /**
59
- * write mkisofs as .disk/mkisofs
60
- */
61
- fs.writeFileSync(path.join(dotDisk, 'mkisofs'), mkisofs, 'utf-8');
62
- /**
63
- * touch uuid as file name on .disk/id
64
- *
65
- * This is a DEBIAN standard
66
- */
67
- if (this.uuid && this.uuid.trim() !== '') {
68
- shx.mkdir(path.join(dotDisk, 'id'));
69
- shx.touch(path.join(dotDisk, 'id', this.uuid));
70
- }
71
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/make-efi.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 Ovary from '../ovary.js';
9
- /**
10
- *
11
- * @param this
12
- * @param theme
13
- */
14
- export declare function makeEfi(this: Ovary, theme?: string): Promise<void>;
@@ -1,290 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/make-efi.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 mustache from 'mustache';
9
- // packages
10
- import fs from 'node:fs';
11
- import path from 'node:path';
12
- // classes
13
- import { exec } from '../../lib/utils.js';
14
- import Diversions from '../diversions.js';
15
- import Utils from '../utils.js';
16
- // _dirname
17
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
18
- /**
19
- *
20
- * @param this
21
- * @param theme
22
- */
23
- export async function makeEfi(theme = 'eggs') {
24
- const bootloaders = Diversions.bootloaders(this.familyId);
25
- /**
26
- * except Debian/Devuan/Ubuntu all distros will use: not signed
27
- * paths here for Ubuntu and Debian are the same, here checked!
28
- */
29
- let signed = false;
30
- let grubEfi = path.resolve(bootloaders, `grub/x86_64-efi/monolithic/grubx64.efi`);
31
- let shimEfi = path.resolve(bootloaders, `shim/shimx64.efi`);
32
- if (this.familyId === "debian") {
33
- signed = true;
34
- if (process.arch === 'x64') {
35
- grubEfi = path.resolve(bootloaders, `grub/x86_64-efi-signed/grubx64.efi.signed`);
36
- shimEfi = path.resolve(bootloaders, `shim/shimx64.efi.signed`);
37
- }
38
- else if (process.arch === 'ia32') {
39
- grubEfi = path.resolve(bootloaders, `grub/i386-efi-signed/grubia32.efi.signed`);
40
- shimEfi = path.resolve(bootloaders, `shim/shimia32.efi.signed`);
41
- }
42
- else if (process.arch === 'arm64') {
43
- grubEfi = path.resolve(bootloaders, `grub/arm64-efi-signed/grubaa64.efi.signed`);
44
- shimEfi = path.resolve(bootloaders, `shim/shimaa64.efi.signed`);
45
- }
46
- }
47
- if (signed) {
48
- Utils.warning(`Your live system ${this.distroId}/${process.arch} can boot with Secure Boot enabled`);
49
- }
50
- else {
51
- Utils.warning(`You must disable Secure Boot to boot live system ${this.distroId}/${process.arch}`);
52
- }
53
- // 2 secondi per leggere...
54
- await new Promise(resolve => setTimeout(resolve, 2000));
55
- const efiPath = path.join(this.settings.config.snapshot_mnt, '/efi/');
56
- const efiWorkDir = path.join(efiPath, '/work/');
57
- const efiMemdiskDir = path.join(efiPath, '/memdisk/');
58
- const efiImgMnt = path.join(efiPath, 'mnt');
59
- const isoDir = this.settings.iso_work;
60
- // create (ISO)/boot/grub
61
- await exec(`mkdir ${isoDir}/boot/grub/${Utils.uefiFormat()} -p`, this.echo);
62
- // create (ISO)/EFI
63
- await exec(`mkdir ${isoDir}/EFI/boot -p`, this.echo);
64
- await exec(`cp ${shimEfi} ${isoDir}/EFI/boot/${bootEfiName()}`, this.echo);
65
- await exec(`cp ${grubEfi} ${isoDir}/EFI/boot/${grubEfiName()}`, this.echo);
66
- // clean/create all in efiPath
67
- if (fs.existsSync(efiPath)) {
68
- await exec(`rm -rf ${efiPath}`);
69
- }
70
- await exec(`mkdir ${efiPath}`, this.echo);
71
- await exec(`mkdir ${efiMemdiskDir}`, this.echo);
72
- await exec(`mkdir ${efiImgMnt}`, this.echo);
73
- await exec(`mkdir ${efiWorkDir}`, this.echo);
74
- /**
75
- * create efi.img
76
- */
77
- let seeker = '';
78
- seeker += `search --file --set=root /.disk/id/${this.uuid}\n`;
79
- seeker += "set prefix=($root)/boot/grub\n";
80
- seeker += "source $prefix/${grub_cpu}-efi/grub.cfg\n";
81
- /**
82
- * creating grub.cfg (1) seeker for usb on (efi.img)/boot/grub/grub.cfg
83
- */
84
- Utils.warning("creating grub.cfg seeker USB on (efi.img)/boot/grub");
85
- await exec(`mkdir ${path.join(efiMemdiskDir, "/boot/grub -p")}`, this.echo);
86
- const cfgSeekerUsb = `${efiMemdiskDir}/boot/grub/grub.cfg`;
87
- let cfgSeekerUsbText = '';
88
- cfgSeekerUsbText += `# grub.cfg seeker\n`;
89
- cfgSeekerUsbText += `# created on ${efiMemdiskDir}, path ${cfgSeekerUsb}\n`;
90
- cfgSeekerUsbText += `\n`;
91
- cfgSeekerUsbText += seeker;
92
- Utils.write(cfgSeekerUsb, cfgSeekerUsbText);
93
- /**
94
- * create grub.cfg (bridge) on (ISO)/boot/grub/x86_64-efi/grub.cfg
95
- */
96
- Utils.warning(`creating grub.cfg bridge to main. (ISO)/boot/grub/${Utils.uefiFormat()}`);
97
- let cfgBridge = `${isoDir}/boot/grub/${Utils.uefiFormat()}/grub.cfg`;
98
- let cfgBridgeText = `# grub.cfg bridge\n`;
99
- cfgBridgeText += `# created on ${cfgBridge}\n`;
100
- cfgBridgeText += `\n`;
101
- cfgBridgeText += `source /boot/grub/grub.cfg\n`;
102
- fs.writeFileSync(cfgBridge, cfgBridgeText);
103
- /**
104
- * grub bait: si applica a tutte le distro:
105
- * /EFI/debian per tutti, tranne ubuntu
106
- */
107
- let pathBait = path.join(isoDir, '/EFI/debian');
108
- if (this.distroLike === 'Ubuntu') {
109
- pathBait = path.join(isoDir, '/EFI/ubuntu');
110
- }
111
- await exec(`mkdir ${pathBait} -p`, this.echo);
112
- Utils.warning(`creating grub.cfg seeker ISO/DVD on (ISO)/EFI/${path.basename(pathBait)}`);
113
- let cfgBait = path.join(pathBait, '/grub.cfg');
114
- let cfgBaitText = '';
115
- cfgBaitText += `\n`;
116
- cfgBaitText += seeker;
117
- Utils.write(cfgBait, cfgBaitText);
118
- /**
119
- * README.md, per tutti tranne distrolike Debian ed Ubuntu
120
- */
121
- let baitReadme = path.join(pathBait, '/README.md');
122
- let baitReadmeText = ``;
123
- if (this.distroLike !== 'Debian' && this.distroLike !== 'Ubuntu') {
124
- baitReadmeText += `# penguins-eggs\n`;
125
- baitReadmeText += '\n';
126
- baitReadmeText += `This is just an hack, to let ${this.distroId} boot using Debian trixie bootloaders\n`;
127
- fs.writeFileSync(baitReadme, baitReadmeText);
128
- }
129
- /**
130
- * creating structure efiWordDir
131
- */
132
- await exec(`mkdir -p ${efiWorkDir}/boot/grub`, this.echo); // qua va grub.cfg 2
133
- await exec(`mkdir -p ${efiWorkDir}/EFI/boot`);
134
- /**
135
- * create tarred efiMemdiskDir
136
- */
137
- const currentDir = process.cwd();
138
- process.chdir(efiMemdiskDir);
139
- await exec('tar -cvf memdisk boot', this.echo);
140
- process.chdir(currentDir);
141
- /**
142
- * Create boot image "boot/grub/efi.img"
143
- */
144
- const efiImg = path.join(efiWorkDir, `boot/grub/efi.img`);
145
- await exec(`dd if=/dev/zero of=${efiImg} bs=1M count=16`, this.echo);
146
- await exec(`/sbin/mkdosfs -F 12 ${efiImg}`, this.echo);
147
- await new Promise(resolve => setTimeout(resolve, 500));
148
- // mount efi.img on mountpoint mnt-img
149
- await exec(`mount --make-shared -o loop ${efiImg} ${efiImgMnt}`, this.echo);
150
- await new Promise(resolve => setTimeout(resolve, 1000));
151
- // create structure inside (efi.img)
152
- await exec(`mkdir -p ${efiImgMnt}/boot`, this.echo);
153
- await exec(`mkdir -p ${efiImgMnt}/EFI/boot`, this.echo);
154
- /**
155
- * copy grubCfg1 (grub.cfg) to (efi.img)/boot/grub
156
- */
157
- await exec(`cp ${cfgSeekerUsb} ${efiImgMnt}/boot/grub.cfg`, this.echo);
158
- await exec(`cp ${shimEfi} ${efiImgMnt}/EFI/boot/${bootEfiName()}`, this.echo);
159
- await exec(`cp ${grubEfi} ${efiImgMnt}/EFI/boot/${grubEfiName()}`, this.echo);
160
- await new Promise(resolve => setTimeout(resolve, 1000));
161
- if (!fs.existsSync(`${efiImgMnt}/boot/grub.cfg`)) {
162
- console.log(`error copyng ${cfgSeekerUsb} seeker for USB on (efi.img)/boot/grub.cfg`);
163
- process.exit(1);
164
- }
165
- await new Promise(resolve => setTimeout(resolve, 500));
166
- await exec(`umount ${efiImgMnt}`, this.echo);
167
- await new Promise(resolve => setTimeout(resolve, 500));
168
- // Copy isoImg in ${${isoDir}/boot/grub
169
- Utils.warning("copyng (efi.img) on (ISO)/boot/grub");
170
- await exec(`cp ${efiImg} ${isoDir}/boot/grub`, this.echo);
171
- /**
172
- * creating grub.cfg (4) on (ISO)/boot/grub
173
- */
174
- Utils.warning("creating grub.cfg main on (ISO)/boot/grub");
175
- // splash.png
176
- let splashSrc = '';
177
- const splashDest = `${efiWorkDir}/boot/grub/splash.png`;
178
- let themeSrc = '';
179
- const themeDest = `${isoDir}/boot/grub/theme.cfg`;
180
- let grubTemplate = '';
181
- if (this.hidden) {
182
- splashSrc = path.resolve(__dirname, `../../../addons/${theme}/theme/livecd/generic-splash.png`);
183
- grubTemplate = path.resolve(__dirname, '../../../addons/eggs/theme/livecd/generic.grub.main.cfg');
184
- themeSrc = path.resolve(__dirname, '../../../addons/eggs/theme/livecd/generic.grub.theme.cfg');
185
- }
186
- else {
187
- // copy splash to efiWorkDir
188
- splashSrc = path.resolve(__dirname, `../../../addons/${theme}/theme/livecd/splash.png`);
189
- if (this.theme.includes('/')) {
190
- splashSrc = `${theme}/theme/livecd/splash.png`;
191
- }
192
- if (!fs.existsSync(splashSrc)) {
193
- Utils.warning(`warning: ${splashSrc} does not exists`);
194
- process.exit(1);
195
- }
196
- // select themeSrc
197
- themeSrc = path.resolve(__dirname, `../../../addons/${theme}/theme/livecd/grub.theme.cfg`);
198
- if (this.theme.includes('/')) {
199
- themeSrc = `${theme}/theme/livecd/grub.theme.cfg`;
200
- }
201
- // copy theme
202
- if (!fs.existsSync(themeSrc)) {
203
- Utils.error(`error: ${themeSrc} does not exist`);
204
- process.exit(1);
205
- }
206
- // selecting available fonts
207
- if (fs.existsSync('/usr/share/grub/font.pf2')) {
208
- await exec(`cp /usr/share/grub/font.pf2 ${efiWorkDir}boot/grub/font.pf2`, this.echo);
209
- }
210
- else if (fs.existsSync('/usr/share/grub/unicode.pf2')) {
211
- await exec(`cp /usr/share/grub/unicode.pf2 ${efiWorkDir}boot/grub/font.pf2`, this.echo);
212
- }
213
- else if (fs.existsSync('/usr/share/grub/ascii.pf2')) {
214
- await exec(`cp /usr/share/grub/ascii.pf2 ${efiWorkDir}boot/grub/font.pf2`, this.echo);
215
- }
216
- // Copy workdir files to ISO/boot
217
- await exec(`rsync -avx ${efiWorkDir}/boot ${isoDir}/`, this.echo);
218
- /**
219
- * prepare main grub.cfg from grub.main.cfg
220
- */
221
- grubTemplate = `${theme}/theme/livecd/grub.main.cfg`;
222
- if (!fs.existsSync(grubTemplate)) {
223
- grubTemplate = path.resolve(__dirname, '../../../addons/eggs/theme/livecd/grub.main.cfg');
224
- }
225
- if (!fs.existsSync(grubTemplate)) {
226
- Utils.error(`error: ${grubTemplate} does not exist`);
227
- process.exit(1);
228
- }
229
- }
230
- // splash.png
231
- await exec(`cp ${splashSrc} ${splashDest}`, this.echo);
232
- // grub.theme.png
233
- fs.copyFileSync(themeSrc, themeDest);
234
- // grub.main.png
235
- const kernel_parameters = Diversions.kernelParameters(this.familyId, this.volid, this.fullcrypt);
236
- const cfgMain = path.join(isoDir, '/boot/grub/grub.cfg');
237
- const template = fs.readFileSync(grubTemplate, 'utf8');
238
- const view = {
239
- fullname: this.settings.remix.fullname.toUpperCase(),
240
- initrdImg: `/live/${path.basename(this.initrd)}`,
241
- kernel: this.kernel,
242
- kernel_parameters,
243
- vmlinuz: `/live/${path.basename(this.vmlinuz)}`
244
- };
245
- let cfgMainText = '';
246
- cfgMainText += `# grub.cfg (4) main\n`;
247
- if (!this.hidden) {
248
- cfgMainText += `# created on ${cfgMain}`;
249
- }
250
- cfgMainText += `\n`;
251
- cfgMainText += mustache.render(template, view);
252
- fs.writeFileSync(cfgMain, cfgMainText);
253
- }
254
- /**
255
- * FUNCTIONS
256
- */
257
- /**
258
- *
259
- * @returns
260
- */
261
- function bootEfiName() {
262
- let ben = '';
263
- if (process.arch === 'x64') {
264
- ben = 'bootx64.efi';
265
- }
266
- else if (process.arch === 'ia32') {
267
- ben = 'bootia32.efi';
268
- }
269
- else if (process.arch === 'arm64') {
270
- ben = 'bootaa64.efi';
271
- }
272
- return ben;
273
- }
274
- /**
275
- *
276
- * @returns
277
- */
278
- function grubEfiName() {
279
- let gen = '';
280
- if (process.arch === 'x64') {
281
- gen = 'grubx64.efi';
282
- }
283
- else if (process.arch === 'ia32') {
284
- gen = 'grub ia32.efi';
285
- }
286
- else if (process.arch === 'arm64') {
287
- gen = 'grubaa64.efi';
288
- }
289
- return gen;
290
- }
@@ -1,13 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/make-iso.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 Ovary from '../ovary.js';
9
- /**
10
- * makeIso
11
- * cmd: cmd 4 xorriso
12
- */
13
- export declare function makeIso(this: Ovary, cmd: string, scriptOnly?: boolean): Promise<void>;
@@ -1,45 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/make-iso.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
- // packages
9
- import path from 'node:path';
10
- // classes
11
- import { exec } from '../../lib/utils.js';
12
- import Utils from '../utils.js';
13
- // _dirname
14
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
15
- /**
16
- * makeIso
17
- * cmd: cmd 4 xorriso
18
- */
19
- export async function makeIso(cmd, scriptOnly = false) {
20
- // echo = { echo: true, ignore: false }
21
- if (this.verbose) {
22
- console.log('Ovary: makeIso');
23
- }
24
- Utils.writeX(`${this.settings.work_dir.ovarium}mkisofs`, cmd);
25
- // Create link to iso ALLWAYS
26
- const src = this.settings.config.snapshot_mnt + this.settings.isoFilename;
27
- const dest = this.settings.config.snapshot_dir + this.settings.isoFilename;
28
- await exec(`ln -s ${src} ${dest}`);
29
- if (!scriptOnly) {
30
- const test = (await exec(cmd, Utils.setEcho(true))).code;
31
- if (test !== 0) {
32
- process.exit();
33
- }
34
- // Create link to iso
35
- const src = this.settings.config.snapshot_mnt + this.settings.isoFilename;
36
- const dest = this.settings.config.snapshot_dir + this.settings.isoFilename;
37
- await exec(`ln -s ${src} ${dest}`);
38
- // Create md5sum, sha256sum
39
- if (this.settings.config.make_md5sum) {
40
- Utils.warning('creating md5, sha256');
41
- await exec(`md5sum ${src} > ${dest.replace('.iso', '.md5')}`);
42
- await exec(`sha256sum ${src} > ${dest.replace('.iso', '.sha256')}`);
43
- }
44
- }
45
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/make-squashfs.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 Ovary from '../ovary.js';
9
- /**
10
- * squashFs: crea in live filesystem.squashfs
11
- */
12
- export declare function makeSquashfs(this: Ovary, scriptOnly?: boolean, includeRootHome?: boolean): Promise<string>;
13
- /**
14
- * Add or remove exclusion
15
- * @param add {boolean} true = add, false remove
16
- * @param exclusion {string} path to add/remove
17
- */
18
- export declare function addExclusion(this: Ovary, exclusion: string): void;
@@ -1,111 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/make-squashfs.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
- // packages
9
- import fs from 'fs';
10
- import path from 'node:path';
11
- // classes
12
- import { exec } from '../../lib/utils.js';
13
- import Utils from '../utils.js';
14
- // _dirname
15
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
16
- /**
17
- * squashFs: crea in live filesystem.squashfs
18
- */
19
- export async function makeSquashfs(scriptOnly = false, includeRootHome = false) {
20
- if (this.verbose) {
21
- console.log('Ovary: makeSquashfs');
22
- }
23
- /**
24
- * exclude all the accurence of cryptdisks in rc0.d, etc
25
- */
26
- const fexcludes = [
27
- '/boot/efi/EFI',
28
- '/boot/loader/entries/',
29
- '/etc/fstab',
30
- '/var/lib/containers/',
31
- '/var/lib/docker/',
32
- '/etc/mtab',
33
- '/etc/udev/rules.d/70-persistent-cd.rules',
34
- '/etc/udev/rules.d/70-persistent-net.rules',
35
- ];
36
- for (const i in fexcludes) {
37
- this.addExclusion(fexcludes[i]);
38
- }
39
- /**
40
- * Non sò che fa, ma sicuro non serve per archlinux
41
- */
42
- if (this.familyId === 'debian') {
43
- const rcd = ['rc0.d', 'rc1.d', 'rc2.d', 'rc3.d', 'rc4.d', 'rc5.d', 'rc6.d', 'rcS.d'];
44
- let files;
45
- // escludo per ci
46
- for (const i in rcd) {
47
- if (fs.existsSync(`${this.settings.work_dir.merged}/etc/${rcd[i]}`)) {
48
- files = fs.readdirSync(`${this.settings.work_dir.merged}/etc/${rcd[i]}`);
49
- for (const n in files) {
50
- if (files[n].includes('cryptdisks')) {
51
- this.addExclusion(`/etc/${rcd[i]}${files[n]}`);
52
- }
53
- }
54
- }
55
- }
56
- }
57
- /**
58
- * secure
59
- */
60
- if (!includeRootHome) {
61
- this.addExclusion(`root/*`);
62
- this.addExclusion(`root/.*`);
63
- }
64
- this.addExclusion(this.settings.config.snapshot_dir /* .absolutePath() */);
65
- if (fs.existsSync(`${this.settings.iso_work}/live/filesystem.squashfs`)) {
66
- fs.unlinkSync(`${this.settings.iso_work}/live/filesystem.squashfs`);
67
- }
68
- const compression = `-comp ${this.settings.config.compression}`;
69
- /**
70
- * limit: patch per Raspberry
71
- */
72
- const limit = '';
73
- if (Utils.uefiArch() === 'arm64') {
74
- // limit = ' -processors 2 -mem 1024M'
75
- }
76
- /**
77
- * mksquashfs
78
- *
79
- * SYNTAX: mksquashfs source1 source2 ...
80
- * FILESYSTEM [OPTIONS]
81
- * [-ef exclude.list]
82
- * [-e list of exclude dirs/files]
83
- */
84
- let sfsName = "filesystem.squashfs";
85
- let cmd = `mksquashfs ${this.settings.work_dir.merged} ${this.settings.iso_work}live/${sfsName} ${compression} ${limit} -no-xattrs -wildcards -ef ${this.settings.config.snapshot_excludes} ${this.settings.session_excludes}`;
86
- cmd = cmd.replaceAll(/\s\s+/g, ' ');
87
- Utils.writeX(`${this.settings.work_dir.ovarium}mksquashfs`, cmd);
88
- if (!scriptOnly) {
89
- Utils.warning('creating filesystem.squashfs on (ISO)/live');
90
- // Utils.warning(`compression: ` + compression)
91
- const test = (await exec(cmd, Utils.setEcho(true))).code;
92
- if (test !== 0) {
93
- process.exit();
94
- }
95
- }
96
- return cmd;
97
- }
98
- /**
99
- * Add or remove exclusion
100
- * @param add {boolean} true = add, false remove
101
- * @param exclusion {string} path to add/remove
102
- */
103
- export function addExclusion(exclusion) {
104
- if (this.verbose) {
105
- console.log(`add exclusion: ${exclusion}`);
106
- }
107
- if (exclusion.startsWith('/')) {
108
- exclusion = exclusion.slice(1); // remove / initial Non compatible with rsync
109
- }
110
- this.settings.session_excludes += this.settings.session_excludes === '' ? `-e '${exclusion}' ` : ` '${exclusion}' `;
111
- }
@@ -1,27 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/merge.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 Ovary from '../ovary.js';
9
- /**
10
- * Ritorna true se c'è bisogno del mount --bind
11
- *
12
- * Ci sono quattro tipologie:
13
- *
14
- * - copied
15
- * - mergedAndOverlay
16
- * - merged
17
- * - just create
18
- */
19
- export declare function copied(this: Ovary, dir: string): boolean;
20
- /**
21
- *
22
- */
23
- export declare function mergedAndOverlay(this: Ovary, dir: string): boolean;
24
- /**
25
- * merged
26
- */
27
- export declare function merged(this: Ovary, dir: string): boolean;
@@ -1,78 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/merge.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
- // packages
9
- import path from 'node:path';
10
- // _dirname
11
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
12
- /**
13
- * Ritorna true se c'è bisogno del mount --bind
14
- *
15
- * Ci sono quattro tipologie:
16
- *
17
- * - copied
18
- * - mergedAndOverlay
19
- * - merged
20
- * - just create
21
- */
22
- export function copied(dir) {
23
- let copied = false;
24
- let copiedDirs = [
25
- 'boot',
26
- 'etc'
27
- ];
28
- for (const copiedDir of copiedDirs) {
29
- if (dir === copiedDir) {
30
- copied = true;
31
- }
32
- }
33
- return copied;
34
- }
35
- /**
36
- *
37
- */
38
- export function mergedAndOverlay(dir) {
39
- // per Alpine ho agginto bin
40
- const moDirs = ['bin', 'usr', 'var'];
41
- let mergedOverlay = false;
42
- for (const moDir of moDirs) {
43
- if (moDir === dir) {
44
- mergedOverlay = true;
45
- }
46
- }
47
- return mergedOverlay;
48
- }
49
- /**
50
- * merged
51
- */
52
- export function merged(dir) {
53
- let merged = true;
54
- if (dir === 'home') {
55
- merged = this.clone || this.fullcrypt;
56
- }
57
- else {
58
- const onlyFolders = [
59
- 'cdrom',
60
- 'dev',
61
- 'media',
62
- 'mnt',
63
- 'proc',
64
- 'run',
65
- 'swapfile',
66
- 'sys',
67
- 'tmp'
68
- ];
69
- // deepiin
70
- onlyFolders.push('data', 'recovery');
71
- for (const onlyFolder of onlyFolders) {
72
- if (dir === onlyFolder) {
73
- merged = false;
74
- }
75
- }
76
- }
77
- return merged;
78
- }