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,347 +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 chalk from 'chalk';
9
- import mustache from 'mustache';
10
- // packages
11
- import fs from 'node:fs';
12
- import shx from 'shelljs';
13
- import path from 'path';
14
- // libraries
15
- import { exec } from '../../lib/utils.js';
16
- import Bleach from './../bleach.js';
17
- // import { displaymanager } from './../incubation/fisherman-helper/displaymanager.js'
18
- import Incubator from './../incubation/incubator.js';
19
- import Pacman from './../pacman.js';
20
- import Diversions from './../diversions.js';
21
- // classes
22
- import Utils from './../utils.js';
23
- import Repo from './../yolk.js';
24
- // _dirname
25
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
26
- /**
27
- * produce
28
- * @param clone
29
- * @param homecrypt
30
- * @param scriptOnly
31
- * @param yolkRenew
32
- * @param release
33
- * @param myAddons
34
- * @param nointeractive
35
- * @param noicons
36
- * @param includeRoot
37
- * @param verbose
38
- */
39
- export async function produce(kernel = '', clone = false, homecrypt = false, fullcrypt = false, scriptOnly = false, yolkRenew = false, release = false, myAddons, myLinks, excludes, nointeractive = false, noicons = false, includeRoot = false, verbose = false) {
40
- this.verbose = verbose;
41
- this.echo = Utils.setEcho(verbose);
42
- if (this.verbose) {
43
- this.toNull = ' > /dev/null 2>&1';
44
- }
45
- this.kernel = kernel;
46
- this.nest = this.settings.config.snapshot_dir;
47
- this.dotMnt = `${this.nest}.mnt`;
48
- this.dotOverlay = this.settings.work_dir;
49
- this.dotLivefs = this.settings.work_dir.merged;
50
- this.clone = clone;
51
- this.homecrypt = homecrypt;
52
- this.fullcrypt = fullcrypt;
53
- // Crittografia
54
- if (this.homecrypt || this.fullcrypt) {
55
- if (this.homecrypt) {
56
- this.luksName = 'home.img';
57
- }
58
- else if (this.fullcrypt) {
59
- this.luksName = 'root.img';
60
- }
61
- this.luksUuid = '';
62
- this.luksFile = `/tmp/${this.luksName}`;
63
- this.luksMappedName = this.luksName;
64
- this.luksMountpoint = `/tmp/mnt/${this.luksName}`;
65
- this.luksDevice = `/dev/mapper/${this.luksName}`;
66
- this.luksPassword = '0'; // USARE UNA PASSWORD SICURA IN PRODUZIONE!
67
- Utils.warning("You choose an encrypted eggs");
68
- await this.luksGetPassword();
69
- }
70
- /**
71
- * define kernel
72
- */
73
- if (this.kernel === '') {
74
- if (this.familyId === 'alpine') {
75
- const moduleDirs = fs.readdirSync('/lib/modules');
76
- this.kernel = moduleDirs[0];
77
- }
78
- else if (this.familyId === 'archlinux') { // arch, manjaro
79
- const moduleDirs = fs.readdirSync('/usr/lib/modules');
80
- this.kernel = moduleDirs[0];
81
- }
82
- else { // debian, fedora, openmamba, opensuse, voidlinux
83
- let vmlinuz = path.basename(Utils.vmlinuz());
84
- this.kernel = vmlinuz.substring(vmlinuz.indexOf('-') + 1);
85
- }
86
- }
87
- /**
88
- * define this.vmlinuz
89
- */
90
- this.vmlinuz = Utils.vmlinuz();
91
- /**
92
- * define this.initrd
93
- */
94
- this.initrd = Utils.initrdImg(this.kernel);
95
- /**
96
- * yolk
97
- */
98
- if (this.familyId === 'debian' && Utils.uefiArch() === 'amd64') {
99
- const yolk = new Repo();
100
- if (!yolk.exists()) {
101
- Utils.warning('creating yolk');
102
- await yolk.create(verbose);
103
- }
104
- else if (yolkRenew) {
105
- Utils.warning('refreshing yolk');
106
- await yolk.erase();
107
- await yolk.create(verbose);
108
- }
109
- else {
110
- Utils.warning('using preesixent yolk');
111
- }
112
- }
113
- if (!fs.existsSync(this.settings.config.snapshot_dir)) {
114
- shx.mkdir('-p', this.settings.config.snapshot_dir);
115
- }
116
- if (Utils.isLive()) {
117
- console.log(chalk.red('>>> eggs: This is a live system! An egg cannot be produced from an egg!'));
118
- }
119
- else {
120
- await this.liveCreateStructure();
121
- // Carica calamares solo se le icone sono accettate
122
- if (!noicons && // se VOGLIO le icone
123
- !nointeractive &&
124
- this.settings.distro.isCalamaresAvailable &&
125
- Pacman.isInstalledGui() &&
126
- this.settings.config.force_installer &&
127
- !Pacman.calamaresExists()) {
128
- console.log('Installing ' + chalk.bgGray('calamares') + ' due force_installer=yes.');
129
- await Pacman.calamaresInstall(verbose);
130
- const bleach = new Bleach();
131
- await bleach.clean(verbose);
132
- }
133
- /**
134
- * homecrypt/fullcrypt/clone/standard
135
- */
136
- if (this.homecrypt) {
137
- Utils.warning("eggs will SAVE users and users' data ENCRYPTED on the live (ISO)/live/home.img");
138
- }
139
- else if (this.fullcrypt) {
140
- Utils.warning("eggs will SAVE full system ENCRYPTED on the live (ISO)/live/root.img");
141
- }
142
- else if (this.clone) {
143
- this.settings.config.user_opt = 'live'; // patch for humans
144
- this.settings.config.user_opt_passwd = 'evolution';
145
- this.settings.config.root_passwd = 'evolution';
146
- Utils.warning("eggs will SAVE users and users' data on CLEAR on the live (ISO)/live/filesystem.squashfs");
147
- }
148
- else {
149
- Utils.warning("eggs will REMOVE users and users' data from live");
150
- }
151
- /**
152
- * exclude.list
153
- */
154
- if (!excludes.static && !fs.existsSync('/etc/penguins-eggs/exclude.list')) {
155
- const excludeListTemplateDir = '/etc/penguins-eggs.d/exclude.list.d/';
156
- const excludeListTemplate = excludeListTemplateDir + 'master.list';
157
- if (!fs.existsSync(excludeListTemplate)) {
158
- Utils.warning('Cannot find: ' + excludeListTemplate);
159
- process.exit(1);
160
- }
161
- let excludeUsr = '';
162
- let excludeVar = '';
163
- let excludeHomes = '';
164
- let excludeHome = '';
165
- if (excludes.usr) {
166
- excludeUsr = fs.readFileSync(`${excludeListTemplateDir}usr.list`, 'utf8');
167
- }
168
- if (excludes.var) {
169
- excludeVar = fs.readFileSync(`${excludeListTemplateDir}var.list`, 'utf8');
170
- }
171
- if (excludes.homes) {
172
- excludeHomes = fs.readFileSync(`${excludeListTemplateDir}homes.list`, 'utf8');
173
- }
174
- if (excludes.home) {
175
- excludeHome = `home/${await Utils.getPrimaryUser()}/*`;
176
- }
177
- const view = {
178
- home_list: excludeHome,
179
- homes_list: excludeHomes,
180
- usr_list: excludeUsr,
181
- var_list: excludeVar
182
- };
183
- const template = fs.readFileSync(excludeListTemplate, 'utf8');
184
- fs.writeFileSync(this.settings.config.snapshot_excludes, mustache.render(template, view));
185
- }
186
- /**
187
- * NOTE: reCreate = false
188
- *
189
- * reCreate = false is just for develop
190
- * put reCreate = true in release
191
- */
192
- const reCreate = true;
193
- let mksquashfsCmd = '';
194
- if (reCreate) {
195
- // start pre-clone
196
- /**
197
- * installer
198
- */
199
- this.incubator = new Incubator(this.settings.remix, this.settings.distro, this.settings.config.user_opt, this.theme, this.clone, verbose);
200
- await this.incubator.config(release);
201
- /**
202
- * kernelCopu
203
- */
204
- await this.kernelCopy();
205
- /**
206
- * initrd creation
207
- */
208
- if (this.familyId === 'alpine') {
209
- await this.initrdAlpine();
210
- }
211
- else if (this.familyId === 'archlinux') {
212
- await this.initrdArch();
213
- }
214
- else if (this.familyId === 'debian') {
215
- await this.initrdDebian();
216
- }
217
- else if (this.familyId === 'fedora' ||
218
- this.familyId === 'openmamba' ||
219
- this.familyId === 'opensuse' ||
220
- this.familyId === 'voidlinux') {
221
- await this.initrdDracut();
222
- }
223
- await this.bindLiveFs();
224
- // We run them just to have scripts
225
- await this.bindVfs();
226
- await this.ubindVfs();
227
- if (!this.clone) {
228
- /**
229
- * SOLO per clone no per homecrypt, ne per fullcrypt
230
- */
231
- await this.usersRemove();
232
- await this.userCreateLive();
233
- if (Pacman.isInstalledGui()) {
234
- await this.createXdgAutostart(this.settings.config.theme, myAddons, myLinks, noicons);
235
- /**
236
- * GUI installed but NOT Desktop Manager: just create motd and issue
237
- */
238
- // if (displaymanager().length > 0) {
239
- // this.cliAutologin.addIssue(this.settings.distro.distroId, this.settings.distro.codenameId, this.settings.config.user_opt, this.settings.config.user_opt_passwd, this.settings.config.root_passwd, this.settings.work_dir.merged)
240
- // this.cliAutologin.addMotd(this.settings.distro.distroId, this.settings.distro.codenameId, this.settings.config.user_opt, this.settings.config.user_opt_passwd, this.settings.config.root_passwd, this.settings.work_dir.merged)
241
- // }
242
- }
243
- else {
244
- this.cliAutologin.add(this.settings.distro.distroId, this.settings.distro.codenameId, this.settings.config.user_opt, this.settings.config.user_opt_passwd, this.settings.config.root_passwd, this.settings.work_dir.merged);
245
- }
246
- }
247
- await this.editLiveFs(clone);
248
- if (this.homecrypt) {
249
- /**
250
- * homecrypt: installa il supporto
251
- */
252
- const squashfsRoot = this.settings.work_dir.merged;
253
- const homeImgPath = this.distroLliveMediumPath + 'live/home.img';
254
- this.installHomecryptSupport(squashfsRoot, homeImgPath);
255
- }
256
- mksquashfsCmd = await this.makeSquashfs(scriptOnly, includeRoot);
257
- await this.uBindLiveFs(); // smonto tutto prima della fase di backup
258
- }
259
- if (homecrypt) {
260
- await this.luksHome();
261
- }
262
- else if (fullcrypt) {
263
- await this.luksRoot();
264
- }
265
- /**
266
- * makeEfi and syslinux was moved
267
- * after luksRoot
268
- * to get luks.uuid
269
- */
270
- if (this.settings.config.make_efi) {
271
- await this.makeEfi(this.theme);
272
- }
273
- // need syslinux?
274
- const arch = process.arch;
275
- if (arch === 'ia32' || arch === 'x64') {
276
- await this.syslinux(this.theme);
277
- }
278
- // add the bootstrapt filesystem.squashfs
279
- if (fullcrypt) {
280
- let bootstrapSfs = path.join(this.settings.iso_work, '/live/filesystem.squashfs');
281
- /**
282
- * escludo la costruzione di filesystem.squashfs
283
- */
284
- // await this.createBootstrapFilesystem(bootstrapSfs)
285
- }
286
- const mkIsofsCmd = (await this.xorrisoCommand(clone, homecrypt, fullcrypt)).replaceAll(/\s\s+/g, ' ');
287
- this.makeDotDisk(this.volid, mksquashfsCmd, mkIsofsCmd);
288
- /**
289
- * AntiX/MX LINUX
290
- */
291
- if (fs.existsSync('/etc/antix-version')) {
292
- let uname = (await exec('uname -r', { capture: true })).data;
293
- uname = uname.replaceAll('\n', '');
294
- let content = '';
295
- content = '#!/usr/bin/env bash';
296
- content += 'mkdir /live/bin -p\n';
297
- content += '## \n';
298
- content += '# cp /usr/lib/penguins-eggs/scripts/non-live-cmdline /live/bin -p\n';
299
- content += '# chmod +x /live/bin/non-live-cmdline\n';
300
- content += '## \n';
301
- content += 'mkdir /live/boot-dev/antiX -p\n';
302
- content += 'ln -s /run/live/medium/live/filesystem.squashfs /live/boot-dev/antiX/linuxfs\n';
303
- content += `ln -s /run/live/medium/live/initrd.img-${uname} /live/boot-dev/antiX/initrd.gz\n`;
304
- content += `ln -s /run/live/medium/live/vmlinuz-${uname} /live/boot-dev/antiX/vmlinuz\n`;
305
- content += `# md5sum /live/boot-dev/antiX/linuxfs > /live/boot-dev/antiX/linuxfs.md5\n`;
306
- content += `# md5sum /live/boot-dev/antiX/initrd.gz > /live/boot-dev/antiX/initrd.gz.md5\n`;
307
- content += `# md5sum /live/boot-dev/antiX/vmlinuz > /live/boot-dev/antiX/vmlinuz.md5\n`;
308
- content += `# /live/aufs -> /run/live/rootfs/filesystem.squashfs\n`;
309
- content += 'ln -s /run/live/rootfs/filesystem.squashfs /live/aufs\n';
310
- content += `# use: minstall -no-media-check\n`;
311
- content += 'minstall --no-media-check\n';
312
- const file = `${this.settings.iso_work}antix-mx-installer`;
313
- fs.writeFileSync(file, content);
314
- await exec(`chmod +x ${file}`);
315
- }
316
- /**
317
- * patch to emulate miso/archiso on archilinux family
318
- */
319
- if (this.familyId === 'archlinux') {
320
- let filesystemName = `arch/x86_64/airootfs.sfs`;
321
- let hashCmd = 'sha512sum';
322
- let hashExt = '.sha512';
323
- if (Diversions.isManjaroBased(this.settings.distro.distroId)) {
324
- filesystemName = `manjaro/x86_64/livefs.sfs`;
325
- hashCmd = `md5sum`;
326
- hashExt = '.md5';
327
- }
328
- await exec(`mkdir ${this.settings.iso_work}${path.dirname(filesystemName)} -p`, this.echo);
329
- await exec(`ln ${this.settings.iso_work}live/filesystem.squashfs ${this.settings.iso_work}${filesystemName}`, this.echo);
330
- /**
331
- * patch 4 mksquashfs
332
- */
333
- let fname = `${this.settings.work_dir.ovarium}mksquashfs`;
334
- let content = fs.readFileSync(fname, 'utf8');
335
- const patched = '# Arch and Manjaro based distro need this link';
336
- // not need check, is always clean here... but OK
337
- if (!content.includes(patched)) {
338
- content += patched + '\n';
339
- content += `if [ ! -e "${filesystemName}" ]; then\n`;
340
- content += ` ln ${this.settings.iso_work}live/filesystem.squashfs ${this.settings.iso_work}${filesystemName}\n`;
341
- content += `fi\n`;
342
- fs.writeFileSync(fname, content, 'utf8');
343
- }
344
- }
345
- await this.makeIso(mkIsofsCmd, scriptOnly);
346
- }
347
- }
@@ -1,13 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/initrd-arch.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
- /**
9
- *
10
- * @param cmd
11
- * @param echo
12
- */
13
- export default function rexec(cmd: string, verbose?: boolean): Promise<string>;
@@ -1,34 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/initrd-arch.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
- import chalk from 'chalk';
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
- *
18
- * @param cmd
19
- * @param echo
20
- */
21
- export default async function rexec(cmd, verbose = false) {
22
- if (verbose) {
23
- console.log(`Ovary: rexec(${cmd})`);
24
- }
25
- const echo = Utils.setEcho(verbose);
26
- /**
27
- * skip umount errors
28
- */
29
- const check = await exec(cmd, echo);
30
- if (!cmd.startsWith('umount') && check.code !== 0) {
31
- console.log(`eggs >>> error on command: ` + chalk.cyan(cmd) + ', code: ' + chalk.cyan(check.code));
32
- }
33
- return cmd;
34
- }
@@ -1,12 +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 Ovary from './../ovary.js';
9
- /**
10
- * syslinux: da syspath
11
- */
12
- export declare function syslinux(this: Ovary, theme?: string): Promise<void>;
@@ -1,82 +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 mustache from 'mustache';
9
- // packages
10
- import fs from 'node:fs';
11
- import path from 'node:path';
12
- // backup
13
- // interfaces
14
- // libraries
15
- import { exec } from '../../lib/utils.js';
16
- import Diversions from './../diversions.js';
17
- import Utils from './../utils.js';
18
- // _dirname
19
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
20
- let bootloaders = '/usr/lib/';
21
- /**
22
- * syslinux: da syspath
23
- */
24
- export async function syslinux(theme = 'eggs') {
25
- const bootloaders = Diversions.bootloaders(this.familyId);
26
- let sysPath = path.join(bootloaders, 'syslinux/modules/bios');
27
- let isoPath = path.join(bootloaders, 'ISOLINUX');
28
- await exec(`cp ${sysPath}/chain.c32 ${this.settings.iso_work}/isolinux/`, this.echo);
29
- await exec(`cp ${isoPath}/isohdpfx.bin ${this.settings.iso_work}/isolinux/`, this.echo);
30
- // just for x64 arch
31
- await exec(`cp ${isoPath}/isolinux.bin ${this.settings.iso_work}/isolinux/`, this.echo);
32
- await exec(`cp ${sysPath}/ldlinux.c32 ${this.settings.iso_work}/isolinux/`, this.echo);
33
- await exec(`cp ${sysPath}/libcom32.c32 ${this.settings.iso_work}/isolinux/`, this.echo);
34
- await exec(`cp ${sysPath}/libutil.c32 ${this.settings.iso_work}/isolinux/`, this.echo);
35
- await exec(`cp ${sysPath}/vesamenu.c32 ${this.settings.iso_work}/isolinux/`, this.echo);
36
- const isolinuxThemeDest = this.settings.iso_work + 'isolinux/isolinux.theme.cfg';
37
- let isolinuxThemeSrc = path.resolve(__dirname, `../../../addons/${theme}/theme/livecd/isolinux.theme.cfg`);
38
- if (this.theme.includes('/')) {
39
- isolinuxThemeSrc = `${theme}/theme/livecd/isolinux.theme.cfg`;
40
- }
41
- if (!fs.existsSync(isolinuxThemeSrc)) {
42
- Utils.warning('Cannot find: ' + isolinuxThemeSrc);
43
- process.exit();
44
- }
45
- fs.copyFileSync(isolinuxThemeSrc, isolinuxThemeDest);
46
- /**
47
- * isolinux.cfg from isolinux.main.cfg
48
- */
49
- const isolinuxDest = `${this.settings.iso_work}/isolinux/isolinux.cfg`;
50
- this.settings.iso_work + 'isolinux/isolinux.cfg';
51
- let isolinuxTemplate = `${theme}/theme/livecd/isolinux.main.cfg`;
52
- if (!fs.existsSync(isolinuxTemplate)) {
53
- isolinuxTemplate = path.resolve(__dirname, '../../../addons/eggs/theme/livecd/isolinux.main.cfg');
54
- }
55
- if (!fs.existsSync(isolinuxTemplate)) {
56
- Utils.warning('Cannot find: ' + isolinuxTemplate);
57
- process.exit();
58
- }
59
- const kernel_parameters = Diversions.kernelParameters(this.familyId, this.volid, this.luksUuid);
60
- const template = fs.readFileSync(isolinuxTemplate, 'utf8');
61
- const view = {
62
- fullname: this.settings.remix.fullname.toUpperCase(),
63
- initrdImg: `/live/${path.basename(this.initrd)}`,
64
- kernel: this.kernel,
65
- kernel_parameters,
66
- vmlinuz: `/live/${path.basename(this.vmlinuz)}`
67
- };
68
- fs.writeFileSync(isolinuxDest, mustache.render(template, view));
69
- /**
70
- * splash
71
- */
72
- const splashDest = `${this.settings.iso_work}/isolinux/splash.png`;
73
- let splashSrc = path.resolve(__dirname, `../../../addons/${theme}/theme/livecd/splash.png`);
74
- if (this.theme.includes('/')) {
75
- splashSrc = path.resolve(`${theme}/theme/livecd/splash.png`);
76
- }
77
- if (!fs.existsSync(splashSrc)) {
78
- Utils.warning('Cannot find: ' + splashSrc);
79
- process.exit();
80
- }
81
- fs.copyFileSync(splashSrc, splashDest);
82
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/create-user-live.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
- * list degli utenti: grep -E 1[0-9]{3} /etc/passwd | sed s/:/\ / | awk '{print $1}'
11
- * create la home per user_opt
12
- * @param verbose
13
- */
14
- export declare function userCreateLive(this: Ovary): Promise<void>;
@@ -1,97 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/create-user-live.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
- import yaml from 'js-yaml';
12
- // functions
13
- import { exec } from '../../lib/utils.js';
14
- import rexec from './rexec.js';
15
- import Utils from '../utils.js';
16
- // _dirname
17
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
18
- /**
19
- * list degli utenti: grep -E 1[0-9]{3} /etc/passwd | sed s/:/\ / | awk '{print $1}'
20
- * create la home per user_opt
21
- * @param verbose
22
- */
23
- export async function userCreateLive() {
24
- if (this.verbose) {
25
- console.log('Ovary: userCreateLive');
26
- }
27
- const cmds = [];
28
- cmds.push(await rexec('chroot ' + this.settings.work_dir.merged + ' rm /home/' + this.settings.config.user_opt + ' -rf', this.verbose));
29
- cmds.push(await rexec('chroot ' + this.settings.work_dir.merged + ' mkdir /home/' + this.settings.config.user_opt, this.verbose));
30
- // Create user using useradd
31
- cmds.push(await rexec('chroot ' + this.settings.work_dir.merged + ' useradd ' + this.settings.config.user_opt + ' --home-dir /home/' + this.settings.config.user_opt + ' --shell /bin/bash ', this.verbose));
32
- // live password
33
- cmds.push(await rexec('echo ' + this.settings.config.user_opt + ':' + this.settings.config.user_opt_passwd + ' | chroot ' + this.settings.work_dir.merged + ' /usr/sbin/chpasswd', this.verbose));
34
- // root password
35
- cmds.push(await rexec(' echo root:' + this.settings.config.root_passwd + ' | chroot ' + this.settings.work_dir.merged + ' /usr/sbin/chpasswd', this.verbose));
36
- // Alpine naked don't have /etc/skel
37
- if (fs.existsSync('/etc/skel')) {
38
- cmds.push(await rexec('chroot ' + this.settings.work_dir.merged + ' cp /etc/skel/. /home/' + this.settings.config.user_opt + ' -R', this.verbose));
39
- }
40
- // da problemi con il mount sshfs
41
- cmds.push(await rexec('chroot ' + this.settings.work_dir.merged + ' chown ' + this.settings.config.user_opt + ':users' + ' /home/' + this.settings.config.user_opt + ' -R', this.verbose));
42
- /**
43
- *
44
- */
45
- switch (this.familyId) {
46
- case 'alpine': {
47
- cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} usermod -aG wheel ${this.settings.config.user_opt}`, this.verbose));
48
- break;
49
- }
50
- case 'archlinux': {
51
- cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} gpasswd -a ${this.settings.config.user_opt} wheel`, this.verbose));
52
- // check or create group: autologin
53
- cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} getent group autologin || chroot ${this.settings.work_dir.merged} groupadd autologin`, this.verbose));
54
- cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} gpasswd -a ${this.settings.config.user_opt} autologin`, this.verbose));
55
- break;
56
- }
57
- case 'debian': {
58
- cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} usermod -aG sudo ${this.settings.config.user_opt}`, this.verbose));
59
- break;
60
- }
61
- case 'fedora': {
62
- cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} usermod -aG wheel ${this.settings.config.user_opt}`, this.verbose));
63
- break;
64
- }
65
- case 'openmamba': {
66
- cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} usermod -aG sysadmin ${this.settings.config.user_opt}`, this.verbose));
67
- cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} usermod -aG autologin ${this.settings.config.user_opt}`, this.verbose));
68
- break;
69
- }
70
- case 'opensuse': {
71
- cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} usermod -aG wheel ${this.settings.config.user_opt}`, this.verbose));
72
- break;
73
- }
74
- // No default
75
- }
76
- /**
77
- * look to calamares/modules/users.conf for groups
78
- */
79
- let usersConf = '/etc/calamares/modules/users.conf';
80
- if (!fs.existsSync(usersConf)) {
81
- usersConf = '/etc/penguins-eggs.d/krill/modules/users.conf';
82
- }
83
- if (fs.existsSync(usersConf)) {
84
- const o = yaml.load(fs.readFileSync(usersConf, 'utf8'));
85
- for (const group of o.defaultGroups) {
86
- const groupExists = await exec(`chroot ${this.settings.work_dir.merged} getent group ${group}`, { ignore: true });
87
- if (groupExists.code == 0) {
88
- cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} usermod -aG ${group} ${this.settings.config.user_opt} ${this.toNull}`, this.verbose));
89
- Utils.warning(`added ${this.settings.config.user_opt} to group ${group}`);
90
- }
91
- }
92
- }
93
- else {
94
- console.log(`il file ${usersConf} non esiste!`);
95
- await Utils.pressKeyToExit();
96
- }
97
- }
@@ -1,9 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/users-remove.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
- export declare function usersRemove(this: Ovary): Promise<void>;
@@ -1,38 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/users-remove.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
- // backup
11
- // interfaces
12
- // libraries
13
- import { exec } from '../../lib/utils.js';
14
- import rexec from './rexec.js';
15
- import Diversions from './../diversions.js';
16
- // _dirname
17
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
18
- //async cleanUsersAccounts() {
19
- export async function usersRemove() {
20
- if (this.verbose) {
21
- console.log('Ovary: cleanUsersAccounts');
22
- }
23
- /**
24
- * delete all user in chroot
25
- */
26
- const cmds = [];
27
- const cmd = `chroot ${this.settings.work_dir.merged} getent passwd {1000..60000} |awk -F: '{print $1}'`;
28
- const result = await exec(cmd, {
29
- capture: true,
30
- echo: this.verbose,
31
- ignore: false
32
- });
33
- const users = result.data.split('\n');
34
- let deluser = Diversions.deluser(this.familyId);
35
- for (let i = 0; i < users.length - 1; i++) {
36
- cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} ${deluser} ${users[i]}`, this.verbose));
37
- }
38
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * ./src/classes/xorriso-command.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 fullcrypt
12
- * @returns cmd 4 mkiso
13
- */
14
- export declare function xorrisoCommand(this: Ovary, clone?: boolean, homecrypt?: boolean, fullcrypt?: boolean): Promise<string>;