penguins-eggs 9.8.1 → 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 (334) hide show
  1. package/.oclif.manifest.json +242 -242
  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 +49 -70
  328. package/LICENSE +0 -339
  329. package/bin/dev +0 -17
  330. package/bin/run +0 -5
  331. package/dist/components/elements/information.js +0 -194
  332. package/dist/components/elements/steps.js +0 -152
  333. package/dist/components/elements/title.js +0 -36
  334. package/dist/lib/dependencies.js +0 -121
@@ -0,0 +1,30 @@
1
+ /**
2
+ * ./src/classes/tools.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
+ interface IEggsConfigTools {
9
+ filterDeb: string;
10
+ localPathDeb: string;
11
+ localPathDoc: string;
12
+ localPathIso: string;
13
+ remoteHost: string;
14
+ remotePathDeb: string;
15
+ remotePathDoc: string;
16
+ remotePathIso: string;
17
+ remoteUser: string;
18
+ }
19
+ /**
20
+ * Utils: general porpourse utils
21
+ * @remarks all the utilities
22
+ */
23
+ export default class Tools {
24
+ config: IEggsConfigTools;
25
+ snapshot_dir: string;
26
+ snapshot_name: string;
27
+ tools_yaml: string;
28
+ loadSettings(): Promise<boolean>;
29
+ }
30
+ export {};
@@ -1,35 +1,32 @@
1
- "use strict";
2
1
  /**
3
- * penguins-eggs
4
- * class: tools.ts
5
- * author: Piero Proietti
6
- * email: piero.proietti@gmail.com
7
- * license: MIT
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- const tslib_1 = require("tslib");
11
- const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
12
- const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
13
- const settings_1 = tslib_1.__importDefault(require("./settings"));
14
- const utils_1 = tslib_1.__importDefault(require("./utils"));
2
+ * ./src/classes/tools.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 yaml from 'js-yaml';
9
+ import fs from 'node:fs';
10
+ import Settings from './settings.js';
11
+ import Utils from './utils.js';
15
12
  /**
16
13
  * Utils: general porpourse utils
17
14
  * @remarks all the utilities
18
15
  */
