penguins-eggs 25.10.26 → 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 (450) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/README.md +1 -768
  3. package/addons/eggs/theme/applications/install-system.desktop +1 -1
  4. package/addons/eggs/theme/livecd/generic.grub.theme.cfg +1 -3
  5. package/addons/eggs/theme/livecd/generic.isolinux.theme.cfg +1 -2
  6. package/package.json +5 -5
  7. package/dist/classes/bleach.d.ts +0 -37
  8. package/dist/classes/bleach.js +0 -148
  9. package/dist/classes/cli-autologin.d.ts +0 -52
  10. package/dist/classes/cli-autologin.js +0 -252
  11. package/dist/classes/compressors.d.ts +0 -54
  12. package/dist/classes/compressors.js +0 -109
  13. package/dist/classes/daddy.d.ts +0 -26
  14. package/dist/classes/daddy.js +0 -175
  15. package/dist/classes/distro.d.ts +0 -32
  16. package/dist/classes/distro.js +0 -363
  17. package/dist/classes/diversions.d.ts +0 -53
  18. package/dist/classes/diversions.js +0 -131
  19. package/dist/classes/incubation/branding.d.ts +0 -17
  20. package/dist/classes/incubation/branding.js +0 -85
  21. package/dist/classes/incubation/customize/customize-partitions.d.ts +0 -4
  22. package/dist/classes/incubation/customize/customize-partitions.js +0 -29
  23. package/dist/classes/incubation/fisherman-helper/initcpio.d.ts +0 -1
  24. package/dist/classes/incubation/fisherman-helper/initcpio.js +0 -69
  25. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  26. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  27. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  28. package/dist/classes/incubation/fisherman-helper/settings.js +0 -116
  29. package/dist/classes/incubation/fisherman.d.ts +0 -71
  30. package/dist/classes/incubation/fisherman.js +0 -281
  31. package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
  32. package/dist/classes/incubation/incubator.d/alpine.js +0 -78
  33. package/dist/classes/incubation/incubator.d/archlinux.d.ts +0 -32
  34. package/dist/classes/incubation/incubator.d/archlinux.js +0 -82
  35. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  36. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  37. package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
  38. package/dist/classes/incubation/incubator.d/buster.js +0 -101
  39. package/dist/classes/incubation/incubator.d/fedora.d.ts +0 -32
  40. package/dist/classes/incubation/incubator.d/fedora.js +0 -81
  41. package/dist/classes/incubation/incubator.d/focal.d.ts +0 -32
  42. package/dist/classes/incubation/incubator.d/focal.js +0 -85
  43. package/dist/classes/incubation/incubator.d/manjaro.d.ts +0 -32
  44. package/dist/classes/incubation/incubator.d/manjaro.js +0 -82
  45. package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
  46. package/dist/classes/incubation/incubator.d/noble.js +0 -102
  47. package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
  48. package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
  49. package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
  50. package/dist/classes/incubation/incubator.d/opensuse.js +0 -81
  51. package/dist/classes/incubation/incubator.d/trixie.d.ts +0 -32
  52. package/dist/classes/incubation/incubator.d/trixie.js +0 -98
  53. package/dist/classes/incubation/incubator.d.ts +0 -48
  54. package/dist/classes/incubation/incubator.js +0 -378
  55. package/dist/classes/incubation/installer.d.ts +0 -13
  56. package/dist/classes/incubation/installer.js +0 -52
  57. package/dist/classes/keyboards.d.ts +0 -50
  58. package/dist/classes/keyboards.js +0 -287
  59. package/dist/classes/locales.d.ts +0 -21
  60. package/dist/classes/locales.js +0 -77
  61. package/dist/classes/network.d.ts +0 -37
  62. package/dist/classes/network.js +0 -98
  63. package/dist/classes/ovary.d/bind-live-fs.d.ts +0 -18
  64. package/dist/classes/ovary.d/bind-live-fs.js +0 -185
  65. package/dist/classes/ovary.d/bind-vfs.d.ts +0 -17
  66. package/dist/classes/ovary.d/bind-vfs.js +0 -37
  67. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +0 -13
  68. package/dist/classes/ovary.d/create-xdg-autostart.js +0 -194
  69. package/dist/classes/ovary.d/edit-live-fs.d.ts +0 -20
  70. package/dist/classes/ovary.d/edit-live-fs.js +0 -239
  71. package/dist/classes/ovary.d/fertilization.d.ts +0 -12
  72. package/dist/classes/ovary.d/fertilization.js +0 -53
  73. package/dist/classes/ovary.d/finished.d.ts +0 -13
  74. package/dist/classes/ovary.d/finished.js +0 -40
  75. package/dist/classes/ovary.d/initrd.d.ts +0 -21
  76. package/dist/classes/ovary.d/initrd.js +0 -96
  77. package/dist/classes/ovary.d/kernel-copy.d.ts +0 -12
  78. package/dist/classes/ovary.d/kernel-copy.js +0 -22
  79. package/dist/classes/ovary.d/live-create-structure.d.ts +0 -12
  80. package/dist/classes/ovary.d/live-create-structure.js +0 -70
  81. package/dist/classes/ovary.d/luks-get-password.d.ts +0 -12
  82. package/dist/classes/ovary.d/luks-get-password.js +0 -58
  83. package/dist/classes/ovary.d/luks-home-support.d.ts +0 -12
  84. package/dist/classes/ovary.d/luks-home-support.js +0 -75
  85. package/dist/classes/ovary.d/luks-home.d.ts +0 -15
  86. package/dist/classes/ovary.d/luks-home.js +0 -159
  87. package/dist/classes/ovary.d/luks-interactive-crypto-config.d.ts +0 -47
  88. package/dist/classes/ovary.d/luks-interactive-crypto-config.js +0 -135
  89. package/dist/classes/ovary.d/luks-root-initrd.d.ts +0 -17
  90. package/dist/classes/ovary.d/luks-root-initrd.js +0 -213
  91. package/dist/classes/ovary.d/luks-root.d.ts +0 -15
  92. package/dist/classes/ovary.d/luks-root.js +0 -185
  93. package/dist/classes/ovary.d/make-dot-disk.d.ts +0 -12
  94. package/dist/classes/ovary.d/make-dot-disk.js +0 -71
  95. package/dist/classes/ovary.d/make-efi.d.ts +0 -14
  96. package/dist/classes/ovary.d/make-efi.js +0 -290
  97. package/dist/classes/ovary.d/make-iso.d.ts +0 -13
  98. package/dist/classes/ovary.d/make-iso.js +0 -45
  99. package/dist/classes/ovary.d/make-squashfs.d.ts +0 -18
  100. package/dist/classes/ovary.d/make-squashfs.js +0 -111
  101. package/dist/classes/ovary.d/merged.d.ts +0 -27
  102. package/dist/classes/ovary.d/merged.js +0 -78
  103. package/dist/classes/ovary.d/produce.d.ts +0 -23
  104. package/dist/classes/ovary.d/produce.js +0 -354
  105. package/dist/classes/ovary.d/rexec.d.ts +0 -13
  106. package/dist/classes/ovary.d/rexec.js +0 -34
  107. package/dist/classes/ovary.d/syslinux.d.ts +0 -12
  108. package/dist/classes/ovary.d/syslinux.js +0 -95
  109. package/dist/classes/ovary.d/user-create-live.d.ts +0 -14
  110. package/dist/classes/ovary.d/user-create-live.js +0 -97
  111. package/dist/classes/ovary.d/users-remove.d.ts +0 -9
  112. package/dist/classes/ovary.d/users-remove.js +0 -38
  113. package/dist/classes/ovary.d/xorriso-command.d.ts +0 -14
  114. package/dist/classes/ovary.d/xorriso-command.js +0 -120
  115. package/dist/classes/ovary.d.ts +0 -108
  116. package/dist/classes/ovary.js +0 -119
  117. package/dist/classes/pacman.d/alpine.d.ts +0 -56
  118. package/dist/classes/pacman.d/alpine.js +0 -167
  119. package/dist/classes/pacman.d/archlinux.d.ts +0 -62
  120. package/dist/classes/pacman.d/archlinux.js +0 -128
  121. package/dist/classes/pacman.d/debian.d.ts +0 -65
  122. package/dist/classes/pacman.d/debian.js +0 -143
  123. package/dist/classes/pacman.d/fedora.d.ts +0 -53
  124. package/dist/classes/pacman.d/fedora.js +0 -107
  125. package/dist/classes/pacman.d/openmamba.d.ts +0 -52
  126. package/dist/classes/pacman.d/openmamba.js +0 -106
  127. package/dist/classes/pacman.d/opensuse.d.ts +0 -53
  128. package/dist/classes/pacman.d/opensuse.js +0 -109
  129. package/dist/classes/pacman.d.ts +0 -139
  130. package/dist/classes/pacman.js +0 -683
  131. package/dist/classes/pve-live.d.ts +0 -17
  132. package/dist/classes/pve-live.js +0 -52
  133. package/dist/classes/pxe.d.ts +0 -76
  134. package/dist/classes/pxe.js +0 -353
  135. package/dist/classes/settings.d.ts +0 -52
  136. package/dist/classes/settings.js +0 -185
  137. package/dist/classes/sources_list.d.ts +0 -28
  138. package/dist/classes/sources_list.js +0 -89
  139. package/dist/classes/systemctl.d.ts +0 -47
  140. package/dist/classes/systemctl.js +0 -86
  141. package/dist/classes/tailor.d.ts +0 -50
  142. package/dist/classes/tailor.js +0 -563
  143. package/dist/classes/tools.d.ts +0 -26
  144. package/dist/classes/tools.js +0 -50
  145. package/dist/classes/users.d.ts +0 -28
  146. package/dist/classes/users.js +0 -143
  147. package/dist/classes/utils.d/kernel.d.ts +0 -39
  148. package/dist/classes/utils.d/kernel.js +0 -206
  149. package/dist/classes/utils.d.ts +0 -330
  150. package/dist/classes/utils.js +0 -968
  151. package/dist/classes/xdg.d.ts +0 -45
  152. package/dist/classes/xdg.js +0 -337
  153. package/dist/classes/yolk.d.ts +0 -33
  154. package/dist/classes/yolk.js +0 -114
  155. package/dist/commands/adapt.d.ts +0 -17
  156. package/dist/commands/adapt.js +0 -33
  157. package/dist/commands/analyze.d.ts +0 -26
  158. package/dist/commands/analyze.js +0 -95
  159. package/dist/commands/calamares.d.ts +0 -29
  160. package/dist/commands/calamares.js +0 -112
  161. package/dist/commands/config.d.ts +0 -35
  162. package/dist/commands/config.js +0 -120
  163. package/dist/commands/cuckoo.d.ts +0 -17
  164. package/dist/commands/cuckoo.js +0 -61
  165. package/dist/commands/dad.d.ts +0 -21
  166. package/dist/commands/dad.js +0 -47
  167. package/dist/commands/export/iso.d.ts +0 -19
  168. package/dist/commands/export/iso.js +0 -55
  169. package/dist/commands/export/pkg.d.ts +0 -29
  170. package/dist/commands/export/pkg.js +0 -173
  171. package/dist/commands/export/tarballs.d.ts +0 -27
  172. package/dist/commands/export/tarballs.js +0 -79
  173. package/dist/commands/install.d.ts +0 -39
  174. package/dist/commands/install.js +0 -113
  175. package/dist/commands/kill.d.ts +0 -24
  176. package/dist/commands/kill.js +0 -50
  177. package/dist/commands/love.d.ts +0 -25
  178. package/dist/commands/love.js +0 -118
  179. package/dist/commands/mom.d.ts +0 -16
  180. package/dist/commands/mom.js +0 -30
  181. package/dist/commands/pods.d.ts +0 -22
  182. package/dist/commands/pods.js +0 -92
  183. package/dist/commands/produce.d.ts +0 -37
  184. package/dist/commands/produce.js +0 -232
  185. package/dist/commands/status.d.ts +0 -23
  186. package/dist/commands/status.js +0 -31
  187. package/dist/commands/tools/clean.d.ts +0 -18
  188. package/dist/commands/tools/clean.js +0 -37
  189. package/dist/commands/tools/repo.d.ts +0 -31
  190. package/dist/commands/tools/repo.js +0 -246
  191. package/dist/commands/tools/skel.d.ts +0 -18
  192. package/dist/commands/tools/skel.js +0 -44
  193. package/dist/commands/tools/stat.d.ts +0 -31
  194. package/dist/commands/tools/stat.js +0 -70
  195. package/dist/commands/tools/yolk.d.ts +0 -24
  196. package/dist/commands/tools/yolk.js +0 -45
  197. package/dist/commands/update.d.ts +0 -46
  198. package/dist/commands/update.js +0 -238
  199. package/dist/commands/wardrobe/get.d.ts +0 -23
  200. package/dist/commands/wardrobe/get.js +0 -52
  201. package/dist/commands/wardrobe/list.d.ts +0 -24
  202. package/dist/commands/wardrobe/list.js +0 -125
  203. package/dist/commands/wardrobe/show.d.ts +0 -25
  204. package/dist/commands/wardrobe/show.js +0 -97
  205. package/dist/commands/wardrobe/wear.d.ts +0 -26
  206. package/dist/commands/wardrobe/wear.js +0 -84
  207. package/dist/dhcpd-proxy/classes/packet.d.ts +0 -36
  208. package/dist/dhcpd-proxy/classes/packet.js +0 -124
  209. package/dist/dhcpd-proxy/index.d.ts +0 -4
  210. package/dist/dhcpd-proxy/index.js +0 -4
  211. package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +0 -45
  212. package/dist/dhcpd-proxy/interfaces/i-pxe.js +0 -1
  213. package/dist/dhcpd-proxy/lib/packet/converters.d.ts +0 -11
  214. package/dist/dhcpd-proxy/lib/packet/converters.js +0 -395
  215. package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +0 -10
  216. package/dist/dhcpd-proxy/lib/packet/message-types.js +0 -12
  217. package/dist/dhcpd-proxy/lib/packet/options.d.ts +0 -8
  218. package/dist/dhcpd-proxy/lib/packet/options.js +0 -264
  219. package/dist/dhcpd-proxy/lib/sprintf.d.ts +0 -6
  220. package/dist/dhcpd-proxy/lib/sprintf.js +0 -130
  221. package/dist/dhcpd-proxy/lib/utils.d.ts +0 -126
  222. package/dist/dhcpd-proxy/lib/utils.js +0 -255
  223. package/dist/dhcpd-proxy/simple-proxy.d.ts +0 -11
  224. package/dist/dhcpd-proxy/simple-proxy.js +0 -118
  225. package/dist/index.d.ts +0 -8
  226. package/dist/index.js +0 -8
  227. package/dist/interfaces/calamares/i-calamares-bootloader.d.ts +0 -23
  228. package/dist/interfaces/calamares/i-calamares-bootloader.js +0 -7
  229. package/dist/interfaces/calamares/i-calamares-branding.d.ts +0 -46
  230. package/dist/interfaces/calamares/i-calamares-branding.js +0 -1
  231. package/dist/interfaces/calamares/i-calamares-displaymanager.d.ts +0 -34
  232. package/dist/interfaces/calamares/i-calamares-displaymanager.js +0 -1
  233. package/dist/interfaces/calamares/i-calamares-finished.d.ts +0 -14
  234. package/dist/interfaces/calamares/i-calamares-finished.js +0 -1
  235. package/dist/interfaces/calamares/i-calamares-packages.d.ts +0 -26
  236. package/dist/interfaces/calamares/i-calamares-packages.js +0 -1
  237. package/dist/interfaces/calamares/i-calamares-partitions.d.ts +0 -39
  238. package/dist/interfaces/calamares/i-calamares-partitions.js +0 -1
  239. package/dist/interfaces/calamares/i-calamares-settings.d.ts +0 -36
  240. package/dist/interfaces/calamares/i-calamares-settings.js +0 -1
  241. package/dist/interfaces/i-addons.d.ts +0 -12
  242. package/dist/interfaces/i-addons.js +0 -8
  243. package/dist/interfaces/i-analyze.d.ts +0 -17
  244. package/dist/interfaces/i-analyze.js +0 -17
  245. package/dist/interfaces/i-app.d.ts +0 -14
  246. package/dist/interfaces/i-app.js +0 -8
  247. package/dist/interfaces/i-config-tools.d.ts +0 -15
  248. package/dist/interfaces/i-config-tools.js +0 -8
  249. package/dist/interfaces/i-devices.d.ts +0 -20
  250. package/dist/interfaces/i-devices.js +0 -8
  251. package/dist/interfaces/i-distro.d.ts +0 -23
  252. package/dist/interfaces/i-distro.js +0 -8
  253. package/dist/interfaces/i-drive-list.d.ts +0 -33
  254. package/dist/interfaces/i-drive-list.js +0 -8
  255. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  256. package/dist/interfaces/i-eggs-config.js +0 -8
  257. package/dist/interfaces/i-excludes.d.ts +0 -14
  258. package/dist/interfaces/i-excludes.js +0 -8
  259. package/dist/interfaces/i-exec.d.ts +0 -11
  260. package/dist/interfaces/i-exec.js +0 -8
  261. package/dist/interfaces/i-initrd.d.ts +0 -13
  262. package/dist/interfaces/i-initrd.js +0 -8
  263. package/dist/interfaces/i-install.d.ts +0 -16
  264. package/dist/interfaces/i-install.js +0 -8
  265. package/dist/interfaces/i-installer.d.ts +0 -17
  266. package/dist/interfaces/i-installer.js +0 -8
  267. package/dist/interfaces/i-luks-passphrase.d.ts +0 -11
  268. package/dist/interfaces/i-luks-passphrase.js +0 -8
  269. package/dist/interfaces/i-materia.d.ts +0 -36
  270. package/dist/interfaces/i-materia.js +0 -8
  271. package/dist/interfaces/i-net.d.ts +0 -16
  272. package/dist/interfaces/i-net.js +0 -8
  273. package/dist/interfaces/i-os-release.d.ts +0 -5
  274. package/dist/interfaces/i-os-release.js +0 -1
  275. package/dist/interfaces/i-packages.d.ts +0 -16
  276. package/dist/interfaces/i-packages.js +0 -8
  277. package/dist/interfaces/i-partitions.d.ts +0 -16
  278. package/dist/interfaces/i-partitions.js +0 -8
  279. package/dist/interfaces/i-pxe.d.ts +0 -45
  280. package/dist/interfaces/i-pxe.js +0 -1
  281. package/dist/interfaces/i-remix.d.ts +0 -21
  282. package/dist/interfaces/i-remix.js +0 -8
  283. package/dist/interfaces/i-settings.d.ts +0 -33
  284. package/dist/interfaces/i-settings.js +0 -8
  285. package/dist/interfaces/i-user.d.ts +0 -14
  286. package/dist/interfaces/i-user.js +0 -8
  287. package/dist/interfaces/i-workdir.d.ts +0 -14
  288. package/dist/interfaces/i-workdir.js +0 -8
  289. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  290. package/dist/interfaces/i-xkb-model.js +0 -8
  291. package/dist/interfaces/index.d.ts +0 -26
  292. package/dist/interfaces/index.js +0 -8
  293. package/dist/krill/classes/cfs.d.ts +0 -17
  294. package/dist/krill/classes/cfs.js +0 -39
  295. package/dist/krill/classes/krill_enums.d.ts +0 -37
  296. package/dist/krill/classes/krill_enums.js +0 -41
  297. package/dist/krill/classes/prepare.d/confirm.d.ts +0 -5
  298. package/dist/krill/classes/prepare.d/confirm.js +0 -30
  299. package/dist/krill/classes/prepare.d/keyboard.d.ts +0 -14
  300. package/dist/krill/classes/prepare.d/keyboard.js +0 -62
  301. package/dist/krill/classes/prepare.d/location.d.ts +0 -17
  302. package/dist/krill/classes/prepare.d/location.js +0 -59
  303. package/dist/krill/classes/prepare.d/network.d.ts +0 -14
  304. package/dist/krill/classes/prepare.d/network.js +0 -68
  305. package/dist/krill/classes/prepare.d/partitions.d.ts +0 -14
  306. package/dist/krill/classes/prepare.d/partitions.js +0 -86
  307. package/dist/krill/classes/prepare.d/summary.d.ts +0 -15
  308. package/dist/krill/classes/prepare.d/summary.js +0 -72
  309. package/dist/krill/classes/prepare.d/users.d.ts +0 -6
  310. package/dist/krill/classes/prepare.d/users.js +0 -63
  311. package/dist/krill/classes/prepare.d/welcome.d.ts +0 -6
  312. package/dist/krill/classes/prepare.d/welcome.js +0 -30
  313. package/dist/krill/classes/prepare.d.ts +0 -89
  314. package/dist/krill/classes/prepare.js +0 -319
  315. package/dist/krill/classes/sequence.d/add_user.d.ts +0 -20
  316. package/dist/krill/classes/sequence.d/add_user.js +0 -77
  317. package/dist/krill/classes/sequence.d/bootloader.d.ts +0 -14
  318. package/dist/krill/classes/sequence.d/bootloader.js +0 -117
  319. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +0 -14
  320. package/dist/krill/classes/sequence.d/bootloader_config.js +0 -192
  321. package/dist/krill/classes/sequence.d/change_password.d.ts +0 -15
  322. package/dist/krill/classes/sequence.d/change_password.js +0 -18
  323. package/dist/krill/classes/sequence.d/del_live_user.d.ts +0 -14
  324. package/dist/krill/classes/sequence.d/del_live_user.js +0 -39
  325. package/dist/krill/classes/sequence.d/fstab.d.ts +0 -14
  326. package/dist/krill/classes/sequence.d/fstab.js +0 -177
  327. package/dist/krill/classes/sequence.d/grubcfg.d.ts +0 -17
  328. package/dist/krill/classes/sequence.d/grubcfg.js +0 -35
  329. package/dist/krill/classes/sequence.d/hostname.d.ts +0 -13
  330. package/dist/krill/classes/sequence.d/hostname.js +0 -50
  331. package/dist/krill/classes/sequence.d/initramfs.d.ts +0 -13
  332. package/dist/krill/classes/sequence.d/initramfs.js +0 -54
  333. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +0 -14
  334. package/dist/krill/classes/sequence.d/initramfs_cfg.js +0 -35
  335. package/dist/krill/classes/sequence.d/locale.d.ts +0 -13
  336. package/dist/krill/classes/sequence.d/locale.js +0 -91
  337. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +0 -10
  338. package/dist/krill/classes/sequence.d/locale_cfg.js +0 -58
  339. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +0 -14
  340. package/dist/krill/classes/sequence.d/m_keyboard.js +0 -58
  341. package/dist/krill/classes/sequence.d/machine_id.d.ts +0 -15
  342. package/dist/krill/classes/sequence.d/machine_id.js +0 -33
  343. package/dist/krill/classes/sequence.d/mkfs.d.ts +0 -15
  344. package/dist/krill/classes/sequence.d/mkfs.js +0 -88
  345. package/dist/krill/classes/sequence.d/mount_fs.d.ts +0 -17
  346. package/dist/krill/classes/sequence.d/mount_fs.js +0 -68
  347. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +0 -17
  348. package/dist/krill/classes/sequence.d/mount_vfs.js +0 -59
  349. package/dist/krill/classes/sequence.d/network_cfg.d.ts +0 -19
  350. package/dist/krill/classes/sequence.d/network_cfg.js +0 -73
  351. package/dist/krill/classes/sequence.d/packages.d.ts +0 -14
  352. package/dist/krill/classes/sequence.d/packages.js +0 -111
  353. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +0 -17
  354. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +0 -73
  355. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +0 -16
  356. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +0 -51
  357. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +0 -17
  358. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +0 -77
  359. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +0 -10
  360. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -33
  361. package/dist/krill/classes/sequence.d/partition.d.ts +0 -14
  362. package/dist/krill/classes/sequence.d/partition.js +0 -84
  363. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +0 -13
  364. package/dist/krill/classes/sequence.d/remove_installer_link.js +0 -35
  365. package/dist/krill/classes/sequence.d/umount.d.ts +0 -14
  366. package/dist/krill/classes/sequence.d/umount.js +0 -28
  367. package/dist/krill/classes/sequence.d/unpackfs.d.ts +0 -13
  368. package/dist/krill/classes/sequence.d/unpackfs.js +0 -20
  369. package/dist/krill/classes/sequence.d.ts +0 -134
  370. package/dist/krill/classes/sequence.js +0 -400
  371. package/dist/krill/components/finished.d.ts +0 -16
  372. package/dist/krill/components/finished.js +0 -56
  373. package/dist/krill/components/information.d.ts +0 -8
  374. package/dist/krill/components/information.js +0 -162
  375. package/dist/krill/components/install.d.ts +0 -15
  376. package/dist/krill/components/install.js +0 -60
  377. package/dist/krill/components/keyboard.d.ts +0 -16
  378. package/dist/krill/components/keyboard.js +0 -54
  379. package/dist/krill/components/location.d.ts +0 -16
  380. package/dist/krill/components/location.js +0 -59
  381. package/dist/krill/components/network.d.ts +0 -19
  382. package/dist/krill/components/network.js +0 -65
  383. package/dist/krill/components/partitions.d.ts +0 -18
  384. package/dist/krill/components/partitions.js +0 -89
  385. package/dist/krill/components/steps.d.ts +0 -13
  386. package/dist/krill/components/steps.js +0 -148
  387. package/dist/krill/components/summary.d.ts +0 -25
  388. package/dist/krill/components/summary.js +0 -77
  389. package/dist/krill/components/title.d.ts +0 -11
  390. package/dist/krill/components/title.js +0 -35
  391. package/dist/krill/components/users.d.ts +0 -24
  392. package/dist/krill/components/users.js +0 -80
  393. package/dist/krill/components/welcome.d.ts +0 -13
  394. package/dist/krill/components/welcome.js +0 -63
  395. package/dist/krill/interfaces/i_krill.d.ts +0 -44
  396. package/dist/krill/interfaces/i_krill.js +0 -8
  397. package/dist/krill/interfaces/i_krill_config.d.ts +0 -35
  398. package/dist/krill/interfaces/i_krill_config.js +0 -8
  399. package/dist/krill/lib/get_address.d.ts +0 -8
  400. package/dist/krill/lib/get_address.js +0 -23
  401. package/dist/krill/lib/get_dns.d.ts +0 -8
  402. package/dist/krill/lib/get_dns.js +0 -23
  403. package/dist/krill/lib/get_domain.d.ts +0 -8
  404. package/dist/krill/lib/get_domain.js +0 -23
  405. package/dist/krill/lib/get_gateway.d.ts +0 -8
  406. package/dist/krill/lib/get_gateway.js +0 -23
  407. package/dist/krill/lib/get_hostname.d.ts +0 -8
  408. package/dist/krill/lib/get_hostname.js +0 -23
  409. package/dist/krill/lib/get_luks_passphrase.d.ts +0 -8
  410. package/dist/krill/lib/get_luks_passphrase.js +0 -32
  411. package/dist/krill/lib/get_netmask.d.ts +0 -8
  412. package/dist/krill/lib/get_netmask.js +0 -23
  413. package/dist/krill/lib/get_password.d.ts +0 -8
  414. package/dist/krill/lib/get_password.js +0 -36
  415. package/dist/krill/lib/get_userfullname.d.ts +0 -8
  416. package/dist/krill/lib/get_userfullname.js +0 -23
  417. package/dist/krill/lib/get_username.d.ts +0 -8
  418. package/dist/krill/lib/get_username.js +0 -23
  419. package/dist/krill/lib/select_address_type.d.ts +0 -8
  420. package/dist/krill/lib/select_address_type.js +0 -24
  421. package/dist/krill/lib/select_filesystem_type.d.ts +0 -8
  422. package/dist/krill/lib/select_filesystem_type.js +0 -40
  423. package/dist/krill/lib/select_installation_device.d.ts +0 -8
  424. package/dist/krill/lib/select_installation_device.js +0 -40
  425. package/dist/krill/lib/select_installation_mode.d.ts +0 -9
  426. package/dist/krill/lib/select_installation_mode.js +0 -25
  427. package/dist/krill/lib/select_interface.d.ts +0 -8
  428. package/dist/krill/lib/select_interface.js +0 -24
  429. package/dist/krill/lib/select_keyboard_layout.d.ts +0 -11
  430. package/dist/krill/lib/select_keyboard_layout.js +0 -36
  431. package/dist/krill/lib/select_keyboard_model.d.ts +0 -11
  432. package/dist/krill/lib/select_keyboard_model.js +0 -34
  433. package/dist/krill/lib/select_keyboard_option.d.ts +0 -11
  434. package/dist/krill/lib/select_keyboard_option.js +0 -34
  435. package/dist/krill/lib/select_keyboard_variant.d.ts +0 -11
  436. package/dist/krill/lib/select_keyboard_variant.js +0 -35
  437. package/dist/krill/lib/select_languages.d.ts +0 -8
  438. package/dist/krill/lib/select_languages.js +0 -28
  439. package/dist/krill/lib/select_regions.d.ts +0 -8
  440. package/dist/krill/lib/select_regions.js +0 -24
  441. package/dist/krill/lib/select_replaced_partition.d.ts +0 -8
  442. package/dist/krill/lib/select_replaced_partition.js +0 -31
  443. package/dist/krill/lib/select_user_swap_choice.d.ts +0 -9
  444. package/dist/krill/lib/select_user_swap_choice.js +0 -35
  445. package/dist/krill/lib/select_zones.d.ts +0 -8
  446. package/dist/krill/lib/select_zones.js +0 -518
  447. package/dist/lib/kill_me_softly.d.ts +0 -11
  448. package/dist/lib/kill_me_softly.js +0 -61
  449. package/dist/lib/utils.d.ts +0 -19
  450. package/dist/lib/utils.js +0 -65
