penguins-eggs 10.0.53 → 10.0.55

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 (346) hide show
  1. package/.oclif.manifest.json +1548 -2
  2. package/README.md +787 -0
  3. package/addons/eggs/theme/livecd/grub.main.simple.cfg +49 -0
  4. package/addons/eggs/theme/livecd/isolinux.theme.cfg +6 -5
  5. package/conf/derivatives.yaml +2 -1
  6. package/conf/distros/fedora/calamares/settings.yml +0 -6
  7. package/dist/classes/bleach.d.ts +32 -0
  8. package/dist/classes/bleach.js +135 -0
  9. package/dist/classes/cfs.d.ts +17 -0
  10. package/dist/classes/cfs.js +39 -0
  11. package/dist/classes/cli-autologin.d.ts +52 -0
  12. package/dist/classes/cli-autologin.js +247 -0
  13. package/dist/classes/compressors.d.ts +54 -0
  14. package/dist/classes/compressors.js +109 -0
  15. package/dist/classes/daddy.d.ts +26 -0
  16. package/dist/classes/daddy.js +167 -0
  17. package/dist/classes/distro.d.ts +32 -0
  18. package/dist/classes/distro.js +360 -0
  19. package/dist/classes/diversions.d.ts +48 -0
  20. package/dist/classes/diversions.js +116 -0
  21. package/dist/classes/incubation/branding.d.ts +17 -0
  22. package/dist/classes/incubation/branding.js +85 -0
  23. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +11 -0
  24. package/dist/classes/incubation/fisherman-helper/displaymanager.js +40 -0
  25. package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
  26. package/dist/classes/incubation/fisherman-helper/packages.js +72 -0
  27. package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
  28. package/dist/classes/incubation/fisherman-helper/settings.js +83 -0
  29. package/dist/classes/incubation/fisherman.d.ts +70 -0
  30. package/dist/classes/incubation/fisherman.js +263 -0
  31. package/dist/classes/incubation/incubator.d/alpine.d.ts +32 -0
  32. package/dist/classes/incubation/incubator.d/alpine.js +78 -0
  33. package/dist/classes/incubation/incubator.d/bionic.d.ts +32 -0
  34. package/dist/classes/incubation/incubator.d/bionic.js +83 -0
  35. package/dist/classes/incubation/incubator.d/buster.d.ts +32 -0
  36. package/dist/classes/incubation/incubator.d/buster.js +85 -0
  37. package/dist/classes/incubation/incubator.d/jessie.d.ts +31 -0
  38. package/dist/classes/incubation/incubator.d/jessie.js +44 -0
  39. package/dist/classes/incubation/incubator.d/noble.d.ts +32 -0
  40. package/dist/classes/incubation/incubator.d/noble.js +85 -0
  41. package/dist/classes/incubation/incubator.d/openmamba.d.ts +32 -0
  42. package/dist/classes/incubation/incubator.d/openmamba.js +81 -0
  43. package/dist/classes/incubation/incubator.d/opensuse.d.ts +32 -0
  44. package/dist/classes/incubation/incubator.d/opensuse.js +81 -0
  45. package/dist/classes/incubation/incubator.d/rolling.d.ts +32 -0
  46. package/dist/classes/incubation/incubator.d/rolling.js +80 -0
  47. package/dist/classes/incubation/incubator.d.ts +44 -0
  48. package/dist/classes/incubation/incubator.js +382 -0
  49. package/dist/classes/incubation/installer.d.ts +13 -0
  50. package/dist/classes/incubation/installer.js +52 -0
  51. package/dist/classes/keyboards.d.ts +50 -0
  52. package/dist/classes/keyboards.js +287 -0
  53. package/dist/classes/locales.d.ts +21 -0
  54. package/dist/classes/locales.js +77 -0
  55. package/dist/classes/network.d.ts +37 -0
  56. package/dist/classes/network.js +98 -0
  57. package/dist/classes/ovary.d.ts +198 -0
  58. package/dist/classes/ovary.js +1843 -0
  59. package/dist/classes/pacman.d/aldos.d.ts +52 -0
  60. package/dist/classes/pacman.d/aldos.js +100 -0
  61. package/dist/classes/pacman.d/alpine.d.ts +56 -0
  62. package/dist/classes/pacman.d/alpine.js +162 -0
  63. package/dist/classes/pacman.d/archlinux.d.ts +62 -0
  64. package/dist/classes/pacman.d/archlinux.js +137 -0
  65. package/dist/classes/pacman.d/debian.d.ts +65 -0
  66. package/dist/classes/pacman.d/debian.js +143 -0
  67. package/dist/classes/pacman.d/fedora.d.ts +53 -0
  68. package/dist/classes/pacman.d/fedora.js +101 -0
  69. package/dist/classes/pacman.d/openmamba.d.ts +52 -0
  70. package/dist/classes/pacman.d/openmamba.js +100 -0
  71. package/dist/classes/pacman.d/opensuse.d.ts +53 -0
  72. package/dist/classes/pacman.d/opensuse.js +102 -0
  73. package/dist/classes/pacman.d/voidlinux.d.ts +52 -0
  74. package/dist/classes/pacman.d/voidlinux.js +90 -0
  75. package/dist/classes/pacman.d.ts +139 -0
  76. package/dist/classes/pacman.js +775 -0
  77. package/dist/classes/pve-live.d.ts +17 -0
  78. package/dist/classes/pve-live.js +52 -0
  79. package/dist/classes/pxe.d.ts +74 -0
  80. package/dist/classes/pxe.js +410 -0
  81. package/dist/classes/settings.d.ts +53 -0
  82. package/dist/classes/settings.js +185 -0
  83. package/dist/classes/sources_list.d.ts +28 -0
  84. package/dist/classes/sources_list.js +89 -0
  85. package/dist/classes/systemctl.d.ts +47 -0
  86. package/dist/classes/systemctl.js +86 -0
  87. package/dist/classes/tailor.d.ts +50 -0
  88. package/dist/classes/tailor.js +526 -0
  89. package/dist/classes/tools.d.ts +26 -0
  90. package/dist/classes/tools.js +50 -0
  91. package/dist/classes/users.d.ts +28 -0
  92. package/dist/classes/users.js +143 -0
  93. package/dist/classes/utils.d.ts +324 -0
  94. package/dist/classes/utils.js +976 -0
  95. package/dist/classes/xdg.d.ts +45 -0
  96. package/dist/classes/xdg.js +337 -0
  97. package/dist/classes/yolk.d.ts +33 -0
  98. package/dist/classes/yolk.js +114 -0
  99. package/dist/commands/adapt.d.ts +17 -0
  100. package/dist/commands/adapt.js +33 -0
  101. package/dist/commands/analyze.d.ts +26 -0
  102. package/dist/commands/analyze.js +95 -0
  103. package/dist/commands/calamares.d.ts +29 -0
  104. package/dist/commands/calamares.js +112 -0
  105. package/dist/commands/config.d.ts +35 -0
  106. package/dist/commands/config.js +120 -0
  107. package/dist/commands/cuckoo.d.ts +16 -0
  108. package/dist/commands/cuckoo.js +62 -0
  109. package/dist/commands/dad.d.ts +20 -0
  110. package/dist/commands/dad.js +46 -0
  111. package/dist/commands/export/iso.d.ts +19 -0
  112. package/dist/commands/export/iso.js +55 -0
  113. package/dist/commands/export/pkg.d.ts +29 -0
  114. package/dist/commands/export/pkg.js +163 -0
  115. package/dist/commands/export/tarballs.d.ts +27 -0
  116. package/dist/commands/export/tarballs.js +84 -0
  117. package/dist/commands/install.d.ts +37 -0
  118. package/dist/commands/install.js +88 -0
  119. package/dist/commands/kill.d.ts +24 -0
  120. package/dist/commands/kill.js +50 -0
  121. package/dist/commands/love.d.ts +20 -0
  122. package/dist/commands/love.js +59 -0
  123. package/dist/commands/mom.d.ts +16 -0
  124. package/dist/commands/mom.js +30 -0
  125. package/dist/commands/produce.d.ts +34 -0
  126. package/dist/commands/produce.js +201 -0
  127. package/dist/commands/status.d.ts +23 -0
  128. package/dist/commands/status.js +31 -0
  129. package/dist/commands/syncfrom.d.ts +45 -0
  130. package/dist/commands/syncfrom.js +152 -0
  131. package/dist/commands/syncto.d.ts +40 -0
  132. package/dist/commands/syncto.js +175 -0
  133. package/dist/commands/tools/clean.d.ts +18 -0
  134. package/dist/commands/tools/clean.js +37 -0
  135. package/dist/commands/tools/ppa.d.ts +26 -0
  136. package/dist/commands/tools/ppa.js +138 -0
  137. package/dist/commands/tools/skel.d.ts +18 -0
  138. package/dist/commands/tools/skel.js +44 -0
  139. package/dist/commands/tools/stat.d.ts +31 -0
  140. package/dist/commands/tools/stat.js +70 -0
  141. package/dist/commands/tools/yolk.d.ts +24 -0
  142. package/dist/commands/tools/yolk.js +45 -0
  143. package/dist/commands/update.d.ts +51 -0
  144. package/dist/commands/update.js +219 -0
  145. package/dist/commands/wardrobe/get.d.ts +23 -0
  146. package/dist/commands/wardrobe/get.js +52 -0
  147. package/dist/commands/wardrobe/list.d.ts +24 -0
  148. package/dist/commands/wardrobe/list.js +125 -0
  149. package/dist/commands/wardrobe/show.d.ts +25 -0
  150. package/dist/commands/wardrobe/show.js +97 -0
  151. package/dist/commands/wardrobe/wear.d.ts +26 -0
  152. package/dist/commands/wardrobe/wear.js +84 -0
  153. package/dist/components/finished.d.ts +16 -0
  154. package/dist/components/finished.js +56 -0
  155. package/dist/components/information.d.ts +8 -0
  156. package/dist/components/information.js +154 -0
  157. package/dist/components/install.d.ts +15 -0
  158. package/dist/components/install.js +60 -0
  159. package/dist/components/keyboard.d.ts +16 -0
  160. package/dist/components/keyboard.js +54 -0
  161. package/dist/components/location.d.ts +16 -0
  162. package/dist/components/location.js +59 -0
  163. package/dist/components/network.d.ts +19 -0
  164. package/dist/components/network.js +65 -0
  165. package/dist/components/partitions.d.ts +16 -0
  166. package/dist/components/partitions.js +73 -0
  167. package/dist/components/steps.d.ts +13 -0
  168. package/dist/components/steps.js +148 -0
  169. package/dist/components/summary.d.ts +24 -0
  170. package/dist/components/summary.js +81 -0
  171. package/dist/components/title.d.ts +11 -0
  172. package/dist/components/title.js +35 -0
  173. package/dist/components/users.d.ts +24 -0
  174. package/dist/components/users.js +80 -0
  175. package/dist/components/welcome.d.ts +13 -0
  176. package/dist/components/welcome.js +63 -0
  177. package/dist/index-old.d.ts +8 -0
  178. package/dist/index-old.js +8 -0
  179. package/dist/index.d.ts +54 -0
  180. package/dist/index.js +147 -0
  181. package/dist/interfaces/i-addons.d.ts +12 -0
  182. package/dist/interfaces/i-addons.js +8 -0
  183. package/dist/interfaces/i-analyze.d.ts +17 -0
  184. package/dist/interfaces/i-analyze.js +17 -0
  185. package/dist/interfaces/i-app.d.ts +14 -0
  186. package/dist/interfaces/i-app.js +8 -0
  187. package/dist/interfaces/i-branding.d.ts +36 -0
  188. package/dist/interfaces/i-branding.js +8 -0
  189. package/dist/interfaces/i-calamares-displaymanager.d.ts +17 -0
  190. package/dist/interfaces/i-calamares-displaymanager.js +1 -0
  191. package/dist/interfaces/i-calamares-finished.d.ts +12 -0
  192. package/dist/interfaces/i-calamares-finished.js +1 -0
  193. package/dist/interfaces/i-calamares-packages.d.ts +28 -0
  194. package/dist/interfaces/i-calamares-packages.js +1 -0
  195. package/dist/interfaces/i-calamares-partition.d.ts +40 -0
  196. package/dist/interfaces/i-calamares-partition.js +1 -0
  197. package/dist/interfaces/i-config-tools.d.ts +15 -0
  198. package/dist/interfaces/i-config-tools.js +8 -0
  199. package/dist/interfaces/i-devices.d.ts +20 -0
  200. package/dist/interfaces/i-devices.js +8 -0
  201. package/dist/interfaces/i-distro.d.ts +23 -0
  202. package/dist/interfaces/i-distro.js +8 -0
  203. package/dist/interfaces/i-drive-list.d.ts +33 -0
  204. package/dist/interfaces/i-drive-list.js +8 -0
  205. package/dist/interfaces/i-eggs-config.d.ts +32 -0
  206. package/dist/interfaces/i-eggs-config.js +8 -0
  207. package/dist/interfaces/i-excludes.d.ts +14 -0
  208. package/dist/interfaces/i-excludes.js +8 -0
  209. package/dist/interfaces/i-exec.d.ts +11 -0
  210. package/dist/interfaces/i-exec.js +8 -0
  211. package/dist/interfaces/i-initrd.d.ts +13 -0
  212. package/dist/interfaces/i-initrd.js +8 -0
  213. package/dist/interfaces/i-install.d.ts +16 -0
  214. package/dist/interfaces/i-install.js +8 -0
  215. package/dist/interfaces/i-installer.d.ts +17 -0
  216. package/dist/interfaces/i-installer.js +8 -0
  217. package/dist/interfaces/i-krill-config.d.ts +33 -0
  218. package/dist/interfaces/i-krill-config.js +8 -0
  219. package/dist/interfaces/i-krill.d.ts +42 -0
  220. package/dist/interfaces/i-krill.js +8 -0
  221. package/dist/interfaces/i-materia.d.ts +36 -0
  222. package/dist/interfaces/i-materia.js +8 -0
  223. package/dist/interfaces/i-net.d.ts +16 -0
  224. package/dist/interfaces/i-net.js +8 -0
  225. package/dist/interfaces/i-packages.d.ts +16 -0
  226. package/dist/interfaces/i-packages.js +8 -0
  227. package/dist/interfaces/i-partitions.d.ts +16 -0
  228. package/dist/interfaces/i-partitions.js +8 -0
  229. package/dist/interfaces/i-pxe.d.ts +45 -0
  230. package/dist/interfaces/i-pxe.js +1 -0
  231. package/dist/interfaces/i-remix.d.ts +21 -0
  232. package/dist/interfaces/i-remix.js +8 -0
  233. package/dist/interfaces/i-settings.d.ts +33 -0
  234. package/dist/interfaces/i-settings.js +8 -0
  235. package/dist/interfaces/i-user.d.ts +14 -0
  236. package/dist/interfaces/i-user.js +8 -0
  237. package/dist/interfaces/i-workdir.d.ts +14 -0
  238. package/dist/interfaces/i-workdir.js +8 -0
  239. package/dist/interfaces/i-xkb-model.d.ts +24 -0
  240. package/dist/interfaces/i-xkb-model.js +8 -0
  241. package/dist/interfaces/index.d.ts +25 -0
  242. package/dist/interfaces/index.js +8 -0
  243. package/dist/krill/modules/add-user.d.ts +20 -0
  244. package/dist/krill/modules/add-user.js +48 -0
  245. package/dist/krill/modules/bootloader-config.d.ts +14 -0
  246. package/dist/krill/modules/bootloader-config.js +165 -0
  247. package/dist/krill/modules/bootloader.d.ts +14 -0
  248. package/dist/krill/modules/bootloader.js +157 -0
  249. package/dist/krill/modules/change-password.d.ts +15 -0
  250. package/dist/krill/modules/change-password.js +18 -0
  251. package/dist/krill/modules/del-live-user.d.ts +14 -0
  252. package/dist/krill/modules/del-live-user.js +39 -0
  253. package/dist/krill/modules/fstab.d.ts +14 -0
  254. package/dist/krill/modules/fstab.js +123 -0
  255. package/dist/krill/modules/grubcfg.d.ts +17 -0
  256. package/dist/krill/modules/grubcfg.js +29 -0
  257. package/dist/krill/modules/hostname.d.ts +13 -0
  258. package/dist/krill/modules/hostname.js +50 -0
  259. package/dist/krill/modules/initramfs-cfg.d.ts +14 -0
  260. package/dist/krill/modules/initramfs-cfg.js +22 -0
  261. package/dist/krill/modules/initramfs.d.ts +13 -0
  262. package/dist/krill/modules/initramfs.js +54 -0
  263. package/dist/krill/modules/locale-cfg.d.ts +10 -0
  264. package/dist/krill/modules/locale-cfg.js +58 -0
  265. package/dist/krill/modules/locale.d.ts +13 -0
  266. package/dist/krill/modules/locale.js +91 -0
  267. package/dist/krill/modules/m-keyboard.d.ts +14 -0
  268. package/dist/krill/modules/m-keyboard.js +58 -0
  269. package/dist/krill/modules/machine-id.d.ts +15 -0
  270. package/dist/krill/modules/machine-id.js +33 -0
  271. package/dist/krill/modules/mkfs.d.ts +15 -0
  272. package/dist/krill/modules/mkfs.js +50 -0
  273. package/dist/krill/modules/mount-fs.d.ts +17 -0
  274. package/dist/krill/modules/mount-fs.js +62 -0
  275. package/dist/krill/modules/mount-vfs.d.ts +17 -0
  276. package/dist/krill/modules/mount-vfs.js +40 -0
  277. package/dist/krill/modules/network-cfg.d.ts +19 -0
  278. package/dist/krill/modules/network-cfg.js +64 -0
  279. package/dist/krill/modules/packages.d.ts +14 -0
  280. package/dist/krill/modules/packages.js +111 -0
  281. package/dist/krill/modules/partition.d.ts +20 -0
  282. package/dist/krill/modules/partition.js +324 -0
  283. package/dist/krill/modules/remove-installer-link.d.ts +13 -0
  284. package/dist/krill/modules/remove-installer-link.js +35 -0
  285. package/dist/krill/modules/umount.d.ts +14 -0
  286. package/dist/krill/modules/umount.js +28 -0
  287. package/dist/krill/modules/unpackfs.d.ts +13 -0
  288. package/dist/krill/modules/unpackfs.js +20 -0
  289. package/dist/krill/prepare.d.ts +78 -0
  290. package/dist/krill/prepare.js +624 -0
  291. package/dist/krill/sequence.d.ts +154 -0
  292. package/dist/krill/sequence.js +652 -0
  293. package/dist/lib/get_address.d.ts +8 -0
  294. package/dist/lib/get_address.js +23 -0
  295. package/dist/lib/get_dns.d.ts +8 -0
  296. package/dist/lib/get_dns.js +23 -0
  297. package/dist/lib/get_domain.d.ts +8 -0
  298. package/dist/lib/get_domain.js +23 -0
  299. package/dist/lib/get_gateway.d.ts +8 -0
  300. package/dist/lib/get_gateway.js +23 -0
  301. package/dist/lib/get_hostname.d.ts +8 -0
  302. package/dist/lib/get_hostname.js +23 -0
  303. package/dist/lib/get_netmask.d.ts +8 -0
  304. package/dist/lib/get_netmask.js +23 -0
  305. package/dist/lib/get_password.d.ts +8 -0
  306. package/dist/lib/get_password.js +36 -0
  307. package/dist/lib/get_userfullname.d.ts +8 -0
  308. package/dist/lib/get_userfullname.js +23 -0
  309. package/dist/lib/get_username.d.ts +8 -0
  310. package/dist/lib/get_username.js +23 -0
  311. package/dist/lib/kill_me_softly.d.ts +11 -0
  312. package/dist/lib/kill_me_softly.js +61 -0
  313. package/dist/lib/select_address_type.d.ts +8 -0
  314. package/dist/lib/select_address_type.js +24 -0
  315. package/dist/lib/select_filesystem_type.d.ts +8 -0
  316. package/dist/lib/select_filesystem_type.js +46 -0
  317. package/dist/lib/select_installation_device.d.ts +8 -0
  318. package/dist/lib/select_installation_device.js +30 -0
  319. package/dist/lib/select_installation_mode.d.ts +8 -0
  320. package/dist/lib/select_installation_mode.js +24 -0
  321. package/dist/lib/select_interface.d.ts +8 -0
  322. package/dist/lib/select_interface.js +24 -0
  323. package/dist/lib/select_keyboard_layout.d.ts +11 -0
  324. package/dist/lib/select_keyboard_layout.js +36 -0
  325. package/dist/lib/select_keyboard_model.d.ts +11 -0
  326. package/dist/lib/select_keyboard_model.js +34 -0
  327. package/dist/lib/select_keyboard_option.d.ts +11 -0
  328. package/dist/lib/select_keyboard_option.js +34 -0
  329. package/dist/lib/select_keyboard_variant.d.ts +11 -0
  330. package/dist/lib/select_keyboard_variant.js +35 -0
  331. package/dist/lib/select_languages.d.ts +8 -0
  332. package/dist/lib/select_languages.js +28 -0
  333. package/dist/lib/select_regions.d.ts +8 -0
  334. package/dist/lib/select_regions.js +24 -0
  335. package/dist/lib/select_user_swap_choice.d.ts +8 -0
  336. package/dist/lib/select_user_swap_choice.js +34 -0
  337. package/dist/lib/select_zones.d.ts +8 -0
  338. package/dist/lib/select_zones.js +518 -0
  339. package/dist/lib/utils.d.ts +34 -0
  340. package/dist/lib/utils.js +79 -0
  341. package/manpages/doc/man/eggs.1.gz +0 -0
  342. package/manpages/doc/man/eggs.html +635 -4
  343. package/package.json +11 -7
  344. package/scripts/_eggs +10 -1
  345. package/scripts/eggs.bash +1 -0
  346. /package/addons/eggs/theme/livecd/{grub.main.cfg → grub.main.full.cfg} +0 -0
