penguins-eggs 10.0.52 → 10.0.53

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 (337) hide show
  1. package/.oclif.manifest.json +2 -1500
  2. package/README.md +0 -760
  3. package/conf/derivatives.yaml +2 -0
  4. package/mkinitfs/initramfs-init.in +18 -7
  5. package/package.json +3 -4
  6. package/dist/classes/bleach.d.ts +0 -32
  7. package/dist/classes/bleach.js +0 -135
  8. package/dist/classes/cfs.d.ts +0 -17
  9. package/dist/classes/cfs.js +0 -39
  10. package/dist/classes/cli-autologin.d.ts +0 -52
  11. package/dist/classes/cli-autologin.js +0 -247
  12. package/dist/classes/compressors.d.ts +0 -54
  13. package/dist/classes/compressors.js +0 -109
  14. package/dist/classes/daddy.d.ts +0 -26
  15. package/dist/classes/daddy.js +0 -167
  16. package/dist/classes/distro.d.ts +0 -32
  17. package/dist/classes/distro.js +0 -337
  18. package/dist/classes/diversions.d.ts +0 -38
  19. package/dist/classes/diversions.js +0 -107
  20. package/dist/classes/incubation/branding.d.ts +0 -17
  21. package/dist/classes/incubation/branding.js +0 -85
  22. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +0 -11
  23. package/dist/classes/incubation/fisherman-helper/displaymanager.js +0 -40
  24. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  25. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  26. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  27. package/dist/classes/incubation/fisherman-helper/settings.js +0 -83
  28. package/dist/classes/incubation/fisherman.d.ts +0 -70
  29. package/dist/classes/incubation/fisherman.js +0 -263
  30. package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
  31. package/dist/classes/incubation/incubator.d/alpine.js +0 -80
  32. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  33. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  34. package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
  35. package/dist/classes/incubation/incubator.d/buster.js +0 -85
  36. package/dist/classes/incubation/incubator.d/jessie.d.ts +0 -31
  37. package/dist/classes/incubation/incubator.d/jessie.js +0 -44
  38. package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
  39. package/dist/classes/incubation/incubator.d/noble.js +0 -85
  40. package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
  41. package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
  42. package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
  43. package/dist/classes/incubation/incubator.d/opensuse.js +0 -81
  44. package/dist/classes/incubation/incubator.d/rolling.d.ts +0 -32
  45. package/dist/classes/incubation/incubator.d/rolling.js +0 -80
  46. package/dist/classes/incubation/incubator.d.ts +0 -44
  47. package/dist/classes/incubation/incubator.js +0 -382
  48. package/dist/classes/incubation/installer.d.ts +0 -13
  49. package/dist/classes/incubation/installer.js +0 -52
  50. package/dist/classes/keyboards.d.ts +0 -50
  51. package/dist/classes/keyboards.js +0 -287
  52. package/dist/classes/locales.d.ts +0 -21
  53. package/dist/classes/locales.js +0 -77
  54. package/dist/classes/network.d.ts +0 -37
  55. package/dist/classes/network.js +0 -98
  56. package/dist/classes/ovary.d.ts +0 -198
  57. package/dist/classes/ovary.js +0 -1835
  58. package/dist/classes/pacman.d/aldos.d.ts +0 -47
  59. package/dist/classes/pacman.d/aldos.js +0 -93
  60. package/dist/classes/pacman.d/alpine.d.ts +0 -51
  61. package/dist/classes/pacman.d/alpine.js +0 -155
  62. package/dist/classes/pacman.d/archlinux.d.ts +0 -57
  63. package/dist/classes/pacman.d/archlinux.js +0 -130
  64. package/dist/classes/pacman.d/debian.d.ts +0 -61
  65. package/dist/classes/pacman.d/debian.js +0 -131
  66. package/dist/classes/pacman.d/fedora.d.ts +0 -48
  67. package/dist/classes/pacman.d/fedora.js +0 -94
  68. package/dist/classes/pacman.d/openmamba.d.ts +0 -47
  69. package/dist/classes/pacman.d/openmamba.js +0 -93
  70. package/dist/classes/pacman.d/opensuse.d.ts +0 -48
  71. package/dist/classes/pacman.d/opensuse.js +0 -95
  72. package/dist/classes/pacman.d/voidlinux.d.ts +0 -48
  73. package/dist/classes/pacman.d/voidlinux.js +0 -84
  74. package/dist/classes/pacman.d.ts +0 -139
  75. package/dist/classes/pacman.js +0 -756
  76. package/dist/classes/pve-live.d.ts +0 -17
  77. package/dist/classes/pve-live.js +0 -52
  78. package/dist/classes/pxe.d.ts +0 -74
  79. package/dist/classes/pxe.js +0 -410
  80. package/dist/classes/settings.d.ts +0 -53
  81. package/dist/classes/settings.js +0 -185
  82. package/dist/classes/sources_list.d.ts +0 -28
  83. package/dist/classes/sources_list.js +0 -89
  84. package/dist/classes/systemctl.d.ts +0 -47
  85. package/dist/classes/systemctl.js +0 -86
  86. package/dist/classes/tailor.d.ts +0 -50
  87. package/dist/classes/tailor.js +0 -526
  88. package/dist/classes/tools.d.ts +0 -26
  89. package/dist/classes/tools.js +0 -50
  90. package/dist/classes/users.d.ts +0 -28
  91. package/dist/classes/users.js +0 -143
  92. package/dist/classes/utils.d.ts +0 -319
  93. package/dist/classes/utils.js +0 -987
  94. package/dist/classes/xdg.d.ts +0 -45
  95. package/dist/classes/xdg.js +0 -337
  96. package/dist/classes/yolk.d.ts +0 -33
  97. package/dist/classes/yolk.js +0 -114
  98. package/dist/commands/adapt.d.ts +0 -17
  99. package/dist/commands/adapt.js +0 -33
  100. package/dist/commands/analyze.d.ts +0 -26
  101. package/dist/commands/analyze.js +0 -95
  102. package/dist/commands/calamares.d.ts +0 -29
  103. package/dist/commands/calamares.js +0 -112
  104. package/dist/commands/config.d.ts +0 -35
  105. package/dist/commands/config.js +0 -120
  106. package/dist/commands/cuckoo.d.ts +0 -16
  107. package/dist/commands/cuckoo.js +0 -62
  108. package/dist/commands/dad.d.ts +0 -20
  109. package/dist/commands/dad.js +0 -46
  110. package/dist/commands/export/iso.d.ts +0 -19
  111. package/dist/commands/export/iso.js +0 -55
  112. package/dist/commands/export/pkg.d.ts +0 -45
  113. package/dist/commands/export/pkg.js +0 -183
  114. package/dist/commands/install.d.ts +0 -37
  115. package/dist/commands/install.js +0 -88
  116. package/dist/commands/kill.d.ts +0 -24
  117. package/dist/commands/kill.js +0 -50
  118. package/dist/commands/love.d.ts +0 -20
  119. package/dist/commands/love.js +0 -59
  120. package/dist/commands/mom.d.ts +0 -16
  121. package/dist/commands/mom.js +0 -30
  122. package/dist/commands/produce.d.ts +0 -34
  123. package/dist/commands/produce.js +0 -200
  124. package/dist/commands/status.d.ts +0 -23
  125. package/dist/commands/status.js +0 -31
  126. package/dist/commands/syncfrom.d.ts +0 -45
  127. package/dist/commands/syncfrom.js +0 -152
  128. package/dist/commands/syncto.d.ts +0 -40
  129. package/dist/commands/syncto.js +0 -175
  130. package/dist/commands/tools/clean.d.ts +0 -18
  131. package/dist/commands/tools/clean.js +0 -37
  132. package/dist/commands/tools/ppa.d.ts +0 -26
  133. package/dist/commands/tools/ppa.js +0 -138
  134. package/dist/commands/tools/skel.d.ts +0 -18
  135. package/dist/commands/tools/skel.js +0 -44
  136. package/dist/commands/tools/stat.d.ts +0 -31
  137. package/dist/commands/tools/stat.js +0 -70
  138. package/dist/commands/tools/yolk.d.ts +0 -24
  139. package/dist/commands/tools/yolk.js +0 -45
  140. package/dist/commands/update.d.ts +0 -51
  141. package/dist/commands/update.js +0 -220
  142. package/dist/commands/wardrobe/get.d.ts +0 -23
  143. package/dist/commands/wardrobe/get.js +0 -52
  144. package/dist/commands/wardrobe/list.d.ts +0 -24
  145. package/dist/commands/wardrobe/list.js +0 -125
  146. package/dist/commands/wardrobe/show.d.ts +0 -25
  147. package/dist/commands/wardrobe/show.js +0 -97
  148. package/dist/commands/wardrobe/wear.d.ts +0 -26
  149. package/dist/commands/wardrobe/wear.js +0 -84
  150. package/dist/components/finished.d.ts +0 -16
  151. package/dist/components/finished.js +0 -56
  152. package/dist/components/information.d.ts +0 -8
  153. package/dist/components/information.js +0 -154
  154. package/dist/components/install.d.ts +0 -15
  155. package/dist/components/install.js +0 -60
  156. package/dist/components/keyboard.d.ts +0 -16
  157. package/dist/components/keyboard.js +0 -54
  158. package/dist/components/location.d.ts +0 -16
  159. package/dist/components/location.js +0 -59
  160. package/dist/components/network.d.ts +0 -19
  161. package/dist/components/network.js +0 -65
  162. package/dist/components/partitions.d.ts +0 -16
  163. package/dist/components/partitions.js +0 -73
  164. package/dist/components/steps.d.ts +0 -13
  165. package/dist/components/steps.js +0 -148
  166. package/dist/components/summary.d.ts +0 -24
  167. package/dist/components/summary.js +0 -81
  168. package/dist/components/title.d.ts +0 -11
  169. package/dist/components/title.js +0 -35
  170. package/dist/components/users.d.ts +0 -24
  171. package/dist/components/users.js +0 -80
  172. package/dist/components/welcome.d.ts +0 -13
  173. package/dist/components/welcome.js +0 -63
  174. package/dist/index-old.d.ts +0 -8
  175. package/dist/index-old.js +0 -8
  176. package/dist/index.d.ts +0 -54
  177. package/dist/index.js +0 -147
  178. package/dist/interfaces/i-addons.d.ts +0 -12
  179. package/dist/interfaces/i-addons.js +0 -8
  180. package/dist/interfaces/i-analyze.d.ts +0 -17
  181. package/dist/interfaces/i-analyze.js +0 -17
  182. package/dist/interfaces/i-app.d.ts +0 -14
  183. package/dist/interfaces/i-app.js +0 -8
  184. package/dist/interfaces/i-branding.d.ts +0 -36
  185. package/dist/interfaces/i-branding.js +0 -8
  186. package/dist/interfaces/i-calamares-displaymanager.d.ts +0 -17
  187. package/dist/interfaces/i-calamares-displaymanager.js +0 -1
  188. package/dist/interfaces/i-calamares-finished.d.ts +0 -12
  189. package/dist/interfaces/i-calamares-finished.js +0 -1
  190. package/dist/interfaces/i-calamares-packages.d.ts +0 -28
  191. package/dist/interfaces/i-calamares-packages.js +0 -1
  192. package/dist/interfaces/i-calamares-partition.d.ts +0 -40
  193. package/dist/interfaces/i-calamares-partition.js +0 -1
  194. package/dist/interfaces/i-config-tools.d.ts +0 -15
  195. package/dist/interfaces/i-config-tools.js +0 -8
  196. package/dist/interfaces/i-devices.d.ts +0 -20
  197. package/dist/interfaces/i-devices.js +0 -8
  198. package/dist/interfaces/i-distro.d.ts +0 -23
  199. package/dist/interfaces/i-distro.js +0 -8
  200. package/dist/interfaces/i-drive-list.d.ts +0 -33
  201. package/dist/interfaces/i-drive-list.js +0 -8
  202. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  203. package/dist/interfaces/i-eggs-config.js +0 -8
  204. package/dist/interfaces/i-excludes.d.ts +0 -14
  205. package/dist/interfaces/i-excludes.js +0 -8
  206. package/dist/interfaces/i-exec.d.ts +0 -11
  207. package/dist/interfaces/i-exec.js +0 -8
  208. package/dist/interfaces/i-initrd.d.ts +0 -13
  209. package/dist/interfaces/i-initrd.js +0 -8
  210. package/dist/interfaces/i-install.d.ts +0 -16
  211. package/dist/interfaces/i-install.js +0 -8
  212. package/dist/interfaces/i-installer.d.ts +0 -17
  213. package/dist/interfaces/i-installer.js +0 -8
  214. package/dist/interfaces/i-krill-config.d.ts +0 -33
  215. package/dist/interfaces/i-krill-config.js +0 -8
  216. package/dist/interfaces/i-krill.d.ts +0 -42
  217. package/dist/interfaces/i-krill.js +0 -8
  218. package/dist/interfaces/i-materia.d.ts +0 -36
  219. package/dist/interfaces/i-materia.js +0 -8
  220. package/dist/interfaces/i-net.d.ts +0 -16
  221. package/dist/interfaces/i-net.js +0 -8
  222. package/dist/interfaces/i-packages.d.ts +0 -16
  223. package/dist/interfaces/i-packages.js +0 -8
  224. package/dist/interfaces/i-partitions.d.ts +0 -16
  225. package/dist/interfaces/i-partitions.js +0 -8
  226. package/dist/interfaces/i-pxe.d.ts +0 -45
  227. package/dist/interfaces/i-pxe.js +0 -1
  228. package/dist/interfaces/i-remix.d.ts +0 -21
  229. package/dist/interfaces/i-remix.js +0 -8
  230. package/dist/interfaces/i-settings.d.ts +0 -33
  231. package/dist/interfaces/i-settings.js +0 -8
  232. package/dist/interfaces/i-user.d.ts +0 -14
  233. package/dist/interfaces/i-user.js +0 -8
  234. package/dist/interfaces/i-workdir.d.ts +0 -14
  235. package/dist/interfaces/i-workdir.js +0 -8
  236. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  237. package/dist/interfaces/i-xkb-model.js +0 -8
  238. package/dist/interfaces/index.d.ts +0 -25
  239. package/dist/interfaces/index.js +0 -8
  240. package/dist/krill/modules/add-user.d.ts +0 -20
  241. package/dist/krill/modules/add-user.js +0 -48
  242. package/dist/krill/modules/bootloader-config.d.ts +0 -14
  243. package/dist/krill/modules/bootloader-config.js +0 -148
  244. package/dist/krill/modules/bootloader.d.ts +0 -14
  245. package/dist/krill/modules/bootloader.js +0 -130
  246. package/dist/krill/modules/change-password.d.ts +0 -15
  247. package/dist/krill/modules/change-password.js +0 -18
  248. package/dist/krill/modules/del-live-user.d.ts +0 -14
  249. package/dist/krill/modules/del-live-user.js +0 -39
  250. package/dist/krill/modules/fstab.d.ts +0 -14
  251. package/dist/krill/modules/fstab.js +0 -123
  252. package/dist/krill/modules/grubcfg.d.ts +0 -17
  253. package/dist/krill/modules/grubcfg.js +0 -29
  254. package/dist/krill/modules/hostname.d.ts +0 -13
  255. package/dist/krill/modules/hostname.js +0 -50
  256. package/dist/krill/modules/initramfs-cfg.d.ts +0 -14
  257. package/dist/krill/modules/initramfs-cfg.js +0 -22
  258. package/dist/krill/modules/initramfs.d.ts +0 -13
  259. package/dist/krill/modules/initramfs.js +0 -54
  260. package/dist/krill/modules/locale-cfg.d.ts +0 -10
  261. package/dist/krill/modules/locale-cfg.js +0 -58
  262. package/dist/krill/modules/locale.d.ts +0 -13
  263. package/dist/krill/modules/locale.js +0 -91
  264. package/dist/krill/modules/m-keyboard.d.ts +0 -14
  265. package/dist/krill/modules/m-keyboard.js +0 -58
  266. package/dist/krill/modules/machine-id.d.ts +0 -15
  267. package/dist/krill/modules/machine-id.js +0 -33
  268. package/dist/krill/modules/mkfs.d.ts +0 -15
  269. package/dist/krill/modules/mkfs.js +0 -50
  270. package/dist/krill/modules/mount-fs.d.ts +0 -17
  271. package/dist/krill/modules/mount-fs.js +0 -62
  272. package/dist/krill/modules/mount-vfs.d.ts +0 -17
  273. package/dist/krill/modules/mount-vfs.js +0 -40
  274. package/dist/krill/modules/network-cfg.d.ts +0 -19
  275. package/dist/krill/modules/network-cfg.js +0 -64
  276. package/dist/krill/modules/packages.d.ts +0 -14
  277. package/dist/krill/modules/packages.js +0 -111
  278. package/dist/krill/modules/partition.d.ts +0 -20
  279. package/dist/krill/modules/partition.js +0 -324
  280. package/dist/krill/modules/remove-installer-link.d.ts +0 -13
  281. package/dist/krill/modules/remove-installer-link.js +0 -35
  282. package/dist/krill/modules/umount.d.ts +0 -14
  283. package/dist/krill/modules/umount.js +0 -27
  284. package/dist/krill/modules/unpackfs.d.ts +0 -13
  285. package/dist/krill/modules/unpackfs.js +0 -20
  286. package/dist/krill/prepare.d.ts +0 -78
  287. package/dist/krill/prepare.js +0 -624
  288. package/dist/krill/sequence.d.ts +0 -154
  289. package/dist/krill/sequence.js +0 -650
  290. package/dist/lib/get_address.d.ts +0 -8
  291. package/dist/lib/get_address.js +0 -23
  292. package/dist/lib/get_dns.d.ts +0 -8
  293. package/dist/lib/get_dns.js +0 -23
  294. package/dist/lib/get_domain.d.ts +0 -8
  295. package/dist/lib/get_domain.js +0 -23
  296. package/dist/lib/get_gateway.d.ts +0 -8
  297. package/dist/lib/get_gateway.js +0 -23
  298. package/dist/lib/get_hostname.d.ts +0 -8
  299. package/dist/lib/get_hostname.js +0 -23
  300. package/dist/lib/get_netmask.d.ts +0 -8
  301. package/dist/lib/get_netmask.js +0 -23
  302. package/dist/lib/get_password.d.ts +0 -8
  303. package/dist/lib/get_password.js +0 -36
  304. package/dist/lib/get_userfullname.d.ts +0 -8
  305. package/dist/lib/get_userfullname.js +0 -23
  306. package/dist/lib/get_username.d.ts +0 -8
  307. package/dist/lib/get_username.js +0 -23
  308. package/dist/lib/kill_me_softly.d.ts +0 -11
  309. package/dist/lib/kill_me_softly.js +0 -61
  310. package/dist/lib/select_address_type.d.ts +0 -8
  311. package/dist/lib/select_address_type.js +0 -24
  312. package/dist/lib/select_filesystem_type.d.ts +0 -8
  313. package/dist/lib/select_filesystem_type.js +0 -46
  314. package/dist/lib/select_installation_device.d.ts +0 -8
  315. package/dist/lib/select_installation_device.js +0 -30
  316. package/dist/lib/select_installation_mode.d.ts +0 -8
  317. package/dist/lib/select_installation_mode.js +0 -24
  318. package/dist/lib/select_interface.d.ts +0 -8
  319. package/dist/lib/select_interface.js +0 -24
  320. package/dist/lib/select_keyboard_layout.d.ts +0 -11
  321. package/dist/lib/select_keyboard_layout.js +0 -36
  322. package/dist/lib/select_keyboard_model.d.ts +0 -11
  323. package/dist/lib/select_keyboard_model.js +0 -34
  324. package/dist/lib/select_keyboard_option.d.ts +0 -11
  325. package/dist/lib/select_keyboard_option.js +0 -34
  326. package/dist/lib/select_keyboard_variant.d.ts +0 -11
  327. package/dist/lib/select_keyboard_variant.js +0 -35
  328. package/dist/lib/select_languages.d.ts +0 -8
  329. package/dist/lib/select_languages.js +0 -28
  330. package/dist/lib/select_regions.d.ts +0 -8
  331. package/dist/lib/select_regions.js +0 -24
  332. package/dist/lib/select_user_swap_choice.d.ts +0 -8
  333. package/dist/lib/select_user_swap_choice.js +0 -34
  334. package/dist/lib/select_zones.d.ts +0 -8
  335. package/dist/lib/select_zones.js +0 -518
  336. package/dist/lib/utils.d.ts +0 -34
  337. package/dist/lib/utils.js +0 -79
