penguins-eggs 10.0.52 → 10.0.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/.oclif.manifest.json +2 -1500
  2. package/README.md +0 -760
  3. package/conf/derivatives.yaml +2 -0
  4. package/mkinitfs/initramfs-init.in +18 -7
  5. package/package.json +3 -4
  6. package/dist/classes/bleach.d.ts +0 -32
  7. package/dist/classes/bleach.js +0 -135
  8. package/dist/classes/cfs.d.ts +0 -17
  9. package/dist/classes/cfs.js +0 -39
  10. package/dist/classes/cli-autologin.d.ts +0 -52
  11. package/dist/classes/cli-autologin.js +0 -247
  12. package/dist/classes/compressors.d.ts +0 -54
  13. package/dist/classes/compressors.js +0 -109
  14. package/dist/classes/daddy.d.ts +0 -26
  15. package/dist/classes/daddy.js +0 -167
  16. package/dist/classes/distro.d.ts +0 -32
  17. package/dist/classes/distro.js +0 -337
  18. package/dist/classes/diversions.d.ts +0 -38
  19. package/dist/classes/diversions.js +0 -107
  20. package/dist/classes/incubation/branding.d.ts +0 -17
  21. package/dist/classes/incubation/branding.js +0 -85
  22. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +0 -11
  23. package/dist/classes/incubation/fisherman-helper/displaymanager.js +0 -40
  24. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  25. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  26. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  27. package/dist/classes/incubation/fisherman-helper/settings.js +0 -83
  28. package/dist/classes/incubation/fisherman.d.ts +0 -70
  29. package/dist/classes/incubation/fisherman.js +0 -263
  30. package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
  31. package/dist/classes/incubation/incubator.d/alpine.js +0 -80
  32. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  33. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  34. package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
  35. package/dist/classes/incubation/incubator.d/buster.js +0 -85
  36. package/dist/classes/incubation/incubator.d/jessie.d.ts +0 -31
  37. package/dist/classes/incubation/incubator.d/jessie.js +0 -44
  38. package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
  39. package/dist/classes/incubation/incubator.d/noble.js +0 -85
  40. package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
  41. package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
  42. package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
  43. package/dist/classes/incubation/incubator.d/opensuse.js +0 -81
  44. package/dist/classes/incubation/incubator.d/rolling.d.ts +0 -32
  45. package/dist/classes/incubation/incubator.d/rolling.js +0 -80
  46. package/dist/classes/incubation/incubator.d.ts +0 -44
  47. package/dist/classes/incubation/incubator.js +0 -382
  48. package/dist/classes/incubation/installer.d.ts +0 -13
  49. package/dist/classes/incubation/installer.js +0 -52
  50. package/dist/classes/keyboards.d.ts +0 -50
  51. package/dist/classes/keyboards.js +0 -287
  52. package/dist/classes/locales.d.ts +0 -21
  53. package/dist/classes/locales.js +0 -77
  54. package/dist/classes/network.d.ts +0 -37
  55. package/dist/classes/network.js +0 -98
  56. package/dist/classes/ovary.d.ts +0 -198
  57. package/dist/classes/ovary.js +0 -1835
  58. package/dist/classes/pacman.d/aldos.d.ts +0 -47
  59. package/dist/classes/pacman.d/aldos.js +0 -93
  60. package/dist/classes/pacman.d/alpine.d.ts +0 -51
  61. package/dist/classes/pacman.d/alpine.js +0 -155
  62. package/dist/classes/pacman.d/archlinux.d.ts +0 -57
  63. package/dist/classes/pacman.d/archlinux.js +0 -130
  64. package/dist/classes/pacman.d/debian.d.ts +0 -61
  65. package/dist/classes/pacman.d/debian.js +0 -131
  66. package/dist/classes/pacman.d/fedora.d.ts +0 -48
  67. package/dist/classes/pacman.d/fedora.js +0 -94
  68. package/dist/classes/pacman.d/openmamba.d.ts +0 -47
  69. package/dist/classes/pacman.d/openmamba.js +0 -93
  70. package/dist/classes/pacman.d/opensuse.d.ts +0 -48
  71. package/dist/classes/pacman.d/opensuse.js +0 -95
  72. package/dist/classes/pacman.d/voidlinux.d.ts +0 -48
  73. package/dist/classes/pacman.d/voidlinux.js +0 -84
  74. package/dist/classes/pacman.d.ts +0 -139
  75. package/dist/classes/pacman.js +0 -756
  76. package/dist/classes/pve-live.d.ts +0 -17
  77. package/dist/classes/pve-live.js +0 -52
  78. package/dist/classes/pxe.d.ts +0 -74
  79. package/dist/classes/pxe.js +0 -410
  80. package/dist/classes/settings.d.ts +0 -53
  81. package/dist/classes/settings.js +0 -185
  82. package/dist/classes/sources_list.d.ts +0 -28
  83. package/dist/classes/sources_list.js +0 -89
  84. package/dist/classes/systemctl.d.ts +0 -47
  85. package/dist/classes/systemctl.js +0 -86
  86. package/dist/classes/tailor.d.ts +0 -50
  87. package/dist/classes/tailor.js +0 -526
  88. package/dist/classes/tools.d.ts +0 -26
  89. package/dist/classes/tools.js +0 -50
  90. package/dist/classes/users.d.ts +0 -28
  91. package/dist/classes/users.js +0 -143
  92. package/dist/classes/utils.d.ts +0 -319
  93. package/dist/classes/utils.js +0 -987
  94. package/dist/classes/xdg.d.ts +0 -45
  95. package/dist/classes/xdg.js +0 -337
  96. package/dist/classes/yolk.d.ts +0 -33
  97. package/dist/classes/yolk.js +0 -114
  98. package/dist/commands/adapt.d.ts +0 -17
  99. package/dist/commands/adapt.js +0 -33
  100. package/dist/commands/analyze.d.ts +0 -26
  101. package/dist/commands/analyze.js +0 -95
  102. package/dist/commands/calamares.d.ts +0 -29
  103. package/dist/commands/calamares.js +0 -112
  104. package/dist/commands/config.d.ts +0 -35
  105. package/dist/commands/config.js +0 -120
  106. package/dist/commands/cuckoo.d.ts +0 -16
  107. package/dist/commands/cuckoo.js +0 -62
  108. package/dist/commands/dad.d.ts +0 -20
  109. package/dist/commands/dad.js +0 -46
  110. package/dist/commands/export/iso.d.ts +0 -19
  111. package/dist/commands/export/iso.js +0 -55
  112. package/dist/commands/export/pkg.d.ts +0 -45
  113. package/dist/commands/export/pkg.js +0 -183
  114. package/dist/commands/install.d.ts +0 -37
  115. package/dist/commands/install.js +0 -88
  116. package/dist/commands/kill.d.ts +0 -24
  117. package/dist/commands/kill.js +0 -50
  118. package/dist/commands/love.d.ts +0 -20
  119. package/dist/commands/love.js +0 -59
  120. package/dist/commands/mom.d.ts +0 -16
  121. package/dist/commands/mom.js +0 -30
  122. package/dist/commands/produce.d.ts +0 -34
  123. package/dist/commands/produce.js +0 -200
  124. package/dist/commands/status.d.ts +0 -23
  125. package/dist/commands/status.js +0 -31
  126. package/dist/commands/syncfrom.d.ts +0 -45
  127. package/dist/commands/syncfrom.js +0 -152
  128. package/dist/commands/syncto.d.ts +0 -40
  129. package/dist/commands/syncto.js +0 -175
  130. package/dist/commands/tools/clean.d.ts +0 -18
  131. package/dist/commands/tools/clean.js +0 -37
  132. package/dist/commands/tools/ppa.d.ts +0 -26
  133. package/dist/commands/tools/ppa.js +0 -138
  134. package/dist/commands/tools/skel.d.ts +0 -18
  135. package/dist/commands/tools/skel.js +0 -44
  136. package/dist/commands/tools/stat.d.ts +0 -31
  137. package/dist/commands/tools/stat.js +0 -70
  138. package/dist/commands/tools/yolk.d.ts +0 -24
  139. package/dist/commands/tools/yolk.js +0 -45
  140. package/dist/commands/update.d.ts +0 -51
  141. package/dist/commands/update.js +0 -220
  142. package/dist/commands/wardrobe/get.d.ts +0 -23
  143. package/dist/commands/wardrobe/get.js +0 -52
  144. package/dist/commands/wardrobe/list.d.ts +0 -24
  145. package/dist/commands/wardrobe/list.js +0 -125
  146. package/dist/commands/wardrobe/show.d.ts +0 -25
  147. package/dist/commands/wardrobe/show.js +0 -97
  148. package/dist/commands/wardrobe/wear.d.ts +0 -26
  149. package/dist/commands/wardrobe/wear.js +0 -84
  150. package/dist/components/finished.d.ts +0 -16
  151. package/dist/components/finished.js +0 -56
  152. package/dist/components/information.d.ts +0 -8
  153. package/dist/components/information.js +0 -154
  154. package/dist/components/install.d.ts +0 -15
  155. package/dist/components/install.js +0 -60
  156. package/dist/components/keyboard.d.ts +0 -16
  157. package/dist/components/keyboard.js +0 -54
  158. package/dist/components/location.d.ts +0 -16
  159. package/dist/components/location.js +0 -59
  160. package/dist/components/network.d.ts +0 -19
  161. package/dist/components/network.js +0 -65
  162. package/dist/components/partitions.d.ts +0 -16
  163. package/dist/components/partitions.js +0 -73
  164. package/dist/components/steps.d.ts +0 -13
  165. package/dist/components/steps.js +0 -148
  166. package/dist/components/summary.d.ts +0 -24
  167. package/dist/components/summary.js +0 -81
  168. package/dist/components/title.d.ts +0 -11
  169. package/dist/components/title.js +0 -35
  170. package/dist/components/users.d.ts +0 -24
  171. package/dist/components/users.js +0 -80
  172. package/dist/components/welcome.d.ts +0 -13
  173. package/dist/components/welcome.js +0 -63
  174. package/dist/index-old.d.ts +0 -8
  175. package/dist/index-old.js +0 -8
  176. package/dist/index.d.ts +0 -54
  177. package/dist/index.js +0 -147
  178. package/dist/interfaces/i-addons.d.ts +0 -12
  179. package/dist/interfaces/i-addons.js +0 -8
  180. package/dist/interfaces/i-analyze.d.ts +0 -17
  181. package/dist/interfaces/i-analyze.js +0 -17
  182. package/dist/interfaces/i-app.d.ts +0 -14
  183. package/dist/interfaces/i-app.js +0 -8
  184. package/dist/interfaces/i-branding.d.ts +0 -36
  185. package/dist/interfaces/i-branding.js +0 -8
  186. package/dist/interfaces/i-calamares-displaymanager.d.ts +0 -17
  187. package/dist/interfaces/i-calamares-displaymanager.js +0 -1
  188. package/dist/interfaces/i-calamares-finished.d.ts +0 -12
  189. package/dist/interfaces/i-calamares-finished.js +0 -1
  190. package/dist/interfaces/i-calamares-packages.d.ts +0 -28
  191. package/dist/interfaces/i-calamares-packages.js +0 -1
  192. package/dist/interfaces/i-calamares-partition.d.ts +0 -40
  193. package/dist/interfaces/i-calamares-partition.js +0 -1
  194. package/dist/interfaces/i-config-tools.d.ts +0 -15
  195. package/dist/interfaces/i-config-tools.js +0 -8
  196. package/dist/interfaces/i-devices.d.ts +0 -20
  197. package/dist/interfaces/i-devices.js +0 -8
  198. package/dist/interfaces/i-distro.d.ts +0 -23
  199. package/dist/interfaces/i-distro.js +0 -8
  200. package/dist/interfaces/i-drive-list.d.ts +0 -33
  201. package/dist/interfaces/i-drive-list.js +0 -8
  202. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  203. package/dist/interfaces/i-eggs-config.js +0 -8
  204. package/dist/interfaces/i-excludes.d.ts +0 -14
  205. package/dist/interfaces/i-excludes.js +0 -8
  206. package/dist/interfaces/i-exec.d.ts +0 -11
  207. package/dist/interfaces/i-exec.js +0 -8
  208. package/dist/interfaces/i-initrd.d.ts +0 -13
  209. package/dist/interfaces/i-initrd.js +0 -8
  210. package/dist/interfaces/i-install.d.ts +0 -16
  211. package/dist/interfaces/i-install.js +0 -8
  212. package/dist/interfaces/i-installer.d.ts +0 -17
  213. package/dist/interfaces/i-installer.js +0 -8
  214. package/dist/interfaces/i-krill-config.d.ts +0 -33
  215. package/dist/interfaces/i-krill-config.js +0 -8
  216. package/dist/interfaces/i-krill.d.ts +0 -42
  217. package/dist/interfaces/i-krill.js +0 -8
  218. package/dist/interfaces/i-materia.d.ts +0 -36
  219. package/dist/interfaces/i-materia.js +0 -8
  220. package/dist/interfaces/i-net.d.ts +0 -16
  221. package/dist/interfaces/i-net.js +0 -8
  222. package/dist/interfaces/i-packages.d.ts +0 -16
  223. package/dist/interfaces/i-packages.js +0 -8
  224. package/dist/interfaces/i-partitions.d.ts +0 -16
  225. package/dist/interfaces/i-partitions.js +0 -8
  226. package/dist/interfaces/i-pxe.d.ts +0 -45
  227. package/dist/interfaces/i-pxe.js +0 -1
  228. package/dist/interfaces/i-remix.d.ts +0 -21
  229. package/dist/interfaces/i-remix.js +0 -8
  230. package/dist/interfaces/i-settings.d.ts +0 -33
  231. package/dist/interfaces/i-settings.js +0 -8
  232. package/dist/interfaces/i-user.d.ts +0 -14
  233. package/dist/interfaces/i-user.js +0 -8
  234. package/dist/interfaces/i-workdir.d.ts +0 -14
  235. package/dist/interfaces/i-workdir.js +0 -8
  236. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  237. package/dist/interfaces/i-xkb-model.js +0 -8
  238. package/dist/interfaces/index.d.ts +0 -25
  239. package/dist/interfaces/index.js +0 -8
  240. package/dist/krill/modules/add-user.d.ts +0 -20
  241. package/dist/krill/modules/add-user.js +0 -48
  242. package/dist/krill/modules/bootloader-config.d.ts +0 -14
  243. package/dist/krill/modules/bootloader-config.js +0 -148
  244. package/dist/krill/modules/bootloader.d.ts +0 -14
  245. package/dist/krill/modules/bootloader.js +0 -130
  246. package/dist/krill/modules/change-password.d.ts +0 -15
  247. package/dist/krill/modules/change-password.js +0 -18
  248. package/dist/krill/modules/del-live-user.d.ts +0 -14
  249. package/dist/krill/modules/del-live-user.js +0 -39
  250. package/dist/krill/modules/fstab.d.ts +0 -14
  251. package/dist/krill/modules/fstab.js +0 -123
  252. package/dist/krill/modules/grubcfg.d.ts +0 -17
  253. package/dist/krill/modules/grubcfg.js +0 -29
  254. package/dist/krill/modules/hostname.d.ts +0 -13
  255. package/dist/krill/modules/hostname.js +0 -50
  256. package/dist/krill/modules/initramfs-cfg.d.ts +0 -14
  257. package/dist/krill/modules/initramfs-cfg.js +0 -22
  258. package/dist/krill/modules/initramfs.d.ts +0 -13
  259. package/dist/krill/modules/initramfs.js +0 -54
  260. package/dist/krill/modules/locale-cfg.d.ts +0 -10
  261. package/dist/krill/modules/locale-cfg.js +0 -58
  262. package/dist/krill/modules/locale.d.ts +0 -13
  263. package/dist/krill/modules/locale.js +0 -91
  264. package/dist/krill/modules/m-keyboard.d.ts +0 -14
  265. package/dist/krill/modules/m-keyboard.js +0 -58
  266. package/dist/krill/modules/machine-id.d.ts +0 -15
  267. package/dist/krill/modules/machine-id.js +0 -33
  268. package/dist/krill/modules/mkfs.d.ts +0 -15
  269. package/dist/krill/modules/mkfs.js +0 -50
  270. package/dist/krill/modules/mount-fs.d.ts +0 -17
  271. package/dist/krill/modules/mount-fs.js +0 -62
  272. package/dist/krill/modules/mount-vfs.d.ts +0 -17
  273. package/dist/krill/modules/mount-vfs.js +0 -40
  274. package/dist/krill/modules/network-cfg.d.ts +0 -19
  275. package/dist/krill/modules/network-cfg.js +0 -64
  276. package/dist/krill/modules/packages.d.ts +0 -14
  277. package/dist/krill/modules/packages.js +0 -111
  278. package/dist/krill/modules/partition.d.ts +0 -20
  279. package/dist/krill/modules/partition.js +0 -324
  280. package/dist/krill/modules/remove-installer-link.d.ts +0 -13
  281. package/dist/krill/modules/remove-installer-link.js +0 -35
  282. package/dist/krill/modules/umount.d.ts +0 -14
  283. package/dist/krill/modules/umount.js +0 -27
  284. package/dist/krill/modules/unpackfs.d.ts +0 -13
  285. package/dist/krill/modules/unpackfs.js +0 -20
  286. package/dist/krill/prepare.d.ts +0 -78
  287. package/dist/krill/prepare.js +0 -624
  288. package/dist/krill/sequence.d.ts +0 -154
  289. package/dist/krill/sequence.js +0 -650
  290. package/dist/lib/get_address.d.ts +0 -8
  291. package/dist/lib/get_address.js +0 -23
  292. package/dist/lib/get_dns.d.ts +0 -8
  293. package/dist/lib/get_dns.js +0 -23
  294. package/dist/lib/get_domain.d.ts +0 -8
  295. package/dist/lib/get_domain.js +0 -23
  296. package/dist/lib/get_gateway.d.ts +0 -8
  297. package/dist/lib/get_gateway.js +0 -23
  298. package/dist/lib/get_hostname.d.ts +0 -8
  299. package/dist/lib/get_hostname.js +0 -23
  300. package/dist/lib/get_netmask.d.ts +0 -8
  301. package/dist/lib/get_netmask.js +0 -23
  302. package/dist/lib/get_password.d.ts +0 -8
  303. package/dist/lib/get_password.js +0 -36
  304. package/dist/lib/get_userfullname.d.ts +0 -8
  305. package/dist/lib/get_userfullname.js +0 -23
  306. package/dist/lib/get_username.d.ts +0 -8
  307. package/dist/lib/get_username.js +0 -23
  308. package/dist/lib/kill_me_softly.d.ts +0 -11
  309. package/dist/lib/kill_me_softly.js +0 -61
  310. package/dist/lib/select_address_type.d.ts +0 -8
  311. package/dist/lib/select_address_type.js +0 -24
  312. package/dist/lib/select_filesystem_type.d.ts +0 -8
  313. package/dist/lib/select_filesystem_type.js +0 -46
  314. package/dist/lib/select_installation_device.d.ts +0 -8
  315. package/dist/lib/select_installation_device.js +0 -30
  316. package/dist/lib/select_installation_mode.d.ts +0 -8
  317. package/dist/lib/select_installation_mode.js +0 -24
  318. package/dist/lib/select_interface.d.ts +0 -8
  319. package/dist/lib/select_interface.js +0 -24
  320. package/dist/lib/select_keyboard_layout.d.ts +0 -11
  321. package/dist/lib/select_keyboard_layout.js +0 -36
  322. package/dist/lib/select_keyboard_model.d.ts +0 -11
  323. package/dist/lib/select_keyboard_model.js +0 -34
  324. package/dist/lib/select_keyboard_option.d.ts +0 -11
  325. package/dist/lib/select_keyboard_option.js +0 -34
  326. package/dist/lib/select_keyboard_variant.d.ts +0 -11
  327. package/dist/lib/select_keyboard_variant.js +0 -35
  328. package/dist/lib/select_languages.d.ts +0 -8
  329. package/dist/lib/select_languages.js +0 -28
  330. package/dist/lib/select_regions.d.ts +0 -8
  331. package/dist/lib/select_regions.js +0 -24
  332. package/dist/lib/select_user_swap_choice.d.ts +0 -8
  333. package/dist/lib/select_user_swap_choice.js +0 -34
  334. package/dist/lib/select_zones.d.ts +0 -8
  335. package/dist/lib/select_zones.js +0 -518
  336. package/dist/lib/utils.d.ts +0 -34
  337. package/dist/lib/utils.js +0 -79
