penguins-eggs 25.10.3 → 25.10.6

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 (456) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/README.md +826 -0
  3. package/conf/distros/archlinux/calamares/modules/bootloader.yml +86 -0
  4. package/conf/distros/archlinux/calamares/modules/partition.yml +8 -386
  5. package/conf/distros/archlinux/calamares/settings.yml +0 -4
  6. package/conf/distros/fedora/calamares/modules/README.md +4 -0
  7. package/conf/distros/fedora/calamares/modules/bootloader.yml +2 -1
  8. package/conf/distros/fedora/calamares/modules/mount.yml +6 -1
  9. package/conf/distros/fedora/calamares/settings.yml +6 -1
  10. package/conf/distros/focal/calamares/modules/mount.yml +23 -5
  11. package/conf/distros/noble/calamares/libexec/calamares-l10n-helper.sh +3 -0
  12. package/conf/distros/opensuse/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +1 -1
  13. package/conf/distros/opensuse/calamares/modules/dracut.mustache +7 -0
  14. package/conf/distros/opensuse/calamares/modules/packages.mustache +1 -0
  15. package/conf/distros/opensuse/calamares/modules/removeuser.mustache +2 -1
  16. package/conf/distros/opensuse/calamares/modules/unpackfs.mustache +2 -1
  17. package/conf/distros/opensuse/calamares/settings.yml +1 -1
  18. package/dist/classes/bleach.d.ts +37 -0
  19. package/dist/classes/bleach.js +148 -0
  20. package/dist/classes/cli-autologin.d.ts +52 -0
  21. package/dist/classes/cli-autologin.js +252 -0
  22. package/dist/classes/compressors.d.ts +54 -0
  23. package/dist/classes/compressors.js +109 -0
  24. package/dist/classes/daddy.d.ts +26 -0
  25. package/dist/classes/daddy.js +175 -0
  26. package/dist/classes/distro.d.ts +32 -0
  27. package/dist/classes/distro.js +356 -0
  28. package/dist/classes/diversions.d.ts +53 -0
  29. package/dist/classes/diversions.js +133 -0
  30. package/dist/classes/incubation/branding.d.ts +17 -0
  31. package/dist/classes/incubation/branding.js +85 -0
  32. package/dist/classes/incubation/customize/customize-partitions.d.ts +4 -0
  33. package/dist/classes/incubation/customize/customize-partitions.js +29 -0
  34. package/dist/classes/incubation/fisherman-helper/initcpio.d.ts +1 -0
  35. package/dist/classes/incubation/fisherman-helper/initcpio.js +69 -0
  36. package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
  37. package/dist/classes/incubation/fisherman-helper/packages.js +72 -0
  38. package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
  39. package/dist/classes/incubation/fisherman-helper/settings.js +116 -0
  40. package/dist/classes/incubation/fisherman.d.ts +71 -0
  41. package/dist/classes/incubation/fisherman.js +281 -0
  42. package/dist/classes/incubation/incubator.d/alpine.d.ts +32 -0
  43. package/dist/classes/incubation/incubator.d/alpine.js +78 -0
  44. package/dist/classes/incubation/incubator.d/archlinux.d.ts +32 -0
  45. package/dist/classes/incubation/incubator.d/archlinux.js +81 -0
  46. package/dist/classes/incubation/incubator.d/bionic.d.ts +32 -0
  47. package/dist/classes/incubation/incubator.d/bionic.js +83 -0
  48. package/dist/classes/incubation/incubator.d/buster.d.ts +32 -0
  49. package/dist/classes/incubation/incubator.d/buster.js +101 -0
  50. package/dist/classes/incubation/incubator.d/fedora.d.ts +32 -0
  51. package/dist/classes/incubation/incubator.d/fedora.js +81 -0
  52. package/dist/classes/incubation/incubator.d/focal.d.ts +32 -0
  53. package/dist/classes/incubation/incubator.d/focal.js +85 -0
  54. package/dist/classes/incubation/incubator.d/manjaro.d.ts +32 -0
  55. package/dist/classes/incubation/incubator.d/manjaro.js +82 -0
  56. package/dist/classes/incubation/incubator.d/noble.d.ts +32 -0
  57. package/dist/classes/incubation/incubator.d/noble.js +102 -0
  58. package/dist/classes/incubation/incubator.d/openmamba.d.ts +32 -0
  59. package/dist/classes/incubation/incubator.d/openmamba.js +81 -0
  60. package/dist/classes/incubation/incubator.d/opensuse.d.ts +32 -0
  61. package/dist/classes/incubation/incubator.d/opensuse.js +81 -0
  62. package/dist/classes/incubation/incubator.d/trixie.d.ts +32 -0
  63. package/dist/classes/incubation/incubator.d/trixie.js +101 -0
  64. package/dist/classes/incubation/incubator.d.ts +48 -0
  65. package/dist/classes/incubation/incubator.js +378 -0
  66. package/dist/classes/incubation/installer.d.ts +13 -0
  67. package/dist/classes/incubation/installer.js +52 -0
  68. package/dist/classes/keyboards.d.ts +50 -0
  69. package/dist/classes/keyboards.js +287 -0
  70. package/dist/classes/locales.d.ts +21 -0
  71. package/dist/classes/locales.js +77 -0
  72. package/dist/classes/network.d.ts +37 -0
  73. package/dist/classes/network.js +98 -0
  74. package/dist/classes/ovary.d/bind-live-fs.d.ts +18 -0
  75. package/dist/classes/ovary.d/bind-live-fs.js +185 -0
  76. package/dist/classes/ovary.d/bind-vfs.d.ts +17 -0
  77. package/dist/classes/ovary.d/bind-vfs.js +37 -0
  78. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +13 -0
  79. package/dist/classes/ovary.d/create-xdg-autostart.js +194 -0
  80. package/dist/classes/ovary.d/edit-live-fs.d.ts +20 -0
  81. package/dist/classes/ovary.d/edit-live-fs.js +245 -0
  82. package/dist/classes/ovary.d/fertilization.d.ts +12 -0
  83. package/dist/classes/ovary.d/fertilization.js +52 -0
  84. package/dist/classes/ovary.d/finished.d.ts +13 -0
  85. package/dist/classes/ovary.d/finished.js +44 -0
  86. package/dist/classes/ovary.d/initrd.d.ts +21 -0
  87. package/dist/classes/ovary.d/initrd.js +97 -0
  88. package/dist/classes/ovary.d/kernel-copy.d.ts +12 -0
  89. package/dist/classes/ovary.d/kernel-copy.js +22 -0
  90. package/dist/classes/ovary.d/live-create-structure.d.ts +12 -0
  91. package/dist/classes/ovary.d/live-create-structure.js +73 -0
  92. package/dist/classes/ovary.d/make-dot-disk.d.ts +12 -0
  93. package/dist/classes/ovary.d/make-dot-disk.js +62 -0
  94. package/dist/classes/ovary.d/make-efi.d.ts +14 -0
  95. package/dist/classes/ovary.d/make-efi.js +274 -0
  96. package/dist/classes/ovary.d/make-iso.d.ts +13 -0
  97. package/dist/classes/ovary.d/make-iso.js +45 -0
  98. package/dist/classes/ovary.d/make-squashfs.d.ts +18 -0
  99. package/dist/classes/ovary.d/make-squashfs.js +110 -0
  100. package/dist/classes/ovary.d/merged.d.ts +27 -0
  101. package/dist/classes/ovary.d/merged.js +78 -0
  102. package/dist/classes/ovary.d/produce.d.ts +23 -0
  103. package/dist/classes/ovary.d/produce.js +319 -0
  104. package/dist/classes/ovary.d/rexec.d.ts +13 -0
  105. package/dist/classes/ovary.d/rexec.js +34 -0
  106. package/dist/classes/ovary.d/syslinux.d.ts +12 -0
  107. package/dist/classes/ovary.d/syslinux.js +82 -0
  108. package/dist/classes/ovary.d/user-create-live.d.ts +14 -0
  109. package/dist/classes/ovary.d/user-create-live.js +97 -0
  110. package/dist/classes/ovary.d/users-remove.d.ts +9 -0
  111. package/dist/classes/ovary.d/users-remove.js +38 -0
  112. package/dist/classes/ovary.d/xorriso-command.d.ts +14 -0
  113. package/dist/classes/ovary.d/xorriso-command.js +123 -0
  114. package/dist/classes/ovary.d.ts +87 -0
  115. package/dist/classes/ovary.js +90 -0
  116. package/dist/classes/pacman.d/alpine.d.ts +56 -0
  117. package/dist/classes/pacman.d/alpine.js +167 -0
  118. package/dist/classes/pacman.d/archlinux.d.ts +62 -0
  119. package/dist/classes/pacman.d/archlinux.js +128 -0
  120. package/dist/classes/pacman.d/debian.d.ts +65 -0
  121. package/dist/classes/pacman.d/debian.js +143 -0
  122. package/dist/classes/pacman.d/fedora.d.ts +53 -0
  123. package/dist/classes/pacman.d/fedora.js +107 -0
  124. package/dist/classes/pacman.d/openmamba.d.ts +52 -0
  125. package/dist/classes/pacman.d/openmamba.js +106 -0
  126. package/dist/classes/pacman.d/opensuse.d.ts +53 -0
  127. package/dist/classes/pacman.d/opensuse.js +109 -0
  128. package/dist/classes/pacman.d.ts +139 -0
  129. package/dist/classes/pacman.js +683 -0
  130. package/dist/classes/pve-live.d.ts +17 -0
  131. package/dist/classes/pve-live.js +52 -0
  132. package/dist/classes/pxe.d.ts +76 -0
  133. package/dist/classes/pxe.js +353 -0
  134. package/dist/classes/settings.d.ts +52 -0
  135. package/dist/classes/settings.js +185 -0
  136. package/dist/classes/sources_list.d.ts +28 -0
  137. package/dist/classes/sources_list.js +89 -0
  138. package/dist/classes/systemctl.d.ts +47 -0
  139. package/dist/classes/systemctl.js +86 -0
  140. package/dist/classes/tailor.d.ts +50 -0
  141. package/dist/classes/tailor.js +563 -0
  142. package/dist/classes/tools.d.ts +26 -0
  143. package/dist/classes/tools.js +50 -0
  144. package/dist/classes/users.d.ts +28 -0
  145. package/dist/classes/users.js +143 -0
  146. package/dist/classes/utils.d/kernel.d.ts +39 -0
  147. package/dist/classes/utils.d/kernel.js +206 -0
  148. package/dist/classes/utils.d.ts +327 -0
  149. package/dist/classes/utils.js +955 -0
  150. package/dist/classes/xdg.d.ts +45 -0
  151. package/dist/classes/xdg.js +337 -0
  152. package/dist/classes/yolk.d.ts +33 -0
  153. package/dist/classes/yolk.js +114 -0
  154. package/dist/commands/adapt.d.ts +17 -0
  155. package/dist/commands/adapt.js +33 -0
  156. package/dist/commands/analyze.d.ts +26 -0
  157. package/dist/commands/analyze.js +95 -0
  158. package/dist/commands/calamares.d.ts +29 -0
  159. package/dist/commands/calamares.js +112 -0
  160. package/dist/commands/config.d.ts +35 -0
  161. package/dist/commands/config.js +120 -0
  162. package/dist/commands/cuckoo.d.ts +17 -0
  163. package/dist/commands/cuckoo.js +61 -0
  164. package/dist/commands/dad.d.ts +21 -0
  165. package/dist/commands/dad.js +47 -0
  166. package/dist/commands/export/iso.d.ts +19 -0
  167. package/dist/commands/export/iso.js +55 -0
  168. package/dist/commands/export/pkg.d.ts +29 -0
  169. package/dist/commands/export/pkg.js +173 -0
  170. package/dist/commands/export/tarballs.d.ts +27 -0
  171. package/dist/commands/export/tarballs.js +79 -0
  172. package/dist/commands/install.d.ts +39 -0
  173. package/dist/commands/install.js +113 -0
  174. package/dist/commands/kill.d.ts +24 -0
  175. package/dist/commands/kill.js +50 -0
  176. package/dist/commands/love.d.ts +21 -0
  177. package/dist/commands/love.js +73 -0
  178. package/dist/commands/mom.d.ts +16 -0
  179. package/dist/commands/mom.js +30 -0
  180. package/dist/commands/pods.d.ts +22 -0
  181. package/dist/commands/pods.js +92 -0
  182. package/dist/commands/produce.d.ts +35 -0
  183. package/dist/commands/produce.js +221 -0
  184. package/dist/commands/status.d.ts +23 -0
  185. package/dist/commands/status.js +31 -0
  186. package/dist/commands/syncfrom.d.ts +45 -0
  187. package/dist/commands/syncfrom.js +152 -0
  188. package/dist/commands/syncto.d.ts +40 -0
  189. package/dist/commands/syncto.js +175 -0
  190. package/dist/commands/tools/clean.d.ts +18 -0
  191. package/dist/commands/tools/clean.js +37 -0
  192. package/dist/commands/tools/ppa.d.ts +31 -0
  193. package/dist/commands/tools/ppa.js +244 -0
  194. package/dist/commands/tools/skel.d.ts +18 -0
  195. package/dist/commands/tools/skel.js +44 -0
  196. package/dist/commands/tools/stat.d.ts +31 -0
  197. package/dist/commands/tools/stat.js +70 -0
  198. package/dist/commands/tools/yolk.d.ts +24 -0
  199. package/dist/commands/tools/yolk.js +45 -0
  200. package/dist/commands/update.d.ts +46 -0
  201. package/dist/commands/update.js +238 -0
  202. package/dist/commands/wardrobe/get.d.ts +23 -0
  203. package/dist/commands/wardrobe/get.js +52 -0
  204. package/dist/commands/wardrobe/list.d.ts +24 -0
  205. package/dist/commands/wardrobe/list.js +125 -0
  206. package/dist/commands/wardrobe/show.d.ts +25 -0
  207. package/dist/commands/wardrobe/show.js +97 -0
  208. package/dist/commands/wardrobe/wear.d.ts +26 -0
  209. package/dist/commands/wardrobe/wear.js +84 -0
  210. package/dist/dhcpd-proxy/classes/packet.d.ts +36 -0
  211. package/dist/dhcpd-proxy/classes/packet.js +124 -0
  212. package/dist/dhcpd-proxy/index.d.ts +4 -0
  213. package/dist/dhcpd-proxy/index.js +4 -0
  214. package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +45 -0
  215. package/dist/dhcpd-proxy/interfaces/i-pxe.js +1 -0
  216. package/dist/dhcpd-proxy/lib/packet/converters.d.ts +11 -0
  217. package/dist/dhcpd-proxy/lib/packet/converters.js +395 -0
  218. package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +10 -0
  219. package/dist/dhcpd-proxy/lib/packet/message-types.js +12 -0
  220. package/dist/dhcpd-proxy/lib/packet/options.d.ts +8 -0
  221. package/dist/dhcpd-proxy/lib/packet/options.js +264 -0
  222. package/dist/dhcpd-proxy/lib/sprintf.d.ts +6 -0
  223. package/dist/dhcpd-proxy/lib/sprintf.js +130 -0
  224. package/dist/dhcpd-proxy/lib/utils.d.ts +126 -0
  225. package/dist/dhcpd-proxy/lib/utils.js +255 -0
  226. package/dist/dhcpd-proxy/simple-proxy.d.ts +11 -0
  227. package/dist/dhcpd-proxy/simple-proxy.js +118 -0
  228. package/dist/index.d.ts +8 -0
  229. package/dist/index.js +8 -0
  230. package/dist/interfaces/calamares/i-calamares-bootloader.d.ts +23 -0
  231. package/dist/interfaces/calamares/i-calamares-bootloader.js +7 -0
  232. package/dist/interfaces/calamares/i-calamares-branding.d.ts +46 -0
  233. package/dist/interfaces/calamares/i-calamares-branding.js +1 -0
  234. package/dist/interfaces/calamares/i-calamares-displaymanager.d.ts +34 -0
  235. package/dist/interfaces/calamares/i-calamares-displaymanager.js +1 -0
  236. package/dist/interfaces/calamares/i-calamares-finished.d.ts +14 -0
  237. package/dist/interfaces/calamares/i-calamares-finished.js +1 -0
  238. package/dist/interfaces/calamares/i-calamares-packages.d.ts +26 -0
  239. package/dist/interfaces/calamares/i-calamares-packages.js +1 -0
  240. package/dist/interfaces/calamares/i-calamares-partitions.d.ts +39 -0
  241. package/dist/interfaces/calamares/i-calamares-partitions.js +1 -0
  242. package/dist/interfaces/calamares/i-calamares-settings.d.ts +36 -0
  243. package/dist/interfaces/calamares/i-calamares-settings.js +1 -0
  244. package/dist/interfaces/i-addons.d.ts +12 -0
  245. package/dist/interfaces/i-addons.js +8 -0
  246. package/dist/interfaces/i-analyze.d.ts +17 -0
  247. package/dist/interfaces/i-analyze.js +17 -0
  248. package/dist/interfaces/i-app.d.ts +14 -0
  249. package/dist/interfaces/i-app.js +8 -0
  250. package/dist/interfaces/i-config-tools.d.ts +15 -0
  251. package/dist/interfaces/i-config-tools.js +8 -0
  252. package/dist/interfaces/i-devices.d.ts +20 -0
  253. package/dist/interfaces/i-devices.js +8 -0
  254. package/dist/interfaces/i-distro.d.ts +23 -0
  255. package/dist/interfaces/i-distro.js +8 -0
  256. package/dist/interfaces/i-drive-list.d.ts +33 -0
  257. package/dist/interfaces/i-drive-list.js +8 -0
  258. package/dist/interfaces/i-eggs-config.d.ts +32 -0
  259. package/dist/interfaces/i-eggs-config.js +8 -0
  260. package/dist/interfaces/i-excludes.d.ts +14 -0
  261. package/dist/interfaces/i-excludes.js +8 -0
  262. package/dist/interfaces/i-exec.d.ts +11 -0
  263. package/dist/interfaces/i-exec.js +8 -0
  264. package/dist/interfaces/i-initrd.d.ts +13 -0
  265. package/dist/interfaces/i-initrd.js +8 -0
  266. package/dist/interfaces/i-install.d.ts +16 -0
  267. package/dist/interfaces/i-install.js +8 -0
  268. package/dist/interfaces/i-installer.d.ts +17 -0
  269. package/dist/interfaces/i-installer.js +8 -0
  270. package/dist/interfaces/i-luks-passphrase.d.ts +11 -0
  271. package/dist/interfaces/i-luks-passphrase.js +8 -0
  272. package/dist/interfaces/i-materia.d.ts +36 -0
  273. package/dist/interfaces/i-materia.js +8 -0
  274. package/dist/interfaces/i-net.d.ts +16 -0
  275. package/dist/interfaces/i-net.js +8 -0
  276. package/dist/interfaces/i-os-release.d.ts +5 -0
  277. package/dist/interfaces/i-os-release.js +1 -0
  278. package/dist/interfaces/i-packages.d.ts +16 -0
  279. package/dist/interfaces/i-packages.js +8 -0
  280. package/dist/interfaces/i-partitions.d.ts +16 -0
  281. package/dist/interfaces/i-partitions.js +8 -0
  282. package/dist/interfaces/i-pxe.d.ts +45 -0
  283. package/dist/interfaces/i-pxe.js +1 -0
  284. package/dist/interfaces/i-remix.d.ts +21 -0
  285. package/dist/interfaces/i-remix.js +8 -0
  286. package/dist/interfaces/i-settings.d.ts +33 -0
  287. package/dist/interfaces/i-settings.js +8 -0
  288. package/dist/interfaces/i-user.d.ts +14 -0
  289. package/dist/interfaces/i-user.js +8 -0
  290. package/dist/interfaces/i-workdir.d.ts +14 -0
  291. package/dist/interfaces/i-workdir.js +8 -0
  292. package/dist/interfaces/i-xkb-model.d.ts +24 -0
  293. package/dist/interfaces/i-xkb-model.js +8 -0
  294. package/dist/interfaces/index.d.ts +26 -0
  295. package/dist/interfaces/index.js +8 -0
  296. package/dist/krill/classes/cfs.d.ts +17 -0
  297. package/dist/krill/classes/cfs.js +39 -0
  298. package/dist/krill/classes/krill_enums.d.ts +37 -0
  299. package/dist/krill/classes/krill_enums.js +41 -0
  300. package/dist/krill/classes/prepare.d/confirm.d.ts +5 -0
  301. package/dist/krill/classes/prepare.d/confirm.js +30 -0
  302. package/dist/krill/classes/prepare.d/keyboard.d.ts +14 -0
  303. package/dist/krill/classes/prepare.d/keyboard.js +62 -0
  304. package/dist/krill/classes/prepare.d/location.d.ts +17 -0
  305. package/dist/krill/classes/prepare.d/location.js +59 -0
  306. package/dist/krill/classes/prepare.d/network.d.ts +14 -0
  307. package/dist/krill/classes/prepare.d/network.js +68 -0
  308. package/dist/krill/classes/prepare.d/partitions.d.ts +14 -0
  309. package/dist/krill/classes/prepare.d/partitions.js +86 -0
  310. package/dist/krill/classes/prepare.d/summary.d.ts +15 -0
  311. package/dist/krill/classes/prepare.d/summary.js +72 -0
  312. package/dist/krill/classes/prepare.d/users.d.ts +6 -0
  313. package/dist/krill/classes/prepare.d/users.js +63 -0
  314. package/dist/krill/classes/prepare.d/welcome.d.ts +6 -0
  315. package/dist/krill/classes/prepare.d/welcome.js +30 -0
  316. package/dist/krill/classes/prepare.d.ts +89 -0
  317. package/dist/krill/classes/prepare.js +319 -0
  318. package/dist/krill/classes/sequence.d/add_user.d.ts +20 -0
  319. package/dist/krill/classes/sequence.d/add_user.js +77 -0
  320. package/dist/krill/classes/sequence.d/bootloader.d.ts +14 -0
  321. package/dist/krill/classes/sequence.d/bootloader.js +117 -0
  322. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +14 -0
  323. package/dist/krill/classes/sequence.d/bootloader_config.js +192 -0
  324. package/dist/krill/classes/sequence.d/change_password.d.ts +15 -0
  325. package/dist/krill/classes/sequence.d/change_password.js +18 -0
  326. package/dist/krill/classes/sequence.d/del_live_user.d.ts +14 -0
  327. package/dist/krill/classes/sequence.d/del_live_user.js +39 -0
  328. package/dist/krill/classes/sequence.d/fstab.d.ts +14 -0
  329. package/dist/krill/classes/sequence.d/fstab.js +177 -0
  330. package/dist/krill/classes/sequence.d/grubcfg.d.ts +17 -0
  331. package/dist/krill/classes/sequence.d/grubcfg.js +35 -0
  332. package/dist/krill/classes/sequence.d/hostname.d.ts +13 -0
  333. package/dist/krill/classes/sequence.d/hostname.js +50 -0
  334. package/dist/krill/classes/sequence.d/initramfs.d.ts +13 -0
  335. package/dist/krill/classes/sequence.d/initramfs.js +54 -0
  336. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +14 -0
  337. package/dist/krill/classes/sequence.d/initramfs_cfg.js +35 -0
  338. package/dist/krill/classes/sequence.d/locale.d.ts +13 -0
  339. package/dist/krill/classes/sequence.d/locale.js +91 -0
  340. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +10 -0
  341. package/dist/krill/classes/sequence.d/locale_cfg.js +58 -0
  342. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +14 -0
  343. package/dist/krill/classes/sequence.d/m_keyboard.js +58 -0
  344. package/dist/krill/classes/sequence.d/machine_id.d.ts +15 -0
  345. package/dist/krill/classes/sequence.d/machine_id.js +33 -0
  346. package/dist/krill/classes/sequence.d/mkfs.d.ts +15 -0
  347. package/dist/krill/classes/sequence.d/mkfs.js +88 -0
  348. package/dist/krill/classes/sequence.d/mount_fs.d.ts +17 -0
  349. package/dist/krill/classes/sequence.d/mount_fs.js +68 -0
  350. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +17 -0
  351. package/dist/krill/classes/sequence.d/mount_vfs.js +59 -0
  352. package/dist/krill/classes/sequence.d/network_cfg.d.ts +19 -0
  353. package/dist/krill/classes/sequence.d/network_cfg.js +73 -0
  354. package/dist/krill/classes/sequence.d/packages.d.ts +14 -0
  355. package/dist/krill/classes/sequence.d/packages.js +111 -0
  356. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +17 -0
  357. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +73 -0
  358. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +16 -0
  359. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +51 -0
  360. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +17 -0
  361. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +77 -0
  362. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +10 -0
  363. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +33 -0
  364. package/dist/krill/classes/sequence.d/partition.d.ts +14 -0
  365. package/dist/krill/classes/sequence.d/partition.js +84 -0
  366. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +13 -0
  367. package/dist/krill/classes/sequence.d/remove_installer_link.js +35 -0
  368. package/dist/krill/classes/sequence.d/umount.d.ts +14 -0
  369. package/dist/krill/classes/sequence.d/umount.js +28 -0
  370. package/dist/krill/classes/sequence.d/unpackfs.d.ts +13 -0
  371. package/dist/krill/classes/sequence.d/unpackfs.js +20 -0
  372. package/dist/krill/classes/sequence.d.ts +134 -0
  373. package/dist/krill/classes/sequence.js +400 -0
  374. package/dist/krill/components/finished.d.ts +16 -0
  375. package/dist/krill/components/finished.js +56 -0
  376. package/dist/krill/components/information.d.ts +8 -0
  377. package/dist/krill/components/information.js +162 -0
  378. package/dist/krill/components/install.d.ts +15 -0
  379. package/dist/krill/components/install.js +60 -0
  380. package/dist/krill/components/keyboard.d.ts +16 -0
  381. package/dist/krill/components/keyboard.js +54 -0
  382. package/dist/krill/components/location.d.ts +16 -0
  383. package/dist/krill/components/location.js +59 -0
  384. package/dist/krill/components/network.d.ts +19 -0
  385. package/dist/krill/components/network.js +65 -0
  386. package/dist/krill/components/partitions.d.ts +18 -0
  387. package/dist/krill/components/partitions.js +89 -0
  388. package/dist/krill/components/steps.d.ts +13 -0
  389. package/dist/krill/components/steps.js +148 -0
  390. package/dist/krill/components/summary.d.ts +25 -0
  391. package/dist/krill/components/summary.js +77 -0
  392. package/dist/krill/components/title.d.ts +11 -0
  393. package/dist/krill/components/title.js +35 -0
  394. package/dist/krill/components/users.d.ts +24 -0
  395. package/dist/krill/components/users.js +80 -0
  396. package/dist/krill/components/welcome.d.ts +13 -0
  397. package/dist/krill/components/welcome.js +63 -0
  398. package/dist/krill/interfaces/i_krill.d.ts +44 -0
  399. package/dist/krill/interfaces/i_krill.js +8 -0
  400. package/dist/krill/interfaces/i_krill_config.d.ts +35 -0
  401. package/dist/krill/interfaces/i_krill_config.js +8 -0
  402. package/dist/krill/lib/get_address.d.ts +8 -0
  403. package/dist/krill/lib/get_address.js +23 -0
  404. package/dist/krill/lib/get_dns.d.ts +8 -0
  405. package/dist/krill/lib/get_dns.js +23 -0
  406. package/dist/krill/lib/get_domain.d.ts +8 -0
  407. package/dist/krill/lib/get_domain.js +23 -0
  408. package/dist/krill/lib/get_gateway.d.ts +8 -0
  409. package/dist/krill/lib/get_gateway.js +23 -0
  410. package/dist/krill/lib/get_hostname.d.ts +8 -0
  411. package/dist/krill/lib/get_hostname.js +23 -0
  412. package/dist/krill/lib/get_luks_passphrase.d.ts +8 -0
  413. package/dist/krill/lib/get_luks_passphrase.js +32 -0
  414. package/dist/krill/lib/get_netmask.d.ts +8 -0
  415. package/dist/krill/lib/get_netmask.js +23 -0
  416. package/dist/krill/lib/get_password.d.ts +8 -0
  417. package/dist/krill/lib/get_password.js +36 -0
  418. package/dist/krill/lib/get_userfullname.d.ts +8 -0
  419. package/dist/krill/lib/get_userfullname.js +23 -0
  420. package/dist/krill/lib/get_username.d.ts +8 -0
  421. package/dist/krill/lib/get_username.js +23 -0
  422. package/dist/krill/lib/select_address_type.d.ts +8 -0
  423. package/dist/krill/lib/select_address_type.js +24 -0
  424. package/dist/krill/lib/select_filesystem_type.d.ts +8 -0
  425. package/dist/krill/lib/select_filesystem_type.js +40 -0
  426. package/dist/krill/lib/select_installation_device.d.ts +8 -0
  427. package/dist/krill/lib/select_installation_device.js +40 -0
  428. package/dist/krill/lib/select_installation_mode.d.ts +9 -0
  429. package/dist/krill/lib/select_installation_mode.js +25 -0
  430. package/dist/krill/lib/select_interface.d.ts +8 -0
  431. package/dist/krill/lib/select_interface.js +24 -0
  432. package/dist/krill/lib/select_keyboard_layout.d.ts +11 -0
  433. package/dist/krill/lib/select_keyboard_layout.js +36 -0
  434. package/dist/krill/lib/select_keyboard_model.d.ts +11 -0
  435. package/dist/krill/lib/select_keyboard_model.js +34 -0
  436. package/dist/krill/lib/select_keyboard_option.d.ts +11 -0
  437. package/dist/krill/lib/select_keyboard_option.js +34 -0
  438. package/dist/krill/lib/select_keyboard_variant.d.ts +11 -0
  439. package/dist/krill/lib/select_keyboard_variant.js +35 -0
  440. package/dist/krill/lib/select_languages.d.ts +8 -0
  441. package/dist/krill/lib/select_languages.js +28 -0
  442. package/dist/krill/lib/select_regions.d.ts +8 -0
  443. package/dist/krill/lib/select_regions.js +24 -0
  444. package/dist/krill/lib/select_replaced_partition.d.ts +8 -0
  445. package/dist/krill/lib/select_replaced_partition.js +31 -0
  446. package/dist/krill/lib/select_user_swap_choice.d.ts +9 -0
  447. package/dist/krill/lib/select_user_swap_choice.js +35 -0
  448. package/dist/krill/lib/select_zones.d.ts +8 -0
  449. package/dist/krill/lib/select_zones.js +518 -0
  450. package/dist/lib/kill_me_softly.d.ts +11 -0
  451. package/dist/lib/kill_me_softly.js +61 -0
  452. package/dist/lib/utils.d.ts +19 -0
  453. package/dist/lib/utils.js +65 -0
  454. package/package.json +5 -5
  455. package/conf/distros/archlinux/calamares/modules/shellprocess@sync.yml +0 -5
  456. package/conf/distros/opensuse/calamares/modules/dracut.yml +0 -14
