penguins-eggs 9.8.1 → 10.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/.oclif.manifest.json +62 -62
  2. package/README.md +43 -40
  3. package/bin/dev.cmd +1 -1
  4. package/bin/dev.js +6 -6
  5. package/bin/run.js +3 -5
  6. package/conf/tools.yaml +1 -1
  7. package/dist/classes/bleach.d.ts +37 -0
  8. package/dist/classes/bleach.js +43 -91
  9. package/dist/classes/cfs.d.ts +17 -0
  10. package/dist/classes/cfs.js +15 -12
  11. package/dist/classes/compressors.d.ts +53 -0
  12. package/dist/classes/compressors.js +42 -47
  13. package/dist/classes/daddy.d.ts +18 -0
  14. package/dist/classes/daddy.js +92 -98
  15. package/dist/classes/distro.d.ts +26 -0
  16. package/dist/classes/distro.js +36 -37
  17. package/dist/classes/families/archlinux.d.ts +61 -0
  18. package/dist/classes/families/archlinux.js +52 -107
  19. package/dist/classes/families/debian.d.ts +65 -0
  20. package/dist/classes/families/debian.js +67 -142
  21. package/dist/classes/families/fedora.d.ts +52 -0
  22. package/dist/classes/families/fedora.js +42 -98
  23. package/dist/classes/families/mockup.d.ts +60 -0
  24. package/dist/classes/families/mockup.js +27 -46
  25. package/dist/classes/families/suse.d.ts +52 -0
  26. package/dist/classes/families/suse.js +44 -96
  27. package/dist/classes/incubation/branding.d.ts +17 -0
  28. package/dist/classes/incubation/branding.js +32 -36
  29. package/dist/classes/incubation/distros/bionic.d.ts +32 -0
  30. package/dist/classes/incubation/distros/bionic.js +11 -16
  31. package/dist/classes/incubation/distros/buster.d.ts +32 -0
  32. package/dist/classes/incubation/distros/buster.js +13 -18
  33. package/dist/classes/incubation/distros/focal.d.ts +32 -0
  34. package/dist/classes/incubation/distros/focal.js +11 -16
  35. package/dist/classes/incubation/distros/jessie.d.ts +31 -0
  36. package/dist/classes/incubation/distros/jessie.js +8 -13
  37. package/dist/classes/incubation/distros/rolling.d.ts +32 -0
  38. package/dist/classes/incubation/distros/rolling.js +11 -16
  39. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +11 -0
  40. package/dist/classes/incubation/fisherman-helper/displaymanager.js +8 -9
  41. package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
  42. package/dist/classes/incubation/fisherman-helper/packages.js +17 -20
  43. package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
  44. package/dist/classes/incubation/fisherman-helper/settings.js +30 -28
  45. package/dist/classes/incubation/fisherman.d.ts +77 -0
  46. package/dist/classes/incubation/fisherman.js +135 -131
  47. package/dist/classes/incubation/incubator.d.ts +40 -0
  48. package/dist/classes/incubation/incubator.js +90 -89
  49. package/dist/classes/incubation/installer.d.ts +13 -0
  50. package/dist/classes/incubation/installer.js +27 -12
  51. package/dist/classes/initrd.d.ts +41 -0
  52. package/dist/classes/initrd.js +40 -42
  53. package/dist/classes/keyboards.d.ts +50 -0
  54. package/dist/classes/keyboards.js +108 -105
  55. package/dist/classes/locales.d.ts +21 -0
  56. package/dist/classes/locales.js +30 -34
  57. package/dist/classes/n8.d.ts +17 -0
  58. package/dist/classes/n8.js +16 -22
  59. package/dist/classes/network.d.ts +37 -0
  60. package/dist/classes/network.js +14 -18
  61. package/dist/classes/ovary.d.ts +205 -0
  62. package/dist/classes/ovary.js +1281 -1294
  63. package/dist/classes/pacman.d.ts +149 -0
  64. package/dist/classes/pacman.js +344 -418
  65. package/dist/classes/pve-live.d.ts +17 -0
  66. package/dist/classes/pve-live.js +22 -24
  67. package/dist/classes/pxe.d.ts +65 -0
  68. package/dist/classes/pxe.js +204 -206
  69. package/dist/classes/settings.d.ts +53 -0
  70. package/dist/classes/settings.js +91 -94
  71. package/dist/classes/sources_list.d.ts +28 -0
  72. package/dist/classes/sources_list.js +35 -39
  73. package/dist/classes/systemctl.d.ts +47 -0
  74. package/dist/classes/systemctl.js +34 -38
  75. package/dist/classes/tailor.d.ts +46 -0
  76. package/dist/classes/tailor.js +223 -239
  77. package/dist/classes/tools.d.ts +30 -0
  78. package/dist/classes/tools.js +18 -22
  79. package/dist/classes/users.d.ts +28 -0
  80. package/dist/classes/users.js +18 -22
  81. package/dist/classes/utils.d.ts +318 -0
  82. package/dist/classes/utils.js +78 -78
  83. package/dist/classes/xdg.d.ts +45 -0
  84. package/dist/classes/xdg.js +129 -133
  85. package/dist/classes/yolk.d.ts +33 -0
  86. package/dist/classes/yolk.js +53 -57
  87. package/dist/commands/adapt.d.ts +17 -0
  88. package/dist/commands/adapt.js +17 -21
  89. package/dist/commands/analyze.d.ts +26 -0
  90. package/dist/commands/analyze.js +56 -67
  91. package/dist/commands/calamares.d.ts +29 -0
  92. package/dist/commands/calamares.js +44 -48
  93. package/dist/commands/config.d.ts +36 -0
  94. package/dist/commands/config.js +115 -137
  95. package/dist/commands/cuckoo.d.ts +16 -0
  96. package/dist/commands/cuckoo.js +20 -24
  97. package/dist/commands/dad.d.ts +19 -0
  98. package/dist/commands/dad.js +20 -24
  99. package/dist/commands/export/deb.d.ts +19 -0
  100. package/dist/commands/export/deb.js +19 -23
  101. package/dist/commands/export/iso.d.ts +19 -0
  102. package/dist/commands/export/iso.js +19 -23
  103. package/dist/commands/install.d.ts +37 -0
  104. package/dist/commands/install.js +46 -50
  105. package/dist/commands/kill.d.ts +24 -0
  106. package/dist/commands/kill.js +25 -29
  107. package/dist/commands/mom.d.ts +16 -0
  108. package/dist/commands/mom.js +16 -18
  109. package/dist/commands/produce.d.ts +33 -0
  110. package/dist/commands/produce.js +64 -66
  111. package/dist/commands/status.d.ts +23 -0
  112. package/dist/commands/status.js +10 -14
  113. package/dist/commands/syncfrom.d.ts +45 -0
  114. package/dist/commands/syncfrom.js +85 -89
  115. package/dist/commands/syncto.d.ts +40 -0
  116. package/dist/commands/syncto.js +91 -95
  117. package/dist/commands/tools/clean.d.ts +18 -0
  118. package/dist/commands/tools/clean.js +17 -21
  119. package/dist/commands/tools/ppa.d.ts +26 -0
  120. package/dist/commands/tools/ppa.js +41 -45
  121. package/dist/commands/tools/skel.d.ts +18 -0
  122. package/dist/commands/tools/skel.js +22 -26
  123. package/dist/commands/tools/stat.d.ts +31 -0
  124. package/dist/commands/tools/stat.js +15 -19
  125. package/dist/commands/tools/yolk.d.ts +24 -0
  126. package/dist/commands/tools/yolk.js +19 -23
  127. package/dist/commands/update.d.ts +47 -0
  128. package/dist/commands/update.js +62 -66
  129. package/dist/commands/wardrobe/get.d.ts +23 -0
  130. package/dist/commands/wardrobe/get.js +19 -23
  131. package/dist/commands/wardrobe/list.d.ts +24 -0
  132. package/dist/commands/wardrobe/list.js +61 -60
  133. package/dist/commands/wardrobe/show.d.ts +25 -0
  134. package/dist/commands/wardrobe/show.js +50 -47
  135. package/dist/commands/wardrobe/wear.d.ts +26 -0
  136. package/dist/commands/wardrobe/wear.js +32 -36
  137. package/dist/components/finished.d.ts +15 -0
  138. package/dist/components/finished.js +37 -42
  139. package/dist/components/information.d.ts +8 -0
  140. package/dist/components/information.js +155 -0
  141. package/dist/components/install.d.ts +15 -0
  142. package/dist/components/install.js +31 -35
  143. package/dist/components/keyboard.d.ts +16 -0
  144. package/dist/components/keyboard.js +37 -40
  145. package/dist/components/location.d.ts +16 -0
  146. package/dist/components/location.js +38 -38
  147. package/dist/components/network.d.ts +19 -0
  148. package/dist/components/network.js +47 -48
  149. package/dist/components/partitions.d.ts +16 -0
  150. package/dist/components/partitions.js +47 -51
  151. package/dist/components/steps.d.ts +13 -0
  152. package/dist/components/steps.js +148 -0
  153. package/dist/components/summary.d.ts +24 -0
  154. package/dist/components/summary.js +50 -54
  155. package/dist/components/title.d.ts +12 -0
  156. package/dist/components/title.js +35 -0
  157. package/dist/components/users.d.ts +24 -0
  158. package/dist/components/users.js +43 -43
  159. package/dist/components/welcome.d.ts +13 -0
  160. package/dist/components/welcome.js +37 -38
  161. package/dist/index.d.ts +8 -0
  162. package/dist/index.js +8 -5
  163. package/dist/interfaces/i-addons.d.ts +13 -0
  164. package/dist/interfaces/i-addons.js +8 -3
  165. package/dist/interfaces/i-analyze.d.ts +17 -0
  166. package/dist/interfaces/i-analyze.js +7 -10
  167. package/dist/interfaces/i-app.d.ts +14 -0
  168. package/dist/interfaces/i-app.js +8 -2
  169. package/dist/interfaces/i-branding.d.ts +36 -0
  170. package/dist/interfaces/i-branding.js +8 -2
  171. package/dist/interfaces/i-calamares-partition.d.ts +18 -0
  172. package/dist/interfaces/i-calamares-partition.js +3 -4
  173. package/dist/interfaces/i-config-tools.d.ts +18 -0
  174. package/dist/interfaces/i-config-tools.js +8 -2
  175. package/dist/interfaces/i-devices.d.ts +20 -0
  176. package/dist/interfaces/i-devices.js +8 -2
  177. package/dist/interfaces/i-distro.d.ts +27 -0
  178. package/dist/interfaces/i-distro.js +3 -4
  179. package/dist/interfaces/i-drive-list.d.ts +33 -0
  180. package/dist/interfaces/i-drive-list.js +3 -4
  181. package/dist/interfaces/i-eggs-config.d.ts +32 -0
  182. package/dist/interfaces/i-eggs-config.js +3 -4
  183. package/dist/interfaces/i-excludes.d.ts +14 -0
  184. package/dist/interfaces/i-excludes.js +8 -2
  185. package/dist/interfaces/i-exec.d.ts +11 -0
  186. package/dist/interfaces/i-exec.js +3 -4
  187. package/dist/interfaces/i-initrd.d.ts +13 -0
  188. package/dist/interfaces/i-initrd.js +8 -2
  189. package/dist/interfaces/i-install.d.ts +16 -0
  190. package/dist/interfaces/i-install.js +8 -2
  191. package/dist/interfaces/i-installer.d.ts +17 -0
  192. package/dist/interfaces/i-installer.js +8 -2
  193. package/dist/interfaces/i-krill-config.d.ts +33 -0
  194. package/dist/interfaces/i-krill-config.js +3 -4
  195. package/dist/interfaces/i-krill.d.ts +42 -0
  196. package/dist/interfaces/i-krill.js +8 -2
  197. package/dist/interfaces/i-materia.d.ts +41 -0
  198. package/dist/interfaces/i-materia.js +8 -2
  199. package/dist/interfaces/i-net.d.ts +16 -0
  200. package/dist/interfaces/i-net.js +8 -2
  201. package/dist/interfaces/i-packages.d.ts +29 -0
  202. package/dist/interfaces/i-packages.js +3 -4
  203. package/dist/interfaces/i-partitions.d.ts +16 -0
  204. package/dist/interfaces/i-partitions.js +8 -2
  205. package/dist/interfaces/i-pxe.d.ts +21 -0
  206. package/dist/interfaces/i-pxe.js +8 -39
  207. package/dist/interfaces/i-remix.d.ts +21 -0
  208. package/dist/interfaces/i-remix.js +3 -4
  209. package/dist/interfaces/i-settings.d.ts +39 -0
  210. package/dist/interfaces/i-settings.js +8 -2
  211. package/dist/interfaces/i-user.d.ts +14 -0
  212. package/dist/interfaces/i-user.js +8 -2
  213. package/dist/interfaces/i-workdir.d.ts +14 -0
  214. package/dist/interfaces/i-workdir.js +8 -2
  215. package/dist/interfaces/i-xkb-model.d.ts +24 -0
  216. package/dist/interfaces/i-xkb-model.js +8 -2
  217. package/dist/interfaces/index.d.ts +25 -0
  218. package/dist/interfaces/index.js +3 -4
  219. package/dist/krill/modules/add-user.d.ts +20 -0
  220. package/dist/krill/modules/add-user.js +11 -15
  221. package/dist/krill/modules/bootloader-config-arch.d.ts +14 -0
  222. package/dist/krill/modules/bootloader-config-arch.js +15 -11
  223. package/dist/krill/modules/bootloader-config-debian.d.ts +10 -0
  224. package/dist/krill/modules/bootloader-config-debian.js +20 -16
  225. package/dist/krill/modules/bootloader-config.d.ts +10 -0
  226. package/dist/krill/modules/bootloader-config.js +3 -6
  227. package/dist/krill/modules/bootloader.d.ts +14 -0
  228. package/dist/krill/modules/bootloader.js +9 -13
  229. package/dist/krill/modules/change-password.d.ts +15 -0
  230. package/dist/krill/modules/change-password.js +5 -8
  231. package/dist/krill/modules/del-live-user.d.ts +14 -0
  232. package/dist/krill/modules/del-live-user.js +8 -12
  233. package/dist/krill/modules/fstab.d.ts +14 -0
  234. package/dist/krill/modules/fstab.js +33 -37
  235. package/dist/krill/modules/grubcfg.d.ts +17 -0
  236. package/dist/krill/modules/grubcfg.js +8 -17
  237. package/dist/krill/modules/hostname.d.ts +13 -0
  238. package/dist/krill/modules/hostname.js +11 -17
  239. package/dist/krill/modules/initramfs-cfg.d.ts +14 -0
  240. package/dist/krill/modules/initramfs-cfg.js +6 -15
  241. package/dist/krill/modules/initramfs.d.ts +13 -0
  242. package/dist/krill/modules/initramfs.js +17 -19
  243. package/dist/krill/modules/locale-cfg.d.ts +10 -0
  244. package/dist/krill/modules/locale-cfg.js +8 -12
  245. package/dist/krill/modules/locale.d.ts +13 -0
  246. package/dist/krill/modules/locale.js +7 -11
  247. package/dist/krill/modules/m-keyboard.d.ts +14 -0
  248. package/dist/krill/modules/m-keyboard.js +14 -18
  249. package/dist/krill/modules/m-timezone.d.ts +14 -0
  250. package/dist/krill/modules/m-timezone.js +8 -12
  251. package/dist/krill/modules/machine-id.d.ts +15 -0
  252. package/dist/krill/modules/machine-id.js +6 -10
  253. package/dist/krill/modules/mkfs.d.ts +13 -0
  254. package/dist/krill/modules/mkfs.js +10 -13
  255. package/dist/krill/modules/mount-fs.d.ts +17 -0
  256. package/dist/krill/modules/mount-fs.js +20 -26
  257. package/dist/krill/modules/mount-vfs.d.ts +17 -0
  258. package/dist/krill/modules/mount-vfs.js +16 -21
  259. package/dist/krill/modules/network-cfg.d.ts +19 -0
  260. package/dist/krill/modules/network-cfg.js +16 -20
  261. package/dist/krill/modules/packages.d.ts +14 -0
  262. package/dist/krill/modules/packages.js +17 -21
  263. package/dist/krill/modules/partition.d.ts +20 -0
  264. package/dist/krill/modules/partition.js +78 -84
  265. package/dist/krill/modules/remove-installer-link.d.ts +13 -0
  266. package/dist/krill/modules/remove-installer-link.js +7 -11
  267. package/dist/krill/modules/umount.d.ts +14 -0
  268. package/dist/krill/modules/umount.js +9 -13
  269. package/dist/krill/modules/unpackfs.d.ts +13 -0
  270. package/dist/krill/modules/unpackfs.js +7 -11
  271. package/dist/krill/prepare.d.ts +77 -0
  272. package/dist/krill/{krill-prepare.js → prepare.js} +118 -124
  273. package/dist/krill/sequence.d.ts +156 -0
  274. package/dist/krill/{krill-sequence.js → sequence.js} +166 -170
  275. package/dist/lib/cli-autologin.d.ts +43 -0
  276. package/dist/lib/cli-autologin.js +88 -92
  277. package/dist/lib/get_address.d.ts +8 -0
  278. package/dist/lib/get_address.js +9 -11
  279. package/dist/lib/get_dns.d.ts +8 -0
  280. package/dist/lib/get_dns.js +9 -11
  281. package/dist/lib/get_domain.d.ts +8 -0
  282. package/dist/lib/get_domain.js +9 -11
  283. package/dist/lib/get_gateway.d.ts +8 -0
  284. package/dist/lib/get_gateway.js +9 -11
  285. package/dist/lib/get_hostname.d.ts +8 -0
  286. package/dist/lib/get_hostname.js +9 -11
  287. package/dist/lib/get_netmask.d.ts +8 -0
  288. package/dist/lib/get_netmask.js +9 -11
  289. package/dist/lib/get_password.d.ts +8 -0
  290. package/dist/lib/get_password.js +10 -13
  291. package/dist/lib/get_userfullname.d.ts +8 -0
  292. package/dist/lib/get_userfullname.js +9 -11
  293. package/dist/lib/get_username.d.ts +8 -0
  294. package/dist/lib/get_username.js +9 -12
  295. package/dist/lib/kill_me_softly.d.ts +11 -0
  296. package/dist/lib/kill_me_softly.js +19 -24
  297. package/dist/lib/select_address_type.d.ts +8 -0
  298. package/dist/lib/select_address_type.js +9 -12
  299. package/dist/lib/select_filesystem_type.d.ts +8 -0
  300. package/dist/lib/select_filesystem_type.js +15 -18
  301. package/dist/lib/select_installation_device.d.ts +8 -0
  302. package/dist/lib/select_installation_device.js +11 -15
  303. package/dist/lib/select_installation_mode.d.ts +8 -0
  304. package/dist/lib/select_installation_mode.js +9 -11
  305. package/dist/lib/select_interface.d.ts +8 -0
  306. package/dist/lib/select_interface.js +9 -12
  307. package/dist/lib/select_keyboard_layout.d.ts +11 -0
  308. package/dist/lib/select_keyboard_layout.js +11 -15
  309. package/dist/lib/select_keyboard_model.d.ts +11 -0
  310. package/dist/lib/select_keyboard_model.js +11 -15
  311. package/dist/lib/select_keyboard_option.d.ts +11 -0
  312. package/dist/lib/select_keyboard_option.js +11 -15
  313. package/dist/lib/select_keyboard_variant.d.ts +11 -0
  314. package/dist/lib/select_keyboard_variant.js +11 -15
  315. package/dist/lib/select_languages.d.ts +8 -0
  316. package/dist/lib/select_languages.js +11 -15
  317. package/dist/lib/select_regions.d.ts +8 -0
  318. package/dist/lib/select_regions.js +9 -11
  319. package/dist/lib/select_user_swap_choice.d.ts +8 -0
  320. package/dist/lib/select_user_swap_choice.js +13 -17
  321. package/dist/lib/select_zones.d.ts +8 -0
  322. package/dist/lib/select_zones.js +9 -11
  323. package/dist/lib/utils.d.ts +34 -0
  324. package/dist/lib/utils.js +24 -14
  325. package/manpages/doc/man/eggs.1.gz +0 -0
  326. package/manpages/doc/man/eggs.html +10 -10
  327. package/package.json +48 -69
  328. package/LICENSE +0 -339
  329. package/bin/dev +0 -17
  330. package/bin/run +0 -5
  331. package/dist/components/elements/information.js +0 -194
  332. package/dist/components/elements/steps.js +0 -152
  333. package/dist/components/elements/title.js +0 -36
  334. package/dist/lib/dependencies.js +0 -121