19
- class Tools {
20
- tools_yaml = '/etc/penguins-eggs.d/tools.yaml';
16
+ export default class Tools {
17
+ config = {};
21
18
  snapshot_dir = '';
22
19
  snapshot_name = '';
23
- config = {};
20
+ tools_yaml = '/etc/penguins-eggs.d/tools.yaml';
24
21
  /*
25
22
  * Load configuration from /etc/penguins-eggs.yaml
26
23
  * @returns {boolean} Success
27
24
  */
28
25
  async loadSettings() {
29
26
  let foundSettings = false;
30
- if (node_fs_1.default.existsSync(this.tools_yaml)) {
27
+ if (fs.existsSync(this.tools_yaml)) {
31
28
  foundSettings = true;
32
- const loaded = js_yaml_1.default.load(node_fs_1.default.readFileSync(this.tools_yaml, 'utf-8'));
29
+ const loaded = yaml.load(fs.readFileSync(this.tools_yaml, 'utf8'));
33
30
  this.config.remoteHost = loaded.remoteHost;
34
31
  this.config.remoteUser = loaded.remoteUser;
35
32
  this.config.remotePathDeb = loaded.remotePathDeb;
@@ -42,11 +39,11 @@ class Tools {
42
39
  /**
43
40
  * da eggs
44
41
  */
45
- const settings = new settings_1.default();
42
+ const settings = new Settings();
46
43
  settings.load();
47
44
  this.snapshot_dir = settings.config.snapshot_dir;
48
- let prefix = settings.config.snapshot_prefix;
49
- this.snapshot_name = prefix + settings.config.snapshot_basename + '_' + utils_1.default.uefiArch();
45
+ const prefix = settings.config.snapshot_prefix;
46
+ this.snapshot_name = prefix + settings.config.snapshot_basename + '_' + Utils.uefiArch();
50
47
  }
51
48
  else {
52
49
  console.log(`Can't find: ${this.tools_yaml}`);
@@ -55,4 +52,3 @@ class Tools {
55
52
  return foundSettings;
56
53
  }
57
54
  }
58
- exports.default = Tools;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * ./src/classes/users.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
+ *
10
+ */
11
+ export default class Users {
12
+ gecos: string;
13
+ gid: string;
14
+ hasHome: boolean;
15
+ home: string;
16
+ login: string;
17
+ password: string;
18
+ saveIt: boolean;
19
+ shell: string;
20
+ size: number;
21
+ uid: string;
22
+ constructor(login: string, password: string, uid: string, gid: string, gecos: string, home: string, shell: string);
23
+ /**
24
+ * getSize
25
+ * @param verbose
26
+ */
27
+ getValues(): Promise<void>;
28
+ }
@@ -1,29 +1,26 @@
1
- "use strict";
2
1
  /**
3
- * penguins-eggs
4
- * class: users.ts
5
- * author: Piero Proietti
6
- * email: piero.proietti@gmail.com
7
- * license: MIT
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- const tslib_1 = require("tslib");
11
- const fs_1 = tslib_1.__importDefault(require("fs"));
12
- const utils_1 = require("../lib/utils");
2
+ * ./src/classes/users.ts
3
+ * penguins-eggs v.10.0.0 / ecmascript 2020
4
+ * author: Piero Proietti
5
+ * email: piero.proietti@gmail.com
6
+ * license: MIT
7
+ */
8
+ import fs from 'node:fs';
9
+ import { exec } from '../lib/utils.js';
13
10
  /**
14
11
  *
15
12
  */
16
- class Users {
17
- login;
18
- password;
19
- uid;
20
- gid;
13
+ export default class Users {
21
14
  gecos;
15
+ gid;
16
+ hasHome;
22
17
  home;
18
+ login;
19
+ password;
20
+ saveIt;
23
21
  shell;
24
22
  size;
25
- hasHome;
26
- saveIt;
23
+ uid;
27
24
  constructor(login, password, uid, gid, gecos, home, shell) {
28
25
  this.login = login;
29
26
  this.password = password;
@@ -93,7 +90,7 @@ class Users {
93
90
  /**
94
91
  * exclude to save if home don't exist
95
92
  */
96
- if (!fs_1.default.existsSync(this.home)) {
93
+ if (!fs.existsSync(this.home)) {
97
94
  saveIt = false;
98
95
  }
99
96
  /**
@@ -129,9 +126,9 @@ class Users {
129
126
  break;
130
127
  }
131
128
  default: {
132
- if (fs_1.default.existsSync(this.home)) {
129
+ if (fs.existsSync(this.home)) {
133
130
  hasHome = true;
134
- const sizeUser = await (0, utils_1.exec)(` du --block-size=1 --summarize ${this.home} | awk '{print $1}'`, { echo: false, ignore: false, capture: true });
131
+ const sizeUser = await exec(` du --block-size=1 --summarize ${this.home} | awk '{print $1}'`, { capture: true, echo: false, ignore: false });
135
132
  size = Number.parseInt(sizeUser.data);
136
133
  }
137
134
  saveIt = true;
@@ -146,4 +143,3 @@ class Users {
146
143
  }
147
144
  }
148
145
  }
149
- exports.default = Users;
@@ -0,0 +1,318 @@
1
+ /**
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
+ /**
9
+ * Utils: general porpourse utils
10
+ * @remarks all the utilities
11
+ */
12
+ export default class Utils {
13
+ /**
14
+ * Custom function to sort object keys
15
+ * @param obj
16
+ * @returns
17
+ */
18
+ static sortObjectKeys(obj: {
19
+ [key: string]: any;
20
+ }): {
21
+ [key: string]: any;
22
+ };
23
+ /**
24
+ *
25
+ * @param file
26
+ * @param search
27
+ * @returns value
28
+ */
29
+ static searchOnFile(file?: string, search?: string): string;
30
+ /**
31
+ * Restituisce il prefisso della iso
32
+ * @param distroId
33
+ * @param codenameId
34
+ */
35
+ static snapshotPrefix(distroId: string, codenameId: string): string;
36
+ /**
37
+ * Controlla se il sistema è avviato con systemd
38
+ * funziona anche in MX che utilizza systemd
39
+ * ma viene avviato con init
40
+ */
41
+ static isSystemd(): boolean;
42
+ /**
43
+ *
44
+ * @returns
45
+ */
46
+ static isSysvinit(): boolean;
47
+ /**
48
+ * ricava path per vmlinuz
49
+ * Normalmente cerca BOOT_IMAGE
50
+ * BOOT_IMAGE=/boot/vmlinuz-5.16.0-3-amd64 root=UUID=13768873-d6ba-4ae5-9e14-b5011f5aa31c ro quiet splash resume=UUID=beafb9b4-c429-4e1f-a268-4270b63a14e6
51
+ * se non è presente, come nel caso di Franco, cerca initrd e ricostruisce vmlinuz
52
+ * ro root=UUID=3dc0f202-8ac8-4686-9316-dddcec060c48 initrd=boot\initrd.img-5.15.0-0.bpo.3-amd64 // Conidi
53
+ */
54
+ static vmlinuz(): string;
55
+ /**
56
+ * ricava path per initrdImg
57
+ */
58
+ static initrdImg(): string;
59
+ /**
60
+ * Occore vedere un modo per creare machine-id dove non esiste
61
+ */
62
+ static machineId(): string;
63
+ /**
64
+ *
65
+ * @param msg
66
+ */
67
+ static warning(msg?: string): void;
68
+ static error(msg?: string): void;
69
+ /**
70
+ * Return the primary user's name
71
+ */
72
+ static getPrimaryUser(): Promise<string>;
73
+ /**
74
+ * restituisce uuid
75
+ * @param device
76
+ */
77
+ static uuid(device: string): string;
78
+ /**
79
+ *
80
+ * @param date
81
+ */
82
+ static formatDate(date: Date): string;
83
+ /**
84
+ * return the name of the package: penguins-eggs
85
+ * @returns penguins-eggs
86
+ */
87
+ static getPackageName(): string;
88
+ /**
89
+ * Count the eggs present in the nest
90
+ * @returns {number} Numero degli snapshot presenti
91
+ */
92
+ static getSnapshotCount(snapshot_dir?: string): number;
93
+ /**
94
+ * Get the syze of the snapshot
95
+ * @returns {string} grandezza dello snapshot in Byte
96
+ */
97
+ static getSnapshotSize(snapshot_dir?: string): number;
98
+ /**
99
+ * uefiArch
100
+ * @returns arch
101
+ */
102
+ static uefiArch(): string;
103
+ /**
104
+ * i386-efi,
105
+ * x86_64-efi,
106
+ * arm64-efi,
107
+ */
108
+ static uefiFormat(): string;
109
+ /**
110
+ *
111
+ * @returns
112
+ */
113
+ static uefiBN(): string;
114
+ /**
115
+ *
116
+ * @returns
117
+ */
118
+ static usrLibPath(): string;
119
+ /**
120
+ *
121
+ * @param prefix
122
+ * @param backup
123
+ * @returns
124
+ */
125
+ static getPrefix(prefix: string, backup?: boolean): string;
126
+ /**
127
+ *
128
+ * @param volid
129
+ */
130
+ static getVolid(volid?: string): string;
131
+ /**
132
+ * Return postfix
133
+ * @param basename
134
+ * @returns eggName
135
+ */
136
+ static getPostfix(): string;
137
+ /**
138
+ * Calculate the space used on the disk
139
+ * @return {void}
140
+ */
141
+ static getUsedSpace(): number;
142
+ /**
143
+ * Extimate the linuxfs dimension
144
+ * probably is better to rename it as
145
+ * getLiveSpaceRootNeed
146
+ * @returns {number} Byte
147
+ */
148
+ static getLiveRootSpace(type?: string): number;
149
+ /**
150
+ * Return true if i686 architecture
151
+ * @remarks to move in Utils
152
+ * @returns {boolean} true se l'architettura è i686
153
+ */
154
+ static isi686(): boolean;
155
+ /**
156
+ * Controlla se è un pacchetto deb
157
+ * /usr/lib/penguins-eggs/bin/node
158
+ */
159
+ static isDebPackage(): boolean;
160
+ /**
161
+ * Controlla se è un pacchetto sorgente
162
+ */
163
+ static isSources(): boolean;
164
+ /**
165
+ * Controlla se è un pacchetto npm
166
+ */
167
+ static isNpmPackage(): boolean;
168
+ /**
169
+ *
170
+ */
171
+ static rootPenguin(): string;
172
+ /**
173
+ * return the short name of the package: eggs
174
+ * @returns eggs
175
+ */
176
+ static getFriendName(): string;
177
+ /**
178
+ * return the version of the package
179
+ * @returns version example 8.0.0
180
+ */
181
+ static getPackageVersion(): string;
182
+ /**
183
+ * Get author name
184
+ */
185
+ static getAuthorName(): string;
186
+ /**
187
+ * Return the Debian version
188
+ * @returns {number} Versione di Debian
189
+ */
190
+ static getDebianVersion(): number;
191
+ /**
192
+ * Return true if live system
193
+ * @returns {boolean} isLive
194
+ */
195
+ static isLive(): boolean;
196
+ /**
197
+ * Ritorna vero se path è un mountpoint
198
+ * @param path
199
+ */
200
+ static isMountpoint(path?: string): boolean;
201
+ /**
202
+ *
203
+ * @param device
204
+ * @returns
205
+ */
206
+ static isBlockDevice(device?: string): boolean;
207
+ /**
208
+ * return true if eggs run as root
209
+ * @returns isRoot
210
+ */
211
+ static isRoot(command?: string): boolean;
212
+ /**
213
+ *
214
+ * @param command
215
+ */
216
+ static useRoot(command?: string): void;
217
+ /**
218
+ * get the kernel version
219
+ */
220
+ static kernelVersion(): string;
221
+ /**
222
+ * return the name of network device
223
+ */
224
+ static iface(): Promise<string>;
225
+ /**
226
+ * address
227
+ */
228
+ static address(): string;
229
+ /**
230
+ * netmask
231
+ */
232
+ static netmask(): string;
233
+ /**
234
+ * cidr
235
+ */
236
+ static cidr(): string;
237
+ /**
238
+ *
239
+ * broadcast
240
+ */
241
+ static broadcast(): string;
242
+ /**
243
+ * dns
244
+ */
245
+ static getDns(): string[];
246
+ /**
247
+ * getDomain
248
+ */
249
+ static getDomain(): string;
250
+ /**
251
+ * @returns gateway
252
+ */
253
+ static gateway(): string;
254
+ /**
255
+ * write a file
256
+ * @param file
257
+ * @param text
258
+ */
259
+ static write(file: string, text: string): void;
260
+ /**
261
+ *
262
+ * @param file
263
+ * @param cmd
264
+ */
265
+ static writeX(file: string, cmd: string): void;
266
+ /**
267
+ *
268
+ * @param file
269
+ * @param cmd
270
+ */
271
+ static writeXs(file: string, cmds: string[]): void;
272
+ /**
273
+ *
274
+ * @param msg
275
+ */
276
+ static customConfirm(msg?: string): Promise<boolean>;
277
+ /**
278
+ *
279
+ * @param msg
280
+ */
281
+ static customConfirmCompanion(msg?: string): Promise<any>;
282
+ /**
283
+ *
284
+ * @param msg
285
+ */
286
+ static customConfirmAbort(msg?: string): Promise<any>;
287
+ /**
288
+ *
289
+ */
290
+ static pressKeyToExit(warming?: string, procContinue?: boolean): Promise<void>;
291
+ /**
292
+ * titles
293
+ * Penguin's are gettings alive!
294
+ */
295
+ static titles(command?: string): void;
296
+ /**
297
+ *
298
+ * @returns flag
299
+ */
300
+ static flag(): string;
301
+ /**
302
+ *
303
+ * @param verbose
304
+ */
305
+ static setEcho(verbose?: boolean): object;
306
+ /**
307
+ *
308
+ * @param bytes
309
+ * @param decimals
310
+ * @returns
311
+ */
312
+ static formatBytes(bytes: number, decimals?: number): string;
313
+ /**
314
+ *
315
+ * @returns wardrobe
316
+ */
317
+ static wardrobe(): Promise<string>;
318
+ }