penguins-eggs 25.10.23 → 25.10.26

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 (529) hide show
  1. package/.oclif.manifest.json +17 -3
  2. package/README.md +34 -32
  3. package/README.pdf +1008 -1045
  4. package/addons/eggs/adapt/applications/eggs-adapt.desktop +0 -0
  5. package/addons/eggs/pve/applications/eggs-pve.desktop +0 -0
  6. package/addons/eggs/rsupport/applications/eggs-rsupport.desktop +0 -0
  7. package/addons/eggs/theme/applications/install-system.desktop +0 -0
  8. package/addons/eggs/theme/livecd/{grub.theme.cfg → full.grub.theme.cfg} +1 -1
  9. package/addons/eggs/theme/livecd/{isolinux.theme.cfg → full.isolinux.theme.cfg} +1 -1
  10. package/addons/eggs/theme/livecd/generic-splash.png +0 -0
  11. package/addons/eggs/theme/livecd/generic.grub.main.cfg +29 -0
  12. package/addons/eggs/theme/livecd/generic.grub.theme.cfg +67 -0
  13. package/addons/eggs/theme/livecd/generic.isolinux.main.cfg +34 -0
  14. package/addons/eggs/theme/livecd/generic.isolinux.theme.cfg +34 -0
  15. package/addons/eggs/theme/livecd/simple.grub.main.cfg +29 -0
  16. package/addons/eggs/theme/livecd/simple.grub.theme.cfg +67 -0
  17. package/addons/eggs/theme/livecd/{isolinux.main.simple.cfg → simple.isolinux.main.cfg} +1 -1
  18. package/addons/eggs/theme/livecd/simple.isolinux.theme.cfg +47 -0
  19. package/assets/calamares/install-system.sh +0 -0
  20. package/assets/penguins-eggs.desktop +0 -0
  21. package/assets/penguins-krill.desktop +0 -0
  22. package/assets/penguins-links-add.desktop +0 -0
  23. package/assets/penguins-live-installer.desktop +0 -0
  24. package/bin/dev.js +0 -0
  25. package/conf/distros/alpine/calamares/calamares-modules/machineid-openrc/machineid-openrc.sh +0 -0
  26. package/conf/distros/buster/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  27. package/conf/distros/buster/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
  28. package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  29. package/conf/distros/fedora/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  30. package/conf/distros/focal/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  31. package/conf/distros/focal/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  32. package/conf/distros/noble/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  33. package/conf/distros/noble/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  34. package/conf/distros/noble/calamares/libexec/calamares-aptsources.sh +0 -0
  35. package/conf/distros/noble/calamares/libexec/calamares-l10n-helper.sh +0 -0
  36. package/conf/distros/noble/calamares/libexec/calamares-logs-helper.sh +0 -0
  37. package/conf/distros/noble/calamares/libexec/calamares-nomodeset.sh +0 -0
  38. package/conf/distros/opensuse/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  39. package/conf/distros/opensuse/calamares/settings.yml +0 -0
  40. package/conf/distros/opensuse/calamares/zstd2lzo.sh +0 -0
  41. package/conf/distros/trixie/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  42. package/conf/distros/trixie/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
  43. package/conf/distros/trixie/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  44. package/conf/init/unattended.sh +0 -0
  45. package/dist/classes/bleach.d.ts +37 -0
  46. package/dist/classes/bleach.js +148 -0
  47. package/dist/classes/cli-autologin.d.ts +52 -0
  48. package/dist/classes/cli-autologin.js +252 -0
  49. package/dist/classes/compressors.d.ts +54 -0
  50. package/dist/classes/compressors.js +109 -0
  51. package/dist/classes/daddy.d.ts +26 -0
  52. package/dist/classes/daddy.js +175 -0
  53. package/dist/classes/distro.d.ts +32 -0
  54. package/dist/classes/distro.js +363 -0
  55. package/dist/classes/diversions.d.ts +53 -0
  56. package/dist/classes/diversions.js +131 -0
  57. package/dist/classes/incubation/branding.d.ts +17 -0
  58. package/dist/classes/incubation/branding.js +85 -0
  59. package/dist/classes/incubation/customize/customize-partitions.d.ts +4 -0
  60. package/dist/classes/incubation/customize/customize-partitions.js +29 -0
  61. package/dist/classes/incubation/fisherman-helper/initcpio.d.ts +1 -0
  62. package/dist/classes/incubation/fisherman-helper/initcpio.js +69 -0
  63. package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
  64. package/dist/classes/incubation/fisherman-helper/packages.js +72 -0
  65. package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
  66. package/dist/classes/incubation/fisherman-helper/settings.js +116 -0
  67. package/dist/classes/incubation/fisherman.d.ts +71 -0
  68. package/dist/classes/incubation/fisherman.js +281 -0
  69. package/dist/classes/incubation/incubator.d/alpine.d.ts +32 -0
  70. package/dist/classes/incubation/incubator.d/alpine.js +78 -0
  71. package/dist/classes/incubation/incubator.d/archlinux.d.ts +32 -0
  72. package/dist/classes/incubation/incubator.d/archlinux.js +82 -0
  73. package/dist/classes/incubation/incubator.d/bionic.d.ts +32 -0
  74. package/dist/classes/incubation/incubator.d/bionic.js +83 -0
  75. package/dist/classes/incubation/incubator.d/buster.d.ts +32 -0
  76. package/dist/classes/incubation/incubator.d/buster.js +101 -0
  77. package/dist/classes/incubation/incubator.d/fedora.d.ts +32 -0
  78. package/dist/classes/incubation/incubator.d/fedora.js +81 -0
  79. package/dist/classes/incubation/incubator.d/focal.d.ts +32 -0
  80. package/dist/classes/incubation/incubator.d/focal.js +85 -0
  81. package/dist/classes/incubation/incubator.d/manjaro.d.ts +32 -0
  82. package/dist/classes/incubation/incubator.d/manjaro.js +82 -0
  83. package/dist/classes/incubation/incubator.d/noble.d.ts +32 -0
  84. package/dist/classes/incubation/incubator.d/noble.js +102 -0
  85. package/dist/classes/incubation/incubator.d/openmamba.d.ts +32 -0
  86. package/dist/classes/incubation/incubator.d/openmamba.js +81 -0
  87. package/dist/classes/incubation/incubator.d/opensuse.d.ts +32 -0
  88. package/dist/classes/incubation/incubator.d/opensuse.js +81 -0
  89. package/dist/classes/incubation/incubator.d/trixie.d.ts +32 -0
  90. package/dist/classes/incubation/incubator.d/trixie.js +98 -0
  91. package/dist/classes/incubation/incubator.d.ts +48 -0
  92. package/dist/classes/incubation/incubator.js +378 -0
  93. package/dist/classes/incubation/installer.d.ts +13 -0
  94. package/dist/classes/incubation/installer.js +52 -0
  95. package/dist/classes/keyboards.d.ts +50 -0
  96. package/dist/classes/keyboards.js +287 -0
  97. package/dist/classes/locales.d.ts +21 -0
  98. package/dist/classes/locales.js +77 -0
  99. package/dist/classes/network.d.ts +37 -0
  100. package/dist/classes/network.js +98 -0
  101. package/dist/classes/ovary.d/bind-live-fs.d.ts +18 -0
  102. package/dist/classes/ovary.d/bind-live-fs.js +185 -0
  103. package/dist/classes/ovary.d/bind-vfs.d.ts +17 -0
  104. package/dist/classes/ovary.d/bind-vfs.js +37 -0
  105. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +13 -0
  106. package/dist/classes/ovary.d/create-xdg-autostart.js +194 -0
  107. package/dist/classes/ovary.d/edit-live-fs.d.ts +20 -0
  108. package/dist/classes/ovary.d/edit-live-fs.js +239 -0
  109. package/dist/classes/ovary.d/fertilization.d.ts +12 -0
  110. package/dist/classes/ovary.d/fertilization.js +53 -0
  111. package/dist/classes/ovary.d/finished.d.ts +13 -0
  112. package/dist/classes/ovary.d/finished.js +40 -0
  113. package/dist/classes/ovary.d/initrd.d.ts +21 -0
  114. package/dist/classes/ovary.d/initrd.js +96 -0
  115. package/dist/classes/ovary.d/kernel-copy.d.ts +12 -0
  116. package/dist/classes/ovary.d/kernel-copy.js +22 -0
  117. package/dist/classes/ovary.d/live-create-structure.d.ts +12 -0
  118. package/dist/classes/ovary.d/live-create-structure.js +70 -0
  119. package/dist/classes/ovary.d/luks-get-password.d.ts +12 -0
  120. package/dist/classes/ovary.d/luks-get-password.js +58 -0
  121. package/dist/classes/ovary.d/luks-home-support.d.ts +12 -0
  122. package/dist/classes/ovary.d/luks-home-support.js +75 -0
  123. package/dist/classes/ovary.d/luks-home.d.ts +15 -0
  124. package/dist/classes/ovary.d/luks-home.js +159 -0
  125. package/dist/classes/ovary.d/luks-interactive-crypto-config.d.ts +47 -0
  126. package/dist/classes/ovary.d/luks-interactive-crypto-config.js +135 -0
  127. package/dist/classes/ovary.d/luks-root-initrd.d.ts +17 -0
  128. package/dist/classes/ovary.d/luks-root-initrd.js +213 -0
  129. package/dist/classes/ovary.d/luks-root.d.ts +15 -0
  130. package/dist/classes/ovary.d/luks-root.js +185 -0
  131. package/dist/classes/ovary.d/make-dot-disk.d.ts +12 -0
  132. package/dist/classes/ovary.d/make-dot-disk.js +71 -0
  133. package/dist/classes/ovary.d/make-efi.d.ts +14 -0
  134. package/dist/classes/ovary.d/make-efi.js +290 -0
  135. package/dist/classes/ovary.d/make-iso.d.ts +13 -0
  136. package/dist/classes/ovary.d/make-iso.js +45 -0
  137. package/dist/classes/ovary.d/make-squashfs.d.ts +18 -0
  138. package/dist/classes/ovary.d/make-squashfs.js +111 -0
  139. package/dist/classes/ovary.d/merged.d.ts +27 -0
  140. package/dist/classes/ovary.d/merged.js +78 -0
  141. package/dist/classes/ovary.d/produce.d.ts +23 -0
  142. package/dist/classes/ovary.d/produce.js +354 -0
  143. package/dist/classes/ovary.d/rexec.d.ts +13 -0
  144. package/dist/classes/ovary.d/rexec.js +34 -0
  145. package/dist/classes/ovary.d/syslinux.d.ts +12 -0
  146. package/dist/classes/ovary.d/syslinux.js +95 -0
  147. package/dist/classes/ovary.d/user-create-live.d.ts +14 -0
  148. package/dist/classes/ovary.d/user-create-live.js +97 -0
  149. package/dist/classes/ovary.d/users-remove.d.ts +9 -0
  150. package/dist/classes/ovary.d/users-remove.js +38 -0
  151. package/dist/classes/ovary.d/xorriso-command.d.ts +14 -0
  152. package/dist/classes/ovary.d/xorriso-command.js +120 -0
  153. package/dist/classes/ovary.d.ts +108 -0
  154. package/dist/classes/ovary.js +119 -0
  155. package/dist/classes/pacman.d/alpine.d.ts +56 -0
  156. package/dist/classes/pacman.d/alpine.js +167 -0
  157. package/dist/classes/pacman.d/archlinux.d.ts +62 -0
  158. package/dist/classes/pacman.d/archlinux.js +128 -0
  159. package/dist/classes/pacman.d/debian.d.ts +65 -0
  160. package/dist/classes/pacman.d/debian.js +143 -0
  161. package/dist/classes/pacman.d/fedora.d.ts +53 -0
  162. package/dist/classes/pacman.d/fedora.js +107 -0
  163. package/dist/classes/pacman.d/openmamba.d.ts +52 -0
  164. package/dist/classes/pacman.d/openmamba.js +106 -0
  165. package/dist/classes/pacman.d/opensuse.d.ts +53 -0
  166. package/dist/classes/pacman.d/opensuse.js +109 -0
  167. package/dist/classes/pacman.d.ts +139 -0
  168. package/dist/classes/pacman.js +683 -0
  169. package/dist/classes/pve-live.d.ts +17 -0
  170. package/dist/classes/pve-live.js +52 -0
  171. package/dist/classes/pxe.d.ts +76 -0
  172. package/dist/classes/pxe.js +353 -0
  173. package/dist/classes/settings.d.ts +52 -0
  174. package/dist/classes/settings.js +185 -0
  175. package/dist/classes/sources_list.d.ts +28 -0
  176. package/dist/classes/sources_list.js +89 -0
  177. package/dist/classes/systemctl.d.ts +47 -0
  178. package/dist/classes/systemctl.js +86 -0
  179. package/dist/classes/tailor.d.ts +50 -0
  180. package/dist/classes/tailor.js +563 -0
  181. package/dist/classes/tools.d.ts +26 -0
  182. package/dist/classes/tools.js +50 -0
  183. package/dist/classes/users.d.ts +28 -0
  184. package/dist/classes/users.js +143 -0
  185. package/dist/classes/utils.d/kernel.d.ts +39 -0
  186. package/dist/classes/utils.d/kernel.js +206 -0
  187. package/dist/classes/utils.d.ts +330 -0
  188. package/dist/classes/utils.js +968 -0
  189. package/dist/classes/xdg.d.ts +45 -0
  190. package/dist/classes/xdg.js +337 -0
  191. package/dist/classes/yolk.d.ts +33 -0
  192. package/dist/classes/yolk.js +114 -0
  193. package/dist/commands/adapt.d.ts +17 -0
  194. package/dist/commands/adapt.js +33 -0
  195. package/dist/commands/analyze.d.ts +26 -0
  196. package/dist/commands/analyze.js +95 -0
  197. package/dist/commands/calamares.d.ts +29 -0
  198. package/dist/commands/calamares.js +112 -0
  199. package/dist/commands/config.d.ts +35 -0
  200. package/dist/commands/config.js +120 -0
  201. package/dist/commands/cuckoo.d.ts +17 -0
  202. package/dist/commands/cuckoo.js +61 -0
  203. package/dist/commands/dad.d.ts +21 -0
  204. package/dist/commands/dad.js +47 -0
  205. package/dist/commands/export/iso.d.ts +19 -0
  206. package/dist/commands/export/iso.js +55 -0
  207. package/dist/commands/export/pkg.d.ts +29 -0
  208. package/dist/commands/export/pkg.js +173 -0
  209. package/dist/commands/export/tarballs.d.ts +27 -0
  210. package/dist/commands/export/tarballs.js +79 -0
  211. package/dist/commands/install.d.ts +39 -0
  212. package/dist/commands/install.js +113 -0
  213. package/dist/commands/kill.d.ts +24 -0
  214. package/dist/commands/kill.js +50 -0
  215. package/dist/commands/love.d.ts +25 -0
  216. package/dist/commands/love.js +118 -0
  217. package/dist/commands/mom.d.ts +16 -0
  218. package/dist/commands/mom.js +30 -0
  219. package/dist/commands/pods.d.ts +22 -0
  220. package/dist/commands/pods.js +92 -0
  221. package/dist/commands/produce.d.ts +37 -0
  222. package/dist/commands/produce.js +232 -0
  223. package/dist/commands/status.d.ts +23 -0
  224. package/dist/commands/status.js +31 -0
  225. package/dist/commands/tools/clean.d.ts +18 -0
  226. package/dist/commands/tools/clean.js +37 -0
  227. package/dist/commands/tools/repo.d.ts +31 -0
  228. package/dist/commands/tools/repo.js +246 -0
  229. package/dist/commands/tools/skel.d.ts +18 -0
  230. package/dist/commands/tools/skel.js +44 -0
  231. package/dist/commands/tools/stat.d.ts +31 -0
  232. package/dist/commands/tools/stat.js +70 -0
  233. package/dist/commands/tools/yolk.d.ts +24 -0
  234. package/dist/commands/tools/yolk.js +45 -0
  235. package/dist/commands/update.d.ts +46 -0
  236. package/dist/commands/update.js +238 -0
  237. package/dist/commands/wardrobe/get.d.ts +23 -0
  238. package/dist/commands/wardrobe/get.js +52 -0
  239. package/dist/commands/wardrobe/list.d.ts +24 -0
  240. package/dist/commands/wardrobe/list.js +125 -0
  241. package/dist/commands/wardrobe/show.d.ts +25 -0
  242. package/dist/commands/wardrobe/show.js +97 -0
  243. package/dist/commands/wardrobe/wear.d.ts +26 -0
  244. package/dist/commands/wardrobe/wear.js +84 -0
  245. package/dist/dhcpd-proxy/classes/packet.d.ts +36 -0
  246. package/dist/dhcpd-proxy/classes/packet.js +124 -0
  247. package/dist/dhcpd-proxy/index.d.ts +4 -0
  248. package/dist/dhcpd-proxy/index.js +4 -0
  249. package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +45 -0
  250. package/dist/dhcpd-proxy/interfaces/i-pxe.js +1 -0
  251. package/dist/dhcpd-proxy/lib/packet/converters.d.ts +11 -0
  252. package/dist/dhcpd-proxy/lib/packet/converters.js +395 -0
  253. package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +10 -0
  254. package/dist/dhcpd-proxy/lib/packet/message-types.js +12 -0
  255. package/dist/dhcpd-proxy/lib/packet/options.d.ts +8 -0
  256. package/dist/dhcpd-proxy/lib/packet/options.js +264 -0
  257. package/dist/dhcpd-proxy/lib/sprintf.d.ts +6 -0
  258. package/dist/dhcpd-proxy/lib/sprintf.js +130 -0
  259. package/dist/dhcpd-proxy/lib/utils.d.ts +126 -0
  260. package/dist/dhcpd-proxy/lib/utils.js +255 -0
  261. package/dist/dhcpd-proxy/simple-proxy.d.ts +11 -0
  262. package/dist/dhcpd-proxy/simple-proxy.js +118 -0
  263. package/dist/index.d.ts +8 -0
  264. package/dist/index.js +8 -0
  265. package/dist/interfaces/calamares/i-calamares-bootloader.d.ts +23 -0
  266. package/dist/interfaces/calamares/i-calamares-bootloader.js +7 -0
  267. package/dist/interfaces/calamares/i-calamares-branding.d.ts +46 -0
  268. package/dist/interfaces/calamares/i-calamares-branding.js +1 -0
  269. package/dist/interfaces/calamares/i-calamares-displaymanager.d.ts +34 -0
  270. package/dist/interfaces/calamares/i-calamares-displaymanager.js +1 -0
  271. package/dist/interfaces/calamares/i-calamares-finished.d.ts +14 -0
  272. package/dist/interfaces/calamares/i-calamares-finished.js +1 -0
  273. package/dist/interfaces/calamares/i-calamares-packages.d.ts +26 -0
  274. package/dist/interfaces/calamares/i-calamares-packages.js +1 -0
  275. package/dist/interfaces/calamares/i-calamares-partitions.d.ts +39 -0
  276. package/dist/interfaces/calamares/i-calamares-partitions.js +1 -0
  277. package/dist/interfaces/calamares/i-calamares-settings.d.ts +36 -0
  278. package/dist/interfaces/calamares/i-calamares-settings.js +1 -0
  279. package/dist/interfaces/i-addons.d.ts +12 -0
  280. package/dist/interfaces/i-addons.js +8 -0
  281. package/dist/interfaces/i-analyze.d.ts +17 -0
  282. package/dist/interfaces/i-analyze.js +17 -0
  283. package/dist/interfaces/i-app.d.ts +14 -0
  284. package/dist/interfaces/i-app.js +8 -0
  285. package/dist/interfaces/i-config-tools.d.ts +15 -0
  286. package/dist/interfaces/i-config-tools.js +8 -0
  287. package/dist/interfaces/i-devices.d.ts +20 -0
  288. package/dist/interfaces/i-devices.js +8 -0
  289. package/dist/interfaces/i-distro.d.ts +23 -0
  290. package/dist/interfaces/i-distro.js +8 -0
  291. package/dist/interfaces/i-drive-list.d.ts +33 -0
  292. package/dist/interfaces/i-drive-list.js +8 -0
  293. package/dist/interfaces/i-eggs-config.d.ts +32 -0
  294. package/dist/interfaces/i-eggs-config.js +8 -0
  295. package/dist/interfaces/i-excludes.d.ts +14 -0
  296. package/dist/interfaces/i-excludes.js +8 -0
  297. package/dist/interfaces/i-exec.d.ts +11 -0
  298. package/dist/interfaces/i-exec.js +8 -0
  299. package/dist/interfaces/i-initrd.d.ts +13 -0
  300. package/dist/interfaces/i-initrd.js +8 -0
  301. package/dist/interfaces/i-install.d.ts +16 -0
  302. package/dist/interfaces/i-install.js +8 -0
  303. package/dist/interfaces/i-installer.d.ts +17 -0
  304. package/dist/interfaces/i-installer.js +8 -0
  305. package/dist/interfaces/i-luks-passphrase.d.ts +11 -0
  306. package/dist/interfaces/i-luks-passphrase.js +8 -0
  307. package/dist/interfaces/i-materia.d.ts +36 -0
  308. package/dist/interfaces/i-materia.js +8 -0
  309. package/dist/interfaces/i-net.d.ts +16 -0
  310. package/dist/interfaces/i-net.js +8 -0
  311. package/dist/interfaces/i-os-release.d.ts +5 -0
  312. package/dist/interfaces/i-os-release.js +1 -0
  313. package/dist/interfaces/i-packages.d.ts +16 -0
  314. package/dist/interfaces/i-packages.js +8 -0
  315. package/dist/interfaces/i-partitions.d.ts +16 -0
  316. package/dist/interfaces/i-partitions.js +8 -0
  317. package/dist/interfaces/i-pxe.d.ts +45 -0
  318. package/dist/interfaces/i-pxe.js +1 -0
  319. package/dist/interfaces/i-remix.d.ts +21 -0
  320. package/dist/interfaces/i-remix.js +8 -0
  321. package/dist/interfaces/i-settings.d.ts +33 -0
  322. package/dist/interfaces/i-settings.js +8 -0
  323. package/dist/interfaces/i-user.d.ts +14 -0
  324. package/dist/interfaces/i-user.js +8 -0
  325. package/dist/interfaces/i-workdir.d.ts +14 -0
  326. package/dist/interfaces/i-workdir.js +8 -0
  327. package/dist/interfaces/i-xkb-model.d.ts +24 -0
  328. package/dist/interfaces/i-xkb-model.js +8 -0
  329. package/dist/interfaces/index.d.ts +26 -0
  330. package/dist/interfaces/index.js +8 -0
  331. package/dist/krill/classes/cfs.d.ts +17 -0
  332. package/dist/krill/classes/cfs.js +39 -0
  333. package/dist/krill/classes/krill_enums.d.ts +37 -0
  334. package/dist/krill/classes/krill_enums.js +41 -0
  335. package/dist/krill/classes/prepare.d/confirm.d.ts +5 -0
  336. package/dist/krill/classes/prepare.d/confirm.js +30 -0
  337. package/dist/krill/classes/prepare.d/keyboard.d.ts +14 -0
  338. package/dist/krill/classes/prepare.d/keyboard.js +62 -0
  339. package/dist/krill/classes/prepare.d/location.d.ts +17 -0
  340. package/dist/krill/classes/prepare.d/location.js +59 -0
  341. package/dist/krill/classes/prepare.d/network.d.ts +14 -0
  342. package/dist/krill/classes/prepare.d/network.js +68 -0
  343. package/dist/krill/classes/prepare.d/partitions.d.ts +14 -0
  344. package/dist/krill/classes/prepare.d/partitions.js +86 -0
  345. package/dist/krill/classes/prepare.d/summary.d.ts +15 -0
  346. package/dist/krill/classes/prepare.d/summary.js +72 -0
  347. package/dist/krill/classes/prepare.d/users.d.ts +6 -0
  348. package/dist/krill/classes/prepare.d/users.js +63 -0
  349. package/dist/krill/classes/prepare.d/welcome.d.ts +6 -0
  350. package/dist/krill/classes/prepare.d/welcome.js +30 -0
  351. package/dist/krill/classes/prepare.d.ts +89 -0
  352. package/dist/krill/classes/prepare.js +319 -0
  353. package/dist/krill/classes/sequence.d/add_user.d.ts +20 -0
  354. package/dist/krill/classes/sequence.d/add_user.js +77 -0
  355. package/dist/krill/classes/sequence.d/bootloader.d.ts +14 -0
  356. package/dist/krill/classes/sequence.d/bootloader.js +117 -0
  357. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +14 -0
  358. package/dist/krill/classes/sequence.d/bootloader_config.js +192 -0
  359. package/dist/krill/classes/sequence.d/change_password.d.ts +15 -0
  360. package/dist/krill/classes/sequence.d/change_password.js +18 -0
  361. package/dist/krill/classes/sequence.d/del_live_user.d.ts +14 -0
  362. package/dist/krill/classes/sequence.d/del_live_user.js +39 -0
  363. package/dist/krill/classes/sequence.d/fstab.d.ts +14 -0
  364. package/dist/krill/classes/sequence.d/fstab.js +177 -0
  365. package/dist/krill/classes/sequence.d/grubcfg.d.ts +17 -0
  366. package/dist/krill/classes/sequence.d/grubcfg.js +35 -0
  367. package/dist/krill/classes/sequence.d/hostname.d.ts +13 -0
  368. package/dist/krill/classes/sequence.d/hostname.js +50 -0
  369. package/dist/krill/classes/sequence.d/initramfs.d.ts +13 -0
  370. package/dist/krill/classes/sequence.d/initramfs.js +54 -0
  371. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +14 -0
  372. package/dist/krill/classes/sequence.d/initramfs_cfg.js +35 -0
  373. package/dist/krill/classes/sequence.d/locale.d.ts +13 -0
  374. package/dist/krill/classes/sequence.d/locale.js +91 -0
  375. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +10 -0
  376. package/dist/krill/classes/sequence.d/locale_cfg.js +58 -0
  377. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +14 -0
  378. package/dist/krill/classes/sequence.d/m_keyboard.js +58 -0
  379. package/dist/krill/classes/sequence.d/machine_id.d.ts +15 -0
  380. package/dist/krill/classes/sequence.d/machine_id.js +33 -0
  381. package/dist/krill/classes/sequence.d/mkfs.d.ts +15 -0
  382. package/dist/krill/classes/sequence.d/mkfs.js +88 -0
  383. package/dist/krill/classes/sequence.d/mount_fs.d.ts +17 -0
  384. package/dist/krill/classes/sequence.d/mount_fs.js +68 -0
  385. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +17 -0
  386. package/dist/krill/classes/sequence.d/mount_vfs.js +59 -0
  387. package/dist/krill/classes/sequence.d/network_cfg.d.ts +19 -0
  388. package/dist/krill/classes/sequence.d/network_cfg.js +73 -0
  389. package/dist/krill/classes/sequence.d/packages.d.ts +14 -0
  390. package/dist/krill/classes/sequence.d/packages.js +111 -0
  391. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +17 -0
  392. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +73 -0
  393. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +16 -0
  394. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +51 -0
  395. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +17 -0
  396. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +77 -0
  397. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +10 -0
  398. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +33 -0
  399. package/dist/krill/classes/sequence.d/partition.d.ts +14 -0
  400. package/dist/krill/classes/sequence.d/partition.js +84 -0
  401. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +13 -0
  402. package/dist/krill/classes/sequence.d/remove_installer_link.js +35 -0
  403. package/dist/krill/classes/sequence.d/umount.d.ts +14 -0
  404. package/dist/krill/classes/sequence.d/umount.js +28 -0
  405. package/dist/krill/classes/sequence.d/unpackfs.d.ts +13 -0
  406. package/dist/krill/classes/sequence.d/unpackfs.js +20 -0
  407. package/dist/krill/classes/sequence.d.ts +134 -0
  408. package/dist/krill/classes/sequence.js +400 -0
  409. package/dist/krill/components/finished.d.ts +16 -0
  410. package/dist/krill/components/finished.js +56 -0
  411. package/dist/krill/components/information.d.ts +8 -0
  412. package/dist/krill/components/information.js +162 -0
  413. package/dist/krill/components/install.d.ts +15 -0
  414. package/dist/krill/components/install.js +60 -0
  415. package/dist/krill/components/keyboard.d.ts +16 -0
  416. package/dist/krill/components/keyboard.js +54 -0
  417. package/dist/krill/components/location.d.ts +16 -0
  418. package/dist/krill/components/location.js +59 -0
  419. package/dist/krill/components/network.d.ts +19 -0
  420. package/dist/krill/components/network.js +65 -0
  421. package/dist/krill/components/partitions.d.ts +18 -0
  422. package/dist/krill/components/partitions.js +89 -0
  423. package/dist/krill/components/steps.d.ts +13 -0
  424. package/dist/krill/components/steps.js +148 -0
  425. package/dist/krill/components/summary.d.ts +25 -0
  426. package/dist/krill/components/summary.js +77 -0
  427. package/dist/krill/components/title.d.ts +11 -0
  428. package/dist/krill/components/title.js +35 -0
  429. package/dist/krill/components/users.d.ts +24 -0
  430. package/dist/krill/components/users.js +80 -0
  431. package/dist/krill/components/welcome.d.ts +13 -0
  432. package/dist/krill/components/welcome.js +63 -0
  433. package/dist/krill/interfaces/i_krill.d.ts +44 -0
  434. package/dist/krill/interfaces/i_krill.js +8 -0
  435. package/dist/krill/interfaces/i_krill_config.d.ts +35 -0
  436. package/dist/krill/interfaces/i_krill_config.js +8 -0
  437. package/dist/krill/lib/get_address.d.ts +8 -0
  438. package/dist/krill/lib/get_address.js +23 -0
  439. package/dist/krill/lib/get_dns.d.ts +8 -0
  440. package/dist/krill/lib/get_dns.js +23 -0
  441. package/dist/krill/lib/get_domain.d.ts +8 -0
  442. package/dist/krill/lib/get_domain.js +23 -0
  443. package/dist/krill/lib/get_gateway.d.ts +8 -0
  444. package/dist/krill/lib/get_gateway.js +23 -0
  445. package/dist/krill/lib/get_hostname.d.ts +8 -0
  446. package/dist/krill/lib/get_hostname.js +23 -0
  447. package/dist/krill/lib/get_luks_passphrase.d.ts +8 -0
  448. package/dist/krill/lib/get_luks_passphrase.js +32 -0
  449. package/dist/krill/lib/get_netmask.d.ts +8 -0
  450. package/dist/krill/lib/get_netmask.js +23 -0
  451. package/dist/krill/lib/get_password.d.ts +8 -0
  452. package/dist/krill/lib/get_password.js +36 -0
  453. package/dist/krill/lib/get_userfullname.d.ts +8 -0
  454. package/dist/krill/lib/get_userfullname.js +23 -0
  455. package/dist/krill/lib/get_username.d.ts +8 -0
  456. package/dist/krill/lib/get_username.js +23 -0
  457. package/dist/krill/lib/select_address_type.d.ts +8 -0
  458. package/dist/krill/lib/select_address_type.js +24 -0
  459. package/dist/krill/lib/select_filesystem_type.d.ts +8 -0
  460. package/dist/krill/lib/select_filesystem_type.js +40 -0
  461. package/dist/krill/lib/select_installation_device.d.ts +8 -0
  462. package/dist/krill/lib/select_installation_device.js +40 -0
  463. package/dist/krill/lib/select_installation_mode.d.ts +9 -0
  464. package/dist/krill/lib/select_installation_mode.js +25 -0
  465. package/dist/krill/lib/select_interface.d.ts +8 -0
  466. package/dist/krill/lib/select_interface.js +24 -0
  467. package/dist/krill/lib/select_keyboard_layout.d.ts +11 -0
  468. package/dist/krill/lib/select_keyboard_layout.js +36 -0
  469. package/dist/krill/lib/select_keyboard_model.d.ts +11 -0
  470. package/dist/krill/lib/select_keyboard_model.js +34 -0
  471. package/dist/krill/lib/select_keyboard_option.d.ts +11 -0
  472. package/dist/krill/lib/select_keyboard_option.js +34 -0
  473. package/dist/krill/lib/select_keyboard_variant.d.ts +11 -0
  474. package/dist/krill/lib/select_keyboard_variant.js +35 -0
  475. package/dist/krill/lib/select_languages.d.ts +8 -0
  476. package/dist/krill/lib/select_languages.js +28 -0
  477. package/dist/krill/lib/select_regions.d.ts +8 -0
  478. package/dist/krill/lib/select_regions.js +24 -0
  479. package/dist/krill/lib/select_replaced_partition.d.ts +8 -0
  480. package/dist/krill/lib/select_replaced_partition.js +31 -0
  481. package/dist/krill/lib/select_user_swap_choice.d.ts +9 -0
  482. package/dist/krill/lib/select_user_swap_choice.js +35 -0
  483. package/dist/krill/lib/select_zones.d.ts +8 -0
  484. package/dist/krill/lib/select_zones.js +518 -0
  485. package/dist/lib/kill_me_softly.d.ts +11 -0
  486. package/dist/lib/kill_me_softly.js +61 -0
  487. package/dist/lib/utils.d.ts +19 -0
  488. package/dist/lib/utils.js +65 -0
  489. package/dracut/create-symlink +0 -0
  490. package/dracut/export +0 -0
  491. package/dracut/export-dracut-analysis +0 -0
  492. package/dracut/export-dracut-log +0 -0
  493. package/dracut/mkisofs +0 -0
  494. package/dracut/modules.d/00debug-shell/debug-hook.sh +0 -0
  495. package/dracut/modules.d/00debug-shell/module-setup.sh +0 -0
  496. package/dracut/modules.d/90block/block-cmdline.sh +0 -0
  497. package/dracut/modules.d/90block/module-setup.sh +0 -0
  498. package/dracut/modules.d/95iso-scan/iso-scan-fallback.sh +0 -0
  499. package/dracut/modules.d/95iso-scan/iso-scan.sh +0 -0
  500. package/dracut/modules.d/95iso-scan/module-setup.sh +0 -0
  501. package/dracut/modules.d/95luks-loop/luks-loop.sh +0 -0
  502. package/dracut/modules.d/95luks-loop/module-setup.sh +0 -0
  503. package/dracut/renew-initramfs +0 -0
  504. package/dracut/sbin2bin +0 -0
  505. package/dracut/update-dracut-conf-d +0 -0
  506. package/dracut/update-dracut-modules +0 -0
  507. package/eui/eui-autostart-cinnamon.desktop +0 -0
  508. package/eui/eui-autostart-xfce.desktop +0 -0
  509. package/eui/eui-create-image.sh +0 -0
  510. package/eui/eui-start.sh +0 -0
  511. package/package.json +124 -130
  512. package/perrisbrewery/scripts/postinst +0 -0
  513. package/perrisbrewery/scripts/postrm +0 -0
  514. package/perrisbrewery/scripts/preinst +0 -0
  515. package/perrisbrewery/scripts/prerm +0 -0
  516. package/scripts/99clean +0 -0
  517. package/scripts/_eggs +3 -1
  518. package/scripts/adapt.sh +0 -0
  519. package/scripts/boot-encrypted-root.sh +138 -95
  520. package/scripts/bros/waydroid-helper.sh +0 -0
  521. package/scripts/eggs.bash +2 -2
  522. package/scripts/lsb_release +0 -0
  523. package/scripts/mom.sh +0 -0
  524. package/scripts/mount-encrypted-home.sh +130 -65
  525. package/scripts/pve-live.service +0 -0
  526. package/scripts/pve-live.sh +0 -0
  527. package/scripts/resy +0 -0
  528. /package/addons/eggs/theme/livecd/{grub.main.cfg → full.grub.main.cfg} +0 -0
  529. /package/addons/eggs/theme/livecd/{isolinux.main.full.cfg → full.isolinux.main.cfg} +0 -0