@@ -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,15 +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 = '';
112
113
  // patch per raspberry arm64
113
114
  // find vmlinuz in /proc/cmdline
114
- const cmdline = fs_1.default.readFileSync('/proc/cmdline', 'utf8').split(" ");
115
+ const cmdline = fs.readFileSync('/proc/cmdline', 'utf8').split(" ");
115
116
  cmdline.forEach(cmd => {
116
117
  if (cmd.includes('BOOT_IMAGE')) {
117
118
  vmlinuz = cmd.substring(cmd.indexOf('=') + 1);
118
- if (!fs_1.default.existsSync(vmlinuz) && fs_1.default.existsSync(`/boot${vmlinuz}`)) {
119
+ if (!fs.existsSync(vmlinuz) && fs.existsSync(`/boot${vmlinuz}`)) {
119
120
  vmlinuz = `/boot${vmlinuz}`;
120
121
  }
121
122
  }
@@ -129,12 +130,12 @@ class Utils {
129
130
  * but =/vmlinuz-linux exists in /boot/
130
131
  */
131
132
  if (vmlinuz === '/vmlinuz-linux' || vmlinuz === '/vmlinuz-linux-zen') {
132
- if (fs_1.default.existsSync(`/boot${vmlinuz}`)) {
133
+ if (fs.existsSync(`/boot${vmlinuz}`)) {
133
134
  vmlinuz = `/boot${vmlinuz}`;
134
135
  }
135
136
  }
136
137
  if (process.arch === 'arm64') {
137
- const kernelVersion = shelljs_1.default.exec('uname -r', { silent: true }).stdout.trim();
138
+ const kernelVersion = shx.exec('uname -r', { silent: true }).stdout.trim();
138
139
  vmlinuz = `/boot/vmlinuz-${kernelVersion}`;
139
140
  }
140
141
  /**
@@ -161,7 +162,7 @@ class Utils {
161
162
  /**
162
163
  * if not exists exit
163
164
  */
164
- if (!fs_1.default.existsSync(vmlinuz)) {
165
+ if (!fs.existsSync(vmlinuz)) {
165
166
  console.log(vmlinuz + ' not exists!');
166
167
  process.exit();
167
168
  }
@@ -176,7 +177,7 @@ class Utils {
176
177
  let initrd = 'initrd.img';
177
178
  let version = 'linux';
178
179
  let suffix = '';
179
- let distro = new distro_1.default();
180
+ let distro = new Distro();
180
181
  if (distro.familyId === 'debian') {
181
182
  version = vmlinuz.substring(vmlinuz.indexOf('-') + 1);
182
183
  }
@@ -195,11 +196,11 @@ class Utils {
195
196
  */
196
197
  static machineId() {
197
198
  let result = '';
198
- if (fs_1.default.existsSync('/etc/machine-id')) {
199
- 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();
200
201
  }
201
- else if (fs_1.default.existsSync('/var/lib/dbus/machine-id')) {
202
- 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();
203
204
  }
204
205
  return result;
205
206
  }
@@ -208,19 +209,19 @@ class Utils {
208
209
  * @param msg
209
210
  */
210
211
  static warning(msg = '') {
211
- console.log(pjson.shortName + ' >>> ' + chalk_1.default.cyanBright(msg) + '.');
212
+ console.log(pjson.shortName + ' >>> ' + chalk.cyanBright(msg) + '.');
212
213
  }
213
214
  static error(msg = '') {
214
- console.error(pjson.shortName + ' >>> ' + chalk_1.default.bgMagentaBright(chalk_1.default.whiteBright(msg)) + '.');
215
+ console.error(pjson.shortName + ' >>> ' + chalk.bgMagentaBright(chalk.whiteBright(msg)) + '.');
215
216
  }
216
217
  /**
217
218
  * Return the primary user's name
218
219
  */
219
220
  static async getPrimaryUser() {
220
- 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();
221
222
  // if logname don't work seem we get '' so:
222
223
  if (primaryUser === '') {
223
- primaryUser = shelljs_1.default.exec('echo $SUDO_USER', { silent: true }).stdout.trim();
224
+ primaryUser = shx.exec('echo $SUDO_USER', { silent: true }).stdout.trim();
224
225
  }
225
226
  if (primaryUser === '') {
226
227
  console.log(`Cannot find your user name...`);
@@ -233,7 +234,7 @@ class Utils {
233
234
  * @param device
234
235
  */
235
236
  static uuid(device) {
236
- 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();
237
238
  return uuid;
238
239
  }
239
240
  /**
@@ -273,8 +274,8 @@ class Utils {
273
274
  * @returns {number} Numero degli snapshot presenti
274
275
  */
275
276
  static getSnapshotCount(snapshot_dir = '/') {
276
- if (fs_1.default.existsSync(snapshot_dir)) {
277
- const files = fs_1.default.readdirSync(snapshot_dir);
277
+ if (fs.existsSync(snapshot_dir)) {
278
+ const files = fs.readdirSync(snapshot_dir);
278
279
  let nIsos = 0;
279
280
  for (const f of files) {
280
281
  if (f.endsWith('.iso')) {
@@ -291,7 +292,7 @@ class Utils {
291
292
  */
292
293
  static getSnapshotSize(snapshot_dir = '/') {
293
294
  let fileSizeInBytes = 0;
294
- 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();
295
296
  if (size === '') {
296
297
  fileSizeInBytes = 0;
297
298
  }
@@ -309,7 +310,7 @@ class Utils {
309
310
  if (process.arch === 'ia32') {
310
311
  arch = 'i386';
311
312
  //
312
- 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') {
313
314
  arch = 'amd64';
314
315
  }
315
316
  }
@@ -330,7 +331,7 @@ class Utils {
330
331
  let format = '';
331
332
  if (process.arch === 'ia32') {
332
333
  format = 'i386-efi';
333
- 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') {
334
335
  format = 'x86_64-efi';
335
336
  }
336
337
  }
@@ -417,7 +418,7 @@ class Utils {
417
418
  fileSizeInBytes = 0; // this.getLiveRootSpace()
418
419
  }
419
420
  else {
420
- 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}'`, {
421
422
  silent: true
422
423
  }).stdout);
423
424
  }
@@ -435,9 +436,9 @@ class Utils {
435
436
  squashFs = '/live/boot-dev/antiX/linuxfs';
436
437
  }
437
438
  // Ottengo la dimensione del file compresso
438
- const compressedFs = fs_1.default.statSync(squashFs).size;
439
+ const compressedFs = fs.statSync(squashFs).size;
439
440
  // get compression factor by reading the linuxfs squasfs file, if available
440
- 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`);
441
442
  let compression_factor = 0;
442
443
  if (compressedFs_compression_type === '1') {
443
444
  compression_factor = 37; // gzip
@@ -458,9 +459,9 @@ class Utils {
458
459
  compression_factor = 30; // anything else or linuxfs not reachable (toram), should be pretty conservative
459
460
  }
460
461
  let rootfs_file_size = 0;
461
- 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;
462
- if (fs_1.default.existsSync('/live/persist-root')) {
463
- 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;
464
465
  }
465
466
  let rootSpaceNeeded;
466
467
  if (type === 'mx') {
@@ -514,7 +515,7 @@ class Utils {
514
515
  *
515
516
  */
516
517
  static rootPenguin() {
517
- return path_1.default.resolve(__dirname, '../../');
518
+ return path.resolve(__dirname, '../../');
518
519
  }
519
520
  /**
520
521
  * return the short name of the package: eggs
@@ -542,7 +543,7 @@ class Utils {
542
543
  */
543
544
  static getDebianVersion() {
544
545
  const cmd = "cat /etc/debian_version | /usr/bin/cut -f1 -d'.'";
545
- const version = Number(shelljs_1.default.exec(cmd, { silent: true }).stdout);
546
+ const version = Number(shx.exec(cmd, { silent: true }).stdout);
546
547
  return version;
547
548
  }
548
549
  /**
@@ -572,7 +573,7 @@ class Utils {
572
573
  static isMountpoint(path = '') {
573
574
  const cmd = `mountpoint -q ${path}`;
574
575
  // return 0 if the directory is a mountpoint, non-zero if not.
575
- const result = shelljs_1.default.exec(cmd, { silent: true }).code;
576
+ const result = shx.exec(cmd, { silent: true }).code;
576
577
  return result === 0;
577
578
  }
578
579
  /**
@@ -582,7 +583,7 @@ class Utils {
582
583
  */
583
584
  static isBlockDevice(device = '') {
584
585
  const cmd = `lsblk -d -o name | grep ${device}`;
585
- const result = shelljs_1.default.exec(cmd, { silent: true }).code;
586
+ const result = shx.exec(cmd, { silent: true }).code;
586
587
  return result === 0;
587
588
  }
588
589
  /**
@@ -606,14 +607,14 @@ class Utils {
606
607
  * get the kernel version
607
608
  */
608
609
  static kernelVersion() {
609
- return os_1.default.release();
610
+ return os.release();
610
611
  }
611
612
  /**
612
613
  * return the name of network device
613
614
  */
614
615
  static async iface() {
615
616
  // return shx.exec(`ifconfig | awk 'FNR==1 { print $1 }' | tr --d :`, { silent: true }).stdout.trim()
616
- const interfaces = Object.keys(os_1.default.networkInterfaces());
617
+ const interfaces = Object.keys(os.networkInterfaces());
617
618
  let netDeviceName = '';
618
619
  for (const k in interfaces) {
619
620
  if (interfaces[k] != 'lo') {
@@ -626,7 +627,7 @@ class Utils {
626
627
  * address
627
628
  */
628
629
  static address() {
629
- const interfaces = os_1.default.networkInterfaces();
630
+ const interfaces = os.networkInterfaces();
630
631
  let address = '';
631
632
  if (interfaces !== undefined) {
632
633
  for (const devName in interfaces) {
@@ -651,7 +652,7 @@ class Utils {
651
652
  * netmask
652
653
  */
653
654
  static netmask() {
654
- const interfaces = os_1.default.networkInterfaces();
655
+ const interfaces = os.networkInterfaces();
655
656
  let netmask = '';
656
657
  if (interfaces !== undefined) {
657
658
  for (const devName in interfaces) {
@@ -676,7 +677,7 @@ class Utils {
676
677
  * cidr
677
678
  */
678
679
  static cidr() {
679
- const interfaces = os_1.default.networkInterfaces();
680
+ const interfaces = os.networkInterfaces();
680
681
  let cidr = '';
681
682
  if (interfaces !== undefined) {
682
683
  for (const devName in interfaces) {
@@ -704,27 +705,27 @@ class Utils {
704
705
  * broadcast
705
706
  */
706
707
  static broadcast() {
707
- let n = new netmask_1.Netmask(Utils.cidr());
708
+ let n = new Netmask(Utils.cidr());
708
709
  return n.broadcast;
709
710
  }
710
711
  /**
711
712
  * dns
712
713
  */
713
714
  static getDns() {
714
- return dns_1.default.getServers();
715
+ return dns.getServers();
715
716
  }
716
717
  /**
717
718
  * getDomain
718
719
  */
719
720
  static getDomain() {
720
- return shelljs_1.default.exec('domainname', { silent: true }).stdout.trim();
721
+ return shx.exec('domainname', { silent: true }).stdout.trim();
721
722
  // return shx.exec(`route -n | grep 'UG[ \t]' | awk '{print $2}'`, { silent: true }).stdout.trim()
722
723
  }
723
724
  /**
724
725
  * @returns gateway
725
726
  */
726
727
  static gateway() {
727
- 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();
728
729
  //return shx.exec(`route -n | grep 'UG[ \t]' | awk '{print $2}'`, { silent: true }).stdout.trim()
729
730
  }
730
731
  /**
@@ -736,7 +737,7 @@ class Utils {
736
737
  text = text.trim() + '\n';
737
738
  text = text.trim() + '\n';
738
739
  file = file.trim();
739
- fs_1.default.writeFileSync(file, text);
740
+ fs.writeFileSync(file, text);
740
741
  }
741
742
  /**
742
743
  *
@@ -750,7 +751,7 @@ class Utils {
750
751
  text += `# ==> Perri\'s Brewery edition <== \n\n`;
751
752
  text += cmd;
752
753
  Utils.write(file, text);
753
- shelljs_1.default.chmod('+x', file);
754
+ shx.chmod('+x', file);
754
755
  }
755
756
  /**
756
757
  *
@@ -828,7 +829,7 @@ class Utils {
828
829
  msg = 'Press a key to continue...';
829
830
  }
830
831
  console.log(msg);
831
- 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] });
832
833
  if (!procContinue) {
833
834
  process.exit(0);
834
835
  }
@@ -843,16 +844,16 @@ class Utils {
843
844
  console.log(' E G G S: the reproductive system of penguins');
844
845
  console.log('');
845
846
  console.log(Utils.flag());
846
- console.log('command: ' + chalk_1.default.bgBlack.white(command) + '\n');
847
+ console.log('command: ' + chalk.bgBlack.white(command) + '\n');
847
848
  }
848
849
  /**
849
850
  *
850
851
  * @returns flag
851
852
  */
852
853
  static flag() {
853
- return chalk_1.default.bgGreen.whiteBright(' ' + pjson.name + ' ') +
854
- chalk_1.default.bgWhite.blue(" Perri's Brewery edition ") +
855
- 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 + ' ');
856
857
  }
857
858
  /**
858
859
  *
@@ -885,11 +886,10 @@ class Utils {
885
886
  * @returns wardrobe
886
887
  */
887
888
  static async wardrobe() {
888
- let wardrobe = `${os_1.default.homedir()}/.wardrobe`;
889
+ let wardrobe = `${os.homedir()}/.wardrobe`;
889
890
  if (Utils.isRoot()) {
890
891
  wardrobe = `/home/${await Utils.getPrimaryUser()}/.wardrobe`;
891
892
  }
892
893
  return wardrobe;
893
894
  }
894
895
  }
895
- 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
+ }