penguins-eggs 10.0.60 → 10.1.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 (470) hide show
  1. package/.oclif.manifest.json +93 -1
  2. package/README.md +79 -40
  3. package/addons/eggs/theme/calamares/modules/{_users.yml → users.yml} +3 -3
  4. package/addons/eggs/theme/livecd/grub.main.full.cfg +1 -1
  5. package/addons/eggs/theme/livecd/grub.main.simple.cfg +1 -1
  6. package/conf/derivatives.yaml +1 -3
  7. package/conf/derivatives_fedora.yaml +6 -0
  8. package/conf/distros/alpine/calamares/modules/users.yml +3 -3
  9. package/conf/distros/bionic/calamares/calamares-modules/grubcfg/grubcfg.yml +1 -1
  10. package/conf/distros/bionic/calamares/modules/users.yml +3 -3
  11. package/conf/distros/buster/calamares/modules/users.yml +3 -3
  12. package/conf/distros/fedora/calamares/modules/users.yml +3 -3
  13. package/conf/distros/noble/calamares/modules/focal-jammy/users.yml +3 -3
  14. package/conf/distros/opensuse/calamares/modules/users.yml +3 -3
  15. package/conf/distros/rolling/calamares/modules/users.yml +3 -3
  16. package/conf/eggs.yaml +1 -1
  17. package/conf/love.yaml +4 -4
  18. package/package.json +22 -19
  19. package/perrisbrewery/scripts/postinst +98 -0
  20. package/perrisbrewery/scripts/postrm +82 -0
  21. package/perrisbrewery/scripts/preinst +40 -0
  22. package/perrisbrewery/scripts/prerm +47 -0
  23. package/perrisbrewery/template/control.template +17 -0
  24. package/perrisbrewery/template/dependencies-bionic.yaml +33 -0
  25. package/perrisbrewery/template/dependencies.yaml +37 -0
  26. package/perrisbrewery/template/man.template.md +110 -0
  27. package/pods/README.md +14 -0
  28. package/pods/almalinux.sh +10 -0
  29. package/pods/archlinux.sh +10 -0
  30. package/pods/ci/README.md +5 -0
  31. package/pods/ci/kernel-overlay-install.sh +114 -0
  32. package/pods/ci/minimal/almalinux-container2host.sh +165 -0
  33. package/pods/ci/minimal/archlinux-container2host.sh +125 -0
  34. package/pods/ci/minimal/debian-container2host.sh +173 -0
  35. package/pods/ci/minimal/fedora-container2host.sh +170 -0
  36. package/pods/ci/minimal/manjaro-container2host.sh +123 -0
  37. package/pods/ci/minimal/opensuse-container2host.sh +143 -0
  38. package/pods/ci/penguins-eggs-execute.sh +22 -0
  39. package/pods/ci/penguins-eggs-install.sh +115 -0
  40. package/pods/ci/run +34 -0
  41. package/pods/ci/run-on-almalinux.sh +50 -0
  42. package/pods/ci/run-on-archlinux.sh +64 -0
  43. package/pods/ci/run-on-debian.sh +51 -0
  44. package/pods/ci/run-on-devuan.sh +48 -0
  45. package/pods/ci/run-on-fedora.sh +51 -0
  46. package/pods/ci/run-on-manjaro.sh +61 -0
  47. package/pods/ci/run-on-opensuse.sh +58 -0
  48. package/pods/ci/run-on-rockylinux.sh +51 -0
  49. package/pods/ci/run-on-ubuntu.sh +52 -0
  50. package/pods/debian.sh +23 -0
  51. package/pods/devuan.sh +26 -0
  52. package/pods/fedora.sh +12 -0
  53. package/pods/lmde.sh +22 -0
  54. package/pods/manjaro.sh +10 -0
  55. package/pods/opensuse.sh +12 -0
  56. package/pods/podman.command.sh +85 -0
  57. package/pods/rocky.sh +12 -0
  58. package/pods/run-build-packages-debs.sh +45 -0
  59. package/pods/run-create-debs.sh +23 -0
  60. package/pods/ubuntu.sh +24 -0
  61. package/scripts/_eggs +21 -6
  62. package/scripts/eggs.bash +6 -4
  63. package/dist/classes/bleach.d.ts +0 -32
  64. package/dist/classes/bleach.js +0 -135
  65. package/dist/classes/cli-autologin.d.ts +0 -52
  66. package/dist/classes/cli-autologin.js +0 -247
  67. package/dist/classes/compressors.d.ts +0 -54
  68. package/dist/classes/compressors.js +0 -109
  69. package/dist/classes/daddy.d.ts +0 -26
  70. package/dist/classes/daddy.js +0 -167
  71. package/dist/classes/distro.d.ts +0 -32
  72. package/dist/classes/distro.js +0 -341
  73. package/dist/classes/diversions.d.ts +0 -52
  74. package/dist/classes/diversions.js +0 -126
  75. package/dist/classes/incubation/branding.d.ts +0 -17
  76. package/dist/classes/incubation/branding.js +0 -85
  77. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +0 -11
  78. package/dist/classes/incubation/fisherman-helper/displaymanager.js +0 -40
  79. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  80. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  81. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  82. package/dist/classes/incubation/fisherman-helper/settings.js +0 -83
  83. package/dist/classes/incubation/fisherman.d.ts +0 -70
  84. package/dist/classes/incubation/fisherman.js +0 -263
  85. package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
  86. package/dist/classes/incubation/incubator.d/alpine.js +0 -78
  87. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  88. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  89. package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
  90. package/dist/classes/incubation/incubator.d/buster.js +0 -85
  91. package/dist/classes/incubation/incubator.d/jessie.d.ts +0 -31
  92. package/dist/classes/incubation/incubator.d/jessie.js +0 -44
  93. package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
  94. package/dist/classes/incubation/incubator.d/noble.js +0 -85
  95. package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
  96. package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
  97. package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
  98. package/dist/classes/incubation/incubator.d/opensuse.js +0 -81
  99. package/dist/classes/incubation/incubator.d/rolling.d.ts +0 -32
  100. package/dist/classes/incubation/incubator.d/rolling.js +0 -80
  101. package/dist/classes/incubation/incubator.d.ts +0 -44
  102. package/dist/classes/incubation/incubator.js +0 -382
  103. package/dist/classes/incubation/installer.d.ts +0 -13
  104. package/dist/classes/incubation/installer.js +0 -52
  105. package/dist/classes/keyboards.d.ts +0 -50
  106. package/dist/classes/keyboards.js +0 -287
  107. package/dist/classes/locales.d.ts +0 -21
  108. package/dist/classes/locales.js +0 -77
  109. package/dist/classes/network.d.ts +0 -37
  110. package/dist/classes/network.js +0 -98
  111. package/dist/classes/ovary.d/bind-live-fs.d.ts +0 -18
  112. package/dist/classes/ovary.d/bind-live-fs.js +0 -185
  113. package/dist/classes/ovary.d/bind-vfs.d.ts +0 -17
  114. package/dist/classes/ovary.d/bind-vfs.js +0 -37
  115. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +0 -13
  116. package/dist/classes/ovary.d/create-xdg-autostart.js +0 -194
  117. package/dist/classes/ovary.d/edit-live-fs.d.ts +0 -19
  118. package/dist/classes/ovary.d/edit-live-fs.js +0 -249
  119. package/dist/classes/ovary.d/fertilization.d.ts +0 -12
  120. package/dist/classes/ovary.d/fertilization.js +0 -46
  121. package/dist/classes/ovary.d/finished.d.ts +0 -13
  122. package/dist/classes/ovary.d/finished.js +0 -41
  123. package/dist/classes/ovary.d/initrd.d.ts +0 -21
  124. package/dist/classes/ovary.d/initrd.js +0 -72
  125. package/dist/classes/ovary.d/kernel-copy.d.ts +0 -12
  126. package/dist/classes/ovary.d/kernel-copy.js +0 -36
  127. package/dist/classes/ovary.d/live-create-structure.d.ts +0 -12
  128. package/dist/classes/ovary.d/live-create-structure.js +0 -90
  129. package/dist/classes/ovary.d/make-dot-disk.d.ts +0 -12
  130. package/dist/classes/ovary.d/make-dot-disk.js +0 -40
  131. package/dist/classes/ovary.d/make-efi.d.ts +0 -12
  132. package/dist/classes/ovary.d/make-efi.js +0 -268
  133. package/dist/classes/ovary.d/make-iso.d.ts +0 -13
  134. package/dist/classes/ovary.d/make-iso.js +0 -45
  135. package/dist/classes/ovary.d/make-squashfs.d.ts +0 -18
  136. package/dist/classes/ovary.d/make-squashfs.js +0 -117
  137. package/dist/classes/ovary.d/merged.d.ts +0 -31
  138. package/dist/classes/ovary.d/merged.js +0 -87
  139. package/dist/classes/ovary.d/produce.d.ts +0 -23
  140. package/dist/classes/ovary.d/produce.js +0 -287
  141. package/dist/classes/ovary.d/rexec.d.ts +0 -13
  142. package/dist/classes/ovary.d/rexec.js +0 -34
  143. package/dist/classes/ovary.d/syslinux.d.ts +0 -12
  144. package/dist/classes/ovary.d/syslinux.js +0 -79
  145. package/dist/classes/ovary.d/user-create-live.d.ts +0 -14
  146. package/dist/classes/ovary.d/user-create-live.js +0 -86
  147. package/dist/classes/ovary.d/users-remove.d.ts +0 -9
  148. package/dist/classes/ovary.d/users-remove.js +0 -38
  149. package/dist/classes/ovary.d/xorriso-commend.d.ts +0 -14
  150. package/dist/classes/ovary.d/xorriso-commend.js +0 -119
  151. package/dist/classes/ovary.d.ts +0 -77
  152. package/dist/classes/ovary.js +0 -81
  153. package/dist/classes/pacman.d/aldos.d.ts +0 -52
  154. package/dist/classes/pacman.d/aldos.js +0 -100
  155. package/dist/classes/pacman.d/alpine.d.ts +0 -56
  156. package/dist/classes/pacman.d/alpine.js +0 -162
  157. package/dist/classes/pacman.d/archlinux.d.ts +0 -62
  158. package/dist/classes/pacman.d/archlinux.js +0 -140
  159. package/dist/classes/pacman.d/debian.d.ts +0 -65
  160. package/dist/classes/pacman.d/debian.js +0 -143
  161. package/dist/classes/pacman.d/fedora.d.ts +0 -53
  162. package/dist/classes/pacman.d/fedora.js +0 -101
  163. package/dist/classes/pacman.d/openmamba.d.ts +0 -52
  164. package/dist/classes/pacman.d/openmamba.js +0 -100
  165. package/dist/classes/pacman.d/opensuse.d.ts +0 -53
  166. package/dist/classes/pacman.d/opensuse.js +0 -102
  167. package/dist/classes/pacman.d/voidlinux.d.ts +0 -52
  168. package/dist/classes/pacman.d/voidlinux.js +0 -90
  169. package/dist/classes/pacman.d.ts +0 -139
  170. package/dist/classes/pacman.js +0 -775
  171. package/dist/classes/pve-live.d.ts +0 -17
  172. package/dist/classes/pve-live.js +0 -52
  173. package/dist/classes/pxe.d.ts +0 -74
  174. package/dist/classes/pxe.js +0 -410
  175. package/dist/classes/settings.d.ts +0 -52
  176. package/dist/classes/settings.js +0 -185
  177. package/dist/classes/sources_list.d.ts +0 -28
  178. package/dist/classes/sources_list.js +0 -89
  179. package/dist/classes/systemctl.d.ts +0 -47
  180. package/dist/classes/systemctl.js +0 -86
  181. package/dist/classes/tailor.d.ts +0 -50
  182. package/dist/classes/tailor.js +0 -526
  183. package/dist/classes/tools.d.ts +0 -26
  184. package/dist/classes/tools.js +0 -50
  185. package/dist/classes/users.d.ts +0 -28
  186. package/dist/classes/users.js +0 -143
  187. package/dist/classes/utils.d.ts +0 -327
  188. package/dist/classes/utils.js +0 -1019
  189. package/dist/classes/xdg.d.ts +0 -45
  190. package/dist/classes/xdg.js +0 -337
  191. package/dist/classes/yolk.d.ts +0 -33
  192. package/dist/classes/yolk.js +0 -114
  193. package/dist/commands/adapt.d.ts +0 -17
  194. package/dist/commands/adapt.js +0 -33
  195. package/dist/commands/analyze.d.ts +0 -26
  196. package/dist/commands/analyze.js +0 -95
  197. package/dist/commands/calamares.d.ts +0 -29
  198. package/dist/commands/calamares.js +0 -112
  199. package/dist/commands/config.d.ts +0 -35
  200. package/dist/commands/config.js +0 -120
  201. package/dist/commands/cuckoo.d.ts +0 -16
  202. package/dist/commands/cuckoo.js +0 -62
  203. package/dist/commands/dad.d.ts +0 -20
  204. package/dist/commands/dad.js +0 -46
  205. package/dist/commands/export/iso.d.ts +0 -19
  206. package/dist/commands/export/iso.js +0 -55
  207. package/dist/commands/export/pkg.d.ts +0 -29
  208. package/dist/commands/export/pkg.js +0 -163
  209. package/dist/commands/export/tarballs.d.ts +0 -27
  210. package/dist/commands/export/tarballs.js +0 -84
  211. package/dist/commands/install.d.ts +0 -38
  212. package/dist/commands/install.js +0 -91
  213. package/dist/commands/kill.d.ts +0 -24
  214. package/dist/commands/kill.js +0 -50
  215. package/dist/commands/love.d.ts +0 -20
  216. package/dist/commands/love.js +0 -59
  217. package/dist/commands/mom.d.ts +0 -16
  218. package/dist/commands/mom.js +0 -30
  219. package/dist/commands/produce.d.ts +0 -34
  220. package/dist/commands/produce.js +0 -201
  221. package/dist/commands/status.d.ts +0 -23
  222. package/dist/commands/status.js +0 -31
  223. package/dist/commands/syncfrom.d.ts +0 -45
  224. package/dist/commands/syncfrom.js +0 -152
  225. package/dist/commands/syncto.d.ts +0 -40
  226. package/dist/commands/syncto.js +0 -175
  227. package/dist/commands/tools/clean.d.ts +0 -18
  228. package/dist/commands/tools/clean.js +0 -37
  229. package/dist/commands/tools/ppa.d.ts +0 -26
  230. package/dist/commands/tools/ppa.js +0 -138
  231. package/dist/commands/tools/skel.d.ts +0 -18
  232. package/dist/commands/tools/skel.js +0 -44
  233. package/dist/commands/tools/stat.d.ts +0 -31
  234. package/dist/commands/tools/stat.js +0 -70
  235. package/dist/commands/tools/yolk.d.ts +0 -24
  236. package/dist/commands/tools/yolk.js +0 -45
  237. package/dist/commands/update.d.ts +0 -51
  238. package/dist/commands/update.js +0 -219
  239. package/dist/commands/wardrobe/get.d.ts +0 -23
  240. package/dist/commands/wardrobe/get.js +0 -52
  241. package/dist/commands/wardrobe/list.d.ts +0 -24
  242. package/dist/commands/wardrobe/list.js +0 -125
  243. package/dist/commands/wardrobe/show.d.ts +0 -25
  244. package/dist/commands/wardrobe/show.js +0 -97
  245. package/dist/commands/wardrobe/wear.d.ts +0 -26
  246. package/dist/commands/wardrobe/wear.js +0 -84
  247. package/dist/index.d.ts +0 -54
  248. package/dist/index.js +0 -147
  249. package/dist/index_old.d.ts +0 -8
  250. package/dist/index_old.js +0 -8
  251. package/dist/interfaces/i-addons.d.ts +0 -12
  252. package/dist/interfaces/i-addons.js +0 -8
  253. package/dist/interfaces/i-analyze.d.ts +0 -17
  254. package/dist/interfaces/i-analyze.js +0 -17
  255. package/dist/interfaces/i-app.d.ts +0 -14
  256. package/dist/interfaces/i-app.js +0 -8
  257. package/dist/interfaces/i-branding.d.ts +0 -36
  258. package/dist/interfaces/i-branding.js +0 -8
  259. package/dist/interfaces/i-calamares-displaymanager.d.ts +0 -17
  260. package/dist/interfaces/i-calamares-displaymanager.js +0 -1
  261. package/dist/interfaces/i-calamares-finished.d.ts +0 -12
  262. package/dist/interfaces/i-calamares-finished.js +0 -1
  263. package/dist/interfaces/i-calamares-packages.d.ts +0 -28
  264. package/dist/interfaces/i-calamares-packages.js +0 -1
  265. package/dist/interfaces/i-calamares-partition.d.ts +0 -40
  266. package/dist/interfaces/i-calamares-partition.js +0 -1
  267. package/dist/interfaces/i-config-tools.d.ts +0 -15
  268. package/dist/interfaces/i-config-tools.js +0 -8
  269. package/dist/interfaces/i-devices.d.ts +0 -20
  270. package/dist/interfaces/i-devices.js +0 -8
  271. package/dist/interfaces/i-distro.d.ts +0 -23
  272. package/dist/interfaces/i-distro.js +0 -8
  273. package/dist/interfaces/i-drive-list.d.ts +0 -33
  274. package/dist/interfaces/i-drive-list.js +0 -8
  275. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  276. package/dist/interfaces/i-eggs-config.js +0 -8
  277. package/dist/interfaces/i-excludes.d.ts +0 -14
  278. package/dist/interfaces/i-excludes.js +0 -8
  279. package/dist/interfaces/i-exec.d.ts +0 -11
  280. package/dist/interfaces/i-exec.js +0 -8
  281. package/dist/interfaces/i-initrd.d.ts +0 -13
  282. package/dist/interfaces/i-initrd.js +0 -8
  283. package/dist/interfaces/i-install.d.ts +0 -16
  284. package/dist/interfaces/i-install.js +0 -8
  285. package/dist/interfaces/i-installer.d.ts +0 -17
  286. package/dist/interfaces/i-installer.js +0 -8
  287. package/dist/interfaces/i-luks-passphrase.d.ts +0 -11
  288. package/dist/interfaces/i-luks-passphrase.js +0 -8
  289. package/dist/interfaces/i-materia.d.ts +0 -36
  290. package/dist/interfaces/i-materia.js +0 -8
  291. package/dist/interfaces/i-net.d.ts +0 -16
  292. package/dist/interfaces/i-net.js +0 -8
  293. package/dist/interfaces/i-os-release.d.ts +0 -5
  294. package/dist/interfaces/i-os-release.js +0 -1
  295. package/dist/interfaces/i-packages.d.ts +0 -16
  296. package/dist/interfaces/i-packages.js +0 -8
  297. package/dist/interfaces/i-partitions.d.ts +0 -16
  298. package/dist/interfaces/i-partitions.js +0 -8
  299. package/dist/interfaces/i-pxe.d.ts +0 -45
  300. package/dist/interfaces/i-pxe.js +0 -1
  301. package/dist/interfaces/i-remix.d.ts +0 -21
  302. package/dist/interfaces/i-remix.js +0 -8
  303. package/dist/interfaces/i-settings.d.ts +0 -33
  304. package/dist/interfaces/i-settings.js +0 -8
  305. package/dist/interfaces/i-user.d.ts +0 -14
  306. package/dist/interfaces/i-user.js +0 -8
  307. package/dist/interfaces/i-workdir.d.ts +0 -14
  308. package/dist/interfaces/i-workdir.js +0 -8
  309. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  310. package/dist/interfaces/i-xkb-model.js +0 -8
  311. package/dist/interfaces/index.d.ts +0 -26
  312. package/dist/interfaces/index.js +0 -8
  313. package/dist/krill/classes/cfs.d.ts +0 -17
  314. package/dist/krill/classes/cfs.js +0 -39
  315. package/dist/krill/classes/krill_enums.d.ts +0 -24
  316. package/dist/krill/classes/krill_enums.js +0 -26
  317. package/dist/krill/classes/prepare.d/confirm.d.ts +0 -5
  318. package/dist/krill/classes/prepare.d/confirm.js +0 -30
  319. package/dist/krill/classes/prepare.d/keyboard.d.ts +0 -14
  320. package/dist/krill/classes/prepare.d/keyboard.js +0 -62
  321. package/dist/krill/classes/prepare.d/location.d.ts +0 -17
  322. package/dist/krill/classes/prepare.d/location.js +0 -59
  323. package/dist/krill/classes/prepare.d/network.d.ts +0 -14
  324. package/dist/krill/classes/prepare.d/network.js +0 -68
  325. package/dist/krill/classes/prepare.d/partitions.d.ts +0 -14
  326. package/dist/krill/classes/prepare.d/partitions.js +0 -86
  327. package/dist/krill/classes/prepare.d/summary.d.ts +0 -15
  328. package/dist/krill/classes/prepare.d/summary.js +0 -69
  329. package/dist/krill/classes/prepare.d/users.d.ts +0 -6
  330. package/dist/krill/classes/prepare.d/users.js +0 -63
  331. package/dist/krill/classes/prepare.d/welcome.d.ts +0 -6
  332. package/dist/krill/classes/prepare.d/welcome.js +0 -30
  333. package/dist/krill/classes/prepare.d.ts +0 -64
  334. package/dist/krill/classes/prepare.js +0 -314
  335. package/dist/krill/classes/sequence.d/add_user.d.ts +0 -20
  336. package/dist/krill/classes/sequence.d/add_user.js +0 -48
  337. package/dist/krill/classes/sequence.d/bootloader.d.ts +0 -14
  338. package/dist/krill/classes/sequence.d/bootloader.js +0 -95
  339. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +0 -14
  340. package/dist/krill/classes/sequence.d/bootloader_config.js +0 -165
  341. package/dist/krill/classes/sequence.d/change_password.d.ts +0 -15
  342. package/dist/krill/classes/sequence.d/change_password.js +0 -18
  343. package/dist/krill/classes/sequence.d/del_live_user.d.ts +0 -14
  344. package/dist/krill/classes/sequence.d/del_live_user.js +0 -39
  345. package/dist/krill/classes/sequence.d/fstab.d.ts +0 -14
  346. package/dist/krill/classes/sequence.d/fstab.js +0 -189
  347. package/dist/krill/classes/sequence.d/grubcfg.d.ts +0 -17
  348. package/dist/krill/classes/sequence.d/grubcfg.js +0 -33
  349. package/dist/krill/classes/sequence.d/hostname.d.ts +0 -13
  350. package/dist/krill/classes/sequence.d/hostname.js +0 -50
  351. package/dist/krill/classes/sequence.d/initramfs.d.ts +0 -13
  352. package/dist/krill/classes/sequence.d/initramfs.js +0 -54
  353. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +0 -14
  354. package/dist/krill/classes/sequence.d/initramfs_cfg.js +0 -35
  355. package/dist/krill/classes/sequence.d/locale.d.ts +0 -13
  356. package/dist/krill/classes/sequence.d/locale.js +0 -91
  357. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +0 -10
  358. package/dist/krill/classes/sequence.d/locale_cfg.js +0 -58
  359. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +0 -14
  360. package/dist/krill/classes/sequence.d/m_keyboard.js +0 -58
  361. package/dist/krill/classes/sequence.d/machine_id.d.ts +0 -15
  362. package/dist/krill/classes/sequence.d/machine_id.js +0 -33
  363. package/dist/krill/classes/sequence.d/mkfs.d.ts +0 -15
  364. package/dist/krill/classes/sequence.d/mkfs.js +0 -72
  365. package/dist/krill/classes/sequence.d/mount_fs.d.ts +0 -17
  366. package/dist/krill/classes/sequence.d/mount_fs.js +0 -68
  367. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +0 -17
  368. package/dist/krill/classes/sequence.d/mount_vfs.js +0 -40
  369. package/dist/krill/classes/sequence.d/network_cfg.d.ts +0 -19
  370. package/dist/krill/classes/sequence.d/network_cfg.js +0 -73
  371. package/dist/krill/classes/sequence.d/packages.d.ts +0 -14
  372. package/dist/krill/classes/sequence.d/packages.js +0 -111
  373. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +0 -17
  374. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +0 -73
  375. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +0 -17
  376. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +0 -36
  377. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +0 -17
  378. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +0 -78
  379. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +0 -10
  380. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -32
  381. package/dist/krill/classes/sequence.d/partition.d.ts +0 -14
  382. package/dist/krill/classes/sequence.d/partition.js +0 -84
  383. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +0 -13
  384. package/dist/krill/classes/sequence.d/remove_installer_link.js +0 -35
  385. package/dist/krill/classes/sequence.d/umount.d.ts +0 -14
  386. package/dist/krill/classes/sequence.d/umount.js +0 -28
  387. package/dist/krill/classes/sequence.d/unpackfs.d.ts +0 -13
  388. package/dist/krill/classes/sequence.d/unpackfs.js +0 -20
  389. package/dist/krill/classes/sequence.d.ts +0 -136
  390. package/dist/krill/classes/sequence.js +0 -663
  391. package/dist/krill/components/finished.d.ts +0 -16
  392. package/dist/krill/components/finished.js +0 -56
  393. package/dist/krill/components/information.d.ts +0 -8
  394. package/dist/krill/components/information.js +0 -156
  395. package/dist/krill/components/install.d.ts +0 -15
  396. package/dist/krill/components/install.js +0 -60
  397. package/dist/krill/components/keyboard.d.ts +0 -16
  398. package/dist/krill/components/keyboard.js +0 -54
  399. package/dist/krill/components/location.d.ts +0 -16
  400. package/dist/krill/components/location.js +0 -59
  401. package/dist/krill/components/network.d.ts +0 -19
  402. package/dist/krill/components/network.js +0 -65
  403. package/dist/krill/components/partitions.d.ts +0 -18
  404. package/dist/krill/components/partitions.js +0 -89
  405. package/dist/krill/components/steps.d.ts +0 -13
  406. package/dist/krill/components/steps.js +0 -148
  407. package/dist/krill/components/summary.d.ts +0 -25
  408. package/dist/krill/components/summary.js +0 -77
  409. package/dist/krill/components/title.d.ts +0 -11
  410. package/dist/krill/components/title.js +0 -35
  411. package/dist/krill/components/users.d.ts +0 -24
  412. package/dist/krill/components/users.js +0 -80
  413. package/dist/krill/components/welcome.d.ts +0 -13
  414. package/dist/krill/components/welcome.js +0 -63
  415. package/dist/krill/interfaces/i_krill.d.ts +0 -44
  416. package/dist/krill/interfaces/i_krill.js +0 -8
  417. package/dist/krill/interfaces/i_krill_config.d.ts +0 -35
  418. package/dist/krill/interfaces/i_krill_config.js +0 -8
  419. package/dist/krill/lib/get_address.d.ts +0 -8
  420. package/dist/krill/lib/get_address.js +0 -23
  421. package/dist/krill/lib/get_dns.d.ts +0 -8
  422. package/dist/krill/lib/get_dns.js +0 -23
  423. package/dist/krill/lib/get_domain.d.ts +0 -8
  424. package/dist/krill/lib/get_domain.js +0 -23
  425. package/dist/krill/lib/get_gateway.d.ts +0 -8
  426. package/dist/krill/lib/get_gateway.js +0 -23
  427. package/dist/krill/lib/get_hostname.d.ts +0 -8
  428. package/dist/krill/lib/get_hostname.js +0 -23
  429. package/dist/krill/lib/get_luks_passphrase.d.ts +0 -8
  430. package/dist/krill/lib/get_luks_passphrase.js +0 -40
  431. package/dist/krill/lib/get_netmask.d.ts +0 -8
  432. package/dist/krill/lib/get_netmask.js +0 -23
  433. package/dist/krill/lib/get_password.d.ts +0 -8
  434. package/dist/krill/lib/get_password.js +0 -36
  435. package/dist/krill/lib/get_userfullname.d.ts +0 -8
  436. package/dist/krill/lib/get_userfullname.js +0 -23
  437. package/dist/krill/lib/get_username.d.ts +0 -8
  438. package/dist/krill/lib/get_username.js +0 -23
  439. package/dist/krill/lib/kill_me_softly.d.ts +0 -11
  440. package/dist/krill/lib/kill_me_softly.js +0 -61
  441. package/dist/krill/lib/select_address_type.d.ts +0 -8
  442. package/dist/krill/lib/select_address_type.js +0 -24
  443. package/dist/krill/lib/select_filesystem_type.d.ts +0 -8
  444. package/dist/krill/lib/select_filesystem_type.js +0 -39
  445. package/dist/krill/lib/select_installation_device.d.ts +0 -8
  446. package/dist/krill/lib/select_installation_device.js +0 -40
  447. package/dist/krill/lib/select_installation_mode.d.ts +0 -9
  448. package/dist/krill/lib/select_installation_mode.js +0 -25
  449. package/dist/krill/lib/select_interface.d.ts +0 -8
  450. package/dist/krill/lib/select_interface.js +0 -24
  451. package/dist/krill/lib/select_keyboard_layout.d.ts +0 -11
  452. package/dist/krill/lib/select_keyboard_layout.js +0 -36
  453. package/dist/krill/lib/select_keyboard_model.d.ts +0 -11
  454. package/dist/krill/lib/select_keyboard_model.js +0 -34
  455. package/dist/krill/lib/select_keyboard_option.d.ts +0 -11
  456. package/dist/krill/lib/select_keyboard_option.js +0 -34
  457. package/dist/krill/lib/select_keyboard_variant.d.ts +0 -11
  458. package/dist/krill/lib/select_keyboard_variant.js +0 -35
  459. package/dist/krill/lib/select_languages.d.ts +0 -8
  460. package/dist/krill/lib/select_languages.js +0 -28
  461. package/dist/krill/lib/select_regions.d.ts +0 -8
  462. package/dist/krill/lib/select_regions.js +0 -24
  463. package/dist/krill/lib/select_replaced_partition.d.ts +0 -8
  464. package/dist/krill/lib/select_replaced_partition.js +0 -31
  465. package/dist/krill/lib/select_user_swap_choice.d.ts +0 -9
  466. package/dist/krill/lib/select_user_swap_choice.js +0 -35
  467. package/dist/krill/lib/select_zones.d.ts +0 -8
  468. package/dist/krill/lib/select_zones.js +0 -518
  469. package/dist/lib/utils.d.ts +0 -42
  470. package/dist/lib/utils.js +0 -87
