penguins-eggs 25.10.6 → 25.10.23

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 (474) hide show
  1. package/.oclif.manifest.json +51 -145
  2. package/README.md +59 -120
  3. package/README.pdf +1723 -1731
  4. package/addons/eggs/theme/livecd/isolinux.main.simple.cfg +2 -3
  5. package/conf/distros/trixie/calamares/modules/shellprocess@boot_deploy.yml +3 -4
  6. package/conf/love.yaml +1 -1
  7. package/dracut/create-symlink +71 -0
  8. package/dracut/dracut-log.txt +3 -0
  9. package/dracut/dracut.conf.d/50-live.conf +24 -6
  10. package/dracut/dracut.conf.d/README.md +10 -0
  11. package/dracut/export +4 -0
  12. package/dracut/export-dracut-analysis +51 -0
  13. package/dracut/export-dracut-log +2 -0
  14. package/dracut/mkisofs +10 -0
  15. package/dracut/modules.d/00debug-shell/debug-hook.sh +13 -0
  16. package/dracut/modules.d/00debug-shell/module-setup.sh +20 -0
  17. package/dracut/modules.d/90block/README.md +7 -0
  18. package/dracut/modules.d/90block/block-cmdline.sh +3 -0
  19. package/dracut/modules.d/90block/module-setup.sh +15 -0
  20. package/dracut/modules.d/95iso-scan/README.md +3 -0
  21. package/dracut/modules.d/95iso-scan/iso-scan-fallback.sh +12 -0
  22. package/dracut/modules.d/95iso-scan/iso-scan.sh +92 -0
  23. package/dracut/modules.d/95iso-scan/module-setup.sh +18 -0
  24. package/dracut/modules.d/95luks-loop/README.md +9 -0
  25. package/dracut/modules.d/95luks-loop/luks-loop.sh +90 -0
  26. package/dracut/modules.d/95luks-loop/module-setup.sh +17 -0
  27. package/dracut/renew-initramfs +17 -0
  28. package/dracut/sbin2bin +10 -0
  29. package/dracut/update-dracut-conf-d +2 -0
  30. package/dracut/update-dracut-modules +62 -0
  31. package/manpages/doc/man/eggs.1.gz +0 -0
  32. package/manpages/doc/man/eggs.html +7 -661
  33. package/package.json +10 -9
  34. package/perrisbrewery/template/dependencies.yaml +6 -5
  35. package/scripts/_eggs +16 -31
  36. package/scripts/boot-encrypted-root.sh +177 -0
  37. package/scripts/eggs.bash +4 -6
  38. package/scripts/mount-encrypted-home.sh +259 -0
  39. package/dist/classes/bleach.d.ts +0 -37
  40. package/dist/classes/bleach.js +0 -148
  41. package/dist/classes/cli-autologin.d.ts +0 -52
  42. package/dist/classes/cli-autologin.js +0 -252
  43. package/dist/classes/compressors.d.ts +0 -54
  44. package/dist/classes/compressors.js +0 -109
  45. package/dist/classes/daddy.d.ts +0 -26
  46. package/dist/classes/daddy.js +0 -175
  47. package/dist/classes/distro.d.ts +0 -32
  48. package/dist/classes/distro.js +0 -356
  49. package/dist/classes/diversions.d.ts +0 -53
  50. package/dist/classes/diversions.js +0 -133
  51. package/dist/classes/incubation/branding.d.ts +0 -17
  52. package/dist/classes/incubation/branding.js +0 -85
  53. package/dist/classes/incubation/customize/customize-partitions.d.ts +0 -4
  54. package/dist/classes/incubation/customize/customize-partitions.js +0 -29
  55. package/dist/classes/incubation/fisherman-helper/initcpio.d.ts +0 -1
  56. package/dist/classes/incubation/fisherman-helper/initcpio.js +0 -69
  57. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  58. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  59. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  60. package/dist/classes/incubation/fisherman-helper/settings.js +0 -116
  61. package/dist/classes/incubation/fisherman.d.ts +0 -71
  62. package/dist/classes/incubation/fisherman.js +0 -281
  63. package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
  64. package/dist/classes/incubation/incubator.d/alpine.js +0 -78
  65. package/dist/classes/incubation/incubator.d/archlinux.d.ts +0 -32
  66. package/dist/classes/incubation/incubator.d/archlinux.js +0 -81
  67. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  68. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  69. package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
  70. package/dist/classes/incubation/incubator.d/buster.js +0 -101
  71. package/dist/classes/incubation/incubator.d/fedora.d.ts +0 -32
  72. package/dist/classes/incubation/incubator.d/fedora.js +0 -81
  73. package/dist/classes/incubation/incubator.d/focal.d.ts +0 -32
  74. package/dist/classes/incubation/incubator.d/focal.js +0 -85
  75. package/dist/classes/incubation/incubator.d/manjaro.d.ts +0 -32
  76. package/dist/classes/incubation/incubator.d/manjaro.js +0 -82
  77. package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
  78. package/dist/classes/incubation/incubator.d/noble.js +0 -102
  79. package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
  80. package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
  81. package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
  82. package/dist/classes/incubation/incubator.d/opensuse.js +0 -81
  83. package/dist/classes/incubation/incubator.d/trixie.d.ts +0 -32
  84. package/dist/classes/incubation/incubator.d/trixie.js +0 -101
  85. package/dist/classes/incubation/incubator.d.ts +0 -48
  86. package/dist/classes/incubation/incubator.js +0 -378
  87. package/dist/classes/incubation/installer.d.ts +0 -13
  88. package/dist/classes/incubation/installer.js +0 -52
  89. package/dist/classes/keyboards.d.ts +0 -50
  90. package/dist/classes/keyboards.js +0 -287
  91. package/dist/classes/locales.d.ts +0 -21
  92. package/dist/classes/locales.js +0 -77
  93. package/dist/classes/network.d.ts +0 -37
  94. package/dist/classes/network.js +0 -98
  95. package/dist/classes/ovary.d/bind-live-fs.d.ts +0 -18
  96. package/dist/classes/ovary.d/bind-live-fs.js +0 -185
  97. package/dist/classes/ovary.d/bind-vfs.d.ts +0 -17
  98. package/dist/classes/ovary.d/bind-vfs.js +0 -37
  99. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +0 -13
  100. package/dist/classes/ovary.d/create-xdg-autostart.js +0 -194
  101. package/dist/classes/ovary.d/edit-live-fs.d.ts +0 -20
  102. package/dist/classes/ovary.d/edit-live-fs.js +0 -245
  103. package/dist/classes/ovary.d/fertilization.d.ts +0 -12
  104. package/dist/classes/ovary.d/fertilization.js +0 -52
  105. package/dist/classes/ovary.d/finished.d.ts +0 -13
  106. package/dist/classes/ovary.d/finished.js +0 -44
  107. package/dist/classes/ovary.d/initrd.d.ts +0 -21
  108. package/dist/classes/ovary.d/initrd.js +0 -97
  109. package/dist/classes/ovary.d/kernel-copy.d.ts +0 -12
  110. package/dist/classes/ovary.d/kernel-copy.js +0 -22
  111. package/dist/classes/ovary.d/live-create-structure.d.ts +0 -12
  112. package/dist/classes/ovary.d/live-create-structure.js +0 -73
  113. package/dist/classes/ovary.d/make-dot-disk.d.ts +0 -12
  114. package/dist/classes/ovary.d/make-dot-disk.js +0 -62
  115. package/dist/classes/ovary.d/make-efi.d.ts +0 -14
  116. package/dist/classes/ovary.d/make-efi.js +0 -274
  117. package/dist/classes/ovary.d/make-iso.d.ts +0 -13
  118. package/dist/classes/ovary.d/make-iso.js +0 -45
  119. package/dist/classes/ovary.d/make-squashfs.d.ts +0 -18
  120. package/dist/classes/ovary.d/make-squashfs.js +0 -110
  121. package/dist/classes/ovary.d/merged.d.ts +0 -27
  122. package/dist/classes/ovary.d/merged.js +0 -78
  123. package/dist/classes/ovary.d/produce.d.ts +0 -23
  124. package/dist/classes/ovary.d/produce.js +0 -319
  125. package/dist/classes/ovary.d/rexec.d.ts +0 -13
  126. package/dist/classes/ovary.d/rexec.js +0 -34
  127. package/dist/classes/ovary.d/syslinux.d.ts +0 -12
  128. package/dist/classes/ovary.d/syslinux.js +0 -82
  129. package/dist/classes/ovary.d/user-create-live.d.ts +0 -14
  130. package/dist/classes/ovary.d/user-create-live.js +0 -97
  131. package/dist/classes/ovary.d/users-remove.d.ts +0 -9
  132. package/dist/classes/ovary.d/users-remove.js +0 -38
  133. package/dist/classes/ovary.d/xorriso-command.d.ts +0 -14
  134. package/dist/classes/ovary.d/xorriso-command.js +0 -123
  135. package/dist/classes/ovary.d.ts +0 -87
  136. package/dist/classes/ovary.js +0 -90
  137. package/dist/classes/pacman.d/alpine.d.ts +0 -56
  138. package/dist/classes/pacman.d/alpine.js +0 -167
  139. package/dist/classes/pacman.d/archlinux.d.ts +0 -62
  140. package/dist/classes/pacman.d/archlinux.js +0 -128
  141. package/dist/classes/pacman.d/debian.d.ts +0 -65
  142. package/dist/classes/pacman.d/debian.js +0 -143
  143. package/dist/classes/pacman.d/fedora.d.ts +0 -53
  144. package/dist/classes/pacman.d/fedora.js +0 -107
  145. package/dist/classes/pacman.d/openmamba.d.ts +0 -52
  146. package/dist/classes/pacman.d/openmamba.js +0 -106
  147. package/dist/classes/pacman.d/opensuse.d.ts +0 -53
  148. package/dist/classes/pacman.d/opensuse.js +0 -109
  149. package/dist/classes/pacman.d.ts +0 -139
  150. package/dist/classes/pacman.js +0 -683
  151. package/dist/classes/pve-live.d.ts +0 -17
  152. package/dist/classes/pve-live.js +0 -52
  153. package/dist/classes/pxe.d.ts +0 -76
  154. package/dist/classes/pxe.js +0 -353
  155. package/dist/classes/settings.d.ts +0 -52
  156. package/dist/classes/settings.js +0 -185
  157. package/dist/classes/sources_list.d.ts +0 -28
  158. package/dist/classes/sources_list.js +0 -89
  159. package/dist/classes/systemctl.d.ts +0 -47
  160. package/dist/classes/systemctl.js +0 -86
  161. package/dist/classes/tailor.d.ts +0 -50
  162. package/dist/classes/tailor.js +0 -563
  163. package/dist/classes/tools.d.ts +0 -26
  164. package/dist/classes/tools.js +0 -50
  165. package/dist/classes/users.d.ts +0 -28
  166. package/dist/classes/users.js +0 -143
  167. package/dist/classes/utils.d/kernel.d.ts +0 -39
  168. package/dist/classes/utils.d/kernel.js +0 -206
  169. package/dist/classes/utils.d.ts +0 -327
  170. package/dist/classes/utils.js +0 -955
  171. package/dist/classes/xdg.d.ts +0 -45
  172. package/dist/classes/xdg.js +0 -337
  173. package/dist/classes/yolk.d.ts +0 -33
  174. package/dist/classes/yolk.js +0 -114
  175. package/dist/commands/adapt.d.ts +0 -17
  176. package/dist/commands/adapt.js +0 -33
  177. package/dist/commands/analyze.d.ts +0 -26
  178. package/dist/commands/analyze.js +0 -95
  179. package/dist/commands/calamares.d.ts +0 -29
  180. package/dist/commands/calamares.js +0 -112
  181. package/dist/commands/config.d.ts +0 -35
  182. package/dist/commands/config.js +0 -120
  183. package/dist/commands/cuckoo.d.ts +0 -17
  184. package/dist/commands/cuckoo.js +0 -61
  185. package/dist/commands/dad.d.ts +0 -21
  186. package/dist/commands/dad.js +0 -47
  187. package/dist/commands/export/iso.d.ts +0 -19
  188. package/dist/commands/export/iso.js +0 -55
  189. package/dist/commands/export/pkg.d.ts +0 -29
  190. package/dist/commands/export/pkg.js +0 -173
  191. package/dist/commands/export/tarballs.d.ts +0 -27
  192. package/dist/commands/export/tarballs.js +0 -79
  193. package/dist/commands/install.d.ts +0 -39
  194. package/dist/commands/install.js +0 -113
  195. package/dist/commands/kill.d.ts +0 -24
  196. package/dist/commands/kill.js +0 -50
  197. package/dist/commands/love.d.ts +0 -21
  198. package/dist/commands/love.js +0 -73
  199. package/dist/commands/mom.d.ts +0 -16
  200. package/dist/commands/mom.js +0 -30
  201. package/dist/commands/pods.d.ts +0 -22
  202. package/dist/commands/pods.js +0 -92
  203. package/dist/commands/produce.d.ts +0 -35
  204. package/dist/commands/produce.js +0 -221
  205. package/dist/commands/status.d.ts +0 -23
  206. package/dist/commands/status.js +0 -31
  207. package/dist/commands/syncfrom.d.ts +0 -45
  208. package/dist/commands/syncfrom.js +0 -152
  209. package/dist/commands/syncto.d.ts +0 -40
  210. package/dist/commands/syncto.js +0 -175
  211. package/dist/commands/tools/clean.d.ts +0 -18
  212. package/dist/commands/tools/clean.js +0 -37
  213. package/dist/commands/tools/ppa.d.ts +0 -31
  214. package/dist/commands/tools/ppa.js +0 -244
  215. package/dist/commands/tools/skel.d.ts +0 -18
  216. package/dist/commands/tools/skel.js +0 -44
  217. package/dist/commands/tools/stat.d.ts +0 -31
  218. package/dist/commands/tools/stat.js +0 -70
  219. package/dist/commands/tools/yolk.d.ts +0 -24
  220. package/dist/commands/tools/yolk.js +0 -45
  221. package/dist/commands/update.d.ts +0 -46
  222. package/dist/commands/update.js +0 -238
  223. package/dist/commands/wardrobe/get.d.ts +0 -23
  224. package/dist/commands/wardrobe/get.js +0 -52
  225. package/dist/commands/wardrobe/list.d.ts +0 -24
  226. package/dist/commands/wardrobe/list.js +0 -125
  227. package/dist/commands/wardrobe/show.d.ts +0 -25
  228. package/dist/commands/wardrobe/show.js +0 -97
  229. package/dist/commands/wardrobe/wear.d.ts +0 -26
  230. package/dist/commands/wardrobe/wear.js +0 -84
  231. package/dist/dhcpd-proxy/classes/packet.d.ts +0 -36
  232. package/dist/dhcpd-proxy/classes/packet.js +0 -124
  233. package/dist/dhcpd-proxy/index.d.ts +0 -4
  234. package/dist/dhcpd-proxy/index.js +0 -4
  235. package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +0 -45
  236. package/dist/dhcpd-proxy/interfaces/i-pxe.js +0 -1
  237. package/dist/dhcpd-proxy/lib/packet/converters.d.ts +0 -11
  238. package/dist/dhcpd-proxy/lib/packet/converters.js +0 -395
  239. package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +0 -10
  240. package/dist/dhcpd-proxy/lib/packet/message-types.js +0 -12
  241. package/dist/dhcpd-proxy/lib/packet/options.d.ts +0 -8
  242. package/dist/dhcpd-proxy/lib/packet/options.js +0 -264
  243. package/dist/dhcpd-proxy/lib/sprintf.d.ts +0 -6
  244. package/dist/dhcpd-proxy/lib/sprintf.js +0 -130
  245. package/dist/dhcpd-proxy/lib/utils.d.ts +0 -126
  246. package/dist/dhcpd-proxy/lib/utils.js +0 -255
  247. package/dist/dhcpd-proxy/simple-proxy.d.ts +0 -11
  248. package/dist/dhcpd-proxy/simple-proxy.js +0 -118
  249. package/dist/index.d.ts +0 -8
  250. package/dist/index.js +0 -8
  251. package/dist/interfaces/calamares/i-calamares-bootloader.d.ts +0 -23
  252. package/dist/interfaces/calamares/i-calamares-bootloader.js +0 -7
  253. package/dist/interfaces/calamares/i-calamares-branding.d.ts +0 -46
  254. package/dist/interfaces/calamares/i-calamares-branding.js +0 -1
  255. package/dist/interfaces/calamares/i-calamares-displaymanager.d.ts +0 -34
  256. package/dist/interfaces/calamares/i-calamares-displaymanager.js +0 -1
  257. package/dist/interfaces/calamares/i-calamares-finished.d.ts +0 -14
  258. package/dist/interfaces/calamares/i-calamares-finished.js +0 -1
  259. package/dist/interfaces/calamares/i-calamares-packages.d.ts +0 -26
  260. package/dist/interfaces/calamares/i-calamares-packages.js +0 -1
  261. package/dist/interfaces/calamares/i-calamares-partitions.d.ts +0 -39
  262. package/dist/interfaces/calamares/i-calamares-partitions.js +0 -1
  263. package/dist/interfaces/calamares/i-calamares-settings.d.ts +0 -36
  264. package/dist/interfaces/calamares/i-calamares-settings.js +0 -1
  265. package/dist/interfaces/i-addons.d.ts +0 -12
  266. package/dist/interfaces/i-addons.js +0 -8
  267. package/dist/interfaces/i-analyze.d.ts +0 -17
  268. package/dist/interfaces/i-analyze.js +0 -17
  269. package/dist/interfaces/i-app.d.ts +0 -14
  270. package/dist/interfaces/i-app.js +0 -8
  271. package/dist/interfaces/i-config-tools.d.ts +0 -15
  272. package/dist/interfaces/i-config-tools.js +0 -8
  273. package/dist/interfaces/i-devices.d.ts +0 -20
  274. package/dist/interfaces/i-devices.js +0 -8
  275. package/dist/interfaces/i-distro.d.ts +0 -23
  276. package/dist/interfaces/i-distro.js +0 -8
  277. package/dist/interfaces/i-drive-list.d.ts +0 -33
  278. package/dist/interfaces/i-drive-list.js +0 -8
  279. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  280. package/dist/interfaces/i-eggs-config.js +0 -8
  281. package/dist/interfaces/i-excludes.d.ts +0 -14
  282. package/dist/interfaces/i-excludes.js +0 -8
  283. package/dist/interfaces/i-exec.d.ts +0 -11
  284. package/dist/interfaces/i-exec.js +0 -8
  285. package/dist/interfaces/i-initrd.d.ts +0 -13
  286. package/dist/interfaces/i-initrd.js +0 -8
  287. package/dist/interfaces/i-install.d.ts +0 -16
  288. package/dist/interfaces/i-install.js +0 -8
  289. package/dist/interfaces/i-installer.d.ts +0 -17
  290. package/dist/interfaces/i-installer.js +0 -8
  291. package/dist/interfaces/i-luks-passphrase.d.ts +0 -11
  292. package/dist/interfaces/i-luks-passphrase.js +0 -8
  293. package/dist/interfaces/i-materia.d.ts +0 -36
  294. package/dist/interfaces/i-materia.js +0 -8
  295. package/dist/interfaces/i-net.d.ts +0 -16
  296. package/dist/interfaces/i-net.js +0 -8
  297. package/dist/interfaces/i-os-release.d.ts +0 -5
  298. package/dist/interfaces/i-os-release.js +0 -1
  299. package/dist/interfaces/i-packages.d.ts +0 -16
  300. package/dist/interfaces/i-packages.js +0 -8
  301. package/dist/interfaces/i-partitions.d.ts +0 -16
  302. package/dist/interfaces/i-partitions.js +0 -8
  303. package/dist/interfaces/i-pxe.d.ts +0 -45
  304. package/dist/interfaces/i-pxe.js +0 -1
  305. package/dist/interfaces/i-remix.d.ts +0 -21
  306. package/dist/interfaces/i-remix.js +0 -8
  307. package/dist/interfaces/i-settings.d.ts +0 -33
  308. package/dist/interfaces/i-settings.js +0 -8
  309. package/dist/interfaces/i-user.d.ts +0 -14
  310. package/dist/interfaces/i-user.js +0 -8
  311. package/dist/interfaces/i-workdir.d.ts +0 -14
  312. package/dist/interfaces/i-workdir.js +0 -8
  313. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  314. package/dist/interfaces/i-xkb-model.js +0 -8
  315. package/dist/interfaces/index.d.ts +0 -26
  316. package/dist/interfaces/index.js +0 -8
  317. package/dist/krill/classes/cfs.d.ts +0 -17
  318. package/dist/krill/classes/cfs.js +0 -39
  319. package/dist/krill/classes/krill_enums.d.ts +0 -37
  320. package/dist/krill/classes/krill_enums.js +0 -41
  321. package/dist/krill/classes/prepare.d/confirm.d.ts +0 -5
  322. package/dist/krill/classes/prepare.d/confirm.js +0 -30
  323. package/dist/krill/classes/prepare.d/keyboard.d.ts +0 -14
  324. package/dist/krill/classes/prepare.d/keyboard.js +0 -62
  325. package/dist/krill/classes/prepare.d/location.d.ts +0 -17
  326. package/dist/krill/classes/prepare.d/location.js +0 -59
  327. package/dist/krill/classes/prepare.d/network.d.ts +0 -14
  328. package/dist/krill/classes/prepare.d/network.js +0 -68
  329. package/dist/krill/classes/prepare.d/partitions.d.ts +0 -14
  330. package/dist/krill/classes/prepare.d/partitions.js +0 -86
  331. package/dist/krill/classes/prepare.d/summary.d.ts +0 -15
  332. package/dist/krill/classes/prepare.d/summary.js +0 -72
  333. package/dist/krill/classes/prepare.d/users.d.ts +0 -6
  334. package/dist/krill/classes/prepare.d/users.js +0 -63
  335. package/dist/krill/classes/prepare.d/welcome.d.ts +0 -6
  336. package/dist/krill/classes/prepare.d/welcome.js +0 -30
  337. package/dist/krill/classes/prepare.d.ts +0 -89
  338. package/dist/krill/classes/prepare.js +0 -319
  339. package/dist/krill/classes/sequence.d/add_user.d.ts +0 -20
  340. package/dist/krill/classes/sequence.d/add_user.js +0 -77
  341. package/dist/krill/classes/sequence.d/bootloader.d.ts +0 -14
  342. package/dist/krill/classes/sequence.d/bootloader.js +0 -117
  343. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +0 -14
  344. package/dist/krill/classes/sequence.d/bootloader_config.js +0 -192
  345. package/dist/krill/classes/sequence.d/change_password.d.ts +0 -15
  346. package/dist/krill/classes/sequence.d/change_password.js +0 -18
  347. package/dist/krill/classes/sequence.d/del_live_user.d.ts +0 -14
  348. package/dist/krill/classes/sequence.d/del_live_user.js +0 -39
  349. package/dist/krill/classes/sequence.d/fstab.d.ts +0 -14
  350. package/dist/krill/classes/sequence.d/fstab.js +0 -177
  351. package/dist/krill/classes/sequence.d/grubcfg.d.ts +0 -17
  352. package/dist/krill/classes/sequence.d/grubcfg.js +0 -35
  353. package/dist/krill/classes/sequence.d/hostname.d.ts +0 -13
  354. package/dist/krill/classes/sequence.d/hostname.js +0 -50
  355. package/dist/krill/classes/sequence.d/initramfs.d.ts +0 -13
  356. package/dist/krill/classes/sequence.d/initramfs.js +0 -54
  357. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +0 -14
  358. package/dist/krill/classes/sequence.d/initramfs_cfg.js +0 -35
  359. package/dist/krill/classes/sequence.d/locale.d.ts +0 -13
  360. package/dist/krill/classes/sequence.d/locale.js +0 -91
  361. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +0 -10
  362. package/dist/krill/classes/sequence.d/locale_cfg.js +0 -58
  363. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +0 -14
  364. package/dist/krill/classes/sequence.d/m_keyboard.js +0 -58
  365. package/dist/krill/classes/sequence.d/machine_id.d.ts +0 -15
  366. package/dist/krill/classes/sequence.d/machine_id.js +0 -33
  367. package/dist/krill/classes/sequence.d/mkfs.d.ts +0 -15
  368. package/dist/krill/classes/sequence.d/mkfs.js +0 -88
  369. package/dist/krill/classes/sequence.d/mount_fs.d.ts +0 -17
  370. package/dist/krill/classes/sequence.d/mount_fs.js +0 -68
  371. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +0 -17
  372. package/dist/krill/classes/sequence.d/mount_vfs.js +0 -59
  373. package/dist/krill/classes/sequence.d/network_cfg.d.ts +0 -19
  374. package/dist/krill/classes/sequence.d/network_cfg.js +0 -73
  375. package/dist/krill/classes/sequence.d/packages.d.ts +0 -14
  376. package/dist/krill/classes/sequence.d/packages.js +0 -111
  377. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +0 -17
  378. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +0 -73
  379. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +0 -16
  380. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +0 -51
  381. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +0 -17
  382. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +0 -77
  383. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +0 -10
  384. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -33
  385. package/dist/krill/classes/sequence.d/partition.d.ts +0 -14
  386. package/dist/krill/classes/sequence.d/partition.js +0 -84
  387. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +0 -13
  388. package/dist/krill/classes/sequence.d/remove_installer_link.js +0 -35
  389. package/dist/krill/classes/sequence.d/umount.d.ts +0 -14
  390. package/dist/krill/classes/sequence.d/umount.js +0 -28
  391. package/dist/krill/classes/sequence.d/unpackfs.d.ts +0 -13
  392. package/dist/krill/classes/sequence.d/unpackfs.js +0 -20
  393. package/dist/krill/classes/sequence.d.ts +0 -134
  394. package/dist/krill/classes/sequence.js +0 -400
  395. package/dist/krill/components/finished.d.ts +0 -16
  396. package/dist/krill/components/finished.js +0 -56
  397. package/dist/krill/components/information.d.ts +0 -8
  398. package/dist/krill/components/information.js +0 -162
  399. package/dist/krill/components/install.d.ts +0 -15
  400. package/dist/krill/components/install.js +0 -60
  401. package/dist/krill/components/keyboard.d.ts +0 -16
  402. package/dist/krill/components/keyboard.js +0 -54
  403. package/dist/krill/components/location.d.ts +0 -16
  404. package/dist/krill/components/location.js +0 -59
  405. package/dist/krill/components/network.d.ts +0 -19
  406. package/dist/krill/components/network.js +0 -65
  407. package/dist/krill/components/partitions.d.ts +0 -18
  408. package/dist/krill/components/partitions.js +0 -89
  409. package/dist/krill/components/steps.d.ts +0 -13
  410. package/dist/krill/components/steps.js +0 -148
  411. package/dist/krill/components/summary.d.ts +0 -25
  412. package/dist/krill/components/summary.js +0 -77
  413. package/dist/krill/components/title.d.ts +0 -11
  414. package/dist/krill/components/title.js +0 -35
  415. package/dist/krill/components/users.d.ts +0 -24
  416. package/dist/krill/components/users.js +0 -80
  417. package/dist/krill/components/welcome.d.ts +0 -13
  418. package/dist/krill/components/welcome.js +0 -63
  419. package/dist/krill/interfaces/i_krill.d.ts +0 -44
  420. package/dist/krill/interfaces/i_krill.js +0 -8
  421. package/dist/krill/interfaces/i_krill_config.d.ts +0 -35
  422. package/dist/krill/interfaces/i_krill_config.js +0 -8
  423. package/dist/krill/lib/get_address.d.ts +0 -8
  424. package/dist/krill/lib/get_address.js +0 -23
  425. package/dist/krill/lib/get_dns.d.ts +0 -8
  426. package/dist/krill/lib/get_dns.js +0 -23
  427. package/dist/krill/lib/get_domain.d.ts +0 -8
  428. package/dist/krill/lib/get_domain.js +0 -23
  429. package/dist/krill/lib/get_gateway.d.ts +0 -8
  430. package/dist/krill/lib/get_gateway.js +0 -23
  431. package/dist/krill/lib/get_hostname.d.ts +0 -8
  432. package/dist/krill/lib/get_hostname.js +0 -23
  433. package/dist/krill/lib/get_luks_passphrase.d.ts +0 -8
  434. package/dist/krill/lib/get_luks_passphrase.js +0 -32
  435. package/dist/krill/lib/get_netmask.d.ts +0 -8
  436. package/dist/krill/lib/get_netmask.js +0 -23
  437. package/dist/krill/lib/get_password.d.ts +0 -8
  438. package/dist/krill/lib/get_password.js +0 -36
  439. package/dist/krill/lib/get_userfullname.d.ts +0 -8
  440. package/dist/krill/lib/get_userfullname.js +0 -23
  441. package/dist/krill/lib/get_username.d.ts +0 -8
  442. package/dist/krill/lib/get_username.js +0 -23
  443. package/dist/krill/lib/select_address_type.d.ts +0 -8
  444. package/dist/krill/lib/select_address_type.js +0 -24
  445. package/dist/krill/lib/select_filesystem_type.d.ts +0 -8
  446. package/dist/krill/lib/select_filesystem_type.js +0 -40
  447. package/dist/krill/lib/select_installation_device.d.ts +0 -8
  448. package/dist/krill/lib/select_installation_device.js +0 -40
  449. package/dist/krill/lib/select_installation_mode.d.ts +0 -9
  450. package/dist/krill/lib/select_installation_mode.js +0 -25
  451. package/dist/krill/lib/select_interface.d.ts +0 -8
  452. package/dist/krill/lib/select_interface.js +0 -24
  453. package/dist/krill/lib/select_keyboard_layout.d.ts +0 -11
  454. package/dist/krill/lib/select_keyboard_layout.js +0 -36
  455. package/dist/krill/lib/select_keyboard_model.d.ts +0 -11
  456. package/dist/krill/lib/select_keyboard_model.js +0 -34
  457. package/dist/krill/lib/select_keyboard_option.d.ts +0 -11
  458. package/dist/krill/lib/select_keyboard_option.js +0 -34
  459. package/dist/krill/lib/select_keyboard_variant.d.ts +0 -11
  460. package/dist/krill/lib/select_keyboard_variant.js +0 -35
  461. package/dist/krill/lib/select_languages.d.ts +0 -8
  462. package/dist/krill/lib/select_languages.js +0 -28
  463. package/dist/krill/lib/select_regions.d.ts +0 -8
  464. package/dist/krill/lib/select_regions.js +0 -24
  465. package/dist/krill/lib/select_replaced_partition.d.ts +0 -8
  466. package/dist/krill/lib/select_replaced_partition.js +0 -31
  467. package/dist/krill/lib/select_user_swap_choice.d.ts +0 -9
  468. package/dist/krill/lib/select_user_swap_choice.js +0 -35
  469. package/dist/krill/lib/select_zones.d.ts +0 -8
  470. package/dist/krill/lib/select_zones.js +0 -518
  471. package/dist/lib/kill_me_softly.d.ts +0 -11
  472. package/dist/lib/kill_me_softly.js +0 -61
  473. package/dist/lib/utils.d.ts +0 -19
  474. package/dist/lib/utils.js +0 -65
