penguins-eggs 25.10.24 → 25.10.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (513) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/README.md +3 -770
  3. package/addons/eggs/adapt/applications/eggs-adapt.desktop +0 -0
  4. package/addons/eggs/pve/applications/eggs-pve.desktop +0 -0
  5. package/addons/eggs/rsupport/applications/eggs-rsupport.desktop +0 -0
  6. package/addons/eggs/theme/applications/install-system.desktop +1 -1
  7. package/addons/eggs/theme/livecd/generic.grub.theme.cfg +1 -3
  8. package/addons/eggs/theme/livecd/generic.isolinux.theme.cfg +1 -2
  9. package/assets/calamares/install-system.sh +0 -0
  10. package/assets/penguins-eggs.desktop +0 -0
  11. package/assets/penguins-krill.desktop +0 -0
  12. package/assets/penguins-links-add.desktop +0 -0
  13. package/assets/penguins-live-installer.desktop +0 -0
  14. package/bin/dev.js +0 -0
  15. package/conf/distros/alpine/calamares/calamares-modules/machineid-openrc/machineid-openrc.sh +0 -0
  16. package/conf/distros/buster/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  17. package/conf/distros/buster/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
  18. package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  19. package/conf/distros/fedora/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  20. package/conf/distros/focal/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  21. package/conf/distros/focal/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  22. package/conf/distros/noble/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  23. package/conf/distros/noble/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  24. package/conf/distros/noble/calamares/libexec/calamares-aptsources.sh +0 -0
  25. package/conf/distros/noble/calamares/libexec/calamares-l10n-helper.sh +0 -0
  26. package/conf/distros/noble/calamares/libexec/calamares-logs-helper.sh +0 -0
  27. package/conf/distros/noble/calamares/libexec/calamares-nomodeset.sh +0 -0
  28. package/conf/distros/opensuse/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  29. package/conf/distros/opensuse/calamares/settings.yml +0 -0
  30. package/conf/distros/opensuse/calamares/zstd2lzo.sh +0 -0
  31. package/conf/distros/trixie/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  32. package/conf/distros/trixie/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
  33. package/conf/distros/trixie/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  34. package/conf/init/unattended.sh +0 -0
  35. package/dracut/create-symlink +0 -0
  36. package/dracut/export +0 -0
  37. package/dracut/export-dracut-analysis +0 -0
  38. package/dracut/export-dracut-log +0 -0
  39. package/dracut/mkisofs +0 -0
  40. package/dracut/modules.d/00debug-shell/debug-hook.sh +0 -0
  41. package/dracut/modules.d/00debug-shell/module-setup.sh +0 -0
  42. package/dracut/modules.d/90block/block-cmdline.sh +0 -0
  43. package/dracut/modules.d/90block/module-setup.sh +0 -0
  44. package/dracut/modules.d/95iso-scan/iso-scan-fallback.sh +0 -0
  45. package/dracut/modules.d/95iso-scan/iso-scan.sh +0 -0
  46. package/dracut/modules.d/95iso-scan/module-setup.sh +0 -0
  47. package/dracut/modules.d/95luks-loop/luks-loop.sh +0 -0
  48. package/dracut/modules.d/95luks-loop/module-setup.sh +0 -0
  49. package/dracut/renew-initramfs +0 -0
  50. package/dracut/sbin2bin +0 -0
  51. package/dracut/update-dracut-conf-d +0 -0
  52. package/dracut/update-dracut-modules +0 -0
  53. package/eui/eui-autostart-cinnamon.desktop +0 -0
  54. package/eui/eui-autostart-xfce.desktop +0 -0
  55. package/eui/eui-create-image.sh +0 -0
  56. package/eui/eui-start.sh +0 -0
  57. package/package.json +124 -130
  58. package/perrisbrewery/scripts/postinst +0 -0
  59. package/perrisbrewery/scripts/postrm +0 -0
  60. package/perrisbrewery/scripts/preinst +0 -0
  61. package/perrisbrewery/scripts/prerm +0 -0
  62. package/scripts/99clean +0 -0
  63. package/scripts/adapt.sh +0 -0
  64. package/scripts/boot-encrypted-root.sh +138 -95
  65. package/scripts/bros/waydroid-helper.sh +0 -0
  66. package/scripts/lsb_release +0 -0
  67. package/scripts/mom.sh +0 -0
  68. package/scripts/mount-encrypted-home.sh +130 -65
  69. package/scripts/pve-live.service +0 -0
  70. package/scripts/pve-live.sh +0 -0
  71. package/scripts/resy +0 -0
  72. package/dist/classes/bleach.d.ts +0 -37
  73. package/dist/classes/bleach.js +0 -148
  74. package/dist/classes/cli-autologin.d.ts +0 -52
  75. package/dist/classes/cli-autologin.js +0 -252
  76. package/dist/classes/compressors.d.ts +0 -54
  77. package/dist/classes/compressors.js +0 -109
  78. package/dist/classes/daddy.d.ts +0 -26
  79. package/dist/classes/daddy.js +0 -175
  80. package/dist/classes/distro.d.ts +0 -32
  81. package/dist/classes/distro.js +0 -363
  82. package/dist/classes/diversions.d.ts +0 -53
  83. package/dist/classes/diversions.js +0 -131
  84. package/dist/classes/incubation/branding.d.ts +0 -17
  85. package/dist/classes/incubation/branding.js +0 -85
  86. package/dist/classes/incubation/customize/customize-partitions.d.ts +0 -4
  87. package/dist/classes/incubation/customize/customize-partitions.js +0 -29
  88. package/dist/classes/incubation/fisherman-helper/initcpio.d.ts +0 -1
  89. package/dist/classes/incubation/fisherman-helper/initcpio.js +0 -69
  90. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  91. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  92. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  93. package/dist/classes/incubation/fisherman-helper/settings.js +0 -116
  94. package/dist/classes/incubation/fisherman.d.ts +0 -71
  95. package/dist/classes/incubation/fisherman.js +0 -281
  96. package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
  97. package/dist/classes/incubation/incubator.d/alpine.js +0 -78
  98. package/dist/classes/incubation/incubator.d/archlinux.d.ts +0 -32
  99. package/dist/classes/incubation/incubator.d/archlinux.js +0 -82
  100. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  101. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  102. package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
  103. package/dist/classes/incubation/incubator.d/buster.js +0 -101
  104. package/dist/classes/incubation/incubator.d/fedora.d.ts +0 -32
  105. package/dist/classes/incubation/incubator.d/fedora.js +0 -81
  106. package/dist/classes/incubation/incubator.d/focal.d.ts +0 -32
  107. package/dist/classes/incubation/incubator.d/focal.js +0 -85
  108. package/dist/classes/incubation/incubator.d/manjaro.d.ts +0 -32
  109. package/dist/classes/incubation/incubator.d/manjaro.js +0 -82
  110. package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
  111. package/dist/classes/incubation/incubator.d/noble.js +0 -102
  112. package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
  113. package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
  114. package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
  115. package/dist/classes/incubation/incubator.d/opensuse.js +0 -81
  116. package/dist/classes/incubation/incubator.d/trixie.d.ts +0 -32
  117. package/dist/classes/incubation/incubator.d/trixie.js +0 -98
  118. package/dist/classes/incubation/incubator.d.ts +0 -48
  119. package/dist/classes/incubation/incubator.js +0 -378
  120. package/dist/classes/incubation/installer.d.ts +0 -13
  121. package/dist/classes/incubation/installer.js +0 -52
  122. package/dist/classes/keyboards.d.ts +0 -50
  123. package/dist/classes/keyboards.js +0 -287
  124. package/dist/classes/locales.d.ts +0 -21
  125. package/dist/classes/locales.js +0 -77
  126. package/dist/classes/network.d.ts +0 -37
  127. package/dist/classes/network.js +0 -98
  128. package/dist/classes/ovary.d/bind-live-fs.d.ts +0 -18
  129. package/dist/classes/ovary.d/bind-live-fs.js +0 -185
  130. package/dist/classes/ovary.d/bind-vfs.d.ts +0 -17
  131. package/dist/classes/ovary.d/bind-vfs.js +0 -37
  132. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +0 -13
  133. package/dist/classes/ovary.d/create-xdg-autostart.js +0 -194
  134. package/dist/classes/ovary.d/edit-live-fs.d.ts +0 -20
  135. package/dist/classes/ovary.d/edit-live-fs.js +0 -239
  136. package/dist/classes/ovary.d/fertilization.d.ts +0 -12
  137. package/dist/classes/ovary.d/fertilization.js +0 -53
  138. package/dist/classes/ovary.d/finished.d.ts +0 -13
  139. package/dist/classes/ovary.d/finished.js +0 -40
  140. package/dist/classes/ovary.d/initrd.d.ts +0 -21
  141. package/dist/classes/ovary.d/initrd.js +0 -96
  142. package/dist/classes/ovary.d/kernel-copy.d.ts +0 -12
  143. package/dist/classes/ovary.d/kernel-copy.js +0 -22
  144. package/dist/classes/ovary.d/live-create-structure.d.ts +0 -12
  145. package/dist/classes/ovary.d/live-create-structure.js +0 -70
  146. package/dist/classes/ovary.d/luks-get-password.d.ts +0 -12
  147. package/dist/classes/ovary.d/luks-get-password.js +0 -58
  148. package/dist/classes/ovary.d/luks-home-support.d.ts +0 -12
  149. package/dist/classes/ovary.d/luks-home-support.js +0 -75
  150. package/dist/classes/ovary.d/luks-home.d.ts +0 -15
  151. package/dist/classes/ovary.d/luks-home.js +0 -152
  152. package/dist/classes/ovary.d/luks-root-initrd.d.ts +0 -17
  153. package/dist/classes/ovary.d/luks-root-initrd.js +0 -213
  154. package/dist/classes/ovary.d/luks-root.d.ts +0 -15
  155. package/dist/classes/ovary.d/luks-root.js +0 -151
  156. package/dist/classes/ovary.d/make-dot-disk.d.ts +0 -12
  157. package/dist/classes/ovary.d/make-dot-disk.js +0 -71
  158. package/dist/classes/ovary.d/make-efi.d.ts +0 -14
  159. package/dist/classes/ovary.d/make-efi.js +0 -290
  160. package/dist/classes/ovary.d/make-iso.d.ts +0 -13
  161. package/dist/classes/ovary.d/make-iso.js +0 -45
  162. package/dist/classes/ovary.d/make-squashfs.d.ts +0 -18
  163. package/dist/classes/ovary.d/make-squashfs.js +0 -111
  164. package/dist/classes/ovary.d/merged.d.ts +0 -27
  165. package/dist/classes/ovary.d/merged.js +0 -78
  166. package/dist/classes/ovary.d/produce.d.ts +0 -23
  167. package/dist/classes/ovary.d/produce.js +0 -348
  168. package/dist/classes/ovary.d/rexec.d.ts +0 -13
  169. package/dist/classes/ovary.d/rexec.js +0 -34
  170. package/dist/classes/ovary.d/syslinux.d.ts +0 -12
  171. package/dist/classes/ovary.d/syslinux.js +0 -95
  172. package/dist/classes/ovary.d/user-create-live.d.ts +0 -14
  173. package/dist/classes/ovary.d/user-create-live.js +0 -97
  174. package/dist/classes/ovary.d/users-remove.d.ts +0 -9
  175. package/dist/classes/ovary.d/users-remove.js +0 -38
  176. package/dist/classes/ovary.d/xorriso-command.d.ts +0 -14
  177. package/dist/classes/ovary.d/xorriso-command.js +0 -120
  178. package/dist/classes/ovary.d.ts +0 -105
  179. package/dist/classes/ovary.js +0 -116
  180. package/dist/classes/pacman.d/alpine.d.ts +0 -56
  181. package/dist/classes/pacman.d/alpine.js +0 -167
  182. package/dist/classes/pacman.d/archlinux.d.ts +0 -62
  183. package/dist/classes/pacman.d/archlinux.js +0 -128
  184. package/dist/classes/pacman.d/debian.d.ts +0 -65
  185. package/dist/classes/pacman.d/debian.js +0 -143
  186. package/dist/classes/pacman.d/fedora.d.ts +0 -53
  187. package/dist/classes/pacman.d/fedora.js +0 -107
  188. package/dist/classes/pacman.d/openmamba.d.ts +0 -52
  189. package/dist/classes/pacman.d/openmamba.js +0 -106
  190. package/dist/classes/pacman.d/opensuse.d.ts +0 -53
  191. package/dist/classes/pacman.d/opensuse.js +0 -109
  192. package/dist/classes/pacman.d.ts +0 -139
  193. package/dist/classes/pacman.js +0 -683
  194. package/dist/classes/pve-live.d.ts +0 -17
  195. package/dist/classes/pve-live.js +0 -52
  196. package/dist/classes/pxe.d.ts +0 -76
  197. package/dist/classes/pxe.js +0 -353
  198. package/dist/classes/settings.d.ts +0 -52
  199. package/dist/classes/settings.js +0 -185
  200. package/dist/classes/sources_list.d.ts +0 -28
  201. package/dist/classes/sources_list.js +0 -89
  202. package/dist/classes/systemctl.d.ts +0 -47
  203. package/dist/classes/systemctl.js +0 -86
  204. package/dist/classes/tailor.d.ts +0 -50
  205. package/dist/classes/tailor.js +0 -563
  206. package/dist/classes/tools.d.ts +0 -26
  207. package/dist/classes/tools.js +0 -50
  208. package/dist/classes/users.d.ts +0 -28
  209. package/dist/classes/users.js +0 -143
  210. package/dist/classes/utils.d/kernel.d.ts +0 -39
  211. package/dist/classes/utils.d/kernel.js +0 -206
  212. package/dist/classes/utils.d.ts +0 -330
  213. package/dist/classes/utils.js +0 -968
  214. package/dist/classes/xdg.d.ts +0 -45
  215. package/dist/classes/xdg.js +0 -337
  216. package/dist/classes/yolk.d.ts +0 -33
  217. package/dist/classes/yolk.js +0 -114
  218. package/dist/commands/adapt.d.ts +0 -17
  219. package/dist/commands/adapt.js +0 -33
  220. package/dist/commands/analyze.d.ts +0 -26
  221. package/dist/commands/analyze.js +0 -95
  222. package/dist/commands/calamares.d.ts +0 -29
  223. package/dist/commands/calamares.js +0 -112
  224. package/dist/commands/config.d.ts +0 -35
  225. package/dist/commands/config.js +0 -120
  226. package/dist/commands/cuckoo.d.ts +0 -17
  227. package/dist/commands/cuckoo.js +0 -61
  228. package/dist/commands/dad.d.ts +0 -21
  229. package/dist/commands/dad.js +0 -47
  230. package/dist/commands/export/iso.d.ts +0 -19
  231. package/dist/commands/export/iso.js +0 -55
  232. package/dist/commands/export/pkg.d.ts +0 -29
  233. package/dist/commands/export/pkg.js +0 -173
  234. package/dist/commands/export/tarballs.d.ts +0 -27
  235. package/dist/commands/export/tarballs.js +0 -79
  236. package/dist/commands/install.d.ts +0 -39
  237. package/dist/commands/install.js +0 -113
  238. package/dist/commands/kill.d.ts +0 -24
  239. package/dist/commands/kill.js +0 -50
  240. package/dist/commands/love.d.ts +0 -25
  241. package/dist/commands/love.js +0 -118
  242. package/dist/commands/mom.d.ts +0 -16
  243. package/dist/commands/mom.js +0 -30
  244. package/dist/commands/pods.d.ts +0 -22
  245. package/dist/commands/pods.js +0 -92
  246. package/dist/commands/produce.d.ts +0 -37
  247. package/dist/commands/produce.js +0 -232
  248. package/dist/commands/status.d.ts +0 -23
  249. package/dist/commands/status.js +0 -31
  250. package/dist/commands/tools/clean.d.ts +0 -18
  251. package/dist/commands/tools/clean.js +0 -37
  252. package/dist/commands/tools/repo.d.ts +0 -31
  253. package/dist/commands/tools/repo.js +0 -246
  254. package/dist/commands/tools/skel.d.ts +0 -18
  255. package/dist/commands/tools/skel.js +0 -44
  256. package/dist/commands/tools/stat.d.ts +0 -31
  257. package/dist/commands/tools/stat.js +0 -70
  258. package/dist/commands/tools/yolk.d.ts +0 -24
  259. package/dist/commands/tools/yolk.js +0 -45
  260. package/dist/commands/update.d.ts +0 -46
  261. package/dist/commands/update.js +0 -238
  262. package/dist/commands/wardrobe/get.d.ts +0 -23
  263. package/dist/commands/wardrobe/get.js +0 -52
  264. package/dist/commands/wardrobe/list.d.ts +0 -24
  265. package/dist/commands/wardrobe/list.js +0 -125
  266. package/dist/commands/wardrobe/show.d.ts +0 -25
  267. package/dist/commands/wardrobe/show.js +0 -97
  268. package/dist/commands/wardrobe/wear.d.ts +0 -26
  269. package/dist/commands/wardrobe/wear.js +0 -84
  270. package/dist/dhcpd-proxy/classes/packet.d.ts +0 -36
  271. package/dist/dhcpd-proxy/classes/packet.js +0 -124
  272. package/dist/dhcpd-proxy/index.d.ts +0 -4
  273. package/dist/dhcpd-proxy/index.js +0 -4
  274. package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +0 -45
  275. package/dist/dhcpd-proxy/interfaces/i-pxe.js +0 -1
  276. package/dist/dhcpd-proxy/lib/packet/converters.d.ts +0 -11
  277. package/dist/dhcpd-proxy/lib/packet/converters.js +0 -395
  278. package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +0 -10
  279. package/dist/dhcpd-proxy/lib/packet/message-types.js +0 -12
  280. package/dist/dhcpd-proxy/lib/packet/options.d.ts +0 -8
  281. package/dist/dhcpd-proxy/lib/packet/options.js +0 -264
  282. package/dist/dhcpd-proxy/lib/sprintf.d.ts +0 -6
  283. package/dist/dhcpd-proxy/lib/sprintf.js +0 -130
  284. package/dist/dhcpd-proxy/lib/utils.d.ts +0 -126
  285. package/dist/dhcpd-proxy/lib/utils.js +0 -255
  286. package/dist/dhcpd-proxy/simple-proxy.d.ts +0 -11
  287. package/dist/dhcpd-proxy/simple-proxy.js +0 -118
  288. package/dist/index.d.ts +0 -8
  289. package/dist/index.js +0 -8
  290. package/dist/interfaces/calamares/i-calamares-bootloader.d.ts +0 -23
  291. package/dist/interfaces/calamares/i-calamares-bootloader.js +0 -7
  292. package/dist/interfaces/calamares/i-calamares-branding.d.ts +0 -46
  293. package/dist/interfaces/calamares/i-calamares-branding.js +0 -1
  294. package/dist/interfaces/calamares/i-calamares-displaymanager.d.ts +0 -34
  295. package/dist/interfaces/calamares/i-calamares-displaymanager.js +0 -1
  296. package/dist/interfaces/calamares/i-calamares-finished.d.ts +0 -14
  297. package/dist/interfaces/calamares/i-calamares-finished.js +0 -1
  298. package/dist/interfaces/calamares/i-calamares-packages.d.ts +0 -26
  299. package/dist/interfaces/calamares/i-calamares-packages.js +0 -1
  300. package/dist/interfaces/calamares/i-calamares-partitions.d.ts +0 -39
  301. package/dist/interfaces/calamares/i-calamares-partitions.js +0 -1
  302. package/dist/interfaces/calamares/i-calamares-settings.d.ts +0 -36
  303. package/dist/interfaces/calamares/i-calamares-settings.js +0 -1
  304. package/dist/interfaces/i-addons.d.ts +0 -12
  305. package/dist/interfaces/i-addons.js +0 -8
  306. package/dist/interfaces/i-analyze.d.ts +0 -17
  307. package/dist/interfaces/i-analyze.js +0 -17
  308. package/dist/interfaces/i-app.d.ts +0 -14
  309. package/dist/interfaces/i-app.js +0 -8
  310. package/dist/interfaces/i-config-tools.d.ts +0 -15
  311. package/dist/interfaces/i-config-tools.js +0 -8
  312. package/dist/interfaces/i-devices.d.ts +0 -20
  313. package/dist/interfaces/i-devices.js +0 -8
  314. package/dist/interfaces/i-distro.d.ts +0 -23
  315. package/dist/interfaces/i-distro.js +0 -8
  316. package/dist/interfaces/i-drive-list.d.ts +0 -33
  317. package/dist/interfaces/i-drive-list.js +0 -8
  318. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  319. package/dist/interfaces/i-eggs-config.js +0 -8
  320. package/dist/interfaces/i-excludes.d.ts +0 -14
  321. package/dist/interfaces/i-excludes.js +0 -8
  322. package/dist/interfaces/i-exec.d.ts +0 -11
  323. package/dist/interfaces/i-exec.js +0 -8
  324. package/dist/interfaces/i-initrd.d.ts +0 -13
  325. package/dist/interfaces/i-initrd.js +0 -8
  326. package/dist/interfaces/i-install.d.ts +0 -16
  327. package/dist/interfaces/i-install.js +0 -8
  328. package/dist/interfaces/i-installer.d.ts +0 -17
  329. package/dist/interfaces/i-installer.js +0 -8
  330. package/dist/interfaces/i-luks-passphrase.d.ts +0 -11
  331. package/dist/interfaces/i-luks-passphrase.js +0 -8
  332. package/dist/interfaces/i-materia.d.ts +0 -36
  333. package/dist/interfaces/i-materia.js +0 -8
  334. package/dist/interfaces/i-net.d.ts +0 -16
  335. package/dist/interfaces/i-net.js +0 -8
  336. package/dist/interfaces/i-os-release.d.ts +0 -5
  337. package/dist/interfaces/i-os-release.js +0 -1
  338. package/dist/interfaces/i-packages.d.ts +0 -16
  339. package/dist/interfaces/i-packages.js +0 -8
  340. package/dist/interfaces/i-partitions.d.ts +0 -16
  341. package/dist/interfaces/i-partitions.js +0 -8
  342. package/dist/interfaces/i-pxe.d.ts +0 -45
  343. package/dist/interfaces/i-pxe.js +0 -1
  344. package/dist/interfaces/i-remix.d.ts +0 -21
  345. package/dist/interfaces/i-remix.js +0 -8
  346. package/dist/interfaces/i-settings.d.ts +0 -33
  347. package/dist/interfaces/i-settings.js +0 -8
  348. package/dist/interfaces/i-user.d.ts +0 -14
  349. package/dist/interfaces/i-user.js +0 -8
  350. package/dist/interfaces/i-workdir.d.ts +0 -14
  351. package/dist/interfaces/i-workdir.js +0 -8
  352. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  353. package/dist/interfaces/i-xkb-model.js +0 -8
  354. package/dist/interfaces/index.d.ts +0 -26
  355. package/dist/interfaces/index.js +0 -8
  356. package/dist/krill/classes/cfs.d.ts +0 -17
  357. package/dist/krill/classes/cfs.js +0 -39
  358. package/dist/krill/classes/krill_enums.d.ts +0 -37
  359. package/dist/krill/classes/krill_enums.js +0 -41
  360. package/dist/krill/classes/prepare.d/confirm.d.ts +0 -5
  361. package/dist/krill/classes/prepare.d/confirm.js +0 -30
  362. package/dist/krill/classes/prepare.d/keyboard.d.ts +0 -14
  363. package/dist/krill/classes/prepare.d/keyboard.js +0 -62
  364. package/dist/krill/classes/prepare.d/location.d.ts +0 -17
  365. package/dist/krill/classes/prepare.d/location.js +0 -59
  366. package/dist/krill/classes/prepare.d/network.d.ts +0 -14
  367. package/dist/krill/classes/prepare.d/network.js +0 -68
  368. package/dist/krill/classes/prepare.d/partitions.d.ts +0 -14
  369. package/dist/krill/classes/prepare.d/partitions.js +0 -86
  370. package/dist/krill/classes/prepare.d/summary.d.ts +0 -15
  371. package/dist/krill/classes/prepare.d/summary.js +0 -72
  372. package/dist/krill/classes/prepare.d/users.d.ts +0 -6
  373. package/dist/krill/classes/prepare.d/users.js +0 -63
  374. package/dist/krill/classes/prepare.d/welcome.d.ts +0 -6
  375. package/dist/krill/classes/prepare.d/welcome.js +0 -30
  376. package/dist/krill/classes/prepare.d.ts +0 -89
  377. package/dist/krill/classes/prepare.js +0 -319
  378. package/dist/krill/classes/sequence.d/add_user.d.ts +0 -20
  379. package/dist/krill/classes/sequence.d/add_user.js +0 -77
  380. package/dist/krill/classes/sequence.d/bootloader.d.ts +0 -14
  381. package/dist/krill/classes/sequence.d/bootloader.js +0 -117
  382. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +0 -14
  383. package/dist/krill/classes/sequence.d/bootloader_config.js +0 -192
  384. package/dist/krill/classes/sequence.d/change_password.d.ts +0 -15
  385. package/dist/krill/classes/sequence.d/change_password.js +0 -18
  386. package/dist/krill/classes/sequence.d/del_live_user.d.ts +0 -14
  387. package/dist/krill/classes/sequence.d/del_live_user.js +0 -39
  388. package/dist/krill/classes/sequence.d/fstab.d.ts +0 -14
  389. package/dist/krill/classes/sequence.d/fstab.js +0 -177
  390. package/dist/krill/classes/sequence.d/grubcfg.d.ts +0 -17
  391. package/dist/krill/classes/sequence.d/grubcfg.js +0 -35
  392. package/dist/krill/classes/sequence.d/hostname.d.ts +0 -13
  393. package/dist/krill/classes/sequence.d/hostname.js +0 -50
  394. package/dist/krill/classes/sequence.d/initramfs.d.ts +0 -13
  395. package/dist/krill/classes/sequence.d/initramfs.js +0 -54
  396. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +0 -14
  397. package/dist/krill/classes/sequence.d/initramfs_cfg.js +0 -35
  398. package/dist/krill/classes/sequence.d/locale.d.ts +0 -13
  399. package/dist/krill/classes/sequence.d/locale.js +0 -91
  400. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +0 -10
  401. package/dist/krill/classes/sequence.d/locale_cfg.js +0 -58
  402. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +0 -14
  403. package/dist/krill/classes/sequence.d/m_keyboard.js +0 -58
  404. package/dist/krill/classes/sequence.d/machine_id.d.ts +0 -15
  405. package/dist/krill/classes/sequence.d/machine_id.js +0 -33
  406. package/dist/krill/classes/sequence.d/mkfs.d.ts +0 -15
  407. package/dist/krill/classes/sequence.d/mkfs.js +0 -88
  408. package/dist/krill/classes/sequence.d/mount_fs.d.ts +0 -17
  409. package/dist/krill/classes/sequence.d/mount_fs.js +0 -68
  410. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +0 -17
  411. package/dist/krill/classes/sequence.d/mount_vfs.js +0 -59
  412. package/dist/krill/classes/sequence.d/network_cfg.d.ts +0 -19
  413. package/dist/krill/classes/sequence.d/network_cfg.js +0 -73
  414. package/dist/krill/classes/sequence.d/packages.d.ts +0 -14
  415. package/dist/krill/classes/sequence.d/packages.js +0 -111
  416. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +0 -17
  417. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +0 -73
  418. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +0 -16
  419. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +0 -51
  420. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +0 -17
  421. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +0 -77
  422. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +0 -10
  423. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -33
  424. package/dist/krill/classes/sequence.d/partition.d.ts +0 -14
  425. package/dist/krill/classes/sequence.d/partition.js +0 -84
  426. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +0 -13
  427. package/dist/krill/classes/sequence.d/remove_installer_link.js +0 -35
  428. package/dist/krill/classes/sequence.d/umount.d.ts +0 -14
  429. package/dist/krill/classes/sequence.d/umount.js +0 -28
  430. package/dist/krill/classes/sequence.d/unpackfs.d.ts +0 -13
  431. package/dist/krill/classes/sequence.d/unpackfs.js +0 -20
  432. package/dist/krill/classes/sequence.d.ts +0 -134
  433. package/dist/krill/classes/sequence.js +0 -400
  434. package/dist/krill/components/finished.d.ts +0 -16
  435. package/dist/krill/components/finished.js +0 -56
  436. package/dist/krill/components/information.d.ts +0 -8
  437. package/dist/krill/components/information.js +0 -162
  438. package/dist/krill/components/install.d.ts +0 -15
  439. package/dist/krill/components/install.js +0 -60
  440. package/dist/krill/components/keyboard.d.ts +0 -16
  441. package/dist/krill/components/keyboard.js +0 -54
  442. package/dist/krill/components/location.d.ts +0 -16
  443. package/dist/krill/components/location.js +0 -59
  444. package/dist/krill/components/network.d.ts +0 -19
  445. package/dist/krill/components/network.js +0 -65
  446. package/dist/krill/components/partitions.d.ts +0 -18
  447. package/dist/krill/components/partitions.js +0 -89
  448. package/dist/krill/components/steps.d.ts +0 -13
  449. package/dist/krill/components/steps.js +0 -148
  450. package/dist/krill/components/summary.d.ts +0 -25
  451. package/dist/krill/components/summary.js +0 -77
  452. package/dist/krill/components/title.d.ts +0 -11
  453. package/dist/krill/components/title.js +0 -35
  454. package/dist/krill/components/users.d.ts +0 -24
  455. package/dist/krill/components/users.js +0 -80
  456. package/dist/krill/components/welcome.d.ts +0 -13
  457. package/dist/krill/components/welcome.js +0 -63
  458. package/dist/krill/interfaces/i_krill.d.ts +0 -44
  459. package/dist/krill/interfaces/i_krill.js +0 -8
  460. package/dist/krill/interfaces/i_krill_config.d.ts +0 -35
  461. package/dist/krill/interfaces/i_krill_config.js +0 -8
  462. package/dist/krill/lib/get_address.d.ts +0 -8
  463. package/dist/krill/lib/get_address.js +0 -23
  464. package/dist/krill/lib/get_dns.d.ts +0 -8
  465. package/dist/krill/lib/get_dns.js +0 -23
  466. package/dist/krill/lib/get_domain.d.ts +0 -8
  467. package/dist/krill/lib/get_domain.js +0 -23
  468. package/dist/krill/lib/get_gateway.d.ts +0 -8
  469. package/dist/krill/lib/get_gateway.js +0 -23
  470. package/dist/krill/lib/get_hostname.d.ts +0 -8
  471. package/dist/krill/lib/get_hostname.js +0 -23
  472. package/dist/krill/lib/get_luks_passphrase.d.ts +0 -8
  473. package/dist/krill/lib/get_luks_passphrase.js +0 -32
  474. package/dist/krill/lib/get_netmask.d.ts +0 -8
  475. package/dist/krill/lib/get_netmask.js +0 -23
  476. package/dist/krill/lib/get_password.d.ts +0 -8
  477. package/dist/krill/lib/get_password.js +0 -36
  478. package/dist/krill/lib/get_userfullname.d.ts +0 -8
  479. package/dist/krill/lib/get_userfullname.js +0 -23
  480. package/dist/krill/lib/get_username.d.ts +0 -8
  481. package/dist/krill/lib/get_username.js +0 -23
  482. package/dist/krill/lib/select_address_type.d.ts +0 -8
  483. package/dist/krill/lib/select_address_type.js +0 -24
  484. package/dist/krill/lib/select_filesystem_type.d.ts +0 -8
  485. package/dist/krill/lib/select_filesystem_type.js +0 -40
  486. package/dist/krill/lib/select_installation_device.d.ts +0 -8
  487. package/dist/krill/lib/select_installation_device.js +0 -40
  488. package/dist/krill/lib/select_installation_mode.d.ts +0 -9
  489. package/dist/krill/lib/select_installation_mode.js +0 -25
  490. package/dist/krill/lib/select_interface.d.ts +0 -8
  491. package/dist/krill/lib/select_interface.js +0 -24
  492. package/dist/krill/lib/select_keyboard_layout.d.ts +0 -11
  493. package/dist/krill/lib/select_keyboard_layout.js +0 -36
  494. package/dist/krill/lib/select_keyboard_model.d.ts +0 -11
  495. package/dist/krill/lib/select_keyboard_model.js +0 -34
  496. package/dist/krill/lib/select_keyboard_option.d.ts +0 -11
  497. package/dist/krill/lib/select_keyboard_option.js +0 -34
  498. package/dist/krill/lib/select_keyboard_variant.d.ts +0 -11
  499. package/dist/krill/lib/select_keyboard_variant.js +0 -35
  500. package/dist/krill/lib/select_languages.d.ts +0 -8
  501. package/dist/krill/lib/select_languages.js +0 -28
  502. package/dist/krill/lib/select_regions.d.ts +0 -8
  503. package/dist/krill/lib/select_regions.js +0 -24
  504. package/dist/krill/lib/select_replaced_partition.d.ts +0 -8
  505. package/dist/krill/lib/select_replaced_partition.js +0 -31
  506. package/dist/krill/lib/select_user_swap_choice.d.ts +0 -9
  507. package/dist/krill/lib/select_user_swap_choice.js +0 -35
  508. package/dist/krill/lib/select_zones.d.ts +0 -8
  509. package/dist/krill/lib/select_zones.js +0 -518
  510. package/dist/lib/kill_me_softly.d.ts +0 -11
  511. package/dist/lib/kill_me_softly.js +0 -61
  512. package/dist/lib/utils.d.ts +0 -19
  513. package/dist/lib/utils.js +0 -65