@@ -0,0 +1,143 @@
1
+ /**
2
+ * ./src/classes/families/debian.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 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.10.0.0 / 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
+ }
@@ -0,0 +1,101 @@
1
+ /**
2
+ * ./src/classes/families/fedora.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 fs from 'node:fs';
9
+ import shx from 'shelljs';
10
+ import { exec } from '../../lib/utils.js';
11
+ import Utils from '../utils.js';
12
+ /**
13
+ * Utils: general porpourse utils
14
+ * @remarks all the utilities
15
+ */
16
+ export default class Fedora {
17
+ static packs4calamares = ['calamares'];
18
+ /**
19
+ *
20
+ */
21
+ static async calamaresInstall(verbose = true) {
22
+ const echo = Utils.setEcho(verbose);
23
+ try {
24
+ await exec(`dnf install -y ${this.packs4calamares.join(' ')}`, echo);
25
+ }
26
+ catch {
27
+ Utils.error(`fedora.calamaresInstall()`);
28
+ }
29
+ }
30
+ /**
31
+ *
32
+ * calamaresPolicies
33
+ */
34
+ static async calamaresPolicies(verbose = false) {
35
+ // nothing
36
+ }
37
+ /**
38
+ *
39
+ */
40
+ static async calamaresRemove(verbose = true) {
41
+ const echo = Utils.setEcho(verbose);
42
+ const retVal = false;
43
+ if (fs.existsSync('/etc/calamares')) {
44
+ await exec('rm /etc/calamares -rf', echo);
45
+ }
46
+ await exec('dnf remove calamares', echo);
47
+ return retVal;
48
+ }
49
+ /**
50
+ * check if it's installed wayland
51
+ * @returns true if wayland
52
+ */
53
+ static isInstalledWayland() {
54
+ return this.packageIsInstalled('xorg-x11-server-Xwayland*');
55
+ }
56
+ /**
57
+ * check if it's installed xorg
58
+ * @returns true if xorg is installed
59
+ */
60
+ static isInstalledXorg() {
61
+ return this.packageIsInstalled('xorg-x11-server-Xorg.x86_64');
62
+ }
63
+ /**
64
+ * restuisce VERO se il pacchetto è installato
65
+ * @param packageName
66
+ */
67
+ static async packageAvailable(packageName) {
68
+ let available = false;
69
+ const cmd = `/usr/bin/dnf list --available ${packageName} | grep Package:`;
70
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
71
+ if (stdout.includes(packageName)) {
72
+ available = true;
73
+ }
74
+ return available;
75
+ }
76
+ /**
77
+ * Install the package packageName
78
+ * @param packageName {string} Pacchetto da installare
79
+ * @returns {boolean} True if success
80
+ */
81
+ static async packageInstall(packageName) {
82
+ let retVal = false;
83
+ if (shx.exec(`/usr/bin/dnf install ${packageName}`, { silent: true }) === '0') {
84
+ retVal = true;
85
+ }
86
+ return retVal;
87
+ }
88
+ /**
89
+ * restuisce VERO se il pacchetto è installato
90
+ * @param packageName
91
+ */
92
+ static packageIsInstalled(packageName) {
93
+ let installed = false;
94
+ const cmd = `/usr/bin/dnf list --installed ${packageName}`;
95
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
96
+ if (stdout.includes(packageName)) {
97
+ installed = true;
98
+ }
99
+ return installed;
100
+ }
101
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * ./src/classes/families/openmamba.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
+ * Utils: general porpourse utils
10
+ * @remarks all the utilities
11
+ */
12
+ export default class Openmamba {
13
+ /**
14
+ *
15
+ */
16
+ static calamaresInstall(verbose?: boolean): Promise<void>;
17
+ /**
18
+ *
19
+ * calamaresPolicies
20
+ */
21
+ static calamaresPolicies(verbose?: boolean): Promise<void>;
22
+ /**
23
+ *
24
+ */
25
+ static calamaresRemove(verbose?: boolean): Promise<boolean>;
26
+ /**
27
+ * check if it's installed wayland
28
+ * @returns true if wayland
29
+ */
30
+ static isInstalledWayland(): boolean;
31
+ /**
32
+ * check if it's installed xorg
33
+ * @returns true if xorg is installed
34
+ */
35
+ static isInstalledXorg(): boolean;
36
+ /**
37
+ * restuisce VERO se il pacchetto è installato
38
+ * @param packageName
39
+ */
40
+ static packageAvailable(packageName: string): Promise<boolean>;
41
+ /**
42
+ * Install the package packageName
43
+ * @param packageName {string} Pacchetto da installare
44
+ * @returns {boolean} True if success
45
+ */
46
+ static packageInstall(packageName: string): Promise<boolean>;
47
+ /**
48
+ * restuisce VERO se il pacchetto è installato
49
+ * @param packageName
50
+ */
51
+ static packageIsInstalled(packageName: string): boolean;
52
+ }
@@ -0,0 +1,100 @@
1
+ /**
2
+ * ./src/classes/families/openmamba.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 fs from 'node:fs';
9
+ import shx from 'shelljs';
10
+ import { exec } from '../../lib/utils.js';
11
+ import Utils from '../utils.js';
12
+ /**
13
+ * Utils: general porpourse utils
14
+ * @remarks all the utilities
15
+ */
16
+ export default class Openmamba {
17
+ /**
18
+ *
19
+ */
20
+ static async calamaresInstall(verbose = true) {
21
+ const echo = Utils.setEcho(verbose);
22
+ try {
23
+ await exec('dnf install calamares -y', echo);
24
+ }
25
+ catch {
26
+ Utils.error(`openmamba.calamaresInstall()`);
27
+ }
28
+ }
29
+ /**
30
+ *
31
+ * calamaresPolicies
32
+ */
33
+ static async calamaresPolicies(verbose = false) {
34
+ // nothing
35
+ }
36
+ /**
37
+ *
38
+ */
39
+ static async calamaresRemove(verbose = true) {
40
+ const echo = Utils.setEcho(verbose);
41
+ const retVal = false;
42
+ if (fs.existsSync('/etc/calamares')) {
43
+ await exec('rm /etc/calamares -rf', echo);
44
+ }
45
+ await exec('dnf remove calamares', echo);
46
+ return retVal;
47
+ }
48
+ /**
49
+ * check if it's installed wayland
50
+ * @returns true if wayland
51
+ */
52
+ static isInstalledWayland() {
53
+ return this.packageIsInstalled('xorg-x11-server-Xwayland*');
54
+ }
55
+ /**
56
+ * check if it's installed xorg
57
+ * @returns true if xorg is installed
58
+ */
59
+ static isInstalledXorg() {
60
+ return this.packageIsInstalled('xorg-x11-server-Xorg.x86_64');
61
+ }
62
+ /**
63
+ * restuisce VERO se il pacchetto è installato
64
+ * @param packageName
65
+ */
66
+ static async packageAvailable(packageName) {
67
+ let available = false;
68
+ const cmd = `/usr/bin/dnf list --available ${packageName} | grep Package:`;
69
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
70
+ if (stdout.includes(packageName)) {
71
+ available = true;
72
+ }
73
+ return available;
74
+ }
75
+ /**
76
+ * Install the package packageName
77
+ * @param packageName {string} Pacchetto da installare
78
+ * @returns {boolean} True if success
79
+ */
80
+ static async packageInstall(packageName) {
81
+ let retVal = false;
82
+ if (shx.exec(`/usr/bin/dnf install ${packageName}`, { silent: false }) === '0') {
83
+ retVal = true;
84
+ }
85
+ return retVal;
86
+ }
87
+ /**
88
+ * restuisce VERO se il pacchetto è installato
89
+ * @param packageName
90
+ */
91
+ static packageIsInstalled(packageName) {
92
+ let installed = false;
93
+ const cmd = `/usr/bin/dnf list --installed ${packageName}`;
94
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
95
+ if (stdout.includes(packageName)) {
96
+ installed = true;
97
+ }
98
+ return installed;
99
+ }
100
+ }
@@ -0,0 +1,53 @@
1
+ /**
2
+ * ./src/classes/families/suse.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
+ * Utils: general porpourse utils
10
+ * @remarks all the utilities
11
+ */
12
+ export default class Opensuse {
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
+ }
@@ -0,0 +1,102 @@
1
+ /**
2
+ * ./src/classes/families/suse.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 fs from 'node:fs';
9
+ import shx from 'shelljs';
10
+ import { exec } from '../../lib/utils.js';
11
+ import Utils from '../utils.js';
12
+ /**
13
+ * Utils: general porpourse utils
14
+ * @remarks all the utilities
15
+ */
16
+ export default class Opensuse {
17
+ static packs4calamares = ['calamares'];
18
+ /**
19
+ *
20
+ */
21
+ static async calamaresInstall(verbose = true) {
22
+ const echo = Utils.setEcho(true);
23
+ console.log("installazione calamares SuSE");
24
+ try {
25
+ await exec(`zypper install calamares`, echo);
26
+ }
27
+ catch {
28
+ Utils.error(`Opensuse.calamaresInstall()`);
29
+ }
30
+ }
31
+ /**
32
+ *
33
+ * calamaresPolicies
34
+ */
35
+ static async calamaresPolicies(verbose = false) {
36
+ // nothing
37
+ }
38
+ /**
39
+ *
40
+ */
41
+ static async calamaresRemove(verbose = true) {
42
+ const echo = Utils.setEcho(verbose);
43
+ const retVal = false;
44
+ if (fs.existsSync('/etc/calamares')) {
45
+ await exec('rm /etc/calamares -rf', echo);
46
+ }
47
+ await exec('zypper remove calamares', echo);
48
+ return retVal;
49
+ }
50
+ /**
51
+ * check if it's installed wayland
52
+ * @returns true if wayland
53
+ */
54
+ static isInstalledWayland() {
55
+ return this.packageIsInstalled('xwayland*');
56
+ }
57
+ /**
58
+ * check if it's installed xorg
59
+ * @returns true if xorg is installed
60
+ */
61
+ static isInstalledXorg() {
62
+ return this.packageIsInstalled('xorg-x11-server');
63
+ }
64
+ /**
65
+ * restuisce VERO se il pacchetto è installato
66
+ * @param packageName
67
+ */
68
+ static async packageAvailable(packageName) {
69
+ let available = false;
70
+ const cmd = `/usr/bin/zypper --not-installed-only ${packageName} | grep Package:`;
71
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
72
+ if (stdout.includes(packageName)) {
73
+ available = true;
74
+ }
75
+ return available;
76
+ }
77
+ /**
78
+ * Install the package packageName
79
+ * @param packageName {string} Pacchetto da installare
80
+ * @returns {boolean} True if success
81
+ */
82
+ static async packageInstall(packageName) {
83
+ let retVal = false;
84
+ if (shx.exec(`/usr/bin/zypper install ${packageName}`, { silent: true }) === '0') {
85
+ retVal = true;
86
+ }
87
+ return retVal;
88
+ }
89
+ /**
90
+ * restuisce VERO se il pacchetto è installato
91
+ * @param packageName
92
+ */
93
+ static packageIsInstalled(packageName) {
94
+ let installed = false;
95
+ const cmd = `/usr/bin/zypper search --installed-only ${packageName}`;
96
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
97
+ if (stdout.includes(packageName)) {
98
+ installed = true;
99
+ }
100
+ return installed;
101
+ }
102
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * ./src/classes/families/voidlinux.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
+ * Utils: general porpourse utils
10
+ * @remarks all the utilities
11
+ */
12
+ export default class Voidlinux {
13
+ static packs4calamares: string[];
14
+ /**
15
+ *
16
+ */
17
+ static calamaresInstall(verbose?: boolean): Promise<void>;
18
+ /**
19
+ * calamaresPolicies
20
+ */
21
+ static calamaresPolicies(verbose?: boolean): Promise<void>;
22
+ /**
23
+ *
24
+ */
25
+ static calamaresRemove(verbose?: boolean): Promise<boolean>;
26
+ /**
27
+ * check if it's installed wayland
28
+ * @returns true if wayland
29
+ */
30
+ static isInstalledWayland(): boolean;
31
+ /**
32
+ * check if it's installed xorg
33
+ * @returns true if xorg is installed
34
+ */
35
+ static isInstalledXorg(): boolean;
36
+ /**
37
+ * restuisce VERO se il pacchetto è installato
38
+ * @param packageName
39
+ */
40
+ static packageAvailable(packageName: string): Promise<boolean>;
41
+ /**
42
+ * Install the package packageName
43
+ * @param packageName {string} Pacchetto da installare
44
+ * @returns {boolean} True if success
45
+ */
46
+ static packageInstall(packageName: string): Promise<boolean>;
47
+ /**
48
+ * restuisce VERO se il pacchetto è installato
49
+ * @param packageName
50
+ */
51
+ static packageIsInstalled(packageName: string): boolean;
52
+ }