penguins-eggs 25.9.8 → 25.9.24

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 (510) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/LICENSE +123 -0
  3. package/README.md +34 -32
  4. package/README.pdf +2625 -2497
  5. package/addons/eggs/theme/calamares/branding/show.qml +61 -74
  6. package/conf/derivatives.yaml +2 -2
  7. package/conf/distros/alpine/calamares/modules/mount.yml +104 -39
  8. package/conf/distros/alpine/calamares/settings.yml +4 -4
  9. package/conf/distros/bionic/calamares/settings.yml +5 -5
  10. package/conf/distros/buster/calamares/libexec/.keepit +0 -0
  11. package/conf/distros/buster/calamares/libexec/README.md +5 -0
  12. package/conf/distros/{noble/calamares/modules/focal-jammy/mount.yml → buster/calamares/modules/mount.3.2.yml} +3 -6
  13. package/conf/distros/buster/calamares/modules/mount.yml +2 -4
  14. package/conf/distros/buster/calamares/modules/shellprocess@boot_deploy.yml +23 -0
  15. package/conf/distros/buster/calamares/modules/shellprocess@boot_reconfigure.yml +14 -0
  16. package/conf/distros/buster/calamares/modules/shellprocess@mkinitramfs.yml +4 -0
  17. package/conf/distros/buster/calamares/settings.yml +28 -11
  18. package/conf/distros/fedora/calamares/settings.yml +6 -6
  19. package/conf/distros/jessie/krill/settings.yml +6 -6
  20. package/conf/distros/noble/README.md +8 -1
  21. package/conf/distros/noble/calamares/libexec/.keepit +0 -0
  22. package/conf/distros/noble/calamares/libexec/README.md +5 -0
  23. package/conf/distros/noble/calamares/libexec/calamares-aptsources.sh +15 -0
  24. package/conf/distros/noble/calamares/libexec/calamares-l10n-helper.sh +35 -0
  25. package/conf/distros/noble/calamares/libexec/calamares-logs-helper.sh +34 -0
  26. package/conf/distros/noble/calamares/libexec/calamares-nomodeset.sh +19 -0
  27. package/conf/distros/noble/calamares/modules/after_bootloader_context.yml +26 -0
  28. package/conf/distros/noble/calamares/modules/before_bootloader_context.yml +12 -0
  29. package/conf/distros/noble/calamares/modules/bootloader.yml +67 -14
  30. package/conf/distros/noble/calamares/modules/bootloader.yml.old +35 -0
  31. package/conf/distros/noble/calamares/modules/displaymanager.yml +21 -0
  32. package/conf/distros/noble/calamares/modules/finished.yml +3 -0
  33. package/conf/distros/noble/calamares/modules/fstab.yml +9 -0
  34. package/conf/distros/noble/calamares/modules/grubcfg.yml +49 -1
  35. package/conf/distros/noble/calamares/modules/keyboard.yml +29 -0
  36. package/conf/distros/noble/calamares/modules/locale.yml +5 -6
  37. package/conf/distros/noble/calamares/modules/machineid.yml +3 -1
  38. package/conf/distros/noble/calamares/modules/mount.yml +21 -19
  39. package/conf/distros/noble/calamares/modules/netinstall.yml +5 -0
  40. package/conf/distros/noble/calamares/modules/packages.yml +5 -16
  41. package/conf/distros/noble/calamares/modules/shellprocess@aptsources.yml +11 -0
  42. package/conf/distros/noble/calamares/modules/shellprocess@boot_deploy.yml +18 -0
  43. package/conf/distros/noble/calamares/modules/shellprocess@boot_reconfigure.yml +14 -0
  44. package/conf/distros/noble/calamares/modules/shellprocess@install_translations.yml +7 -0
  45. package/conf/distros/noble/calamares/modules/shellprocess@logs.yml +7 -0
  46. package/conf/distros/noble/calamares/modules/shellprocess@mkinitramfs.yml +4 -0
  47. package/conf/distros/noble/calamares/modules/shellprocess@nomodeset.yml +11 -0
  48. package/conf/distros/noble/calamares/modules/unpackfs.yml +2 -1
  49. package/conf/distros/noble/calamares/modules/users.yml +19 -17
  50. package/conf/distros/noble/calamares/modules/welcome.yml +9 -13
  51. package/conf/distros/noble/calamares/settings.yml +82 -72
  52. package/conf/distros/openmamba/calamares/settings.yml +4 -4
  53. package/conf/distros/opensuse/calamares/settings.yml +6 -6
  54. package/conf/distros/rolling/calamares/settings.yml +4 -4
  55. package/conf/distros/stretch/krill/settings.yml +6 -6
  56. package/package.json +14 -14
  57. package/perrisbrewery/template/dependencies.yaml +1 -0
  58. package/conf/distros/noble/calamares/modules/_automirror.yml +0 -6
  59. package/conf/distros/noble/calamares/modules/_before_bootloader_context.yml +0 -18
  60. package/conf/distros/noble/calamares/modules/_before_bootloader_mkdirs_context.yml +0 -10
  61. package/conf/distros/noble/calamares/modules/_displaymanager.yml +0 -9
  62. package/conf/distros/noble/calamares/modules/_oemid.yml +0 -2
  63. package/conf/distros/noble/calamares/modules/_pkgselect_context.yml +0 -19
  64. package/conf/distros/noble/calamares/modules/_pkgselect_snap_context.yml +0 -9
  65. package/conf/distros/noble/calamares/modules/_shellprocess_logs.yml +0 -5
  66. package/conf/distros/noble/calamares/modules/_users.conf.oem +0 -30
  67. package/conf/distros/noble/calamares/modules/focal-jammy/fstab.yml +0 -13
  68. package/conf/distros/noble/calamares/modules/focal-jammy/users.yml +0 -19
  69. package/conf/distros/noble/calamares/modules/shellprocess_add386arch.yml +0 -5
  70. package/conf/distros/noble/calamares/modules/shellprocess_bug-LP#1829805.yml +0 -5
  71. package/conf/distros/noble/calamares/modules/shellprocess_fixconkeys_part1.yml +0 -5
  72. package/conf/distros/noble/calamares/modules/shellprocess_fixconkeys_part2.yml +0 -5
  73. package/conf/distros/noble/calamares/modules/shellprocess_oemprep.yml +0 -5
  74. package/dist/classes/bleach.d.ts +0 -37
  75. package/dist/classes/bleach.js +0 -148
  76. package/dist/classes/cli-autologin.d.ts +0 -52
  77. package/dist/classes/cli-autologin.js +0 -252
  78. package/dist/classes/compressors.d.ts +0 -54
  79. package/dist/classes/compressors.js +0 -109
  80. package/dist/classes/daddy.d.ts +0 -26
  81. package/dist/classes/daddy.js +0 -175
  82. package/dist/classes/distro.d.ts +0 -32
  83. package/dist/classes/distro.js +0 -382
  84. package/dist/classes/diversions.d.ts +0 -53
  85. package/dist/classes/diversions.js +0 -133
  86. package/dist/classes/incubation/branding.d.ts +0 -17
  87. package/dist/classes/incubation/branding.js +0 -85
  88. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +0 -11
  89. package/dist/classes/incubation/fisherman-helper/displaymanager.js +0 -40
  90. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  91. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  92. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  93. package/dist/classes/incubation/fisherman-helper/settings.js +0 -83
  94. package/dist/classes/incubation/fisherman.d.ts +0 -74
  95. package/dist/classes/incubation/fisherman.js +0 -271
  96. package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
  97. package/dist/classes/incubation/incubator.d/alpine.js +0 -78
  98. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  99. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  100. package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
  101. package/dist/classes/incubation/incubator.d/buster.js +0 -85
  102. package/dist/classes/incubation/incubator.d/fedora.d.ts +0 -32
  103. package/dist/classes/incubation/incubator.d/fedora.js +0 -80
  104. package/dist/classes/incubation/incubator.d/jessie.d.ts +0 -31
  105. package/dist/classes/incubation/incubator.d/jessie.js +0 -44
  106. package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
  107. package/dist/classes/incubation/incubator.d/noble.js +0 -85
  108. package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
  109. package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
  110. package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
  111. package/dist/classes/incubation/incubator.d/opensuse.js +0 -78
  112. package/dist/classes/incubation/incubator.d/rolling.d.ts +0 -32
  113. package/dist/classes/incubation/incubator.d/rolling.js +0 -78
  114. package/dist/classes/incubation/incubator.d.ts +0 -48
  115. package/dist/classes/incubation/incubator.js +0 -404
  116. package/dist/classes/incubation/installer.d.ts +0 -13
  117. package/dist/classes/incubation/installer.js +0 -52
  118. package/dist/classes/keyboards.d.ts +0 -50
  119. package/dist/classes/keyboards.js +0 -287
  120. package/dist/classes/locales.d.ts +0 -21
  121. package/dist/classes/locales.js +0 -77
  122. package/dist/classes/network.d.ts +0 -37
  123. package/dist/classes/network.js +0 -98
  124. package/dist/classes/ovary.d/bind-live-fs.d.ts +0 -18
  125. package/dist/classes/ovary.d/bind-live-fs.js +0 -185
  126. package/dist/classes/ovary.d/bind-vfs.d.ts +0 -17
  127. package/dist/classes/ovary.d/bind-vfs.js +0 -37
  128. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +0 -13
  129. package/dist/classes/ovary.d/create-xdg-autostart.js +0 -194
  130. package/dist/classes/ovary.d/edit-live-fs.d.ts +0 -20
  131. package/dist/classes/ovary.d/edit-live-fs.js +0 -245
  132. package/dist/classes/ovary.d/fertilization.d.ts +0 -12
  133. package/dist/classes/ovary.d/fertilization.js +0 -52
  134. package/dist/classes/ovary.d/finished.d.ts +0 -13
  135. package/dist/classes/ovary.d/finished.js +0 -44
  136. package/dist/classes/ovary.d/initrd.d.ts +0 -21
  137. package/dist/classes/ovary.d/initrd.js +0 -97
  138. package/dist/classes/ovary.d/kernel-copy.d.ts +0 -12
  139. package/dist/classes/ovary.d/kernel-copy.js +0 -22
  140. package/dist/classes/ovary.d/live-create-structure.d.ts +0 -12
  141. package/dist/classes/ovary.d/live-create-structure.js +0 -90
  142. package/dist/classes/ovary.d/make-dot-disk.d.ts +0 -12
  143. package/dist/classes/ovary.d/make-dot-disk.js +0 -62
  144. package/dist/classes/ovary.d/make-efi.d.ts +0 -14
  145. package/dist/classes/ovary.d/make-efi.js +0 -274
  146. package/dist/classes/ovary.d/make-iso.d.ts +0 -13
  147. package/dist/classes/ovary.d/make-iso.js +0 -45
  148. package/dist/classes/ovary.d/make-squashfs.d.ts +0 -18
  149. package/dist/classes/ovary.d/make-squashfs.js +0 -110
  150. package/dist/classes/ovary.d/merged.d.ts +0 -27
  151. package/dist/classes/ovary.d/merged.js +0 -78
  152. package/dist/classes/ovary.d/produce.d.ts +0 -23
  153. package/dist/classes/ovary.d/produce.js +0 -315
  154. package/dist/classes/ovary.d/rexec.d.ts +0 -13
  155. package/dist/classes/ovary.d/rexec.js +0 -34
  156. package/dist/classes/ovary.d/syslinux.d.ts +0 -12
  157. package/dist/classes/ovary.d/syslinux.js +0 -82
  158. package/dist/classes/ovary.d/user-create-live.d.ts +0 -14
  159. package/dist/classes/ovary.d/user-create-live.js +0 -97
  160. package/dist/classes/ovary.d/users-remove.d.ts +0 -9
  161. package/dist/classes/ovary.d/users-remove.js +0 -38
  162. package/dist/classes/ovary.d/xorriso-command.d.ts +0 -14
  163. package/dist/classes/ovary.d/xorriso-command.js +0 -123
  164. package/dist/classes/ovary.d.ts +0 -83
  165. package/dist/classes/ovary.js +0 -87
  166. package/dist/classes/pacman.d/aldos.d.ts +0 -52
  167. package/dist/classes/pacman.d/aldos.js +0 -100
  168. package/dist/classes/pacman.d/alpine.d.ts +0 -56
  169. package/dist/classes/pacman.d/alpine.js +0 -167
  170. package/dist/classes/pacman.d/archlinux.d.ts +0 -62
  171. package/dist/classes/pacman.d/archlinux.js +0 -136
  172. package/dist/classes/pacman.d/debian.d.ts +0 -65
  173. package/dist/classes/pacman.d/debian.js +0 -143
  174. package/dist/classes/pacman.d/fedora.d.ts +0 -53
  175. package/dist/classes/pacman.d/fedora.js +0 -101
  176. package/dist/classes/pacman.d/openmamba.d.ts +0 -52
  177. package/dist/classes/pacman.d/openmamba.js +0 -100
  178. package/dist/classes/pacman.d/opensuse.d.ts +0 -53
  179. package/dist/classes/pacman.d/opensuse.js +0 -103
  180. package/dist/classes/pacman.d/voidlinux.d.ts +0 -52
  181. package/dist/classes/pacman.d/voidlinux.js +0 -90
  182. package/dist/classes/pacman.d.ts +0 -139
  183. package/dist/classes/pacman.js +0 -774
  184. package/dist/classes/pve-live.d.ts +0 -17
  185. package/dist/classes/pve-live.js +0 -52
  186. package/dist/classes/pxe.d.ts +0 -76
  187. package/dist/classes/pxe.js +0 -353
  188. package/dist/classes/settings.d.ts +0 -52
  189. package/dist/classes/settings.js +0 -185
  190. package/dist/classes/sources_list.d.ts +0 -28
  191. package/dist/classes/sources_list.js +0 -89
  192. package/dist/classes/systemctl.d.ts +0 -47
  193. package/dist/classes/systemctl.js +0 -86
  194. package/dist/classes/tailor.d.ts +0 -50
  195. package/dist/classes/tailor.js +0 -563
  196. package/dist/classes/tools.d.ts +0 -26
  197. package/dist/classes/tools.js +0 -50
  198. package/dist/classes/users.d.ts +0 -28
  199. package/dist/classes/users.js +0 -143
  200. package/dist/classes/utils.d/kernel.d.ts +0 -38
  201. package/dist/classes/utils.d/kernel.js +0 -184
  202. package/dist/classes/utils.d.ts +0 -327
  203. package/dist/classes/utils.js +0 -955
  204. package/dist/classes/xdg.d.ts +0 -45
  205. package/dist/classes/xdg.js +0 -337
  206. package/dist/classes/yolk.d.ts +0 -33
  207. package/dist/classes/yolk.js +0 -114
  208. package/dist/commands/adapt.d.ts +0 -17
  209. package/dist/commands/adapt.js +0 -33
  210. package/dist/commands/analyze.d.ts +0 -26
  211. package/dist/commands/analyze.js +0 -95
  212. package/dist/commands/calamares.d.ts +0 -29
  213. package/dist/commands/calamares.js +0 -112
  214. package/dist/commands/config.d.ts +0 -35
  215. package/dist/commands/config.js +0 -120
  216. package/dist/commands/cuckoo.d.ts +0 -17
  217. package/dist/commands/cuckoo.js +0 -61
  218. package/dist/commands/dad.d.ts +0 -21
  219. package/dist/commands/dad.js +0 -47
  220. package/dist/commands/export/iso.d.ts +0 -19
  221. package/dist/commands/export/iso.js +0 -55
  222. package/dist/commands/export/pkg.d.ts +0 -29
  223. package/dist/commands/export/pkg.js +0 -173
  224. package/dist/commands/export/tarballs.d.ts +0 -27
  225. package/dist/commands/export/tarballs.js +0 -79
  226. package/dist/commands/install.d.ts +0 -38
  227. package/dist/commands/install.js +0 -91
  228. package/dist/commands/kill.d.ts +0 -24
  229. package/dist/commands/kill.js +0 -50
  230. package/dist/commands/love.d.ts +0 -21
  231. package/dist/commands/love.js +0 -73
  232. package/dist/commands/mom.d.ts +0 -16
  233. package/dist/commands/mom.js +0 -30
  234. package/dist/commands/pods.d.ts +0 -22
  235. package/dist/commands/pods.js +0 -92
  236. package/dist/commands/produce.d.ts +0 -35
  237. package/dist/commands/produce.js +0 -221
  238. package/dist/commands/status.d.ts +0 -23
  239. package/dist/commands/status.js +0 -31
  240. package/dist/commands/syncfrom.d.ts +0 -45
  241. package/dist/commands/syncfrom.js +0 -152
  242. package/dist/commands/syncto.d.ts +0 -40
  243. package/dist/commands/syncto.js +0 -175
  244. package/dist/commands/tools/clean.d.ts +0 -18
  245. package/dist/commands/tools/clean.js +0 -37
  246. package/dist/commands/tools/ppa.d.ts +0 -32
  247. package/dist/commands/tools/ppa.js +0 -185
  248. package/dist/commands/tools/skel.d.ts +0 -18
  249. package/dist/commands/tools/skel.js +0 -44
  250. package/dist/commands/tools/stat.d.ts +0 -31
  251. package/dist/commands/tools/stat.js +0 -70
  252. package/dist/commands/tools/yolk.d.ts +0 -24
  253. package/dist/commands/tools/yolk.js +0 -45
  254. package/dist/commands/update.d.ts +0 -46
  255. package/dist/commands/update.js +0 -238
  256. package/dist/commands/wardrobe/get.d.ts +0 -23
  257. package/dist/commands/wardrobe/get.js +0 -52
  258. package/dist/commands/wardrobe/list.d.ts +0 -24
  259. package/dist/commands/wardrobe/list.js +0 -125
  260. package/dist/commands/wardrobe/show.d.ts +0 -25
  261. package/dist/commands/wardrobe/show.js +0 -97
  262. package/dist/commands/wardrobe/wear.d.ts +0 -26
  263. package/dist/commands/wardrobe/wear.js +0 -84
  264. package/dist/dhcpd-proxy/classes/packet.d.ts +0 -36
  265. package/dist/dhcpd-proxy/classes/packet.js +0 -124
  266. package/dist/dhcpd-proxy/index.d.ts +0 -4
  267. package/dist/dhcpd-proxy/index.js +0 -4
  268. package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +0 -45
  269. package/dist/dhcpd-proxy/interfaces/i-pxe.js +0 -1
  270. package/dist/dhcpd-proxy/lib/packet/converters.d.ts +0 -11
  271. package/dist/dhcpd-proxy/lib/packet/converters.js +0 -395
  272. package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +0 -10
  273. package/dist/dhcpd-proxy/lib/packet/message-types.js +0 -12
  274. package/dist/dhcpd-proxy/lib/packet/options.d.ts +0 -8
  275. package/dist/dhcpd-proxy/lib/packet/options.js +0 -264
  276. package/dist/dhcpd-proxy/lib/sprintf.d.ts +0 -6
  277. package/dist/dhcpd-proxy/lib/sprintf.js +0 -130
  278. package/dist/dhcpd-proxy/lib/utils.d.ts +0 -126
  279. package/dist/dhcpd-proxy/lib/utils.js +0 -255
  280. package/dist/dhcpd-proxy/simple-proxy.d.ts +0 -11
  281. package/dist/dhcpd-proxy/simple-proxy.js +0 -118
  282. package/dist/index.d.ts +0 -8
  283. package/dist/index.js +0 -8
  284. package/dist/interfaces/i-addons.d.ts +0 -12
  285. package/dist/interfaces/i-addons.js +0 -8
  286. package/dist/interfaces/i-analyze.d.ts +0 -17
  287. package/dist/interfaces/i-analyze.js +0 -17
  288. package/dist/interfaces/i-app.d.ts +0 -14
  289. package/dist/interfaces/i-app.js +0 -8
  290. package/dist/interfaces/i-branding.d.ts +0 -36
  291. package/dist/interfaces/i-branding.js +0 -8
  292. package/dist/interfaces/i-calamares-displaymanager.d.ts +0 -17
  293. package/dist/interfaces/i-calamares-displaymanager.js +0 -1
  294. package/dist/interfaces/i-calamares-finished.d.ts +0 -12
  295. package/dist/interfaces/i-calamares-finished.js +0 -1
  296. package/dist/interfaces/i-calamares-packages.d.ts +0 -28
  297. package/dist/interfaces/i-calamares-packages.js +0 -1
  298. package/dist/interfaces/i-calamares-partition.d.ts +0 -40
  299. package/dist/interfaces/i-calamares-partition.js +0 -1
  300. package/dist/interfaces/i-config-tools.d.ts +0 -15
  301. package/dist/interfaces/i-config-tools.js +0 -8
  302. package/dist/interfaces/i-devices.d.ts +0 -20
  303. package/dist/interfaces/i-devices.js +0 -8
  304. package/dist/interfaces/i-distro.d.ts +0 -23
  305. package/dist/interfaces/i-distro.js +0 -8
  306. package/dist/interfaces/i-drive-list.d.ts +0 -33
  307. package/dist/interfaces/i-drive-list.js +0 -8
  308. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  309. package/dist/interfaces/i-eggs-config.js +0 -8
  310. package/dist/interfaces/i-excludes.d.ts +0 -14
  311. package/dist/interfaces/i-excludes.js +0 -8
  312. package/dist/interfaces/i-exec.d.ts +0 -11
  313. package/dist/interfaces/i-exec.js +0 -8
  314. package/dist/interfaces/i-initrd.d.ts +0 -13
  315. package/dist/interfaces/i-initrd.js +0 -8
  316. package/dist/interfaces/i-install.d.ts +0 -16
  317. package/dist/interfaces/i-install.js +0 -8
  318. package/dist/interfaces/i-installer.d.ts +0 -17
  319. package/dist/interfaces/i-installer.js +0 -8
  320. package/dist/interfaces/i-luks-passphrase.d.ts +0 -11
  321. package/dist/interfaces/i-luks-passphrase.js +0 -8
  322. package/dist/interfaces/i-materia.d.ts +0 -36
  323. package/dist/interfaces/i-materia.js +0 -8
  324. package/dist/interfaces/i-net.d.ts +0 -16
  325. package/dist/interfaces/i-net.js +0 -8
  326. package/dist/interfaces/i-os-release.d.ts +0 -5
  327. package/dist/interfaces/i-os-release.js +0 -1
  328. package/dist/interfaces/i-packages.d.ts +0 -16
  329. package/dist/interfaces/i-packages.js +0 -8
  330. package/dist/interfaces/i-partitions.d.ts +0 -16
  331. package/dist/interfaces/i-partitions.js +0 -8
  332. package/dist/interfaces/i-pxe.d.ts +0 -45
  333. package/dist/interfaces/i-pxe.js +0 -1
  334. package/dist/interfaces/i-remix.d.ts +0 -21
  335. package/dist/interfaces/i-remix.js +0 -8
  336. package/dist/interfaces/i-settings.d.ts +0 -33
  337. package/dist/interfaces/i-settings.js +0 -8
  338. package/dist/interfaces/i-user.d.ts +0 -14
  339. package/dist/interfaces/i-user.js +0 -8
  340. package/dist/interfaces/i-workdir.d.ts +0 -14
  341. package/dist/interfaces/i-workdir.js +0 -8
  342. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  343. package/dist/interfaces/i-xkb-model.js +0 -8
  344. package/dist/interfaces/index.d.ts +0 -26
  345. package/dist/interfaces/index.js +0 -8
  346. package/dist/krill/classes/cfs.d.ts +0 -17
  347. package/dist/krill/classes/cfs.js +0 -39
  348. package/dist/krill/classes/krill_enums.d.ts +0 -37
  349. package/dist/krill/classes/krill_enums.js +0 -41
  350. package/dist/krill/classes/prepare.d/confirm.d.ts +0 -5
  351. package/dist/krill/classes/prepare.d/confirm.js +0 -30
  352. package/dist/krill/classes/prepare.d/keyboard.d.ts +0 -14
  353. package/dist/krill/classes/prepare.d/keyboard.js +0 -62
  354. package/dist/krill/classes/prepare.d/location.d.ts +0 -17
  355. package/dist/krill/classes/prepare.d/location.js +0 -59
  356. package/dist/krill/classes/prepare.d/network.d.ts +0 -14
  357. package/dist/krill/classes/prepare.d/network.js +0 -68
  358. package/dist/krill/classes/prepare.d/partitions.d.ts +0 -14
  359. package/dist/krill/classes/prepare.d/partitions.js +0 -86
  360. package/dist/krill/classes/prepare.d/summary.d.ts +0 -15
  361. package/dist/krill/classes/prepare.d/summary.js +0 -69
  362. package/dist/krill/classes/prepare.d/users.d.ts +0 -6
  363. package/dist/krill/classes/prepare.d/users.js +0 -63
  364. package/dist/krill/classes/prepare.d/welcome.d.ts +0 -6
  365. package/dist/krill/classes/prepare.d/welcome.js +0 -30
  366. package/dist/krill/classes/prepare.d.ts +0 -89
  367. package/dist/krill/classes/prepare.js +0 -314
  368. package/dist/krill/classes/sequence.d/add_user.d.ts +0 -20
  369. package/dist/krill/classes/sequence.d/add_user.js +0 -77
  370. package/dist/krill/classes/sequence.d/bootloader.d.ts +0 -14
  371. package/dist/krill/classes/sequence.d/bootloader.js +0 -117
  372. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +0 -14
  373. package/dist/krill/classes/sequence.d/bootloader_config.js +0 -192
  374. package/dist/krill/classes/sequence.d/change_password.d.ts +0 -15
  375. package/dist/krill/classes/sequence.d/change_password.js +0 -18
  376. package/dist/krill/classes/sequence.d/del_live_user.d.ts +0 -14
  377. package/dist/krill/classes/sequence.d/del_live_user.js +0 -39
  378. package/dist/krill/classes/sequence.d/fstab.d.ts +0 -14
  379. package/dist/krill/classes/sequence.d/fstab.js +0 -177
  380. package/dist/krill/classes/sequence.d/grubcfg.d.ts +0 -17
  381. package/dist/krill/classes/sequence.d/grubcfg.js +0 -35
  382. package/dist/krill/classes/sequence.d/hostname.d.ts +0 -13
  383. package/dist/krill/classes/sequence.d/hostname.js +0 -50
  384. package/dist/krill/classes/sequence.d/initramfs.d.ts +0 -13
  385. package/dist/krill/classes/sequence.d/initramfs.js +0 -54
  386. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +0 -14
  387. package/dist/krill/classes/sequence.d/initramfs_cfg.js +0 -35
  388. package/dist/krill/classes/sequence.d/locale.d.ts +0 -13
  389. package/dist/krill/classes/sequence.d/locale.js +0 -91
  390. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +0 -10
  391. package/dist/krill/classes/sequence.d/locale_cfg.js +0 -58
  392. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +0 -14
  393. package/dist/krill/classes/sequence.d/m_keyboard.js +0 -58
  394. package/dist/krill/classes/sequence.d/machine_id.d.ts +0 -15
  395. package/dist/krill/classes/sequence.d/machine_id.js +0 -33
  396. package/dist/krill/classes/sequence.d/mkfs.d.ts +0 -15
  397. package/dist/krill/classes/sequence.d/mkfs.js +0 -75
  398. package/dist/krill/classes/sequence.d/mount_fs.d.ts +0 -17
  399. package/dist/krill/classes/sequence.d/mount_fs.js +0 -68
  400. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +0 -17
  401. package/dist/krill/classes/sequence.d/mount_vfs.js +0 -59
  402. package/dist/krill/classes/sequence.d/network_cfg.d.ts +0 -19
  403. package/dist/krill/classes/sequence.d/network_cfg.js +0 -73
  404. package/dist/krill/classes/sequence.d/packages.d.ts +0 -14
  405. package/dist/krill/classes/sequence.d/packages.js +0 -111
  406. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +0 -17
  407. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +0 -73
  408. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +0 -16
  409. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +0 -51
  410. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +0 -17
  411. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +0 -78
  412. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +0 -10
  413. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -33
  414. package/dist/krill/classes/sequence.d/partition.d.ts +0 -14
  415. package/dist/krill/classes/sequence.d/partition.js +0 -84
  416. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +0 -13
  417. package/dist/krill/classes/sequence.d/remove_installer_link.js +0 -35
  418. package/dist/krill/classes/sequence.d/umount.d.ts +0 -14
  419. package/dist/krill/classes/sequence.d/umount.js +0 -28
  420. package/dist/krill/classes/sequence.d/unpackfs.d.ts +0 -13
  421. package/dist/krill/classes/sequence.d/unpackfs.js +0 -20
  422. package/dist/krill/classes/sequence.d.ts +0 -133
  423. package/dist/krill/classes/sequence.js +0 -396
  424. package/dist/krill/components/finished.d.ts +0 -16
  425. package/dist/krill/components/finished.js +0 -56
  426. package/dist/krill/components/information.d.ts +0 -8
  427. package/dist/krill/components/information.js +0 -162
  428. package/dist/krill/components/install.d.ts +0 -15
  429. package/dist/krill/components/install.js +0 -60
  430. package/dist/krill/components/keyboard.d.ts +0 -16
  431. package/dist/krill/components/keyboard.js +0 -54
  432. package/dist/krill/components/location.d.ts +0 -16
  433. package/dist/krill/components/location.js +0 -59
  434. package/dist/krill/components/network.d.ts +0 -19
  435. package/dist/krill/components/network.js +0 -65
  436. package/dist/krill/components/partitions.d.ts +0 -18
  437. package/dist/krill/components/partitions.js +0 -89
  438. package/dist/krill/components/steps.d.ts +0 -13
  439. package/dist/krill/components/steps.js +0 -148
  440. package/dist/krill/components/summary.d.ts +0 -25
  441. package/dist/krill/components/summary.js +0 -77
  442. package/dist/krill/components/title.d.ts +0 -11
  443. package/dist/krill/components/title.js +0 -35
  444. package/dist/krill/components/users.d.ts +0 -24
  445. package/dist/krill/components/users.js +0 -80
  446. package/dist/krill/components/welcome.d.ts +0 -13
  447. package/dist/krill/components/welcome.js +0 -63
  448. package/dist/krill/interfaces/i_krill.d.ts +0 -44
  449. package/dist/krill/interfaces/i_krill.js +0 -8
  450. package/dist/krill/interfaces/i_krill_config.d.ts +0 -35
  451. package/dist/krill/interfaces/i_krill_config.js +0 -8
  452. package/dist/krill/lib/get_address.d.ts +0 -8
  453. package/dist/krill/lib/get_address.js +0 -23
  454. package/dist/krill/lib/get_dns.d.ts +0 -8
  455. package/dist/krill/lib/get_dns.js +0 -23
  456. package/dist/krill/lib/get_domain.d.ts +0 -8
  457. package/dist/krill/lib/get_domain.js +0 -23
  458. package/dist/krill/lib/get_gateway.d.ts +0 -8
  459. package/dist/krill/lib/get_gateway.js +0 -23
  460. package/dist/krill/lib/get_hostname.d.ts +0 -8
  461. package/dist/krill/lib/get_hostname.js +0 -23
  462. package/dist/krill/lib/get_luks_passphrase.d.ts +0 -8
  463. package/dist/krill/lib/get_luks_passphrase.js +0 -40
  464. package/dist/krill/lib/get_netmask.d.ts +0 -8
  465. package/dist/krill/lib/get_netmask.js +0 -23
  466. package/dist/krill/lib/get_password.d.ts +0 -8
  467. package/dist/krill/lib/get_password.js +0 -36
  468. package/dist/krill/lib/get_userfullname.d.ts +0 -8
  469. package/dist/krill/lib/get_userfullname.js +0 -23
  470. package/dist/krill/lib/get_username.d.ts +0 -8
  471. package/dist/krill/lib/get_username.js +0 -23
  472. package/dist/krill/lib/select_address_type.d.ts +0 -8
  473. package/dist/krill/lib/select_address_type.js +0 -24
  474. package/dist/krill/lib/select_filesystem_type.d.ts +0 -8
  475. package/dist/krill/lib/select_filesystem_type.js +0 -40
  476. package/dist/krill/lib/select_installation_device.d.ts +0 -8
  477. package/dist/krill/lib/select_installation_device.js +0 -40
  478. package/dist/krill/lib/select_installation_mode.d.ts +0 -9
  479. package/dist/krill/lib/select_installation_mode.js +0 -25
  480. package/dist/krill/lib/select_interface.d.ts +0 -8
  481. package/dist/krill/lib/select_interface.js +0 -24
  482. package/dist/krill/lib/select_keyboard_layout.d.ts +0 -11
  483. package/dist/krill/lib/select_keyboard_layout.js +0 -36
  484. package/dist/krill/lib/select_keyboard_model.d.ts +0 -11
  485. package/dist/krill/lib/select_keyboard_model.js +0 -34
  486. package/dist/krill/lib/select_keyboard_option.d.ts +0 -11
  487. package/dist/krill/lib/select_keyboard_option.js +0 -34
  488. package/dist/krill/lib/select_keyboard_variant.d.ts +0 -11
  489. package/dist/krill/lib/select_keyboard_variant.js +0 -35
  490. package/dist/krill/lib/select_languages.d.ts +0 -8
  491. package/dist/krill/lib/select_languages.js +0 -28
  492. package/dist/krill/lib/select_regions.d.ts +0 -8
  493. package/dist/krill/lib/select_regions.js +0 -24
  494. package/dist/krill/lib/select_replaced_partition.d.ts +0 -8
  495. package/dist/krill/lib/select_replaced_partition.js +0 -31
  496. package/dist/krill/lib/select_user_swap_choice.d.ts +0 -9
  497. package/dist/krill/lib/select_user_swap_choice.js +0 -35
  498. package/dist/krill/lib/select_zones.d.ts +0 -8
  499. package/dist/krill/lib/select_zones.js +0 -518
  500. package/dist/lib/kill_me_softly.d.ts +0 -11
  501. package/dist/lib/kill_me_softly.js +0 -61
  502. package/dist/lib/utils.d.ts +0 -19
  503. package/dist/lib/utils.js +0 -65
  504. package/dist/penguins-eggs_25.9.8-1_amd64.deb +0 -0
  505. package/dist/penguins-eggs_25.9.8-1_amd64.deb.sha256 +0 -1
  506. package/dist/penguins-eggs_25.9.8-1_arm64.deb +0 -0
  507. package/dist/penguins-eggs_25.9.8-1_arm64.deb.sha256 +0 -1
  508. package/dist/penguins-eggs_25.9.8-1_i386.deb +0 -0
  509. package/dist/penguins-eggs_25.9.8-1_i386.deb.sha256 +0 -1
  510. package/perrisbrewery/template/dependencies-bionic.yaml +0 -37
