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
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -x
4
+ export CMD_PATH=$(cd `dirname $0`; pwd)
5
+ export PROJECT_NAME="${CMD_PATH##*/}"
6
+ cd $CMD_PATH
7
+
8
+ # define YOLK if host=Debian
9
+ if [ -f /etc/os-release ]; then
10
+ . /etc/os-release
11
+ if [[ "$ID" == "debian" ]]; then
12
+ DEST="/var/local/yolk"
13
+ if [ ! -d $DEST ]; then
14
+ sudo mkdir -p $DEST
15
+ fi
16
+ YOLK="-v $DEST:$DEST"
17
+ fi
18
+ fi
19
+
20
+ FAMILY_ID="debian"
21
+ IMAGE="debian:12"
22
+ source podman.command.sh debian
23
+
package/pods/ubuntu.sh ADDED
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -x
4
+
5
+ export CMD_PATH=$(cd `dirname $0`; pwd)
6
+ export PROJECT_NAME="${CMD_PATH##*/}"
7
+ cd $CMD_PATH
8
+
9
+ # define YOLK if host=ubuntu
10
+ if [ -f /etc/os-release ]; then
11
+ . /etc/os-release
12
+ if [[ "$ID" == "ubuntu" ]]; then
13
+ DEST="/var/local/yolk"
14
+ if [ ! -d $DEST ]; then
15
+ sudo mkdir -p $DEST
16
+ fi
17
+ YOLK="-v $DEST:$DEST"
18
+ fi
19
+ fi
20
+
21
+ FAMILY_ID="debian"
22
+ IMAGE="ubuntu:24.04"
23
+ source podman.command.sh ubuntu
24
+
package/scripts/_eggs CHANGED
@@ -194,15 +194,17 @@ _eggs() {
194
194
  "krill[krill: the CLI system installer - the egg became a penguin!]" \
195
195
  "kill[kill the eggs/free the nest]" \
196
196
  "love[the simplest way to get an egg!]" \
197
+ "maker[eggs maker: a GUI for penguin-eggs]" \
197
198
  "mom[ask help from mommy - TUI helper]" \
199
+ "pods[eggs pods: build ISOs from containers]" \
198
200
  "produce[produce a live image from your system whithout your data]" \
199
201
  "status[informations about eggs status]" \
200
202
  "syncfrom[restore users and user data from a LUKS volumes]" \
201
203
  "syncto[Save users and users' data ENCRYPTED]" \
202
204
  "update[update the Penguins' eggs tool]" \
203
- "help[Display help for eggs.]" \
204
205
  "autocomplete[Display autocomplete installation instructions.]" \
205
206
  "version[]" \
207
+ "help[Display help for eggs.]" \
206
208
 
207
209
  ;;
208
210
  args)
@@ -258,6 +260,7 @@ _arguments -S \
258
260
  "(-c --clean)"{-c,--clean}"[remove old configuration before to create]" \
259
261
  "(-d --default)"{-d,--default}"[reset to default values]" \
260
262
  "(-f --file)"{-f,--file}"[use a file configuration custom]:file:_files" \
263
+ "(-n --nointeractive)"{-n,--nointeractive}"[no user interaction]" \
261
264
  "(-h --help)"{-h,--help}"[Show CLI help.]" \
262
265
  "(-v --verbose)"{-v,--verbose}"[]" \
263
266
  --help"[Show help for command]" \
@@ -314,6 +317,12 @@ love)
314
317
  _arguments -S \
315
318
  "(-h --help)"{-h,--help}"[Show CLI help.]" \
316
319
  "(-v --verbose)"{-v,--verbose}"[]" \
320
+ "(-n --nointeractive)"{-n,--nointeractive}"[no user interaction]" \
321
+ --help"[Show help for command]" \
322
+ "*: :_files" ;;
323
+ maker)
324
+ _arguments -S \
325
+ "(-h --help)"{-h,--help}"[Show CLI help.]" \
317
326
  --help"[Show help for command]" \