@@ -1,756 +0,0 @@
1
- /**
2
- * ./src/classes/pacman.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 { execSync } from 'node:child_process';
9
- import fs from 'node:fs';
10
- // _dirname
11
- import path from 'node:path';
12
- import shx from 'shelljs';
13
- import { exec } from '../lib/utils.js';
14
- import Distro from './distro.js';
15
- import Aldos from './pacman.d/aldos.js';
16
- import Alpine from './pacman.d/alpine.js';
17
- import Archlinux from './pacman.d/archlinux.js';
18
- import Debian from './pacman.d/debian.js';
19
- import Fedora from './pacman.d/fedora.js';
20
- import Openmamba from './pacman.d/openmamba.js';
21
- import Opensuse from './pacman.d/opensuse.js';
22
- import Voidlinux from './pacman.d/voidlinux.js';
23
- import Settings from './settings.js';
24
- import Utils from './utils.js';
25
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
26
- const config_file = '/etc/penguins-eggs.d/eggs.yaml';
27
- const config_tools = '/etc/penguins-eggs.d/tools.yaml';
28
- /**
29
- * Utils: general porpouse utils
30
- * @remarks all the utilities
31
- */
32
- export default class Pacman {
33
- static debs4calamares = ['calamares', 'qml-module-qtquick2', 'qml-module-qtquick-controls'];
34
- distro = {};
35
- remix = {};
36
- /**
37
- *
38
- * @param verbose
39
- */
40
- static async autocompleteInstall(verbose = false) {
41
- if (Pacman.packageIsInstalled('bash-completion')) {
42
- if (fs.existsSync('/usr/share/bash-completion/completions/')) {
43
- await exec(`cp ${__dirname}/../../scripts/eggs.bash /usr/share/bash-completion/completions/`);
44
- }
45
- else if (fs.existsSync('/etc/bash_completion.d/')) {
46
- await exec(`cp ${__dirname}/../../scripts/eggs.bash /etc/bash_completion.d/`);
47
- }
48
- }
49
- }
50
- /**
51
- * return true if calamares is installed
52
- */
53
- static calamaresExists() {
54
- return this.commandIsInstalled('calamares');
55
- }
56
- /**
57
- *
58
- */
59
- static async calamaresInstall(verbose = false) {
60
- if (this.isInstalledGui()) {
61
- const familyId = this.distro().familyId;
62
- if (familyId === 'aldos') {
63
- await Aldos.calamaresInstall(verbose);
64
- }
65
- else if (familyId === 'alpine') {
66
- await Alpine.calamaresInstall(verbose);
67
- }
68
- else if (familyId === 'archlinux') {
69
- if (this.distro().distroId === 'ManjaroLinux' || this.distro().distroId === 'BigLinux') {
70
- await exec(`pacman -Sy --noconfirm calamares`, Utils.setEcho(true));
71
- }
72
- else {
73
- await Archlinux.calamaresInstall(verbose);
74
- }
75
- }
76
- else if (familyId === 'debian') {
77
- await Debian.calamaresInstall(verbose);
78
- }
79
- else if (familyId === 'fedora') {
80
- await Fedora.calamaresInstall(verbose);
81
- }
82
- else if (familyId === 'openmamba') {
83
- await Openmamba.calamaresInstall(verbose);
84
- }
85
- else if (familyId === 'opensuse') {
86
- await Opensuse.calamaresInstall(verbose);
87
- }
88
- else if (familyId === 'voidlinux') {
89
- await Voidlinux.calamaresInstall(verbose);
90
- }
91
- // remove others calamares links
92
- await exec('rm -f /usr/share/applications/calamares-eggs-debugging.desktop');
93
- await exec('rm -f /usr/share/applications/calamares-eggs.desktop');
94
- await exec('rm -f /usr/share/applications/calamares.desktop');
95
- }
96
- }
97
- /**
98
- * calamaresPolicies
99
- */
100
- static async calamaresPolicies(verbose = false) {
101
- const echo = Utils.setEcho(verbose);
102
- const policyFile = '/usr/share/polkit-1/actions/com.github.calamares.calamares.policy';
103
- await exec(`sed -i 's/auth_admin/yes/' ${policyFile}`, echo);
104
- }
105
- /**
106
- *
107
- */
108
- static async calamaresRemove(verbose = true) {
109
- let retVal = false;
110
- const familyId = this.distro().familyId;
111
- if (familyId === 'aldos') {
112
- retVal = await Aldos.calamaresRemove(verbose);
113
- }
114
- else if (familyId === 'alpine') {
115
- retVal = await Alpine.calamaresRemove(verbose);
116
- }
117
- else if (familyId === 'archlinux') {
118
- retVal = await Archlinux.calamaresRemove(verbose);
119
- }
120
- else if (familyId === 'debian') {
121
- retVal = await Debian.calamaresRemove(verbose);
122
- }
123
- else if (familyId === 'fedora') {
124
- retVal = await Fedora.calamaresRemove(verbose);
125
- }
126
- else if (familyId === 'openmamba') {
127
- retVal = await Openmamba.calamaresRemove(verbose);
128
- }
129
- else if (familyId === 'opensuse') {
130
- retVal = await Opensuse.calamaresRemove(verbose);
131
- }
132
- else if (familyId === 'voidlinux') {
133
- retVal = await Voidlinux.calamaresRemove(verbose);
134
- }
135
- return retVal;
136
- }
137
- /**
138
- *
139
- * @param cmd
140
- */
141
- static commandIsInstalled(cmd) {
142
- let installed = false;
143
- // if (shx.exec(`command -V ${cmd} &>/dev/null`).code == 0) {
144
- // remove output
145
- if (shx.exec(`command -V ${cmd} >/dev/null 2>&1`).code == 0) {
146
- installed = true;
147
- }
148
- return installed;
149
- }
150
- /**
151
- * Restituisce VERO se i file di configurazione SONO presenti
152
- */
153
- static configurationCheck() {
154
- const confExists = fs.existsSync(config_file);
155
- return confExists;
156
- }
157
- /**
158
- *
159
- */
160
- static async configurationFresh() {
161
- const config = {};
162
- config.version = Utils.getPackageVersion();
163
- config.snapshot_dir = '/home/eggs';
164
- config.snapshot_prefix = '';
165
- config.snapshot_excludes = '/etc/penguins-eggs.d/exclude.list';
166
- config.snapshot_basename = ''; // before default was hostname
167
- config.user_opt = 'live';
168
- config.user_opt_passwd = 'evolution';
169
- config.root_passwd = 'evolution';
170
- config.theme = 'eggs';
171
- config.force_installer = true;
172
- config.make_efi = true;
173
- config.make_md5sum = false;
174
- config.make_isohybrid = true;
175
- config.compression = 'xz';
176
- config.ssh_pass = false;
177
- config.timezone = 'Europe/Rome';
178
- config.pmount_fixed = false;
179
- if (!this.calamaresExists()) {
180
- config.force_installer = false;
181
- // console.log('Due the lacks of calamares package set force_installer = false')
182
- }
183
- if (!Pacman.isUefi() && Utils.uefiArch() !== 'i386') {
184
- config.make_efi = false;
185
- console.log('Due the lacks of grub-efi-' + Utils.uefiArch() + '-bin package set make_efi = false');
186
- }
187
- /**
188
- * Salvo la configurazione di eggs.yaml
189
- */
190
- config.machine_id = Utils.machineId();
191
- config.vmlinuz = Utils.vmlinuz();
192
- config.initrd_img = Utils.initrdImg();
193
- const settings = new Settings();
194
- await settings.save(config);
195
- }
196
- /**
197
- * Creazione del file di configurazione /etc/penguins-eggs
198
- */
199
- static async configurationInstall(links = true, verbose = false) {
200
- const confRoot = '/etc/penguins-eggs.d';
201
- if (!fs.existsSync(confRoot)) {
202
- execSync(`mkdir ${confRoot}`);
203
- }
204
- if (verbose) {
205
- console.log('configuration install: ' + confRoot);
206
- }
207
- const addons = `${confRoot}/addons`;
208
- if (fs.existsSync(addons)) {
209
- execSync(`rm -rf ${addons}`);
210
- }
211
- const distros = `${confRoot}/distros`;
212
- if (fs.existsSync(distros)) {
213
- execSync(`rm -rf ${distros}`);
214
- }
215
- execSync(`mkdir -p ${distros}`);
216
- /**
217
- * We use /etc/penguins-eggs.d/init for our init scripts:
218
- * # unattended.sh -> eggs install --unattended
219
- * # cuckoo -> eggs cuckoo
220
- */
221
- const init = `${confRoot}/init`;
222
- if (fs.existsSync(init)) {
223
- execSync(`rm -rf ${init}`);
224
- }
225
- execSync(`mkdir -p ${init}`);
226
- shx.ln('-s', path.resolve(__dirname, '../../addons'), addons);
227
- shx.cp(path.resolve(__dirname, '../../conf/README.md'), confRoot);
228
- shx.cp(path.resolve(__dirname, '../../conf/derivatives.yaml'), confRoot);
229
- shx.cp(path.resolve(__dirname, '../../conf/krill.yaml'), confRoot);
230
- shx.cp(path.resolve(__dirname, '../../conf/love.yaml'), confRoot);
231
- shx.cp(path.resolve(__dirname, '../../conf/tools.yaml'), config_tools);
232
- shx.cp(path.resolve(__dirname, '../../conf/yolk.yaml'), confRoot);
233
- // init
234
- shx.cp(path.resolve(__dirname, '../../conf/init/unattended.sh'), '/etc/penguins-eggs.d/init');
235
- shx.chmod('+x', '/etc/penguins-eggs.d/init/unattended.sh');
236
- shx.cp(path.resolve(__dirname, '../../conf/init/cuckoo.sh'), '/etc/penguins-eggs.d/init');
237
- shx.chmod('+x', '/etc/penguins-eggs.d/init/cuckoo.sh');
238
- // creazione cartella exclude.list.d
239
- execSync(`mkdir -p /etc/penguins-eggs.d/exclude.list.d`);
240
- shx.cp(path.resolve(__dirname, '../../conf/exclude.list.d/*'), '/etc/penguins-eggs.d/exclude.list.d');
241
- await this.configurationFresh();
242
- }
243
- /**
244
- * Ritorna vero se machine-id è uguale
245
- */
246
- static async configurationMachineNew(verbose = false) {
247
- const settings = new Settings();
248
- await settings.load();
249
- const result = Utils.machineId() !== settings.config.machine_id;
250
- if (verbose && result) {
251
- console.log('configurationMachineNew: True');
252
- }
253
- return result;
254
- }
255
- /**
256
- * Rimozione dei file di configurazione
257
- */
258
- static async configurationRemove(verbose = true) {
259
- const echo = Utils.setEcho(verbose);
260
- if (fs.existsSync('/etc/penguins-eggs.d')) {
261
- await exec('rm /etc/penguins-eggs.d -rf', echo);
262
- }
263
- if (fs.existsSync('/etc/calamares')) {
264
- await exec('rm /etc/calamares -rf', echo);
265
- }
266
- }
267
- /**
268
- *
269
- * @returns
270
- */
271
- static distro() {
272
- return new Distro();
273
- }
274
- /**
275
- * distroTemplateCheck
276
- */
277
- static distroTemplateCheck() {
278
- const { codenameLikeId } = this.distro();
279
- // console.log(codenameLikeId)
280
- return fs.existsSync(`/etc/penguins-eggs.d/distros/${codenameLikeId}`);
281
- }
282
- /**
283
- *
284
- */
285
- static async distroTemplateInstall(verbose = false) {
286
- if (verbose) {
287
- console.log('distroTemplateInstall');
288
- }
289
- const echo = Utils.setEcho(verbose);
290
- const rootPen = Utils.rootPenguin();
291
- await exec(`mkdir /etc/penguins-eggs.d/distros/${this.distro().codenameLikeId}`);
292
- /**
293
- * Debian 10 - Buster: è il master per tutte le distro
294
- */
295
- const buster = `${rootPen}/conf/distros/buster`;
296
- /**
297
- * Debian 8 jessie: eredita grub, isolinux e locales da buster, contiene krill al posto di calamares
298
- */
299
- const codenameLikeId = this.distro().codenameLikeId;
300
- /***********************************************************************************
301
- * aldos
302
- **********************************************************************************/
303
- if (codenameLikeId === 'aldos') {
304
- const dest = '/etc/penguins-eggs.d/distros/aldos/';
305
- const aldos = `${rootPen}/conf/distros/aldos/*`;
306
- await exec(`cp -r ${aldos} ${dest}`, echo);
307
- /***********************************************************************************
308
- * Alpine
309
- **********************************************************************************/
310
- }
311
- else if (codenameLikeId === 'alpine') {
312
- // eredita solo da alpine
313
- const dest = '/etc/penguins-eggs.d/distros/alpine/';
314
- const alpine = `${rootPen}/conf/distros/alpine/`;
315
- await exec(`cp -r ${alpine}/calamares ${dest}/calamares`, echo);
316
- /***********************************************************************************
317
- * Arch Linux
318
- **********************************************************************************/
319
- }
320
- else if (codenameLikeId === 'rolling') {
321
- const dest = '/etc/penguins-eggs.d/distros/rolling/';
322
- const rolling = `${rootPen}/conf/distros/rolling/*`;
323
- await exec(`cp -r ${rolling} ${dest}`, echo);
324
- /***********************************************************************************
325
- * Debian
326
- **********************************************************************************/
327
- /**
328
- * Debian 8 jessie
329
- */
330
- }
331
- else if (codenameLikeId === 'jessie') {
332
- const dest = '/etc/penguins-eggs.d/distros/jessie';
333
- await exec(`cp -r ${rootPen}/conf/distros/jessie/krill ${dest}/calamares`, echo);
334
- /**
335
- * Debian 9 stretch: eredita grub, isolinux e locales da buster, contiene krill al posto di calamares
336
- */
337
- }
338
- else if (codenameLikeId === 'stretch') {
339
- const dest = '/etc/penguins-eggs.d/distros/stretch';
340
- await exec(`cp -r ${rootPen}/conf/distros/jessie/krill ${dest}/calamares`, echo);
341
- /**
342
- * Debian 10 buster: eredita tutto da buster
343
- */
344
- }
345
- else if (codenameLikeId === 'buster') {
346
- const dest = '/etc/penguins-eggs.d/distros/buster';
347
- await exec(`cp -r ${buster}/calamares ${dest}/calamares`, echo);
348
- /**
349
- * Debian 11 bullseye: eredita tutto da buster
350
- */
351
- }
352
- else if (codenameLikeId === 'bullseye') {
353
- const dest = '/etc/penguins-eggs.d/distros/bullseye';
354
- await exec(`cp -r ${buster}/calamares ${dest}/calamares`, echo);
355
- /**
356
- * Debian 12 bookworm: eredita tutto da buster
357
- */
358
- }
359
- else if (codenameLikeId === 'bookworm') {
360
- const dest = '/etc/penguins-eggs.d/distros/bookworm';
361
- await exec(`cp -r ${buster}/calamares ${dest}/calamares`, echo);
362
- /**
363
- * Debian 13 trixie: eredita tutto da buster
364
- */
365
- }
366
- else if (codenameLikeId === 'trixie') {
367
- const dest = '/etc/penguins-eggs.d/distros/trixie';
368
- await exec(`cp -r ${buster}/calamares ${dest}/calamares`, echo);
369
- /***********************************************************************************
370
- * Devuan
371
- **********************************************************************************/
372
- /**
373
- * Devuan beowulf: eredita tutto da buster
374
- */
375
- }
376
- else if (codenameLikeId === 'beowulf') {
377
- const dest = '/etc/penguins-eggs.d/distros/beowulf';
378
- await exec(`cp -r ${buster}/calamares ${dest}/calamares`, echo);
379
- /**
380
- * Devuan chimaera: eredita tutto da buster
381
- */
382
- }
383
- else if (codenameLikeId === 'chimaera') {
384
- const dest = '/etc/penguins-eggs.d/distros/chimaera';
385
- await exec(`cp -r ${buster}/calamares ${dest}/calamares`, echo);
386
- /**
387
- * Devuan daedalus: eredita tutto da buster
388
- */
389
- }
390
- else if (codenameLikeId === 'daedalus') {
391
- const dest = '/etc/penguins-eggs.d/distros/daedalus';
392
- await exec(`cp -r ${buster}/calamares ${dest}/calamares`, echo);
393
- /**
394
- * Devuan excalibur: eredita tutto da buster
395
- */
396
- }
397
- else if (codenameLikeId === 'excalibur') {
398
- const dest = '/etc/penguins-eggs.d/distros/excalibur';
399
- await exec(`cp -r ${buster}/calamares ${dest}/calamares`, echo);
400
- /***********************************************************************************
401
- * Fedora
402
- **********************************************************************************/
403
- }
404
- else if (codenameLikeId === 'fedora') {
405
- const dest = '/etc/penguins-eggs.d/distros/fedora/';
406
- const fedora = `${rootPen}/conf/distros/fedora/*`;
407
- await exec(`cp -r ${fedora} ${dest}`, echo);
408
- /***********************************************************************************
409
- * openmamba
410
- **********************************************************************************/
411
- }
412
- else if (codenameLikeId === 'openmamba') {
413
- // eredita solo da openmamba
414
- const dest = '/etc/penguins-eggs.d/distros/openmamba/';
415
- const mamba = `${rootPen}/conf/distros/openmamba/*`;
416
- await exec(`cp -r ${mamba} ${dest}`, echo);
417
- /***********************************************************************************
418
- * opensuse
419
- **********************************************************************************/
420
- }
421
- else if (codenameLikeId === 'opensuse') {
422
- const dest = '/etc/penguins-eggs.d/distros/opensuse/';
423
- const suse = `${rootPen}/conf/distros/opensuse/*`;
424
- await exec(`cp -r ${suse} ${dest}`, echo);
425
- /***********************************************************************************
426
- * Ubuntu
427
- **********************************************************************************/
428
- /**
429
- * Ubuntu 10.04 bionic: eredita da bionic, focal grub ed isolinux, da buster i seguenti
430
- */
431
- }
432
- else if (codenameLikeId === 'bionic') {
433
- const dest = '/etc/penguins-eggs.d/distros/bionic';
434
- const bionic = `${rootPen}/conf/distros/bionic`;
435
- await exec(`cp -r ${bionic}/* ${dest}`, echo);
436
- await partialFromBuster(dest, echo);
437
- /**
438
- * Ubuntu focal: eredita da noble e buster
439
- */
440
- }
441
- else if (codenameLikeId === 'focal') {
442
- const dest = '/etc/penguins-eggs.d/distros/focal';
443
- const noble = `${rootPen}/conf/distros/noble`;
444
- await exec(`cp -r ${noble}/* ${dest}`, echo);
445
- await exec(`cp ${noble}/calamares/modules/focal-jammy/* ${dest}/calamares/modules/`, echo);
446
- await partialFromBuster(dest, echo);
447
- /**
448
- * Ubuntu 22.04 jammy: eredita da noble e buster
449
- */
450
- }
451
- else if (codenameLikeId === 'jammy') {
452
- const dest = '/etc/penguins-eggs.d/distros/jammy';
453
- const noble = `${rootPen}/conf/distros/noble`;
454
- await exec(`cp -r ${noble}/* ${dest}`, echo);
455
- await exec(`cp ${noble}/calamares/modules/focal-jammy/* ${dest}/calamares/modules/`, echo);
456
- await partialFromBuster(dest, echo);
457
- /**
458
- * Ubuntu noble: e la nuova baseline per ubuntu
459
- *
460
- */
461
- }
462
- else if (this.distro().codenameLikeId === 'noble') {
463
- const dest = '/etc/penguins-eggs.d/distros/noble';
464
- const noble = `${rootPen}/conf/distros/noble`;
465
- await exec(`cp -r ${noble}/* ${dest}`, echo);
466
- await partialFromBuster(dest, echo);
467
- /**
468
- * Ubuntu rhino: eredita da noble e buster
469
- *
470
- */
471
- }
472
- else if (codenameLikeId === 'devel') {
473
- const dest = '/etc/penguins-eggs.d/distros/devel';
474
- const noble = `${rootPen}/conf/distros/noble`;
475
- await exec(`cp -r ${noble}/* ${dest}`, echo);
476
- await partialFromBuster(dest, echo);
477
- /***********************************************************************************
478
- * voidlinux
479
- **********************************************************************************/
480
- }
481
- else if (codenameLikeId === 'voidlinux') {
482
- const dest = '/etc/penguins-eggs.d/distros/voidlinux/';
483
- const voidLinux = `${rootPen}/conf/distros/voidlinux/*`;
484
- await exec(`cp -r ${voidLinux} ${dest}`, echo);
485
- }
486
- }
487
- /**
488
- * Controlla se calamares è installabile
489
- * @returns
490
- */
491
- static isCalamaresAvailable() {
492
- let result = this.distro().isCalamaresAvailable;
493
- if (process.arch === 'arm' || process.arch === 'arm64') {
494
- result = false;
495
- }
496
- return result;
497
- }
498
- /**
499
- *
500
- * @returns true se GUI
501
- */
502
- static isInstalledGui() {
503
- return this.isInstalledXorg() || this.isInstalledWayland();
504
- }
505
- /**
506
- * check if it's installed wayland
507
- * @returns true if wayland
508
- */
509
- static isInstalledWayland() {
510
- let installed = false;
511
- const familyId = this.distro().familyId;
512
- if (familyId === 'aldos') {
513
- if (Aldos.packageIsInstalled('wayland')) {
514
- installed = true;
515
- }
516
- }
517
- else if (familyId === 'alpine') {
518
- if (Alpine.packageIsInstalled('xwayland*')) {
519
- installed = true;
520
- }
521
- }
522
- else if (familyId === 'archlinux') {
523
- if (Archlinux.packageIsInstalled('xwayland')) {
524
- installed = true;
525
- }
526
- }
527
- else if (familyId === 'debian') {
528
- if (Debian.packageIsInstalled('xwayland')) {
529
- installed = true;
530
- }
531
- }
532
- else if (familyId === 'fedora') {
533
- if (Fedora.packageIsInstalled('xorg-x11-server-Xwayland*')) {
534
- installed = true;
535
- }
536
- }
537
- else if (familyId === 'openmamba') {
538
- if (Openmamba.packageIsInstalled('wayland')) {
539
- installed = true;
540
- }
541
- }
542
- else if (familyId === 'opensuse') {
543
- if (Opensuse.packageIsInstalled('wayland')) {
544
- installed = true;
545
- }
546
- }
547
- else if (familyId === 'voidlinux') {
548
- if (Voidlinux.packageIsInstalled('wayland')) {
549
- installed = true;
550
- }
551
- }
552
- return installed;
553
- }
554
- /**
555
- * check if it's installed xorg
556
- * @returns
557
- */
558
- static isInstalledXorg() {
559
- let installed = false;
560
- const familyId = this.distro().familyId;
561
- if (familyId === 'aldos') {
562
- if (Aldos.packageIsInstalled('xorg-server')) {
563
- installed = true;
564
- }
565
- }
566
- else if (familyId === 'alpine') {
567
- if (Alpine.packageIsInstalled('xorg-server')) {
568
- installed = true;
569
- }
570
- }
571
- else if (familyId === 'archlinux') {
572
- if (Archlinux.packageIsInstalled('xorg-server-common')) {
573
- installed = true;
574
- }
575
- }
576
- else if (familyId === 'debian') {
577
- if (Debian.packageIsInstalled('xserver-xorg-core')) {
578
- installed = true;
579
- }
580
- }
581
- else if (familyId === 'fedora') {
582
- if (Fedora.packageIsInstalled('xorg-x11-server-Xorg.x86_64')) {
583
- installed = true;
584
- }
585
- }
586
- else if (familyId === 'openmamba') {
587
- if (Openmamba.packageIsInstalled('xorg-server')) {
588
- installed = true;
589
- }
590
- }
591
- else if (familyId === 'opensuse') {
592
- if (Opensuse.packageIsInstalled('xorg-x11-server')) {
593
- installed = true;
594
- }
595
- }
596
- return installed;
597
- }
598
- /**
599
- * Check if the system is just CLI
600
- */
601
- static isRunningCli() {
602
- return !this.isRunningGui();
603
- }
604
- /**
605
- * Check if the system is GUI able
606
- */
607
- static isRunningGui() {
608
- return this.isRunningXorg() || this.isRunningWayland();
609
- }
610
- /**
611
- * Constrolla se è operante wayland
612
- */
613
- static isRunningWayland() {
614
- return process.env.XDG_SESSION_TYPE === 'wayland';
615
- }
616
- /**
617
- * controlla se è operante xserver-xorg-core
618
- */
619
- static isRunningXorg() {
620
- return process.env.XDG_SESSION_TYPE === 'x11';
621
- }
622
- /**
623
- * Check se la macchina ha grub adatto ad efi
624
- * Forse conviene spostarlo in pacman
625
- */
626
- static isUefi() {
627
- let isUefi = false;
628
- if (this.distro().familyId === 'debian') {
629
- if (Utils.uefiArch() !== 'i386' && this.packageIsInstalled('grub-efi-' + Utils.uefiArch() + '-bin')) {
630
- isUefi = true;
631
- }
632
- }
633
- else {
634
- isUefi = true;
635
- }
636
- return isUefi;
637
- }
638
- /**
639
- * Installa manPage
640
- */
641
- static async manPageInstall(verbose = false) {
642
- const manPageSrc = path.resolve(__dirname, '../../manpages/doc/man/eggs.roll.gz');
643
- if (fs.existsSync(manPageSrc)) {
644
- const man1Dir = '/usr/share/man/man1/';
645
- if (!fs.existsSync(man1Dir)) {
646
- exec(`mkdir ${man1Dir} -p`);
647
- }
648
- const manPageDest = man1Dir + 'eggs.1.gz';
649
- exec(`cp ${manPageSrc} ${manPageDest}`);
650
- if (shx.exec('which mandb', { silent: true }).stdout.trim() !== '') {
651
- await exec('mandb > /dev/null');
652
- if (verbose) {
653
- console.log('manPage eggs installed...');
654
- }
655
- }
656
- }
657
- }
658
- /**
659
- *
660
- * @param debPackage
661
- * @returns
662
- */
663
- static async packageAptLast(debPackage) {
664
- let version = '';
665
- if (this.distro().familyId === 'debian') {
666
- version = await Debian.packageAptLast(debPackage);
667
- }
668
- return version;
669
- }
670
- /**
671
- * Install the package packageName
672
- * @param packageName {string} Pacchetto Debian da installare
673
- * @returns {boolean} True if success
674
- */
675
- static async packageInstall(packageName) {
676
- let retVal = false;
677
- const familyId = this.distro().familyId;
678
- if (familyId === 'aldos') {
679
- retVal = await Aldos.packageInstall(packageName);
680
- }
681
- else if (familyId === 'alpine') {
682
- retVal = await Alpine.packageInstall(packageName);
683
- }
684
- else if (familyId === 'archlinux') {
685
- retVal = await Archlinux.packageInstall(packageName);
686
- }
687
- else if (familyId === 'debian') {
688
- retVal = await Debian.packageInstall(packageName);
689
- }
690
- else if (familyId === 'fedora') {
691
- retVal = await Fedora.packageInstall(packageName);
692
- }
693
- else if (familyId === 'openmamba') {
694
- retVal = await Openmamba.packageInstall(packageName);
695
- }
696
- else if (familyId === 'opensuse') {
697
- retVal = await Opensuse.packageInstall(packageName);
698
- }
699
- else if (familyId === 'voidlinux') {
700
- retVal = await Voidlinux.packageInstall(packageName);
701
- }
702
- return retVal;
703
- }
704
- /**
705
- * restuisce VERO se il pacchetto è installato
706
- * @param debPackage
707
- */
708
- static packageIsInstalled(packageName) {
709
- let installed = false;
710
- const familyId = this.distro().familyId;
711
- if (familyId === 'aldos') {
712
- installed = Aldos.packageIsInstalled(packageName);
713
- }
714
- else if (familyId === 'alpine') {
715
- installed = Alpine.packageIsInstalled(packageName);
716
- }
717
- else if (familyId === 'archlinux') {
718
- installed = Archlinux.packageIsInstalled(packageName);
719
- }
720
- else if (familyId === 'debian') {
721
- installed = Debian.packageIsInstalled(packageName);
722
- }
723
- else if (familyId === 'fedora') {
724
- installed = Fedora.packageIsInstalled(packageName);
725
- }
726
- else if (familyId === 'openmamba') {
727
- installed = Openmamba.packageIsInstalled(packageName);
728
- }
729
- else if (familyId === 'opensuse') {
730
- installed = Opensuse.packageIsInstalled(packageName);
731
- }
732
- else if (familyId === 'voidlinux') {
733
- installed = Voidlinux.packageIsInstalled(packageName);
734
- }
735
- return installed;
736
- }
737
- static async packageNpmLast(packageNpm = 'penguins-eggs') {
738
- return shx.exec('npm show ' + packageNpm + ' version', { silent: true }).stdout.trim();
739
- }
740
- }
741
- /**
742
- *
743
- * @param dest
744
- * @param echo
745
- */
746
- async function partialFromBuster(dest, echo) {
747
- const rootPen = Utils.rootPenguin();
748
- const buster = `${rootPen}/conf/distros/buster`;
749
- await exec(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
750
- await exec(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
751
- await exec(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-undo ${dest}/calamares/calamares-modules/sources-yolk-undo`, echo);
752
- await exec(`cp -r ${buster}/calamares/modules/displaymanager.yml ${dest}/calamares/modules/displaymanager.yml`, echo);
753
- await exec(`cp -r ${buster}/calamares/modules/packages.yml ${dest}/calamares/modules/packages.yml`, echo);
754
- await exec(`cp -r ${buster}/calamares/modules/removeuser.yml ${dest}/calamares/modules/removeuser.yml`, echo);
755
- await exec(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
756
- }