penguins-eggs 10.0.57 → 10.1.0

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 (404) hide show
  1. package/.oclif.manifest.json +100 -1
  2. package/README.md +84 -44
  3. package/addons/eggs/theme/calamares/modules/{_users.yml → users.yml} +3 -3
  4. package/addons/eggs/theme/livecd/grub.main.full.cfg +1 -7
  5. package/addons/eggs/theme/livecd/grub.main.simple.cfg +1 -1
  6. package/assets/config.cfg +30 -0
  7. package/conf/derivatives.yaml +1 -3
  8. package/conf/derivatives_fedora.yaml +6 -0
  9. package/conf/distros/alpine/calamares/modules/users.yml +3 -3
  10. package/conf/distros/bionic/calamares/calamares-modules/grubcfg/grubcfg.yml +1 -1
  11. package/conf/distros/bionic/calamares/modules/users.yml +3 -3
  12. package/conf/distros/buster/calamares/calamares-modules/cleanup/cleanup.sh +8 -1
  13. package/conf/distros/buster/calamares/modules/partition.yml +159 -23
  14. package/conf/distros/buster/calamares/modules/removeuser.yml +1 -1
  15. package/conf/distros/buster/calamares/modules/users.yml +3 -3
  16. package/conf/distros/fedora/calamares/modules/users.yml +3 -3
  17. package/conf/distros/noble/calamares/modules/focal-jammy/users.yml +3 -3
  18. package/conf/distros/opensuse/calamares/modules/users.yml +3 -3
  19. package/conf/distros/rolling/calamares/modules/users.yml +3 -3
  20. package/conf/eggs.yaml +1 -1
  21. package/conf/exclude.list.d/master.list +1 -0
  22. package/conf/krill.yaml +8 -0
  23. package/conf/love.yaml +4 -4
  24. package/package.json +33 -29
  25. package/perrisbrewery/scripts/postinst +98 -0
  26. package/perrisbrewery/scripts/postrm +82 -0
  27. package/perrisbrewery/scripts/preinst +40 -0
  28. package/perrisbrewery/scripts/prerm +47 -0
  29. package/perrisbrewery/template/control.template +17 -0
  30. package/perrisbrewery/template/dependencies-bionic.yaml +33 -0
  31. package/perrisbrewery/template/dependencies.yaml +37 -0
  32. package/perrisbrewery/template/man.template.md +110 -0
  33. package/pods/README.md +14 -0
  34. package/pods/almalinux.sh +10 -0
  35. package/pods/archlinux.sh +10 -0
  36. package/pods/ci/README.md +5 -0
  37. package/pods/ci/kernel-overlay-install.sh +114 -0
  38. package/pods/ci/minimal/almalinux-container2host.sh +165 -0
  39. package/pods/ci/minimal/archlinux-container2host.sh +125 -0
  40. package/pods/ci/minimal/debian-container2host.sh +173 -0
  41. package/pods/ci/minimal/fedora-container2host.sh +170 -0
  42. package/pods/ci/minimal/manjaro-container2host.sh +123 -0
  43. package/pods/ci/minimal/opensuse-container2host.sh +143 -0
  44. package/pods/ci/penguins-eggs-execute.sh +22 -0
  45. package/pods/ci/penguins-eggs-install.sh +115 -0
  46. package/pods/ci/run +34 -0
  47. package/pods/ci/run-on-almalinux.sh +50 -0
  48. package/pods/ci/run-on-archlinux.sh +64 -0
  49. package/pods/ci/run-on-debian.sh +51 -0
  50. package/pods/ci/run-on-devuan.sh +48 -0
  51. package/pods/ci/run-on-fedora.sh +51 -0
  52. package/pods/ci/run-on-manjaro.sh +61 -0
  53. package/pods/ci/run-on-opensuse.sh +58 -0
  54. package/pods/ci/run-on-rockylinux.sh +51 -0
  55. package/pods/ci/run-on-ubuntu.sh +52 -0
  56. package/pods/debian.sh +23 -0
  57. package/pods/devuan.sh +26 -0
  58. package/pods/fedora.sh +12 -0
  59. package/pods/lmde.sh +22 -0
  60. package/pods/manjaro.sh +10 -0
  61. package/pods/opensuse.sh +12 -0
  62. package/pods/podman.command.sh +85 -0
  63. package/pods/rocky.sh +12 -0
  64. package/pods/run-build-packages-debs.sh +45 -0
  65. package/pods/run-create-debs.sh +23 -0
  66. package/pods/ubuntu.sh +24 -0
  67. package/scripts/_eggs +23 -6
  68. package/scripts/eggs.bash +8 -6
  69. package/dist/classes/bleach.d.ts +0 -32
  70. package/dist/classes/bleach.js +0 -135
  71. package/dist/classes/cfs.d.ts +0 -17
  72. package/dist/classes/cfs.js +0 -39
  73. package/dist/classes/cli-autologin.d.ts +0 -52
  74. package/dist/classes/cli-autologin.js +0 -247
  75. package/dist/classes/compressors.d.ts +0 -54
  76. package/dist/classes/compressors.js +0 -109
  77. package/dist/classes/daddy.d.ts +0 -26
  78. package/dist/classes/daddy.js +0 -167
  79. package/dist/classes/distro.d.ts +0 -32
  80. package/dist/classes/distro.js +0 -341
  81. package/dist/classes/diversions.d.ts +0 -52
  82. package/dist/classes/diversions.js +0 -126
  83. package/dist/classes/incubation/branding.d.ts +0 -17
  84. package/dist/classes/incubation/branding.js +0 -85
  85. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +0 -11
  86. package/dist/classes/incubation/fisherman-helper/displaymanager.js +0 -40
  87. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  88. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  89. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  90. package/dist/classes/incubation/fisherman-helper/settings.js +0 -83
  91. package/dist/classes/incubation/fisherman.d.ts +0 -70
  92. package/dist/classes/incubation/fisherman.js +0 -263
  93. package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
  94. package/dist/classes/incubation/incubator.d/alpine.js +0 -78
  95. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  96. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  97. package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
  98. package/dist/classes/incubation/incubator.d/buster.js +0 -85
  99. package/dist/classes/incubation/incubator.d/jessie.d.ts +0 -31
  100. package/dist/classes/incubation/incubator.d/jessie.js +0 -44
  101. package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
  102. package/dist/classes/incubation/incubator.d/noble.js +0 -85
  103. package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
  104. package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
  105. package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
  106. package/dist/classes/incubation/incubator.d/opensuse.js +0 -81
  107. package/dist/classes/incubation/incubator.d/rolling.d.ts +0 -32
  108. package/dist/classes/incubation/incubator.d/rolling.js +0 -80
  109. package/dist/classes/incubation/incubator.d.ts +0 -44
  110. package/dist/classes/incubation/incubator.js +0 -382
  111. package/dist/classes/incubation/installer.d.ts +0 -13
  112. package/dist/classes/incubation/installer.js +0 -52
  113. package/dist/classes/keyboards.d.ts +0 -50
  114. package/dist/classes/keyboards.js +0 -287
  115. package/dist/classes/locales.d.ts +0 -21
  116. package/dist/classes/locales.js +0 -77
  117. package/dist/classes/network.d.ts +0 -37
  118. package/dist/classes/network.js +0 -98
  119. package/dist/classes/ovary.d.ts +0 -198
  120. package/dist/classes/ovary.js +0 -1850
  121. package/dist/classes/pacman.d/aldos.d.ts +0 -52
  122. package/dist/classes/pacman.d/aldos.js +0 -100
  123. package/dist/classes/pacman.d/alpine.d.ts +0 -56
  124. package/dist/classes/pacman.d/alpine.js +0 -162
  125. package/dist/classes/pacman.d/archlinux.d.ts +0 -62
  126. package/dist/classes/pacman.d/archlinux.js +0 -139
  127. package/dist/classes/pacman.d/debian.d.ts +0 -65
  128. package/dist/classes/pacman.d/debian.js +0 -143
  129. package/dist/classes/pacman.d/fedora.d.ts +0 -53
  130. package/dist/classes/pacman.d/fedora.js +0 -101
  131. package/dist/classes/pacman.d/openmamba.d.ts +0 -52
  132. package/dist/classes/pacman.d/openmamba.js +0 -100
  133. package/dist/classes/pacman.d/opensuse.d.ts +0 -53
  134. package/dist/classes/pacman.d/opensuse.js +0 -102
  135. package/dist/classes/pacman.d/voidlinux.d.ts +0 -52
  136. package/dist/classes/pacman.d/voidlinux.js +0 -90
  137. package/dist/classes/pacman.d.ts +0 -139
  138. package/dist/classes/pacman.js +0 -775
  139. package/dist/classes/pve-live.d.ts +0 -17
  140. package/dist/classes/pve-live.js +0 -52
  141. package/dist/classes/pxe.d.ts +0 -74
  142. package/dist/classes/pxe.js +0 -410
  143. package/dist/classes/settings.d.ts +0 -53
  144. package/dist/classes/settings.js +0 -185
  145. package/dist/classes/sources_list.d.ts +0 -28
  146. package/dist/classes/sources_list.js +0 -89
  147. package/dist/classes/systemctl.d.ts +0 -47
  148. package/dist/classes/systemctl.js +0 -86
  149. package/dist/classes/tailor.d.ts +0 -50
  150. package/dist/classes/tailor.js +0 -526
  151. package/dist/classes/tools.d.ts +0 -26
  152. package/dist/classes/tools.js +0 -50
  153. package/dist/classes/users.d.ts +0 -28
  154. package/dist/classes/users.js +0 -143
  155. package/dist/classes/utils.d.ts +0 -326
  156. package/dist/classes/utils.js +0 -1025
  157. package/dist/classes/xdg.d.ts +0 -45
  158. package/dist/classes/xdg.js +0 -337
  159. package/dist/classes/yolk.d.ts +0 -33
  160. package/dist/classes/yolk.js +0 -114
  161. package/dist/commands/adapt.d.ts +0 -17
  162. package/dist/commands/adapt.js +0 -33
  163. package/dist/commands/analyze.d.ts +0 -26
  164. package/dist/commands/analyze.js +0 -95
  165. package/dist/commands/calamares.d.ts +0 -29
  166. package/dist/commands/calamares.js +0 -112
  167. package/dist/commands/config.d.ts +0 -35
  168. package/dist/commands/config.js +0 -120
  169. package/dist/commands/cuckoo.d.ts +0 -16
  170. package/dist/commands/cuckoo.js +0 -62
  171. package/dist/commands/dad.d.ts +0 -20
  172. package/dist/commands/dad.js +0 -46
  173. package/dist/commands/export/iso.d.ts +0 -19
  174. package/dist/commands/export/iso.js +0 -55
  175. package/dist/commands/export/pkg.d.ts +0 -29
  176. package/dist/commands/export/pkg.js +0 -163
  177. package/dist/commands/export/tarballs.d.ts +0 -27
  178. package/dist/commands/export/tarballs.js +0 -84
  179. package/dist/commands/install.d.ts +0 -37
  180. package/dist/commands/install.js +0 -88
  181. package/dist/commands/kill.d.ts +0 -24
  182. package/dist/commands/kill.js +0 -50
  183. package/dist/commands/love.d.ts +0 -20
  184. package/dist/commands/love.js +0 -59
  185. package/dist/commands/mom.d.ts +0 -16
  186. package/dist/commands/mom.js +0 -30
  187. package/dist/commands/produce.d.ts +0 -34
  188. package/dist/commands/produce.js +0 -201
  189. package/dist/commands/status.d.ts +0 -23
  190. package/dist/commands/status.js +0 -31
  191. package/dist/commands/syncfrom.d.ts +0 -45
  192. package/dist/commands/syncfrom.js +0 -152
  193. package/dist/commands/syncto.d.ts +0 -40
  194. package/dist/commands/syncto.js +0 -175
  195. package/dist/commands/tools/clean.d.ts +0 -18
  196. package/dist/commands/tools/clean.js +0 -37
  197. package/dist/commands/tools/ppa.d.ts +0 -26
  198. package/dist/commands/tools/ppa.js +0 -138
  199. package/dist/commands/tools/skel.d.ts +0 -18
  200. package/dist/commands/tools/skel.js +0 -44
  201. package/dist/commands/tools/stat.d.ts +0 -31
  202. package/dist/commands/tools/stat.js +0 -70
  203. package/dist/commands/tools/yolk.d.ts +0 -24
  204. package/dist/commands/tools/yolk.js +0 -45
  205. package/dist/commands/update.d.ts +0 -51
  206. package/dist/commands/update.js +0 -219
  207. package/dist/commands/wardrobe/get.d.ts +0 -23
  208. package/dist/commands/wardrobe/get.js +0 -52
  209. package/dist/commands/wardrobe/list.d.ts +0 -24
  210. package/dist/commands/wardrobe/list.js +0 -125
  211. package/dist/commands/wardrobe/show.d.ts +0 -25
  212. package/dist/commands/wardrobe/show.js +0 -97
  213. package/dist/commands/wardrobe/wear.d.ts +0 -26
  214. package/dist/commands/wardrobe/wear.js +0 -84
  215. package/dist/components/finished.d.ts +0 -16
  216. package/dist/components/finished.js +0 -56
  217. package/dist/components/information.d.ts +0 -8
  218. package/dist/components/information.js +0 -156
  219. package/dist/components/install.d.ts +0 -15
  220. package/dist/components/install.js +0 -60
  221. package/dist/components/keyboard.d.ts +0 -16
  222. package/dist/components/keyboard.js +0 -54
  223. package/dist/components/location.d.ts +0 -16
  224. package/dist/components/location.js +0 -59
  225. package/dist/components/network.d.ts +0 -19
  226. package/dist/components/network.js +0 -65
  227. package/dist/components/partitions.d.ts +0 -16
  228. package/dist/components/partitions.js +0 -73
  229. package/dist/components/steps.d.ts +0 -13
  230. package/dist/components/steps.js +0 -148
  231. package/dist/components/summary.d.ts +0 -24
  232. package/dist/components/summary.js +0 -81
  233. package/dist/components/title.d.ts +0 -11
  234. package/dist/components/title.js +0 -35
  235. package/dist/components/users.d.ts +0 -24
  236. package/dist/components/users.js +0 -80
  237. package/dist/components/welcome.d.ts +0 -13
  238. package/dist/components/welcome.js +0 -63
  239. package/dist/index-old.d.ts +0 -8
  240. package/dist/index-old.js +0 -8
  241. package/dist/index.d.ts +0 -54
  242. package/dist/index.js +0 -147
  243. package/dist/interfaces/i-addons.d.ts +0 -12
  244. package/dist/interfaces/i-addons.js +0 -8
  245. package/dist/interfaces/i-analyze.d.ts +0 -17
  246. package/dist/interfaces/i-analyze.js +0 -17
  247. package/dist/interfaces/i-app.d.ts +0 -14
  248. package/dist/interfaces/i-app.js +0 -8
  249. package/dist/interfaces/i-branding.d.ts +0 -36
  250. package/dist/interfaces/i-branding.js +0 -8
  251. package/dist/interfaces/i-calamares-displaymanager.d.ts +0 -17
  252. package/dist/interfaces/i-calamares-displaymanager.js +0 -1
  253. package/dist/interfaces/i-calamares-finished.d.ts +0 -12
  254. package/dist/interfaces/i-calamares-finished.js +0 -1
  255. package/dist/interfaces/i-calamares-packages.d.ts +0 -28
  256. package/dist/interfaces/i-calamares-packages.js +0 -1
  257. package/dist/interfaces/i-calamares-partition.d.ts +0 -40
  258. package/dist/interfaces/i-calamares-partition.js +0 -1
  259. package/dist/interfaces/i-config-tools.d.ts +0 -15
  260. package/dist/interfaces/i-config-tools.js +0 -8
  261. package/dist/interfaces/i-devices.d.ts +0 -20
  262. package/dist/interfaces/i-devices.js +0 -8
  263. package/dist/interfaces/i-distro.d.ts +0 -23
  264. package/dist/interfaces/i-distro.js +0 -8
  265. package/dist/interfaces/i-drive-list.d.ts +0 -33
  266. package/dist/interfaces/i-drive-list.js +0 -8
  267. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  268. package/dist/interfaces/i-eggs-config.js +0 -8
  269. package/dist/interfaces/i-excludes.d.ts +0 -14
  270. package/dist/interfaces/i-excludes.js +0 -8
  271. package/dist/interfaces/i-exec.d.ts +0 -11
  272. package/dist/interfaces/i-exec.js +0 -8
  273. package/dist/interfaces/i-initrd.d.ts +0 -13
  274. package/dist/interfaces/i-initrd.js +0 -8
  275. package/dist/interfaces/i-install.d.ts +0 -16
  276. package/dist/interfaces/i-install.js +0 -8
  277. package/dist/interfaces/i-installer.d.ts +0 -17
  278. package/dist/interfaces/i-installer.js +0 -8
  279. package/dist/interfaces/i-krill-config.d.ts +0 -33
  280. package/dist/interfaces/i-krill-config.js +0 -8
  281. package/dist/interfaces/i-krill.d.ts +0 -42
  282. package/dist/interfaces/i-krill.js +0 -8
  283. package/dist/interfaces/i-materia.d.ts +0 -36
  284. package/dist/interfaces/i-materia.js +0 -8
  285. package/dist/interfaces/i-net.d.ts +0 -16
  286. package/dist/interfaces/i-net.js +0 -8
  287. package/dist/interfaces/i-os-release.d.ts +0 -5
  288. package/dist/interfaces/i-os-release.js +0 -1
  289. package/dist/interfaces/i-packages.d.ts +0 -16
  290. package/dist/interfaces/i-packages.js +0 -8
  291. package/dist/interfaces/i-partitions.d.ts +0 -16
  292. package/dist/interfaces/i-partitions.js +0 -8
  293. package/dist/interfaces/i-pxe.d.ts +0 -45
  294. package/dist/interfaces/i-pxe.js +0 -1
  295. package/dist/interfaces/i-remix.d.ts +0 -21
  296. package/dist/interfaces/i-remix.js +0 -8
  297. package/dist/interfaces/i-settings.d.ts +0 -33
  298. package/dist/interfaces/i-settings.js +0 -8
  299. package/dist/interfaces/i-user.d.ts +0 -14
  300. package/dist/interfaces/i-user.js +0 -8
  301. package/dist/interfaces/i-workdir.d.ts +0 -14
  302. package/dist/interfaces/i-workdir.js +0 -8
  303. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  304. package/dist/interfaces/i-xkb-model.js +0 -8
  305. package/dist/interfaces/index.d.ts +0 -25
  306. package/dist/interfaces/index.js +0 -8
  307. package/dist/krill/modules/add-user.d.ts +0 -20
  308. package/dist/krill/modules/add-user.js +0 -48
  309. package/dist/krill/modules/bootloader-config.d.ts +0 -14
  310. package/dist/krill/modules/bootloader-config.js +0 -165
  311. package/dist/krill/modules/bootloader.d.ts +0 -14
  312. package/dist/krill/modules/bootloader.js +0 -95
  313. package/dist/krill/modules/change-password.d.ts +0 -15
  314. package/dist/krill/modules/change-password.js +0 -18
  315. package/dist/krill/modules/del-live-user.d.ts +0 -14
  316. package/dist/krill/modules/del-live-user.js +0 -39
  317. package/dist/krill/modules/fstab.d.ts +0 -14
  318. package/dist/krill/modules/fstab.js +0 -128
  319. package/dist/krill/modules/grubcfg.d.ts +0 -17
  320. package/dist/krill/modules/grubcfg.js +0 -29
  321. package/dist/krill/modules/hostname.d.ts +0 -13
  322. package/dist/krill/modules/hostname.js +0 -50
  323. package/dist/krill/modules/initramfs-cfg.d.ts +0 -14
  324. package/dist/krill/modules/initramfs-cfg.js +0 -22
  325. package/dist/krill/modules/initramfs.d.ts +0 -13
  326. package/dist/krill/modules/initramfs.js +0 -54
  327. package/dist/krill/modules/locale-cfg.d.ts +0 -10
  328. package/dist/krill/modules/locale-cfg.js +0 -58
  329. package/dist/krill/modules/locale.d.ts +0 -13
  330. package/dist/krill/modules/locale.js +0 -91
  331. package/dist/krill/modules/m-keyboard.d.ts +0 -14
  332. package/dist/krill/modules/m-keyboard.js +0 -58
  333. package/dist/krill/modules/machine-id.d.ts +0 -15
  334. package/dist/krill/modules/machine-id.js +0 -33
  335. package/dist/krill/modules/mkfs.d.ts +0 -15
  336. package/dist/krill/modules/mkfs.js +0 -50
  337. package/dist/krill/modules/mount-fs.d.ts +0 -17
  338. package/dist/krill/modules/mount-fs.js +0 -62
  339. package/dist/krill/modules/mount-vfs.d.ts +0 -17
  340. package/dist/krill/modules/mount-vfs.js +0 -40
  341. package/dist/krill/modules/network-cfg.d.ts +0 -19
  342. package/dist/krill/modules/network-cfg.js +0 -64
  343. package/dist/krill/modules/packages.d.ts +0 -14
  344. package/dist/krill/modules/packages.js +0 -111
  345. package/dist/krill/modules/partition.d.ts +0 -20
  346. package/dist/krill/modules/partition.js +0 -345
  347. package/dist/krill/modules/remove-installer-link.d.ts +0 -13
  348. package/dist/krill/modules/remove-installer-link.js +0 -35
  349. package/dist/krill/modules/umount.d.ts +0 -14
  350. package/dist/krill/modules/umount.js +0 -28
  351. package/dist/krill/modules/unpackfs.d.ts +0 -13
  352. package/dist/krill/modules/unpackfs.js +0 -20
  353. package/dist/krill/prepare.d.ts +0 -78
  354. package/dist/krill/prepare.js +0 -626
  355. package/dist/krill/sequence.d.ts +0 -154
  356. package/dist/krill/sequence.js +0 -652
  357. package/dist/lib/get_address.d.ts +0 -8
  358. package/dist/lib/get_address.js +0 -23
  359. package/dist/lib/get_dns.d.ts +0 -8
  360. package/dist/lib/get_dns.js +0 -23
  361. package/dist/lib/get_domain.d.ts +0 -8
  362. package/dist/lib/get_domain.js +0 -23
  363. package/dist/lib/get_gateway.d.ts +0 -8
  364. package/dist/lib/get_gateway.js +0 -23
  365. package/dist/lib/get_hostname.d.ts +0 -8
  366. package/dist/lib/get_hostname.js +0 -23
  367. package/dist/lib/get_netmask.d.ts +0 -8
  368. package/dist/lib/get_netmask.js +0 -23
  369. package/dist/lib/get_password.d.ts +0 -8
  370. package/dist/lib/get_password.js +0 -36
  371. package/dist/lib/get_userfullname.d.ts +0 -8
  372. package/dist/lib/get_userfullname.js +0 -23
  373. package/dist/lib/get_username.d.ts +0 -8
  374. package/dist/lib/get_username.js +0 -23
  375. package/dist/lib/kill_me_softly.d.ts +0 -11
  376. package/dist/lib/kill_me_softly.js +0 -61
  377. package/dist/lib/select_address_type.d.ts +0 -8
  378. package/dist/lib/select_address_type.js +0 -24
  379. package/dist/lib/select_filesystem_type.d.ts +0 -8
  380. package/dist/lib/select_filesystem_type.js +0 -46
  381. package/dist/lib/select_installation_device.d.ts +0 -8
  382. package/dist/lib/select_installation_device.js +0 -34
  383. package/dist/lib/select_installation_mode.d.ts +0 -8
  384. package/dist/lib/select_installation_mode.js +0 -24
  385. package/dist/lib/select_interface.d.ts +0 -8
  386. package/dist/lib/select_interface.js +0 -24
  387. package/dist/lib/select_keyboard_layout.d.ts +0 -11
  388. package/dist/lib/select_keyboard_layout.js +0 -36
  389. package/dist/lib/select_keyboard_model.d.ts +0 -11
  390. package/dist/lib/select_keyboard_model.js +0 -34
  391. package/dist/lib/select_keyboard_option.d.ts +0 -11
  392. package/dist/lib/select_keyboard_option.js +0 -34
  393. package/dist/lib/select_keyboard_variant.d.ts +0 -11
  394. package/dist/lib/select_keyboard_variant.js +0 -35
  395. package/dist/lib/select_languages.d.ts +0 -8
  396. package/dist/lib/select_languages.js +0 -28
  397. package/dist/lib/select_regions.d.ts +0 -8
  398. package/dist/lib/select_regions.js +0 -24
  399. package/dist/lib/select_user_swap_choice.d.ts +0 -8
  400. package/dist/lib/select_user_swap_choice.js +0 -34
  401. package/dist/lib/select_zones.d.ts +0 -8
  402. package/dist/lib/select_zones.js +0 -518
  403. package/dist/lib/utils.d.ts +0 -34
  404. package/dist/lib/utils.js +0 -79