@@ -1,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 includeRootHome
21
- * @param verbose
22
- */
23
- export declare function produce(this: Ovary, kernel: string | undefined, clone: boolean | undefined, homecrypt: boolean | undefined, fullcrypt: boolean | undefined, hidden: boolean | undefined, scriptOnly: boolean | undefined, yolkRenew: boolean | undefined, release: boolean | undefined, myAddons: IAddons, myLinks: string[], excludes: IExcludes, nointeractive?: boolean, noicons?: boolean, includeRootHome?: boolean, verbose?: boolean): Promise<void>;
@@ -1,348 +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 Incubator from './../incubation/incubator.js';
18
- import Pacman from './../pacman.js';
19
- import Diversions from './../diversions.js';
20
- // classes
21
- import Utils from './../utils.js';
22
- import Repo from './../yolk.js';
23
- // _dirname
24
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
25
- /**
26
- * produce
27
- * @param clone
28
- * @param homecrypt
29
- * @param scriptOnly
30
- * @param yolkRenew
31
- * @param release
32
- * @param myAddons
33
- * @param nointeractive
34
- * @param noicons
35
- * @param includeRootHome
36
- * @param verbose
37
- */
38
- export async function produce(kernel = '', clone = false, homecrypt = false, fullcrypt = false, hidden = false, scriptOnly = false, yolkRenew = false, release = false, myAddons, myLinks, excludes, nointeractive = false, noicons = false, includeRootHome = false, verbose = false) {
39
- this.verbose = verbose;
40
- this.echo = Utils.setEcho(verbose);
41
- if (this.verbose) {
42
- this.toNull = ' > /dev/null 2>&1';
43
- }
44
- this.kernel = kernel;
45
- this.nest = this.settings.config.snapshot_dir;
46
- this.dotMnt = `${this.nest}.mnt`;
47
- this.dotOverlay = this.settings.work_dir;
48
- this.dotLivefs = this.settings.work_dir.merged;
49
- this.clone = clone;
50
- this.homecrypt = homecrypt;
51
- this.fullcrypt = fullcrypt;
52
- this.hidden = hidden;
53
- // Crittografia
54
- if (this.homecrypt || this.fullcrypt) {
55
- if (this.homecrypt) {
56
- this.luksMappedName = 'home.img';
57
- }
58
- else if (this.fullcrypt) {
59
- this.luksMappedName = 'root.img';
60
- }
61
- this.luksFile = `/tmp/${this.luksMappedName}`;
62
- this.luksMappedName = this.luksMappedName;
63
- this.luksMountpoint = `/tmp/mnt/${this.luksMappedName}`;
64
- this.luksDevice = `/dev/mapper/${this.luksMappedName}`;
65
- this.luksPassword = '0'; // USARE UNA PASSWORD SICURA IN PRODUZIONE!
66
- Utils.warning("You choose an encrypted eggs");
67
- await this.luksGetPassword();
68
- }
69
- /**
70
- * define kernel
71
- */
72
- if (this.kernel === '') {
73
- if (this.familyId === 'alpine') {
74
- const moduleDirs = fs.readdirSync('/lib/modules');
75
- this.kernel = moduleDirs[0];
76
- }
77
- else if (this.familyId === 'archlinux') { // arch, manjaro
78
- const moduleDirs = fs.readdirSync('/usr/lib/modules');
79
- this.kernel = moduleDirs[0];
80
- }
81
- else { // debian, fedora, openmamba, opensuse, voidlinux
82
- let vmlinuz = path.basename(Utils.vmlinuz());
83
- this.kernel = vmlinuz.substring(vmlinuz.indexOf('-') + 1);
84
- }
85
- }
86
- /**
87
- * define vmlinuz and initrd fullpath
88
- */
89
- this.vmlinuz = Utils.vmlinuz();
90
- this.initrd = Utils.initrdImg(this.kernel);
91
- /**
92
- * yolk
93
- */
94
- if (this.familyId === 'debian' && Utils.uefiArch() === 'amd64') {
95
- const yolk = new Repo();
96
- if (!yolk.exists()) {
97
- Utils.warning('creating yolk');
98
- await yolk.create(verbose);
99
- }
100
- else if (yolkRenew) {
101
- Utils.warning('refreshing yolk');
102
- await yolk.erase();
103
- await yolk.create(verbose);
104
- }
105
- else {
106
- Utils.warning('using preesixent yolk');
107
- }
108
- }
109
- if (!fs.existsSync(this.settings.config.snapshot_dir)) {
110
- shx.mkdir('-p', this.settings.config.snapshot_dir);
111
- }
112
- if (Utils.isLive()) {
113
- console.log(chalk.red('>>> eggs: This is a live system! An egg cannot be produced from an egg!'));
114
- }
115
- else {
116
- await this.liveCreateStructure();
117
- // Carica calamares solo se le icone sono accettate
118
- if (!noicons && // se VOGLIO le icone
119
- !nointeractive &&
120
- this.settings.distro.isCalamaresAvailable &&
121
- Pacman.isInstalledGui() &&
122
- this.settings.config.force_installer &&
123
- !Pacman.calamaresExists()) {
124
- console.log('Installing ' + chalk.bgGray('calamares') + ' due force_installer=yes.');
125
- await Pacman.calamaresInstall(verbose);
126
- const bleach = new Bleach();
127
- await bleach.clean(verbose);
128
- }
129
- /**
130
- * homecrypt/fullcrypt/clone/standard
131
- */
132
- if (this.homecrypt) {
133
- this.settings.config.user_opt = 'live'; // patch for humans
134
- this.settings.config.user_opt_passwd = 'evolution';
135
- Utils.warning("eggs will SAVE users and users' data ENCRYPTED on the live (ISO)/live/home.img");
136
- }
137
- else if (this.fullcrypt) {
138
- Utils.warning("eggs will SAVE full system ENCRYPTED on the live (ISO)/live/root.img");
139
- }
140
- else if (this.clone) {
141
- this.settings.config.user_opt = 'live'; // patch for humans
142
- this.settings.config.user_opt_passwd = 'evolution';
143
- this.settings.config.root_passwd = 'evolution';
144
- Utils.warning("eggs will SAVE users and users' data on CLEAR on the live (ISO)/live/filesystem.squashfs");
145
- }
146
- else {
147
- Utils.warning("eggs will REMOVE users and users' data from live");
148
- }
149
- /**
150
- * exclude.list
151
- */
152
- if (!excludes.static && !fs.existsSync('/etc/penguins-eggs/exclude.list')) {
153
- const excludeListTemplateDir = '/etc/penguins-eggs.d/exclude.list.d/';
154
- const excludeListTemplate = excludeListTemplateDir + 'master.list';
155
- if (!fs.existsSync(excludeListTemplate)) {
156
- Utils.warning('Cannot find: ' + excludeListTemplate);
157
- process.exit(1);
158
- }
159
- let excludeUsr = '';
160
- let excludeVar = '';
161
- let excludeHomes = '';
162
- let excludeHome = '';
163
- if (excludes.usr) {
164
- excludeUsr = fs.readFileSync(`${excludeListTemplateDir}usr.list`, 'utf8');
165
- }
166
- if (excludes.var) {
167
- excludeVar = fs.readFileSync(`${excludeListTemplateDir}var.list`, 'utf8');
168
- }
169
- if (excludes.homes) {
170
- excludeHomes = fs.readFileSync(`${excludeListTemplateDir}homes.list`, 'utf8');
171
- }
172
- if (excludes.home) {
173
- excludeHome = `home/${await Utils.getPrimaryUser()}/*`;
174
- }
175
- const view = {
176
- home_list: excludeHome,
177
- homes_list: excludeHomes,
178
- usr_list: excludeUsr,
179
- var_list: excludeVar
180
- };
181
- const template = fs.readFileSync(excludeListTemplate, 'utf8');
182
- fs.writeFileSync(this.settings.config.snapshot_excludes, mustache.render(template, view));
183
- }
184
- /**
185
- * NOTE: reCreate = false
186
- *
187
- * reCreate = false is just for develop
188
- * put reCreate = true in release
189
- */
190
- const reCreate = true;
191
- let mksquashfsCmd = '';
192
- if (reCreate) {
193
- // start pre-clone
194
- /**
195
- * installer
196
- */
197
- this.incubator = new Incubator(this.settings.remix, this.settings.distro, this.settings.config.user_opt, this.theme, this.clone || this.fullcrypt, verbose);
198
- await this.incubator.config(release);
199
- // Qua inseriamo uno sleep di un minuto
200
- await Utils.sleep(5000); // 5 secondo
201
- await this.bindLiveFs();
202
- await this.bindVfs();
203
- /**
204
- * kernelCopy
205
- */
206
- await this.kernelCopy();
207
- /**
208
- * initrd creation
209
- */
210
- if (fullcrypt) {
211
- await this.luksRootInitrd();
212
- }
213
- else {
214
- if (this.familyId === 'alpine') {
215
- await this.initrdAlpine();
216
- }
217
- else if (this.familyId === 'archlinux') {
218
- await this.initrdArch();
219
- }
220
- else if (this.familyId === 'debian') {
221
- await this.initrdDebian();
222
- }
223
- else if (this.familyId === 'fedora' ||
224
- this.familyId === 'openmamba' ||
225
- this.familyId === 'opensuse' ||
226
- this.familyId === 'voidlinux') {
227
- await this.initrdDracut();
228
- }
229
- }
230
- // We dont' need more
231
- await this.ubindVfs();
232
- const cleanSystem = !(this.clone || this.fullcrypt);
233
- if (cleanSystem) {
234
- /**
235
- * SOLO per homecrypt e standard
236
- */
237
- await this.usersRemove();
238
- await this.userCreateLive();
239
- if (Pacman.isInstalledGui()) {
240
- await this.createXdgAutostart(this.settings.config.theme, myAddons, myLinks, noicons);
241
- /**
242
- * GUI installed but NOT Desktop Manager: just create motd and issue
243
- */
244
- // if (displaymanager().length > 0) {
245
- // 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)
246
- // 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)
247
- // }
248
- }
249
- else {
250
- 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);
251
- }
252
- }
253
- await this.editLiveFs(clone);
254
- if (this.homecrypt) {
255
- /**
256
- * homecrypt: installa il supporto
257
- */
258
- const squashfsRoot = this.settings.work_dir.merged;
259
- const homeImgPath = this.distroLliveMediumPath + 'live/home.img';
260
- this.installHomecryptSupport(squashfsRoot, homeImgPath);
261
- }
262
- mksquashfsCmd = await this.makeSquashfs(scriptOnly, includeRootHome);
263
- await this.uBindLiveFs(); // we don't need more
264
- }
265
- /**
266
- * we now work just on ISO and filesystem.squashfs
267
- */
268
- if (homecrypt) {
269
- await this.luksHome();
270
- }
271
- else if (fullcrypt) {
272
- await this.luksRoot();
273
- }
274
- /**
275
- * makeEfi and syslinux was moved
276
- * after luksRoot
277
- * to get luks.uuid
278
- */
279
- if (this.settings.config.make_efi) {
280
- await this.makeEfi(this.theme);
281
- }
282
- // need syslinux?
283
- const arch = process.arch;
284
- if (arch === 'ia32' || arch === 'x64') {
285
- await this.syslinux(this.theme);
286
- }
287
- const mkIsofsCmd = (await this.xorrisoCommand(clone, homecrypt, fullcrypt)).replaceAll(/\s\s+/g, ' ');
288
- this.makeDotDisk(this.volid, mksquashfsCmd, mkIsofsCmd);
289
- /**
290
- * AntiX/MX LINUX
291
- */
292
- if (fs.existsSync('/etc/antix-version')) {
293
- let uname = (await exec('uname -r', { capture: true })).data;
294
- uname = uname.replaceAll('\n', '');
295
- let content = '';
296
- content = '#!/usr/bin/env bash';
297
- content += 'mkdir /live/bin -p\n';
298
- content += '## \n';
299
- content += '# cp /usr/lib/penguins-eggs/scripts/non-live-cmdline /live/bin -p\n';
300
- content += '# chmod +x /live/bin/non-live-cmdline\n';
301
- content += '## \n';
302
- content += 'mkdir /live/boot-dev/antiX -p\n';
303
- content += 'ln -s /run/live/medium/live/filesystem.squashfs /live/boot-dev/antiX/linuxfs\n';
304
- content += `ln -s /run/live/medium/live/initrd.img-${uname} /live/boot-dev/antiX/initrd.gz\n`;
305
- content += `ln -s /run/live/medium/live/vmlinuz-${uname} /live/boot-dev/antiX/vmlinuz\n`;
306
- content += `# md5sum /live/boot-dev/antiX/linuxfs > /live/boot-dev/antiX/linuxfs.md5\n`;
307
- content += `# md5sum /live/boot-dev/antiX/initrd.gz > /live/boot-dev/antiX/initrd.gz.md5\n`;
308
- content += `# md5sum /live/boot-dev/antiX/vmlinuz > /live/boot-dev/antiX/vmlinuz.md5\n`;
309
- content += `# /live/aufs -> /run/live/rootfs/filesystem.squashfs\n`;
310
- content += 'ln -s /run/live/rootfs/filesystem.squashfs /live/aufs\n';
311
- content += `# use: minstall -no-media-check\n`;
312
- content += 'minstall --no-media-check\n';
313
- const file = `${this.settings.iso_work}antix-mx-installer`;
314
- fs.writeFileSync(file, content);
315
- await exec(`chmod +x ${file}`);
316
- }
317
- /**
318
- * patch to emulate miso/archiso on archilinux family
319
- */
320
- if (this.familyId === 'archlinux') {
321
- let filesystemName = `arch/x86_64/airootfs.sfs`;
322
- let hashCmd = 'sha512sum';
323
- let hashExt = '.sha512';
324
- if (Diversions.isManjaroBased(this.settings.distro.distroId)) {
325
- filesystemName = `manjaro/x86_64/livefs.sfs`;
326
- hashCmd = `md5sum`;
327
- hashExt = '.md5';
328
- }
329
- await exec(`mkdir ${this.settings.iso_work}${path.dirname(filesystemName)} -p`, this.echo);
330
- await exec(`ln ${this.settings.iso_work}live/filesystem.squashfs ${this.settings.iso_work}${filesystemName}`, this.echo);
331
- /**
332
- * patch 4 mksquashfs
333
- */
334
- let fname = `${this.settings.work_dir.ovarium}mksquashfs`;
335
- let content = fs.readFileSync(fname, 'utf8');
336
- const patched = '# Arch and Manjaro based distro need this link';
337
- // not need check, is always clean here... but OK
338
- if (!content.includes(patched)) {
339
- content += patched + '\n';
340
- content += `if [ ! -e "${filesystemName}" ]; then\n`;
341
- content += ` ln ${this.settings.iso_work}live/filesystem.squashfs ${this.settings.iso_work}${filesystemName}\n`;
342
- content += `fi\n`;
343
- fs.writeFileSync(fname, content, 'utf8');
344
- }
345
- }
346
- await this.makeIso(mkIsofsCmd, scriptOnly);
347
- }
348
- }
@@ -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,95 +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 splashDest = `${this.settings.iso_work}/isolinux/splash.png`;
37
- const isolinuxThemeDest = this.settings.iso_work + 'isolinux/isolinux.theme.cfg';
38
- const isolinuxDest = `${this.settings.iso_work}/isolinux/isolinux.cfg`;
39
- let splashSrc = '';
40
- let isolinuxTemplate = '';
41
- let isolinuxThemeSrc = '';
42
- if (this.hidden) {
43
- splashSrc = path.resolve(__dirname, `../../../addons/${theme}/theme/livecd/generic-splash.png`);
44
- isolinuxTemplate = path.resolve(__dirname, '../../../addons/eggs/theme/livecd/generic.isolinux.main.cfg');
45
- isolinuxThemeSrc = path.resolve(__dirname, '../../../addons/eggs/theme/livecd/generic.isolinux.theme.cfg');
46
- }
47
- else {
48
- isolinuxThemeSrc = path.resolve(__dirname, `../../../addons/${theme}/theme/livecd/isolinux.theme.cfg`);
49
- if (this.theme.includes('/')) {
50
- isolinuxThemeSrc = `${theme}/theme/livecd/isolinux.theme.cfg`;
51
- }
52
- if (!fs.existsSync(isolinuxThemeSrc)) {
53
- Utils.warning('Cannot find: ' + isolinuxThemeSrc);
54
- process.exit();
55
- }
56
- /**
57
- * isolinux.cfg from isolinux.main.cfg
58
- */
59
- this.settings.iso_work + 'isolinux/isolinux.cfg';
60
- isolinuxTemplate = `${theme}/theme/livecd/isolinux.main.cfg`;
61
- if (!fs.existsSync(isolinuxTemplate)) {
62
- isolinuxTemplate = path.resolve(__dirname, '../../../addons/eggs/theme/livecd/isolinux.main.cfg');
63
- }
64
- if (!fs.existsSync(isolinuxTemplate)) {
65
- Utils.warning('Cannot find: ' + isolinuxTemplate);
66
- process.exit();
67
- }
68
- /**
69
- * splash
70
- */
71
- splashSrc = path.resolve(__dirname, `../../../addons/${theme}/theme/livecd/splash.png`);
72
- if (this.theme.includes('/')) {
73
- splashSrc = path.resolve(`${theme}/theme/livecd/splash.png`);
74
- }
75
- if (!fs.existsSync(splashSrc)) {
76
- Utils.warning('Cannot find: ' + splashSrc);
77
- process.exit();
78
- }
79
- }
80
- // Splash
81
- fs.copyFileSync(splashSrc, splashDest);
82
- // isolinux.theme.cfg
83
- fs.copyFileSync(isolinuxThemeSrc, isolinuxThemeDest);
84
- // isolinux.main.cfg
85
- const kernel_parameters = Diversions.kernelParameters(this.familyId, this.volid, this.fullcrypt);
86
- let template = fs.readFileSync(isolinuxTemplate, 'utf8');
87
- const view = {
88
- fullname: this.settings.remix.fullname.toUpperCase(),
89
- initrdImg: `/live/${path.basename(this.initrd)}`,
90
- kernel: this.kernel,
91
- kernel_parameters,
92
- vmlinuz: `/live/${path.basename(this.vmlinuz)}`
93
- };
94
- fs.writeFileSync(isolinuxDest, mustache.render(template, view));
95
- }
@@ -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>;