penguins-eggs 9.6.34 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. package/.oclif.manifest.json +1458 -1
  2. package/README.md +823 -8
  3. package/addons/eggs/theme/livecd/grub.main.cfg +4 -4
  4. package/addons/eggs/theme/livecd/isolinux.main.cfg +5 -5
  5. package/bin/dev.cmd +1 -1
  6. package/bin/dev.js +6 -0
  7. package/bin/run.js +5 -0
  8. package/conf/derivatives.yaml +2 -0
  9. package/conf/distros/buster/calamares/calamares-modules/bootloader-config/bootloader-config.sh +3 -3
  10. package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +1 -1
  11. package/conf/distros/buster/calamares/modules/fstab.yml +1 -1
  12. package/conf/distros/focal/calamares/modules/fstab.yml +1 -1
  13. package/conf/{exclude.list.homes → exclude.list.d/home.list} +6 -1
  14. package/conf/{exclude.list.template → exclude.list.d/master.list} +15 -24
  15. package/conf/exclude.list.d/var.list +21 -0
  16. package/conf/tools.yaml +1 -3
  17. package/dist/classes/bleach.d.ts +37 -0
  18. package/dist/classes/bleach.js +43 -91
  19. package/dist/classes/cfs.d.ts +17 -0
  20. package/dist/classes/cfs.js +15 -12
  21. package/dist/classes/compressors.d.ts +53 -0
  22. package/dist/classes/compressors.js +51 -58
  23. package/dist/classes/daddy.d.ts +18 -0
  24. package/dist/classes/daddy.js +93 -101
  25. package/dist/classes/distro.d.ts +26 -0
  26. package/dist/classes/distro.js +45 -27
  27. package/dist/classes/families/archlinux.d.ts +61 -0
  28. package/dist/classes/families/archlinux.js +56 -113
  29. package/dist/classes/families/debian.d.ts +65 -0
  30. package/dist/classes/families/debian.js +68 -143
  31. package/dist/classes/families/fedora.d.ts +52 -0
  32. package/dist/classes/families/fedora.js +43 -99
  33. package/dist/classes/families/mockup.d.ts +60 -0
  34. package/dist/classes/families/mockup.js +27 -46
  35. package/dist/classes/families/suse.d.ts +52 -0
  36. package/dist/classes/families/suse.js +45 -97
  37. package/dist/classes/incubation/branding.d.ts +17 -0
  38. package/dist/classes/incubation/branding.js +33 -32
  39. package/dist/classes/incubation/distros/bionic.d.ts +32 -0
  40. package/dist/classes/incubation/distros/bionic.js +15 -15
  41. package/dist/classes/incubation/distros/buster.d.ts +32 -0
  42. package/dist/classes/incubation/distros/buster.js +15 -15
  43. package/dist/classes/incubation/distros/focal.d.ts +32 -0
  44. package/dist/classes/incubation/distros/focal.js +15 -15
  45. package/dist/classes/incubation/distros/jessie.d.ts +31 -0
  46. package/dist/classes/incubation/distros/jessie.js +11 -13
  47. package/dist/classes/incubation/distros/rolling.d.ts +32 -0
  48. package/dist/classes/incubation/distros/rolling.js +15 -16
  49. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +11 -0
  50. package/dist/classes/incubation/fisherman-helper/displaymanager.js +8 -9
  51. package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
  52. package/dist/classes/incubation/fisherman-helper/packages.js +17 -17
  53. package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
  54. package/dist/classes/incubation/fisherman-helper/settings.js +30 -28
  55. package/dist/classes/incubation/fisherman.d.ts +77 -0
  56. package/dist/classes/incubation/fisherman.js +137 -132
  57. package/dist/classes/incubation/incubator.d.ts +40 -0
  58. package/dist/classes/incubation/incubator.js +93 -87
  59. package/dist/classes/incubation/installer.d.ts +13 -0
  60. package/dist/classes/incubation/installer.js +27 -12
  61. package/dist/classes/initrd.d.ts +41 -0
  62. package/dist/classes/initrd.js +42 -44
  63. package/dist/classes/keyboards.d.ts +50 -0
  64. package/dist/classes/keyboards.js +110 -107
  65. package/dist/classes/locales.d.ts +21 -0
  66. package/dist/classes/locales.js +30 -34
  67. package/dist/classes/n8.d.ts +17 -0
  68. package/dist/classes/n8.js +16 -22
  69. package/dist/classes/network.d.ts +37 -0
  70. package/dist/classes/network.js +21 -25
  71. package/dist/classes/ovary.d.ts +205 -0
  72. package/dist/classes/ovary.js +1262 -1334
  73. package/dist/classes/pacman.d.ts +149 -0
  74. package/dist/classes/pacman.js +347 -426
  75. package/dist/classes/pve-live.d.ts +17 -0
  76. package/dist/classes/pve-live.js +23 -25
  77. package/dist/classes/pxe.d.ts +65 -0
  78. package/dist/classes/pxe.js +206 -210
  79. package/dist/classes/settings.d.ts +53 -0
  80. package/dist/classes/settings.js +99 -102
  81. package/dist/classes/sources_list.d.ts +28 -0
  82. package/dist/classes/sources_list.js +35 -39
  83. package/dist/classes/systemctl.d.ts +47 -0
  84. package/dist/classes/systemctl.js +35 -39
  85. package/dist/classes/tailor.d.ts +46 -0
  86. package/dist/classes/tailor.js +225 -241
  87. package/dist/classes/tools.d.ts +30 -0
  88. package/dist/classes/tools.js +20 -26
  89. package/dist/classes/users.d.ts +28 -0
  90. package/dist/classes/users.js +22 -16
  91. package/dist/classes/utils.d.ts +318 -0
  92. package/dist/classes/utils.js +91 -76
  93. package/dist/classes/xdg.d.ts +45 -0
  94. package/dist/classes/xdg.js +129 -133
  95. package/dist/classes/yolk.d.ts +33 -0
  96. package/dist/classes/yolk.js +54 -60
  97. package/dist/commands/adapt.d.ts +17 -0
  98. package/dist/commands/adapt.js +21 -25
  99. package/dist/commands/analyze.d.ts +26 -0
  100. package/dist/commands/analyze.js +60 -74
  101. package/dist/commands/calamares.d.ts +29 -0
  102. package/dist/commands/calamares.js +53 -60
  103. package/dist/commands/config.d.ts +36 -0
  104. package/dist/commands/config.js +120 -142
  105. package/dist/commands/cuckoo.d.ts +16 -0
  106. package/dist/commands/cuckoo.js +24 -28
  107. package/dist/commands/dad.d.ts +19 -0
  108. package/dist/commands/dad.js +26 -30
  109. package/dist/commands/export/deb.d.ts +19 -0
  110. package/dist/commands/export/deb.js +33 -42
  111. package/dist/commands/export/iso.d.ts +19 -0
  112. package/dist/commands/export/iso.js +24 -28
  113. package/dist/commands/install.d.ts +37 -0
  114. package/dist/commands/install.js +68 -68
  115. package/dist/commands/kill.d.ts +24 -0
  116. package/dist/commands/kill.js +31 -38
  117. package/dist/commands/mom.d.ts +16 -0
  118. package/dist/commands/mom.js +20 -22
  119. package/dist/commands/produce.d.ts +33 -0
  120. package/dist/commands/produce.js +100 -92
  121. package/dist/commands/status.d.ts +23 -0
  122. package/dist/commands/status.js +14 -20
  123. package/dist/commands/syncfrom.d.ts +45 -0
  124. package/dist/commands/syncfrom.js +99 -109
  125. package/dist/commands/syncto.d.ts +40 -0
  126. package/dist/commands/syncto.js +152 -216
  127. package/dist/commands/tools/clean.d.ts +18 -0
  128. package/dist/commands/tools/clean.js +21 -25
  129. package/dist/commands/tools/ppa.d.ts +26 -0
  130. package/dist/commands/tools/ppa.js +46 -50
  131. package/dist/commands/tools/skel.d.ts +18 -0
  132. package/dist/commands/tools/skel.js +27 -31
  133. package/dist/commands/tools/stat.d.ts +31 -0
  134. package/dist/commands/tools/stat.js +21 -25
  135. package/dist/commands/tools/yolk.d.ts +24 -0
  136. package/dist/commands/tools/yolk.js +23 -27
  137. package/dist/commands/update.d.ts +47 -0
  138. package/dist/commands/update.js +66 -70
  139. package/dist/commands/wardrobe/get.d.ts +23 -0
  140. package/dist/commands/wardrobe/get.js +26 -28
  141. package/dist/commands/wardrobe/list.d.ts +24 -0
  142. package/dist/commands/wardrobe/list.js +69 -67
  143. package/dist/commands/wardrobe/show.d.ts +25 -0
  144. package/dist/commands/wardrobe/show.js +57 -52
  145. package/dist/commands/wardrobe/wear.d.ts +26 -0
  146. package/dist/commands/wardrobe/wear.js +39 -41
  147. package/dist/components/finished.d.ts +15 -0
  148. package/dist/components/finished.js +37 -42
  149. package/dist/components/information.d.ts +8 -0
  150. package/dist/components/information.js +155 -0
  151. package/dist/components/install.d.ts +15 -0
  152. package/dist/components/install.js +31 -35
  153. package/dist/components/keyboard.d.ts +16 -0
  154. package/dist/components/keyboard.js +37 -40
  155. package/dist/components/location.d.ts +16 -0
  156. package/dist/components/location.js +38 -38
  157. package/dist/components/network.d.ts +19 -0
  158. package/dist/components/network.js +47 -48
  159. package/dist/components/partitions.d.ts +16 -0
  160. package/dist/components/partitions.js +47 -51
  161. package/dist/components/steps.d.ts +13 -0
  162. package/dist/components/steps.js +148 -0
  163. package/dist/components/summary.d.ts +24 -0
  164. package/dist/components/summary.js +53 -54
  165. package/dist/components/title.d.ts +12 -0
  166. package/dist/components/title.js +35 -0
  167. package/dist/components/users.d.ts +24 -0
  168. package/dist/components/users.js +43 -43
  169. package/dist/components/welcome.d.ts +13 -0
  170. package/dist/components/welcome.js +37 -38
  171. package/dist/index.d.ts +8 -0
  172. package/dist/index.js +8 -5
  173. package/dist/interfaces/i-addons.d.ts +13 -0
  174. package/dist/interfaces/i-addons.js +8 -3
  175. package/dist/interfaces/i-analyze.d.ts +17 -0
  176. package/dist/interfaces/i-analyze.js +11 -16
  177. package/dist/interfaces/i-app.d.ts +14 -0
  178. package/dist/interfaces/i-app.js +8 -2
  179. package/dist/interfaces/i-branding.d.ts +36 -0
  180. package/dist/interfaces/i-branding.js +8 -2
  181. package/dist/interfaces/i-calamares-partition.d.ts +18 -0
  182. package/dist/interfaces/i-calamares-partition.js +3 -4
  183. package/dist/interfaces/i-config-tools.d.ts +18 -0
  184. package/dist/interfaces/i-config-tools.js +8 -2
  185. package/dist/interfaces/i-devices.d.ts +20 -0
  186. package/dist/interfaces/i-devices.js +8 -2
  187. package/dist/interfaces/i-distro.d.ts +27 -0
  188. package/dist/interfaces/i-distro.js +3 -4
  189. package/dist/interfaces/i-drive-list.d.ts +33 -0
  190. package/dist/interfaces/i-drive-list.js +3 -4
  191. package/dist/interfaces/i-eggs-config.d.ts +32 -0
  192. package/dist/interfaces/i-eggs-config.js +3 -4
  193. package/dist/interfaces/i-excludes.d.ts +14 -0
  194. package/dist/interfaces/i-excludes.js +8 -0
  195. package/dist/interfaces/i-exec.d.ts +11 -0
  196. package/dist/interfaces/i-exec.js +3 -4
  197. package/dist/interfaces/i-initrd.d.ts +13 -0
  198. package/dist/interfaces/i-initrd.js +8 -2
  199. package/dist/interfaces/i-install.d.ts +16 -0
  200. package/dist/interfaces/i-install.js +8 -2
  201. package/dist/interfaces/i-installer.d.ts +17 -0
  202. package/dist/interfaces/i-installer.js +8 -2
  203. package/dist/interfaces/i-krill-config.d.ts +33 -0
  204. package/dist/interfaces/i-krill-config.js +3 -4
  205. package/dist/interfaces/i-krill.d.ts +42 -0
  206. package/dist/interfaces/i-krill.js +8 -2
  207. package/dist/interfaces/i-materia.d.ts +41 -0
  208. package/dist/interfaces/i-materia.js +8 -2
  209. package/dist/interfaces/i-net.d.ts +16 -0
  210. package/dist/interfaces/i-net.js +8 -2
  211. package/dist/interfaces/i-packages.d.ts +29 -0
  212. package/dist/interfaces/i-packages.js +3 -4
  213. package/dist/interfaces/i-partitions.d.ts +16 -0
  214. package/dist/interfaces/i-partitions.js +8 -2
  215. package/dist/interfaces/i-pxe.d.ts +21 -0
  216. package/dist/interfaces/i-pxe.js +8 -39
  217. package/dist/interfaces/i-remix.d.ts +21 -0
  218. package/dist/interfaces/i-remix.js +3 -4
  219. package/dist/interfaces/i-settings.d.ts +39 -0
  220. package/dist/interfaces/i-settings.js +8 -2
  221. package/dist/interfaces/i-user.d.ts +14 -0
  222. package/dist/interfaces/i-user.js +8 -2
  223. package/dist/interfaces/i-workdir.d.ts +14 -0
  224. package/dist/interfaces/i-workdir.js +8 -2
  225. package/dist/interfaces/i-xkb-model.d.ts +24 -0
  226. package/dist/interfaces/i-xkb-model.js +8 -2
  227. package/dist/interfaces/index.d.ts +25 -0
  228. package/dist/interfaces/index.js +3 -4
  229. package/dist/krill/modules/add-user.d.ts +20 -0
  230. package/dist/krill/modules/add-user.js +11 -15
  231. package/dist/krill/modules/bootloader-config-arch.d.ts +14 -0
  232. package/dist/krill/modules/bootloader-config-arch.js +15 -11
  233. package/dist/krill/modules/bootloader-config-debian.d.ts +10 -0
  234. package/dist/krill/modules/bootloader-config-debian.js +20 -16
  235. package/dist/krill/modules/bootloader-config.d.ts +10 -0
  236. package/dist/krill/modules/bootloader-config.js +3 -6
  237. package/dist/krill/modules/bootloader.d.ts +14 -0
  238. package/dist/krill/modules/bootloader.js +9 -13
  239. package/dist/krill/modules/change-password.d.ts +15 -0
  240. package/dist/krill/modules/change-password.js +5 -8
  241. package/dist/krill/modules/del-live-user.d.ts +14 -0
  242. package/dist/krill/modules/del-live-user.js +8 -12
  243. package/dist/krill/modules/fstab.d.ts +14 -0
  244. package/dist/krill/modules/fstab.js +69 -46
  245. package/dist/krill/modules/grubcfg.d.ts +17 -0
  246. package/dist/krill/modules/grubcfg.js +8 -17
  247. package/dist/krill/modules/hostname.d.ts +13 -0
  248. package/dist/krill/modules/hostname.js +11 -17
  249. package/dist/krill/modules/initramfs-cfg.d.ts +14 -0
  250. package/dist/krill/modules/initramfs-cfg.js +6 -15
  251. package/dist/krill/modules/initramfs.d.ts +13 -0
  252. package/dist/krill/modules/initramfs.js +17 -19
  253. package/dist/krill/modules/locale-cfg.d.ts +10 -0
  254. package/dist/krill/modules/locale-cfg.js +8 -12
  255. package/dist/krill/modules/locale.d.ts +13 -0
  256. package/dist/krill/modules/locale.js +7 -11
  257. package/dist/krill/modules/m-keyboard.d.ts +14 -0
  258. package/dist/krill/modules/m-keyboard.js +14 -18
  259. package/dist/krill/modules/m-timezone.d.ts +14 -0
  260. package/dist/krill/modules/m-timezone.js +8 -12
  261. package/dist/krill/modules/machine-id.d.ts +15 -0
  262. package/dist/krill/modules/machine-id.js +6 -10
  263. package/dist/krill/modules/mkfs.d.ts +13 -0
  264. package/dist/krill/modules/mkfs.js +33 -23
  265. package/dist/krill/modules/mount-fs.d.ts +17 -0
  266. package/dist/krill/modules/mount-fs.js +20 -26
  267. package/dist/krill/modules/mount-vfs.d.ts +17 -0
  268. package/dist/krill/modules/mount-vfs.js +16 -21
  269. package/dist/krill/modules/network-cfg.d.ts +19 -0
  270. package/dist/krill/modules/network-cfg.js +28 -31
  271. package/dist/krill/modules/packages.d.ts +14 -0
  272. package/dist/krill/modules/packages.js +17 -21
  273. package/dist/krill/modules/partition.d.ts +20 -0
  274. package/dist/krill/modules/partition.js +80 -86
  275. package/dist/krill/modules/remove-installer-link.d.ts +13 -0
  276. package/dist/krill/modules/remove-installer-link.js +7 -11
  277. package/dist/krill/modules/umount.d.ts +14 -0
  278. package/dist/krill/modules/umount.js +9 -13
  279. package/dist/krill/modules/unpackfs.d.ts +13 -0
  280. package/dist/krill/modules/unpackfs.js +7 -11
  281. package/dist/krill/prepare.d.ts +77 -0
  282. package/dist/krill/{krill-prepare.js → prepare.js} +136 -130
  283. package/dist/krill/sequence.d.ts +156 -0
  284. package/dist/krill/sequence.js +640 -0
  285. package/dist/lib/cli-autologin.d.ts +43 -0
  286. package/dist/lib/cli-autologin.js +88 -92
  287. package/dist/lib/get_address.d.ts +8 -0
  288. package/dist/lib/get_address.js +9 -11
  289. package/dist/lib/get_dns.d.ts +8 -0
  290. package/dist/lib/get_dns.js +9 -11
  291. package/dist/lib/get_domain.d.ts +8 -0
  292. package/dist/lib/get_domain.js +9 -11
  293. package/dist/lib/get_gateway.d.ts +8 -0
  294. package/dist/lib/get_gateway.js +9 -11
  295. package/dist/lib/get_hostname.d.ts +8 -0
  296. package/dist/lib/get_hostname.js +9 -11
  297. package/dist/lib/get_netmask.d.ts +8 -0
  298. package/dist/lib/get_netmask.js +9 -11
  299. package/dist/lib/get_password.d.ts +8 -0
  300. package/dist/lib/get_password.js +10 -13
  301. package/dist/lib/get_userfullname.d.ts +8 -0
  302. package/dist/lib/get_userfullname.js +9 -11
  303. package/dist/lib/get_username.d.ts +8 -0
  304. package/dist/lib/get_username.js +9 -12
  305. package/dist/lib/kill_me_softly.d.ts +11 -0
  306. package/dist/lib/kill_me_softly.js +19 -24
  307. package/dist/lib/select_address_type.d.ts +8 -0
  308. package/dist/lib/select_address_type.js +9 -12
  309. package/dist/lib/select_filesystem_type.d.ts +8 -0
  310. package/dist/lib/select_filesystem_type.js +19 -17
  311. package/dist/lib/select_installation_device.d.ts +8 -0
  312. package/dist/lib/select_installation_device.js +11 -15
  313. package/dist/lib/select_installation_mode.d.ts +8 -0
  314. package/dist/lib/select_installation_mode.js +9 -11
  315. package/dist/lib/select_interface.d.ts +8 -0
  316. package/dist/lib/select_interface.js +9 -12
  317. package/dist/lib/select_keyboard_layout.d.ts +11 -0
  318. package/dist/lib/select_keyboard_layout.js +11 -15
  319. package/dist/lib/select_keyboard_model.d.ts +11 -0
  320. package/dist/lib/select_keyboard_model.js +11 -15
  321. package/dist/lib/select_keyboard_option.d.ts +11 -0
  322. package/dist/lib/select_keyboard_option.js +11 -15
  323. package/dist/lib/select_keyboard_variant.d.ts +11 -0
  324. package/dist/lib/select_keyboard_variant.js +11 -15
  325. package/dist/lib/select_languages.d.ts +8 -0
  326. package/dist/lib/select_languages.js +11 -15
  327. package/dist/lib/select_regions.d.ts +8 -0
  328. package/dist/lib/select_regions.js +9 -11
  329. package/dist/lib/select_user_swap_choice.d.ts +8 -0
  330. package/dist/lib/select_user_swap_choice.js +13 -17
  331. package/dist/lib/select_zones.d.ts +8 -0
  332. package/dist/lib/select_zones.js +9 -11
  333. package/dist/lib/utils.d.ts +34 -0
  334. package/dist/lib/utils.js +24 -14
  335. package/manpages/doc/man/eggs.1.gz +0 -0
  336. package/manpages/doc/man/eggs.html +130 -76
  337. package/package.json +55 -74
  338. package/scripts/_eggs +9 -7
  339. package/scripts/eggs.bash +4 -4
  340. package/LICENSE +0 -339
  341. package/bin/dev +0 -17
  342. package/bin/run +0 -5
  343. package/conf/exclude.list.custom +0 -3
  344. package/dist/components/elements/information.js +0 -194
  345. package/dist/components/elements/steps.js +0 -152
  346. package/dist/components/elements/title.js +0 -36
  347. package/dist/interfaces/i-filters.js +0 -3
  348. package/dist/krill/krill-sequence.js +0 -645
  349. package/dist/lib/dependencies.js +0 -120
  350. package/manpages/doc/man/README.md +0 -0
  351. /package/conf/{exclude.list.usr → exclude.list.d/usr.list} +0 -0