318
327
  "*: :_files" ;;
319
328
  mom)
@@ -321,6 +330,11 @@ _arguments -S \
321
330
  "(-h --help)"{-h,--help}"[Show CLI help.]" \
322
331
  --help"[Show help for command]" \
323
332
  "*: :_files" ;;
333
+ pods)
334
+ _arguments -S \
335
+ "(-h --help)"{-h,--help}"[Show CLI help.]" \
336
+ --help"[Show help for command]" \
337
+ "*: :_files" ;;
324
338
  produce)
325
339
  _arguments -S \
326
340
  "*"--addons"[addons to be used: adapt, pve, rsupport]:file:_files" \
@@ -329,6 +343,7 @@ _arguments -S \
329
343
  "(-C --cryptedclone)"{-C,--cryptedclone}"[crypted clone]" \
330
344
  "*"--excludes"[use: static, homes, home]:file:_files" \
331
345
  "(-h --help)"{-h,--help}"[Show CLI help.]" \
346
+ "(-k --kernel)"{-k,--kernel}"[kernel version]:file:_files" \
332
347
  "*"--links"[desktop links]:file:_files" \
333
348
  "(-m --max)"{-m,--max}"[max compression: xz -Xbcj ...]" \
334
349
  "(-N --noicon)"{-N,--noicon}"[no icon eggs on desktop]" \
@@ -373,11 +388,6 @@ _arguments -S \
373
388
  "(-v --verbose)"{-v,--verbose}"[verbose]" \
374
389
  --help"[Show help for command]" \
375
390
  "*: :_files" ;;
376
- help)
377
- _arguments -S \
378
- "(-n --nested-commands)"{-n,--nested-commands}"[Include all nested commands in the output.]" \
379
- --help"[Show help for command]" \
380
- "*: :_files" ;;
381
391
  autocomplete)
382
392
  _arguments -S \
383
393
  "(-r --refresh-cache)"{-r,--refresh-cache}"[Refresh cache (ignores displaying instructions)]" \
@@ -389,6 +399,11 @@ _arguments -S \
389
399
  --verbose"[Show additional information about the CLI.]" \
390
400
  --help"[Show help for command]" \
391
401
  "*: :_files" ;;
402
+ help)
403
+ _arguments -S \
404
+ "(-n --nested-commands)"{-n,--nested-commands}"[Include all nested commands in the output.]" \
405
+ --help"[Show help for command]" \
406
+ "*: :_files" ;;
392
407
  esac
393
408
 
394
409
  ;;
package/scripts/eggs.bash CHANGED
@@ -16,16 +16,18 @@ analyze --help --verbose
16
16
  calamares --help --install --nointeractive --policies --release --remove --theme --verbose
17
17
  config --clean --help --nointeractive --verbose
18
18
  cuckoo --help
19
- dad --clean --default --file --help --verbose
19
+ dad --clean --default --file --nointeractive --help --verbose
20
20
  export:iso --checksum --clean --help --verbose
21
21
  export:pkg --all --clean --help --verbose
22
22
  export:tarballs --clean --help --verbose
23
23
  install --btrfs --chroot --crypted --domain --halt --help --ip --nointeractive --none --pve --random --small --suspend --testing --unattended --verbose
24
24
  krill --btrfs --chroot --crypted --domain --halt --help --ip --nointeractive --none --pve --random --small --suspend --testing --unattended --verbose
25
25
  kill --help --isos --nointeractive --verbose
26
- love --help --verbose
26
+ love --help --verbose --nointeractive
27
+ maker --help
27
28
  mom --help
28
- produce --addons --basename --clone --cryptedclone --excludes --help --links --max --noicon --nointeractive --pendrive --prefix --release --script --standard --theme --unsecure --verbose --yolk
29
+ pods --help
30
+ produce --addons --basename --clone --cryptedclone --excludes --help --kernel --links --max --noicon --nointeractive --pendrive --prefix --release --script --standard --theme --unsecure --verbose --yolk
29
31
  status --help --verbose
