penguins-eggs 25.9.8 → 25.9.24

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 (510) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/LICENSE +123 -0
  3. package/README.md +34 -32
  4. package/README.pdf +2625 -2497
  5. package/addons/eggs/theme/calamares/branding/show.qml +61 -74
  6. package/conf/derivatives.yaml +2 -2
  7. package/conf/distros/alpine/calamares/modules/mount.yml +104 -39
  8. package/conf/distros/alpine/calamares/settings.yml +4 -4
  9. package/conf/distros/bionic/calamares/settings.yml +5 -5
  10. package/conf/distros/buster/calamares/libexec/.keepit +0 -0
  11. package/conf/distros/buster/calamares/libexec/README.md +5 -0
  12. package/conf/distros/{noble/calamares/modules/focal-jammy/mount.yml → buster/calamares/modules/mount.3.2.yml} +3 -6
  13. package/conf/distros/buster/calamares/modules/mount.yml +2 -4
  14. package/conf/distros/buster/calamares/modules/shellprocess@boot_deploy.yml +23 -0
  15. package/conf/distros/buster/calamares/modules/shellprocess@boot_reconfigure.yml +14 -0
  16. package/conf/distros/buster/calamares/modules/shellprocess@mkinitramfs.yml +4 -0
  17. package/conf/distros/buster/calamares/settings.yml +28 -11
  18. package/conf/distros/fedora/calamares/settings.yml +6 -6
  19. package/conf/distros/jessie/krill/settings.yml +6 -6
  20. package/conf/distros/noble/README.md +8 -1
  21. package/conf/distros/noble/calamares/libexec/.keepit +0 -0
  22. package/conf/distros/noble/calamares/libexec/README.md +5 -0
  23. package/conf/distros/noble/calamares/libexec/calamares-aptsources.sh +15 -0
  24. package/conf/distros/noble/calamares/libexec/calamares-l10n-helper.sh +35 -0
  25. package/conf/distros/noble/calamares/libexec/calamares-logs-helper.sh +34 -0
  26. package/conf/distros/noble/calamares/libexec/calamares-nomodeset.sh +19 -0
  27. package/conf/distros/noble/calamares/modules/after_bootloader_context.yml +26 -0
  28. package/conf/distros/noble/calamares/modules/before_bootloader_context.yml +12 -0
  29. package/conf/distros/noble/calamares/modules/bootloader.yml +67 -14
  30. package/conf/distros/noble/calamares/modules/bootloader.yml.old +35 -0
  31. package/conf/distros/noble/calamares/modules/displaymanager.yml +21 -0
  32. package/conf/distros/noble/calamares/modules/finished.yml +3 -0
  33. package/conf/distros/noble/calamares/modules/fstab.yml +9 -0
  34. package/conf/distros/noble/calamares/modules/grubcfg.yml +49 -1
  35. package/conf/distros/noble/calamares/modules/keyboard.yml +29 -0
  36. package/conf/distros/noble/calamares/modules/locale.yml +5 -6
  37. package/conf/distros/noble/calamares/modules/machineid.yml +3 -1
  38. package/conf/distros/noble/calamares/modules/mount.yml +21 -19
  39. package/conf/distros/noble/calamares/modules/netinstall.yml +5 -0
  40. package/conf/distros/noble/calamares/modules/packages.yml +5 -16
  41. package/conf/distros/noble/calamares/modules/shellprocess@aptsources.yml +11 -0
  42. package/conf/distros/noble/calamares/modules/shellprocess@boot_deploy.yml +18 -0
  43. package/conf/distros/noble/calamares/modules/shellprocess@boot_reconfigure.yml +14 -0
  44. package/conf/distros/noble/calamares/modules/shellprocess@install_translations.yml +7 -0
  45. package/conf/distros/noble/calamares/modules/shellprocess@logs.yml +7 -0
  46. package/conf/distros/noble/calamares/modules/shellprocess@mkinitramfs.yml +4 -0
  47. package/conf/distros/noble/calamares/modules/shellprocess@nomodeset.yml +11 -0
  48. package/conf/distros/noble/calamares/modules/unpackfs.yml +2 -1
  49. package/conf/distros/noble/calamares/modules/users.yml +19 -17
  50. package/conf/distros/noble/calamares/modules/welcome.yml +9 -13
  51. package/conf/distros/noble/calamares/settings.yml +82 -72
  52. package/conf/distros/openmamba/calamares/settings.yml +4 -4
  53. package/conf/distros/opensuse/calamares/settings.yml +6 -6
  54. package/conf/distros/rolling/calamares/settings.yml +4 -4
  55. package/conf/distros/stretch/krill/settings.yml +6 -6
  56. package/package.json +14 -14
  57. package/perrisbrewery/template/dependencies.yaml +1 -0
  58. package/conf/distros/noble/calamares/modules/_automirror.yml +0 -6
  59. package/conf/distros/noble/calamares/modules/_before_bootloader_context.yml +0 -18
  60. package/conf/distros/noble/calamares/modules/_before_bootloader_mkdirs_context.yml +0 -10
  61. package/conf/distros/noble/calamares/modules/_displaymanager.yml +0 -9
  62. package/conf/distros/noble/calamares/modules/_oemid.yml +0 -2
  63. package/conf/distros/noble/calamares/modules/_pkgselect_context.yml +0 -19
  64. package/conf/distros/noble/calamares/modules/_pkgselect_snap_context.yml +0 -9
  65. package/conf/distros/noble/calamares/modules/_shellprocess_logs.yml +0 -5
  66. package/conf/distros/noble/calamares/modules/_users.conf.oem +0 -30
  67. package/conf/distros/noble/calamares/modules/focal-jammy/fstab.yml +0 -13
  68. package/conf/distros/noble/calamares/modules/focal-jammy/users.yml +0 -19
  69. package/conf/distros/noble/calamares/modules/shellprocess_add386arch.yml +0 -5
  70. package/conf/distros/noble/calamares/modules/shellprocess_bug-LP#1829805.yml +0 -5
  71. package/conf/distros/noble/calamares/modules/shellprocess_fixconkeys_part1.yml +0 -5
  72. package/conf/distros/noble/calamares/modules/shellprocess_fixconkeys_part2.yml +0 -5
  73. package/conf/distros/noble/calamares/modules/shellprocess_oemprep.yml +0 -5
  74. package/dist/classes/bleach.d.ts +0 -37
  75. package/dist/classes/bleach.js +0 -148
  76. package/dist/classes/cli-autologin.d.ts +0 -52
  77. package/dist/classes/cli-autologin.js +0 -252
  78. package/dist/classes/compressors.d.ts +0 -54
  79. package/dist/classes/compressors.js +0 -109
  80. package/dist/classes/daddy.d.ts +0 -26
  81. package/dist/classes/daddy.js +0 -175
  82. package/dist/classes/distro.d.ts +0 -32
  83. package/dist/classes/distro.js +0 -382
  84. package/dist/classes/diversions.d.ts +0 -53
  85. package/dist/classes/diversions.js +0 -133
  86. package/dist/classes/incubation/branding.d.ts +0 -17
  87. package/dist/classes/incubation/branding.js +0 -85
  88. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +0 -11
  89. package/dist/classes/incubation/fisherman-helper/displaymanager.js +0 -40
  90. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  91. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  92. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  93. package/dist/classes/incubation/fisherman-helper/settings.js +0 -83
  94. package/dist/classes/incubation/fisherman.d.ts +0 -74
  95. package/dist/classes/incubation/fisherman.js +0 -271
  96. package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
  97. package/dist/classes/incubation/incubator.d/alpine.js +0 -78
  98. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  99. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  100. package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
  101. package/dist/classes/incubation/incubator.d/buster.js +0 -85
  102. package/dist/classes/incubation/incubator.d/fedora.d.ts +0 -32
  103. package/dist/classes/incubation/incubator.d/fedora.js +0 -80
  104. package/dist/classes/incubation/incubator.d/jessie.d.ts +0 -31
  105. package/dist/classes/incubation/incubator.d/jessie.js +0 -44
  106. package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
  107. package/dist/classes/incubation/incubator.d/noble.js +0 -85
  108. package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
  109. package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
  110. package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
  111. package/dist/classes/incubation/incubator.d/opensuse.js +0 -78
  112. package/dist/classes/incubation/incubator.d/rolling.d.ts +0 -32
  113. package/dist/classes/incubation/incubator.d/rolling.js +0 -78
  114. package/dist/classes/incubation/incubator.d.ts +0 -48
  115. package/dist/classes/incubation/incubator.js +0 -404
  116. package/dist/classes/incubation/installer.d.ts +0 -13
  117. package/dist/classes/incubation/installer.js +0 -52
  118. package/dist/classes/keyboards.d.ts +0 -50
  119. package/dist/classes/keyboards.js +0 -287
  120. package/dist/classes/locales.d.ts +0 -21
  121. package/dist/classes/locales.js +0 -77
  122. package/dist/classes/network.d.ts +0 -37
  123. package/dist/classes/network.js +0 -98
  124. package/dist/classes/ovary.d/bind-live-fs.d.ts +0 -18
  125. package/dist/classes/ovary.d/bind-live-fs.js +0 -185
  126. package/dist/classes/ovary.d/bind-vfs.d.ts +0 -17
  127. package/dist/classes/ovary.d/bind-vfs.js +0 -37
  128. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +0 -13
  129. package/dist/classes/ovary.d/create-xdg-autostart.js +0 -194
  130. package/dist/classes/ovary.d/edit-live-fs.d.ts +0 -20
  131. package/dist/classes/ovary.d/edit-live-fs.js +0 -245
  132. package/dist/classes/ovary.d/fertilization.d.ts +0 -12
  133. package/dist/classes/ovary.d/fertilization.js +0 -52
  134. package/dist/classes/ovary.d/finished.d.ts +0 -13
  135. package/dist/classes/ovary.d/finished.js +0 -44
  136. package/dist/classes/ovary.d/initrd.d.ts +0 -21
  137. package/dist/classes/ovary.d/initrd.js +0 -97
  138. package/dist/classes/ovary.d/kernel-copy.d.ts +0 -12
  139. package/dist/classes/ovary.d/kernel-copy.js +0 -22
  140. package/dist/classes/ovary.d/live-create-structure.d.ts +0 -12
  141. package/dist/classes/ovary.d/live-create-structure.js +0 -90
  142. package/dist/classes/ovary.d/make-dot-disk.d.ts +0 -12
  143. package/dist/classes/ovary.d/make-dot-disk.js +0 -62
  144. package/dist/classes/ovary.d/make-efi.d.ts +0 -14
  145. package/dist/classes/ovary.d/make-efi.js +0 -274
  146. package/dist/classes/ovary.d/make-iso.d.ts +0 -13
  147. package/dist/classes/ovary.d/make-iso.js +0 -45
  148. package/dist/classes/ovary.d/make-squashfs.d.ts +0 -18
  149. package/dist/classes/ovary.d/make-squashfs.js +0 -110
  150. package/dist/classes/ovary.d/merged.d.ts +0 -27
  151. package/dist/classes/ovary.d/merged.js +0 -78
  152. package/dist/classes/ovary.d/produce.d.ts +0 -23
  153. package/dist/classes/ovary.d/produce.js +0 -315
  154. package/dist/classes/ovary.d/rexec.d.ts +0 -13
  155. package/dist/classes/ovary.d/rexec.js +0 -34
  156. package/dist/classes/ovary.d/syslinux.d.ts +0 -12
  157. package/dist/classes/ovary.d/syslinux.js +0 -82
  158. package/dist/classes/ovary.d/user-create-live.d.ts +0 -14
  159. package/dist/classes/ovary.d/user-create-live.js +0 -97
  160. package/dist/classes/ovary.d/users-remove.d.ts +0 -9
  161. package/dist/classes/ovary.d/users-remove.js +0 -38
  162. package/dist/classes/ovary.d/xorriso-command.d.ts +0 -14
  163. package/dist/classes/ovary.d/xorriso-command.js +0 -123
  164. package/dist/classes/ovary.d.ts +0 -83
  165. package/dist/classes/ovary.js +0 -87
  166. package/dist/classes/pacman.d/aldos.d.ts +0 -52
  167. package/dist/classes/pacman.d/aldos.js +0 -100
  168. package/dist/classes/pacman.d/alpine.d.ts +0 -56
  169. package/dist/classes/pacman.d/alpine.js +0 -167
  170. package/dist/classes/pacman.d/archlinux.d.ts +0 -62
  171. package/dist/classes/pacman.d/archlinux.js +0 -136
  172. package/dist/classes/pacman.d/debian.d.ts +0 -65
  173. package/dist/classes/pacman.d/debian.js +0 -143
  174. package/dist/classes/pacman.d/fedora.d.ts +0 -53
  175. package/dist/classes/pacman.d/fedora.js +0 -101
  176. package/dist/classes/pacman.d/openmamba.d.ts +0 -52
  177. package/dist/classes/pacman.d/openmamba.js +0 -100
  178. package/dist/classes/pacman.d/opensuse.d.ts +0 -53
  179. package/dist/classes/pacman.d/opensuse.js +0 -103
  180. package/dist/classes/pacman.d/voidlinux.d.ts +0 -52
  181. package/dist/classes/pacman.d/voidlinux.js +0 -90
  182. package/dist/classes/pacman.d.ts +0 -139
  183. package/dist/classes/pacman.js +0 -774
  184. package/dist/classes/pve-live.d.ts +0 -17
  185. package/dist/classes/pve-live.js +0 -52
  186. package/dist/classes/pxe.d.ts +0 -76
  187. package/dist/classes/pxe.js +0 -353
  188. package/dist/classes/settings.d.ts +0 -52
  189. package/dist/classes/settings.js +0 -185
  190. package/dist/classes/sources_list.d.ts +0 -28
  191. package/dist/classes/sources_list.js +0 -89
  192. package/dist/classes/systemctl.d.ts +0 -47
  193. package/dist/classes/systemctl.js +0 -86
  194. package/dist/classes/tailor.d.ts +0 -50
  195. package/dist/classes/tailor.js +0 -563
  196. package/dist/classes/tools.d.ts +0 -26
  197. package/dist/classes/tools.js +0 -50
  198. package/dist/classes/users.d.ts +0 -28
  199. package/dist/classes/users.js +0 -143
  200. package/dist/classes/utils.d/kernel.d.ts +0 -38
  201. package/dist/classes/utils.d/kernel.js +0 -184
  202. package/dist/classes/utils.d.ts +0 -327
  203. package/dist/classes/utils.js +0 -955
  204. package/dist/classes/xdg.d.ts +0 -45
  205. package/dist/classes/xdg.js +0 -337
  206. package/dist/classes/yolk.d.ts +0 -33
  207. package/dist/classes/yolk.js +0 -114
  208. package/dist/commands/adapt.d.ts +0 -17
  209. package/dist/commands/adapt.js +0 -33
  210. package/dist/commands/analyze.d.ts +0 -26
  211. package/dist/commands/analyze.js +0 -95
  212. package/dist/commands/calamares.d.ts +0 -29
  213. package/dist/commands/calamares.js +0 -112
  214. package/dist/commands/config.d.ts +0 -35
  215. package/dist/commands/config.js +0 -120
  216. package/dist/commands/cuckoo.d.ts +0 -17
  217. package/dist/commands/cuckoo.js +0 -61
  218. package/dist/commands/dad.d.ts +0 -21
  219. package/dist/commands/dad.js +0 -47
  220. package/dist/commands/export/iso.d.ts +0 -19
  221. package/dist/commands/export/iso.js +0 -55
  222. package/dist/commands/export/pkg.d.ts +0 -29
  223. package/dist/commands/export/pkg.js +0 -173
  224. package/dist/commands/export/tarballs.d.ts +0 -27
  225. package/dist/commands/export/tarballs.js +0 -79
  226. package/dist/commands/install.d.ts +0 -38
  227. package/dist/commands/install.js +0 -91
  228. package/dist/commands/kill.d.ts +0 -24
  229. package/dist/commands/kill.js +0 -50
  230. package/dist/commands/love.d.ts +0 -21
  231. package/dist/commands/love.js +0 -73
  232. package/dist/commands/mom.d.ts +0 -16
  233. package/dist/commands/mom.js +0 -30
  234. package/dist/commands/pods.d.ts +0 -22
  235. package/dist/commands/pods.js +0 -92
  236. package/dist/commands/produce.d.ts +0 -35
  237. package/dist/commands/produce.js +0 -221
  238. package/dist/commands/status.d.ts +0 -23
  239. package/dist/commands/status.js +0 -31
  240. package/dist/commands/syncfrom.d.ts +0 -45
  241. package/dist/commands/syncfrom.js +0 -152
  242. package/dist/commands/syncto.d.ts +0 -40
  243. package/dist/commands/syncto.js +0 -175
  244. package/dist/commands/tools/clean.d.ts +0 -18
  245. package/dist/commands/tools/clean.js +0 -37
  246. package/dist/commands/tools/ppa.d.ts +0 -32
  247. package/dist/commands/tools/ppa.js +0 -185
  248. package/dist/commands/tools/skel.d.ts +0 -18
  249. package/dist/commands/tools/skel.js +0 -44
  250. package/dist/commands/tools/stat.d.ts +0 -31
  251. package/dist/commands/tools/stat.js +0 -70
  252. package/dist/commands/tools/yolk.d.ts +0 -24
  253. package/dist/commands/tools/yolk.js +0 -45
  254. package/dist/commands/update.d.ts +0 -46
  255. package/dist/commands/update.js +0 -238
  256. package/dist/commands/wardrobe/get.d.ts +0 -23
  257. package/dist/commands/wardrobe/get.js +0 -52
  258. package/dist/commands/wardrobe/list.d.ts +0 -24
  259. package/dist/commands/wardrobe/list.js +0 -125
  260. package/dist/commands/wardrobe/show.d.ts +0 -25
  261. package/dist/commands/wardrobe/show.js +0 -97
  262. package/dist/commands/wardrobe/wear.d.ts +0 -26
  263. package/dist/commands/wardrobe/wear.js +0 -84
  264. package/dist/dhcpd-proxy/classes/packet.d.ts +0 -36
  265. package/dist/dhcpd-proxy/classes/packet.js +0 -124
  266. package/dist/dhcpd-proxy/index.d.ts +0 -4
  267. package/dist/dhcpd-proxy/index.js +0 -4
  268. package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +0 -45
  269. package/dist/dhcpd-proxy/interfaces/i-pxe.js +0 -1
  270. package/dist/dhcpd-proxy/lib/packet/converters.d.ts +0 -11
  271. package/dist/dhcpd-proxy/lib/packet/converters.js +0 -395
  272. package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +0 -10
  273. package/dist/dhcpd-proxy/lib/packet/message-types.js +0 -12
  274. package/dist/dhcpd-proxy/lib/packet/options.d.ts +0 -8
  275. package/dist/dhcpd-proxy/lib/packet/options.js +0 -264
  276. package/dist/dhcpd-proxy/lib/sprintf.d.ts +0 -6
  277. package/dist/dhcpd-proxy/lib/sprintf.js +0 -130
  278. package/dist/dhcpd-proxy/lib/utils.d.ts +0 -126
  279. package/dist/dhcpd-proxy/lib/utils.js +0 -255
  280. package/dist/dhcpd-proxy/simple-proxy.d.ts +0 -11
  281. package/dist/dhcpd-proxy/simple-proxy.js +0 -118
  282. package/dist/index.d.ts +0 -8
  283. package/dist/index.js +0 -8
  284. package/dist/interfaces/i-addons.d.ts +0 -12
  285. package/dist/interfaces/i-addons.js +0 -8
  286. package/dist/interfaces/i-analyze.d.ts +0 -17
  287. package/dist/interfaces/i-analyze.js +0 -17
  288. package/dist/interfaces/i-app.d.ts +0 -14
  289. package/dist/interfaces/i-app.js +0 -8
  290. package/dist/interfaces/i-branding.d.ts +0 -36
  291. package/dist/interfaces/i-branding.js +0 -8
  292. package/dist/interfaces/i-calamares-displaymanager.d.ts +0 -17
  293. package/dist/interfaces/i-calamares-displaymanager.js +0 -1
  294. package/dist/interfaces/i-calamares-finished.d.ts +0 -12
  295. package/dist/interfaces/i-calamares-finished.js +0 -1
  296. package/dist/interfaces/i-calamares-packages.d.ts +0 -28
  297. package/dist/interfaces/i-calamares-packages.js +0 -1
  298. package/dist/interfaces/i-calamares-partition.d.ts +0 -40
  299. package/dist/interfaces/i-calamares-partition.js +0 -1
  300. package/dist/interfaces/i-config-tools.d.ts +0 -15
  301. package/dist/interfaces/i-config-tools.js +0 -8
  302. package/dist/interfaces/i-devices.d.ts +0 -20
  303. package/dist/interfaces/i-devices.js +0 -8
  304. package/dist/interfaces/i-distro.d.ts +0 -23
  305. package/dist/interfaces/i-distro.js +0 -8
  306. package/dist/interfaces/i-drive-list.d.ts +0 -33
  307. package/dist/interfaces/i-drive-list.js +0 -8
  308. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  309. package/dist/interfaces/i-eggs-config.js +0 -8
  310. package/dist/interfaces/i-excludes.d.ts +0 -14
  311. package/dist/interfaces/i-excludes.js +0 -8
  312. package/dist/interfaces/i-exec.d.ts +0 -11
  313. package/dist/interfaces/i-exec.js +0 -8
  314. package/dist/interfaces/i-initrd.d.ts +0 -13
  315. package/dist/interfaces/i-initrd.js +0 -8
  316. package/dist/interfaces/i-install.d.ts +0 -16
  317. package/dist/interfaces/i-install.js +0 -8
  318. package/dist/interfaces/i-installer.d.ts +0 -17
  319. package/dist/interfaces/i-installer.js +0 -8
  320. package/dist/interfaces/i-luks-passphrase.d.ts +0 -11
  321. package/dist/interfaces/i-luks-passphrase.js +0 -8
  322. package/dist/interfaces/i-materia.d.ts +0 -36
  323. package/dist/interfaces/i-materia.js +0 -8
  324. package/dist/interfaces/i-net.d.ts +0 -16
  325. package/dist/interfaces/i-net.js +0 -8
  326. package/dist/interfaces/i-os-release.d.ts +0 -5
  327. package/dist/interfaces/i-os-release.js +0 -1
  328. package/dist/interfaces/i-packages.d.ts +0 -16
  329. package/dist/interfaces/i-packages.js +0 -8
  330. package/dist/interfaces/i-partitions.d.ts +0 -16
  331. package/dist/interfaces/i-partitions.js +0 -8
  332. package/dist/interfaces/i-pxe.d.ts +0 -45
  333. package/dist/interfaces/i-pxe.js +0 -1
  334. package/dist/interfaces/i-remix.d.ts +0 -21
  335. package/dist/interfaces/i-remix.js +0 -8
  336. package/dist/interfaces/i-settings.d.ts +0 -33
  337. package/dist/interfaces/i-settings.js +0 -8
  338. package/dist/interfaces/i-user.d.ts +0 -14
  339. package/dist/interfaces/i-user.js +0 -8
  340. package/dist/interfaces/i-workdir.d.ts +0 -14
  341. package/dist/interfaces/i-workdir.js +0 -8
  342. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  343. package/dist/interfaces/i-xkb-model.js +0 -8
  344. package/dist/interfaces/index.d.ts +0 -26
  345. package/dist/interfaces/index.js +0 -8
  346. package/dist/krill/classes/cfs.d.ts +0 -17
  347. package/dist/krill/classes/cfs.js +0 -39
  348. package/dist/krill/classes/krill_enums.d.ts +0 -37
  349. package/dist/krill/classes/krill_enums.js +0 -41
  350. package/dist/krill/classes/prepare.d/confirm.d.ts +0 -5
  351. package/dist/krill/classes/prepare.d/confirm.js +0 -30
  352. package/dist/krill/classes/prepare.d/keyboard.d.ts +0 -14
  353. package/dist/krill/classes/prepare.d/keyboard.js +0 -62
  354. package/dist/krill/classes/prepare.d/location.d.ts +0 -17
  355. package/dist/krill/classes/prepare.d/location.js +0 -59
  356. package/dist/krill/classes/prepare.d/network.d.ts +0 -14
  357. package/dist/krill/classes/prepare.d/network.js +0 -68
  358. package/dist/krill/classes/prepare.d/partitions.d.ts +0 -14
  359. package/dist/krill/classes/prepare.d/partitions.js +0 -86
  360. package/dist/krill/classes/prepare.d/summary.d.ts +0 -15
  361. package/dist/krill/classes/prepare.d/summary.js +0 -69
  362. package/dist/krill/classes/prepare.d/users.d.ts +0 -6
  363. package/dist/krill/classes/prepare.d/users.js +0 -63
  364. package/dist/krill/classes/prepare.d/welcome.d.ts +0 -6
  365. package/dist/krill/classes/prepare.d/welcome.js +0 -30
  366. package/dist/krill/classes/prepare.d.ts +0 -89
  367. package/dist/krill/classes/prepare.js +0 -314
  368. package/dist/krill/classes/sequence.d/add_user.d.ts +0 -20
  369. package/dist/krill/classes/sequence.d/add_user.js +0 -77
  370. package/dist/krill/classes/sequence.d/bootloader.d.ts +0 -14
  371. package/dist/krill/classes/sequence.d/bootloader.js +0 -117
  372. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +0 -14
  373. package/dist/krill/classes/sequence.d/bootloader_config.js +0 -192
  374. package/dist/krill/classes/sequence.d/change_password.d.ts +0 -15
  375. package/dist/krill/classes/sequence.d/change_password.js +0 -18
  376. package/dist/krill/classes/sequence.d/del_live_user.d.ts +0 -14
  377. package/dist/krill/classes/sequence.d/del_live_user.js +0 -39
  378. package/dist/krill/classes/sequence.d/fstab.d.ts +0 -14
  379. package/dist/krill/classes/sequence.d/fstab.js +0 -177
  380. package/dist/krill/classes/sequence.d/grubcfg.d.ts +0 -17
  381. package/dist/krill/classes/sequence.d/grubcfg.js +0 -35
  382. package/dist/krill/classes/sequence.d/hostname.d.ts +0 -13
  383. package/dist/krill/classes/sequence.d/hostname.js +0 -50
  384. package/dist/krill/classes/sequence.d/initramfs.d.ts +0 -13
  385. package/dist/krill/classes/sequence.d/initramfs.js +0 -54
  386. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +0 -14
  387. package/dist/krill/classes/sequence.d/initramfs_cfg.js +0 -35
  388. package/dist/krill/classes/sequence.d/locale.d.ts +0 -13
  389. package/dist/krill/classes/sequence.d/locale.js +0 -91
  390. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +0 -10
  391. package/dist/krill/classes/sequence.d/locale_cfg.js +0 -58
  392. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +0 -14
  393. package/dist/krill/classes/sequence.d/m_keyboard.js +0 -58
  394. package/dist/krill/classes/sequence.d/machine_id.d.ts +0 -15
  395. package/dist/krill/classes/sequence.d/machine_id.js +0 -33
  396. package/dist/krill/classes/sequence.d/mkfs.d.ts +0 -15
  397. package/dist/krill/classes/sequence.d/mkfs.js +0 -75
  398. package/dist/krill/classes/sequence.d/mount_fs.d.ts +0 -17
  399. package/dist/krill/classes/sequence.d/mount_fs.js +0 -68
  400. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +0 -17
  401. package/dist/krill/classes/sequence.d/mount_vfs.js +0 -59
  402. package/dist/krill/classes/sequence.d/network_cfg.d.ts +0 -19
  403. package/dist/krill/classes/sequence.d/network_cfg.js +0 -73
  404. package/dist/krill/classes/sequence.d/packages.d.ts +0 -14
  405. package/dist/krill/classes/sequence.d/packages.js +0 -111
  406. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +0 -17
  407. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +0 -73
  408. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +0 -16
  409. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +0 -51
  410. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +0 -17
  411. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +0 -78
  412. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +0 -10
  413. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -33
  414. package/dist/krill/classes/sequence.d/partition.d.ts +0 -14
  415. package/dist/krill/classes/sequence.d/partition.js +0 -84
  416. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +0 -13
  417. package/dist/krill/classes/sequence.d/remove_installer_link.js +0 -35
  418. package/dist/krill/classes/sequence.d/umount.d.ts +0 -14
  419. package/dist/krill/classes/sequence.d/umount.js +0 -28
  420. package/dist/krill/classes/sequence.d/unpackfs.d.ts +0 -13
  421. package/dist/krill/classes/sequence.d/unpackfs.js +0 -20
  422. package/dist/krill/classes/sequence.d.ts +0 -133
  423. package/dist/krill/classes/sequence.js +0 -396
  424. package/dist/krill/components/finished.d.ts +0 -16
  425. package/dist/krill/components/finished.js +0 -56
  426. package/dist/krill/components/information.d.ts +0 -8
  427. package/dist/krill/components/information.js +0 -162
  428. package/dist/krill/components/install.d.ts +0 -15
  429. package/dist/krill/components/install.js +0 -60
  430. package/dist/krill/components/keyboard.d.ts +0 -16
  431. package/dist/krill/components/keyboard.js +0 -54
  432. package/dist/krill/components/location.d.ts +0 -16
  433. package/dist/krill/components/location.js +0 -59
  434. package/dist/krill/components/network.d.ts +0 -19
  435. package/dist/krill/components/network.js +0 -65
  436. package/dist/krill/components/partitions.d.ts +0 -18
  437. package/dist/krill/components/partitions.js +0 -89
  438. package/dist/krill/components/steps.d.ts +0 -13
  439. package/dist/krill/components/steps.js +0 -148
  440. package/dist/krill/components/summary.d.ts +0 -25
  441. package/dist/krill/components/summary.js +0 -77
  442. package/dist/krill/components/title.d.ts +0 -11
  443. package/dist/krill/components/title.js +0 -35
  444. package/dist/krill/components/users.d.ts +0 -24
  445. package/dist/krill/components/users.js +0 -80
  446. package/dist/krill/components/welcome.d.ts +0 -13
  447. package/dist/krill/components/welcome.js +0 -63
  448. package/dist/krill/interfaces/i_krill.d.ts +0 -44
  449. package/dist/krill/interfaces/i_krill.js +0 -8
  450. package/dist/krill/interfaces/i_krill_config.d.ts +0 -35
  451. package/dist/krill/interfaces/i_krill_config.js +0 -8
  452. package/dist/krill/lib/get_address.d.ts +0 -8
  453. package/dist/krill/lib/get_address.js +0 -23
  454. package/dist/krill/lib/get_dns.d.ts +0 -8
  455. package/dist/krill/lib/get_dns.js +0 -23
  456. package/dist/krill/lib/get_domain.d.ts +0 -8
  457. package/dist/krill/lib/get_domain.js +0 -23
  458. package/dist/krill/lib/get_gateway.d.ts +0 -8
  459. package/dist/krill/lib/get_gateway.js +0 -23
  460. package/dist/krill/lib/get_hostname.d.ts +0 -8
  461. package/dist/krill/lib/get_hostname.js +0 -23
  462. package/dist/krill/lib/get_luks_passphrase.d.ts +0 -8
  463. package/dist/krill/lib/get_luks_passphrase.js +0 -40
  464. package/dist/krill/lib/get_netmask.d.ts +0 -8
  465. package/dist/krill/lib/get_netmask.js +0 -23
  466. package/dist/krill/lib/get_password.d.ts +0 -8
  467. package/dist/krill/lib/get_password.js +0 -36
  468. package/dist/krill/lib/get_userfullname.d.ts +0 -8
  469. package/dist/krill/lib/get_userfullname.js +0 -23
  470. package/dist/krill/lib/get_username.d.ts +0 -8
  471. package/dist/krill/lib/get_username.js +0 -23
  472. package/dist/krill/lib/select_address_type.d.ts +0 -8
  473. package/dist/krill/lib/select_address_type.js +0 -24
  474. package/dist/krill/lib/select_filesystem_type.d.ts +0 -8
  475. package/dist/krill/lib/select_filesystem_type.js +0 -40
  476. package/dist/krill/lib/select_installation_device.d.ts +0 -8
  477. package/dist/krill/lib/select_installation_device.js +0 -40
  478. package/dist/krill/lib/select_installation_mode.d.ts +0 -9
  479. package/dist/krill/lib/select_installation_mode.js +0 -25
  480. package/dist/krill/lib/select_interface.d.ts +0 -8
  481. package/dist/krill/lib/select_interface.js +0 -24
  482. package/dist/krill/lib/select_keyboard_layout.d.ts +0 -11
  483. package/dist/krill/lib/select_keyboard_layout.js +0 -36
  484. package/dist/krill/lib/select_keyboard_model.d.ts +0 -11
  485. package/dist/krill/lib/select_keyboard_model.js +0 -34
  486. package/dist/krill/lib/select_keyboard_option.d.ts +0 -11
  487. package/dist/krill/lib/select_keyboard_option.js +0 -34
  488. package/dist/krill/lib/select_keyboard_variant.d.ts +0 -11
  489. package/dist/krill/lib/select_keyboard_variant.js +0 -35
  490. package/dist/krill/lib/select_languages.d.ts +0 -8
  491. package/dist/krill/lib/select_languages.js +0 -28
  492. package/dist/krill/lib/select_regions.d.ts +0 -8
  493. package/dist/krill/lib/select_regions.js +0 -24
  494. package/dist/krill/lib/select_replaced_partition.d.ts +0 -8
  495. package/dist/krill/lib/select_replaced_partition.js +0 -31
  496. package/dist/krill/lib/select_user_swap_choice.d.ts +0 -9
  497. package/dist/krill/lib/select_user_swap_choice.js +0 -35
  498. package/dist/krill/lib/select_zones.d.ts +0 -8
  499. package/dist/krill/lib/select_zones.js +0 -518
  500. package/dist/lib/kill_me_softly.d.ts +0 -11
  501. package/dist/lib/kill_me_softly.js +0 -61
  502. package/dist/lib/utils.d.ts +0 -19
  503. package/dist/lib/utils.js +0 -65
  504. package/dist/penguins-eggs_25.9.8-1_amd64.deb +0 -0
  505. package/dist/penguins-eggs_25.9.8-1_amd64.deb.sha256 +0 -1
  506. package/dist/penguins-eggs_25.9.8-1_arm64.deb +0 -0
  507. package/dist/penguins-eggs_25.9.8-1_arm64.deb.sha256 +0 -1
  508. package/dist/penguins-eggs_25.9.8-1_i386.deb +0 -0
  509. package/dist/penguins-eggs_25.9.8-1_i386.deb.sha256 +0 -1
  510. package/perrisbrewery/template/dependencies-bionic.yaml +0 -37
@@ -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
- }