@@ -1,175 +0,0 @@
1
- /**
2
- * ./src/commands/syncto.ts
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- */
8
- // https://gist.github.com/ansemjo/6f1cf9d9b8f7ce8f70813f52c63b74a6
9
- import { Command, Flags } from '@oclif/core';
10
- import fs from 'node:fs';
11
- import Compressors from '../classes/compressors.js';
12
- import Settings from '../classes/settings.js';
13
- import Utils from '../classes/utils.js';
14
- import { exec } from '../lib/utils.js';
15
- /**
16
- *
17
- */
18
- export default class Syncto extends Command {
19
- static description = "Save users and users' data ENCRYPTED";
20
- static examples = ['sudo eggs syncto', 'sudo eggs syncto --file /path/to/luks-volume', 'sudo eggs syncto --excludes'];
21
- static flags = {
22
- excludes: Flags.boolean({ char: 'e', description: 'use: exclude.list.d/home.list' }),
23
- file: Flags.string({ char: 'f', description: 'file luks-volume encrypted' }),
24
- help: Flags.help({ char: 'h' }),
25
- verbose: Flags.boolean({ char: 'v', description: 'verbose' })
26
- };
27
- echo = {};
28
- exclude = false;
29
- excludeHome = '/etc/penguins-eggs.d/exclude.list.d/home.list';
30
- luksName = 'luks-volume';
31
- luksDevice = `/dev/mapper/${this.luksName}`;
32
- luksFile = `/tmp/${this.luksName}`;
33
- luksMountpoint = `/tmp/mnt/${this.luksName}`;
34
- privateSquashfs = `private.squashfs`;
35
- settings = {};
36
- verbose = false;
37
- /**
38
- *
39
- */
40
- async luksCreate() {
41
- await exec(`rm -rf ${this.luksFile}`);
42
- // ==========================================================================
43
- // Create squashfs
44
- // ==========================================================================
45
- Utils.warning(`Creating private.squashfs`);
46
- const compressors = new Compressors();
47
- await compressors.populate();
48
- // comp
49
- let comp = '';
50
- this.settings = new Settings();
51
- if (await this.settings.load()) {
52
- let compression = compressors.fast();
53
- if (this.settings.config.compression == `max`) {
54
- compression = compressors.max();
55
- }
56
- else if (this.settings.config.compression == `standard`) {
57
- compression = compressors.standard();
58
- }
59
- comp = `-comp ${compression}`;
60
- }
61
- // exclude /home/eggs
62
- let exclude_nest = '';
63
- if (fs.existsSync(this.settings.work_dir.workdir)) {
64
- exclude_nest = `-e ${this.settings.config.snapshot_dir}`;
65
- }
66
- // exclude file
67
- let exclude_home = '';
68
- if (this.exclude) {
69
- exclude_home = `-ef ${this.excludeHome}`;
70
- }
71
- // creato dummyfs per /etc/
72
- await exec(`mkdir -p /tmp/dummyfs/etc`, this.echo);
73
- await exec(`cp -a /etc/passwd /tmp/dummyfs/etc`, this.echo);
74
- await exec(`cp -a /etc/group /tmp/dummyfs/etc`, this.echo);
75
- await exec(`cp -a /etc/shadow /tmp/dummyfs/etc`, this.echo);
76
- await exec(`mkdir -p /tmp/dummyfs/etc/lightdm`, this.echo); // lightdm
77
- await exec(`cp -a /etc/lightdm/lightdm.conf /tmp/dummyfs/etc/lightdm/`, this.echo); // lightdm
78
- let mkPrivateSquashfs = `mksquashfs \
79
- /tmp/dummyfs/etc \
80
- /home \
81
- /tmp/${this.privateSquashfs} \
82
- ${comp} \
83
- ${exclude_nest} \
84
- ${exclude_home} \
85
- -keep-as-directory \
86
- -noappend`;
87
- mkPrivateSquashfs = mkPrivateSquashfs.replaceAll(/\s\s+/g, ` `);
88
- await exec(mkPrivateSquashfs, Utils.setEcho(true));
89
- // remove dummyfs
90
- await exec(`rm /tmp/dummyfs/ -rf`, this.echo);
91
- // ==========================================================================
92
- // Create LUKS volume
93
- // ==========================================================================
94
- Utils.titles('Creating LUKS Volume');
95
- // calcolo size
96
- const sizeString = (await exec(`unsquashfs -s /tmp/${this.privateSquashfs} | grep "Filesystem size" | sed -e 's/.*size //' -e 's/ .*//'`, { capture: true, echo: false })).data;
97
- let size = Number.parseInt(sizeString) + 2048;
98
- console.log('size private.squashfs:', bytesToGB(size), size);
99
- const luksBlockSize = 512;
100
- const luksBlocks = Math.ceil(size / luksBlockSize);
101
- size = luksBlockSize * luksBlocks;
102
- // Aggiungo un 20% in più per ottenere luksSize
103
- const luksSize = Math.ceil(size * 1.2);
104
- console.log('luksSize:', bytesToGB(luksSize), luksSize);
105
- // truncate * 2048 è cruciale
106
- const truncateAt = luksSize * 2048;
107
- Utils.warning(`Preparing file ${this.luksFile} for ${this.luksDevice}, size ${truncateAt}`);
108
- await exec(`truncate --size ${luksSize} ${this.luksFile}`, this.echo);
109
- Utils.warning(`Creating LUKS Volume on ${this.luksFile}`);
110
- await exec(`cryptsetup --batch-mode luksFormat ${this.luksFile}`, Utils.setEcho(true));
111
- console.log('');
112
- // open LUKS volume temp
113
- Utils.warning(`Opening LUKS Volume on ${this.luksFile}`);
114
- const { code } = await exec(`cryptsetup luksOpen ${this.luksFile} ${this.luksName}`, Utils.setEcho(true));
115
- if (code != 0) {
116
- Utils.error(`cryptsetup luksOpen ${this.luksFile} ${this.luksName} failed`);
117
- process.exit(code);
118
- }
119
- await exec('udevadm settle', this.echo);
120
- // formatta ext4 il volume
121
- await exec(`mkfs.ext4 ${this.luksDevice}`, this.echo);
122
- console.log('');
123
- // mount LUKS volume
124
- if (!fs.existsSync(`this.luksMountpoint)`)) {
125
- Utils.warning(`creating mountpoint ${this.luksMountpoint}`);
126
- await exec(`mkdir -p ${this.luksMountpoint}`, this.echo);
127
- }
128
- if (!Utils.isMountpoint(`${this.luksMountpoint}`)) {
129
- Utils.warning(`mounting volume: ${this.luksDevice} on ${this.luksMountpoint}`);
130
- const { code } = await exec(`mount ${this.luksDevice} ${this.luksMountpoint}`, Utils.setEcho(true));
131
- if (code != 0) {
132
- Utils.error(`mount ${this.luksDevice} ${this.luksMountpoint} failed`);
133
- process.exit(code);
134
- }
135
- }
136
- // copy private.squashfs
137
- Utils.warning(`moving /tmp/${this.privateSquashfs} to ${this.luksMountpoint}`);
138
- await exec(`mv /tmp/${this.privateSquashfs} ${this.luksMountpoint}`, this.echo);
139
- Utils.warning(`Umounting ${this.luksMountpoint}`);
140
- await exec(`umount ${this.luksMountpoint}`, this.echo);
141
- Utils.warning(`Vlosing ${this.luksMountpoint}`);
142
- await exec(`cryptsetup luksClose ${this.luksName}`, this.echo);
143
- }
144
- /**
145
- *
146
- */
147
- async run() {
148
- Utils.titles(this.id + ' ' + this.argv);
149
- const { flags } = await this.parse(Syncto);
150
- if (flags.verbose) {
151
- this.verbose = true;
152
- }
153
- this.echo = Utils.setEcho(this.verbose);
154
- let fileLuks = '';
155
- if (flags.file) {
156
- fileLuks = flags.file;
157
- }
158
- if (flags.excludes) {
159
- this.exclude = true;
160
- }
161
- if (Utils.isRoot()) {
162
- await this.luksCreate();
163
- }
164
- else {
165
- Utils.useRoot(this.id);
166
- }
167
- }
168
- }
169
- /**
170
- * Convert bytes to gigabytes
171
- */
172
- function bytesToGB(bytes) {
173
- const gigabytes = bytes / 1_073_741_824;
174
- return gigabytes.toFixed(2) + ' GB';
175
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * ./src/commands/tools/clean.ts
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- */
8
- import { Command } from '@oclif/core';
9
- export default class Clean extends Command {
10
- static description: string;
11
- static examples: string[];
12
- static flags: {
13
- help: import("@oclif/core/interfaces").BooleanFlag<void>;
14
- nointeractive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
- verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
- };
17
- run(): Promise<void>;
18
- }
@@ -1,37 +0,0 @@
1
- /**
2
- * ./src/commands/tools/clean.ts
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- */
8
- import { Command, Flags } from '@oclif/core';
9
- import Bleach from '../../classes/bleach.js';
10
- import Utils from '../../classes/utils.js';
11
- export default class Clean extends Command {
12
- static description = 'clean system log, apt, etc';
13
- static examples = ['sudo eggs tools clean'];
14
- static flags = {
15
- help: Flags.help({ char: 'h' }),
16
- nointeractive: Flags.boolean({ char: 'n', description: 'no user interaction' }),
17
- verbose: Flags.boolean({ char: 'v', description: 'verbose' })
18
- };
19
- async run() {
20
- const { flags } = await this.parse(Clean);
21
- Utils.titles(this.id + ' ' + this.argv);
22
- let verbose = false;
23
- if (flags.verbose) {
24
- verbose = true;
25
- }
26
- const { nointeractive } = flags;
27
- if (Utils.isRoot()) {
28
- if (nointeractive || (await Utils.customConfirm('Select yes to continue...'))) {
29
- const bleach = new Bleach();
30
- bleach.clean(verbose);
31
- }
32
- }
33
- else {
34
- Utils.useRoot(this.id);
35
- }
36
- }
37
- }
@@ -1,31 +0,0 @@
1
- /**
2
- * ./src/commands/tools/ppa.ts
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- */
8
- /**
9
- * Debian 13 trixe, Ubuntu 24.04 noble usano il formato deb822
10
- * * esiste un comando per modernizzare le sorgenti:
11
- * sudo apt modernize-sources
12
- */
13
- import { Command } from '@oclif/core';
14
- /**
15
- *
16
- */
17
- export default class Ppa extends Command {
18
- static description: string;
19
- static examples: string[];
20
- static flags: {
21
- add: import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
- help: import("@oclif/core/interfaces").BooleanFlag<void>;
23
- nointeractive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
24
- remove: import("@oclif/core/interfaces").BooleanFlag<boolean>;
25
- verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
26
- };
27
- /**
28
- *
29
- */
30
- run(): Promise<void>;
31
- }
@@ -1,244 +0,0 @@
1
- /**
2
- * ./src/commands/tools/ppa.ts
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- */
8
- /**
9
- * Debian 13 trixe, Ubuntu 24.04 noble usano il formato deb822
10
- * * esiste un comando per modernizzare le sorgenti:
11
- * sudo apt modernize-sources
12
- */
13
- import { Command, Flags } from '@oclif/core';
14
- import fs from 'node:fs';
15
- import path from 'node:path';
16
- import Distro from '../../classes/distro.js';
17
- import Utils from '../../classes/utils.js';
18
- import { exec } from '../../lib/utils.js';
19
- import Diversions from '../../classes/diversions.js';
20
- const ppaKeyUrl = 'https://pieroproietti.github.io/penguins-eggs-repo/KEY.asc';
21
- const ppaKeyPath = '/usr/share/keyrings/penguins-eggs-repo.gpg';
22
- const ppaUrl = `https://pieroproietti.github.io/penguins-eggs-repo`;
23
- let ppaPath = '/etc/apt/sources.list.d/penguins-eggs-repo'; // Base path without extension
24
- /**
25
- *
26
- */
27
- export default class Ppa extends Command {
28
- static description = 'add/remove repo';
29
- static examples = ['sudo eggs tools ppa --add', 'sudo eggs tools ppa --remove'];
30
- static flags = {
31
- add: Flags.boolean({ char: 'a', description: 'add penguins-eggs PPA repository' }),
32
- help: Flags.help({ char: 'h' }),
33
- nointeractive: Flags.boolean({ char: 'n', description: 'no user interaction' }),
34
- remove: Flags.boolean({ char: 'r', description: 'remove penguins-eggs PPA repository' }),
35
- verbose: Flags.boolean({ char: 'v', description: 'verbose' })
36
- };
37
- /**
38
- *
39
- */
40
- async run() {
41
- const { flags } = await this.parse(Ppa);
42
- Utils.titles(this.id + ' ' + this.argv);
43
- const { nointeractive } = flags;
44
- if (Utils.isRoot()) {
45
- const distro = new Distro();
46
- if (distro.familyId === 'archlinux' && !Diversions.isManjaroBased(distro.distroId)) {
47
- if (flags.add) {
48
- Utils.warning(`Are you sure to add penguins-eggs-repo to your repositories?`);
49
- if (await Utils.customConfirm('Select yes to continue...')) {
50
- await penguinsRepoAdd();
51
- }
52
- }
53
- else if (flags.remove) {
54
- Utils.warning(`Are you sure to remove penguins-eggs-repo to your repositories?`);
55
- if (await Utils.customConfirm('Select yes to continue...')) {
56
- await penguinsRepoRemove();
57
- }
58
- }
59
- }
60
- else if (distro.familyId === 'debian') {
61
- /**
62
- * Debian
63
- */
64
- if (flags.add) {
65
- Utils.warning(`Are you sure to add source ${path.basename(ppaPath)} to your repositories?`);
66
- if (nointeractive || (await Utils.customConfirm('Select yes to continue...'))) {
67
- // Rimuove sempre le vecchie configurazioni per uno stato pulito
68
- await debianRemove();
69
- if (await is822()) {
70
- await debianAdd822();
71
- }
72
- else {
73
- await debianAdd();
74
- }
75
- }
76
- }
77
- else if (flags.remove) {
78
- Utils.warning(`Are you sure to remove source ${path.basename(ppaPath)} to your repositories?`);
79
- if (nointeractive || (await Utils.customConfirm('Select yes to continue...'))) {
80
- await debianRemove();
81
- }
82
- }
83
- await exec('apt-get update');
84
- }
85
- else if (distro.familyId === 'fedora') {
86
- if (distro.distroId !== 'Fedora') {
87
- console.log("You can find the step-by-step instructions at this link:");
88
- console.log("https://github.com/pieroproietti/penguins-eggs/blob/master/DOCS/INSTALL-ENTR.md");
89
- console.log();
90
- }
91
- else {
92
- console.log("You can find the step-by-step instructions at this link:");
93
- console.log("https://github.com/pieroproietti/penguins-eggs/blob/master/DOCS/INSTALL-FEDORA.md");
94
- console.log();
95
- }
96
- }
97
- else if (distro.familyId === 'opensuse') {
98
- console.log("You can find the step-by-step instructions at this link:");
99
- console.log("https://github.com/pieroproietti/penguins-eggs/blob/master/DOCS/INSTALL-OPENSUSE.md");
100
- console.log();
101
- /**
102
- * All the others
103
- */
104
- }
105
- else {
106
- Utils.warning(`Distro: ${distro.distroId}/${distro.codenameId}, cannot use penguins-eggs-repo nor chaotic-aur!`);
107
- }
108
- }
109
- }
110
- }
111
- /**
112
- * PENGUINS-EGGS-REPO (ARCH)
113
- */
114
- async function penguinsRepoAdd() {
115
- const repoBlockIdentifier = '# Penguins-eggs repository';
116
- const repoName = '[penguins-eggs]';
117
- const keyId = 'F6773EA7D2F309BA3E5DE08A45B10F271525403F';
118
- const serverUrl = 'https://pieroproietti.github.io/penguins-eggs-repo/arch';
119
- const pacmanConfPath = '/etc/pacman.conf';
120
- const echo = Utils.setEcho(true);
121
- // 1. Controlla se il repository è già configurato
122
- const pacmanConfContent = fs.readFileSync(pacmanConfPath, 'utf8');
123
- if (pacmanConfContent.includes(repoName)) {
124
- console.log(`Il repository ${repoName} è già presente in ${pacmanConfPath}!`);
125
- // Qui potresti voler uscire o chiamare una funzione di rimozione, come nel tuo esempio.
126
- return;
127
- }
128
- // 2. Importa e firma la chiave GPG del repository
129
- console.log(`Importazione della chiave GPG: ${keyId}...`);
130
- await exec(`pacman-key --recv-key ${keyId} --keyserver keyserver.ubuntu.com`, echo);
131
- await exec(`pacman-key --lsign-key ${keyId}`, echo);
132
- let repoBlock = ``;
133
- repoBlock += repoBlockIdentifier + `\n`;
134
- repoBlock += `${repoName}\n`;
135
- repoBlock += `SigLevel = Optional TrustAll\n`;
136
- repoBlock += `Server = ${serverUrl}\n`;
137
- fs.appendFileSync(pacmanConfPath, repoBlock);
138
- }
139
- /**
140
- * Rimuove il repository penguins-eggs da /etc/pacman.conf
141
- */
142
- async function penguinsRepoRemove() {
143
- // --- Configurazione del repository da rimuovere ---
144
- const repoBlockIdentifier = '# Penguins-eggs repository';
145
- const repoName = '[penguins-eggs]';
146
- const serverUrl = 'https://pieroproietti.github.io/penguins-eggs-repo/arch';
147
- const serverLine = 'Server = https://pieroproietti.github.io/penguins-eggs-repo/arch';
148
- const pacmanConfPath = '/etc/pacman.conf';
149
- let pacmanConfContent = fs.readFileSync(pacmanConfPath, 'utf8');
150
- // Controlla se il repository è effettivamente presente
151
- if (pacmanConfContent.includes(repoName)) {
152
- console.log(`Rimozione del repository ${repoName} in corso...`);
153
- // Costruisce la stringa esatta del blocco da rimuovere
154
- let repoBlock = ``;
155
- repoBlock += repoBlockIdentifier + `\n`;
156
- repoBlock += `${repoName}\n`;
157
- repoBlock += `SigLevel = Optional TrustAll\n`;
158
- repoBlock += `Server = ${serverUrl}\n`;
159
- // Sostituisce il blocco del repository con una stringa vuota
160
- pacmanConfContent = pacmanConfContent.replace(repoBlock, '');
161
- // Riscrive il file con il contenuto aggiornato, usando trim() per
162
- // rimuovere eventuali spazi o righe vuote all'inizio o alla fine.
163
- fs.writeFileSync(pacmanConfPath, pacmanConfContent.trim());
164
- console.log('Repository rimosso con successo!');
165
- console.log('Esegui "sudo pacman -Syyu" per aggiornare i database.');
166
- }
167
- else {
168
- console.log('Il repository non era presente in /etc/pacman.conf.');
169
- }
170
- }
171
- /**
172
- * ARCH
173
- */
174
- // archAdd
175
- async function archAdd() {
176
- const path = '/var/cache/pacman/pkg/';
177
- const keyring = 'chaotic-keyring.pkg.tar.zst';
178
- const mirrorlist = 'chaotic-mirrorlist.pkg.tar.zst';
179
- const echo = Utils.setEcho(true);
180
- if (fs.existsSync(path + keyring) && fs.existsSync(path + mirrorlist)) {
181
- console.log('repository Chaotic-AUR, already present!');
182
- await archRemove();
183
- process.exit();
184
- }
185
- await exec('pacman-key --recv-key FBA220DFC880C036 --keyserver keyserver.ubuntu.com', echo);
186
- await exec('pacman-key --lsign-key FBA220DFC880C036', echo);
187
- await exec("pacman -U 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst' 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst'", echo);
188
- // Append to /etc/pacman.conf
189
- const chaoticAppend = '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist\n\n';
190
- fs.appendFileSync('/etc/pacman.conf', chaoticAppend);
191
- }
192
- // archRemove
193
- async function archRemove() {
194
- const path = '/var/cache/pacman/pkg/';
195
- const keyring = 'chaotic-keyring.pkg.tar.zst';
196
- const mirrorlist = 'chaotic-mirrorlist.pkg.tar.zst';
197
- if (fs.existsSync(path + keyring) && fs.existsSync(path + mirrorlist)) {
198
- console.log('to remove chaotic-aur:\n');
199
- console.log(`sudo rm ${path}${keyring}`);
200
- console.log(`sudo rm ${path}${mirrorlist}`);
201
- console.log(`sudo nano /etc/pacman.conf`);
202
- console.log(`remove at the end:`);
203
- console.log(`[chaotic-aur]`);
204
- console.log(`Include = /etc/pacman.d/chaotic-mirrorlist`);
205
- }
206
- }
207
- /**
208
- * DEBIAN
209
- */
210
- // is822
211
- async function is822() {
212
- let retval = false;
213
- const test = `([ -f /etc/apt/sources.list.d/ubuntu.sources ] || [ -f /etc/apt/sources.list.d/debian.sources ]) && echo "1" || echo "0"`;
214
- const is822Result = (await exec(test, { capture: true, echo: false }));
215
- if (is822Result.code === 0) {
216
- if (is822Result.data.trim() === '1') {
217
- retval = true;
218
- }
219
- }
220
- return retval;
221
- }
222
- // debianAdd822
223
- async function debianAdd822() {
224
- await exec(`curl -fsSL ${ppaKeyUrl} | gpg --dearmor -o ${ppaKeyPath}`);
225
- let content = '';
226
- content += `Types: deb\n`;
227
- content += `URIs: ${ppaUrl}/deb\n`; // Correct URI for packages
228
- content += `Suites: stable\n`; // It's better to be specific
229
- content += `Components: main\n`;
230
- content += `Signed-By: ${ppaKeyPath}\n`;
231
- fs.writeFileSync(`${ppaPath}.sources`, content);
232
- }
233
- // debianAdd
234
- async function debianAdd() {
235
- await exec(`curl -fsSL ${ppaKeyUrl} | gpg --dearmor -o ${ppaKeyPath}`);
236
- const content = `deb [signed-by=${ppaKeyPath}] ${ppaUrl}/deb stable main\n`;
237
- fs.writeFileSync(`${ppaPath}.list`, content);
238
- }
239
- // debianRemove
240
- async function debianRemove() {
241
- // The script runs as root, so sudo inside exec is not needed here
242
- await exec(`rm -f ${ppaKeyPath}`);
243
- await exec(`rm -f ${ppaPath}*`);
244
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * ./src/commands/tools/skel.ts
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- */
8
- import { Command } from '@oclif/core';
9
- export default class Skel extends Command {
10
- static description: string;
11
- static examples: string[];
12
- static flags: {
13
- help: import("@oclif/core/interfaces").BooleanFlag<void>;
14
- user: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
- verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
- };
17
- run(): Promise<void>;
18
- }
@@ -1,44 +0,0 @@
1
- /**
2
- * ./src/commands/tools/skel.ts
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- */
8
- import { Command, Flags } from '@oclif/core';
9
- import fs from 'node:fs';
10
- import Utils from '../../classes/utils.js';
11
- import Xdg from '../../classes/xdg.js';
12
- export default class Skel extends Command {
13
- static description = 'update skel from home configuration';
14
- static examples = ['sudo eggs tools skel', 'sudo eggs tools skel --user user-to-be-copied'];
15
- static flags = {
16
- help: Flags.help({ char: 'h' }),
17
- user: Flags.string({ char: 'u', description: 'user to be used' }),
18
- verbose: Flags.boolean({ char: 'v' })
19
- };
20
- async run() {
21
- Utils.titles(this.id + ' ' + this.argv);
22
- const { flags } = await this.parse(Skel);
23
- let verbose = false;
24
- if (flags.verbose) {
25
- verbose = true;
26
- }
27
- let user = '';
28
- user = flags.user ? flags.user : await Utils.getPrimaryUser();
29
- Utils.warning(`user: ${user}`);
30
- const homeSource = `/home/${user}`;
31
- if (!fs.existsSync(homeSource)) {
32
- Utils.error(`User ${user} not exist or not exist a proper home`);
33
- Utils.warning('terminate');
34
- process.exit(0);
35
- }
36
- if (Utils.isRoot()) {
37
- Utils.titles('skel');
38
- Xdg.skel(user, verbose);
39
- }
40
- else {
41
- Utils.useRoot(this.id);
42
- }
43
- }
44
- }
@@ -1,31 +0,0 @@
1
- /**
2
- * ./src/commands/tools/stat.ts
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- */
8
- import { Command } from '@oclif/core';
9
- /**
10
- *
11
- */
12
- export default class ToolsStat extends Command {
13
- static description: string;
14
- static examples: string[];
15
- static flags: {
16
- help: import("@oclif/core/interfaces").BooleanFlag<void>;
17
- month: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
- year: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
- };
20
- /**
21
- *
22
- */
23
- run(): Promise<void>;
24
- /**
25
- *
26
- * @param start
27
- * @param end
28
- * @param type
29
- */
30
- show(start: string, end: string, type: string): Promise<void>;
31
- }
@@ -1,70 +0,0 @@
1
- /**
2
- * ./src/commands/tools/stat.ts
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- */
8
- import { Command, Flags } from '@oclif/core';
9
- import axios from 'axios';
10
- import https from 'node:https';
11
- import Utils from '../../classes/utils.js';
12
- const agent = new https.Agent({
13
- rejectUnauthorized: false
14
- });
15
- /**
16
- *
17
- */
18
- export default class ToolsStat extends Command {
19
- static description = 'get statistics from sourceforge';
20
- static examples = ['eggs tools stat', 'eggs tools stat --month', 'eggs tools stat --year'];
21
- static flags = {
22
- help: Flags.help({ char: 'h' }),
23
- month: Flags.boolean({ char: 'm', description: 'current month' }),
24
- year: Flags.boolean({ char: 'y', description: 'current year' })
25
- };
26
- /**
27
- *
28
- */
29
- async run() {
30
- const { args, flags } = await this.parse(ToolsStat);
31
- Utils.titles(this.id + ' ' + this.argv);
32
- const yesterday = new Date();
33
- yesterday.setDate(yesterday.getDate() - 1);
34
- // current date
35
- // adjust 0 before single digit date
36
- const day = ('0' + yesterday.getDate()).slice(-2);
37
- // current month
38
- const month = ('0' + (yesterday.getMonth() + 1)).slice(-2);
39
- // current year
40
- const year = yesterday.getFullYear();
41
- const end = year + '-' + month + '-' + day;
42
- let start = year + '-' + month + '-' + day;
43
- if (flags.month) {
44
- start = year + '-' + month + '-01';
45
- }
46
- if (flags.year) {
47
- start = year + '-01-01';
48
- }
49
- this.log('start: ' + start + ', end: ' + end + '\n');
50
- await this.show(start, end, 'Packages/DEBS');
51
- console.log();
52
- await this.show(start, end, 'ISOS');
53
- }
54
- /**
55
- *
56
- * @param start
57
- * @param end
58
- * @param type
59
- */
60
- async show(start, end, type) {
61
- let url = `https://sourceforge.net/projects/penguins-eggs/files/${type}/stats/json`;
62
- const request = '?start_date=' + start + '&end_date=' + end;
63
- url += request;
64
- const res = await axios.get(url, { httpsAgent: agent });
65
- console.log(type);
66
- for (const country of res.data.countries) {
67
- console.log('- ' + country[0] + ': ' + country[1]);
68
- }
69
- }
70
- }