penguins-eggs 25.10.19 → 25.10.23

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 (451) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/README.md +767 -2
  3. package/README.pdf +1723 -1731
  4. package/addons/eggs/theme/livecd/isolinux.main.simple.cfg +0 -1
  5. package/package.json +3 -3
  6. package/scripts/boot-encrypted-root.sh +177 -0
  7. package/scripts/mount-encrypted-home.sh +92 -56
  8. package/dist/classes/bleach.d.ts +0 -37
  9. package/dist/classes/bleach.js +0 -148
  10. package/dist/classes/cli-autologin.d.ts +0 -52
  11. package/dist/classes/cli-autologin.js +0 -252
  12. package/dist/classes/compressors.d.ts +0 -54
  13. package/dist/classes/compressors.js +0 -109
  14. package/dist/classes/daddy.d.ts +0 -26
  15. package/dist/classes/daddy.js +0 -175
  16. package/dist/classes/distro.d.ts +0 -32
  17. package/dist/classes/distro.js +0 -363
  18. package/dist/classes/diversions.d.ts +0 -53
  19. package/dist/classes/diversions.js +0 -152
  20. package/dist/classes/incubation/branding.d.ts +0 -17
  21. package/dist/classes/incubation/branding.js +0 -85
  22. package/dist/classes/incubation/customize/customize-partitions.d.ts +0 -4
  23. package/dist/classes/incubation/customize/customize-partitions.js +0 -29
  24. package/dist/classes/incubation/fisherman-helper/initcpio.d.ts +0 -1
  25. package/dist/classes/incubation/fisherman-helper/initcpio.js +0 -69
  26. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  27. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  28. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  29. package/dist/classes/incubation/fisherman-helper/settings.js +0 -116
  30. package/dist/classes/incubation/fisherman.d.ts +0 -71
  31. package/dist/classes/incubation/fisherman.js +0 -281
  32. package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
  33. package/dist/classes/incubation/incubator.d/alpine.js +0 -78
  34. package/dist/classes/incubation/incubator.d/archlinux.d.ts +0 -32
  35. package/dist/classes/incubation/incubator.d/archlinux.js +0 -82
  36. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  37. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  38. package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
  39. package/dist/classes/incubation/incubator.d/buster.js +0 -101
  40. package/dist/classes/incubation/incubator.d/fedora.d.ts +0 -32
  41. package/dist/classes/incubation/incubator.d/fedora.js +0 -81
  42. package/dist/classes/incubation/incubator.d/focal.d.ts +0 -32
  43. package/dist/classes/incubation/incubator.d/focal.js +0 -85
  44. package/dist/classes/incubation/incubator.d/manjaro.d.ts +0 -32
  45. package/dist/classes/incubation/incubator.d/manjaro.js +0 -82
  46. package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
  47. package/dist/classes/incubation/incubator.d/noble.js +0 -102
  48. package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
  49. package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
  50. package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
  51. package/dist/classes/incubation/incubator.d/opensuse.js +0 -81
  52. package/dist/classes/incubation/incubator.d/trixie.d.ts +0 -32
  53. package/dist/classes/incubation/incubator.d/trixie.js +0 -98
  54. package/dist/classes/incubation/incubator.d.ts +0 -48
  55. package/dist/classes/incubation/incubator.js +0 -378
  56. package/dist/classes/incubation/installer.d.ts +0 -13
  57. package/dist/classes/incubation/installer.js +0 -52
  58. package/dist/classes/keyboards.d.ts +0 -50
  59. package/dist/classes/keyboards.js +0 -287
  60. package/dist/classes/locales.d.ts +0 -21
  61. package/dist/classes/locales.js +0 -77
  62. package/dist/classes/network.d.ts +0 -37
  63. package/dist/classes/network.js +0 -98
  64. package/dist/classes/ovary.d/bind-live-fs.d.ts +0 -18
  65. package/dist/classes/ovary.d/bind-live-fs.js +0 -185
  66. package/dist/classes/ovary.d/bind-vfs.d.ts +0 -17
  67. package/dist/classes/ovary.d/bind-vfs.js +0 -37
  68. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +0 -13
  69. package/dist/classes/ovary.d/create-xdg-autostart.js +0 -194
  70. package/dist/classes/ovary.d/edit-live-fs.d.ts +0 -20
  71. package/dist/classes/ovary.d/edit-live-fs.js +0 -239
  72. package/dist/classes/ovary.d/fertilization.d.ts +0 -12
  73. package/dist/classes/ovary.d/fertilization.js +0 -53
  74. package/dist/classes/ovary.d/finished.d.ts +0 -13
  75. package/dist/classes/ovary.d/finished.js +0 -40
  76. package/dist/classes/ovary.d/initrd.d.ts +0 -21
  77. package/dist/classes/ovary.d/initrd.js +0 -95
  78. package/dist/classes/ovary.d/kernel-copy.d.ts +0 -12
  79. package/dist/classes/ovary.d/kernel-copy.js +0 -22
  80. package/dist/classes/ovary.d/live-create-structure.d.ts +0 -12
  81. package/dist/classes/ovary.d/live-create-structure.js +0 -70
  82. package/dist/classes/ovary.d/luks-get-password.d.ts +0 -12
  83. package/dist/classes/ovary.d/luks-get-password.js +0 -57
  84. package/dist/classes/ovary.d/luks-home-support.d.ts +0 -12
  85. package/dist/classes/ovary.d/luks-home-support.js +0 -75
  86. package/dist/classes/ovary.d/luks-home.d.ts +0 -15
  87. package/dist/classes/ovary.d/luks-home.js +0 -140
  88. package/dist/classes/ovary.d/luks-root-bootstrap-builder.d.ts +0 -11
  89. package/dist/classes/ovary.d/luks-root-bootstrap-builder.js +0 -45
  90. package/dist/classes/ovary.d/luks-root.d.ts +0 -15
  91. package/dist/classes/ovary.d/luks-root.js +0 -126
  92. package/dist/classes/ovary.d/make-dot-disk.d.ts +0 -12
  93. package/dist/classes/ovary.d/make-dot-disk.js +0 -62
  94. package/dist/classes/ovary.d/make-efi.d.ts +0 -14
  95. package/dist/classes/ovary.d/make-efi.js +0 -274
  96. package/dist/classes/ovary.d/make-iso.d.ts +0 -13
  97. package/dist/classes/ovary.d/make-iso.js +0 -45
  98. package/dist/classes/ovary.d/make-squashfs.d.ts +0 -18
  99. package/dist/classes/ovary.d/make-squashfs.js +0 -114
  100. package/dist/classes/ovary.d/merged.d.ts +0 -27
  101. package/dist/classes/ovary.d/merged.js +0 -78
  102. package/dist/classes/ovary.d/produce.d.ts +0 -23
  103. package/dist/classes/ovary.d/produce.js +0 -347
  104. package/dist/classes/ovary.d/rexec.d.ts +0 -13
  105. package/dist/classes/ovary.d/rexec.js +0 -34
  106. package/dist/classes/ovary.d/syslinux.d.ts +0 -12
  107. package/dist/classes/ovary.d/syslinux.js +0 -82
  108. package/dist/classes/ovary.d/user-create-live.d.ts +0 -14
  109. package/dist/classes/ovary.d/user-create-live.js +0 -97
  110. package/dist/classes/ovary.d/users-remove.d.ts +0 -9
  111. package/dist/classes/ovary.d/users-remove.js +0 -38
  112. package/dist/classes/ovary.d/xorriso-command.d.ts +0 -14
  113. package/dist/classes/ovary.d/xorriso-command.js +0 -121
  114. package/dist/classes/ovary.d.ts +0 -106
  115. package/dist/classes/ovary.js +0 -116
  116. package/dist/classes/pacman.d/alpine.d.ts +0 -56
  117. package/dist/classes/pacman.d/alpine.js +0 -167
  118. package/dist/classes/pacman.d/archlinux.d.ts +0 -62
  119. package/dist/classes/pacman.d/archlinux.js +0 -128
  120. package/dist/classes/pacman.d/debian.d.ts +0 -65
  121. package/dist/classes/pacman.d/debian.js +0 -143
  122. package/dist/classes/pacman.d/fedora.d.ts +0 -53
  123. package/dist/classes/pacman.d/fedora.js +0 -107
  124. package/dist/classes/pacman.d/openmamba.d.ts +0 -52
  125. package/dist/classes/pacman.d/openmamba.js +0 -106
  126. package/dist/classes/pacman.d/opensuse.d.ts +0 -53
  127. package/dist/classes/pacman.d/opensuse.js +0 -109
  128. package/dist/classes/pacman.d.ts +0 -139
  129. package/dist/classes/pacman.js +0 -683
  130. package/dist/classes/pve-live.d.ts +0 -17
  131. package/dist/classes/pve-live.js +0 -52
  132. package/dist/classes/pxe.d.ts +0 -76
  133. package/dist/classes/pxe.js +0 -353
  134. package/dist/classes/settings.d.ts +0 -52
  135. package/dist/classes/settings.js +0 -185
  136. package/dist/classes/sources_list.d.ts +0 -28
  137. package/dist/classes/sources_list.js +0 -89
  138. package/dist/classes/systemctl.d.ts +0 -47
  139. package/dist/classes/systemctl.js +0 -86
  140. package/dist/classes/tailor.d.ts +0 -50
  141. package/dist/classes/tailor.js +0 -563
  142. package/dist/classes/tools.d.ts +0 -26
  143. package/dist/classes/tools.js +0 -50
  144. package/dist/classes/users.d.ts +0 -28
  145. package/dist/classes/users.js +0 -143
  146. package/dist/classes/utils.d/kernel.d.ts +0 -39
  147. package/dist/classes/utils.d/kernel.js +0 -206
  148. package/dist/classes/utils.d.ts +0 -328
  149. package/dist/classes/utils.js +0 -958
  150. package/dist/classes/xdg.d.ts +0 -45
  151. package/dist/classes/xdg.js +0 -337
  152. package/dist/classes/yolk.d.ts +0 -33
  153. package/dist/classes/yolk.js +0 -114
  154. package/dist/commands/adapt.d.ts +0 -17
  155. package/dist/commands/adapt.js +0 -33
  156. package/dist/commands/analyze.d.ts +0 -26
  157. package/dist/commands/analyze.js +0 -95
  158. package/dist/commands/calamares.d.ts +0 -29
  159. package/dist/commands/calamares.js +0 -112
  160. package/dist/commands/config.d.ts +0 -35
  161. package/dist/commands/config.js +0 -120
  162. package/dist/commands/cuckoo.d.ts +0 -17
  163. package/dist/commands/cuckoo.js +0 -61
  164. package/dist/commands/dad.d.ts +0 -21
  165. package/dist/commands/dad.js +0 -47
  166. package/dist/commands/export/iso.d.ts +0 -19
  167. package/dist/commands/export/iso.js +0 -55
  168. package/dist/commands/export/pkg.d.ts +0 -29
  169. package/dist/commands/export/pkg.js +0 -173
  170. package/dist/commands/export/tarballs.d.ts +0 -27
  171. package/dist/commands/export/tarballs.js +0 -79
  172. package/dist/commands/install.d.ts +0 -39
  173. package/dist/commands/install.js +0 -113
  174. package/dist/commands/kill.d.ts +0 -24
  175. package/dist/commands/kill.js +0 -50
  176. package/dist/commands/love.d.ts +0 -24
  177. package/dist/commands/love.js +0 -111
  178. package/dist/commands/mom.d.ts +0 -16
  179. package/dist/commands/mom.js +0 -30
  180. package/dist/commands/pods.d.ts +0 -22
  181. package/dist/commands/pods.js +0 -92
  182. package/dist/commands/produce.d.ts +0 -36
  183. package/dist/commands/produce.js +0 -218
  184. package/dist/commands/status.d.ts +0 -23
  185. package/dist/commands/status.js +0 -31
  186. package/dist/commands/tools/clean.d.ts +0 -18
  187. package/dist/commands/tools/clean.js +0 -37
  188. package/dist/commands/tools/repo.d.ts +0 -31
  189. package/dist/commands/tools/repo.js +0 -246
  190. package/dist/commands/tools/skel.d.ts +0 -18
  191. package/dist/commands/tools/skel.js +0 -44
  192. package/dist/commands/tools/stat.d.ts +0 -31
  193. package/dist/commands/tools/stat.js +0 -70
  194. package/dist/commands/tools/yolk.d.ts +0 -24
  195. package/dist/commands/tools/yolk.js +0 -45
  196. package/dist/commands/update.d.ts +0 -46
  197. package/dist/commands/update.js +0 -238
  198. package/dist/commands/wardrobe/get.d.ts +0 -23
  199. package/dist/commands/wardrobe/get.js +0 -52
  200. package/dist/commands/wardrobe/list.d.ts +0 -24
  201. package/dist/commands/wardrobe/list.js +0 -125
  202. package/dist/commands/wardrobe/show.d.ts +0 -25
  203. package/dist/commands/wardrobe/show.js +0 -97
  204. package/dist/commands/wardrobe/wear.d.ts +0 -26
  205. package/dist/commands/wardrobe/wear.js +0 -84
  206. package/dist/dhcpd-proxy/classes/packet.d.ts +0 -36
  207. package/dist/dhcpd-proxy/classes/packet.js +0 -124
  208. package/dist/dhcpd-proxy/index.d.ts +0 -4
  209. package/dist/dhcpd-proxy/index.js +0 -4
  210. package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +0 -45
  211. package/dist/dhcpd-proxy/interfaces/i-pxe.js +0 -1
  212. package/dist/dhcpd-proxy/lib/packet/converters.d.ts +0 -11
  213. package/dist/dhcpd-proxy/lib/packet/converters.js +0 -395
  214. package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +0 -10
  215. package/dist/dhcpd-proxy/lib/packet/message-types.js +0 -12
  216. package/dist/dhcpd-proxy/lib/packet/options.d.ts +0 -8
  217. package/dist/dhcpd-proxy/lib/packet/options.js +0 -264
  218. package/dist/dhcpd-proxy/lib/sprintf.d.ts +0 -6
  219. package/dist/dhcpd-proxy/lib/sprintf.js +0 -130
  220. package/dist/dhcpd-proxy/lib/utils.d.ts +0 -126
  221. package/dist/dhcpd-proxy/lib/utils.js +0 -255
  222. package/dist/dhcpd-proxy/simple-proxy.d.ts +0 -11
  223. package/dist/dhcpd-proxy/simple-proxy.js +0 -118
  224. package/dist/index.d.ts +0 -8
  225. package/dist/index.js +0 -8
  226. package/dist/interfaces/calamares/i-calamares-bootloader.d.ts +0 -23
  227. package/dist/interfaces/calamares/i-calamares-bootloader.js +0 -7
  228. package/dist/interfaces/calamares/i-calamares-branding.d.ts +0 -46
  229. package/dist/interfaces/calamares/i-calamares-branding.js +0 -1
  230. package/dist/interfaces/calamares/i-calamares-displaymanager.d.ts +0 -34
  231. package/dist/interfaces/calamares/i-calamares-displaymanager.js +0 -1
  232. package/dist/interfaces/calamares/i-calamares-finished.d.ts +0 -14
  233. package/dist/interfaces/calamares/i-calamares-finished.js +0 -1
  234. package/dist/interfaces/calamares/i-calamares-packages.d.ts +0 -26
  235. package/dist/interfaces/calamares/i-calamares-packages.js +0 -1
  236. package/dist/interfaces/calamares/i-calamares-partitions.d.ts +0 -39
  237. package/dist/interfaces/calamares/i-calamares-partitions.js +0 -1
  238. package/dist/interfaces/calamares/i-calamares-settings.d.ts +0 -36
  239. package/dist/interfaces/calamares/i-calamares-settings.js +0 -1
  240. package/dist/interfaces/i-addons.d.ts +0 -12
  241. package/dist/interfaces/i-addons.js +0 -8
  242. package/dist/interfaces/i-analyze.d.ts +0 -17
  243. package/dist/interfaces/i-analyze.js +0 -17
  244. package/dist/interfaces/i-app.d.ts +0 -14
  245. package/dist/interfaces/i-app.js +0 -8
  246. package/dist/interfaces/i-config-tools.d.ts +0 -15
  247. package/dist/interfaces/i-config-tools.js +0 -8
  248. package/dist/interfaces/i-devices.d.ts +0 -20
  249. package/dist/interfaces/i-devices.js +0 -8
  250. package/dist/interfaces/i-distro.d.ts +0 -23
  251. package/dist/interfaces/i-distro.js +0 -8
  252. package/dist/interfaces/i-drive-list.d.ts +0 -33
  253. package/dist/interfaces/i-drive-list.js +0 -8
  254. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  255. package/dist/interfaces/i-eggs-config.js +0 -8
  256. package/dist/interfaces/i-excludes.d.ts +0 -14
  257. package/dist/interfaces/i-excludes.js +0 -8
  258. package/dist/interfaces/i-exec.d.ts +0 -11
  259. package/dist/interfaces/i-exec.js +0 -8
  260. package/dist/interfaces/i-initrd.d.ts +0 -13
  261. package/dist/interfaces/i-initrd.js +0 -8
  262. package/dist/interfaces/i-install.d.ts +0 -16
  263. package/dist/interfaces/i-install.js +0 -8
  264. package/dist/interfaces/i-installer.d.ts +0 -17
  265. package/dist/interfaces/i-installer.js +0 -8
  266. package/dist/interfaces/i-luks-passphrase.d.ts +0 -11
  267. package/dist/interfaces/i-luks-passphrase.js +0 -8
  268. package/dist/interfaces/i-materia.d.ts +0 -36
  269. package/dist/interfaces/i-materia.js +0 -8
  270. package/dist/interfaces/i-net.d.ts +0 -16
  271. package/dist/interfaces/i-net.js +0 -8
  272. package/dist/interfaces/i-os-release.d.ts +0 -5
  273. package/dist/interfaces/i-os-release.js +0 -1
  274. package/dist/interfaces/i-packages.d.ts +0 -16
  275. package/dist/interfaces/i-packages.js +0 -8
  276. package/dist/interfaces/i-partitions.d.ts +0 -16
  277. package/dist/interfaces/i-partitions.js +0 -8
  278. package/dist/interfaces/i-pxe.d.ts +0 -45
  279. package/dist/interfaces/i-pxe.js +0 -1
  280. package/dist/interfaces/i-remix.d.ts +0 -21
  281. package/dist/interfaces/i-remix.js +0 -8
  282. package/dist/interfaces/i-settings.d.ts +0 -33
  283. package/dist/interfaces/i-settings.js +0 -8
  284. package/dist/interfaces/i-user.d.ts +0 -14
  285. package/dist/interfaces/i-user.js +0 -8
  286. package/dist/interfaces/i-workdir.d.ts +0 -14
  287. package/dist/interfaces/i-workdir.js +0 -8
  288. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  289. package/dist/interfaces/i-xkb-model.js +0 -8
  290. package/dist/interfaces/index.d.ts +0 -26
  291. package/dist/interfaces/index.js +0 -8
  292. package/dist/krill/classes/cfs.d.ts +0 -17
  293. package/dist/krill/classes/cfs.js +0 -39
  294. package/dist/krill/classes/krill_enums.d.ts +0 -37
  295. package/dist/krill/classes/krill_enums.js +0 -41
  296. package/dist/krill/classes/prepare.d/confirm.d.ts +0 -5
  297. package/dist/krill/classes/prepare.d/confirm.js +0 -30
  298. package/dist/krill/classes/prepare.d/keyboard.d.ts +0 -14
  299. package/dist/krill/classes/prepare.d/keyboard.js +0 -62
  300. package/dist/krill/classes/prepare.d/location.d.ts +0 -17
  301. package/dist/krill/classes/prepare.d/location.js +0 -59
  302. package/dist/krill/classes/prepare.d/network.d.ts +0 -14
  303. package/dist/krill/classes/prepare.d/network.js +0 -68
  304. package/dist/krill/classes/prepare.d/partitions.d.ts +0 -14
  305. package/dist/krill/classes/prepare.d/partitions.js +0 -86
  306. package/dist/krill/classes/prepare.d/summary.d.ts +0 -15
  307. package/dist/krill/classes/prepare.d/summary.js +0 -72
  308. package/dist/krill/classes/prepare.d/users.d.ts +0 -6
  309. package/dist/krill/classes/prepare.d/users.js +0 -63
  310. package/dist/krill/classes/prepare.d/welcome.d.ts +0 -6
  311. package/dist/krill/classes/prepare.d/welcome.js +0 -30
  312. package/dist/krill/classes/prepare.d.ts +0 -89
  313. package/dist/krill/classes/prepare.js +0 -319
  314. package/dist/krill/classes/sequence.d/add_user.d.ts +0 -20
  315. package/dist/krill/classes/sequence.d/add_user.js +0 -77
  316. package/dist/krill/classes/sequence.d/bootloader.d.ts +0 -14
  317. package/dist/krill/classes/sequence.d/bootloader.js +0 -117
  318. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +0 -14
  319. package/dist/krill/classes/sequence.d/bootloader_config.js +0 -192
  320. package/dist/krill/classes/sequence.d/change_password.d.ts +0 -15
  321. package/dist/krill/classes/sequence.d/change_password.js +0 -18
  322. package/dist/krill/classes/sequence.d/del_live_user.d.ts +0 -14
  323. package/dist/krill/classes/sequence.d/del_live_user.js +0 -39
  324. package/dist/krill/classes/sequence.d/fstab.d.ts +0 -14
  325. package/dist/krill/classes/sequence.d/fstab.js +0 -177
  326. package/dist/krill/classes/sequence.d/grubcfg.d.ts +0 -17
  327. package/dist/krill/classes/sequence.d/grubcfg.js +0 -35
  328. package/dist/krill/classes/sequence.d/hostname.d.ts +0 -13
  329. package/dist/krill/classes/sequence.d/hostname.js +0 -50
  330. package/dist/krill/classes/sequence.d/initramfs.d.ts +0 -13
  331. package/dist/krill/classes/sequence.d/initramfs.js +0 -54
  332. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +0 -14
  333. package/dist/krill/classes/sequence.d/initramfs_cfg.js +0 -35
  334. package/dist/krill/classes/sequence.d/locale.d.ts +0 -13
  335. package/dist/krill/classes/sequence.d/locale.js +0 -91
  336. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +0 -10
  337. package/dist/krill/classes/sequence.d/locale_cfg.js +0 -58
  338. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +0 -14
  339. package/dist/krill/classes/sequence.d/m_keyboard.js +0 -58
  340. package/dist/krill/classes/sequence.d/machine_id.d.ts +0 -15
  341. package/dist/krill/classes/sequence.d/machine_id.js +0 -33
  342. package/dist/krill/classes/sequence.d/mkfs.d.ts +0 -15
  343. package/dist/krill/classes/sequence.d/mkfs.js +0 -88
  344. package/dist/krill/classes/sequence.d/mount_fs.d.ts +0 -17
  345. package/dist/krill/classes/sequence.d/mount_fs.js +0 -68
  346. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +0 -17
  347. package/dist/krill/classes/sequence.d/mount_vfs.js +0 -59
  348. package/dist/krill/classes/sequence.d/network_cfg.d.ts +0 -19
  349. package/dist/krill/classes/sequence.d/network_cfg.js +0 -73
  350. package/dist/krill/classes/sequence.d/packages.d.ts +0 -14
  351. package/dist/krill/classes/sequence.d/packages.js +0 -111
  352. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +0 -17
  353. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +0 -73
  354. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +0 -16
  355. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +0 -51
  356. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +0 -17
  357. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +0 -77
  358. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +0 -10
  359. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -33
  360. package/dist/krill/classes/sequence.d/partition.d.ts +0 -14
  361. package/dist/krill/classes/sequence.d/partition.js +0 -84
  362. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +0 -13
  363. package/dist/krill/classes/sequence.d/remove_installer_link.js +0 -35
  364. package/dist/krill/classes/sequence.d/umount.d.ts +0 -14
  365. package/dist/krill/classes/sequence.d/umount.js +0 -28
  366. package/dist/krill/classes/sequence.d/unpackfs.d.ts +0 -13
  367. package/dist/krill/classes/sequence.d/unpackfs.js +0 -20
  368. package/dist/krill/classes/sequence.d.ts +0 -134
  369. package/dist/krill/classes/sequence.js +0 -400
  370. package/dist/krill/components/finished.d.ts +0 -16
  371. package/dist/krill/components/finished.js +0 -56
  372. package/dist/krill/components/information.d.ts +0 -8
  373. package/dist/krill/components/information.js +0 -162
  374. package/dist/krill/components/install.d.ts +0 -15
  375. package/dist/krill/components/install.js +0 -60
  376. package/dist/krill/components/keyboard.d.ts +0 -16
  377. package/dist/krill/components/keyboard.js +0 -54
  378. package/dist/krill/components/location.d.ts +0 -16
  379. package/dist/krill/components/location.js +0 -59
  380. package/dist/krill/components/network.d.ts +0 -19
  381. package/dist/krill/components/network.js +0 -65
  382. package/dist/krill/components/partitions.d.ts +0 -18
  383. package/dist/krill/components/partitions.js +0 -89
  384. package/dist/krill/components/steps.d.ts +0 -13
  385. package/dist/krill/components/steps.js +0 -148
  386. package/dist/krill/components/summary.d.ts +0 -25
  387. package/dist/krill/components/summary.js +0 -77
  388. package/dist/krill/components/title.d.ts +0 -11
  389. package/dist/krill/components/title.js +0 -35
  390. package/dist/krill/components/users.d.ts +0 -24
  391. package/dist/krill/components/users.js +0 -80
  392. package/dist/krill/components/welcome.d.ts +0 -13
  393. package/dist/krill/components/welcome.js +0 -63
  394. package/dist/krill/interfaces/i_krill.d.ts +0 -44
  395. package/dist/krill/interfaces/i_krill.js +0 -8
  396. package/dist/krill/interfaces/i_krill_config.d.ts +0 -35
  397. package/dist/krill/interfaces/i_krill_config.js +0 -8
  398. package/dist/krill/lib/get_address.d.ts +0 -8
  399. package/dist/krill/lib/get_address.js +0 -23
  400. package/dist/krill/lib/get_dns.d.ts +0 -8
  401. package/dist/krill/lib/get_dns.js +0 -23
  402. package/dist/krill/lib/get_domain.d.ts +0 -8
  403. package/dist/krill/lib/get_domain.js +0 -23
  404. package/dist/krill/lib/get_gateway.d.ts +0 -8
  405. package/dist/krill/lib/get_gateway.js +0 -23
  406. package/dist/krill/lib/get_hostname.d.ts +0 -8
  407. package/dist/krill/lib/get_hostname.js +0 -23
  408. package/dist/krill/lib/get_luks_passphrase.d.ts +0 -8
  409. package/dist/krill/lib/get_luks_passphrase.js +0 -32
  410. package/dist/krill/lib/get_netmask.d.ts +0 -8
  411. package/dist/krill/lib/get_netmask.js +0 -23
  412. package/dist/krill/lib/get_password.d.ts +0 -8
  413. package/dist/krill/lib/get_password.js +0 -36
  414. package/dist/krill/lib/get_userfullname.d.ts +0 -8
  415. package/dist/krill/lib/get_userfullname.js +0 -23
  416. package/dist/krill/lib/get_username.d.ts +0 -8
  417. package/dist/krill/lib/get_username.js +0 -23
  418. package/dist/krill/lib/select_address_type.d.ts +0 -8
  419. package/dist/krill/lib/select_address_type.js +0 -24
  420. package/dist/krill/lib/select_filesystem_type.d.ts +0 -8
  421. package/dist/krill/lib/select_filesystem_type.js +0 -40
  422. package/dist/krill/lib/select_installation_device.d.ts +0 -8
  423. package/dist/krill/lib/select_installation_device.js +0 -40
  424. package/dist/krill/lib/select_installation_mode.d.ts +0 -9
  425. package/dist/krill/lib/select_installation_mode.js +0 -25
  426. package/dist/krill/lib/select_interface.d.ts +0 -8
  427. package/dist/krill/lib/select_interface.js +0 -24
  428. package/dist/krill/lib/select_keyboard_layout.d.ts +0 -11
  429. package/dist/krill/lib/select_keyboard_layout.js +0 -36
  430. package/dist/krill/lib/select_keyboard_model.d.ts +0 -11
  431. package/dist/krill/lib/select_keyboard_model.js +0 -34
  432. package/dist/krill/lib/select_keyboard_option.d.ts +0 -11
  433. package/dist/krill/lib/select_keyboard_option.js +0 -34
  434. package/dist/krill/lib/select_keyboard_variant.d.ts +0 -11
  435. package/dist/krill/lib/select_keyboard_variant.js +0 -35
  436. package/dist/krill/lib/select_languages.d.ts +0 -8
  437. package/dist/krill/lib/select_languages.js +0 -28
  438. package/dist/krill/lib/select_regions.d.ts +0 -8
  439. package/dist/krill/lib/select_regions.js +0 -24
  440. package/dist/krill/lib/select_replaced_partition.d.ts +0 -8
  441. package/dist/krill/lib/select_replaced_partition.js +0 -31
  442. package/dist/krill/lib/select_user_swap_choice.d.ts +0 -9
  443. package/dist/krill/lib/select_user_swap_choice.js +0 -35
  444. package/dist/krill/lib/select_zones.d.ts +0 -8
  445. package/dist/krill/lib/select_zones.js +0 -518
  446. package/dist/lib/kill_me_softly.d.ts +0 -11
  447. package/dist/lib/kill_me_softly.js +0 -61
  448. package/dist/lib/utils.d.ts +0 -19
  449. package/dist/lib/utils.js +0 -65
  450. package/scripts/luks-root-bootstrap-create.sh +0 -235
  451. package/scripts/luks-root-unlock.sh +0 -172