@@ -1,12 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/make-efi.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 Ovary from '../ovary.js';
9
- /**
10
- * makeEFI
11
- */
12
- export declare function makeEfi(this: Ovary, theme?: string): Promise<void>;
@@ -1,268 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/make-efi.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 mustache from 'mustache';
9
- // packages
10
- import fs from 'node:fs';
11
- import path from 'node:path';
12
- // classes
13
- import { exec } from '../../lib/utils.js';
14
- import Diversions from '../diversions.js';
15
- import Utils from '../utils.js';
16
- // _dirname
17
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
18
- /**
19
- * makeEFI
20
- */
21
- export async function makeEfi(theme = 'eggs') {
22
- Utils.warning("creating efi configuration...");
23
- const efiPath = path.join(this.settings.config.snapshot_mnt, '/efi/');
24
- const efiWorkDir = path.join(efiPath, '/work/');
25
- const efiMemdiskDir = path.join(efiPath, '/memdisk/');
26
- const efiMnt = path.join(efiPath, '/mnt/');
27
- const isoDir = this.settings.iso_work;
28
- const readmes = `${isoDir}/READMES`;
29
- let readmeContent = `# README\n`;
30
- /**
31
- * check: grub/grub2 command MUST to exists
32
- */
33
- const grubName = Diversions.grubName(this.familyId);
34
- if (grubName === '') {
35
- Utils.error('Cannot find command grub/grub2.');
36
- process.exit(1);
37
- }
38
- /**
39
- * GAE = Grub Arch Efi path+grubx86.efi/signed
40
- */
41
- let GAE = srcGAES();
42
- if (!fs.existsSync(srcGAE())) {
43
- GAE = srcGAE();
44
- }
45
- if (!fs.existsSync(GAE)) {
46
- if (this.familyId === 'debian') {
47
- console.log(`error: cannot find ${GAE}`);
48
- process.exit(1);
49
- }
50
- }
51
- // Create READMES on ISO
52
- await exec(`mkdir ${readmes}`);
53
- // clean/create all in efiPath
54
- if (fs.existsSync(efiPath)) {
55
- await exec(`rm -rf ${efiPath}`);
56
- }
57
- await exec(`mkdir ${efiPath}`, this.echo);
58
- await exec(`mkdir ${efiMemdiskDir}`, this.echo);
59
- await exec(`mkdir ${efiMnt}`, this.echo);
60
- await exec(`mkdir ${efiWorkDir}`, this.echo);
61
- const grub1 = `${efiMemdiskDir}/boot/grub/grub.cfg`;
62
- let grubText1 = `# grub.cfg 1\n`;
63
- /**
64
- * create efi.img
65
- */
66
- await exec(`mkdir ${path.join(efiMemdiskDir, "/boot")}`, this.echo);
67
- await exec(`mkdir ${path.join(efiMemdiskDir, "/boot/grub")}`, this.echo);
68
- // create grub.cfg 1 in memdisk
69
- Utils.warning("creating grub.cfg (1) in (efi.img)/boot/grub");
70
- grubText1 += `# created on ${efiMemdiskDir}\n`;
71
- grubText1 += `\n`;
72
- grubText1 += `search --set=root --file /.disk/id/${this.uuid}\n`;
73
- grubText1 += 'set prefix=($root)/boot/grub\n';
74
- grubText1 += `configfile ($root)/boot/grub/grub.cfg\n`;
75
- Utils.write(grub1, grubText1);
76
- /**
77
- * creating structure efiWordDir
78
- */
79
- await exec(`mkdir -p ${efiWorkDir}/boot/grub`, this.echo);
80
- await exec(`mkdir -p ${efiWorkDir}/EFI/boot`);
81
- /**
82
- * create tarred efiMemdiskDir
83
- */
84
- const currentDir = process.cwd();
85
- process.chdir(efiMemdiskDir);
86
- await exec('tar -cvf memdisk boot', this.echo);
87
- process.chdir(currentDir);
88
- /**
89
- * Create boot image "boot/grub/efi.img"
90
- */
91
- const efiImg = `${efiWorkDir}boot/grub/efi.img`;
92
- await exec(`dd if=/dev/zero of=${efiImg} bs=1M count=16`, this.echo);
93
- await exec(`/sbin/mkdosfs -F 12 ${efiImg}`, this.echo);
94
- // mount efi.img on mnt-img
95
- await exec(`mount -o loop ${efiImg} ${efiMnt}`, this.echo);
96
- // create structure inside efiMnt
97
- await exec(`mkdir ${efiMnt}/boot`, this.echo);
98
- await exec(`mkdir ${efiMnt}/boot/grub`, this.echo);
99
- await exec(`mkdir ${efiMnt}/boot/grub/x86_64-efi`, this.echo);
100
- await exec(`cp -r /usr/lib/grub/x86_64-efi/*.mod ${efiMnt}/boot/grub/x86_64-efi/`, this.echo);
101
- await exec(`mkdir ${efiMnt}/EFI`, this.echo);
102
- await exec(`mkdir ${efiMnt}/EFI/boot`, this.echo);
103
- /**
104
- * copy grub.cfg to (efi.img)/boot/grub
105
- */
106
- await exec(`cp ${grub1} ${efiMnt}/boot/grub`);
107
- // readme
108
- readmeContent += `## copyng on (efi.img) ${efiMnt}\n`;
109
- readmeContent += `${grub1} copied to /boot/grub`;
110
- if (this.settings.distro.codenameLikeId === 'bookworm') {
111
- /**
112
- * (efi.img)/EFI/boot/bootx84.efi (shimx64.efi)
113
- * (efi.img)/EFI/boot/grubx84.efi
114
- */
115
- Utils.warning(`copy ${srcShim()} to ${efiMnt}/EFI/boot/${bootArchEfi()}`);
116
- Utils.warning(`copy ${srcGAES()} to ${efiMnt}/EFI/boot/${nameGAE()}`);
117
- await exec(`cp ${srcShim()} ${efiMnt}/EFI/boot/${bootArchEfi()}`, this.echo);
118
- await exec(`cp ${srcGAES()} ${efiMnt}/EFI/boot/${nameGAE()}`, this.echo);
119
- readmeContent += `${srcShim()} copied as ${bootArchEfi()}\n`;
120
- readmeContent += `${GAE} copied as ${nameGAE()}\n`;
121
- }
122
- else {
123
- /**
124
- * we need to build bootx64.efi
125
- */
126
- Utils.warning(`create ${bootArchEfi()} not signed and copy as ${bootArchEfi()}`);
127
- await exec(`${grubName}-mkimage -O "${Utils.uefiFormat()}" \
128
- -m "${efiMemdiskDir}/memdisk" \
129
- -o "${efiMemdiskDir}/${bootArchEfi()}" \
130
- -p '(memdisk)/boot/grub' \
131
- search iso9660 configfile normal memdisk tar cat part_msdos part_gpt fat ext2 ntfs ntfscomp hfsplus chain boot linux squash4 loopback`, this.echo);
132
- await exec(`cp ${efiMemdiskDir}/${bootArchEfi()} ${efiMnt}/EFI/boot/`, this.echo);
133
- // Creare EFI
134
- readmeContent += `created grubx64.efi not signed and copied as ${bootArchEfi()}\n`;
135
- }
136
- // replicate EFI on ISO
137
- await exec(`cp -r ${efiMnt}/EFI ${isoDir}/EFI`, this.echo);
138
- // umount efiMnt
139
- await exec(`umount ${efiMnt}`, this.echo);
140
- /**
141
- * creating grub.cfg (2) on (iso)/boot/grub
142
- */
143
- Utils.warning("creating grub.cfg (2) on (iso)/boot/grub");
144
- // copy splash to efiWorkDir
145
- const splashDest = `${efiWorkDir}/boot/grub/splash.png`;
146
- let splashSrc = path.resolve(__dirname, `../../../addons/${theme}/theme/livecd/splash.png`);
147
- if (this.theme.includes('/')) {
148
- splashSrc = `${theme}/theme/livecd/splash.png`;
149
- }
150
- if (!fs.existsSync(splashSrc)) {
151
- Utils.warning('Cannot find: ' + splashSrc);
152
- process.exit(1);
153
- }
154
- await exec(`cp ${splashSrc} ${splashDest}`, this.echo);
155
- // select themeSrc
156
- let themeSrc = path.resolve(__dirname, `../../../addons/${theme}/theme/livecd/grub.theme.cfg`);
157
- if (this.theme.includes('/')) {
158
- themeSrc = `${theme}/theme/livecd/grub.theme.cfg`;
159
- }
160
- // copy theme
161
- const themeDest = `${isoDir}/boot/grub/theme.cfg`;
162
- if (!fs.existsSync(themeSrc)) {
163
- Utils.warning('Cannot find: ' + themeSrc);
164
- process.exit(1);
165
- }
166
- fs.copyFileSync(themeSrc, themeDest);
167
- // selecting available fonts
168
- if (fs.existsSync('/usr/share/grub/font.pf2')) {
169
- await exec(`cp /usr/share/grub/font.pf2 ${efiWorkDir}boot/grub/font.pf2`, this.echo);
170
- }
171
- else if (fs.existsSync('/usr/share/grub/unicode.pf2')) {
172
- await exec(`cp /usr/share/grub/unicode.pf2 ${efiWorkDir}boot/grub/font.pf2`, this.echo);
173
- }
174
- else if (fs.existsSync('/usr/share/grub/ascii.pf2')) {
175
- await exec(`cp /usr/share/grub/ascii.pf2 ${efiWorkDir}boot/grub/font.pf2`, this.echo);
176
- }
177
- // Copy workdir files to ISO/boot
178
- await exec(`rsync -avx ${efiWorkDir}/boot ${isoDir}/`, this.echo);
179
- readmeContent += `\n`;
180
- readmeContent += `## Copyng on ${isoDir}\n`;
181
- readmeContent += `rsync -avx ${efiWorkDir}/boot (iso)/boot\n`;
182
- /**
183
- * prepare main grub.cfg from grub.main.cfg
184
- */
185
- let grubTemplate = `${theme}/theme/livecd/grub.main.cfg`;
186
- if (!fs.existsSync(grubTemplate)) {
187
- grubTemplate = path.resolve(__dirname, '../../../addons/eggs/theme/livecd/grub.main.cfg');
188
- }
189
- if (!fs.existsSync(grubTemplate)) {
190
- Utils.warning('Cannot find: ' + grubTemplate);
191
- process.exit(1);
192
- }
193
- const kernel_parameters = Diversions.kernelParameters(this.familyId, this.volid); // this.kernelParameters()
194
- const g2 = path.join(isoDir, '/boot/grub/grub.cfg');
195
- const template = fs.readFileSync(grubTemplate, 'utf8');
196
- const view = {
197
- fullname: this.settings.remix.fullname.toUpperCase(),
198
- initrdImg: `/live${this.settings.initrdImg}`,
199
- kernel: Utils.kernelVersion(),
200
- kernel_parameters,
201
- vmlinuz: `/live${this.settings.vmlinuz}`
202
- };
203
- let grubText2 = `# grub.cfg 2\n`;
204
- grubText2 += ` # created on ${g2}`;
205
- grubText2 += `\n`;
206
- grubText2 += mustache.render(template, view);
207
- fs.writeFileSync(g2, grubText2);
208
- /**
209
- * create loopback.cfg
210
- */
211
- fs.writeFileSync(`${isoDir}/boot/grub/loopback.cfg`, 'source /boot/grub/grub.cfg\n');
212
- /**
213
- * create (iso)/boot/grub/x86_64-efi/grub.cfg
214
- */
215
- fs.writeFileSync(`${isoDir}/boot/grub/${Utils.uefiFormat()}/grub.cfg`, 'source /boot/grub/grub.cfg\n');
216
- /**
217
- * config.cfg
218
- */
219
- await exec(`cp ${path.resolve(__dirname, `../../../assets/config.cfg`)} ${isoDir}/boot/grub`);
220
- fs.writeFileSync(`${readmes}/grub1.cfg`, grubText1);
221
- fs.writeFileSync(`${readmes}/grub2.cfg`, grubText2);
222
- fs.writeFileSync(`${readmes}/README.md`, readmeContent);
223
- }
224
- /**
225
- *
226
- * @returns
227
- */
228
- function bootArchEfi() {
229
- let bn = 'nothing.efi';
230
- if (process.arch === 'x64') {
231
- bn = 'bootx64.efi';
232
- }
233
- else if (process.arch === 'arm64') {
234
- bn = 'bootaa64.efi';
235
- }
236
- return bn;
237
- }
238
- /**
239
- * FUNCTIONS
240
- */
241
- function nameGAE() {
242
- let bn = 'nothing.efi';
243
- if (process.arch === 'x64') {
244
- bn = 'grubx64.efi';
245
- }
246
- else if (process.arch === 'arm64') {
247
- bn = 'grubaa64.efi';
248
- }
249
- return bn;
250
- }
251
- function nameGAES() {
252
- return nameGAE() + '.signed';
253
- }
254
- function srcGAE() {
255
- return '/usr/lib/grub/' + Utils.uefiFormat() + '/monolithic/' + nameGAE();
256
- }
257
- function srcGAES() {
258
- let signedGrub = `/usr/lib/grub/${Utils.uefiFormat()}-signed/${nameGAES()}`;
259
- if (!fs.existsSync(signedGrub)) {
260
- Utils.warning(`cannot find ${signedGrub}}`);
261
- }
262
- return signedGrub;
263
- }
264
- function srcShim() {
265
- const signedShim = '/usr/lib/shim/shimx64.efi.signed';
266
- const unsignedShim = '/usr/lib/shim/shimx64.efi';
267
- return fs.existsSync(signedShim) ? signedShim : unsignedShim;
268
- }
@@ -1,13 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/make-iso.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 Ovary from '../ovary.js';
9
- /**
10
- * makeIso
11
- * cmd: cmd 4 xorriso
12
- */
13
- export declare function makeIso(this: Ovary, cmd: string, scriptOnly?: boolean): Promise<void>;
@@ -1,45 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/make-iso.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
- // packages
9
- import path from 'node:path';
10
- // classes
11
- import { exec } from '../../lib/utils.js';
12
- import Utils from '../utils.js';
13
- // _dirname
14
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
15
- /**
16
- * makeIso
17
- * cmd: cmd 4 xorriso
18
- */
19
- export async function makeIso(cmd, scriptOnly = false) {
20
- // echo = { echo: true, ignore: false }
21
- if (this.verbose) {
22
- console.log('Ovary: makeIso');
23
- }
24
- Utils.writeX(`${this.settings.work_dir.ovarium}mkisofs`, cmd);
25
- // Create link to iso ALLWAYES
26
- const src = this.settings.config.snapshot_mnt + this.settings.isoFilename;
27
- const dest = this.settings.config.snapshot_dir + this.settings.isoFilename;
28
- await exec(`ln -s ${src} ${dest}`);
29
- if (!scriptOnly) {
30
- const test = (await exec(cmd, Utils.setEcho(true))).code;
31
- if (test !== 0) {
32
- process.exit();
33
- }
34
- // Create link to iso
35
- const src = this.settings.config.snapshot_mnt + this.settings.isoFilename;
36
- const dest = this.settings.config.snapshot_dir + this.settings.isoFilename;
37
- await exec(`ln -s ${src} ${dest}`);
38
- // Create md5sum, sha256sum
39
- if (this.settings.config.make_md5sum) {
40
- Utils.warning('creating md5, sha256');
41
- await exec(`md5sum ${src} > ${dest.replace('.iso', '.md5')}`);
42
- await exec(`sha256sum ${src} > ${dest.replace('.iso', '.sha256')}`);
43
- }
44
- }
45
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/make-squashfs.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 Ovary from '../ovary.js';
9
- /**
10
- * squashFs: crea in live filesystem.squashfs
11
- */
12
- export declare function makeSquashfs(this: Ovary, scriptOnly?: boolean, unsecure?: boolean): Promise<string>;
13
- /**
14
- * Add or remove exclusion
15
- * @param add {boolean} true = add, false remove
16
- * @param exclusion {string} path to add/remove
17
- */
18
- export declare function addRemoveExclusion(this: Ovary, add: boolean, exclusion: string): void;
@@ -1,117 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/make-squashfs.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
- // packages
9
- import fs from 'fs';
10
- import path from 'node:path';
11
- import shx from 'shelljs';
12
- // classes
13
- import { exec } from '../../lib/utils.js';
14
- import Utils from '../utils.js';
15
- // _dirname
16
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
17
- /**
18
- * squashFs: crea in live filesystem.squashfs
19
- */
20
- export async function makeSquashfs(scriptOnly = false, unsecure = false) {
21
- if (this.verbose) {
22
- console.log('Ovary: makeSquashfs');
23
- }
24
- /**
25
- * exclude all the accurence of cryptdisks in rc0.d, etc
26
- */
27
- const fexcludes = [
28
- '/boot/efi/EFI',
29
- '/boot/loader/entries/',
30
- '/etc/fstab',
31
- '/etc/mtab',
32
- '/etc/udev/rules.d/70-persistent-cd.rules',
33
- '/etc/udev/rules.d/70-persistent-net.rules',
34
- ];
35
- for (const i in fexcludes) {
36
- this.addRemoveExclusion(true, fexcludes[i]);
37
- }
38
- /**
39
- * Non sò che fa, ma sicuro non serve per archlinux
40
- */
41
- if (this.familyId === 'debian') {
42
- const rcd = ['rc0.d', 'rc1.d', 'rc2.d', 'rc3.d', 'rc4.d', 'rc5.d', 'rc6.d', 'rcS.d'];
43
- let files;
44
- for (const i in rcd) {
45
- files = fs.readdirSync(`${this.settings.work_dir.merged}/etc/${rcd[i]}`);
46
- for (const n in files) {
47
- if (files[n].includes('cryptdisks')) {
48
- this.addRemoveExclusion(true, `/etc/${rcd[i]}${files[n]}`);
49
- }
50
- }
51
- }
52
- }
53
- /**
54
- * secure
55
- */
56
- if (!unsecure) {
57
- this.addRemoveExclusion(true, `root/*`);
58
- this.addRemoveExclusion(true, `root/.*`);
59
- }
60
- if (shx.exec('/usr/bin/test -L /etc/localtime', { silent: true }) && shx.exec('cat /etc/timezone', { silent: true }) !== 'Europe/Rome') {
61
- // this.addRemoveExclusion(true, '/etc/localtime')
62
- }
63
- this.addRemoveExclusion(true, this.settings.config.snapshot_dir /* .absolutePath() */);
64
- if (fs.existsSync(`${this.settings.iso_work}/live/filesystem.squashfs`)) {
65
- fs.unlinkSync(`${this.settings.iso_work}/live/filesystem.squashfs`);
66
- }
67
- const compression = `-comp ${this.settings.config.compression}`;
68
- /**
69
- * limit: patch per Raspberry
70
- */
71
- const limit = '';
72
- if (Utils.uefiArch() === 'arm64') {
73
- // limit = ' -processors 2 -mem 1024M'
74
- }
75
- /**
76
- * mksquashfs
77
- *
78
- * SYNTAX: mksquashfs source1 source2 ...
79
- * FILESYSTEM [OPTIONS]
80
- * [-ef exclude.list]
81
- * [-e list of exclude dirs/files]
82
- */
83
- let cmd = `mksquashfs ${this.settings.work_dir.merged} ${this.settings.iso_work}live/filesystem.squashfs ${compression} ${limit} -wildcards -ef ${this.settings.config.snapshot_excludes} ${this.settings.session_excludes}`;
84
- cmd = cmd.replaceAll(/\s\s+/g, ' ');
85
- Utils.writeX(`${this.settings.work_dir.ovarium}mksquashfs`, cmd);
86
- if (!scriptOnly) {
87
- Utils.warning('creating filesystem.squashfs on ISO/live');
88
- // Utils.warning(`compression: ` + compression)
89
- const test = (await exec(cmd, Utils.setEcho(true))).code;
90
- if (test !== 0) {
91
- process.exit();
92
- }
93
- }
94
- return cmd;
95
- }
96
- /**
97
- * Add or remove exclusion
98
- * @param add {boolean} true = add, false remove
99
- * @param exclusion {string} path to add/remove
100
- */
101
- export function addRemoveExclusion(add, exclusion) {
102
- if (this.verbose) {
103
- console.log('Ovary: addRemoveExclusion');
104
- }
105
- if (exclusion.startsWith('/')) {
106
- exclusion = exclusion.slice(1); // remove / initial Non compatible with rsync
107
- }
108
- if (add) {
109
- this.settings.session_excludes += this.settings.session_excludes === '' ? `-e '${exclusion}' ` : ` '${exclusion}' `;
110
- }
111
- else {
112
- this.settings.session_excludes.replace(` '${exclusion}'`, '');
113
- if (this.settings.session_excludes === '-e') {
114
- this.settings.session_excludes = '';
115
- }
116
- }
117
- }
@@ -1,31 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/merge.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 Ovary from '../ovary.js';
9
- /**
10
- * Ritorna true se c'è bisogno del mount --bind
11
- *
12
- * Ci sono tre tipologie:
13
- *
14
- * - normal solo la creazione della directory, nessun mount
15
- * - merged creazione della directory e mount ro
16
- * - mergedAndOverlay creazione directory, overlay e mount rw
17
- * - copied: creazione directory e copia
18
- */
19
- export declare function merged(this: Ovary, dir: string): boolean;
20
- /**
21
- * Restituisce true per le direcory da montare con overlay
22
- *
23
- * Ci sono tre tipologie:
24
- *
25
- * - normal solo la creazione della directory, nessun mount
26
- * - merged creazione della directory e mount ro
27
- * - mergedAndOverlay creazione directory, overlay e mount rw
28
- *
29
- * @param dir
30
- */
31
- export declare function mergedAndOverlay(this: Ovary, dir: string): boolean;
@@ -1,87 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/merge.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
- // packages
9
- import path from 'node:path';
10
- // _dirname
11
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
12
- /**
13
- * Ritorna true se c'è bisogno del mount --bind
14
- *
15
- * Ci sono tre tipologie:
16
- *
17
- * - normal solo la creazione della directory, nessun mount
18
- * - merged creazione della directory e mount ro
19
- * - mergedAndOverlay creazione directory, overlay e mount rw
20
- * - copied: creazione directory e copia
21
- */
22
- export function merged(dir) {
23
- if (this.verbose) {
24
- console.log('Ovary: merged');
25
- }
26
- let merged = true;
27
- if (dir === 'home') {
28
- merged = this.clone;
29
- }
30
- else {
31
- const noMergeDirs = [
32
- 'boot', // will be copied now
33
- 'cdrom',
34
- 'dev',
35
- 'media',
36
- 'mnt',
37
- 'proc',
38
- 'run',
39
- 'swapfile',
40
- 'sys',
41
- 'tmp'
42
- ];
43
- // deepin
44
- noMergeDirs.push('data', 'recovery');
45
- for (const noMergeDir of noMergeDirs) {
46
- if (dir === noMergeDir) {
47
- merged = false;
48
- }
49
- }
50
- }
51
- return merged;
52
- }
53
- /**
54
- * Restituisce true per le direcory da montare con overlay
55
- *
56
- * Ci sono tre tipologie:
57
- *
58
- * - normal solo la creazione della directory, nessun mount
59
- * - merged creazione della directory e mount ro
60
- * - mergedAndOverlay creazione directory, overlay e mount rw
61
- *
62
- * @param dir
63
- */
64
- export function mergedAndOverlay(dir) {
65
- if (this.verbose) {
66
- console.log('Ovary: mergedAndOverlay');
67
- }
68
- /**
69
- * Debian: usrmerged
70
- * bin -> usr/bin
71
- * lib -> usr/lib
72
- * lib64 -> usr/lib64
73
- * sbin -> usr/sbin
74
- *
75
- * 'bin' rimossa da overlay
76
- */
77
- // aggiunto bin per autologin su Alpine
78
- const mountDirs = ['etc', 'usr', 'var'];
79
- let mountDir = '';
80
- let overlay = false;
81
- for (mountDir of mountDirs) {
82
- if (mountDir === dir) {
83
- overlay = true;
84
- }
85
- }
86
- return overlay;
87
- }
@@ -1,23 +0,0 @@
1
- /**
2
- * ./src/classes/ovary.d/produce.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 { IAddons, IExcludes } from '../../interfaces/index.js';
9
- import Ovary from './../ovary.js';
10
- /**
11
- * produce
12
- * @param clone
13
- * @param cryptedclone
14
- * @param scriptOnly
15
- * @param yolkRenew
16
- * @param release
17
- * @param myAddons
18
- * @param nointeractive
19
- * @param noicons
20
- * @param unsecure
21
- * @param verbose
22
- */
23
- export declare function produce(this: Ovary, clone: boolean | undefined, cryptedclone: boolean | undefined, scriptOnly: boolean | undefined, yolkRenew: boolean | undefined, release: boolean | undefined, myAddons: IAddons, myLinks: string[], excludes: IExcludes, nointeractive?: boolean, noicons?: boolean, unsecure?: boolean, verbose?: boolean): Promise<void>;