@@ -0,0 +1,95 @@
1
+ /**
2
+ * ./src/commands/analyze.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 { Command, Flags } from '@oclif/core';
9
+ import fs, { constants } from 'node:fs';
10
+ import { access } from 'node:fs/promises';
11
+ import si from 'systeminformation';
12
+ import Users from '../classes/users.js';
13
+ import Utils from '../classes/utils.js';
14
+ export default class Analyze extends Command {
15
+ static description = 'analyze for syncto';
16
+ static examples = ['sudo eggs analyze'];
17
+ static flags = {
18
+ help: Flags.help({ char: 'h' }),
19
+ verbose: Flags.boolean({ char: 'v', description: 'verbose' })
20
+ };
21
+ config_file = '/etc/penguins-eggs.d/eggs.yaml';
22
+ snapshot_dir = '';
23
+ work_dir = {};
24
+ /**
25
+ * fill
26
+ */
27
+ async fill() {
28
+ try {
29
+ const usersArray = [];
30
+ await access('/etc/passwd', constants.R_OK | constants.W_OK);
31
+ const passwd = fs.readFileSync('/etc/passwd', 'utf8').split('\n');
32
+ for (const element of passwd) {
33
+ const line = element.split(':');
34
+ const users = new Users(line[0], line[1], line[2], line[3], line[4], line[5], line[6]);
35
+ await users.getValues();
36
+ if (users.password !== undefined) {
37
+ usersArray.push(users);
38
+ }
39
+ }
40
+ return usersArray;
41
+ }
42
+ catch {
43
+ console.error("can't read /etc/passwd");
44
+ process.exit(1);
45
+ }
46
+ }
47
+ async run() {
48
+ Utils.titles(this.id + ' ' + this.argv);
49
+ const { flags } = await this.parse(Analyze);
50
+ let verbose = false;
51
+ if (flags.verbose) {
52
+ verbose = true;
53
+ }
54
+ Utils.warning('eggs will analyze your system, and get users data');
55
+ const echo = Utils.setEcho(verbose);
56
+ let totalSize = 0;
57
+ if (Utils.isRoot(this.id)) {
58
+ const audio = await si.audio();
59
+ const bios = await si.bios();
60
+ const blockDevices = await si.blockDevices();
61
+ const chassis = await si.chassis();
62
+ const cpu = await si.cpu();
63
+ const diskLayout = await si.diskLayout();
64
+ const mem = await si.mem();
65
+ const usb = await si.usb();
66
+ console.log(`chassis: ${chassis.manufacturer} model: ${chassis.manufacturer}`);
67
+ console.log(`bios vendor: ${bios.vendor} version: ${bios.version} revision: ${bios.revision}`);
68
+ console.log(`processor: ${cpu.brand} core: ${cpu.cores} `);
69
+ if (diskLayout[0].device !== undefined) {
70
+ console.log(`disk0: ${diskLayout[0].device}`);
71
+ }
72
+ if (diskLayout[1] !== undefined) {
73
+ console.log(`disk1: ${diskLayout[1].device}`);
74
+ }
75
+ if (diskLayout[2] !== undefined) {
76
+ console.log(`disk1: ${diskLayout[2].device}`);
77
+ }
78
+ // console.log(`name: ${blockDevices[0].name} fs: ${blockDevices[0].fsType}`)
79
+ // console.log(`name: ${blockDevices[1].name} fs: ${blockDevices[1].fsType}`)
80
+ // console.log(`name: ${blockDevices[2].name} fs: ${blockDevices[2].fsType}`)
81
+ // console.log(`name: ${blockDevices[3].name} fs: ${blockDevices[3].fsType}`)
82
+ // console.log(`usb: ${usb[0].name}`)
83
+ const users = await this.fill();
84
+ for (let i = 0; i < users.length; i++)
85
+ if (users[i].saveIt) {
86
+ console.log(`user: ${users[i].login} \thome: ${users[i].home.padEnd(16)} \tsize: ${Utils.formatBytes(users[i].size)} \tBytes: ${users[i].size} `);
87
+ totalSize += users[i].size;
88
+ }
89
+ console.log(`Total\t\t\t\t\tSize: ${Utils.formatBytes(totalSize)} \tBytes: ${totalSize}`);
90
+ }
91
+ else {
92
+ Utils.useRoot(this.id);
93
+ }
94
+ }
95
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * ./src/commands/calamares.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 { Command } from '@oclif/core';
9
+ import Incubator from '../classes/incubation/incubator.js';
10
+ import Settings from '../classes/settings.js';
11
+ import { IRemix } from '../interfaces/index.js';
12
+ export default class Calamares extends Command {
13
+ static description: string;
14
+ static examples: string[];
15
+ static flags: {
16
+ help: import("@oclif/core/interfaces").BooleanFlag<void>;
17
+ install: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
+ nointeractive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
+ policies: import("@oclif/core/interfaces").BooleanFlag<boolean>;
20
+ release: import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
+ remove: import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
+ theme: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
24
+ };
25
+ incubator: Incubator;
26
+ remix: IRemix;
27
+ settings: Settings;
28
+ run(): Promise<void>;
29
+ }
@@ -0,0 +1,112 @@
1
+ /**
2
+ * ./src/commands/calamares.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 { Command, Flags } from '@oclif/core';
9
+ import fs from 'node:fs';
10
+ import path from 'node:path';
11
+ import Incubator from '../classes/incubation/incubator.js';
12
+ import Pacman from '../classes/pacman.js';
13
+ import Settings from '../classes/settings.js';
14
+ import Utils from '../classes/utils.js';
15
+ export default class Calamares extends Command {
16
+ static description = 'configure calamares or install or configure it';
17
+ static examples = ['sudo eggs calamares', 'sudo eggs calamares --install', 'sudo eggs calamares --install --theme=/path/to/theme', 'sudo eggs calamares --remove'];
18
+ static flags = {
19
+ help: Flags.help({ char: 'h' }),
20
+ install: Flags.boolean({ char: 'i', description: 'install calamares and its dependencies' }),
21
+ nointeractive: Flags.boolean({ char: 'n', description: 'no user interaction' }),
22
+ policies: Flags.boolean({ char: 'p', description: 'configure calamares policies' }),
23
+ release: Flags.boolean({ char: 'r', description: 'release: remove calamares and all its dependencies after the installation' }),
24
+ remove: Flags.boolean({ description: 'remove calamares and its dependencies' }),
25
+ theme: Flags.string({ description: 'theme/branding for eggs and calamares' }),
26
+ verbose: Flags.boolean({ char: 'v' })
27
+ };
28
+ incubator = {};
29
+ remix = {};
30
+ settings = {};
31
+ async run() {
32
+ Utils.titles(this.id + ' ' + this.argv);
33
+ this.settings = new Settings();
34
+ const { flags } = await this.parse(Calamares);
35
+ const { verbose } = flags;
36
+ const { remove } = flags;
37
+ const { install } = flags;
38
+ const { release } = flags;
39
+ const { nointeractive } = flags;
40
+ let { policies } = flags;
41
+ let theme = 'eggs';
42
+ if (flags.theme !== undefined) {
43
+ theme = flags.theme;
44
+ if (theme.includes('/')) {
45
+ if (theme.endsWith('/')) {
46
+ theme = theme.slice(0, Math.max(0, theme.length - 1));
47
+ }
48
+ }
49
+ else {
50
+ const wpath = `/home/${await Utils.getPrimaryUser()}/.wardrobe/vendors/`;
51
+ theme = wpath + flags.theme;
52
+ }
53
+ theme = path.resolve(theme);
54
+ if (!fs.existsSync(theme + '/theme')) {
55
+ console.log('Cannot find theme: ' + theme);
56
+ process.exit();
57
+ }
58
+ }
59
+ console.log(`theme: ${theme}`);
60
+ let installer = 'krill';
61
+ if (Pacman.calamaresExists()) {
62
+ installer = 'calamares';
63
+ }
64
+ if (Utils.isRoot(this.id)) {
65
+ if (!nointeractive || (await Utils.customConfirm('Select yes to continue...'))) {
66
+ if (remove) {
67
+ if (Pacman.calamaresExists()) {
68
+ await Pacman.calamaresRemove();
69
+ if (await this.settings.load()) {
70
+ this.settings.config.force_installer = false;
71
+ this.settings.save(this.settings.config);
72
+ installer = "krill";
73
+ }
74
+ }
75
+ process.exit();
76
+ }
77
+ /**
78
+ * Install
79
+ */
80
+ if (install) {
81
+ Utils.warning('installing package calamares');
82
+ await Pacman.calamaresInstall();
83
+ if (await this.settings.load()) {
84
+ this.settings.config.force_installer = true;
85
+ this.settings.save(this.settings.config);
86
+ policies = true;
87
+ installer = "calamares";
88
+ }
89
+ }
90
+ }
91
+ /**
92
+ * policies
93
+ */
94
+ if (policies) {
95
+ Utils.warning('configuring calamares policies');
96
+ await Pacman.calamaresPolicies();
97
+ }
98
+ /**
99
+ * configure
100
+ */
101
+ if (await this.settings.load()) {
102
+ await this.settings.loadRemix(theme);
103
+ const isClone = false;
104
+ this.incubator = new Incubator(this.settings.remix, this.settings.distro, this.settings.config.user_opt, theme, isClone, verbose);
105
+ await this.incubator.config(release);
106
+ }
107
+ }
108
+ else {
109
+ Utils.useRoot(this.id);
110
+ }
111
+ }
112
+ }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * ./src/commands/config.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 { Command } from '@oclif/core';
9
+ import { IInstall } from '../interfaces/index.js';
10
+ /**
11
+ *
12
+ */
13
+ export default class Config extends Command {
14
+ static description: string;
15
+ static examples: string[];
16
+ static flags: {
17
+ clean: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
+ help: import("@oclif/core/interfaces").BooleanFlag<void>;
19
+ nointeractive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
20
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
+ };
22
+ /**
23
+ *
24
+ * @param i
25
+ * @param verbose
26
+ */
27
+ static install(i: IInstall, nointeractive?: boolean, verbose?: boolean): Promise<void>;
28
+ /**
29
+ *
30
+ *
31
+ * @param verbose
32
+ */
33
+ static thatWeNeed(nointeractive?: boolean, verbose?: boolean, cryptedclone?: boolean): Promise<IInstall>;
34
+ run(): Promise<void>;
35
+ }
@@ -0,0 +1,120 @@
1
+ /**
2
+ * ./src/commands/config.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 { Command, Flags } from '@oclif/core';
9
+ import Bleach from '../classes/bleach.js';
10
+ import Pacman from '../classes/pacman.js';
11
+ import Utils from '../classes/utils.js';
12
+ import { exec } from '../lib/utils.js';
13
+ /**
14
+ *
15
+ */
16
+ export default class Config extends Command {
17
+ static description = 'Configure eggs to run it';
18
+ static examples = ['sudo eggs config', 'sudo eggs config --clean', 'sudo eggs config --clean --nointeractive'];
19
+ static flags = {
20
+ clean: Flags.boolean({ char: 'c', description: 'remove old configuration before to create new one' }),
21
+ help: Flags.help({ char: 'h' }),
22
+ nointeractive: Flags.boolean({ char: 'n', description: 'no user interaction' }),
23
+ verbose: Flags.boolean({ char: 'v', description: 'verbose' })
24
+ };
25
+ /**
26
+ *
27
+ * @param i
28
+ * @param verbose
29
+ */
30
+ static async install(i, nointeractive = false, verbose = false) {
31
+ const echo = Utils.setEcho(verbose);
32
+ Utils.warning("sudo eggs config");
33
+ if (i.configurationInstall) {
34
+ Utils.warning('- creating configuration...');
35
+ await Pacman.configurationInstall(verbose);
36
+ }
37
+ if (i.configurationRefresh) {
38
+ Utils.warning('- refreshing configuration for new machine...');
39
+ await Pacman.configurationMachineNew(verbose);
40
+ }
41
+ if (i.distroTemplate) {
42
+ Utils.warning('- copying distro templates...');
43
+ await Pacman.distroTemplateInstall(verbose);
44
+ }
45
+ if (i.needUpdate && !nointeractive && Pacman.distro().familyId === 'debian') {
46
+ Utils.warning('- updating system...');
47
+ await exec('apt-get update --yes', echo);
48
+ }
49
+ if (i.calamares) {
50
+ let message = "- You are on a graphic system, is suggested\n";
51
+ message += " to install the GUI installer calamares.\n";
52
+ message += ' just type: "sudo eggs calamares --install"';
53
+ Utils.warning(message);
54
+ }
55
+ if (i.addEfi && Pacman.distro().familyId === 'debian') {
56
+ Utils.warning('- installing UEFI support');
57
+ await exec('apt-get install grub-efi-' + Utils.uefiArch() + '-bin --yes', echo);
58
+ }
59
+ if (i.needUpdate && !nointeractive) {
60
+ Utils.warning('cleaning the system...');
61
+ if (Pacman.distro().familyId === 'debian') {
62
+ const bleach = new Bleach();
63
+ await bleach.clean(verbose);
64
+ }
65
+ }
66
+ }
67
+ /**
68
+ *
69
+ *
70
+ * @param verbose
71
+ */
72
+ static async thatWeNeed(nointeractive = false, verbose = false, cryptedclone = false) {
73
+ const i = {};
74
+ i.distroTemplate = !Pacman.distroTemplateCheck();
75
+ i.addEfi = !Pacman.isUefi();
76
+ i.calamares = false;
77
+ if (!cryptedclone &&
78
+ !Pacman.calamaresExists() &&
79
+ Pacman.isInstalledGui() &&
80
+ Pacman.isCalamaresAvailable()) {
81
+ i.calamares = true;
82
+ }
83
+ i.configurationInstall = !Pacman.configurationCheck();
84
+ if (!i.configurationInstall) {
85
+ i.configurationRefresh = !Pacman.configurationMachineNew();
86
+ }
87
+ return i;
88
+ }
89
+ async run() {
90
+ const { flags } = await this.parse(Config);
91
+ const { nointeractive } = flags;
92
+ const { verbose } = flags;
93
+ if (!nointeractive) {
94
+ Utils.titles(this.id + ' ' + this.argv);
95
+ }
96
+ if (Utils.isRoot(this.id)) {
97
+ if (flags.clean) {
98
+ Utils.warning('removing old configurations');
99
+ await exec('rm /etc/penguins-eggs.d -rf');
100
+ }
101
+ /**
102
+ * Se stiamo utilizzando eggs da sorgenti
103
+ * Aggiungo autocomplete e manPage
104
+ */
105
+ if (Utils.isSources()) {
106
+ Utils.warning('creating autocomplete...');
107
+ await Pacman.autocompleteInstall(verbose);
108
+ Utils.warning('creating eggs man page...');
109
+ await Pacman.manPageInstall(verbose);
110
+ }
111
+ const i = await Config.thatWeNeed(nointeractive, verbose);
112
+ if (i.needUpdate || i.configurationInstall || i.configurationRefresh || i.distroTemplate) {
113
+ await Config.install(i, nointeractive, verbose);
114
+ }
115
+ }
116
+ else {
117
+ Utils.useRoot(this.id);
118
+ }
119
+ }
120
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * ./src/commands/cuckoo.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 { Command } from '@oclif/core';
9
+ export default class Cuckoo extends Command {
10
+ static description: string;
11
+ static examples: string[];
12
+ static flags: {
13
+ help: import("@oclif/core/interfaces").BooleanFlag<void>;
14
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
+ };
16
+ run(): Promise<void>;
17
+ }
@@ -0,0 +1,61 @@
1
+ /**
2
+ * ./src/commands/cuckoo.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 { Command, Flags } from '@oclif/core';
9
+ import network from '../classes/network.js';
10
+ import Pxe from '../classes/pxe.js';
11
+ import Settings from '../classes/settings.js';
12
+ import Utils from '../classes/utils.js';
13
+ export default class Cuckoo extends Command {
14
+ static description = 'PXE start with proxy-dhcp';
15
+ static examples = ['sudo eggs cuckoo'];
16
+ static flags = {
17
+ help: Flags.help({ char: 'h' }),
18
+ verbose: Flags.boolean({ char: 'v', description: 'verbose' })
19
+ };
20
+ async run() {
21
+ const { args, flags } = await this.parse(Cuckoo);
22
+ Utils.titles(this.id + ' ' + this.argv);
23
+ if (Utils.isRoot()) {
24
+ const settings = new Settings();
25
+ settings.load();
26
+ const nest = settings.config.snapshot_mnt;
27
+ const pxeRoot = nest + 'pxe';
28
+ const pxe = new Pxe(nest, pxeRoot, flags.verbose);
29
+ await pxe.fertilization();
30
+ await pxe.build();
31
+ const n = new network();
32
+ /**
33
+ * service proxy-dhcp
34
+ */
35
+ const dhcpOptions = {
36
+ bios_filename: 'lpxelinux.0',
37
+ efi32_filename: 'ipxe32.efi',
38
+ efi64_filename: 'ipxe.pxe', // era ipxe.efi
39
+ host: n.address,
40
+ subnet: n.cidr,
41
+ tftpserver: n.address,
42
+ broadcast: n.broadcast()
43
+ };
44
+ pxe.dhcpdStart(dhcpOptions);
45
+ /**
46
+ * service tftp
47
+ */
48
+ const tftpOptions = {
49
+ denyPUT: true,
50
+ host: n.address,
51
+ port: 69,
52
+ root: pxeRoot
53
+ };
54
+ await pxe.tftpStart(tftpOptions);
55
+ await pxe.httpStart();
56
+ }
57
+ else {
58
+ Utils.useRoot(this.id);
59
+ }
60
+ }
61
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * ./src/commands/dad.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 { Command } from '@oclif/core';
9
+ export default class Dad extends Command {
10
+ static description: string;
11
+ static examples: string[];
12
+ static flags: {
13
+ clean: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ default: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
+ file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ nointeractive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
+ help: import("@oclif/core/interfaces").BooleanFlag<void>;
18
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
+ };
20
+ run(): Promise<void>;
21
+ }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * ./src/commands/dad.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 { Command, Flags } from '@oclif/core';
9
+ import chalk from 'chalk';
10
+ import fs from 'node:fs';
11
+ import Daddy from '../classes/daddy.js';
12
+ import Utils from '../classes/utils.js';
13
+ import { exec } from '../lib/utils.js';
14
+ export default class Dad extends Command {
15
+ static description = 'ask help from daddy - TUI configuration helper';
16
+ static examples = ['sudo dad', 'sudo dad --clean', 'sudo dad --default'];
17
+ static flags = {
18
+ clean: Flags.boolean({ char: 'c', description: 'remove old configuration before to create' }),
19
+ default: Flags.boolean({ char: 'd', description: 'reset to default values' }),
20
+ file: Flags.string({ char: 'f', description: 'use a file configuration custom' }),
21
+ nointeractive: Flags.boolean({ char: 'n', description: 'no user interaction' }),
22
+ help: Flags.help({ char: 'h' }),
23
+ verbose: Flags.boolean({ char: 'v' })
24
+ };
25
+ async run() {
26
+ Utils.titles(this.id + ' ' + this.argv);
27
+ console.log(chalk.cyan('Daddy, what else did you leave for me?'));
28
+ const { flags } = await this.parse(Dad);
29
+ const fileCustom = flags.file;
30
+ const isCustom = fileCustom !== undefined && fileCustom !== '';
31
+ const reset = flags.default;
32
+ if (Utils.isRoot(this.id)) {
33
+ if (flags.clean || flags.default || flags.mine) {
34
+ await exec('rm /etc/penguins-eggs.d -rf');
35
+ }
36
+ if (isCustom && !fs.existsSync(fileCustom)) {
37
+ console.log(chalk.red(`Custom configuration file: ${flags.custom} not found!`));
38
+ process.exit(1);
39
+ }
40
+ const daddy = new Daddy();
41
+ daddy.helpMe(reset, isCustom, fileCustom, flags.verbose);
42
+ }
43
+ else {
44
+ Utils.useRoot(this.id);
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * ./src/commands/export/iso.ts
3
+ * penguins-eggs v.25.7.x / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import { Command } from '@oclif/core';
9
+ export default class ExportIso extends Command {
10
+ static description: string;
11
+ static examples: string[];
12
+ static flags: {
13
+ checksum: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ clean: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
+ help: import("@oclif/core/interfaces").BooleanFlag<void>;
16
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
+ };
18
+ run(): Promise<void>;
19
+ }
@@ -0,0 +1,55 @@
1
+ /**
2
+ * ./src/commands/export/iso.ts
3
+ * penguins-eggs v.25.7.x / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import { Command, Flags } from '@oclif/core';
9
+ import Tools from '../../classes/tools.js';
10
+ import Utils from '../../classes/utils.js';
11
+ import { exec } from '../../lib/utils.js';
12
+ export default class ExportIso extends Command {
13
+ static description = 'export iso in the destination host';
14
+ static examples = ['eggs export iso', 'eggs export iso --clean'];
15
+ static flags = {
16
+ checksum: Flags.boolean({ char: 'C', description: 'export checksums md5 and sha256' }),
17
+ clean: Flags.boolean({ char: 'c', description: 'delete old ISOs before to copy' }),
18
+ help: Flags.help({ char: 'h' }),
19
+ verbose: Flags.boolean({ char: 'v', description: 'verbose' })
20
+ };
21
+ async run() {
22
+ const { flags } = await this.parse(ExportIso);
23
+ Utils.titles(this.id + ' ' + this.argv);
24
+ Utils.warning(ExportIso.description);
25
+ const Tu = new Tools();
26
+ await Tu.loadSettings();
27
+ const echo = Utils.setEcho(flags.verbose);
28
+ const rmount = `/tmp/eggs-${(Math.random() + 1).toString(36).slice(7)}`;
29
+ let cmd = `rm -f ${rmount}\n`;
30
+ const filters = ['*.iso', '*.md5', '*.sha256'];
31
+ cmd += `mkdir ${rmount}\n`;
32
+ cmd += `sshfs ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathIso} ${rmount}\n`;
33
+ if (flags.clean) {
34
+ cmd += `rm -f ${rmount}/${Tu.snapshot_name}*\n`;
35
+ }
36
+ cmd += `cp ${Tu.snapshot_dir}${Tu.snapshot_name}${filters[0]} ${rmount}\n`;
37
+ if (flags.checksum) {
38
+ cmd += `cp ${Tu.snapshot_dir}${Tu.snapshot_name}${filters[1]} ${rmount}\n`;
39
+ cmd += `cp ${Tu.snapshot_dir}${Tu.snapshot_name}${filters[2]} ${rmount}\n`;
40
+ }
41
+ cmd += 'sync\n';
42
+ cmd += `umount ${rmount}\n`;
43
+ cmd += `rm -f ${rmount}\m`;
44
+ if (!flags.verbose) {
45
+ if (flags.clean) {
46
+ console.log(`remove ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathIso}${Tu.snapshot_name}${filters[0]}`);
47
+ }
48
+ if (flags.checksum) {
49
+ console.log(`export ${Tu.config.localPathIso}/${Tu.snapshot_name}${filters[1]}/${filters[2]} to ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathIso}`);
50
+ }
51
+ console.log(`scp ${Tu.config.localPathIso}/${Tu.snapshot_name}${filters[0]} ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathIso}`);
52
+ }
53
+ await exec(cmd, echo);
54
+ }
55
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * ./src/commands/export/deb.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 { Command } from '@oclif/core';
9
+ import Tools from '../../classes/tools.js';
10
+ export default class ExportPkg extends Command {
11
+ static description: string;
12
+ static examples: string[];
13
+ static flags: {
14
+ all: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
+ clean: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
+ help: import("@oclif/core/interfaces").BooleanFlag<void>;
17
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
+ };
19
+ user: string;
20
+ all: boolean;
21
+ clean: boolean;
22
+ verbose: boolean;
23
+ echo: {};
24
+ Tu: Tools;
25
+ /**
26
+ *
27
+ */
28
+ run(): Promise<void>;
29
+ }