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,32 +1,33 @@
1
- "use strict";
2
- /* eslint-disable valid-jsdoc */
3
1
  /**
4
- * penguins-eggs
5
- * class: utils.tsx
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 shelljs_1 = tslib_1.__importDefault(require("shelljs"));
13
- const fs_1 = tslib_1.__importDefault(require("fs"));
14
- const dns_1 = tslib_1.__importDefault(require("dns"));
15
- const path_1 = tslib_1.__importDefault(require("path"));
16
- const os_1 = tslib_1.__importDefault(require("os"));
17
- const inquirer = require('inquirer');
18
- const chalk_1 = tslib_1.__importDefault(require("chalk"));
19
- const child_process_1 = require("child_process");
20
- const netmask_1 = require("netmask");
2
+ * ./src/classes/utils.tsx
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 shx from 'shelljs';
9
+ import fs from 'fs';
10
+ import dns from 'dns';
11
+ import path from 'path';
12
+ import os from 'os';
13
+ import inquirer from 'inquirer';
14
+ import chalk from 'chalk';
15
+ import { spawnSync } from 'child_process';
16
+ import { Netmask } from 'netmask';
21
17
  // libraries
22
- const utils_1 = require("../lib/utils");
23
- const distro_1 = tslib_1.__importDefault(require("./distro"));
18
+ import { exec } from '../lib/utils.js';
19
+ import Distro from './distro.js';
20
+ // pjson
21
+ import { createRequire } from 'module';
22
+ const require = createRequire(import.meta.url);
24
23
  const pjson = require('../../package.json');
24
+ // __dirname
25
+ const __dirname = path.dirname(new URL(import.meta.url).pathname);
25
26
  /**
26
27
  * Utils: general porpourse utils
27
28
  * @remarks all the utilities
28
29
  */