@@ -1,94 +1,30 @@
1
- "use strict";
2
1
  /**
3
- * penguins-eggs
4
- * classes/families: fedora.ts
2
+ * ./src/classes/families/fedora.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
5
4
  * author: Piero Proietti
6
5
  * email: piero.proietti@gmail.com
7
6
  * license: MIT
8
7
  */
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 dependencies_1 = require("../../lib/dependencies");
16
- const utils_2 = require("../../lib/utils");
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
  * Utils: general porpourse utils
19
14
  * @remarks all the utilities
20
15
  */
21
- class Fedora {
22
- /**
23
- * check if it's installed xorg
24
- * @returns true if xorg is installed
25
- */
26
- static isInstalledXorg() {
27
- return this.packageIsInstalled('xorg-x11-server-Xorg.x86_64');
28
- }
29
- /**
30
- * check if it's installed wayland
31
- * @returns true if wayland
32
- */
33
- static isInstalledWayland() {
34
- return this.packageIsInstalled('xorg-x11-server-Xwayland*');
35
- }
36
- /**
37
- * Crea array pacchetti da installare/rimuovere
38
- */
39
- static packages(remove = false, verbose = false) {
40
- // Preso qualcosa da livecd-tools
41
- const packages = ['xorriso', 'xz-lzma-compat', 'syslinux', 'squashfs-tools'];
42
- const toInstall = [];
43
- const toRemove = [];
44
- for (const elem of packages) {
45
- if (!this.packageIsInstalled(elem)) {
46
- toInstall.push(elem);
47
- }
48
- else {
49
- toRemove.push(elem);
50
- }
51
- }
52
- if (remove) {
53
- return toRemove;
54
- }
55
- return toInstall;
56
- }
57
- /**
58
- *
59
- */
60
- static async prerequisitesInstall(verbose = true) {
61
- const echo = utils_1.default.setEcho(verbose);
62
- const retVal = false;
63
- await (0, utils_2.exec)(`dnf install ${(0, dependencies_1.array2spaced)(this.packages(false, verbose))}`, echo);
64
- if (!pacman_1.default.isInstalledGui()) {
65
- /**
66
- * live-config-getty-generator
67
- *
68
- * Viene rimosso in naked, altrimenti non funziona il login
69
- * generando un errore getty.
70
- * Sarebbe utile individuarne le ragioni, forse rompe anche sul desktop
71
- * non permettendo di cambiare terminale e loggarsi
72
- *
73
- * A che serve?
74
- */
75
- const fileToRemove = '/lib/systemd/system-generators/live-config-getty-generator';
76
- if (node_fs_1.default.existsSync(fileToRemove)) {
77
- await (0, utils_2.exec)(`rm ${fileToRemove}`);
78
- }
79
- }
80
- return retVal;
81
- }
16
+ export default class Fedora {
17
+ static packs4calamares = ['calamares'];
82
18
  /**
83
19
  *
84
20
  */
85
21
  static async calamaresInstall(verbose = true) {
86
- const echo = utils_1.default.setEcho(verbose);
22
+ const echo = Utils.setEcho(verbose);
87
23
  try {
88
- await (0, utils_2.exec)(`dnf install ${(0, dependencies_1.array2spaced)(this.packs4calamares)}`, echo);
24
+ await exec(`dnf install ${this.packs4calamares.join(' ')}`, echo);
89
25
  }
90
26
  catch {
91
- utils_1.default.error(`Fedora.calamaresInstall() pacman -Sy ${(0, dependencies_1.array2spaced)(this.packs4calamares)}`); // + e.error)
27
+ Utils.error(`Fedora.calamaresInstall() pacman -Sy ${this.packs4calamares.join(' ')}`); // + e.error)
92
28
  }
93
29
  }
94
30
  /**
@@ -96,37 +32,46 @@ class Fedora {
96
32
  */
97
33
  static async calamaresPolicies() {
98
34
  const policyFile = '/usr/share/polkit-1/actions/com.github.calamares.calamares.policy';
99
- /**
100
- * Su fedora occorre vedere come fare!
101
- */
102
- // await exec(`sed -i 's/auth_admin/yes/' ${policyFile}`)
103
35
  }
104
36
  /**
105
37
  *
106
38
  */
107
39
  static async calamaresRemove(verbose = true) {
108
- const echo = utils_1.default.setEcho(verbose);
40
+ const echo = Utils.setEcho(verbose);
109
41
  const retVal = false;
110
- if (node_fs_1.default.existsSync('/etc/calamares')) {
111
- await (0, utils_2.exec)('rm /etc/calamares -rf', echo);
42
+ if (fs.existsSync('/etc/calamares')) {
43
+ await exec('rm /etc/calamares -rf', echo);
112
44
  }
113
45
  // yay???
114
- await (0, utils_2.exec)('yay -Rns calamares', echo);
46
+ await exec('yay -Rns calamares', echo);
115
47
  return retVal;
116
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
+ }
117
63
  /**
118
64
  * restuisce VERO se il pacchetto è installato
119
65
  * @param packageName
120
66
  */
121
- static packageIsInstalled(packageName) {
122
- let installed = false;
123
- // rpm -qa | grep -i nano
124
- const cmd = `/usr/bin/dnf list --installed ${packageName}`;
125
- const stdout = shelljs_1.default.exec(cmd, { silent: true }).stdout.trim();
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();
126
71
  if (stdout.includes(packageName)) {
127
- installed = true;
72
+ available = true;
128
73
  }
129
- return installed;
74
+ return available;
130
75
  }
131
76
  /**
132
77
  * Install the package packageName
@@ -135,7 +80,7 @@ class Fedora {
135
80
  */
136
81
  static async packageInstall(packageName) {
137
82
  let retVal = false;
138
- if (shelljs_1.default.exec(`/usr/bin/dnf install ${packageName}`, { silent: true }) === '0') {
83
+ if (shx.exec(`/usr/bin/dnf install ${packageName}`, { silent: true }) === '0') {
139
84
  retVal = true;
140
85
  }
141
86
  return retVal;
@@ -144,15 +89,14 @@ class Fedora {
144
89
  * restuisce VERO se il pacchetto è installato
145
90
  * @param packageName
146
91
  */
147
- static async packageAvailable(packageName) {
148
- let available = false;
149
- const cmd = `/usr/bin/dnf list --available ${packageName} | grep Package:`;
150
- const stdout = shelljs_1.default.exec(cmd, { silent: true }).stdout.trim();
92
+ static packageIsInstalled(packageName) {
93
+ let installed = false;
94
+ // rpm -qa | grep -i nano
95
+ const cmd = `/usr/bin/dnf list --installed ${packageName}`;
96
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
151
97
  if (stdout.includes(packageName)) {
152
- available = true;
98
+ installed = true;
153
99
  }
154
- return available;
100
+ return installed;
155
101
  }
156
102
  }
157
- Fedora.packs4calamares = ['calamares'];
158
- exports.default = Fedora;
@@ -0,0 +1,60 @@
1
+ /**
2
+ * ./src/classes/families/mockup.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
+ * Mockup
10
+ * @remarks all the utilities
11
+ */
12
+ export default class Mockup {
13
+ /**
14
+ * Mockup: calamaresInstall
15
+ */
16
+ static calamaresInstall(verbose?: boolean): Promise<void>;
17
+ /**
18
+ * Mockup: calamaresPolicies
19
+ */
20
+ static calamaresPolicies(): Promise<void>;
21
+ /**
22
+ * Mockup: calamaresRemove
23
+ */
24
+ static calamaresRemove(verbose?: boolean): Promise<boolean>;
25
+ /**
26
+ * Mockup: isInstalledWayland
27
+ * @returns true if wayland is installed
28
+ */
29
+ static isInstalledWayland(): boolean;
30
+ /**
31
+ * Mockup: isInstalledXorg
32
+ * @returns true if xorg is installed
33
+ */
34
+ static isInstalledXorg(): boolean;
35
+ /**
36
+ * Mockup: packageInstall
37
+ * Install the package packageName
38
+ * @param packageName {string}
39
+ * @returns {boolean} True if success
40
+ */
41
+ static packageInstall(packageName: string): Promise<boolean>;
42
+ /**
43
+ * Mockup: packageIsInstalled
44
+ * restuisce VERO se il pacchetto è installato
45
+ * @param packageName
46
+ */
47
+ static packageIsInstalled(packageName: string): boolean;
48
+ /**
49
+ * Mockup: packagePacmanAvailable
50
+ * restuisce VERO se il pacchetto è installato
51
+ * @param packageName
52
+ */
53
+ static packagePacmanAvailable(packageName: string): Promise<boolean>;
54
+ /**
55
+ * Mockup: packagePacmanLast
56
+ * @param packageName
57
+ * @returns
58
+ */
59
+ static packagePacmanLast(packageName: string): Promise<string>;
60
+ }
@@ -1,47 +1,15 @@
1
- "use strict";
2
- /* eslint-disable no-console */
3
1
  /**
4
- * penguins-eggs
5
- * classes/families: archilinux.ts
2
+ * ./src/classes/families/mockup.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
6
4
  * author: Piero Proietti
7
5
  * email: piero.proietti@gmail.com
8
6
  * license: MIT
9
7
  */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
8
  /**
12
9
  * Mockup
13
10
  * @remarks all the utilities
14
11
  */
15
- class Mockup {
16
- /**
17
- * Mockup: isInstalledXorg
18
- * @returns true if xorg is installed
19
- */
20
- static isInstalledXorg() {
21
- return this.packageIsInstalled('xorg-server-common');
22
- }
23
- /**
24
- * Mockup: isInstalledWayland
25
- * @returns true if wayland is installed
26
- */
27
- static isInstalledWayland() {
28
- return this.packageIsInstalled('xwayland');
29
- }
30
- /**
31
- * Mockup: packages
32
- * Create array packages to install/remove
33
- */
34
- static packages(remove = false, verbose = false) {
35
- let packages = [''];
36
- return packages;
37
- }
38
- /**
39
- * Mockup: prerequisitesInstall
40
- */
41
- static async prerequisitesInstall(verbose = true) {
42
- let retVal = false;
43
- return retVal;
44
- }
12
+ export default class Mockup {
45
13
  /**
46
14
  * Mockup: calamaresInstall
47
15
  */
@@ -56,17 +24,22 @@ class Mockup {
56
24
  * Mockup: calamaresRemove
57
25
  */
58
26
  static async calamaresRemove(verbose = true) {
59
- let removed = false;
27
+ const removed = false;
60
28
  return removed;
61
29
  }
62
30
  /**
63
- * Mockup: packageIsInstalled
64
- * restuisce VERO se il pacchetto è installato
65
- * @param packageName
31
+ * Mockup: isInstalledWayland
32
+ * @returns true if wayland is installed
66
33
  */
67
- static packageIsInstalled(packageName) {
68
- let installed = false;
69
- return installed;
34
+ static isInstalledWayland() {
35
+ return this.packageIsInstalled('xwayland');
36
+ }
37
+ /**
38
+ * Mockup: isInstalledXorg
39
+ * @returns true if xorg is installed
40
+ */
41
+ static isInstalledXorg() {
42
+ return this.packageIsInstalled('xorg-server-common');
70
43
  }
71
44
  /**
72
45
  * Mockup: packageInstall
@@ -75,16 +48,25 @@ class Mockup {
75
48
  * @returns {boolean} True if success
76
49
  */
77
50
  static async packageInstall(packageName) {
78
- let retVal = false;
51
+ const retVal = false;
79
52
  return retVal;
80
53
  }
54
+ /**
55
+ * Mockup: packageIsInstalled
56
+ * restuisce VERO se il pacchetto è installato
57
+ * @param packageName
58
+ */
59
+ static packageIsInstalled(packageName) {
60
+ const installed = false;
61
+ return installed;
62
+ }
81
63
  /**
82
64
  * Mockup: packagePacmanAvailable
83
65
  * restuisce VERO se il pacchetto è installato
84
66
  * @param packageName
85
67
  */
86
68
  static async packagePacmanAvailable(packageName) {
87
- let available = false;
69
+ const available = false;
88
70
  return available;
89
71
  }
90
72
  /**
@@ -93,8 +75,7 @@ class Mockup {
93
75
  * @returns
94
76
  */
95
77
  static async packagePacmanLast(packageName) {
96
- let version = '';
78
+ const version = '';
97
79
  return version;
98
80
  }
99
81
  }
100
- exports.default = Mockup;
@@ -0,0 +1,52 @@
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 Suse {
13
+ static packs4calamares: string[];
14
+ /**
15
+ *
16
+ */
17
+ static calamaresInstall(verbose?: boolean): Promise<void>;
18
+ /**
19
+ * calamaresPolicies
20
+ */
21
+ static calamaresPolicies(): 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
+ }
@@ -1,94 +1,30 @@
1
- "use strict";
2
1
  /**
3
- * penguins-eggs
4
- * classes/families: suse.ts
2
+ * ./src/classes/families/suse.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
5
4
  * author: Piero Proietti
6
5
  * email: piero.proietti@gmail.com
7
6
  * license: MIT
8
7
  */
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 dependencies_1 = require("../../lib/dependencies");
16
- const utils_2 = require("../../lib/utils");
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
  * Utils: general porpourse utils
19
14
  * @remarks all the utilities
20
15
  */
21
- class Suse {
22
- /**
23
- * check if it's installed xorg
24
- * @returns true if xorg is installed
25
- */
26
- static isInstalledXorg() {
27
- return this.packageIsInstalled('xorg-x11-server');
28
- }
29
- /**
30
- * check if it's installed wayland
31
- * @returns true if wayland
32
- */
33
- static isInstalledWayland() {
34
- return this.packageIsInstalled('xwayland*');
35
- }
36
- /**
37
- * Crea array pacchetti da installare/rimuovere
38
- */
39
- static packages(remove = false, verbose = false) {
40
- // Preso qualcosa da livecd-tools
41
- const packages = ['xorriso', 'syslinux', 'squashfs'];
42
- const toInstall = [];
43
- const toRemove = [];
44
- for (const elem of packages) {
45
- if (!this.packageIsInstalled(elem)) {
46
- toInstall.push(elem);
47
- }
48
- else {
49
- toRemove.push(elem);
50
- }
51
- }
52
- if (remove) {
53
- return toRemove;
54
- }
55
- return toInstall;
56
- }
57
- /**
58
- *
59
- */
60
- static async prerequisitesInstall(verbose = true) {
61
- const echo = utils_1.default.setEcho(verbose);
62
- const retVal = false;
63
- await (0, utils_2.exec)(`dnf install ${(0, dependencies_1.array2spaced)(this.packages(false, verbose))}`, echo);
64
- if (!pacman_1.default.isInstalledGui()) {
65
- /**
66
- * live-config-getty-generator
67
- *
68
- * Viene rimosso in naked, altrimenti non funziona il login
69
- * generando un errore getty.
70
- * Sarebbe utile individuarne le ragioni, forse rompe anche sul desktop
71
- * non permettendo di cambiare terminale e loggarsi
72
- *
73
- * A che serve?
74
- */
75
- const fileToRemove = '/lib/systemd/system-generators/live-config-getty-generator';
76
- if (node_fs_1.default.existsSync(fileToRemove)) {
77
- await (0, utils_2.exec)(`rm ${fileToRemove}`);
78
- }
79
- }
80
- return retVal;
81
- }
16
+ export default class Suse {
17
+ static packs4calamares = ['calamares'];
82
18
  /**
83
19
  *
84
20
  */
85
21
  static async calamaresInstall(verbose = true) {
86
- const echo = utils_1.default.setEcho(verbose);
22
+ const echo = Utils.setEcho(verbose);
87
23
  try {
88
- await (0, utils_2.exec)(`zypper install ${(0, dependencies_1.array2spaced)(this.packs4calamares)}`, echo);
24
+ await exec(`zypper install ${this.packs4calamares.join(' ')}`, echo);
89
25
  }
90
26
  catch {
91
- utils_1.default.error(`Fedora.calamaresInstall() pacman -Sy ${(0, dependencies_1.array2spaced)(this.packs4calamares)}`); // + e.error)
27
+ Utils.error(`Fedora.calamaresInstall() pacman -Sy ${this.packs4calamares.join(' ')}`); // + e.error)
92
28
  }
93
29
  }
94
30
  /**
@@ -102,30 +38,43 @@ class Suse {
102
38
  // await exec(`sed -i 's/auth_admin/yes/' ${policyFile}`)
103
39
  }
104
40
  /**
105
- *
106
- */
41
+ *
42
+ */
107
43
  static async calamaresRemove(verbose = true) {
108
- const echo = utils_1.default.setEcho(verbose);
44
+ const echo = Utils.setEcho(verbose);
109
45
  const retVal = false;
110
- if (node_fs_1.default.existsSync('/etc/calamares')) {
111
- await (0, utils_2.exec)('rm /etc/calamares -rf', echo);
46
+ if (fs.existsSync('/etc/calamares')) {
47
+ await exec('rm /etc/calamares -rf', echo);
112
48
  }
113
- await (0, utils_2.exec)('zypper remove calamares', echo);
49
+ await exec('zypper remove calamares', echo);
114
50
  return retVal;
115
51
  }
52
+ /**
53
+ * check if it's installed wayland
54
+ * @returns true if wayland
55
+ */
56
+ static isInstalledWayland() {
57
+ return this.packageIsInstalled('xwayland*');
58
+ }
59
+ /**
60
+ * check if it's installed xorg
61
+ * @returns true if xorg is installed
62
+ */
63
+ static isInstalledXorg() {
64
+ return this.packageIsInstalled('xorg-x11-server');
65
+ }
116
66
  /**
117
67
  * restuisce VERO se il pacchetto è installato
118
68
  * @param packageName
119
69
  */
120
- static packageIsInstalled(packageName) {
121
- let installed = false;
122
- // rpm -qa | grep -i nano
123
- const cmd = `/usr/bin/zypper search --installed-only ${packageName}`;
124
- const stdout = shelljs_1.default.exec(cmd, { silent: true }).stdout.trim();
70
+ static async packageAvailable(packageName) {
71
+ let available = false;
72
+ const cmd = `/usr/bin/zypper --not-installed-only ${packageName} | grep Package:`;
73
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
125
74
  if (stdout.includes(packageName)) {
126
- installed = true;
75
+ available = true;
127
76
  }
128
- return installed;
77
+ return available;
129
78
  }
130
79
  /**
131
80
  * Install the package packageName
@@ -134,7 +83,7 @@ class Suse {
134
83
  */
135
84
  static async packageInstall(packageName) {
136
85
  let retVal = false;
137
- if (shelljs_1.default.exec(`/usr/bin/zypper install ${packageName}`, { silent: true }) === '0') {
86
+ if (shx.exec(`/usr/bin/zypper install ${packageName}`, { silent: true }) === '0') {
138
87
  retVal = true;
139
88
  }
140
89
  return retVal;
@@ -143,15 +92,14 @@ class Suse {
143
92
  * restuisce VERO se il pacchetto è installato
144
93
  * @param packageName
145
94
  */
146
- static async packageAvailable(packageName) {
147
- let available = false;
148
- const cmd = `/usr/bin/zypper --not-installed-only ${packageName} | grep Package:`;
149
- const stdout = shelljs_1.default.exec(cmd, { silent: true }).stdout.trim();
95
+ static packageIsInstalled(packageName) {
96
+ let installed = false;
97
+ // rpm -qa | grep -i nano
98
+ const cmd = `/usr/bin/zypper search --installed-only ${packageName}`;
99
+ const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
150
100
  if (stdout.includes(packageName)) {
151
- available = true;
101
+ installed = true;
152
102
  }
153
- return available;
103
+ return installed;
154
104
  }
155
105
  }
156
- Suse.packs4calamares = ['calamares'];
157
- exports.default = Suse;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * ./src/classes/incubation/branding.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 { IDistro, IRemix } from '../../interfaces/index.js';
9
+ /**
10
+ *
11
+ * @param remix
12
+ * @param distro
13
+ * @param theme
14
+ * @param verbose
15
+ * @returns
16
+ */
17
+ export declare function branding(remix: IRemix, distro: IDistro, theme?: string, verbose?: boolean): string;