@@ -1,274 +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
- // copy splash to efiWorkDir
176
- const splashDest = `${efiWorkDir}/boot/grub/splash.png`;
177
- let splashSrc = path.resolve(__dirname, `../../../addons/${theme}/theme/livecd/splash.png`);
178
- if (this.theme.includes('/')) {
179
- splashSrc = `${theme}/theme/livecd/splash.png`;
180
- }
181
- if (!fs.existsSync(splashSrc)) {
182
- Utils.warning(`warning: ${splashSrc} does not exists`);
183
- process.exit(1);
184
- }
185
- await exec(`cp ${splashSrc} ${splashDest}`, this.echo);
186
- // select themeSrc
187
- let themeSrc = path.resolve(__dirname, `../../../addons/${theme}/theme/livecd/grub.theme.cfg`);
188
- if (this.theme.includes('/')) {
189
- themeSrc = `${theme}/theme/livecd/grub.theme.cfg`;
190
- }
191
- // copy theme
192
- const themeDest = `${isoDir}/boot/grub/theme.cfg`;
193
- if (!fs.existsSync(themeSrc)) {
194
- Utils.error(`error: ${themeSrc} does not exist`);
195
- process.exit(1);
196
- }
197
- fs.copyFileSync(themeSrc, themeDest);
198
- // selecting available fonts
199
- if (fs.existsSync('/usr/share/grub/font.pf2')) {
200
- await exec(`cp /usr/share/grub/font.pf2 ${efiWorkDir}boot/grub/font.pf2`, this.echo);
201
- }
202
- else if (fs.existsSync('/usr/share/grub/unicode.pf2')) {
203
- await exec(`cp /usr/share/grub/unicode.pf2 ${efiWorkDir}boot/grub/font.pf2`, this.echo);
204
- }
205
- else if (fs.existsSync('/usr/share/grub/ascii.pf2')) {
206
- await exec(`cp /usr/share/grub/ascii.pf2 ${efiWorkDir}boot/grub/font.pf2`, this.echo);
207
- }
208
- // Copy workdir files to ISO/boot
209
- await exec(`rsync -avx ${efiWorkDir}/boot ${isoDir}/`, this.echo);
210
- /**
211
- * prepare main grub.cfg from grub.main.cfg
212
- */
213
- let grubTemplate = `${theme}/theme/livecd/grub.main.cfg`;
214
- if (!fs.existsSync(grubTemplate)) {
215
- grubTemplate = path.resolve(__dirname, '../../../addons/eggs/theme/livecd/grub.main.cfg');
216
- }
217
- if (!fs.existsSync(grubTemplate)) {
218
- Utils.error(`error: ${grubTemplate} does not exist`);
219
- process.exit(1);
220
- }
221
- const kernel_parameters = Diversions.kernelParameters(this.familyId, this.volid, this.luksUuid); // this.kernelParameters()
222
- const cfgMain = path.join(isoDir, '/boot/grub/grub.cfg');
223
- const template = fs.readFileSync(grubTemplate, 'utf8');
224
- const view = {
225
- fullname: this.settings.remix.fullname.toUpperCase(),
226
- initrdImg: `/live/${path.basename(this.initrd)}`,
227
- kernel: this.kernel,
228
- kernel_parameters,
229
- vmlinuz: `/live/${path.basename(this.vmlinuz)}`
230
- };
231
- let cfgMainText = '';
232
- cfgMainText += `# grub.cfg (4) main\n`;
233
- cfgMainText += `# created on ${cfgMain}`;
234
- cfgMainText += `\n`;
235
- cfgMainText += mustache.render(template, view);
236
- fs.writeFileSync(cfgMain, cfgMainText);
237
- }
238
- /**
239
- * FUNCTIONS
240
- */
241
- /**
242
- *
243
- * @returns
244
- */
245
- function bootEfiName() {
246
- let ben = '';
247
- if (process.arch === 'x64') {
248
- ben = 'bootx64.efi';
249
- }
250
- else if (process.arch === 'ia32') {
251
- ben = 'bootia32.efi';
252
- }
253
- else if (process.arch === 'arm64') {
254
- ben = 'bootaa64.efi';
255
- }
256
- return ben;
257
- }
258
- /**
259
- *
260
- * @returns
261
- */
262
- function grubEfiName() {
263
- let gen = '';
264
- if (process.arch === 'x64') {
265
- gen = 'grubx64.efi';
266
- }
267
- else if (process.arch === 'ia32') {
268
- gen = 'grub ia32.efi';
269
- }
270
- else if (process.arch === 'arm64') {
271
- gen = 'grubaa64.efi';
272
- }
273
- return gen;
274
- }
@@ -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, includeRoot?: 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,114 +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, includeRoot = 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 (!includeRoot) {
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
- if (this.fullcrypt) {
86
- sfsName = "filesystem.squashfs.real";
87
- }
88
- 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}`;
89
- cmd = cmd.replaceAll(/\s\s+/g, ' ');
90
- Utils.writeX(`${this.settings.work_dir.ovarium}mksquashfs`, cmd);
91
- if (!scriptOnly) {
92
- Utils.warning('creating filesystem.squashfs on (ISO)/live');
93
- // Utils.warning(`compression: ` + compression)
94
- const test = (await exec(cmd, Utils.setEcho(true))).code;
95
- if (test !== 0) {
96
- process.exit();
97
- }
98
- }
99
- return cmd;
100
- }
101
- /**
102
- * Add or remove exclusion
103
- * @param add {boolean} true = add, false remove
104
- * @param exclusion {string} path to add/remove
105
- */
106
- export function addExclusion(exclusion) {
107
- if (this.verbose) {
108
- console.log(`add exclusion: ${exclusion}`);
109
- }
110
- if (exclusion.startsWith('/')) {
111
- exclusion = exclusion.slice(1); // remove / initial Non compatible with rsync
112
- }
113
- this.settings.session_excludes += this.settings.session_excludes === '' ? `-e '${exclusion}' ` : ` '${exclusion}' `;
114
- }
@@ -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;
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
- }
@@ -1,23 +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
- import { IAddons, IExcludes } from '../../interfaces/index.js';
9
- import Ovary from './../ovary.js';
10
- /**
11
- * produce
12
- * @param clone
13
- * @param homecrypt
14
- * @param scriptOnly
15
- * @param yolkRenew
16
- * @param release
17
- * @param myAddons
18
- * @param nointeractive
19
- * @param noicons
20
- * @param includeRoot
21
- * @param verbose
22
- */
23
- export declare function produce(this: Ovary, kernel: string | undefined, clone: boolean | undefined, homecrypt: boolean | undefined, fullcrypt: boolean | undefined, scriptOnly: boolean | undefined, yolkRenew: boolean | undefined, release: boolean | undefined, myAddons: IAddons, myLinks: string[], excludes: IExcludes, nointeractive?: boolean, noicons?: boolean, includeRoot?: boolean, verbose?: boolean): Promise<void>;