penguins-eggs 9.8.1 → 10.0.1

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 (334) hide show
  1. package/.oclif.manifest.json +62 -62
  2. package/README.md +43 -40
  3. package/bin/dev.cmd +1 -1
  4. package/bin/dev.js +6 -6
  5. package/bin/run.js +3 -5
  6. package/conf/tools.yaml +1 -1
  7. package/dist/classes/bleach.d.ts +37 -0
  8. package/dist/classes/bleach.js +43 -91
  9. package/dist/classes/cfs.d.ts +17 -0
  10. package/dist/classes/cfs.js +15 -12
  11. package/dist/classes/compressors.d.ts +53 -0
  12. package/dist/classes/compressors.js +42 -47
  13. package/dist/classes/daddy.d.ts +18 -0
  14. package/dist/classes/daddy.js +92 -98
  15. package/dist/classes/distro.d.ts +26 -0
  16. package/dist/classes/distro.js +36 -37
  17. package/dist/classes/families/archlinux.d.ts +61 -0
  18. package/dist/classes/families/archlinux.js +52 -107
  19. package/dist/classes/families/debian.d.ts +65 -0
  20. package/dist/classes/families/debian.js +67 -142
  21. package/dist/classes/families/fedora.d.ts +52 -0
  22. package/dist/classes/families/fedora.js +42 -98
  23. package/dist/classes/families/mockup.d.ts +60 -0
  24. package/dist/classes/families/mockup.js +27 -46
  25. package/dist/classes/families/suse.d.ts +52 -0
  26. package/dist/classes/families/suse.js +44 -96
  27. package/dist/classes/incubation/branding.d.ts +17 -0
  28. package/dist/classes/incubation/branding.js +32 -36
  29. package/dist/classes/incubation/distros/bionic.d.ts +32 -0
  30. package/dist/classes/incubation/distros/bionic.js +11 -16
  31. package/dist/classes/incubation/distros/buster.d.ts +32 -0
  32. package/dist/classes/incubation/distros/buster.js +13 -18
  33. package/dist/classes/incubation/distros/focal.d.ts +32 -0
  34. package/dist/classes/incubation/distros/focal.js +11 -16
  35. package/dist/classes/incubation/distros/jessie.d.ts +31 -0
  36. package/dist/classes/incubation/distros/jessie.js +8 -13
  37. package/dist/classes/incubation/distros/rolling.d.ts +32 -0
  38. package/dist/classes/incubation/distros/rolling.js +11 -16
  39. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +11 -0
  40. package/dist/classes/incubation/fisherman-helper/displaymanager.js +8 -9
  41. package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
  42. package/dist/classes/incubation/fisherman-helper/packages.js +17 -20
  43. package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
  44. package/dist/classes/incubation/fisherman-helper/settings.js +30 -28
  45. package/dist/classes/incubation/fisherman.d.ts +77 -0
  46. package/dist/classes/incubation/fisherman.js +135 -131
  47. package/dist/classes/incubation/incubator.d.ts +40 -0
  48. package/dist/classes/incubation/incubator.js +90 -89
  49. package/dist/classes/incubation/installer.d.ts +13 -0
  50. package/dist/classes/incubation/installer.js +27 -12
  51. package/dist/classes/initrd.d.ts +41 -0
  52. package/dist/classes/initrd.js +40 -42
  53. package/dist/classes/keyboards.d.ts +50 -0
  54. package/dist/classes/keyboards.js +108 -105
  55. package/dist/classes/locales.d.ts +21 -0
  56. package/dist/classes/locales.js +30 -34
  57. package/dist/classes/n8.d.ts +17 -0
  58. package/dist/classes/n8.js +16 -22
  59. package/dist/classes/network.d.ts +37 -0
  60. package/dist/classes/network.js +14 -18
  61. package/dist/classes/ovary.d.ts +205 -0
  62. package/dist/classes/ovary.js +1281 -1294
  63. package/dist/classes/pacman.d.ts +149 -0
  64. package/dist/classes/pacman.js +344 -418
  65. package/dist/classes/pve-live.d.ts +17 -0
  66. package/dist/classes/pve-live.js +22 -24
  67. package/dist/classes/pxe.d.ts +65 -0
  68. package/dist/classes/pxe.js +204 -206
  69. package/dist/classes/settings.d.ts +53 -0
  70. package/dist/classes/settings.js +91 -94
  71. package/dist/classes/sources_list.d.ts +28 -0
  72. package/dist/classes/sources_list.js +35 -39
  73. package/dist/classes/systemctl.d.ts +47 -0
  74. package/dist/classes/systemctl.js +34 -38
  75. package/dist/classes/tailor.d.ts +46 -0
  76. package/dist/classes/tailor.js +223 -239
  77. package/dist/classes/tools.d.ts +30 -0
  78. package/dist/classes/tools.js +18 -22
  79. package/dist/classes/users.d.ts +28 -0
  80. package/dist/classes/users.js +18 -22
  81. package/dist/classes/utils.d.ts +318 -0
  82. package/dist/classes/utils.js +78 -78
  83. package/dist/classes/xdg.d.ts +45 -0
  84. package/dist/classes/xdg.js +129 -133
  85. package/dist/classes/yolk.d.ts +33 -0
  86. package/dist/classes/yolk.js +53 -57
  87. package/dist/commands/adapt.d.ts +17 -0
  88. package/dist/commands/adapt.js +17 -21
  89. package/dist/commands/analyze.d.ts +26 -0
  90. package/dist/commands/analyze.js +56 -67
  91. package/dist/commands/calamares.d.ts +29 -0
  92. package/dist/commands/calamares.js +44 -48
  93. package/dist/commands/config.d.ts +36 -0
  94. package/dist/commands/config.js +115 -137
  95. package/dist/commands/cuckoo.d.ts +16 -0
  96. package/dist/commands/cuckoo.js +20 -24
  97. package/dist/commands/dad.d.ts +19 -0
  98. package/dist/commands/dad.js +20 -24
  99. package/dist/commands/export/deb.d.ts +19 -0
  100. package/dist/commands/export/deb.js +19 -23
  101. package/dist/commands/export/iso.d.ts +19 -0
  102. package/dist/commands/export/iso.js +19 -23
  103. package/dist/commands/install.d.ts +37 -0
  104. package/dist/commands/install.js +46 -50
  105. package/dist/commands/kill.d.ts +24 -0
  106. package/dist/commands/kill.js +25 -29
  107. package/dist/commands/mom.d.ts +16 -0
  108. package/dist/commands/mom.js +16 -18
  109. package/dist/commands/produce.d.ts +33 -0
  110. package/dist/commands/produce.js +64 -66
  111. package/dist/commands/status.d.ts +23 -0
  112. package/dist/commands/status.js +10 -14
  113. package/dist/commands/syncfrom.d.ts +45 -0
  114. package/dist/commands/syncfrom.js +85 -89
  115. package/dist/commands/syncto.d.ts +40 -0
  116. package/dist/commands/syncto.js +91 -95
  117. package/dist/commands/tools/clean.d.ts +18 -0
  118. package/dist/commands/tools/clean.js +17 -21
  119. package/dist/commands/tools/ppa.d.ts +26 -0
  120. package/dist/commands/tools/ppa.js +41 -45
  121. package/dist/commands/tools/skel.d.ts +18 -0
  122. package/dist/commands/tools/skel.js +22 -26
  123. package/dist/commands/tools/stat.d.ts +31 -0
  124. package/dist/commands/tools/stat.js +15 -19
  125. package/dist/commands/tools/yolk.d.ts +24 -0
  126. package/dist/commands/tools/yolk.js +19 -23
  127. package/dist/commands/update.d.ts +47 -0
  128. package/dist/commands/update.js +62 -66
  129. package/dist/commands/wardrobe/get.d.ts +23 -0
  130. package/dist/commands/wardrobe/get.js +19 -23
  131. package/dist/commands/wardrobe/list.d.ts +24 -0
  132. package/dist/commands/wardrobe/list.js +61 -60
  133. package/dist/commands/wardrobe/show.d.ts +25 -0
  134. package/dist/commands/wardrobe/show.js +50 -47
  135. package/dist/commands/wardrobe/wear.d.ts +26 -0
  136. package/dist/commands/wardrobe/wear.js +32 -36
  137. package/dist/components/finished.d.ts +15 -0
  138. package/dist/components/finished.js +37 -42
  139. package/dist/components/information.d.ts +8 -0
  140. package/dist/components/information.js +155 -0
  141. package/dist/components/install.d.ts +15 -0
  142. package/dist/components/install.js +31 -35
  143. package/dist/components/keyboard.d.ts +16 -0
  144. package/dist/components/keyboard.js +37 -40
  145. package/dist/components/location.d.ts +16 -0
  146. package/dist/components/location.js +38 -38
  147. package/dist/components/network.d.ts +19 -0
  148. package/dist/components/network.js +47 -48
  149. package/dist/components/partitions.d.ts +16 -0
  150. package/dist/components/partitions.js +47 -51
  151. package/dist/components/steps.d.ts +13 -0
  152. package/dist/components/steps.js +148 -0
  153. package/dist/components/summary.d.ts +24 -0
  154. package/dist/components/summary.js +50 -54
  155. package/dist/components/title.d.ts +12 -0
  156. package/dist/components/title.js +35 -0
  157. package/dist/components/users.d.ts +24 -0
  158. package/dist/components/users.js +43 -43
  159. package/dist/components/welcome.d.ts +13 -0
  160. package/dist/components/welcome.js +37 -38
  161. package/dist/index.d.ts +8 -0
  162. package/dist/index.js +8 -5
  163. package/dist/interfaces/i-addons.d.ts +13 -0
  164. package/dist/interfaces/i-addons.js +8 -3
  165. package/dist/interfaces/i-analyze.d.ts +17 -0
  166. package/dist/interfaces/i-analyze.js +7 -10
  167. package/dist/interfaces/i-app.d.ts +14 -0
  168. package/dist/interfaces/i-app.js +8 -2
  169. package/dist/interfaces/i-branding.d.ts +36 -0
  170. package/dist/interfaces/i-branding.js +8 -2
  171. package/dist/interfaces/i-calamares-partition.d.ts +18 -0
  172. package/dist/interfaces/i-calamares-partition.js +3 -4
  173. package/dist/interfaces/i-config-tools.d.ts +18 -0
  174. package/dist/interfaces/i-config-tools.js +8 -2
  175. package/dist/interfaces/i-devices.d.ts +20 -0
  176. package/dist/interfaces/i-devices.js +8 -2
  177. package/dist/interfaces/i-distro.d.ts +27 -0
  178. package/dist/interfaces/i-distro.js +3 -4
  179. package/dist/interfaces/i-drive-list.d.ts +33 -0
  180. package/dist/interfaces/i-drive-list.js +3 -4
  181. package/dist/interfaces/i-eggs-config.d.ts +32 -0
  182. package/dist/interfaces/i-eggs-config.js +3 -4
  183. package/dist/interfaces/i-excludes.d.ts +14 -0
  184. package/dist/interfaces/i-excludes.js +8 -2
  185. package/dist/interfaces/i-exec.d.ts +11 -0
  186. package/dist/interfaces/i-exec.js +3 -4
  187. package/dist/interfaces/i-initrd.d.ts +13 -0
  188. package/dist/interfaces/i-initrd.js +8 -2
  189. package/dist/interfaces/i-install.d.ts +16 -0
  190. package/dist/interfaces/i-install.js +8 -2
  191. package/dist/interfaces/i-installer.d.ts +17 -0
  192. package/dist/interfaces/i-installer.js +8 -2
  193. package/dist/interfaces/i-krill-config.d.ts +33 -0
  194. package/dist/interfaces/i-krill-config.js +3 -4
  195. package/dist/interfaces/i-krill.d.ts +42 -0
  196. package/dist/interfaces/i-krill.js +8 -2
  197. package/dist/interfaces/i-materia.d.ts +41 -0
  198. package/dist/interfaces/i-materia.js +8 -2
  199. package/dist/interfaces/i-net.d.ts +16 -0
  200. package/dist/interfaces/i-net.js +8 -2
  201. package/dist/interfaces/i-packages.d.ts +29 -0
  202. package/dist/interfaces/i-packages.js +3 -4
  203. package/dist/interfaces/i-partitions.d.ts +16 -0
  204. package/dist/interfaces/i-partitions.js +8 -2
  205. package/dist/interfaces/i-pxe.d.ts +21 -0
  206. package/dist/interfaces/i-pxe.js +8 -39
  207. package/dist/interfaces/i-remix.d.ts +21 -0
  208. package/dist/interfaces/i-remix.js +3 -4
  209. package/dist/interfaces/i-settings.d.ts +39 -0
  210. package/dist/interfaces/i-settings.js +8 -2
  211. package/dist/interfaces/i-user.d.ts +14 -0
  212. package/dist/interfaces/i-user.js +8 -2
  213. package/dist/interfaces/i-workdir.d.ts +14 -0
  214. package/dist/interfaces/i-workdir.js +8 -2
  215. package/dist/interfaces/i-xkb-model.d.ts +24 -0
  216. package/dist/interfaces/i-xkb-model.js +8 -2
  217. package/dist/interfaces/index.d.ts +25 -0
  218. package/dist/interfaces/index.js +3 -4
  219. package/dist/krill/modules/add-user.d.ts +20 -0
  220. package/dist/krill/modules/add-user.js +11 -15
  221. package/dist/krill/modules/bootloader-config-arch.d.ts +14 -0
  222. package/dist/krill/modules/bootloader-config-arch.js +15 -11
  223. package/dist/krill/modules/bootloader-config-debian.d.ts +10 -0
  224. package/dist/krill/modules/bootloader-config-debian.js +20 -16
  225. package/dist/krill/modules/bootloader-config.d.ts +10 -0
  226. package/dist/krill/modules/bootloader-config.js +3 -6
  227. package/dist/krill/modules/bootloader.d.ts +14 -0
  228. package/dist/krill/modules/bootloader.js +9 -13
  229. package/dist/krill/modules/change-password.d.ts +15 -0
  230. package/dist/krill/modules/change-password.js +5 -8
  231. package/dist/krill/modules/del-live-user.d.ts +14 -0
  232. package/dist/krill/modules/del-live-user.js +8 -12
  233. package/dist/krill/modules/fstab.d.ts +14 -0
  234. package/dist/krill/modules/fstab.js +33 -37
  235. package/dist/krill/modules/grubcfg.d.ts +17 -0
  236. package/dist/krill/modules/grubcfg.js +8 -17
  237. package/dist/krill/modules/hostname.d.ts +13 -0
  238. package/dist/krill/modules/hostname.js +11 -17
  239. package/dist/krill/modules/initramfs-cfg.d.ts +14 -0
  240. package/dist/krill/modules/initramfs-cfg.js +6 -15
  241. package/dist/krill/modules/initramfs.d.ts +13 -0
  242. package/dist/krill/modules/initramfs.js +17 -19
  243. package/dist/krill/modules/locale-cfg.d.ts +10 -0
  244. package/dist/krill/modules/locale-cfg.js +8 -12
  245. package/dist/krill/modules/locale.d.ts +13 -0
  246. package/dist/krill/modules/locale.js +7 -11
  247. package/dist/krill/modules/m-keyboard.d.ts +14 -0
  248. package/dist/krill/modules/m-keyboard.js +14 -18
  249. package/dist/krill/modules/m-timezone.d.ts +14 -0
  250. package/dist/krill/modules/m-timezone.js +8 -12
  251. package/dist/krill/modules/machine-id.d.ts +15 -0
  252. package/dist/krill/modules/machine-id.js +6 -10
  253. package/dist/krill/modules/mkfs.d.ts +13 -0
  254. package/dist/krill/modules/mkfs.js +10 -13
  255. package/dist/krill/modules/mount-fs.d.ts +17 -0
  256. package/dist/krill/modules/mount-fs.js +20 -26
  257. package/dist/krill/modules/mount-vfs.d.ts +17 -0
  258. package/dist/krill/modules/mount-vfs.js +16 -21
  259. package/dist/krill/modules/network-cfg.d.ts +19 -0
  260. package/dist/krill/modules/network-cfg.js +16 -20
  261. package/dist/krill/modules/packages.d.ts +14 -0
  262. package/dist/krill/modules/packages.js +17 -21
  263. package/dist/krill/modules/partition.d.ts +20 -0
  264. package/dist/krill/modules/partition.js +78 -84
  265. package/dist/krill/modules/remove-installer-link.d.ts +13 -0
  266. package/dist/krill/modules/remove-installer-link.js +7 -11
  267. package/dist/krill/modules/umount.d.ts +14 -0
  268. package/dist/krill/modules/umount.js +9 -13
  269. package/dist/krill/modules/unpackfs.d.ts +13 -0
  270. package/dist/krill/modules/unpackfs.js +7 -11
  271. package/dist/krill/prepare.d.ts +77 -0
  272. package/dist/krill/{krill-prepare.js → prepare.js} +118 -124
  273. package/dist/krill/sequence.d.ts +156 -0
  274. package/dist/krill/{krill-sequence.js → sequence.js} +166 -170
  275. package/dist/lib/cli-autologin.d.ts +43 -0
  276. package/dist/lib/cli-autologin.js +88 -92
  277. package/dist/lib/get_address.d.ts +8 -0
  278. package/dist/lib/get_address.js +9 -11
  279. package/dist/lib/get_dns.d.ts +8 -0
  280. package/dist/lib/get_dns.js +9 -11
  281. package/dist/lib/get_domain.d.ts +8 -0
  282. package/dist/lib/get_domain.js +9 -11
  283. package/dist/lib/get_gateway.d.ts +8 -0
  284. package/dist/lib/get_gateway.js +9 -11
  285. package/dist/lib/get_hostname.d.ts +8 -0
  286. package/dist/lib/get_hostname.js +9 -11
  287. package/dist/lib/get_netmask.d.ts +8 -0
  288. package/dist/lib/get_netmask.js +9 -11
  289. package/dist/lib/get_password.d.ts +8 -0
  290. package/dist/lib/get_password.js +10 -13
  291. package/dist/lib/get_userfullname.d.ts +8 -0
  292. package/dist/lib/get_userfullname.js +9 -11
  293. package/dist/lib/get_username.d.ts +8 -0
  294. package/dist/lib/get_username.js +9 -12
  295. package/dist/lib/kill_me_softly.d.ts +11 -0
  296. package/dist/lib/kill_me_softly.js +19 -24
  297. package/dist/lib/select_address_type.d.ts +8 -0
  298. package/dist/lib/select_address_type.js +9 -12
  299. package/dist/lib/select_filesystem_type.d.ts +8 -0
  300. package/dist/lib/select_filesystem_type.js +15 -18
  301. package/dist/lib/select_installation_device.d.ts +8 -0
  302. package/dist/lib/select_installation_device.js +11 -15
  303. package/dist/lib/select_installation_mode.d.ts +8 -0
  304. package/dist/lib/select_installation_mode.js +9 -11
  305. package/dist/lib/select_interface.d.ts +8 -0
  306. package/dist/lib/select_interface.js +9 -12
  307. package/dist/lib/select_keyboard_layout.d.ts +11 -0
  308. package/dist/lib/select_keyboard_layout.js +11 -15
  309. package/dist/lib/select_keyboard_model.d.ts +11 -0
  310. package/dist/lib/select_keyboard_model.js +11 -15
  311. package/dist/lib/select_keyboard_option.d.ts +11 -0
  312. package/dist/lib/select_keyboard_option.js +11 -15
  313. package/dist/lib/select_keyboard_variant.d.ts +11 -0
  314. package/dist/lib/select_keyboard_variant.js +11 -15
  315. package/dist/lib/select_languages.d.ts +8 -0
  316. package/dist/lib/select_languages.js +11 -15
  317. package/dist/lib/select_regions.d.ts +8 -0
  318. package/dist/lib/select_regions.js +9 -11
  319. package/dist/lib/select_user_swap_choice.d.ts +8 -0
  320. package/dist/lib/select_user_swap_choice.js +13 -17
  321. package/dist/lib/select_zones.d.ts +8 -0
  322. package/dist/lib/select_zones.js +9 -11
  323. package/dist/lib/utils.d.ts +34 -0
  324. package/dist/lib/utils.js +24 -14
  325. package/manpages/doc/man/eggs.1.gz +0 -0
  326. package/manpages/doc/man/eggs.html +10 -10
  327. package/package.json +48 -69
  328. package/LICENSE +0 -339
  329. package/bin/dev +0 -17
  330. package/bin/run +0 -5
  331. package/dist/components/elements/information.js +0 -194
  332. package/dist/components/elements/steps.js +0 -152
  333. package/dist/components/elements/title.js +0 -36
  334. package/dist/lib/dependencies.js +0 -121