@@ -1,563 +0,0 @@
1
- /**
2
- * ./src/classes/tailor.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 fs from 'node:fs';
10
- import yaml from 'js-yaml';
11
- import path from 'node:path';
12
- import { exec } from '../lib/utils.js';
13
- import Distro from './distro.js';
14
- import Pacman from './pacman.js';
15
- import SourcesList from './sources_list.js';
16
- import Utils from './utils.js';
17
- /**
18
- *
19
- */
20
- export default class Tailor {
21
- materials = {};
22
- category = 'costume';
23
- costume = '';
24
- echo = {};
25
- toNull = ' > /dev/null 2>&1';
26
- verbose = false;
27
- wardrobe = '';
28
- log = '';
29
- /**
30
- * @param wardrobe
31
- * @param costume
32
- */
33
- constructor(costume, category = 'costume') {
34
- this.costume = costume;
35
- this.wardrobe = path.dirname(path.dirname(costume));
36
- this.log = path.dirname(this.wardrobe) + "/wardrobe.log";
37
- this.category = category;
38
- }
39
- /**
40
- *
41
- */
42
- async prepare(verbose = true, no_accessories = false, no_firmwares = false) {
43
- if (verbose) {
44
- this.verbose = true;
45
- this.toNull = '';
46
- }
47
- this.echo = Utils.setEcho(verbose);
48
- Utils.warning(`preparing ${this.costume}`);
49
- if (!fs.existsSync(this.log)) {
50
- fs.writeFileSync(this.log, "# eggs wardrobe wear\n\n");
51
- }
52
- fs.appendFileSync(this.log, `## ${this.costume}\n`);
53
- fs.appendFileSync(this.log, `Packages not found:\n`);
54
- /**
55
- * check curl presence
56
- */
57
- if (!Pacman.packageIsInstalled('curl')) {
58
- Utils.pressKeyToExit('In this tailoring shop we use curl. Install it with your package manager');
59
- process.exit();
60
- }
61
- // Analyze distro
62
- const distro = new Distro();
63
- let tailorList = '';
64
- switch (distro.distroLike) {
65
- case 'Debian': {
66
- tailorList = `${this.costume}/debian.yml`;
67
- if (!fs.existsSync(tailorList)) {
68
- tailorList = `${this.costume}/devuan.yml`;
69
- if (!fs.existsSync(tailorList)) {
70
- tailorList = `${this.costume}/ubuntu.yml`;
71
- if (!fs.existsSync(tailorList)) {
72
- console.log(`no costume definition found compatible Debian`);
73
- process.exit();
74
- }
75
- }
76
- }
77
- break;
78
- }
79
- case 'Devuan': {
80
- tailorList = `${this.costume}/devuan.yml`;
81
- if (!fs.existsSync(tailorList)) {
82
- tailorList = `${this.costume}/debian.yml`;
83
- if (!fs.existsSync(tailorList)) {
84
- tailorList = `${this.costume}/ubuntu.yml`;
85
- if (!fs.existsSync(tailorList)) {
86
- console.log(`no costume definition found compatible Devuan`);
87
- process.exit();
88
- }
89
- }
90
- }
91
- break;
92
- }
93
- case 'Ubuntu': {
94
- tailorList = `${this.costume}/ubuntu.yml`;
95
- if (!fs.existsSync(tailorList)) {
96
- tailorList = `${this.costume}/debian.yml`;
97
- console.log(`trying ` + tailorList);
98
- if (!fs.existsSync(tailorList)) {
99
- tailorList = `${this.costume}/devuan.yml`;
100
- console.log(`trying ` + tailorList);
101
- if (!fs.existsSync(tailorList)) {
102
- console.log(`no costume definition found compatible Ubuntu`);
103
- process.exit();
104
- }
105
- }
106
- }
107
- break;
108
- }
109
- case 'Alpine': {
110
- tailorList = `${this.costume}/alpine.yml`;
111
- if (!fs.existsSync(tailorList)) {
112
- tailorList = `${this.costume}/debian.yml`;
113
- if (!fs.existsSync(tailorList)) {
114
- console.log(`no costume definition found compatible Alpine`);
115
- process.exit();
116
- }
117
- }
118
- break;
119
- }
120
- case 'Arch': {
121
- tailorList = `${this.costume}/arch.yml`;
122
- if (!fs.existsSync(tailorList)) {
123
- tailorList = `${this.costume}/debian.yml`;
124
- if (!fs.existsSync(tailorList)) {
125
- console.log(`no costume definition found compatible Arch`);
126
- process.exit();
127
- }
128
- }
129
- break;
130
- }
131
- case 'Fedora':
132
- case 'Almalinux':
133
- case 'Rocky': {
134
- tailorList = `${this.costume}/fedora.yml`;
135
- if (!fs.existsSync(tailorList)) {
136
- tailorList = `${this.costume}/debian.yml`;
137
- if (!fs.existsSync(tailorList)) {
138
- console.log(`no costume definition found compatible Fedora`);
139
- process.exit();
140
- }
141
- }
142
- break;
143
- }
144
- case 'Opensuse': {
145
- tailorList = `${this.costume}/opensuse.yml`;
146
- if (!fs.existsSync(tailorList)) {
147
- tailorList = `${this.costume}/debian.yml`;
148
- if (!fs.existsSync(tailorList)) {
149
- console.log(`no costume definition found compatible opensuse`);
150
- process.exit();
151
- }
152
- }
153
- break;
154
- }
155
- } // end analyze
156
- /**
157
- * find materials
158
- */
159
- if (fs.existsSync(tailorList)) {
160
- this.materials = yaml.load(fs.readFileSync(tailorList, 'utf8'));
161
- }
162
- else {
163
- switch (this.category) {
164
- case 'costume': {
165
- Utils.titles(`${this.category}: ${this.costume}`);
166
- console.log("Tailor's list " + chalk.cyan(tailorList) + ' is not found \non your wardrobe ' + chalk.cyan(this.wardrobe) + '.\n');
167
- console.log('Costume will not be installed, operations will abort.\n');
168
- Utils.pressKeyToExit();
169
- process.exit();
170
- break;
171
- }
172
- case 'accessory': {
173
- Utils.titles(`${this.category}: ${this.costume}`);
174
- console.log("Tailor's list " + chalk.cyan(tailorList) + ' is not found \non your wardrobe ' + chalk.cyan(this.wardrobe) + '.\n');
175
- console.log('vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv');
176
- console.log('Accessory will not be installed,');
177
- console.log('operations will continue.');
178
- console.log('^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');
179
- sleep(3000);
180
- return;
181
- }
182
- }
183
- }
184
- /**
185
- * sequence
186
- */
187
- const sources_list = new SourcesList();
188
- let step = '';
189
- if (this.materials.sequence !== undefined) {
190
- step = 'analyzing sequence';
191
- Utils.warning(step);
192
- /**
193
- * sequence/repositories
194
- */
195
- if (this.materials.sequence.repositories !== undefined) {
196
- if (distro.familyId === 'debian') {
197
- /**
198
- * sequence/repositories/sources_list
199
- */
200
- // evito di fallire se sources_list non è presente
201
- if (this.materials.sequence.repositories.sources_list !== undefined) {
202
- step = 'analyzing repositories';
203
- Utils.warning(step);
204
- if (distro.distroLike === 'Debian') {
205
- await sources_list.components(this.materials.sequence.repositories.sources_list);
206
- }
207
- }
208
- /**
209
- * sequence/repositories/sources_list_d
210
- */
211
- if (this.materials.sequence.repositories.sources_list_d !== undefined && this.materials.sequence.repositories.sources_list_d[0] !== null) {
212
- step = 'adding repositories to /etc/apt/sources_list_d';
213
- Utils.warning(step);
214
- for (const cmd of this.materials.sequence.repositories.sources_list_d) {
215
- try {
216
- // repeat 3 times if fail curl or others commands
217
- for (let i = 0; i < 2; i++) {
218
- const result = await exec(cmd, this.echo);
219
- if (result.code === 0) {
220
- break;
221
- }
222
- }
223
- }
224
- catch (error) {
225
- await Utils.pressKeyToExit(JSON.stringify(error));
226
- }
227
- }
228
- }
229
- }
230
- /**
231
- * sequence/repositories/update
232
- */
233
- if (this.materials.sequence.repositories.update === undefined) {
234
- console.log('repositiories, and repositories.update MUST be defined on sequence');
235
- process.exit();
236
- }
237
- step = 'repositories update';
238
- Utils.warning(step);
239
- if (this.materials.sequence.repositories.update) {
240
- switch (distro.familyId) {
241
- case 'alpine': {
242
- await exec('apk update', Utils.setEcho(false));
243
- break;
244
- }
245
- case 'archlinux': {
246
- await exec('pacman -Sy', Utils.setEcho(false));
247
- break;
248
- }
249
- case 'debian': {
250
- await exec('apt-get update', Utils.setEcho(false));
251
- break;
252
- }
253
- case 'fedora': {
254
- await exec('dnf check-update --refresh', Utils.setEcho(false));
255
- break;
256
- }
257
- case 'opensuse': {
258
- await exec('zypper refresh', Utils.setEcho(true));
259
- break;
260
- }
261
- }
262
- }
263
- /**
264
- * sequence/repositories/upgrade
265
- */
266
- if (this.materials.sequence.repositories.upgrade !== undefined) {
267
- step = 'repositories upgrade';
268
- Utils.warning(step);
269
- if (this.materials.sequence.repositories.upgrade) {
270
- switch (distro.familyId) {
271
- case 'alpine': {
272
- await exec('apk upgrade', Utils.setEcho(false));
273
- break;
274
- }
275
- case 'archlinux': {
276
- await exec('pacman -Su', Utils.setEcho(false));
277
- break;
278
- }
279
- case 'debian': {
280
- await exec('apt-get full-upgrade', Utils.setEcho(false));
281
- break;
282
- }
283
- case 'fedora': {
284
- await exec('dnf upgrade', Utils.setEcho(false));
285
- break;
286
- }
287
- case 'opensuse': {
288
- await exec('zypper update', Utils.setEcho(true));
289
- break;
290
- }
291
- }
292
- } // upgrade true
293
- } // undefined upgrade
294
- } // end sequence/repositories
295
- /**
296
- * sequence/cmds
297
- */
298
- if (this.materials.sequence.cmds !== undefined && Array.isArray(this.materials.sequence.cmds)) {
299
- step = 'sequence commands';
300
- Utils.warning(step);
301
- for (const cmd of this.materials.sequence.cmds) {
302
- if (fs.existsSync(`${this.costume}/${cmd}`)) {
303
- // exec ./costume/cmd
304
- await exec(`${this.costume}/${cmd} `, Utils.setEcho(true));
305
- }
306
- else {
307
- // exec cmd
308
- await exec(`${cmd}`, Utils.setEcho(true));
309
- }
310
- }
311
- }
312
- /**
313
- * install packages
314
- */
315
- if (this.materials.sequence.packages !== undefined) {
316
- const packages = await this.packagesExists(this.materials.sequence.packages);
317
- console.log(this.materials.sequence.packages);
318
- if (packages.length > 1) {
319
- switch (distro.familyId) {
320
- case 'alpine': {
321
- await this.packagesInstall(this.materials.sequence.packages, 'packages', `apk add`);
322
- break;
323
- }
324
- case 'archlinux': {
325
- await this.packagesInstall(this.materials.sequence.packages, 'packages', `pacman -Sy --noconfirm`);
326
- break;
327
- }
328
- case 'debian': {
329
- await this.packagesInstall(packages);
330
- break;
331
- }
332
- case 'fedora': {
333
- await this.packagesInstall(this.materials.sequence.packages, 'packages', `dnf install -y`);
334
- break;
335
- }
336
- case 'opensuse': {
337
- // Quanto mi è costato
338
- // await this.packagesInstall(this.materials.sequence.packages, 'packages', `zypper install --no-confirm`)
339
- await this.packagesInstall(this.materials.sequence.packages, 'packages', `zypper install --no-confirm`);
340
- break;
341
- }
342
- }
343
- }
344
- }
345
- /**
346
- * sequence/packages_python
347
- */
348
- if (this.materials.sequence.packages_python !== undefined && Array.isArray(this.materials.sequence.packages_python)) {
349
- let cmd = 'pip install ';
350
- let pip = '';
351
- for (const elem of this.materials.sequence.packages_python) {
352
- cmd += ` ${elem}`;
353
- pip += `, ${elem}`;
354
- }
355
- step = `installing python packages pip ${pip.slice(2)}`;
356
- Utils.warning(step);
357
- await exec(cmd, this.echo);
358
- }
359
- /**
360
- * sequence/accessories
361
- */
362
- if (!no_accessories) {
363
- if (this.materials.sequence.accessories !== undefined && Array.isArray(this.materials.sequence.accessories)) {
364
- step = 'wearing accessories';
365
- for (const elem of this.materials.sequence.accessories) {
366
- if ((elem === 'firmwares' || elem === './firmwares') && no_firmwares) {
367
- continue;
368
- }
369
- if (elem.slice(0, 2) === './') {
370
- // local accessory
371
- const tailor = new Tailor(`${this.costume}/${elem.slice(2)}`, 'accessory');
372
- await tailor.prepare(verbose);
373
- }
374
- else {
375
- // global accessory
376
- const tailor = new Tailor(`${this.wardrobe}/accessories/${elem}`, 'accessory');
377
- await tailor.prepare(verbose);
378
- }
379
- }
380
- }
381
- } // no-accessories
382
- } // end sequence
383
- /**
384
- * customize
385
- */
386
- if (this.materials.finalize !== undefined) {
387
- /**
388
- * finalize/customize
389
- */
390
- if (this.materials.finalize.customize && fs.existsSync(`/${this.costume}/sysroot`)) {
391
- step = `finalize/customize: copying ${this.costume}/sysroot/ to /`;
392
- Utils.warning(step);
393
- let cmd = `rsync -avx ${this.costume}/sysroot/* / ${this.toNull}`;
394
- await exec(cmd, this.echo);
395
- // chown
396
- cmd = `chown root:root /etc/sudoers.d /etc/skel -R`;
397
- await exec(cmd, this.echo);
398
- /**
399
- * Copyng skel in /home/user
400
- */
401
- if (fs.existsSync(`${this.costume}/sysroot/etc/skel`)) {
402
- const user = await Utils.getPrimaryUser();
403
- step = `finalize/customize: copying skel in /home/${user}/`;
404
- Utils.warning(step);
405
- cmd = `rsync -avx ${this.costume}/sysroot/etc/skel/.config /home/${user}/ ${this.toNull}`;
406
- await exec(cmd, this.echo);
407
- await exec(`chown ${user}:${user} /home/${user}/ -R`);
408
- }
409
- }
410
- /**
411
- * finalize/cmds
412
- */
413
- if (this.materials.finalize.cmds !== undefined && Array.isArray(this.materials.finalize.cmds)) {
414
- step = 'finalize/commands';
415
- Utils.warning(step);
416
- for (const cmd of this.materials.finalize.cmds) {
417
- if (fs.existsSync(`${this.costume}/${cmd}`)) {
418
- // Qui passiamo ${this.materials.name}
419
- await exec(`${this.costume}/${cmd} ${this.materials.name}`, Utils.setEcho(true));
420
- }
421
- else {
422
- // exec cmd real env
423
- await exec(`${cmd}`, Utils.setEcho(true));
424
- }
425
- }
426
- }
427
- }
428
- // show log
429
- if (fs.existsSync(this.log)) {
430
- await exec(`cat ${this.log}`);
431
- }
432
- /**
433
- * reboot
434
- */
435
- if (this.materials.reboot) {
436
- Utils.warning('Reboot');
437
- await Utils.pressKeyToExit('system need to reboot', true);
438
- await exec('reboot');
439
- }
440
- else {
441
- console.log(`You look good with: ${this.materials.name}`);
442
- }
443
- }
444
- /**
445
- *
446
- * @param packages
447
- * @param verbose
448
- * @param section
449
- * @returns
450
- */
451
- async packagesExists(wanted) {
452
- Utils.warning(`checking packages exists ${this.costume}`);
453
- wanted.sort();
454
- const distro = new Distro();
455
- let cmd = "";
456
- if (distro.familyId === "alpine") {
457
- cmd = `apk search | awk -F'-[0-9]' '{print $1}' | sort -u`;
458
- }
459
- else if (distro.familyId === "archlinux") {
460
- cmd = `pacman -S --list | awk '{print $2}'`;
461
- }
462
- else if (distro.familyId === "debian") {
463
- // cmd=`apt-cache --no-generate pkgnames`
464
- cmd = `apt-cache pkgnames`;
465
- }
466
- else if (distro.familyId === 'fedora') {
467
- cmd = `dnf list --available | awk '{print $1}' | sed 's/\.[^.]*$//'`;
468
- }
469
- else if (distro.familyId === 'opensuse') { //controllare
470
- // questo funziona diretto
471
- cmd = `zypper --non-interactive packages | cut -d '|' -f 3 | sed '1,2d' | sed '/^$/d' | sort -u`;
472
- }
473
- let available = [];
474
- const result = await exec(cmd, { capture: true, echo: false, ignore: false });
475
- // trim di tutto per eseguire il confronto
476
- available = result.data.split('\n').map(line => line.trim());
477
- // precedente
478
- // available = (await exec(cmd, { capture: true, echo: false, ignore: false })).data.split('\n')
479
- available.sort();
480
- wanted.sort();
481
- let exists = [];
482
- let not_exists = [];
483
- for (const elem of wanted) {
484
- if (available.includes(elem)) {
485
- exists.push(elem);
486
- }
487
- else {
488
- not_exists.push(elem);
489
- fs.appendFileSync(this.log, `- ${elem}\n`);
490
- }
491
- }
492
- if (not_exists.length > 0) {
493
- console.log(`${this.materials.name}, ${not_exists.length} following packages was not found:`);
494
- for (const elem of not_exists) {
495
- console.log(`-${elem}`);
496
- }
497
- console.log();
498
- console.log("Wait 3 seconds");
499
- await sleep(3000);
500
- }
501
- return exists;
502
- }
503
- /**
504
- * - check if every package if installed
505
- * - if find any packages to install, install it
506
- */
507
- async packagesInstall(packages, comment = 'packages', cmd = 'apt-get install -yqq ') {
508
- Utils.warning(`installing existing packages ${this.costume}`);
509
- if (packages[0] !== null) {
510
- const elements = [];
511
- let strElements = '';
512
- for (const elem of packages) {
513
- elements.push(elem);
514
- cmd += ` ${elem}`;
515
- strElements += `, ${elem}`;
516
- }
517
- if (elements.length > 0) {
518
- let step = `installing ${comment}: `;
519
- if (!this.verbose) {
520
- step += strElements.slice(2);
521
- }
522
- /**
523
- * prova 3 volte
524
- */
525
- const limit = 3;
526
- for (let tempts = 1; tempts < limit; tempts++) {
527
- Utils.titles(step);
528
- Utils.warning(`tempts ${tempts} of ${limit}`);
529
- if (await this.tryCheckSuccess(cmd, this.echo)) {
530
- break;
531
- }
532
- }
533
- }
534
- }
535
- }
536
- /**
537
- *
538
- * @param cmd
539
- * @param echo
540
- * @returns
541
- */
542
- async tryCheckSuccess(cmd, echo) {
543
- let success = false;
544
- try {
545
- await exec(cmd, Utils.setEcho(true));
546
- success = true;
547
- }
548
- catch {
549
- success = false;
550
- }
551
- return success;
552
- }
553
- }
554
- /**
555
- *
556
- * @param ms
557
- * @returns
558
- */
559
- function sleep(ms = 0) {
560
- return new Promise((resolve) => {
561
- setTimeout(resolve, ms);
562
- });
563
- }
@@ -1,26 +0,0 @@
1
- /**
2
- * ./src/classes/tools.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
- interface IEggsConfigTools {
9
- localPathIso: string;
10
- remoteHost: string;
11
- remotePathPackages: string;
12
- remotePathIso: string;
13
- remoteUser: string;
14
- }
15
- /**
16
- * Utils: general porpourse utils
17
- * @remarks all the utilities
18
- */
19
- export default class Tools {
20
- config: IEggsConfigTools;
21
- snapshot_dir: string;
22
- snapshot_name: string;
23
- tools_yaml: string;
24
- loadSettings(): Promise<boolean>;
25
- }
26
- export {};
@@ -1,50 +0,0 @@
1
- /**
2
- * ./src/classes/tools.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 yaml from 'js-yaml';
9
- import fs from 'node:fs';
10
- import Settings from './settings.js';
11
- import Utils from './utils.js';
12
- /**
13
- * Utils: general porpourse utils
14
- * @remarks all the utilities
15
- */
16
- export default class Tools {
17
- config = {};
18
- snapshot_dir = '';
19
- snapshot_name = '';
20
- tools_yaml = '/etc/penguins-eggs.d/tools.yaml';
21
- /*
22
- * Load configuration from /etc/penguins-eggs.yaml
23
- * @returns {boolean} Success
24
- */
25
- async loadSettings() {
26
- let foundSettings = false;
27
- if (fs.existsSync(this.tools_yaml)) {
28
- foundSettings = true;
29
- const loaded = yaml.load(fs.readFileSync(this.tools_yaml, 'utf8'));
30
- this.config.remoteHost = loaded.remoteHost;
31
- this.config.remoteUser = loaded.remoteUser;
32
- this.config.remotePathPackages = loaded.remotePathPackages;
33
- this.config.remotePathIso = loaded.remotePathIso;
34
- this.config.localPathIso = loaded.localPathIso;
35
- /**
36
- * da eggs
37
- */
38
- const settings = new Settings();
39
- settings.load();
40
- this.snapshot_dir = settings.config.snapshot_dir;
41
- const prefix = settings.config.snapshot_prefix;
42
- this.snapshot_name = prefix + settings.config.snapshot_basename + '_' + Utils.uefiArch();
43
- }
44
- else {
45
- console.log(`Can't find: ${this.tools_yaml}`);
46
- process.exit(1);
47
- }
48
- return foundSettings;
49
- }
50
- }
@@ -1,28 +0,0 @@
1
- /**
2
- * ./src/classes/users.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
- */
11
- export default class Users {
12
- gecos: string;
13
- gid: string;
14
- hasHome: boolean;
15
- home: string;
16
- login: string;
17
- password: string;
18
- saveIt: boolean;
19
- shell: string;
20
- size: number;
21
- uid: string;
22
- constructor(login: string, password: string, uid: string, gid: string, gecos: string, home: string, shell: string);
23
- /**
24
- * getSize
25
- * @param verbose
26
- */
27
- getValues(): Promise<void>;
28
- }