29
- class Utils {
30
+ export default class Utils {
30
31
  /**
31
32
  * Custom function to sort object keys
32
33
  * @param obj
@@ -49,7 +50,7 @@ class Utils {
49
50
  * @returns value
50
51
  */
51
52
  static searchOnFile(file = '', search = '') {
52
- const lines = fs_1.default.readFileSync(file, 'utf8').split("\n");
53
+ const lines = fs.readFileSync(file, 'utf8').split("\n");
53
54
  let value = '';
54
55
  lines.forEach(line => {
55
56
  line = line.replace(/\s+/g, ' '); // Remove multiple spaces with single space
@@ -83,9 +84,9 @@ class Utils {
83
84
  */
84
85
  static isSystemd() {
85
86
  const checkFile = '/tmp/checksystemd';
86
- shelljs_1.default.exec(`ps -p 1 -o comm= >${checkFile}`);
87
- const isSystemd = fs_1.default.readFileSync(checkFile).includes('systemd');
88
- shelljs_1.default.exec(`rm ${checkFile}`);
87
+ shx.exec(`ps -p 1 -o comm= >${checkFile}`);
88
+ const isSystemd = fs.readFileSync(checkFile).includes('systemd');
89
+ shx.exec(`rm ${checkFile}`);
89
90
  return isSystemd;
90
91
  }
91
92
  /**
@@ -94,9 +95,9 @@ class Utils {
94
95
  */
95
96
  static isSysvinit() {
96
97
  const checkFile = '/tmp/checkinit';
97
- shelljs_1.default.exec(`ps -p 1 -o comm= >${checkFile}`);
98
- const isSysvinit = fs_1.default.readFileSync(checkFile).includes('init');
99
- shelljs_1.default.exec(`rm ${checkFile}`);
98
+ shx.exec(`ps -p 1 -o comm= >${checkFile}`);
99
+ const isSysvinit = fs.readFileSync(checkFile).includes('init');
100
+ shx.exec(`rm ${checkFile}`);
100
101
  return isSysvinit;
101
102
  }
102
103
  /**
@@ -107,14 +108,15 @@ class Utils {
107
108
  * ro root=UUID=3dc0f202-8ac8-4686-9316-dddcec060c48 initrd=boot\initrd.img-5.15.0-0.bpo.3-amd64 // Conidi
108
109
  */
109
110
  static vmlinuz() {
110
- let distro = new distro_1.default();
111
+ let distro = new Distro();
111
112
  let vmlinuz = '';
113
+ // patch per raspberry arm64
112
114
  // find vmlinuz in /proc/cmdline
113
- const cmdline = fs_1.default.readFileSync('/proc/cmdline', 'utf8').split(" ");
115
+ const cmdline = fs.readFileSync('/proc/cmdline', 'utf8').split(" ");
114
116
  cmdline.forEach(cmd => {
115
117
  if (cmd.includes('BOOT_IMAGE')) {
116
118
  vmlinuz = cmd.substring(cmd.indexOf('=') + 1);
117
- if (!fs_1.default.existsSync(vmlinuz) && fs_1.default.existsSync(`/boot${vmlinuz}`)) {
119
+ if (!fs.existsSync(vmlinuz) && fs.existsSync(`/boot${vmlinuz}`)) {
118
120
  vmlinuz = `/boot${vmlinuz}`;
119
121
  }
120
122
  }
@@ -128,10 +130,14 @@ class Utils {
128
130
  * but =/vmlinuz-linux exists in /boot/
129
131
  */
130
132
  if (vmlinuz === '/vmlinuz-linux' || vmlinuz === '/vmlinuz-linux-zen') {
131
- if (fs_1.default.existsSync(`/boot${vmlinuz}`)) {
133
+ if (fs.existsSync(`/boot${vmlinuz}`)) {
132
134
  vmlinuz = `/boot${vmlinuz}`;
133
135
  }
134
136
  }
137
+ if (process.arch === 'arm64') {
138
+ const kernelVersion = shx.exec('uname -r', { silent: true }).stdout.trim();
139
+ vmlinuz = `/boot/vmlinuz-${kernelVersion}`;
140
+ }
135
141
  /**
136
142
  * If vmlinuz not found
137
143
  */
@@ -156,7 +162,7 @@ class Utils {
156
162
  /**
157
163
  * if not exists exit
158
164
  */
159
- if (!fs_1.default.existsSync(vmlinuz)) {
165
+ if (!fs.existsSync(vmlinuz)) {
160
166
  console.log(vmlinuz + ' not exists!');
161
167
  process.exit();
162
168
  }
@@ -171,7 +177,7 @@ class Utils {
171
177
  let initrd = 'initrd.img';
172
178
  let version = 'linux';
173
179
  let suffix = '';
174
- let distro = new distro_1.default();
180
+ let distro = new Distro();
175
181
  if (distro.familyId === 'debian') {
176
182
  version = vmlinuz.substring(vmlinuz.indexOf('-') + 1);
177
183
  }
@@ -190,11 +196,11 @@ class Utils {
190
196
  */
191
197
  static machineId() {
192
198
  let result = '';
193
- if (fs_1.default.existsSync('/etc/machine-id')) {
194
- result = fs_1.default.readFileSync('/etc/machine-id', 'utf-8').trim();
199
+ if (fs.existsSync('/etc/machine-id')) {
200
+ result = fs.readFileSync('/etc/machine-id', 'utf-8').trim();
195
201
  }
196
- else if (fs_1.default.existsSync('/var/lib/dbus/machine-id')) {
197
- result = fs_1.default.readFileSync('/var/lib/dbus/machine-id', 'utf-8').trim();
202
+ else if (fs.existsSync('/var/lib/dbus/machine-id')) {
203
+ result = fs.readFileSync('/var/lib/dbus/machine-id', 'utf-8').trim();
198
204
  }
199
205
  return result;
200
206
  }
@@ -203,19 +209,19 @@ class Utils {
203
209
  * @param msg
204
210
  */
205
211
  static warning(msg = '') {
206
- console.log(pjson.shortName + ' >>> ' + chalk_1.default.cyanBright(msg) + '.');
212
+ console.log(pjson.shortName + ' >>> ' + chalk.cyanBright(msg) + '.');
207
213
  }
208
214
  static error(msg = '') {
209
- console.error(pjson.shortName + ' >>> ' + chalk_1.default.bgMagentaBright(chalk_1.default.whiteBright(msg)) + '.');
215
+ console.error(pjson.shortName + ' >>> ' + chalk.bgMagentaBright(chalk.whiteBright(msg)) + '.');
210
216
  }
211
217
  /**
212
218
  * Return the primary user's name
213
219
  */
214
220
  static async getPrimaryUser() {
215
- let primaryUser = (await (0, utils_1.exec)('/usr/bin/logname 2>/dev/null || echo ${SUDO_USER:-${USER}}', { echo: false, ignore: false, capture: true })).data.trim();
221
+ let primaryUser = (await exec('/usr/bin/logname 2>/dev/null || echo ${SUDO_USER:-${USER}}', { echo: false, ignore: false, capture: true })).data.trim();
216
222
  // if logname don't work seem we get '' so:
217
223
  if (primaryUser === '') {
218
- primaryUser = shelljs_1.default.exec('echo $SUDO_USER', { silent: true }).stdout.trim();
224
+ primaryUser = shx.exec('echo $SUDO_USER', { silent: true }).stdout.trim();
219
225
  }
220
226
  if (primaryUser === '') {
221
227
  console.log(`Cannot find your user name...`);
@@ -228,7 +234,7 @@ class Utils {
228
234
  * @param device
229
235
  */
230
236
  static uuid(device) {
231
- const uuid = shelljs_1.default.exec(`blkid -s UUID -o value ${device}`).stdout.trim();
237
+ const uuid = shx.exec(`blkid -s UUID -o value ${device}`).stdout.trim();
232
238
  return uuid;
233
239
  }
234
240
  /**
@@ -268,8 +274,8 @@ class Utils {
268
274
  * @returns {number} Numero degli snapshot presenti
269
275
  */
270
276
  static getSnapshotCount(snapshot_dir = '/') {
271
- if (fs_1.default.existsSync(snapshot_dir)) {
272
- const files = fs_1.default.readdirSync(snapshot_dir);
277
+ if (fs.existsSync(snapshot_dir)) {
278
+ const files = fs.readdirSync(snapshot_dir);
273
279
  let nIsos = 0;
274
280
  for (const f of files) {
275
281
  if (f.endsWith('.iso')) {
@@ -286,7 +292,7 @@ class Utils {
286
292
  */
287
293
  static getSnapshotSize(snapshot_dir = '/') {
288
294
  let fileSizeInBytes = 0;
289
- const size = shelljs_1.default.exec(`/usr/bin/find ${snapshot_dir} -maxdepth 1 -type f -name '*.iso' -exec du -sc {} + | tail -1 | awk '{print $1}'`, { silent: true }).stdout.trim();
295
+ const size = shx.exec(`/usr/bin/find ${snapshot_dir} -maxdepth 1 -type f -name '*.iso' -exec du -sc {} + | tail -1 | awk '{print $1}'`, { silent: true }).stdout.trim();
290
296
  if (size === '') {
291
297
  fileSizeInBytes = 0;
292
298
  }
@@ -304,7 +310,7 @@ class Utils {
304
310
  if (process.arch === 'ia32') {
305
311
  arch = 'i386';
306
312
  //
307
- if (shelljs_1.default.exec('uname -m', { silent: true }).stdout.trim() === 'x86_64') {
313
+ if (shx.exec('uname -m', { silent: true }).stdout.trim() === 'x86_64') {
308
314
  arch = 'amd64';
309
315
  }
310
316
  }
@@ -325,7 +331,7 @@ class Utils {
325
331
  let format = '';
326
332
  if (process.arch === 'ia32') {
327
333
  format = 'i386-efi';
328
- if (shelljs_1.default.exec('uname -m', { silent: true }).stdout.trim() === 'x86_64') {
334
+ if (shx.exec('uname -m', { silent: true }).stdout.trim() === 'x86_64') {
329
335
  format = 'x86_64-efi';
330
336
  }
331
337
  }
@@ -412,7 +418,7 @@ class Utils {
412
418
  fileSizeInBytes = 0; // this.getLiveRootSpace()
413
419
  }
414
420
  else {
415
- fileSizeInBytes = Number(shelljs_1.default.exec(`df /home | /usr/bin/awk 'NR==2 {print $3}'`, {
421
+ fileSizeInBytes = Number(shx.exec(`df /home | /usr/bin/awk 'NR==2 {print $3}'`, {
416
422
  silent: true
417
423
  }).stdout);
418
424
  }
@@ -430,9 +436,9 @@ class Utils {
430
436
  squashFs = '/live/boot-dev/antiX/linuxfs';
431
437
  }
432
438
  // Ottengo la dimensione del file compresso
433
- const compressedFs = fs_1.default.statSync(squashFs).size;
439
+ const compressedFs = fs.statSync(squashFs).size;
434
440
  // get compression factor by reading the linuxfs squasfs file, if available
435
- const compressedFs_compression_type = shelljs_1.default.exec(`dd if=${compressedFs} bs=1 skip=20 count=2 status=none 2>/dev/null| /usr/bin/od -An -tdI`);
441
+ const compressedFs_compression_type = shx.exec(`dd if=${compressedFs} bs=1 skip=20 count=2 status=none 2>/dev/null| /usr/bin/od -An -tdI`);
436
442
  let compression_factor = 0;
437
443
  if (compressedFs_compression_type === '1') {
438
444
  compression_factor = 37; // gzip
@@ -453,9 +459,9 @@ class Utils {
453
459
  compression_factor = 30; // anything else or linuxfs not reachable (toram), should be pretty conservative
454
460
  }
455
461
  let rootfs_file_size = 0;
456
- const linuxfs_file_size = (Number(shelljs_1.default.exec('df /live/linux --output=used --total | /usr/bin/tail -n1').stdout.trim()) * 1024 * 100) / compression_factor;
457
- if (fs_1.default.existsSync('/live/persist-root')) {
458
- rootfs_file_size = Number(shelljs_1.default.exec('df /live/persist-root --output=used --total | /usr/bin/tail -n1').stdout.trim()) * 1024;
462
+ const linuxfs_file_size = (Number(shx.exec('df /live/linux --output=used --total | /usr/bin/tail -n1').stdout.trim()) * 1024 * 100) / compression_factor;
463
+ if (fs.existsSync('/live/persist-root')) {
464
+ rootfs_file_size = Number(shx.exec('df /live/persist-root --output=used --total | /usr/bin/tail -n1').stdout.trim()) * 1024;
459
465
  }
460
466
  let rootSpaceNeeded;
461
467
  if (type === 'mx') {
@@ -509,7 +515,7 @@ class Utils {
509
515
  *
510
516
  */
511
517
  static rootPenguin() {
512
- return path_1.default.resolve(__dirname, '../../');
518
+ return path.resolve(__dirname, '../../');
513
519
  }
514
520
  /**
515
521
  * return the short name of the package: eggs
@@ -537,7 +543,7 @@ class Utils {
537
543
  */
538
544
  static getDebianVersion() {
539
545
  const cmd = "cat /etc/debian_version | /usr/bin/cut -f1 -d'.'";
540
- const version = Number(shelljs_1.default.exec(cmd, { silent: true }).stdout);
546
+ const version = Number(shx.exec(cmd, { silent: true }).stdout);
541
547
  return version;
542
548
  }
543
549
  /**
@@ -567,7 +573,17 @@ class Utils {
567
573
  static isMountpoint(path = '') {
568
574
  const cmd = `mountpoint -q ${path}`;
569
575
  // return 0 if the directory is a mountpoint, non-zero if not.
570
- const result = shelljs_1.default.exec(cmd, { silent: true }).code;
576
+ const result = shx.exec(cmd, { silent: true }).code;
577
+ return result === 0;
578
+ }
579
+ /**
580
+ *
581
+ * @param device
582
+ * @returns
583
+ */
584
+ static isBlockDevice(device = '') {
585
+ const cmd = `lsblk -d -o name | grep ${device}`;
586
+ const result = shx.exec(cmd, { silent: true }).code;
571
587
  return result === 0;
572
588
  }
573
589
  /**
@@ -591,14 +607,14 @@ class Utils {
591
607
  * get the kernel version
592
608
  */
593
609
  static kernelVersion() {
594
- return os_1.default.release();
610
+ return os.release();
595
611
  }
596
612
  /**
597
613
  * return the name of network device
598
614
  */
599
615
  static async iface() {
600
616
  // return shx.exec(`ifconfig | awk 'FNR==1 { print $1 }' | tr --d :`, { silent: true }).stdout.trim()
601
- const interfaces = Object.keys(os_1.default.networkInterfaces());
617
+ const interfaces = Object.keys(os.networkInterfaces());
602
618
  let netDeviceName = '';
603
619
  for (const k in interfaces) {
604
620
  if (interfaces[k] != 'lo') {
@@ -611,7 +627,7 @@ class Utils {
611
627
  * address
612
628
  */
613
629
  static address() {
614
- const interfaces = os_1.default.networkInterfaces();
630
+ const interfaces = os.networkInterfaces();
615
631
  let address = '';
616
632
  if (interfaces !== undefined) {
617
633
  for (const devName in interfaces) {
@@ -636,7 +652,7 @@ class Utils {
636
652
  * netmask
637
653
  */
638
654
  static netmask() {
639
- const interfaces = os_1.default.networkInterfaces();
655
+ const interfaces = os.networkInterfaces();
640
656
  let netmask = '';
641
657
  if (interfaces !== undefined) {
642
658
  for (const devName in interfaces) {
@@ -661,7 +677,7 @@ class Utils {
661
677
  * cidr
662
678
  */
663
679
  static cidr() {
664
- const interfaces = os_1.default.networkInterfaces();
680
+ const interfaces = os.networkInterfaces();
665
681
  let cidr = '';
666
682
  if (interfaces !== undefined) {
667
683
  for (const devName in interfaces) {
@@ -689,27 +705,27 @@ class Utils {
689
705
  * broadcast
690
706
  */
691
707
  static broadcast() {
692
- let n = new netmask_1.Netmask(Utils.cidr());
708
+ let n = new Netmask(Utils.cidr());
693
709
  return n.broadcast;
694
710
  }
695
711
  /**
696
712
  * dns
697
713
  */
698
714
  static getDns() {
699
- return dns_1.default.getServers();
715
+ return dns.getServers();
700
716
  }
701
717
  /**
702
718
  * getDomain
703
719
  */
704
720
  static getDomain() {
705
- return shelljs_1.default.exec('domainname', { silent: true }).stdout.trim();
721
+ return shx.exec('domainname', { silent: true }).stdout.trim();
706
722
  // return shx.exec(`route -n | grep 'UG[ \t]' | awk '{print $2}'`, { silent: true }).stdout.trim()
707
723
  }
708
724
  /**
709
725
  * @returns gateway
710
726
  */
711
727
  static gateway() {
712
- return shelljs_1.default.exec(`ip r | grep 'default' | awk '{print $3}'`, { silent: true }).stdout.trim();
728
+ return shx.exec(`ip r | grep 'default' | awk '{print $3}'`, { silent: true }).stdout.trim();
713
729
  //return shx.exec(`route -n | grep 'UG[ \t]' | awk '{print $2}'`, { silent: true }).stdout.trim()
714
730
  }
715
731
  /**
@@ -721,7 +737,7 @@ class Utils {
721
737
  text = text.trim() + '\n';
722
738
  text = text.trim() + '\n';
723
739
  file = file.trim();
724
- fs_1.default.writeFileSync(file, text);
740
+ fs.writeFileSync(file, text);
725
741
  }
726
742
  /**
727
743
  *
@@ -735,7 +751,7 @@ class Utils {
735
751
  text += `# ==> Perri\'s Brewery edition <== \n\n`;
736
752
  text += cmd;
737
753
  Utils.write(file, text);
738
- shelljs_1.default.chmod('+x', file);
754
+ shx.chmod('+x', file);
739
755
  }
740
756
  /**
741
757
  *
@@ -813,7 +829,7 @@ class Utils {
813
829
  msg = 'Press a key to continue...';
814
830
  }
815
831
  console.log(msg);
816
- const pressKeyToExit = (0, child_process_1.spawnSync)('read _ ', { shell: true, stdio: [0, 1, 2] });
832
+ const pressKeyToExit = spawnSync('read _ ', { shell: true, stdio: [0, 1, 2] });
817
833
  if (!procContinue) {
818
834
  process.exit(0);
819
835
  }
@@ -828,16 +844,16 @@ class Utils {
828
844
  console.log(' E G G S: the reproductive system of penguins');
829
845
  console.log('');
830
846
  console.log(Utils.flag());
831
- console.log('command: ' + chalk_1.default.bgBlack.white(command) + '\n');
847
+ console.log('command: ' + chalk.bgBlack.white(command) + '\n');
832
848
  }
833
849
  /**
834
850
  *
835
851
  * @returns flag
836
852
  */
837
853
  static flag() {
838
- return chalk_1.default.bgGreen.whiteBright(' ' + pjson.name + ' ') +
839
- chalk_1.default.bgWhite.blue(" Perri's Brewery edition ") +
840
- chalk_1.default.bgRed.whiteBright(' ver. ' + pjson.version + ' ');
854
+ return chalk.bgGreen.whiteBright(' ' + pjson.name + ' ') +
855
+ chalk.bgWhite.blue(" Perri's Brewery edition ") +
856
+ chalk.bgRed.whiteBright(' ver. ' + pjson.version + ' ');
841
857
  }
842
858
  /**
843
859
  *
@@ -870,11 +886,10 @@ class Utils {
870
886
  * @returns wardrobe
871
887
  */
872
888
  static async wardrobe() {
873
- let wardrobe = `${os_1.default.homedir()}/.wardrobe`;
889
+ let wardrobe = `${os.homedir()}/.wardrobe`;
874
890
  if (Utils.isRoot()) {
875
891
  wardrobe = `/home/${await Utils.getPrimaryUser()}/.wardrobe`;
876
892
  }
877
893
  return wardrobe;
878
894
  }
879
895
  }
880
- exports.default = Utils;
@@ -0,0 +1,45 @@
1
+ /**
2
+ * ./src/classes/xdg.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
+ * Xdg: xdg-user-dirs, etc
10
+ * @remarks all the utilities
11
+ */
12
+ export default class Xdg {
13
+ /**
14
+ *
15
+ * @param olduser
16
+ * @param newuser
17
+ * @param chroot
18
+ */
19
+ static autologin(olduser: string, newuser: string, chroot?: string): Promise<void>;
20
+ /**
21
+ *
22
+ * @param user
23
+ * @param chroot
24
+ * @param verbose
25
+ */
26
+ static create(user: string, chroot: string, traduce?: boolean, verbose?: boolean): Promise<void>;
27
+ /**
28
+ *
29
+ * @param chroot
30
+ * @param path
31
+ * @param verbose
32
+ */
33
+ static mk(chroot: string, path: string, verbose?: boolean): Promise<void>;
34
+ /**
35
+ * Copia della configurazione in /etc/skel
36
+ * @param user
37
+ * @param verbose
38
+ */
39
+ static skel(user: string, verbose?: boolean): Promise<void>;
40
+ /**
41
+ *
42
+ * @param xdg_dir
43
+ */
44
+ static traduce(xdg_dir?: string, traduce?: boolean): string;
45
+ }