@@ -0,0 +1,61 @@
1
+ /**
2
+ * ./src/classes/families/archlinux.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
+ * 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
+ * Archlinux: calamaresPolicies
20
+ */
21
+ static calamaresPolicies(): Promise<void>;
22
+ /**
23
+ * Archlinux: calamaresRemove
24
+ */
25
+ static calamaresRemove(verbose?: boolean): Promise<boolean>;
26
+ /**
27
+ * Archlinux: isInstalledWayland
28
+ * @returns true if wayland is installed
29
+ */
30
+ static isInstalledWayland(): boolean;
31
+ /**
32
+ * Archlinux: isInstalledXorg
33
+ * @returns true if xorg is installed
34
+ */
35
+ static isInstalledXorg(): boolean;
36
+ /**
37
+ * Archlinux: packageInstall
38
+ * Install the package packageName
39
+ * @param packageName {string} Pacchetto Debian da installare
40
+ * @returns {boolean} True if success
41
+ */
42
+ static packageInstall(packageName: string): Promise<boolean>;
43
+ /**
44
+ * Archlinux: packageIsInstalled
45
+ * restuisce VERO se il pacchetto è installato
46
+ * @param packageName
47
+ */
48
+ static packageIsInstalled(packageName: string): boolean;
49
+ /**
50
+ * Archlinux: packagePacmanAvailable
51
+ * restuisce VERO se il pacchetto è installato
52
+ * @param packageName
53
+ */
54
+ static packagePacmanAvailable(packageName: string): Promise<boolean>;
55
+ /**
56
+ * Archlinux: packagePacmanLast
57
+ * @param packageName
58
+ * @returns
59
+ */
60
+ static packagePacmanLast(packageName: string): Promise<string>;
61
+ }
@@ -1,109 +1,43 @@
1
- "use strict";
2
- /* eslint-disable no-console */
3
1
  /**
4
- * penguins-eggs
5
- * classes/families: archilinux.ts
6
- * author: Piero Proietti
7
- * email: piero.proietti@gmail.com
8
- * license: MIT
9
- */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- const tslib_1 = require("tslib");
12
- const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
13
- const shelljs_1 = tslib_1.__importDefault(require("shelljs"));
14
- const utils_1 = tslib_1.__importDefault(require("../utils"));
15
- const pacman_1 = tslib_1.__importDefault(require("../pacman"));
16
- const dependencies_1 = require("../../lib/dependencies");
17
- const utils_2 = require("../../lib/utils");
2
+ * ./src/classes/families/archlinux.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';
18
12
  /**
19
13
  * Archlinux
20
14
  * @remarks all the utilities
21
15
  */