@@ -0,0 +1,167 @@
1
+ /**
2
+ * ./src/classes/families/alpine.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 shx from 'shelljs';
9
+ import { exec } from '../../lib/utils.js';
10
+ import Utils from '../utils.js';
11
+ /**
12
+ * Alpine
13
+ * @remarks all the utilities
14
+ */
15
+ export default class Alpine {
16
+ static packs4calamares = [
17
+ 'calamares',
18
+ 'calamares-dev',
19
+ 'calamares-doc',
20
+ 'calamares-lang',
21
+ 'calamares-mod-bootloader',
22
+ 'calamares-mod-displaymanager',
23
+ 'calamares-mod-finished',
24
+ 'calamares-mod-fsresizer',
25
+ 'calamares-mod-fstab',
26
+ 'calamares-mod-grubcfg',
27
+ 'calamares-mod-hostinfo',
28
+ 'calamares-mod-hwclock',
29
+ 'calamares-mod-keyboard',
30
+ 'calamares-mod-keyboardq',
31
+ 'calamares-mod-locale',
32
+ 'calamares-mod-localeq',
33
+ 'calamares-mod-luksbootkeyfile',
34
+ 'calamares-mod-luksopenswaphookcfg-',
35
+ 'calamares-mod-machineid',
36
+ 'calamares-mod-mkinitfs',
37
+ 'calamares-mod-mount',
38
+ 'calamares-mod-netinstall',
39
+ 'calamares-mod-networkcfg',
40
+ 'calamares-mod-notesqml',
41
+ 'calamares-mod-oemid',
42
+ 'calamares-mod-packagechooser',
43
+ 'calamares-mod-packages',
44
+ 'calamares-mod-partition',
45
+ 'calamares-mod-plymouthcfg',
46
+ 'calamares-mod-preservefiles',
47
+ 'calamares-mod-rawfs',
48
+ 'calamares-mod-removeuser',
49
+ 'calamares-mod-services-openrc',
50
+ 'calamares-mod-shellprocess',
51
+ 'calamares-mod-summary',
52
+ 'calamares-mod-umount',
53
+ 'calamares-mod-unpackfs',
54
+ 'calamares-mod-users',
55
+ 'calamares-mod-welcome',
56
+ 'calamares-mod-welcomeq',
57
+ ];
58
+ /**
59
+ * Alpine: calamaresInstall
60
+ */
61
+ static async calamaresInstall(verbose = false) {
62
+ const echo = Utils.setEcho(verbose);
63
+ let installed = false;
64
+ try {
65
+ const cmd = 'apk update';
66
+ await exec(cmd, echo);
67
+ installed = true;
68
+ }
69
+ catch {
70
+ Utils.error(`Alpine.calamaresInstall(): apk update `);
71
+ }
72
+ try {
73
+ const cmd = `apk add ${this.packs4calamares.join(' ')}`;
74
+ await exec(cmd, echo);
75
+ }
76
+ catch {
77
+ Utils.error(`Alpine.calamaresInstall(): apk add calamares ...`);
78
+ }
79
+ }
80
+ /**
81
+ *
82
+ * calamaresPolicies
83
+ */
84
+ static async calamaresPolicies(verbose = false) {
85
+ const echo = Utils.setEcho(verbose);
86
+ const policyFile = '/usr/share/polkit-1/actions/com.github.calamares.calamares.policy';
87
+ await exec(`sed -i 's/auth_admin/yes/' ${policyFile}`, echo);
88
+ }
89
+ /**
90
+ * Alpine: calamaresRemove
91
+ */
92
+ static async calamaresRemove(verbose = true) {
93
+ const echo = Utils.setEcho(verbose);
94
+ let removed = false;
95
+ try {
96
+ const cmd = `apk del ${this.packs4calamares.join(' ')}`;
97
+ await exec(cmd, echo);
98
+ removed = true;
99
+ }
100
+ catch {
101
+ Utils.error(`Alpine.calamaresRemove(): apk del calamares ...`);
102
+ }
103
+ try {
104
+ const cmd = `rm /etc/calamares -rf`;
105
+ await exec(cmd, echo);
106
+ }
107
+ catch {
108
+ Utils.error(`Alpine.calamaresRemove(): rm /etc/calamares -rf`);
109
+ }
110
+ return removed;
111
+ }
112
+ /**
113
+ * Alpine: isInstalledWayland
114
+ * @returns true if wayland is installed
115
+ */
116
+ static isInstalledWayland() {
117
+ return this.packageIsInstalled('xwayland');
118
+ }
119
+ /**
120
+ * Alpine: isInstalledXorg
121
+ * @returns true if xorg is installed
122
+ */
123
+ static isInstalledXorg() {
124
+ return this.packageIsInstalled('xorg-server-common');
125
+ }
126
+ /**
127
+ * Alpine: packageInstall
128
+ * Install the package packageName
129
+ * @param packageName {string} Pacchetto Debian da installare
130
+ * @returns {boolean} True if success
131
+ */
132
+ static async packageInstall(packageName) {
133
+ let retVal = false;
134
+ if (shx.exec(`/sbin/apk add ${packageName}`, { silent: true }) === '0') {
135
+ retVal = true;
136
+ }
137
+ return retVal;
138
+ }
139
+ /**
140
+ * Alpine: packageIsInstalled OK
141
+ * restuisce VERO se il pacchetto è installato
142
+ * @param packageName
143
+ */
144
+ static packageIsInstalled(packageName) {
145
+ let installed = false;
146
+ const cmd = `/sbin/apk info -e ${packageName}`;
147
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
148
+ if (stdout.includes(packageName)) {
149
+ installed = true;
150
+ }
151
+ return installed;
152
+ }
153
+ /**
154
+ * Alpine: packagePacmanAvailable
155
+ * restuisce VERO se il pacchetto è installato
156
+ * @param packageName
157
+ */
158
+ static async packagePacmanAvailable(packageName) {
159
+ let available = false;
160
+ const cmd = `/sbin/apk search ${packageName} | awk '{ print $1 }'`;
161
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
162
+ if (stdout == packageName) {
163
+ available = true;
164
+ }
165
+ return available;
166
+ }
167
+ }
@@ -0,0 +1,62 @@
1
+ /**
2
+ * ./src/classes/families/archlinux.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
+ * Archlinux
10
+ * @remarks all the utilities
11
+ */
12
+ export default class Archlinux {
13
+ static packs4calamares: string[];
14
+ /**
15
+ * Archlinux: calamaresInstall
16
+ */
17
+ static calamaresInstall(verbose?: boolean): Promise<void>;
18
+ /**
19
+ *
20
+ * calamaresPolicies
21
+ */
22
+ static calamaresPolicies(verbose?: boolean): Promise<void>;
23
+ /**
24
+ * Archlinux: calamaresRemove
25
+ */
26
+ static calamaresRemove(verbose?: boolean): Promise<boolean>;
27
+ /**
28
+ * Archlinux: isInstalledWayland
29
+ * @returns true if wayland is installed
30
+ */
31
+ static isInstalledWayland(): boolean;
32
+ /**
33
+ * Archlinux: isInstalledXorg
34
+ * @returns true if xorg is installed
35
+ */
36
+ static isInstalledXorg(): boolean;
37
+ /**
38
+ * Archlinux: packageInstall
39
+ * Install the package packageName
40
+ * @param packageName {string} Pacchetto Debian da installare
41
+ * @returns {boolean} True if success
42
+ */
43
+ static packageInstall(packageName: string): Promise<boolean>;
44
+ /**
45
+ * Archlinux: packageIsInstalled
46
+ * restuisce VERO se il pacchetto è installato
47
+ * @param packageName
48
+ */
49
+ static packageIsInstalled(packageName: string): boolean;
50
+ /**
51
+ * Archlinux: packagePacmanAvailable
52
+ * restuisce VERO se il pacchetto è installato
53
+ * @param packageName
54
+ */
55
+ static packagePacmanAvailable(packageName: string): Promise<boolean>;
56
+ /**
57
+ * Archlinux: packagePacmanLast
58
+ * @param packageName
59
+ * @returns
60
+ */
61
+ static packagePacmanLast(packageName: string): Promise<string>;
62
+ }
@@ -0,0 +1,128 @@
1
+ /**
2
+ * ./src/classes/families/archlinux.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 fs from 'node:fs';
9
+ import shx from 'shelljs';
10
+ import { exec } from '../../lib/utils.js';
11
+ import Utils from '../utils.js';
12
+ /**
13
+ * Archlinux
14
+ * @remarks all the utilities
15
+ */
16
+ export default class Archlinux {
17
+ static packs4calamares = ['calamares-eggs']; // , 'calamares']
18
+ /**
19
+ * Archlinux: calamaresInstall
20
+ */
21
+ static async calamaresInstall(verbose = false) {
22
+ verbose = true; // serve per pacman
23
+ const echo = Utils.setEcho(verbose);
24
+ let cmd = `pacman -S calamares-eggs --noconfirm`;
25
+ try {
26
+ await exec(cmd, echo);
27
+ }
28
+ catch {
29
+ Utils.error(`Cannot install calamares-eggs`);
30
+ }
31
+ }
32
+ /**
33
+ *
34
+ * calamaresPolicies
35
+ */
36
+ static async calamaresPolicies(verbose = false) {
37
+ // nothing
38
+ }
39
+ /**
40
+ * Archlinux: calamaresRemove
41
+ */
42
+ static async calamaresRemove(verbose = true) {
43
+ verbose = true; // serve per pacman
44
+ let success = false;
45
+ const echo = Utils.setEcho(verbose);
46
+ try {
47
+ await exec('pacman -R calamares calamares-eggs --noconfirm', echo);
48
+ success = true;
49
+ }
50
+ catch {
51
+ Utils.error(`Cannot remove calamares-eggs`);
52
+ }
53
+ if (success && fs.existsSync('/etc/calamares')) {
54
+ await exec('rm /etc/calamares -rf', echo);
55
+ }
56
+ return success;
57
+ }
58
+ /**
59
+ * Archlinux: isInstalledWayland
60
+ * @returns true if wayland is installed
61
+ */
62
+ static isInstalledWayland() {
63
+ return this.packageIsInstalled('xwayland');
64
+ }
65
+ /**
66
+ * Archlinux: isInstalledXorg
67
+ * @returns true if xorg is installed
68
+ */
69
+ static isInstalledXorg() {
70
+ return this.packageIsInstalled('xorg-server-common');
71
+ }
72
+ /**
73
+ * Archlinux: packageInstall
74
+ * Install the package packageName
75
+ * @param packageName {string} Pacchetto Debian da installare
76
+ * @returns {boolean} True if success
77
+ */
78
+ static async packageInstall(packageName) {
79
+ let retVal = false;
80
+ if (shx.exec(`/usr/bin/pacman -Si ${packageName}`, { silent: true }) === '0') {
81
+ retVal = true;
82
+ }
83
+ return retVal;
84
+ }
85
+ /**
86
+ * Archlinux: packageIsInstalled
87
+ * restuisce VERO se il pacchetto è installato
88
+ * @param packageName
89
+ */
90
+ static packageIsInstalled(packageName) {
91
+ let installed = false;
92
+ const cmd = `/usr/bin/pacman -Qi ${packageName}`;
93
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
94
+ if (stdout.includes(packageName)) {
95
+ installed = true;
96
+ }
97
+ return installed;
98
+ }
99
+ /**
100
+ * Archlinux: packagePacmanAvailable
101
+ * restuisce VERO se il pacchetto è installato
102
+ * @param packageName
103
+ */
104
+ static async packagePacmanAvailable(packageName) {
105
+ let available = false;
106
+ const cmd = `/usr/bin/pacman -Q ${packageName} | awk '{ print $1 }'`;
107
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
108
+ if (stdout == packageName) {
109
+ available = true;
110
+ }
111
+ return available;
112
+ }
113
+ /**
114
+ * Archlinux: packagePacmanLast
115
+ * @param packageName
116
+ * @returns
117
+ */
118
+ static async packagePacmanLast(packageName) {
119
+ let version = '';
120
+ const cmd = `/usr/bin/pacman -Q ${packageName} | grep Version:`;
121
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
122
+ version = stdout.slice(9);
123
+ // console.log('===================================')
124
+ // console.log('[' + version + ']')
125
+ // console.log('===================================')
126
+ return version;
127
+ }
128
+ }
@@ -0,0 +1,65 @@
1
+ /**
2
+ * ./src/classes/families/debian.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
+ * Debian
10
+ * @remarks all the utilities
11
+ */
12
+ export default class Debian {
13
+ static debs4calamares: string[];
14
+ /**
15
+ * Debian: calamaresInstall
16
+ */
17
+ static calamaresInstall(verbose?: boolean): Promise<void>;
18
+ /**
19
+ * Debian: calamaresPolicies
20
+ */
21
+ static calamaresPolicies(verbose?: boolean): Promise<void>;
22
+ /**
23
+ * Debian: calamaresRemove
24
+ */
25
+ static calamaresRemove(verbose?: boolean): Promise<boolean>;
26
+ /**
27
+ * Debian: isInstalledWayland
28
+ * @returns true if wayland is installed
29
+ */
30
+ static isInstalledWayland(): boolean;
31
+ /**
32
+ * Debian: isInstalledXorg
33
+ * @returns true if xorg is installed
34
+ */
35
+ static isInstalledXorg(): boolean;
36
+ /**
37
+ * Debian: liveInstallerPolicies
38
+ * liveInstallerPolicies is NOT USED
39
+ */
40
+ static liveInstallerPolicies(): Promise<void>;
41
+ /**
42
+ * Debian: packageAptAvailable
43
+ * return TRUE if package is present on repository
44
+ * @param debPackage
45
+ */
46
+ static packageAptAvailable(packageName: string): Promise<boolean>;
47
+ /**
48
+ * Debian: packageAptLast
49
+ * @param debPackage
50
+ * @returns version
51
+ */
52
+ static packageAptLast(debPackage: string): Promise<string>;
53
+ /**
54
+ * Debian: packageInstall
55
+ * @param packageName {string} Pacchetto Debian da installare
56
+ * @returns {boolean} True if success
57
+ */
58
+ static packageInstall(packageName: string): Promise<boolean>;
59
+ /**
60
+ * Debian: packageIsInstalled
61
+ * restuisce VERO se il pacchetto è installato
62
+ * @param debPackage
63
+ */
64
+ static packageIsInstalled(debPackage: string): boolean;
65
+ }
@@ -0,0 +1,143 @@
1
+ /**
2
+ * ./src/classes/families/debian.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 fs from 'node:fs';
9
+ import shx from 'shelljs';
10
+ import { exec } from '../../lib/utils.js';
11
+ import Utils from '../utils.js';
12
+ /**
13
+ * Debian
14
+ * @remarks all the utilities
15
+ */
16
+ export default class Debian {
17
+ static debs4calamares = ['calamares', 'qml-module-qtquick2', 'qml-module-qtquick-controls'];
18
+ /**
19
+ * Debian: calamaresInstall
20
+ */
21
+ static async calamaresInstall(verbose = true) {
22
+ const echo = Utils.setEcho(verbose);
23
+ try {
24
+ await exec('apt-get update --yes', echo);
25
+ }
26
+ catch {
27
+ Utils.error('Debian.calamaresInstall() apt-get update --yes '); // + e.error as string)
28
+ }
29
+ try {
30
+ // await exec(`apt-get install --yes ${array2spaced(this.debs4calamares)}`, echo)
31
+ await exec(`apt-get install --yes ${this.debs4calamares.join(' ')}`, echo);
32
+ }
33
+ catch {
34
+ Utils.error(`Debian.calamaresInstall() apt-get install --yes ${array2spaced(this.debs4calamares)}`); // + e.error)
35
+ }
36
+ // remove others calamares links
37
+ await exec('rm -f /usr/share/applications/calamares-eggs-debugging.desktop');
38
+ await exec('rm -f /usr/share/applications/calamares-eggs.desktop');
39
+ await exec('rm -f /usr/share/applications/calamares.desktop');
40
+ }
41
+ /**
42
+ * Debian: calamaresPolicies
43
+ */
44
+ static async calamaresPolicies(verbose = false) {
45
+ const echo = Utils.setEcho(verbose);
46
+ const policyFile = '/usr/share/polkit-1/actions/com.github.calamares.calamares.policy';
47
+ await exec(`sed -i 's/auth_admin/yes/' ${policyFile}`, echo);
48
+ }
49
+ /**
50
+ * Debian: calamaresRemove
51
+ */
52
+ static async calamaresRemove(verbose = true) {
53
+ const echo = Utils.setEcho(verbose);
54
+ const retVal = false;
55
+ if (fs.existsSync('/etc/calamares')) {
56
+ await exec('rm /etc/calamares -rf', echo);
57
+ }
58
+ await exec('apt-get remove --purge --yes calamares', echo);
59
+ await exec('apt-get autoremove --yes', echo);
60
+ return retVal;
61
+ }
62
+ /**
63
+ * Debian: isInstalledWayland
64
+ * @returns true if wayland is installed
65
+ */
66
+ static isInstalledWayland() {
67
+ return this.packageIsInstalled('xwayland');
68
+ }
69
+ /**
70
+ * Debian: isInstalledXorg
71
+ * @returns true if xorg is installed
72
+ */
73
+ static isInstalledXorg() {
74
+ return this.packageIsInstalled('xserver-xorg-core');
75
+ }
76
+ /**
77
+ * Debian: liveInstallerPolicies
78
+ * liveInstallerPolicies is NOT USED
79
+ */
80
+ static async liveInstallerPolicies() {
81
+ const policyFile = '/usr/share/polkit-1/actions/com.github.pieroproietti.penguins-eggs.policy';
82
+ await exec(`sed -i 's/auth_admin/yes/' ${policyFile}`);
83
+ }
84
+ /**
85
+ * Debian: packageAptAvailable
86
+ * return TRUE if package is present on repository
87
+ * @param debPackage
88
+ */
89
+ static async packageAptAvailable(packageName) {
90
+ let available = false;
91
+ const cmd = `apt-cache show ${packageName} | grep Package:`;
92
+ const test = `Package: ${packageName}`;
93
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
94
+ if (stdout === test) {
95
+ available = true;
96
+ }
97
+ return available;
98
+ }
99
+ /**
100
+ * Debian: packageAptLast
101
+ * @param debPackage
102
+ * @returns version
103
+ */
104
+ static async packageAptLast(debPackage) {
105
+ let version = '';
106
+ const cmd = `apt-cache show ${debPackage} | grep Version:`;
107
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
108
+ version = stdout.slice(9);
109
+ // console.log('===================================')
110
+ // console.log('[' + version + ']')
111
+ // console.log('===================================')
112
+ return version;
113
+ }
114
+ /**
115
+ * Debian: packageInstall
116
+ * @param packageName {string} Pacchetto Debian da installare
117
+ * @returns {boolean} True if success
118
+ */
119
+ static async packageInstall(packageName) {
120
+ let retVal = false;
121
+ if (shx.exec(`/usr/bin/apt-get install -y ${packageName}`, { silent: true }) === '0') {
122
+ retVal = true;
123
+ }
124
+ return retVal;
125
+ }
126
+ /**
127
+ * Debian: packageIsInstalled
128
+ * restuisce VERO se il pacchetto è installato
129
+ * @param debPackage
130
+ */
131
+ static packageIsInstalled(debPackage) {
132
+ let installed = false;
133
+ const cmd = `/usr/bin/dpkg -s ${debPackage} | grep Status:`;
134
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
135
+ if (stdout === 'Status: install ok installed') {
136
+ installed = true;
137
+ }
138
+ return installed;
139
+ }
140
+ }
141
+ function array2spaced(oArray) {
142
+ return oArray.join(' ');
143
+ }
@@ -0,0 +1,53 @@
1
+ /**
2
+ * ./src/classes/families/fedora.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
+ * Utils: general porpourse utils
10
+ * @remarks all the utilities
11
+ */
12
+ export default class Fedora {
13
+ static packs4calamares: string[];
14
+ /**
15
+ *
16
+ */
17
+ static calamaresInstall(verbose?: boolean): Promise<void>;
18
+ /**
19
+ *
20
+ * calamaresPolicies
21
+ */
22
+ static calamaresPolicies(verbose?: boolean): Promise<void>;
23
+ /**
24
+ *
25
+ */
26
+ static calamaresRemove(verbose?: boolean): Promise<boolean>;
27
+ /**
28
+ * check if it's installed wayland
29
+ * @returns true if wayland
30
+ */
31
+ static isInstalledWayland(): boolean;
32
+ /**
33
+ * check if it's installed xorg
34
+ * @returns true if xorg is installed
35
+ */
36
+ static isInstalledXorg(): boolean;
37
+ /**
38
+ * restuisce VERO se il pacchetto è installato
39
+ * @param packageName
40
+ */
41
+ static packageAvailable(packageName: string): Promise<boolean>;
42
+ /**
43
+ * Install the package packageName
44
+ * @param packageName {string} Pacchetto da installare
45
+ * @returns {boolean} True if success
46
+ */
47
+ static packageInstall(packageName: string): Promise<boolean>;
48
+ /**
49
+ * restuisce VERO se il pacchetto è installato
50
+ * @param packageName
51
+ */
52
+ static packageIsInstalled(packageName: string): boolean;
53
+ }