@@ -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,32 +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
- *
11
- * esiste un comando per modernizzare le sorgenti:
12
- * sudo apt modernize-sources
13
- */
14
- import { Command } from '@oclif/core';
15
- /**
16
- *
17
- */
18
- export default class Ppa extends Command {
19
- static description: string;
20
- static examples: string[];
21
- static flags: {
22
- add: import("@oclif/core/interfaces").BooleanFlag<boolean>;
23
- help: import("@oclif/core/interfaces").BooleanFlag<void>;
24
- nointeractive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
25
- remove: import("@oclif/core/interfaces").BooleanFlag<boolean>;
26
- verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
27
- };
28
- /**
29
- *
30
- */
31
- run(): Promise<void>;
32
- }
@@ -1,185 +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
- *
11
- * esiste un comando per modernizzare le sorgenti:
12
- * sudo apt modernize-sources
13
- */
14
- import { Command, Flags } from '@oclif/core';
15
- import fs from 'node:fs';
16
- import path from 'node:path';
17
- import Distro from '../../classes/distro.js';
18
- import Utils from '../../classes/utils.js';
19
- import { exec } from '../../lib/utils.js';
20
- import Diversions from '../../classes/diversions.js';
21
- const ppaKey = '/usr/share/keyrings/penguins-eggs-ppa.gpg';
22
- // '/etc/apt/trusted.gpg.d/penguins-eggs-key.gpg'
23
- const ppaName = `/etc/apt/sources.list.d/penguins-eggs-ppa`;
24
- const ppaList = ppaName + '.list';
25
- const ppaSources = ppaName + '.sources';
26
- /**
27
- *
28
- */
29
- export default class Ppa extends Command {
30
- static description = 'add/remove repo';
31
- static examples = ['sudo eggs tools ppa --add', 'sudo eggs tools ppa --remove'];
32
- static flags = {
33
- add: Flags.boolean({ char: 'a', description: 'add penguins-eggs PPA repository' }),
34
- help: Flags.help({ char: 'h' }),
35
- nointeractive: Flags.boolean({ char: 'n', description: 'no user interaction' }),
36
- remove: Flags.boolean({ char: 'r', description: 'remove penguins-eggs PPA repository' }),
37
- verbose: Flags.boolean({ char: 'v', description: 'verbose' })
38
- };
39
- /**
40
- *
41
- */
42
- async run() {
43
- const { flags } = await this.parse(Ppa);
44
- Utils.titles(this.id + ' ' + this.argv);
45
- let verbose = false;
46
- if (flags.verbose) {
47
- verbose = true;
48
- }
49
- const { nointeractive } = flags;
50
- if (Utils.isRoot()) {
51
- const distro = new Distro();
52
- /**
53
- * Debian
54
- */
55
- if (distro.familyId === 'debian') {
56
- if (flags.add) {
57
- Utils.warning(`Are you sure to add source ${path.basename(ppaName)} to your repositories?`);
58
- if (nointeractive || (await Utils.customConfirm('Select yes to continue...'))) {
59
- // remove old penguins-eggs-ppa.list
60
- debianRemove();
61
- if (await is822()) {
62
- debianAdd822();
63
- }
64
- else {
65
- await debianAdd();
66
- }
67
- }
68
- }
69
- else if (flags.remove) {
70
- Utils.warning(`Are you sure to remove source ${path.basename(ppaName)} to your repositories?`);
71
- if (nointeractive || (await Utils.customConfirm('Select yes to continue...'))) {
72
- await debianRemove();
73
- }
74
- }
75
- await exec('apt-get update');
76
- /**
77
- * Arch and only Arch! no Manjaro...
78
- */
79
- }
80
- else if (distro.familyId === 'archlinux' && !Diversions.isManjaroBased(distro.distroId)) {
81
- if (flags.add) {
82
- Utils.warning(`Are you sure to add Chaotic-AUR to your repositories?`);
83
- if (await Utils.customConfirm('Select yes to continue...')) {
84
- await archAdd();
85
- }
86
- }
87
- else if (flags.remove) {
88
- Utils.warning(`Are you sure to remove Chaotic-AUR to your repositories?`);
89
- if (await Utils.customConfirm('Select yes to continue...')) {
90
- await archRemove();
91
- }
92
- }
93
- /**
94
- * Alle the others
95
- */
96
- }
97
- else {
98
- Utils.warning(`Distro: ${distro.distroId}/${distro.codenameId}, cannot use penguins-eggs-ppa nor chaotic-aur!`);
99
- }
100
- }
101
- }
102
- }
103
- /**
104
- * archAdd
105
- */
106
- async function archAdd() {
107
- const path = '/var/cache/pacman/pkg/';
108
- const keyring = 'chaotic-keyring.pkg.tar.zst';
109
- const mirrorlist = 'chaotic-mirrorlist.pkg.tar.zst';
110
- const echo = Utils.setEcho(true);
111
- if (fs.existsSync(path + keyring) && fs.existsSync(path + mirrorlist)) {
112
- console.log('repository Chaotic-AUR, already present!');
113
- await archRemove();
114
- process.exit();
115
- }
116
- await exec('pacman-key --recv-key FBA220DFC880C036 --keyserver keyserver.ubuntu.com', echo);
117
- await exec('pacman-key --lsign-key FBA220DFC880C036', echo);
118
- 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);
119
- // Append to /etc/pacman.conf
120
- const chaoticAppend = '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist\n\n';
121
- fs.appendFileSync('/etc/pacman.conf', chaoticAppend);
122
- }
123
- /**
124
- * archRemove
125
- */
126
- async function archRemove() {
127
- const path = '/var/cache/pacman/pkg/';
128
- const keyring = 'chaotic-keyring.pkg.tar.zst';
129
- const mirrorlist = 'chaotic-mirrorlist.pkg.tar.zst';
130
- const echo = Utils.setEcho(true);
131
- if (fs.existsSync(path + keyring) && fs.existsSync(path + mirrorlist)) {
132
- console.log('to remove chaotic-aur:\n');
133
- console.log(`sudo rm ${path}${keyring}`);
134
- console.log(`sudo rm ${path}${mirrorlist}`);
135
- console.log(`sudo nano /etc/pacman.conf`);
136
- console.log(`remove at the end:`);
137
- console.log(`[chaotic-aur]`);
138
- console.log(`Include = /etc/pacman.d/chaotic-mirrorlist`);
139
- }
140
- }
141
- /**
142
- * debianAdd822
143
- */
144
- async function debianAdd822() {
145
- await exec(`curl -sS https://pieroproietti.github.io/penguins-eggs-ppa/KEY.gpg| gpg --dearmor | sudo tee ${ppaKey} > /dev/null`);
146
- let content = '';
147
- content += 'Types: deb\n';
148
- content += 'URIs: https://pieroproietti.github.io/penguins-eggs-ppa\n';
149
- content += 'Suites: ./\n';
150
- content += 'Signed-By: /usr/share/keyrings/penguins-eggs-ppa.gpg\n';
151
- fs.writeFileSync(ppaSources, content);
152
- // crea un penguins-eggs-ppa.list vuoto
153
- await exec(`touch ${ppaList}`);
154
- }
155
- /**
156
- * debianAdd
157
- */
158
- async function debianAdd() {
159
- await exec(`curl -sS https://pieroproietti.github.io/penguins-eggs-ppa/KEY.gpg| gpg --dearmor | sudo tee ${ppaKey} > /dev/null`);
160
- const content = `deb [signed-by=${ppaKey}] https://pieroproietti.github.io/penguins-eggs-ppa ./\n`;
161
- fs.writeFileSync(ppaList, content);
162
- }
163
- /**
164
- * is822 (usa lo standard deb822 per le sorgenti)
165
- */
166
- async function is822() {
167
- await exec(`curl -sS https://pieroproietti.github.io/penguins-eggs-ppa/KEY.gpg| gpg --dearmor | sudo tee ${ppaKey} > /dev/null`);
168
- let retval = false;
169
- const test = `([ -f /etc/apt/sources.list.d/ubuntu.sources ] || [ -f /etc/apt/sources.list.d/debian.sources ]) && echo "1" || echo "0"`;
170
- const is822 = (await exec(test, { capture: true, echo: false, ignore: false }));
171
- if (is822.code === 0) {
172
- if (is822.data.trim() === '1') {
173
- retval = true;
174
- }
175
- }
176
- return retval;
177
- }
178
- /**
179
- * debianRemove
180
- */
181
- async function debianRemove() {
182
- await exec(`rm -f ${ppaKey}`);
183
- await exec(`rm -f ${ppaList}`);
184
- await exec(`rm -f ${ppaSources}`);
185
- }
@@ -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
- }
@@ -1,24 +0,0 @@
1
- /**
2
- * ./src/commands/tools/yolk.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 ToolsYolk extends Command {
13
- static description: string;
14
- static dir: string;
15
- static examples: string[];
16
- static flags: {
17
- help: import("@oclif/core/interfaces").BooleanFlag<void>;
18
- verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
- };
20
- /**
21
- *
22
- */
23
- run(): Promise<void>;
24
- }