30
32
  syncfrom --delete --file --help --rootdir --verbose
31
33
  syncto --excludes --file --help --verbose
@@ -39,9 +41,9 @@ wardrobe:get --help --verbose
39
41
  wardrobe:list --distro --help --verbose
40
42
  wardrobe:show --help --json --verbose --wardrobe
41
43
  wardrobe:wear --help --no_accessories --no_firmwares --verbose --wardrobe
42
- help --nested-commands
43
44
  autocomplete --refresh-cache
44
45
  version --json --verbose
46
+ help --nested-commands
45
47
  "
46
48
 
47
49
  function __trim_colon_commands()
@@ -1,32 +0,0 @@
1
- /**
2
- * ./src/classes/bleach.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
- * Bleach:
10
- */
11
- export default class Bleach {
12
- /**
13
- * clean
14
- * @param verbose
15
- */
16
- clean(verbose?: boolean): Promise<void>;
17
- /**
18
- * cleanHistory
19
- * @param verbose
20
- */
21
- private cleanHistory;
22
- /**
23
- * cleanJournal
24
- * @param verbose
25
- */
26
- private cleanJournal;
27
- /**
28
- * cleanSystemCache
29
- * @param verbose
30
- */
31
- private cleanSystemCache;
32
- }
@@ -1,135 +0,0 @@
1
- /**
2
- * ./src/classes/bleach.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
- // libraries
10
- import { exec } from '../lib/utils.js';
11
- import Distro from './distro.js';
12
- import Utils from './utils.js';
13
- /**
14
- * Bleach:
15
- */
16
- export default class Bleach {
17
- /**
18
- * clean
19
- * @param verbose
20
- */
21
- async clean(verbose = false) {
22
- let echo = { capture: false, echo: false, ignore: true };
23
- if (verbose) {
24
- echo = { capture: false, echo: true, ignore: true };
25
- Utils.warning('cleaning the system');
26
- }
27
- const distro = new Distro();
28
- if (distro.familyId === 'alpine') {
29
- await exec('apk cache clean', echo);
30
- await exec('apk cache purge', echo);
31
- }
32
- else if (distro.familyId === 'archlinux') {
33
- await exec('yes | sudo pacman -Scc', Utils.setEcho(true));
34
- }
35
- else if (distro.familyId === 'debian') {
36
- await exec('apt-get clean', echo);
37
- await exec('apt-get autoclean', echo);
38
- await exec(`rm /var/lib/apt/lists/lock -rf`, echo);
39
- }
40
- else if (distro.familyId === 'fedora' || distro.familyId === 'openmamba') {
41
- await exec(`dnf remove $(dnf repoquery --installonly --latest-limit=-1 -q)`);
42
- await exec(`dnf clean all`, echo);
43
- }
44
- else if (distro.familyId === 'opensuse') {
45
- await exec(`zypper clean`, echo);
46
- }
47
- else if (distro.familyId === 'voidlinux') {
48
- await exec(`xbps-remove -O`, echo);
49
- }
50
- await this.cleanHistory(verbose);
51
- await this.cleanJournal(verbose);
52
- await this.cleanSystemCache(verbose);
53
- }
54
- /**
55
- * cleanHistory
56
- * @param verbose
57
- */
58
- async cleanHistory(verbose = false) {
59
- if (verbose) {
60
- Utils.warning('cleaning bash history');
61
- }
62
- const dest = '/root/.bash_history';
63
- if (fs.existsSync(dest)) {
64
- await rm(dest, verbose);
65
- }
66
- }
67
- /**
68
- * cleanJournal
69
- * @param verbose
70
- */
71
- async cleanJournal(verbose = false) {
72
- let echo = { capture: false, echo: false, ignore: true };
73
- if (verbose) {
74
- echo = { capture: false, echo: true, ignore: true };
75
- Utils.warning('cleaning journald');
76
- }
77
- if (Utils.isSystemd()) {
78
- try {
79
- await exec('journalctl --rotate', echo);
80
- await exec('journalctl --vacuum-time=1s', echo);
81
- }
82
- catch (error) {
83
- Utils.error(error);
84
- }
85
- }
86
- else {
87
- // Truncate logs, remove archived logs.
88
- await exec('find /var/log -name "*gz" -print0 | xargs -0r rm -f', echo);
89
- await exec('find /var/log/ -type f -exec truncate -s 0 {} \\;', echo);
90
- }
91
- }
92
- /**
93
- * cleanSystemCache
94
- * @param verbose
95
- */
96
- async cleanSystemCache(verbose = false) {
97
- let echo = { capture: false, echo: false, ignore: true };
98
- if (verbose) {
99
- echo = { capture: false, echo: true, ignore: true };
100
- Utils.warning('cleaning system cache');
101
- }
102
- // Clear PageCache only.
103
- await exec('sync; echo 1 > /proc/sys/vm/drop_caches', echo);
104
- // Clear dentries and inodes.
105
- await exec('sync; echo 2 > /proc/sys/vm/drop_caches', echo);
106
- // Clear PageCache, dentries and inodes.
107
- await exec('sync; echo 3 > /proc/sys/vm/drop_caches', echo);
108
- }
109
- }
110
- /**
111
- *
112
- * @param dest
113
- */
114
- async function rm(dest = '', verbose = false) {
115
- let echo = { capture: false, echo: false, ignore: true };
116
- if (verbose) {
117
- echo = { capture: false, echo: true, ignore: true };
118
- }
119
- if (fs.existsSync(dest)) {
120
- await exec(`rm ${dest} -rf`, echo);
121
- }
122
- else {
123
- console.log(`non esiste ${dest}`);
124
- }
125
- }
126
- async function rmdir(dest = '', verbose = false) {
127
- let echo = { capture: false, echo: false, ignore: true };
128
- if (verbose) {
129
- echo = { capture: false, echo: true, ignore: true };
130
- }
131
- const result = fs.readdirSync(dest);
132
- if (result.length > 0) {
133
- await exec(`rm ${dest} -rf`, echo);
134
- }
135
- }
@@ -1,52 +0,0 @@
1
- /**
2
- * ./src/lib/cli-autologin.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
- * CliAutologin
10
- */
11
- export default class CliAutologin {
12
- /**
13
- * add
14
- * @param distro
15
- * @param version
16
- * @param user
17
- * @param userPasswd
18
- * @param rootPasswd
19
- * @param chroot
20
- */
21
- add(distro: string, version: string, user: string, userPasswd: string, rootPasswd: string, chroot?: string): Promise<void>;
22
- /**
23
- *
24
- * @param distro
25
- * @param version
26
- * @param user
27
- * @param userPasswd
28
- * @param rootPasswd
29
- * @param chroot
30
- */
31
- addIssue(distro: string, version: string, user: string, userPasswd: string, rootPasswd: string, chroot?: string): Promise<void>;
32
- /**
33
- *
34
- * @param distro
35
- * @param version
36
- * @param user
37
- * @param userPasswd
38
- * @param rootPasswd
39
- * @param chroot
40
- */
41
- addMotd(distro: string, version: string, user: string, userPasswd: string, rootPasswd: string, chroot?: string): Promise<void>;
42
- /**
43
- * remove
44
- * @param chroot
45
- */
46
- remove(chroot?: string): Promise<void>;
47
- /**
48
- *
49
- * @param path
50
- */
51
- private msgRemove;
52
- }
@@ -1,247 +0,0 @@
1
- /**
2
- * ./src/lib/cli-autologin.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 chalk from 'chalk';
9
- import { execSync } from 'node:child_process';
10
- import fs from 'node:fs';
11
- import path from 'node:path';
12
- import shx from 'shelljs';
13
- // libraries
14
- import { exec } from '../lib/utils.js';
15
- import Pacman from './pacman.js';
16
- import Utils from './utils.js';
17
- const startMessage = 'eggs-start-message';
18
- const stopMessage = 'eggs-stop-message';
19
- /*
20
- * Comando per avviare ubiquity:
21
- * sudo --preserve-env DBUS_SESSION_BUS_ADDRESS, XDG_RUNTIME sh -c 'calamares'
22
- */
23
- /**
24
- * CliAutologin
25
- */
26
- export default class CliAutologin {
27
- /**
28
- * add
29
- * @param distro
30
- * @param version
31
- * @param user
32
- * @param userPasswd
33
- * @param rootPasswd
34
- * @param chroot
35
- */
36
- async add(distro, version, user, userPasswd, rootPasswd, chroot = '/') {
37
- if (Utils.isSystemd()) {
38
- /**
39
- * systemd
40
- */
41
- Utils.warning("creating CLI autologin systemd");
42
- const fileOverride = `${chroot}/etc/systemd/system/getty@.service.d/override.conf`;
43
- const dirOverride = path.dirname(fileOverride);
44
- if (fs.existsSync(dirOverride)) {
45
- shx.exec(`rm ${dirOverride} -rf`);
46
- }
47
- shx.exec(`mkdir ${dirOverride}`);
48
- let content = '';
49
- content += '[Service]' + '\n';
50
- content += 'ExecStart=' + '\n';
51
- content += 'ExecStart=-/sbin/agetty --noclear --autologin ' + user + ' %I $TERM' + '\n';
52
- fs.writeFileSync(fileOverride, content);
53
- shx.exec(`chmod +x ${fileOverride}`);
54
- await this.addIssue(distro, version, user, userPasswd, rootPasswd, chroot);
55
- await this.addMotd(distro, version, user, userPasswd, rootPasswd, chroot);
56
- }
57
- else if (Utils.isOpenRc()) {
58
- /**
59
- * openrc
60
- */
61
- Utils.warning("creating CLI autologin openrc");
62
- const inittab = chroot + '/etc/inittab';
63
- let content = '';
64
- const search = `tty1::respawn:/sbin/getty 38400 tty1`;
65
- const replace = `tty1::respawn:/sbin/getty -L 38400 tty1 -n -l /bin/autologin`;
66
- const lines = fs.readFileSync(inittab, 'utf8').split('\n');
67
- for (let i = 0; i < lines.length; i++) {
68
- if (lines[i].includes(search)) {
69
- lines[i] = replace;
70
- }
71
- content += lines[i] + '\n';
72
- }
73
- fs.writeFileSync(inittab, content, 'utf-8');
74
- const autologin = chroot + '/bin/autologin';
75
- content = '#!/bin/sh' + '\n';
76
- content += `/bin/login -f ${user}` + '\n';
77
- fs.writeFileSync(autologin, content, 'utf-8');
78
- execSync(`chmod +x ${autologin}`);
79
- await this.addIssue(distro, version, user, userPasswd, rootPasswd, chroot);
80
- await this.addMotd(distro, version, user, userPasswd, rootPasswd, chroot);
81
- }
82
- else if (Utils.isSysvinit()) {
83
- /**
84
- * sysvinit
85
- */
86
- Utils.warning("creating CLI autologin sysvinit");
87
- const inittab = chroot + '/etc/inittab';
88
- const search = '1:2345:respawn:/sbin/getty';
89
- const replace = `1:2345:respawn:/sbin/getty --autologin ${user} 38400 tty1`;
90
- let content = '';
91
- const lines = fs.readFileSync(inittab, 'utf8').split('\n');
92
- for (let i = 0; i < lines.length; i++) {
93
- if (lines[i].includes(search)) {
94
- lines[i] = replace;
95
- }
96
- content += lines[i] + '\n';
97
- }
98
- fs.writeFileSync(inittab, content, 'utf-8');
99
- await this.addMotd(distro, version, user, userPasswd, rootPasswd, chroot);
100
- await this.addIssue(distro, version, user, userPasswd, rootPasswd, chroot);
101
- }
102
- }
103
- /**
104
- *
105
- * @param distro
106
- * @param version
107
- * @param user
108
- * @param userPasswd
109
- * @param rootPasswd
110
- * @param chroot
111
- */
112
- async addIssue(distro, version, user, userPasswd, rootPasswd, chroot = '/') {
113
- const fileIssue = `${chroot}/etc/issue`;
114
- if (fs.existsSync(fileIssue)) {
115
- if (!fs.lstatSync(fileIssue).isSymbolicLink()) {
116
- this.msgRemove(fileIssue);
117
- let content = fs.readFileSync(fileIssue, 'utf8');
118
- content += startMessage + '\n';
119
- content += `This is a ${distro}/${version} system created by Penguins' eggs.\n`;
120
- content += 'You can login with user: ' + chalk.bold(user) + ' and password: ' + chalk.bold(userPasswd) + ', root password: ' + chalk.bold(rootPasswd) + '\n';
121
- content += stopMessage + '\n';
122
- fs.writeFileSync(fileIssue, content);
123
- }
124
- }
125
- }
126
- /**
127
- *
128
- * @param distro
129
- * @param version
130
- * @param user
131
- * @param userPasswd
132
- * @param rootPasswd
133
- * @param chroot
134
- */
135
- async addMotd(distro, version, user, userPasswd, rootPasswd, chroot = '/') {
136
- const fileMotd = `${chroot}/etc/motd`;
137
- let installer = 'sudo eggs install';
138
- if (Pacman.calamaresExists()) {
139
- if (Pacman.packageIsInstalled('plasma-desktop')) {
140
- installer = 'startplasma-wayland to run GUI and launch calamares';
141
- }
142
- else if (Pacman.packageIsInstalled('xfce4')) {
143
- installer = 'startxfce4 to run GUI and launch calamares installer';
144
- }
145
- }
146
- if (!fs.existsSync(fileMotd)) {
147
- await exec(`touch ${fileMotd}`);
148
- }
149
- this.msgRemove(fileMotd);
150
- let eggsMotd = fs.readFileSync(fileMotd, 'utf8');
151
- eggsMotd += startMessage + '\n';
152
- eggsMotd += Utils.flag() + '\n';
153
- eggsMotd += 'You are logged as: ' + chalk.bold(user) + ' your password is: ' + chalk.bold(userPasswd) + ', root password: ' + chalk.bold(rootPasswd) + '\n\n';
154
- eggsMotd += 'install : ' + chalk.bold(installer) + '\n';
155
- eggsMotd += ' --unattended : ' + chalk.bold('sudo eggs install --unattended') + '\n';
156
- eggsMotd += ' --chroot : ' + chalk.bold('sudo eggs install --chroot') + '\n';
157
- eggsMotd += ' --help : ' + chalk.bold('sudo eggs install --help') + '\n';
158
- eggsMotd += '\n';
159
- eggsMotd += stopMessage + '\n';
160
- fs.writeFileSync(fileMotd, eggsMotd);
161
- }
162
- /**
163
- * remove
164
- * @param chroot
165
- */
166
- async remove(chroot = '/') {
167
- if (Utils.isSystemd()) {
168
- /**
169
- * Systemd
170
- */
171
- const fileOverride = `${chroot}/etc/systemd/system/getty@.service.d/override.conf`;
172
- const dirOverride = path.dirname(fileOverride);
173
- if (fs.existsSync(dirOverride)) {
174
- shx.exec(`rm ${dirOverride} -rf`);
175
- }
176
- this.msgRemove(`${chroot}/etc/motd`);
177
- this.msgRemove(`${chroot}/etc/issue`);
178
- }
179
- else if (Utils.isOpenRc()) {
180
- /**
181
- * openrc
182
- */
183
- const inittab = chroot + '/etc/inittab';
184
- const search = 'autologin';
185
- const replace = `tty1::respawn:/sbin/getty 38400 tty1`;
186
- let content = '';
187
- const lines = fs.readFileSync(inittab, 'utf8').split('\n');
188
- for (let i = 0; i < lines.length; i++) {
189
- if (lines[i].includes(search)) {
190
- lines[i] = replace;
191
- }
192
- content += lines[i] + '\n';
193
- }
194
- fs.writeFileSync(inittab, content, 'utf-8');
195
- this.msgRemove(`${chroot}/etc/motd`);
196
- this.msgRemove(`${chroot}/etc/issue`);
197
- const autologin = `${chroot}/bin/autologin`;
198
- execSync(`rm -f ${autologin}`);
199
- }
200
- else if (Utils.isSysvinit()) {
201
- /**
202
- * sysvinit
203
- */
204
- const inittab = chroot + '/etc/inittab';
205
- const search = '--autologin';
206
- const replace = '1:2345:respawn:/sbin/getty 38400 tty1 ';
207
- let content = '';
208
- const lines = fs.readFileSync(inittab, 'utf8').split('\n');
209
- for (let i = 0; i < lines.length; i++) {
210
- if (lines[i].includes(search)) {
211
- lines[i] = replace;
212
- }
213
- content += lines[i] + '\n';
214
- }
215
- // motd
216
- fs.writeFileSync(inittab, content, 'utf-8');
217
- this.msgRemove(`${chroot}/etc/motd`);
218
- // issue
219
- this.msgRemove(`${chroot}/etc/issue`);
220
- } // to add: openrc and runit for Devuan
221
- }
222
- /**
223
- *
224
- * @param path
225
- */
226
- async msgRemove(path) {
227
- if (fs.existsSync(path)) {
228
- if (!fs.lstatSync(path).isSymbolicLink()) {
229
- const rows = fs.readFileSync(path, 'utf8').split('\n');
230
- let cleaned = '';
231
- let remove = false;
232
- for (const row of rows) {
233
- if (row.includes(startMessage)) {
234
- remove = true;
235
- }
236
- if (!remove && row !== '') {
237
- cleaned += row + '\n';
238
- }
239
- if (row.includes(stopMessage)) {
240
- remove = false;
241
- }
242
- }
243
- fs.writeFileSync(path, cleaned, 'utf-8');
244
- }
245
- }
246
- }
247
- }
@@ -1,54 +0,0 @@
1
- /**
2
- * ./src/classes/compressors.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
- export default class Compressors {
9
- dest: string;
10
- isEnabled: {
11
- error: boolean;
12
- gzip: boolean;
13
- lz4: boolean;
14
- lzma: boolean;
15
- lzo: boolean;
16
- xz: boolean;
17
- zstd: boolean;
18
- };
19
- source: string;
20
- /**
21
- * fast compression
22
- * @returns
23
- */
24
- fast(): string;
25
- /**
26
- * max
27
- * @returns
28
- */
29
- max(): string;
30
- pendrive(level?: string): string;
31
- /**
32
- * populate
33
- */
34
- populate(): Promise<void>;
35
- /**
36
- * standard
37
- * @returns
38
- */
39
- standard(): string;
40
- /**
41
- * check mksquashfs exists
42
- * @param compressor
43
- * @returns
44
- */
45
- private check;
46
- /**
47
- * prepareCheck
48
- */
49
- private prepareCheck;
50
- /**
51
- * removeCheck
52
- */
53
- private removeCheck;
54
- }