@@ -1,526 +0,0 @@
1
- /**
2
- * ./src/classes/tailor.ts
3
- * penguins-eggs v.10.0.0 / 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. sudo apt update | apt install curl');
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 'Arch': {
110
- tailorList = `${this.costume}/arch.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 Arch`);
115
- process.exit();
116
- }
117
- }
118
- break;
119
- }
120
- case 'Alpine': {
121
- tailorList = `${this.costume}/alpine.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 Alpine`);
126
- process.exit();
127
- }
128
- }
129
- break;
130
- }
131
- case 'Almalinux':
132
- case 'Rocky':
133
- case 'Fedora': {
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
- } // end analyze
145
- /**
146
- * find materials
147
- */
148
- if (fs.existsSync(tailorList)) {
149
- this.materials = yaml.load(fs.readFileSync(tailorList, 'utf8'));
150
- }
151
- else {
152
- switch (this.category) {
153
- case 'costume': {
154
- Utils.titles(`${this.category}: ${this.costume}`);
155
- console.log("Tailor's list " + chalk.cyan(tailorList) + ' is not found \non your wardrobe ' + chalk.cyan(this.wardrobe) + '.\n');
156
- console.log('Costume will not be installed, operations will abort.\n');
157
- Utils.pressKeyToExit();
158
- process.exit();
159
- break;
160
- }
161
- case 'accessory': {
162
- Utils.titles(`${this.category}: ${this.costume}`);
163
- console.log("Tailor's list " + chalk.cyan(tailorList) + ' is not found \non your wardrobe ' + chalk.cyan(this.wardrobe) + '.\n');
164
- console.log('vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv');
165
- console.log('Accessory will not be installed,');
166
- console.log('operations will continue.');
167
- console.log('^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');
168
- sleep(3000);
169
- return;
170
- }
171
- }
172
- }
173
- /**
174
- * sequence
175
- */
176
- const sources_list = new SourcesList();
177
- let step = '';
178
- if (this.materials.sequence !== undefined) {
179
- step = 'analyzing sequence';
180
- Utils.warning(step);
181
- /**
182
- * sequence/repositories
183
- */
184
- if (this.materials.sequence.repositories !== undefined) {
185
- if (distro.familyId === 'debian') {
186
- /**
187
- * sequence/repositories/sources_list
188
- */
189
- // evito di fallire se sources_list non è presente
190
- if (this.materials.sequence.repositories.sources_list !== undefined) {
191
- step = 'analyzing repositories';
192
- Utils.warning(step);
193
- if (distro.distroLike === 'Debian') {
194
- await sources_list.components(this.materials.sequence.repositories.sources_list);
195
- }
196
- }
197
- /**
198
- * sequence/repositories/sources_list_d
199
- */
200
- if (this.materials.sequence.repositories.sources_list_d !== undefined && this.materials.sequence.repositories.sources_list_d[0] !== null) {
201
- step = 'adding repositories to /etc/apt/sources_list_d';
202
- Utils.warning(step);
203
- for (const cmd of this.materials.sequence.repositories.sources_list_d) {
204
- try {
205
- // repeat 3 times if fail curl or others commands
206
- for (let i = 0; i < 2; i++) {
207
- const result = await exec(cmd, this.echo);
208
- if (result.code === 0) {
209
- break;
210
- }
211
- }
212
- }
213
- catch (error) {
214
- await Utils.pressKeyToExit(JSON.stringify(error));
215
- }
216
- }
217
- }
218
- }
219
- /**
220
- * sequence/repositories/update
221
- */
222
- if (this.materials.sequence.repositories.update === undefined) {
223
- console.log('repositiories, and repositories.update MUST be defined on sequence');
224
- process.exit();
225
- }
226
- step = 'repositories update';
227
- Utils.warning(step);
228
- if (this.materials.sequence.repositories.update) {
229
- switch (distro.familyId) {
230
- case 'debian': {
231
- await exec('apt-get update', Utils.setEcho(false));
232
- break;
233
- }
234
- case 'archlinux': {
235
- await exec('pacman -Sy', Utils.setEcho(false));
236
- break;
237
- }
238
- case 'alpine': {
239
- await exec('apk update', Utils.setEcho(false));
240
- break;
241
- }
242
- case 'fedora': {
243
- await exec('dnf update', Utils.setEcho(false));
244
- break;
245
- }
246
- }
247
- }
248
- /**
249
- * sequence/repositories/upgrade
250
- */
251
- if (this.materials.sequence.repositories.upgrade !== undefined) {
252
- step = 'repositories upgrade';
253
- Utils.warning(step);
254
- if (this.materials.sequence.repositories.upgrade) {
255
- switch (distro.familyId) {
256
- case 'debian': {
257
- await exec('apt-get full-upgrade', Utils.setEcho(false));
258
- break;
259
- }
260
- case 'archlinux': {
261
- await exec('pacman -Su', Utils.setEcho(false));
262
- break;
263
- }
264
- case 'alpine': {
265
- await exec('apk upgrade', Utils.setEcho(false));
266
- break;
267
- }
268
- case 'fedora': {
269
- await exec('dnf upgrade', Utils.setEcho(false));
270
- break;
271
- }
272
- }
273
- } // upgrade true
274
- } // undefined upgrade
275
- } // end sequence/repositories
276
- /**
277
- * sequence/cmds
278
- */
279
- if (this.materials.sequence.cmds !== undefined && Array.isArray(this.materials.sequence.cmds)) {
280
- step = 'sequence commands';
281
- Utils.warning(step);
282
- for (const cmd of this.materials.sequence.cmds) {
283
- if (fs.existsSync(`${this.costume}/${cmd}`)) {
284
- await exec(`${this.costume}/${cmd} ${this.materials.name}`, Utils.setEcho(true));
285
- }
286
- else {
287
- // exec cmd real env
288
- await exec(`${cmd} ${this.materials.name}`, Utils.setEcho(true));
289
- }
290
- }
291
- }
292
- /**
293
- * install packages
294
- */
295
- if (this.materials.sequence.packages !== undefined) {
296
- const packages = await this.packagesExists(this.materials.sequence.packages);
297
- if (packages.length > 1) {
298
- switch (distro.familyId) {
299
- case 'debian': {
300
- await this.packagesInstall(packages);
301
- break;
302
- }
303
- case 'archlinux': {
304
- await this.packagesInstall(this.materials.sequence.packages, 'packages', `pacman -Sy --noconfirm`);
305
- break;
306
- }
307
- case 'alpine': {
308
- await this.packagesInstall(this.materials.sequence.packages, 'packages', `apk add`);
309
- break;
310
- }
311
- case 'fedora': {
312
- await this.packagesInstall(this.materials.sequence.packages, 'packages', `dnf install -y`);
313
- break;
314
- }
315
- }
316
- }
317
- }
318
- /**
319
- * sequence/packages_python
320
- */
321
- if (this.materials.sequence.packages_python !== undefined && Array.isArray(this.materials.sequence.packages_python)) {
322
- let cmd = 'pip install ';
323
- let pip = '';
324
- for (const elem of this.materials.sequence.packages_python) {
325
- cmd += ` ${elem}`;
326
- pip += `, ${elem}`;
327
- }
328
- step = `installing python packages pip ${pip.slice(2)}`;
329
- Utils.warning(step);
330
- await exec(cmd, this.echo);
331
- }
332
- /**
333
- * sequence/accessories
334
- */
335
- if (!no_accessories) {
336
- if (this.materials.sequence.accessories !== undefined && Array.isArray(this.materials.sequence.accessories)) {
337
- step = 'wearing accessories';
338
- for (const elem of this.materials.sequence.accessories) {
339
- if ((elem === 'firmwares' || elem === './firmwares') && no_firmwares) {
340
- continue;
341
- }
342
- if (elem.slice(0, 2) === './') {
343
- // local accessory
344
- const tailor = new Tailor(`${this.costume}/${elem.slice(2)}`, 'accessory');
345
- await tailor.prepare(verbose);
346
- }
347
- else {
348
- // global accessory
349
- const tailor = new Tailor(`${this.wardrobe}/accessories/${elem}`, 'accessory');
350
- await tailor.prepare(verbose);
351
- }
352
- }
353
- }
354
- } // no-accessories
355
- } // end sequence
356
- /**
357
- * customize
358
- */
359
- if (this.materials.finalize !== undefined) {
360
- /**
361
- * finalize/customize
362
- */
363
- if (this.materials.finalize.customize && fs.existsSync(`/${this.costume}/sysroot`)) {
364
- step = `finalize/customize: copying ${this.costume}/sysroot/ to /`;
365
- Utils.warning(step);
366
- let cmd = `rsync -avx ${this.costume}/sysroot/* / ${this.toNull}`;
367
- await exec(cmd, this.echo);
368
- // chown
369
- cmd = `chown root:root /etc/sudoers.d /etc/skel -R`;
370
- await exec(cmd, this.echo);
371
- /**
372
- * Copyng skel in /home/user
373
- */
374
- if (fs.existsSync(`${this.costume}/sysroot/etc/skel`)) {
375
- const user = await Utils.getPrimaryUser();
376
- step = `finalize/customize: copying skel in /home/${user}/`;
377
- Utils.warning(step);
378
- cmd = `rsync -avx ${this.costume}/sysroot/etc/skel/.config /home/${user}/ ${this.toNull}`;
379
- await exec(cmd, this.echo);
380
- await exec(`chown ${user}:${user} /home/${user}/ -R`);
381
- }
382
- }
383
- /**
384
- * finalize/cmds
385
- */
386
- if (this.materials.finalize.cmds !== undefined && Array.isArray(this.materials.finalize.cmds)) {
387
- step = 'finalize/commands';
388
- Utils.warning(step);
389
- for (const cmd of this.materials.finalize.cmds) {
390
- if (fs.existsSync(`${this.costume}/${cmd}`)) {
391
- await exec(`${this.costume}/${cmd} ${this.materials.name}`, Utils.setEcho(true));
392
- }
393
- else {
394
- // exec cmd real env
395
- await exec(`${cmd}`, Utils.setEcho(true));
396
- }
397
- }
398
- }
399
- }
400
- // show log
401
- if (fs.existsSync(this.log)) {
402
- await exec(`cat ${this.log}`);
403
- }
404
- /**
405
- * reboot
406
- */
407
- if (this.materials.reboot) {
408
- Utils.warning('Reboot');
409
- await Utils.pressKeyToExit('system need to reboot', true);
410
- await exec('reboot');
411
- }
412
- else {
413
- console.log(`You look good with: ${this.materials.name}`);
414
- }
415
- }
416
- /**
417
- *
418
- * @param packages
419
- * @param verbose
420
- * @param section
421
- * @returns
422
- */
423
- async packagesExists(wanted) {
424
- Utils.warning(`checking packages exists ${this.costume}`);
425
- wanted.sort();
426
- const distro = new Distro();
427
- let cmd = "";
428
- if (distro.familyId === "debian") {
429
- cmd = `apt-cache --no-generate pkgnames`;
430
- }
431
- else if (distro.familyId === "archlinux") {
432
- cmd = `pacman -S --list | awk '{print $2}'`;
433
- }
434
- else if (distro.familyId === "alpine") {
435
- cmd = `apk search | awk -F'-[0-9]' '{print $1}' | sort -u`;
436
- }
437
- else if (distro.familyId === 'fedora') {
438
- cmd = `dnf list --available | awk '{print $1}' | sed 's/\.[^.]*$//'`;
439
- }
440
- //available = (await exec(cmd, { capture: true, echo: false, ignore: false })).data.split('\n')
441
- let available = [];
442
- available = (await exec(cmd, { capture: true, echo: false, ignore: false })).data.split('\n');
443
- available.sort();
444
- let exists = [];
445
- let not_exists = [];
446
- for (const elem of wanted) {
447
- if (available.includes(elem)) {
448
- exists.push(elem);
449
- }
450
- else {
451
- not_exists.push(elem);
452
- fs.appendFileSync(this.log, `- ${elem}\n`);
453
- }
454
- }
455
- if (not_exists.length > 0) {
456
- console.log(`${this.materials.name}, ${not_exists.length} following packages was not found:`);
457
- for (const elem of not_exists) {
458
- console.log(`-${elem}`);
459
- }
460
- console.log();
461
- console.log("Wait 3 seconds");
462
- await sleep(3000);
463
- }
464
- return exists;
465
- }
466
- /**
467
- * - check if every package if installed
468
- * - if find any packages to install, install it
469
- */
470
- async packagesInstall(packages, comment = 'packages', cmd = 'apt-get install -yqq ') {
471
- Utils.warning(`installing existing packages ${this.costume}`);
472
- if (packages[0] !== null) {
473
- const elements = [];
474
- let strElements = '';
475
- for (const elem of packages) {
476
- elements.push(elem);
477
- cmd += ` ${elem}`;
478
- strElements += `, ${elem}`;
479
- }
480
- if (elements.length > 0) {
481
- let step = `installing ${comment}: `;
482
- if (!this.verbose) {
483
- step += strElements.slice(2);
484
- }
485
- /**
486
- * prova 3 volte
487
- */
488
- const limit = 3;
489
- for (let tempts = 1; tempts < limit; tempts++) {
490
- Utils.titles(step);
491
- Utils.warning(`tempts ${tempts} of ${limit}`);
492
- if (await this.tryCheckSuccess(cmd, this.echo)) {
493
- break;
494
- }
495
- }
496
- }
497
- }
498
- }
499
- /**
500
- *
501
- * @param cmd
502
- * @param echo
503
- * @returns
504
- */
505
- async tryCheckSuccess(cmd, echo) {
506
- let success = false;
507
- try {
508
- await exec(cmd, echo);
509
- success = true;
510
- }
511
- catch {
512
- success = false;
513
- }
514
- return success;
515
- }
516
- }
517
- /**
518
- *
519
- * @param ms
520
- * @returns
521
- */
522
- function sleep(ms = 0) {
523
- return new Promise((resolve) => {
524
- setTimeout(resolve, ms);
525
- });
526
- }
@@ -1,26 +0,0 @@
1
- /**
2
- * ./src/classes/tools.ts
3
- * penguins-eggs v.10.0.0 / 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.10.0.0 / 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.10.0.0 / 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
- }