22
- class Archlinux {
16
+ export default class Archlinux {
23
17
  static packs4calamares = ['calamares-eggs']; // , 'calamares', 'calamares-git']
24
- /**
25
- * Archlinux: isInstalledXorg
26
- * @returns true if xorg is installed
27
- */
28
- static isInstalledXorg() {
29
- return this.packageIsInstalled('xorg-server-common');
30
- }
31
- /**
32
- * Archlinux: isInstalledWayland
33
- * @returns true if wayland is installed
34
- */
35
- static isInstalledWayland() {
36
- return this.packageIsInstalled('xwayland');
37
- }
38
- /**
39
- * Archlinux: packages
40
- * Create array packages to install/remove
41
- */
42
- static packages(remove = false, verbose = false) {
43
- const packages = ['']; // 'arch-install-scripts', 'e2fsprogs', 'erofs-utils', 'findutils', 'gzip', 'libarchive', 'libisoburn', 'mtools', 'openssl', 'rsync', 'sed', 'syslinux', 'squashfs-tools']
44
- const toInstall = [];
45
- const toRemove = [];
46
- for (const elem of packages) {
47
- if (!this.packageIsInstalled(elem)) {
48
- toInstall.push(elem);
49
- }
50
- else {
51
- toRemove.push(elem);
52
- }
53
- }
54
- if (remove) {
55
- return toRemove;
56
- }
57
- return toInstall;
58
- }
59
- /**
60
- * Archlinux: prerequisitesInstall
61
- */
62
- static async prerequisitesInstall(verbose = true) {
63
- const echo = utils_1.default.setEcho(verbose);
64
- const retVal = false;
65
- await (0, utils_2.exec)(`pacman -Sy ${(0, dependencies_1.array2spaced)(this.packages(false, verbose))}`, echo);
66
- if (!pacman_1.default.isInstalledGui()) {
67
- /**
68
- * live-config-getty-generator
69
- *
70
- * Viene rimosso in naked, altrimenti non funziona il login
71
- * generando un errore getty.
72
- * Sarebbe utile individuarne le ragioni, forse rompe anche sul desktop
73
- * non permettendo di cambiare terminale e loggarsi
74
- *
75
- * A che serve?
76
- */
77
- const fileToRemove = '/lib/systemd/system-generators/live-config-getty-generator';
78
- if (node_fs_1.default.existsSync(fileToRemove)) {
79
- await (0, utils_2.exec)(`rm ${fileToRemove}`);
80
- }
81
- }
82
- return retVal;
83
- }
84
18
  /**
85
19
  * Archlinux: calamaresInstall
86
20
  */
87
21
  static async calamaresInstall(verbose = false) {
88
22
  verbose = true; // serve per pacman
89
- const echo = utils_1.default.setEcho(verbose);
23
+ const echo = Utils.setEcho(verbose);
90
24
  // const cal_eggs = 'arco-calamares-3.3.2-02-x86_64.pkg.tar.zst' // 2024-02-10
91
- //const cal_eggs = 'arco-calamares-3.3.5-02-x86_64.pkg.tar.zst' // 2024-03-10
92
- //const cal_eggs = 'calamares-garuda-3.3.5.r19.g10acebff4-1-x86_64.pkg.tar.zst' // 2024-03-10
25
+ // const cal_eggs = 'arco-calamares-3.3.5-02-x86_64.pkg.tar.zst' // 2024-03-10
26
+ // const cal_eggs = 'calamares-garuda-3.3.5.r19.g10acebff4-1-x86_64.pkg.tar.zst' // 2024-03-10
93
27
  const cal_eggs = 'arco-calamares-3.3.6-06-x86_64.pkg.tar.zst'; // 24/04/27
94
28
  let cmd = `wget -O /tmp/${cal_eggs} https://sourceforge.net/projects/penguins-eggs/files/PKGBUILD/${cal_eggs}/download`;
95
29
  try {
96
- await (0, utils_2.exec)(cmd, echo);
30
+ await exec(cmd, echo);
97
31
  cmd = `pacman -U /tmp/${cal_eggs}`;
98
32
  try {
99
- await (0, utils_2.exec)(cmd, echo);
33
+ await exec(cmd, echo);
100
34
  }
101
35
  catch {
102
- utils_1.default.error(`Cannot install /tmp/${cal_eggs}`); // + e.error)
36
+ Utils.error(`Cannot install /tmp/${cal_eggs}`); // + e.error)
103
37
  }
104
38
  }
105
39
  catch {
106
- utils_1.default.error(`Cannot download ${cal_eggs}`); // + e.error)
40
+ Utils.error(`Cannot download ${cal_eggs}`); // + e.error)
107
41
  }
108
42
  }
109
43
  /**
@@ -111,7 +45,7 @@ class Archlinux {
111
45
  */
112
46
  static async calamaresPolicies() {
113
47
  const policyFile = '/usr/share/polkit-1/actions/com.github.calamares.calamares.policy';
114
- await (0, utils_2.exec)(`sed -i 's/auth_admin/yes/' ${policyFile}`);
48
+ await exec(`sed -i 's/auth_admin/yes/' ${policyFile}`);
115
49
  }
116
50
  /**
117
51
  * Archlinux: calamaresRemove
@@ -119,38 +53,36 @@ class Archlinux {
119
53
  static async calamaresRemove(verbose = true) {
120
54
  verbose = true; // serve per pacman
121
55
  let removed = false;
122
- const echo = utils_1.default.setEcho(verbose);
123
- let calPKGs = [
56
+ const echo = Utils.setEcho(verbose);
57
+ const calPKGs = [
124
58
  'arco-calamares',
125
59
  'calamares',
126
60
  'calamares-garuda',
127
61
  ];
128
62
  for (const calPKG of calPKGs) {
129
63
  if (await this.packagePacmanAvailable(calPKG)) {
130
- await (0, utils_2.exec)(`pacman -R ${calPKG}`, echo);
64
+ await exec(`pacman -R ${calPKG}`, echo);
131
65
  removed = true;
132
66
  }
133
67
  }
134
- if (removed) {
135
- if (node_fs_1.default.existsSync('/etc/calamares')) {
136
- await (0, utils_2.exec)('rm /etc/calamares -rf', echo);
137
- }
68
+ if (removed && fs.existsSync('/etc/calamares')) {
69
+ await exec('rm /etc/calamares -rf', echo);
138
70
  }
139
71
  return removed;
140
72
  }
141
73
  /**
142
- * Archlinux: packageIsInstalled
143
- * restuisce VERO se il pacchetto è installato
144
- * @param packageName
74
+ * Archlinux: isInstalledWayland
75
+ * @returns true if wayland is installed
145
76
  */
146
- static packageIsInstalled(packageName) {
147
- let installed = false;
148
- const cmd = `/usr/bin/pacman -Qi ${packageName}`;
149
- const stdout = shelljs_1.default.exec(cmd, { silent: true }).stdout.trim();
150
- if (stdout.includes(packageName)) {
151
- installed = true;
152
- }
153
- return installed;
77
+ static isInstalledWayland() {
78
+ return this.packageIsInstalled('xwayland');
79
+ }
80
+ /**
81
+ * Archlinux: isInstalledXorg
82
+ * @returns true if xorg is installed
83
+ */
84
+ static isInstalledXorg() {
85
+ return this.packageIsInstalled('xorg-server-common');
154
86
  }
155
87
  /**
156
88
  * Archlinux: packageInstall
@@ -160,11 +92,25 @@ class Archlinux {
160
92
  */
161
93
  static async packageInstall(packageName) {
162
94
  let retVal = false;
163
- if (shelljs_1.default.exec(`/usr/bin/pacman -Si ${packageName}`, { silent: true }) === '0') {
95
+ if (shx.exec(`/usr/bin/pacman -Si ${packageName}`, { silent: true }) === '0') {
164
96
  retVal = true;
165
97
  }
166
98
  return retVal;
167
99
  }
100
+ /**
101
+ * Archlinux: packageIsInstalled
102
+ * restuisce VERO se il pacchetto è installato
103
+ * @param packageName
104
+ */
105
+ static packageIsInstalled(packageName) {
106
+ let installed = false;
107
+ const cmd = `/usr/bin/pacman -Qi ${packageName}`;
108
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
109
+ if (stdout.includes(packageName)) {
110
+ installed = true;
111
+ }
112
+ return installed;
113
+ }
168
114
  /**
169
115
  * Archlinux: packagePacmanAvailable
170
116
  * restuisce VERO se il pacchetto è installato
@@ -173,7 +119,7 @@ class Archlinux {
173
119
  static async packagePacmanAvailable(packageName) {
174
120
  let available = false;
175
121
  const cmd = `/usr/bin/pacman -Q ${packageName} | awk '{ print $1 }'`;
176
- const stdout = shelljs_1.default.exec(cmd, { silent: true }).stdout.trim();
122
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
177
123
  if (stdout == packageName) {
178
124
  available = true;
179
125
  }
@@ -187,7 +133,7 @@ class Archlinux {
187
133
  static async packagePacmanLast(packageName) {
188
134
  let version = '';
189
135
  const cmd = `/usr/bin/pacman -Q ${packageName} | grep Version:`;
190
- const stdout = shelljs_1.default.exec(cmd, { silent: true }).stdout.trim();
136
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
191
137
  version = stdout.slice(9);
192
138
  // console.log('===================================')
193
139
  // console.log('[' + version + ']')
@@ -195,4 +141,3 @@ class Archlinux {
195
141
  return version;
196
142
  }
197
143
  }
198
- exports.default = Archlinux;
@@ -0,0 +1,65 @@
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
+ /**
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(): 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
+ }
@@ -1,128 +1,37 @@
1
- "use strict";
2
1
  /**
3
- * penguins-eggs
4
- * classes/families: debian.ts
5
- * author: Piero Proietti
6
- * email: piero.proietti@gmail.com
7
- * license: MIT
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- const tslib_1 = require("tslib");
11
- const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
12
- const shelljs_1 = tslib_1.__importDefault(require("shelljs"));
13
- const utils_1 = tslib_1.__importDefault(require("../utils"));
14
- const pacman_1 = tslib_1.__importDefault(require("../pacman"));
15
- const utils_2 = require("../../lib/utils");
16
- const dependencies_1 = require("../../lib/dependencies");
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';
17
12
  /**
18
13
  * Debian
19
14
  * @remarks all the utilities
20
15
  */
21
- class Debian {
16
+ export default class Debian {
22
17
  static debs4calamares = ['calamares', 'qml-module-qtquick2', 'qml-module-qtquick-controls'];
23
- /**
24
- * Debian: isInstalledXorg
25
- * @returns true if xorg is installed
26
- */
27
- static isInstalledXorg() {
28
- return this.packageIsInstalled('xserver-xorg-core');
29
- }
30
- /**
31
- * Debian: isInstalledWayland
32
- * @returns true if wayland is installed
33
- */
34
- static isInstalledWayland() {
35
- return this.packageIsInstalled('xwayland');
36
- }
37
- /**
38
- * Debian: packages
39
- * Create array packages to install/remove
40
- */
41
- static packages(remove = false, verbose = false) {
42
- let packages = [];
43
- const toInstall = [];
44
- const toRemove = [];
45
- for (const elem of dependencies_1.depCommon) {
46
- if (!this.packageIsInstalled(elem)) {
47
- toInstall.push(elem);
48
- }
49
- else {
50
- toRemove.push(elem);
51
- }
52
- }
53
- const arch = utils_1.default.uefiArch();
54
- for (const dep of dependencies_1.depArch) {
55
- if (dep.arch.includes(arch)) {
56
- if (!this.packageIsInstalled(dep.package)) {
57
- toInstall.push(dep.package);
58
- }
59
- else {
60
- toRemove.push(dep.package);
61
- }
62
- }
63
- }
64
- /**
65
- * depending on init/systemd
66
- */
67
- const initType = shelljs_1.default.exec('ps --no-headers -o comm 1', { silent: !verbose }).trim();
68
- for (const dep of dependencies_1.depInit) {
69
- if (dep.init.includes(initType)) {
70
- if (!this.packageIsInstalled(dep.package)) {
71
- toInstall.push(dep.package);
72
- }
73
- else {
74
- toRemove.push(dep.package);
75
- }
76
- }
77
- }
78
- packages = toInstall;
79
- if (remove) {
80
- packages = toRemove;
81
- }
82
- return packages;
83
- }
84
- /**
85
- * Debian: prerequisitesInstall
86
- * install prerequisites
87
- */
88
- static async prerequisitesInstall(verbose = true) {
89
- const echo = utils_1.default.setEcho(verbose);
90
- const retVal = false;
91
- await (0, utils_2.exec)(`apt-get install --yes ${(0, dependencies_1.array2spaced)(this.packages(false, verbose))}`, echo);
92
- if (!pacman_1.default.isInstalledGui()) {
93
- /**
94
- * live-config-getty-generator
95
- *
96
- * Viene rimosso in naked, altrimenti non funziona il login
97
- * generando un errore getty.
98
- * Sarebbe utile individuarne le ragioni, forse rompe anche sul desktop
99
- * non permettendo di cambiare terminale e loggarsi
100
- *
101
- * A che serve?
102
- */
103
- const fileToRemove = '/lib/systemd/system-generators/live-config-getty-generator';
104
- if (node_fs_1.default.existsSync(fileToRemove)) {
105
- await (0, utils_2.exec)(`rm ${fileToRemove}`);
106
- }
107
- }
108
- return retVal;
109
- }
110
18
  /**
111
19
  * Debian: calamaresInstall
112
20
  */
113
21
  static async calamaresInstall(verbose = true) {
114
- const echo = utils_1.default.setEcho(verbose);
22
+ const echo = Utils.setEcho(verbose);
115
23
  try {
116
- await (0, utils_2.exec)('apt-get update --yes', echo);
24
+ await exec('apt-get update --yes', echo);
117
25
  }
118
26
  catch {
119
- utils_1.default.error('Debian.calamaresInstall() apt-get update --yes '); // + e.error as string)
27
+ Utils.error('Debian.calamaresInstall() apt-get update --yes '); // + e.error as string)
120
28
  }
121
29
  try {
122
- await (0, utils_2.exec)(`apt-get install --yes ${(0, dependencies_1.array2spaced)(this.debs4calamares)}`, echo);
30
+ // await exec(`apt-get install --yes ${array2spaced(this.debs4calamares)}`, echo)
31
+ await exec(`apt-get install --yes ${this.debs4calamares.join(' ')}`, echo);
123
32
  }
124
33
  catch {
125
- utils_1.default.error(`Debian.calamaresInstall() apt-get install --yes ${(0, dependencies_1.array2spaced)(this.debs4calamares)}`); // + e.error)
34
+ Utils.error(`Debian.calamaresInstall() apt-get install --yes ${array2spaced(this.debs4calamares)}`); // + e.error)
126
35
  }
127
36
  }
128
37
  /**
@@ -130,54 +39,42 @@ class Debian {
130
39
  */
131
40
  static async calamaresPolicies() {
132
41
  const policyFile = '/usr/share/polkit-1/actions/com.github.calamares.calamares.policy';
133
- await (0, utils_2.exec)(`sed -i 's/auth_admin/yes/' ${policyFile}`);
42
+ await exec(`sed -i 's/auth_admin/yes/' ${policyFile}`);
134
43
  }
135
44
  /**
136
45
  * Debian: calamaresRemove
137
46
  */
138
47
  static async calamaresRemove(verbose = true) {
139
- const echo = utils_1.default.setEcho(verbose);
48
+ const echo = Utils.setEcho(verbose);
140
49
  const retVal = false;
141
- if (node_fs_1.default.existsSync('/etc/calamares')) {
142
- await (0, utils_2.exec)('rm /etc/calamares -rf', echo);
50
+ if (fs.existsSync('/etc/calamares')) {
51
+ await exec('rm /etc/calamares -rf', echo);
143
52
  }
144
- await (0, utils_2.exec)('apt-get remove --purge --yes calamares', echo);
145
- await (0, utils_2.exec)('apt-get autoremove --yes', echo);
53
+ await exec('apt-get remove --purge --yes calamares', echo);
54
+ await exec('apt-get autoremove --yes', echo);
146
55
  return retVal;
147
56
  }
148
57
  /**
149
- * Debian: liveInstallerPolicies
150
- * liveInstallerPolicies is NOT USED
58
+ * Debian: isInstalledWayland
59
+ * @returns true if wayland is installed
151
60
  */
152
- static async liveInstallerPolicies() {
153
- const policyFile = '/usr/share/polkit-1/actions/com.github.pieroproietti.penguins-eggs.policy';
154
- await (0, utils_2.exec)(`sed -i 's/auth_admin/yes/' ${policyFile}`);
61
+ static isInstalledWayland() {
62
+ return this.packageIsInstalled('xwayland');
155
63
  }
156
64
  /**
157
- * Debian: packageIsInstalled
158
- * restuisce VERO se il pacchetto è installato
159
- * @param debPackage
65
+ * Debian: isInstalledXorg
66
+ * @returns true if xorg is installed
160
67
  */
161
- static packageIsInstalled(debPackage) {
162
- let installed = false;
163
- const cmd = `/usr/bin/dpkg -s ${debPackage} | grep Status:`;
164
- const stdout = shelljs_1.default.exec(cmd, { silent: true }).stdout.trim();
165
- if (stdout === 'Status: install ok installed') {
166
- installed = true;
167
- }
168
- return installed;
68
+ static isInstalledXorg() {
69
+ return this.packageIsInstalled('xserver-xorg-core');
169
70
  }
170
71
  /**
171
- * Debian: packageInstall
172
- * @param packageName {string} Pacchetto Debian da installare
173
- * @returns {boolean} True if success
72
+ * Debian: liveInstallerPolicies
73
+ * liveInstallerPolicies is NOT USED
174
74
  */
175
- static async packageInstall(packageName) {
176
- let retVal = false;
177
- if (shelljs_1.default.exec(`/usr/bin/apt-get install -y ${packageName}`, { silent: true }) === '0') {
178
- retVal = true;
179
- }
180
- return retVal;
75
+ static async liveInstallerPolicies() {
76
+ const policyFile = '/usr/share/polkit-1/actions/com.github.pieroproietti.penguins-eggs.policy';
77
+ await exec(`sed -i 's/auth_admin/yes/' ${policyFile}`);
181
78
  }
182
79
  /**
183
80
  * Debian: packageAptAvailable
@@ -188,7 +85,7 @@ class Debian {
188
85
  let available = false;
189
86
  const cmd = `apt-cache show ${packageName} | grep Package:`;
190
87
  const test = `Package: ${packageName}`;
191
- const stdout = shelljs_1.default.exec(cmd, { silent: true }).stdout.trim();
88
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
192
89
  if (stdout === test) {
193
90
  available = true;
194
91
  }
@@ -202,12 +99,40 @@ class Debian {
202
99
  static async packageAptLast(debPackage) {
203
100
  let version = '';
204
101
  const cmd = `apt-cache show ${debPackage} | grep Version:`;
205
- const stdout = shelljs_1.default.exec(cmd, { silent: true }).stdout.trim();
102
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
206
103
  version = stdout.slice(9);
207
104
  // console.log('===================================')
208
105
  // console.log('[' + version + ']')
209
106
  // console.log('===================================')
210
107
  return version;
211
108
  }
109
+ /**
110
+ * Debian: packageInstall
111
+ * @param packageName {string} Pacchetto Debian da installare
112
+ * @returns {boolean} True if success
113
+ */
114
+ static async packageInstall(packageName) {
115
+ let retVal = false;
116
+ if (shx.exec(`/usr/bin/apt-get install -y ${packageName}`, { silent: true }) === '0') {
117
+ retVal = true;
118
+ }
119
+ return retVal;
120
+ }
121
+ /**
122
+ * Debian: packageIsInstalled
123
+ * restuisce VERO se il pacchetto è installato
124
+ * @param debPackage
125
+ */
126
+ static packageIsInstalled(debPackage) {
127
+ let installed = false;
128
+ const cmd = `/usr/bin/dpkg -s ${debPackage} | grep Status:`;
129
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
130
+ if (stdout === 'Status: install ok installed') {
131
+ installed = true;
132
+ }
133
+ return installed;
134
+ }
135
+ }
136
+ function array2spaced(oArray) {
137
+ return oArray.join(' ');
212
138
  }
213
- exports.default = Debian;