@@ -1,382 +0,0 @@
1
- /**
2
- * ./src/classes/incubation/incubator.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
- // pjson
9
- import { createRequire } from 'node:module';
10
- const require = createRequire(import.meta.url);
11
- const pjson = require('../../../package.json');
12
- // partition
13
- import yaml from 'js-yaml';
14
- import fs from 'node:fs';
15
- import path from 'node:path';
16
- import shx from 'shelljs';
17
- import { exec } from '../../lib/utils.js';
18
- import Pacman from '../pacman.js';
19
- import Utils from '../utils.js';
20
- import { installer } from './installer.js';
21
- import { branding } from './branding.js';
22
- // incubator.d
23
- import { Alpine } from './incubator.d/alpine.js';
24
- import { Bionic } from './incubator.d/bionic.js';
25
- import { Buster } from './incubator.d/buster.js';
26
- import { Jessie } from './incubator.d/jessie.js';
27
- import { Noble } from './incubator.d/noble.js';
28
- import { Openmamba } from './incubator.d/openmamba.js';
29
- import { Opensuse } from './incubator.d/opensuse.js';
30
- import { Rolling } from './incubator.d/rolling.js';
31
- // _dirname
32
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
33
- /**
34
- *
35
- */
36
- export default class Incubator {
37
- distro;
38
- installer = {};
39
- isClone;
40
- remix;
41
- theme;
42
- user_opt;
43
- verbose = false;
44
- /**
45
- *
46
- * @param remix
47
- * @param distro
48
- * @param verbose
49
- */
50
- constructor(remix, distro, user_opt = 'live', theme = 'eggs', isClone = false, verbose = false) {
51
- this.installer = installer();
52
- this.remix = remix;
53
- this.distro = distro;
54
- this.user_opt = user_opt;
55
- this.theme = theme;
56
- this.verbose = verbose;
57
- this.remix.branding = theme;
58
- this.isClone = isClone;
59
- // branding è solo il basename
60
- this.remix.branding = path.basename(theme);
61
- }
62
- /**
63
- * config
64
- */
65
- async config(release = false) {
66
- const verbose = true;
67
- const echo = Utils.setEcho(verbose);
68
- Utils.warning(`creating ${installer().name} configuration files on ${installer().configRoot}`);
69
- this.createInstallerDirs();
70
- this.createBranding();
71
- const codenameLikeId = this.distro.codenameLikeId;
72
- /**
73
- * aldos
74
- */
75
- if (codenameLikeId === 'aldos') {
76
- const aldos = new Openmamba(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
77
- await aldos.create();
78
- /**
79
- * Alpine
80
- */
81
- }
82
- else if (codenameLikeId === 'alpine') {
83
- const alpine = new Alpine(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
84
- await alpine.create();
85
- /**
86
- * Arch
87
- */
88
- }
89
- else if (codenameLikeId === 'rolling') {
90
- const rolling = new Rolling(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
91
- await rolling.create();
92
- /**
93
- * Debian
94
- */
95
- }
96
- else if (codenameLikeId === 'jessie') {
97
- const jessie = new Jessie(this.installer, this.remix, this.distro, this.user_opt, release, this.verbose);
98
- await jessie.create();
99
- }
100
- else if (codenameLikeId === 'stretch') {
101
- const stretch = new Jessie(this.installer, this.remix, this.distro, this.user_opt, release, this.verbose);
102
- await stretch.create();
103
- }
104
- else if (codenameLikeId === 'buster') {
105
- const buster = new Buster(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
106
- await buster.create();
107
- }
108
- else if (codenameLikeId === 'bullseye') {
109
- const bullseye = new Buster(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
110
- await bullseye.create();
111
- }
112
- else if (codenameLikeId === 'bookworm') {
113
- const bookworm = new Buster(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
114
- await bookworm.create();
115
- }
116
- else if (codenameLikeId === 'trixie') {
117
- const trixie = new Buster(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
118
- await trixie.create();
119
- /**
120
- * Devuan
121
- */
122
- }
123
- else if (codenameLikeId === 'beowulf') {
124
- const beowulf = new Buster(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
125
- await beowulf.create();
126
- }
127
- else if (codenameLikeId === 'chimaera') {
128
- const chimaera = new Buster(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
129
- await chimaera.create();
130
- }
131
- else if (codenameLikeId === 'daedalus') {
132
- const daedalus = new Buster(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
133
- await daedalus.create();
134
- }
135
- else if (codenameLikeId === 'excalibur') {
136
- const excalibur = new Buster(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
137
- await excalibur.create();
138
- /**
139
- * fedora
140
- */
141
- }
142
- else if (codenameLikeId === 'fedora') {
143
- const fedora = new Rolling(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
144
- await fedora.create();
145
- /**
146
- * openmamba
147
- */
148
- }
149
- else if (codenameLikeId === 'openmamba') {
150
- const mamba = new Openmamba(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
151
- await mamba.create();
152
- /**
153
- * opensuse
154
- */
155
- }
156
- else if (codenameLikeId === 'opensuse') {
157
- const suse = new Opensuse(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
158
- await suse.create();
159
- /**
160
- * Ubuntu
161
- */
162
- }
163
- else if (codenameLikeId === 'bionic') {
164
- const bionic = new Bionic(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
165
- await bionic.create();
166
- }
167
- else if (codenameLikeId === 'focal') {
168
- const focal = new Noble(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
169
- await focal.create();
170
- }
171
- else if (codenameLikeId === 'jammy') {
172
- const jammy = new Noble(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
173
- await jammy.create();
174
- }
175
- else if (codenameLikeId === 'noble') {
176
- const noble = new Noble(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
177
- await noble.create();
178
- }
179
- else if (codenameLikeId === 'devel') {
180
- const devel = new Noble(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
181
- await devel.create();
182
- }
183
- if (Pacman.calamaresExists()) {
184
- await partitionCustomize();
185
- }
186
- Utils.warning(`cleanup ${installer().name} configuration files`);
187
- await this.cleanupConfiguration();
188
- }
189
- /**
190
- * Rewrite modules
191
- */
192
- async cleanupConfiguration() {
193
- // modules
194
- const elements = fs.readdirSync(this.installer.modules);
195
- for (const elem of elements) {
196
- let file = this.installer.modules + elem;
197
- let fileContent = fs.readFileSync(file, 'utf8');
198
- let yamlContent = yaml.load(fileContent);
199
- let destContent = `# ${elem} on ${this.distro.distroId}, penguins-eggs ${pjson.version}\n`;
200
- destContent += '---\n';
201
- destContent += yaml.dump(yamlContent);
202
- fs.writeFileSync(file, destContent, 'utf8');
203
- }
204
- // settings
205
- let file = this.installer.configRoot + '/settings.conf';
206
- let fileContent = fs.readFileSync(file, 'utf8');
207
- let yamlContent = yaml.load(fileContent);
208
- let destContent = `# settings.conf on ${this.distro.distroId} penguins-eggs ${pjson.version}\n`;
209
- destContent += '---\n';
210
- destContent += yaml.dump(yamlContent);
211
- fs.writeFileSync(file, destContent, 'utf8');
212
- }
213
- /**
214
- *
215
- */
216
- createBranding() {
217
- const dir = this.installer.configRoot + 'branding/' + this.remix.branding + '/';
218
- if (!fs.existsSync(dir)) {
219
- shx.exec(`mkdir ${dir} -p`);
220
- }
221
- const file = dir + 'branding.desc';
222
- let destContent = `# branding.desc on ${this.distro.distroId} penguins-eggs ${pjson.version}\n`;
223
- destContent += '---\n';
224
- destContent += branding(this.remix, this.distro, this.theme, this.verbose);
225
- write(file, destContent, this.verbose);
226
- }
227
- /**
228
- *
229
- */
230
- createInstallerDirs() {
231
- if (this.installer.name !== 'calamares') {
232
- // Remove krill configuration and multiarc if present
233
- try {
234
- shx.exec('rm ' + this.installer.configRoot + ' -rf');
235
- }
236
- catch (error) {
237
- console.log('error: ' + error + ' removing ' + this.installer.configRoot + ' -rf');
238
- }
239
- try {
240
- shx.exec('rm ' + this.installer.multiarch + ' -rf');
241
- }
242
- catch (error) {
243
- console.log('error: ' + error + ' removing ' + this.installer.multiarch + ' -rf');
244
- }
245
- }
246
- // rootConfiguration krill/calamares
247
- if (!fs.existsSync(this.installer.configRoot)) {
248
- try {
249
- fs.mkdirSync(this.installer.configRoot);
250
- }
251
- catch (error) {
252
- console.log('error: ' + error + ' creating ' + this.installer.configRoot);
253
- }
254
- }
255
- if (!fs.existsSync(this.installer.configRoot + 'branding')) {
256
- try {
257
- fs.mkdirSync(this.installer.configRoot + 'branding');
258
- }
259
- catch (error) {
260
- console.log('error: ' + error + ' creating ' + this.installer.configRoot + 'branding');
261
- }
262
- }
263
- if (!fs.existsSync(this.installer.configRoot + 'branding/eggs')) {
264
- try {
265
- fs.mkdirSync(this.installer.configRoot + 'branding/eggs');
266
- }
267
- catch (error) {
268
- console.log('error: ' + error + ' creating ' + this.installer.configRoot + 'branding/eggs');
269
- }
270
- }
271
- if (!fs.existsSync(this.installer.configRoot + 'modules')) {
272
- try {
273
- fs.mkdirSync(this.installer.configRoot + 'modules');
274
- }
275
- catch (error) {
276
- console.log('error: ' + error + ' creating ' + this.installer.configRoot + 'modules');
277
- }
278
- }
279
- if (!fs.existsSync(this.installer.multiarch)) {
280
- try {
281
- fs.mkdirSync(this.installer.multiarch);
282
- }
283
- catch (error) {
284
- console.log('error: ' + error + ' creating ' + this.installer.multiarch);
285
- }
286
- }
287
- if (!fs.existsSync(this.installer.multiarchModules)) {
288
- try {
289
- fs.mkdirSync(this.installer.multiarchModules);
290
- }
291
- catch (error) {
292
- console.log('error: ' + error + ' creating ' + this.installer.multiarchModules);
293
- }
294
- }
295
- /**
296
- * themes krill/calamares
297
- */
298
- let calamaresBranding = path.resolve(__dirname, `../../../addons/eggs/theme/calamares/branding`);
299
- if (this.theme.includes('/')) {
300
- calamaresBranding = `${this.theme}/theme/calamares/branding`;
301
- }
302
- // console.log(`calamaresBranding: ${calamaresBranding}`)
303
- if (fs.existsSync(calamaresBranding)) {
304
- if (!fs.existsSync(this.installer.configRoot + `branding/${this.remix.branding}`)) {
305
- try {
306
- fs.mkdirSync(this.installer.configRoot + `branding/${this.remix.branding}`);
307
- }
308
- catch (error) {
309
- console.log('error: ' + error + ' creating ' + this.installer.configRoot + `branding/${this.remix.branding}`);
310
- }
311
- }
312
- // patch quirinux
313
- shx.cp('-r', calamaresBranding + '/*', this.installer.configRoot + `branding/${this.remix.branding}/`);
314
- }
315
- else {
316
- console.log(calamaresBranding);
317
- console.log(`${calamaresBranding} branding not found!`);
318
- process.exit();
319
- }
320
- let calamaresIcon = path.resolve(__dirname, `../../../addons/${this.remix.branding}/theme/artwork/install-system.png`);
321
- if (this.theme.includes('/')) {
322
- calamaresIcon = `${this.theme}/theme/artwork/install-system.png`;
323
- }
324
- // se non esiste non copio la icona
325
- if (Pacman.calamaresExists()) {
326
- if (fs.existsSync(calamaresIcon)) {
327
- shx.cp(calamaresIcon, '/usr/share/icons/');
328
- }
329
- else {
330
- console.log(`${calamaresIcon} icon not found!`);
331
- process.exit();
332
- }
333
- }
334
- let calamaresLauncher = path.resolve(__dirname, `../../../addons/${this.remix.branding}/theme/applications/install-system.desktop`);
335
- if (this.theme.includes('/')) {
336
- calamaresLauncher = `${this.theme}/theme/applications/install-system.desktop`;
337
- }
338
- if (fs.existsSync(calamaresLauncher)) {
339
- shx.cp(calamaresLauncher, '/usr/share/applications/');
340
- }
341
- else {
342
- console.log(`${calamaresLauncher} launcher not found!`);
343
- process.exit();
344
- }
345
- // script di avvio
346
- shx.cp(path.resolve(__dirname, '../../../assets/calamares/install-system.sh'), '/usr/sbin/install-system.sh');
347
- shx.chmod('+x', '/usr/sbin/install-system.sh');
348
- }
349
- }
350
- /**
351
- *
352
- * @param file
353
- * @param content
354
- * @param verbose
355
- */
356
- function write(file, content, verbose = false) {
357
- if (verbose) {
358
- console.log(`calamares: create ${file}`);
359
- }
360
- fs.writeFileSync(file, content, 'utf8');
361
- }
362
- /**
363
- *
364
- */
365
- async function partitionCustomize() {
366
- const filePartition = '/etc/calamares/modules/partition.conf';
367
- const partition = yaml.load(fs.readFileSync(filePartition, 'utf8'));
368
- // detect filesystem type
369
- let test = await exec(`df -T / | awk 'NR==2 {print $2}'`, { capture: true, echo: false });
370
- partition.defaultFileSystemType = test.data.trim();
371
- partition.availableFileSystemTypes = ['ext4'];
372
- if (Pacman.packageIsInstalled('btrfs-progs')) {
373
- partition.availableFileSystemTypes.push('btrfs');
374
- }
375
- if (Pacman.packageIsInstalled('xfsprogs')) {
376
- partition.availableFileSystemTypes.push('xfs');
377
- }
378
- if (Pacman.packageIsInstalled('f2fs-tools')) {
379
- partition.availableFileSystemTypes.push('f2fs');
380
- }
381
- fs.writeFileSync(filePartition, yaml.dump(partition), 'utf-8');
382
- }
@@ -1,13 +0,0 @@
1
- /**
2
- * ./src/classes/incubation/installer.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 { IInstaller } from '../../interfaces/index.js';
9
- /**
10
- *
11
- * @returns
12
- */
13
- export declare function installer(): IInstaller;
@@ -1,52 +0,0 @@
1
- /**
2
- * ./src/classes/incubation/installer.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
- * installer
10
- *
11
- * name = 'calamares' oppure 'krill'
12
- * configRoot = '/etc/calamares/' oppure '/etc/penguins-eggs.d/krill/'
13
- * modules = configuration + 'modules/'
14
- * modulesMultiarch = '/usr/lib/' + arch-linux-gnu + '/' + installer + '/'
15
- *
16
- * template = '/etc/penguins-eggs/' + .distro.codenameLikeId + '/' + installer + '/'
17
- * templateModules = template + '/modules/'
18
- * templateMultiarch = template + installer + '-modules/'
19
- *
20
- */
21
- import Distro from '../../classes/distro.js';
22
- import Pacman from '../../classes/pacman.js';
23
- /**
24
- *
25
- * @returns
26
- */
27
- export function installer() {
28
- const installer = {};
29
- // configRoot
30
- installer.configRoot = '';
31
- if (Pacman.calamaresExists()) {
32
- installer.name = 'calamares';
33
- installer.configRoot = '/etc/calamares/';
34
- installer.multiarch = Pacman.distro().usrLibPath + '/calamares/';
35
- }
36
- else {
37
- installer.name = 'krill';
38
- installer.configRoot = '/etc/penguins-eggs.d/krill/';
39
- installer.multiarch = Pacman.distro().usrLibPath + '/krill/';
40
- }
41
- installer.modules = installer.configRoot + 'modules/';
42
- installer.multiarchModules = installer.multiarch + 'modules/';
43
- /**
44
- * i template calamares/krill sono SEMPRE nel folder calamares
45
- *
46
- */
47
- const distro = new Distro();
48
- installer.template = `/etc/penguins-eggs.d/distros/${distro.codenameLikeId}/calamares/`;
49
- installer.templateModules = `${installer.template}modules/`;
50
- installer.templateMultiarch = `${installer.template}${installer.name}-modules/`;
51
- return installer;
52
- }
@@ -1,50 +0,0 @@
1
- /**
2
- * ./src/classes/keyboards.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 { IXkbLayout, IXkbModel, IXkbOption, IXkbVariant } from '../interfaces/i-xkb-model.js';
9
- /**
10
- * /usr/share/X11/xkb/rules/xorg.lst
11
- */
12
- export default class Keyboard {
13
- layouts: string[];
14
- models: string[];
15
- options: string[];
16
- variants: string[];
17
- constructor();
18
- /**
19
- * XKBLAYOUT='us'
20
- */
21
- getLayout(): Promise<string>;
22
- /**
23
- * XKBLAYOUT=[]
24
- */
25
- getLayouts(): IXkbLayout[];
26
- /**
27
- * XKBMODEL='pc105'
28
- */
29
- getModel(): Promise<string>;
30
- /**
31
- * XKBMODEL[]
32
- */
33
- getModels(): IXkbModel[];
34
- /**
35
- * XKBOPTIONS=''
36
- */
37
- getOption(): Promise<string>;
38
- /**
39
- * XKBOPTIONS[]
40
- */
41
- getOptions(): IXkbOption[];
42
- /**
43
- * XKBVARIANT=''
44
- */
45
- getVariant(): Promise<string>;
46
- /**
47
- * IXkbVariant[]
48
- */
49
- getVariants(layout: string): IXkbVariant[];
50
- }