penguins-eggs 9.2.6 → 9.3.1

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 (331) hide show
  1. package/.oclif.manifest.json +1 -0
  2. package/README.md +53 -31
  3. package/conf/distros/kinetic/README.md +41 -0
  4. package/conf/tools.yaml +1 -1
  5. package/{lib → dist}/classes/bleach.js +0 -0
  6. package/{lib → dist}/classes/compressors.js +0 -0
  7. package/{lib → dist}/classes/daddy.js +0 -0
  8. package/{lib → dist}/classes/distro.js +14 -30
  9. package/{lib → dist}/classes/family/archlinux.js +0 -0
  10. package/{lib → dist}/classes/family/debian.js +0 -0
  11. package/{lib → dist}/classes/family/fedora.js +0 -0
  12. package/{lib → dist}/classes/family/suse.js +0 -0
  13. package/{lib → dist}/classes/incubation/branding.js +0 -0
  14. package/{lib → dist}/classes/incubation/distros/bionic.js +0 -0
  15. package/{lib → dist}/classes/incubation/distros/buster.js +0 -0
  16. package/{lib → dist}/classes/incubation/distros/focal.js +0 -0
  17. package/{lib → dist}/classes/incubation/distros/jessie.js +0 -0
  18. package/{lib → dist}/classes/incubation/distros/rolling.js +0 -0
  19. package/{lib → dist}/classes/incubation/fisherman-helper/displaymanager.js +0 -0
  20. package/{lib → dist}/classes/incubation/fisherman-helper/packages.js +0 -0
  21. package/{lib → dist}/classes/incubation/fisherman.js +0 -0
  22. package/{lib → dist}/classes/incubation/incubator.js +9 -19
  23. package/{lib → dist}/classes/incubation/installer.js +0 -0
  24. package/{lib → dist}/classes/initrd.js +0 -0
  25. package/{lib → dist}/classes/keyboards.js +0 -0
  26. package/{lib → dist}/classes/locales.js +0 -0
  27. package/{lib → dist}/classes/n8.js +0 -0
  28. package/dist/classes/network.js +99 -0
  29. package/{lib → dist}/classes/ovary.js +0 -0
  30. package/{lib → dist}/classes/pacman.js +16 -1
  31. package/{lib → dist}/classes/pve-live.js +0 -0
  32. package/dist/classes/pxe.js +337 -0
  33. package/{lib → dist}/classes/settings.js +0 -0
  34. package/{lib → dist}/classes/sources_list.js +0 -0
  35. package/{lib → dist}/classes/systemctl.js +0 -0
  36. package/{lib → dist}/classes/tailor.js +0 -0
  37. package/{lib → dist}/classes/tools.js +0 -0
  38. package/{lib → dist}/classes/users.js +0 -0
  39. package/{lib → dist}/classes/utils.js +82 -17
  40. package/{lib → dist}/classes/xdg.js +27 -26
  41. package/{lib → dist}/classes/yolk.js +0 -0
  42. package/{lib → dist}/commands/adapt.js +0 -0
  43. package/{lib → dist}/commands/analyze.js +0 -0
  44. package/{lib → dist}/commands/calamares.js +0 -0
  45. package/{lib → dist}/commands/config.js +0 -0
  46. package/dist/commands/cuckoo.js +63 -0
  47. package/{lib → dist}/commands/dad.js +0 -0
  48. package/{lib → dist}/commands/export/deb.js +0 -0
  49. package/{lib → dist}/commands/export/docs.js +0 -0
  50. package/{lib → dist}/commands/export/iso.js +0 -0
  51. package/{lib → dist}/commands/install.js +26 -5
  52. package/{lib → dist}/commands/kill.js +0 -0
  53. package/{lib → dist}/commands/mom.js +0 -0
  54. package/{lib → dist}/commands/produce.js +0 -0
  55. package/{lib → dist}/commands/status.js +0 -0
  56. package/{lib → dist}/commands/syncfrom.js +0 -0
  57. package/{lib → dist}/commands/syncto.js +0 -0
  58. package/{lib → dist}/commands/tools/clean.js +0 -0
  59. package/dist/commands/tools/ppa.js +82 -0
  60. package/{lib → dist}/commands/tools/skel.js +0 -0
  61. package/{lib → dist}/commands/tools/stat.js +0 -0
  62. package/{lib → dist}/commands/tools/yolk.js +0 -0
  63. package/{lib → dist}/commands/update.js +0 -0
  64. package/{lib → dist}/commands/wardrobe/get.js +0 -0
  65. package/{lib → dist}/commands/wardrobe/ironing.js +0 -0
  66. package/{lib → dist}/commands/wardrobe/list.js +0 -0
  67. package/{lib → dist}/commands/wardrobe/show.js +0 -0
  68. package/{lib → dist}/commands/wardrobe/wear.js +0 -0
  69. package/{lib → dist}/components/elements/information.js +0 -0
  70. package/{lib → dist}/components/elements/steps.js +0 -0
  71. package/{lib → dist}/components/elements/title.js +0 -0
  72. package/{lib → dist}/components/finished.js +0 -0
  73. package/{lib → dist}/components/install.js +0 -0
  74. package/{lib → dist}/components/keyboard.js +0 -0
  75. package/{lib → dist}/components/location.js +0 -0
  76. package/{lib → dist}/components/network.js +0 -0
  77. package/{lib → dist}/components/partitions.js +0 -0
  78. package/{lib → dist}/components/summary.js +2 -2
  79. package/{lib → dist}/components/users.js +0 -0
  80. package/{lib → dist}/components/welcome.js +0 -0
  81. package/dist/dhcpd/dhcpd.js +222 -0
  82. package/dist/dhcpd/index.js +7 -0
  83. package/dist/dhcpd/packet/converters.js +377 -0
  84. package/dist/dhcpd/packet/options.js +2 -0
  85. package/dist/dhcpd/packet/types.js +2 -0
  86. package/dist/dhcpd/packet.js +251 -0
  87. package/dist/dhcpd/proxy.js +152 -0
  88. package/dist/dhcpd/server.js +152 -0
  89. package/dist/dhcpd/sprintf.js +170 -0
  90. package/dist/dhcpd/utils.js +190 -0
  91. package/{lib → dist}/index.js +0 -0
  92. package/{lib → dist}/interfaces/i-addons.js +0 -0
  93. package/{lib → dist}/interfaces/i-analyze.js +0 -0
  94. package/{lib → dist}/interfaces/i-app.js +0 -0
  95. package/{lib → dist}/interfaces/i-branding.js +0 -0
  96. package/{lib → dist}/interfaces/i-config-tools.js +0 -0
  97. package/{lib → dist}/interfaces/i-devices.js +0 -0
  98. package/{lib → dist}/interfaces/i-distro.js +0 -0
  99. package/{lib → dist}/interfaces/i-drive-list.js +0 -0
  100. package/{lib → dist}/interfaces/i-eggs-config.js +0 -0
  101. package/{lib → dist}/interfaces/i-exec.js +0 -0
  102. package/{lib → dist}/interfaces/i-initrd.js +0 -0
  103. package/{lib → dist}/interfaces/i-install.js +0 -0
  104. package/{lib → dist}/interfaces/i-installer.js +0 -0
  105. package/{lib → dist}/interfaces/i-krill-config.js +0 -0
  106. package/{lib → dist}/interfaces/i-krill.js +0 -0
  107. package/{lib → dist}/interfaces/i-materia.js +0 -0
  108. package/{lib → dist}/interfaces/i-net.js +0 -0
  109. package/{lib → dist}/interfaces/i-packages.js +0 -0
  110. package/{lib → dist}/interfaces/i-partitions.js +0 -0
  111. package/{lib/interfaces/i-remix.js → dist/interfaces/i-pxe-options.js} +0 -0
  112. package/{lib/interfaces/i-settings.js → dist/interfaces/i-remix.js} +0 -0
  113. package/{lib/interfaces/i-user.js → dist/interfaces/i-settings.js} +0 -0
  114. package/{lib/interfaces/i-workdir.js → dist/interfaces/i-user.js} +0 -0
  115. package/{lib/interfaces/i-xkb-model.js → dist/interfaces/i-workdir.js} +0 -0
  116. package/{lib/interfaces/index.js → dist/interfaces/i-xkb-model.js} +0 -0
  117. package/dist/interfaces/index.js +2 -0
  118. package/{lib → dist}/krill/krill-prepare.js +20 -4
  119. package/{lib → dist}/krill/krill-sequence.js +64 -62
  120. package/{lib → dist}/krill/modules/add-user.js +0 -0
  121. package/{lib → dist}/krill/modules/bootloader-config-ubuntu.js +0 -0
  122. package/{lib → dist}/krill/modules/bootloader-config.js +1 -1
  123. package/{lib → dist}/krill/modules/bootloader.js +0 -5
  124. package/{lib → dist}/krill/modules/change-password.js +0 -0
  125. package/{lib → dist}/krill/modules/del-live-user.js +0 -0
  126. package/{lib → dist}/krill/modules/fstab.js +0 -0
  127. package/{lib → dist}/krill/modules/grubcfg.js +0 -0
  128. package/{lib → dist}/krill/modules/hostname.js +2 -2
  129. package/{lib → dist}/krill/modules/initramfs-cfg.js +0 -0
  130. package/{lib → dist}/krill/modules/initramfs.js +0 -0
  131. package/{lib → dist}/krill/modules/locale-cfg.js +0 -0
  132. package/{lib → dist}/krill/modules/locale.js +1 -1
  133. package/{lib/krill/modules/set-keyboard.js → dist/krill/modules/m-keyboard.js} +7 -3
  134. package/{lib/krill/modules/set-timezone.js → dist/krill/modules/m-timezone.js} +2 -2
  135. package/{lib → dist}/krill/modules/machine-id.js +0 -0
  136. package/{lib → dist}/krill/modules/mkfs.js +0 -0
  137. package/{lib → dist}/krill/modules/mount-fs.js +0 -0
  138. package/{lib → dist}/krill/modules/mount-vfs.js +0 -0
  139. package/{lib → dist}/krill/modules/network-cfg.js +0 -0
  140. package/{lib → dist}/krill/modules/packages.js +0 -0
  141. package/{lib → dist}/krill/modules/partition.js +1 -1
  142. package/{lib → dist}/krill/modules/remove-installer-link.js +0 -0
  143. package/{lib → dist}/krill/modules/umount.js +0 -0
  144. package/{lib → dist}/krill/modules/unpackfs.js +0 -0
  145. package/{lib → dist}/lib/cli-autologin.js +0 -0
  146. package/{lib → dist}/lib/dependencies.js +1 -0
  147. package/{lib → dist}/lib/get_address.js +0 -0
  148. package/{lib → dist}/lib/get_dns.js +0 -0
  149. package/{lib → dist}/lib/get_domain.js +0 -0
  150. package/{lib → dist}/lib/get_gateway.js +0 -0
  151. package/{lib → dist}/lib/get_hostname.js +0 -0
  152. package/{lib → dist}/lib/get_netmask.js +0 -0
  153. package/{lib → dist}/lib/get_password.js +0 -0
  154. package/{lib → dist}/lib/get_root_password.js +0 -0
  155. package/{lib → dist}/lib/get_userfullname.js +0 -0
  156. package/{lib → dist}/lib/get_username.js +0 -0
  157. package/{lib → dist}/lib/select_address_type.js +0 -0
  158. package/{lib → dist}/lib/select_filesystem_type.js +0 -0
  159. package/{lib → dist}/lib/select_installation_device.js +0 -0
  160. package/{lib → dist}/lib/select_installation_mode.js +0 -0
  161. package/{lib → dist}/lib/select_interface.js +0 -0
  162. package/{lib → dist}/lib/select_keyboard_layout.js +0 -0
  163. package/{lib → dist}/lib/select_keyboard_model.js +0 -0
  164. package/{lib → dist}/lib/select_keyboard_option.js +0 -0
  165. package/{lib → dist}/lib/select_keyboard_variant.js +0 -0
  166. package/{lib → dist}/lib/select_languages.js +0 -0
  167. package/{lib → dist}/lib/select_regions.js +0 -0
  168. package/{lib → dist}/lib/select_user_swap_choice.js +0 -0
  169. package/{lib → dist}/lib/select_zones.js +0 -0
  170. package/{lib → dist}/lib/utils.js +1 -2
  171. package/ipxe/ipxe.efi +0 -0
  172. package/package.json +21 -18
  173. package/scripts/_eggs +11 -7
  174. package/scripts/eggs.bash +2 -2
  175. package/lib/classes/bleach.d.ts +0 -40
  176. package/lib/classes/compressors.d.ts +0 -24
  177. package/lib/classes/daddy.d.ts +0 -11
  178. package/lib/classes/distro.d.ts +0 -31
  179. package/lib/classes/family/archlinux.d.ts +0 -69
  180. package/lib/classes/family/debian.d.ts +0 -68
  181. package/lib/classes/family/fedora.d.ts +0 -63
  182. package/lib/classes/family/suse.d.ts +0 -63
  183. package/lib/classes/incubation/branding.d.ts +0 -8
  184. package/lib/classes/incubation/distros/bionic.d.ts +0 -29
  185. package/lib/classes/incubation/distros/buster.d.ts +0 -31
  186. package/lib/classes/incubation/distros/focal.d.ts +0 -29
  187. package/lib/classes/incubation/distros/jessie.d.ts +0 -32
  188. package/lib/classes/incubation/distros/rolling.d.ts +0 -31
  189. package/lib/classes/incubation/fisherman-helper/displaymanager.d.ts +0 -7
  190. package/lib/classes/incubation/fisherman-helper/packages.d.ts +0 -19
  191. package/lib/classes/incubation/fisherman.d.ts +0 -77
  192. package/lib/classes/incubation/incubator.d.ts +0 -35
  193. package/lib/classes/incubation/installer.d.ts +0 -15
  194. package/lib/classes/initrd.d.ts +0 -42
  195. package/lib/classes/keyboards.d.ts +0 -43
  196. package/lib/classes/locales.d.ts +0 -14
  197. package/lib/classes/n8.d.ts +0 -16
  198. package/lib/classes/ovary.d.ts +0 -179
  199. package/lib/classes/pacman.d.ts +0 -164
  200. package/lib/classes/pve-live.d.ts +0 -42
  201. package/lib/classes/pxe.d.ts +0 -64
  202. package/lib/classes/pxe.js +0 -376
  203. package/lib/classes/settings.d.ts +0 -55
  204. package/lib/classes/sources_list.d.ts +0 -27
  205. package/lib/classes/systemctl.d.ts +0 -46
  206. package/lib/classes/tailor.d.ts +0 -43
  207. package/lib/classes/tools.d.ts +0 -29
  208. package/lib/classes/users.d.ts +0 -21
  209. package/lib/classes/utils.d.ts +0 -299
  210. package/lib/classes/xdg.d.ts +0 -44
  211. package/lib/classes/yolk.d.ts +0 -26
  212. package/lib/commands/adapt.d.ts +0 -9
  213. package/lib/commands/analyze.d.ts +0 -25
  214. package/lib/commands/calamares.d.ts +0 -26
  215. package/lib/commands/config.d.ts +0 -34
  216. package/lib/commands/cuckoo.d.ts +0 -24
  217. package/lib/commands/cuckoo.js +0 -70
  218. package/lib/commands/dad.d.ts +0 -17
  219. package/lib/commands/export/deb.d.ts +0 -14
  220. package/lib/commands/export/docs.d.ts +0 -8
  221. package/lib/commands/export/iso.d.ts +0 -13
  222. package/lib/commands/install.d.ts +0 -26
  223. package/lib/commands/kill.d.ts +0 -20
  224. package/lib/commands/mom.d.ts +0 -14
  225. package/lib/commands/produce.d.ts +0 -28
  226. package/lib/commands/status.d.ts +0 -18
  227. package/lib/commands/syncfrom.d.ts +0 -42
  228. package/lib/commands/syncto.d.ts +0 -67
  229. package/lib/commands/tools/clean.d.ts +0 -15
  230. package/lib/commands/tools/skel.d.ts +0 -17
  231. package/lib/commands/tools/stat.d.ts +0 -14
  232. package/lib/commands/tools/yolk.d.ts +0 -23
  233. package/lib/commands/update.d.ts +0 -46
  234. package/lib/commands/wardrobe/get.d.ts +0 -17
  235. package/lib/commands/wardrobe/ironing.d.ts +0 -18
  236. package/lib/commands/wardrobe/list.d.ts +0 -17
  237. package/lib/commands/wardrobe/show.d.ts +0 -19
  238. package/lib/commands/wardrobe/wear.d.ts +0 -21
  239. package/lib/components/elements/information.d.ts +0 -4
  240. package/lib/components/elements/steps.d.ts +0 -6
  241. package/lib/components/elements/title.d.ts +0 -4
  242. package/lib/components/finished.d.ts +0 -8
  243. package/lib/components/install.d.ts +0 -8
  244. package/lib/components/keyboard.d.ts +0 -12
  245. package/lib/components/location.d.ts +0 -12
  246. package/lib/components/network.d.ts +0 -12
  247. package/lib/components/partitions.d.ts +0 -9
  248. package/lib/components/summary.d.ts +0 -16
  249. package/lib/components/users.d.ts +0 -20
  250. package/lib/components/welcome.d.ts +0 -6
  251. package/lib/index.d.ts +0 -1
  252. package/lib/interfaces/i-addons.d.ts +0 -8
  253. package/lib/interfaces/i-analyze.d.ts +0 -13
  254. package/lib/interfaces/i-app.d.ts +0 -7
  255. package/lib/interfaces/i-branding.d.ts +0 -29
  256. package/lib/interfaces/i-config-tools.d.ts +0 -11
  257. package/lib/interfaces/i-devices.d.ts +0 -13
  258. package/lib/interfaces/i-distro.d.ts +0 -19
  259. package/lib/interfaces/i-drive-list.d.ts +0 -29
  260. package/lib/interfaces/i-eggs-config.d.ts +0 -24
  261. package/lib/interfaces/i-exec.d.ts +0 -4
  262. package/lib/interfaces/i-initrd.d.ts +0 -6
  263. package/lib/interfaces/i-install.d.ts +0 -9
  264. package/lib/interfaces/i-installer.d.ts +0 -20
  265. package/lib/interfaces/i-krill-config.d.ts +0 -26
  266. package/lib/interfaces/i-krill.d.ts +0 -35
  267. package/lib/interfaces/i-materia.d.ts +0 -36
  268. package/lib/interfaces/i-net.d.ts +0 -9
  269. package/lib/interfaces/i-packages.d.ts +0 -10
  270. package/lib/interfaces/i-partitions.d.ts +0 -9
  271. package/lib/interfaces/i-remix.d.ts +0 -14
  272. package/lib/interfaces/i-settings.d.ts +0 -10
  273. package/lib/interfaces/i-user.d.ts +0 -7
  274. package/lib/interfaces/i-workdir.d.ts +0 -8
  275. package/lib/interfaces/i-xkb-model.d.ts +0 -17
  276. package/lib/interfaces/index.d.ts +0 -17
  277. package/lib/krill/krill-prepare.d.ts +0 -60
  278. package/lib/krill/krill-sequence.d.ts +0 -150
  279. package/lib/krill/modules/add-user.d.ts +0 -15
  280. package/lib/krill/modules/bootloader-config-arch.d.ts +0 -9
  281. package/lib/krill/modules/bootloader-config-arch.js +0 -13
  282. package/lib/krill/modules/bootloader-config-ubuntu.d.ts +0 -9
  283. package/lib/krill/modules/bootloader-config.d.ts +0 -9
  284. package/lib/krill/modules/bootloader.d.ts +0 -10
  285. package/lib/krill/modules/change-password.d.ts +0 -10
  286. package/lib/krill/modules/del-live-user.d.ts +0 -9
  287. package/lib/krill/modules/fstab.d.ts +0 -14
  288. package/lib/krill/modules/grubcfg.d.ts +0 -17
  289. package/lib/krill/modules/hostname.d.ts +0 -13
  290. package/lib/krill/modules/initramfs-cfg.d.ts +0 -14
  291. package/lib/krill/modules/initramfs.d.ts +0 -13
  292. package/lib/krill/modules/locale-cfg.d.ts +0 -10
  293. package/lib/krill/modules/locale.d.ts +0 -13
  294. package/lib/krill/modules/machine-id.d.ts +0 -15
  295. package/lib/krill/modules/mkfs.d.ts +0 -13
  296. package/lib/krill/modules/mount-fs.d.ts +0 -17
  297. package/lib/krill/modules/mount-vfs.d.ts +0 -17
  298. package/lib/krill/modules/network-cfg.d.ts +0 -19
  299. package/lib/krill/modules/packages.d.ts +0 -14
  300. package/lib/krill/modules/partition.d.ts +0 -20
  301. package/lib/krill/modules/remove-installer-link.d.ts +0 -13
  302. package/lib/krill/modules/set-keyboard.d.ts +0 -10
  303. package/lib/krill/modules/set-timezone.d.ts +0 -14
  304. package/lib/krill/modules/umount.d.ts +0 -14
  305. package/lib/krill/modules/unpackfs.d.ts +0 -13
  306. package/lib/lib/cli-autologin.d.ts +0 -27
  307. package/lib/lib/dependencies.d.ts +0 -49
  308. package/lib/lib/get_address.d.ts +0 -1
  309. package/lib/lib/get_dns.d.ts +0 -1
  310. package/lib/lib/get_domain.d.ts +0 -1
  311. package/lib/lib/get_gateway.d.ts +0 -1
  312. package/lib/lib/get_hostname.d.ts +0 -1
  313. package/lib/lib/get_netmask.d.ts +0 -1
  314. package/lib/lib/get_password.d.ts +0 -1
  315. package/lib/lib/get_root_password.d.ts +0 -1
  316. package/lib/lib/get_userfullname.d.ts +0 -1
  317. package/lib/lib/get_username.d.ts +0 -1
  318. package/lib/lib/select_address_type.d.ts +0 -1
  319. package/lib/lib/select_filesystem_type.d.ts +0 -1
  320. package/lib/lib/select_installation_device.d.ts +0 -1
  321. package/lib/lib/select_installation_mode.d.ts +0 -1
  322. package/lib/lib/select_interface.d.ts +0 -1
  323. package/lib/lib/select_keyboard_layout.d.ts +0 -4
  324. package/lib/lib/select_keyboard_model.d.ts +0 -4
  325. package/lib/lib/select_keyboard_option.d.ts +0 -4
  326. package/lib/lib/select_keyboard_variant.d.ts +0 -4
  327. package/lib/lib/select_languages.d.ts +0 -1
  328. package/lib/lib/select_regions.d.ts +0 -1
  329. package/lib/lib/select_user_swap_choice.d.ts +0 -1
  330. package/lib/lib/select_zones.d.ts +0 -1
  331. package/lib/lib/utils.d.ts +0 -43
@@ -216,7 +216,7 @@ class Pacman {
216
216
  return retVal;
217
217
  }
218
218
  /**
219
- * Torna verso se calamares è installato
219
+ * return true if calamares is installed
220
220
  */
221
221
  static async calamaresCheck() {
222
222
  let installed = true;
@@ -587,6 +587,21 @@ class Pacman {
587
587
  await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/removeuser.yml ${dest}/calamares/modules/removeuser.yml`, echo);
588
588
  await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
589
589
  await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/displaymanager.yml ${dest}/calamares/modules/displaymanager.yml`, echo);
590
+ /**
591
+ * Ubuntu 22.10 kinetic: eredita da focal e buster
592
+ */
593
+ }
594
+ else if (this.distro().codenameLikeId === 'kinetic') {
595
+ const dest = '/etc/penguins-eggs.d/distros/kinetic';
596
+ const focal = `${rootPen}/conf/distros/focal/*`;
597
+ await (0, utils_2.exec)(`cp -r ${focal} ${dest}`, echo);
598
+ await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
599
+ await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
600
+ await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-unmount ${dest}/calamares/calamares-modules/sources-yolk-unmount`, echo);
601
+ await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/packages.yml ${dest}/calamares/modules/packages.yml`, echo);
602
+ await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/removeuser.yml ${dest}/calamares/modules/removeuser.yml`, echo);
603
+ await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
604
+ await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/displaymanager.yml ${dest}/calamares/modules/displaymanager.yml`, echo);
590
605
  /***********************************************************************************
591
606
  * Fedora
592
607
  **********************************************************************************/
File without changes
@@ -0,0 +1,337 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ /**
5
+ * penguins-eggs: pxe.ts
6
+ * author: Piero Proietti
7
+ * mail: piero.proietti@gmail.com
8
+ */
9
+ const fs_1 = tslib_1.__importDefault(require("fs"));
10
+ const node_static_1 = tslib_1.__importDefault(require("node-static"));
11
+ const http_1 = tslib_1.__importDefault(require("http"));
12
+ const node_path_1 = tslib_1.__importDefault(require("node:path"));
13
+ const utils_1 = tslib_1.__importDefault(require("./utils"));
14
+ const distro_1 = tslib_1.__importDefault(require("./distro"));
15
+ const settings_1 = tslib_1.__importDefault(require("./settings"));
16
+ const utils_2 = require("../lib/utils");
17
+ const tftp = require('tftp');
18
+ const dhcpd = require('../dhcpd/dhcpd');
19
+ /**
20
+ * Pxe:
21
+ */
22
+ class Pxe {
23
+ constructor() {
24
+ this.verbose = false;
25
+ this.echo = {};
26
+ this.settings = {};
27
+ this.bootLabel = '';
28
+ this.nest = ''; // cuckoo's nest
29
+ this.pxeRoot = '';
30
+ this.eggRoot = '';
31
+ this.vmlinuz = '';
32
+ this.initrd = '';
33
+ this.isos = [];
34
+ }
35
+ /**
36
+ * fertilization()
37
+ *
38
+ * cuckoo's nest
39
+ */
40
+ async fertilization() {
41
+ this.settings = new settings_1.default();
42
+ await this.settings.load();
43
+ if (utils_1.default.isLive()) {
44
+ this.eggRoot = this.settings.distro.liveMediumPath;
45
+ }
46
+ else {
47
+ this.eggRoot = node_path_1.default.dirname(this.settings.work_dir.path) + '/ovarium/iso/';
48
+ }
49
+ if (!utils_1.default.isLive() && !fs_1.default.existsSync(this.settings.work_dir.path)) {
50
+ console.log('no image available, build an image with: sudo eggs produce');
51
+ process.exit();
52
+ }
53
+ this.nest = '/home/eggs';
54
+ this.pxeRoot = this.nest + '/pxe';
55
+ // console.log('nest: ' + this.nest)
56
+ // console.log('pxeRoot: ' + this.pxeRoot)
57
+ // console.log('eggRoot: ' + this.eggRoot)
58
+ /**
59
+ * se pxeRoot non esiste viene creato
60
+ */
61
+ if (!fs_1.default.existsSync(this.pxeRoot)) {
62
+ await (0, utils_2.exec)(`mkdir ${this.pxeRoot} -p`);
63
+ }
64
+ /**
65
+ * Ricerca delle uova
66
+ */
67
+ let isos = [];
68
+ if (!utils_1.default.isLive()) {
69
+ let isos = fs_1.default.readdirSync(this.nest);
70
+ for (const iso of isos) {
71
+ if (node_path_1.default.extname(iso) === ".iso") {
72
+ this.isos.push(iso);
73
+ }
74
+ this.isos = this.isos.sort();
75
+ }
76
+ }
77
+ /**
78
+ * installed: /home/eggs/ovarium/iso/live
79
+ * live: this.iso/live
80
+ */
81
+ let pathFiles = this.eggRoot + '/live';
82
+ let files = fs_1.default.readdirSync(pathFiles);
83
+ for (const file of files) {
84
+ if (this.settings.distro.familyId === 'debian') {
85
+ if (node_path_1.default.basename(file).substring(0, 7) === 'vmlinuz') {
86
+ this.vmlinuz = node_path_1.default.basename(file);
87
+ }
88
+ if (node_path_1.default.basename(file).substring(0, 6) === 'initrd') {
89
+ this.initrd = node_path_1.default.basename(file);
90
+ }
91
+ }
92
+ else if (this.settings.distro.familyId === 'archlinux') {
93
+ if (node_path_1.default.basename(file).substring(0, 7) === 'vmlinuz') {
94
+ this.vmlinuz = node_path_1.default.basename(file);
95
+ }
96
+ if (node_path_1.default.basename(file) === 'initramfs-linux.img') {
97
+ this.initrd = node_path_1.default.basename(file);
98
+ }
99
+ }
100
+ }
101
+ /**
102
+ * bootLabel
103
+ */
104
+ const a = fs_1.default.readFileSync(this.eggRoot + '/.disk/mkisofs', "utf-8");
105
+ const b = a.substring(a.indexOf('-o ') + 3);
106
+ const c = b.substring(0, b.indexOf(' '));
107
+ this.bootLabel = c.substring(c.lastIndexOf('/') + 1);
108
+ console.log(this.bootLabel);
109
+ console.log(this.vmlinuz);
110
+ console.log(this.initrd);
111
+ }
112
+ /**
113
+ * build
114
+ */
115
+ async build() {
116
+ if (fs_1.default.existsSync(this.pxeRoot)) {
117
+ await this.tryCatch(`rm ${this.pxeRoot} -rf`);
118
+ }
119
+ await this.tryCatch(`mkdir ${this.pxeRoot} -p`);
120
+ await this.tryCatch(`mkdir ${this.pxeRoot} -p`);
121
+ await this.tryCatch(`ln -s ${this.eggRoot}/live ${this.pxeRoot}/live`);
122
+ await this.tryCatch(`ln -s ${this.nest}.disk ${this.pxeRoot}/.disk`);
123
+ if (fs_1.default.existsSync(this.eggRoot)) {
124
+ await this.tryCatch(`cp ${this.eggRoot}live/${this.vmlinuz} ${this.pxeRoot}/vmlinuz`);
125
+ await this.tryCatch(`chmod 777 ${this.pxeRoot}/vmlinuz`);
126
+ await this.tryCatch(`cp ${this.eggRoot}live/${this.initrd} ${this.pxeRoot}/initrd`);
127
+ await this.tryCatch(`chmod 777 ${this.pxeRoot}/initrd`);
128
+ }
129
+ // link iso images in pxe
130
+ for (const iso of this.isos) {
131
+ await this.tryCatch(`ln -s ${this.nest}/${iso} ${this.pxeRoot}/${iso}`);
132
+ }
133
+ await this.bios();
134
+ await this.ipxe();
135
+ await this.http();
136
+ }
137
+ /**
138
+ * configure PXE bios
139
+ */
140
+ async bios() {
141
+ console.log('creating cuckoo configuration pxe: BIOS');
142
+ await this.tryCatch(`cp ${__dirname}/../../addons/eggs/theme/livecd/isolinux.theme.cfg ${this.pxeRoot}/isolinux.theme.cfg`);
143
+ await this.tryCatch(`cp ${__dirname}/../../addons/eggs/theme/livecd/splash.png ${this.pxeRoot}/splash.png`);
144
+ /**
145
+ * ipxe.efi
146
+ */
147
+ await this.tryCatch(`ln -s ${__dirname}/../../ipxe/ipxe.efi ${this.pxeRoot}/ipxe.efi`);
148
+ // pxe
149
+ const distro = new distro_1.default();
150
+ await this.tryCatch(`ln -s ${distro.pxelinuxPath}pxelinux.0 ${this.pxeRoot}/pxelinux.0`);
151
+ await this.tryCatch(`ln -s ${distro.pxelinuxPath}lpxelinux.0 ${this.pxeRoot}/lpxelinux.0`);
152
+ // syslinux
153
+ await this.tryCatch(`ln -s ${distro.syslinuxPath}ldlinux.c32 ${this.pxeRoot}/ldlinux.c32`);
154
+ await this.tryCatch(`ln -s ${distro.syslinuxPath}vesamenu.c32 ${this.pxeRoot}/vesamenu.c32`);
155
+ await this.tryCatch(`ln -s ${distro.syslinuxPath}libcom32.c32 ${this.pxeRoot}/libcom32.c32`);
156
+ await this.tryCatch(`ln -s ${distro.syslinuxPath}libutil.c32 ${this.pxeRoot}/libutil.c32`);
157
+ await this.tryCatch(`ln -s ${distro.memdiskPath}memdisk ${this.pxeRoot}/memdisk`);
158
+ await this.tryCatch(`mkdir ${this.pxeRoot}/pxelinux.cfg`);
159
+ let content = ``;
160
+ content += `# eggs: pxelinux.cfg/default\n`;
161
+ content += `# search path for the c32 support libraries (libcom32, libutil etc.)\n`;
162
+ content += `path\n`;
163
+ content += `include isolinux.theme.cfg\n`;
164
+ content += `UI vesamenu.c32\n`;
165
+ content += `\n`;
166
+ content += `menu title cuckoo: when you need a flying PXE server! ${utils_1.default.address()}\n`;
167
+ content += `PROMPT 0\n`;
168
+ content += `TIMEOUT 0\n`;
169
+ content += `\n`;
170
+ content += `label egg\n`;
171
+ content += `menu label ${this.bootLabel}\n`;
172
+ let clid = this.settings.distro.codenameLikeId;
173
+ if (clid === 'bionic' || clid === 'stretch' || clid === 'jessie') {
174
+ content += `kernel vmlinuz\n`;
175
+ content += `append initrd=initrd boot=live config noswap noprompt fetch=http://${utils_1.default.address()}/live/filesystem.squashfs\n`;
176
+ }
177
+ else {
178
+ content += `kernel http://${utils_1.default.address()}/vmlinuz\n`;
179
+ content += `append initrd=http://${utils_1.default.address()}/initrd boot=live config noswap noprompt fetch=http://${utils_1.default.address()}/live/filesystem.squashfs\n`;
180
+ }
181
+ content += `SYSAPPEND 3\n`;
182
+ content += `\n`;
183
+ if (this.isos.length > 0) {
184
+ content += `menu separator\n`;
185
+ for (const iso of this.isos) {
186
+ content += `\n`;
187
+ content += `label ${iso}\n`;
188
+ content += `menu label ${iso}\n`;
189
+ content += `kernel http://${utils_1.default.address()}/memdisk\n`;
190
+ content += `initrd http://${utils_1.default.address()}/${iso}\n`;
191
+ content += `append iso raw\n`;
192
+ }
193
+ }
194
+ let file = `${this.pxeRoot}/pxelinux.cfg/default`;
195
+ fs_1.default.writeFileSync(file, content);
196
+ }
197
+ /**
198
+ *
199
+ */
200
+ async ipxe() {
201
+ console.log('creating cuckoo configuration pxe: UEFI');
202
+ let content = "#!ipxe\n";
203
+ content += `dhcp\n`;
204
+ content += `set net0/ip=dhcp\n`;
205
+ content += `console --picture http://${utils_1.default.address()}/splash.png -x 1024 -y 768\n`;
206
+ content += "goto start ||\n";
207
+ content += "\n";
208
+ content += ':start\n';
209
+ content += `set server_root http://${utils_1.default.address()}:80/\n`;
210
+ const serverRootVars = '${server_root}';
211
+ content += `menu cuckoo: when you need a flying PXE server! ${utils_1.default.address()}\n`;
212
+ content += 'item --gap boot from ovarium\n';
213
+ content += `item egg-menu \${space} ${this.bootLabel.replaceAll('.iso', '')}\n\n`;
214
+ if (this.isos.length > 0) {
215
+ content += 'item --gap boot iso images\n';
216
+ for (const iso of this.isos) {
217
+ const menu = iso;
218
+ const label = menu;
219
+ content += `item ${menu} \${space} ${label}\n\n`;
220
+ }
221
+ }
222
+ content += 'item --gap boot from internet\n';
223
+ content += `item netboot \${space} netboot\n`;
224
+ content += 'choose target || goto start\n';
225
+ content += 'goto ${target}\n';
226
+ content += '\n';
227
+ content += `:egg-menu\n`;
228
+ content += `kernel http://${utils_1.default.address()}/vmlinuz\n`;
229
+ content += `initrd http://${utils_1.default.address()}/initrd\n`;
230
+ /**
231
+ * CORRECT:
232
+ * content += `imgargs vmlinuz fetch=http://${Utils.address()}/live/filesystem.squashfs boot=live dhcp initrd=initrd ro\n`
233
+ */
234
+ content += `imgargs vmlinuz fetch=http://${utils_1.default.address()}/live/filesystem.squashfs boot=live dhcp initrd=initrd ro\n`;
235
+ content += `sleep 5\n`;
236
+ content += `boot || goto start\n\n`;
237
+ if (this.isos.length > 0) {
238
+ for (const iso of this.isos) {
239
+ const menu = iso.replace('.iso', '');
240
+ content += `:${menu}\n`;
241
+ content += `sanboot ${serverRootVars}/${iso}\n`;
242
+ content += `boot || goto start\n\n`;
243
+ }
244
+ }
245
+ /**
246
+ * netboot.xyz
247
+ */
248
+ content += `:netboot\n`;
249
+ content += `ifopen net0\n`;
250
+ content += `set conn_type https\n`;
251
+ content += `chain --autofree https://boot.netboot.xyz/menu.ipxe || echo HTTPS failed... attempting HTTP...\n`;
252
+ content += `set conn_type http\n`;
253
+ content += `chain --autofree http://boot.netboot.xyz/menu.ipxe || echo HTTP failed, localbooting...\n`;
254
+ content += `goto start\n\n`;
255
+ let file = `${this.pxeRoot}/autoexec.ipxe`;
256
+ fs_1.default.writeFileSync(file, content);
257
+ }
258
+ /**
259
+ * configure PXE http server
260
+ */
261
+ async http() {
262
+ console.log('creating cuckoo configuration: PXE html');
263
+ let file = `${this.pxeRoot}/index.html`;
264
+ let content = ``;
265
+ content += `<html><title>Penguin's eggs PXE server</title>`;
266
+ content += `<div style="background-image:url('/splash.png');background-repeat:no-repeat;width: 640;height:480;padding:5px;border:1px solid black;">`;
267
+ content += `<h1>Cucko PXE server</h1>`;
268
+ content += `<body>address: <a href=http://${utils_1.default.address()}>${utils_1.default.address()}</a><br/>`;
269
+ if (!utils_1.default.isLive()) {
270
+ content += `Serving:<li>`;
271
+ for (const iso of this.isos) {
272
+ content += `<ul><a href='http://${utils_1.default.address()}/${iso}'>${iso}</a></ul>`;
273
+ }
274
+ content += `</li>`;
275
+ }
276
+ else {
277
+ content += `started from live iso image<br/>`;
278
+ }
279
+ content += `source: <a href='https://github.com/pieroproietti/penguins-eggs'>https://github.com/pieroproietti/penguins-eggs</a><br/>`;
280
+ content += `manual: <a href='https://penguins-eggs.net/book/italiano9.2.html'>italiano</a>, <a href='https://penguins--eggs-net.translate.goog/book/italiano9.2?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en'>translated</a><br/>`;
281
+ content += `discuss: <a href='https://t.me/penguins_eggs'>Telegram group<br/></body</html>`;
282
+ fs_1.default.writeFileSync(file, content);
283
+ }
284
+ /**
285
+ *
286
+ * @param dhcpOptions
287
+ */
288
+ dhcpStart(dhcpOptions) {
289
+ let dhcpdProxy = new dhcpd(dhcpOptions);
290
+ }
291
+ /**
292
+ * start http server for images
293
+ *
294
+ */
295
+ async httpStart() {
296
+ const port = 80;
297
+ const httpRoot = this.pxeRoot + "/";
298
+ console.log(`http listening: 0.0.0.0:` + port);
299
+ var file = new (node_static_1.default.Server)(httpRoot);
300
+ http_1.default.createServer(function (req, res) {
301
+ file.serve(req, res);
302
+ }).listen(port);
303
+ }
304
+ /**
305
+ * start tftp
306
+ */
307
+ async tftpStart(tftpOptions) {
308
+ let tftpServer = tftp.createServer(tftpOptions);
309
+ tftpServer.on("error", function (error) {
310
+ // Errors from the main socket
311
+ // The current transfers are not aborted
312
+ console.error(error);
313
+ });
314
+ tftpServer.on("request", function (req, res) {
315
+ req.on("error", function (error) {
316
+ //Error from the request
317
+ //The connection is already closed
318
+ console.error("[" + req.stats.remoteAddress + ":" + req.stats.remotePort + "] (" + req.file + ") " + error.message);
319
+ });
320
+ });
321
+ tftpServer.listen();
322
+ }
323
+ /**
324
+ *
325
+ * @param cmd
326
+ */
327
+ async tryCatch(cmd = '') {
328
+ try {
329
+ await (0, utils_2.exec)(cmd, this.echo);
330
+ }
331
+ catch (error) {
332
+ console.log(`Error: ${error}`);
333
+ await utils_1.default.pressKeyToExit(cmd);
334
+ }
335
+ }
336
+ }
337
+ exports.default = Pxe;
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -18,6 +18,7 @@ const chalk_1 = tslib_1.__importDefault(require("chalk"));
18
18
  const pacman_1 = tslib_1.__importDefault(require("./pacman"));
19
19
  // import { green, whiteBright } from 'chalk'
20
20
  const child_process_1 = require("child_process");
21
+ const netmask_1 = require("netmask");
21
22
  const distro_1 = tslib_1.__importDefault(require("./distro"));
22
23
  const pjson = require('../../package.json');
23
24
  /**
@@ -554,35 +555,99 @@ class Utils {
554
555
  }
555
556
  /**
556
557
  * address
558
+ * ip a | grep -w inet |grep -v 127.0.0.1| awk '{print $2}' | cut -d "/" -f 1
559
+ * ifconfig | grep -w inet |grep -v 127.0.0.1| awk '{print $2}' | cut -d ":" -f 2`
560
+ *
557
561
  */
558
562
  static address() {
559
- /**
560
- * ip a | grep -w inet |grep -v 127.0.0.1| awk '{print $2}' | cut -d "/" -f 1
561
- * ifconfig | grep -w inet |grep -v 127.0.0.1| awk '{print $2}' | cut -d ":" -f 2`
562
- *
563
- */
564
- return shelljs_1.default.exec(`ip a | grep -w inet |grep -v 127.0.0.1| awk '{print $2}' | cut -d "/" -f 1`, { silent: true }).stdout.trim();
563
+ const interfaces = os_1.default.networkInterfaces();
564
+ let address = '';
565
+ if (interfaces !== undefined) {
566
+ for (const devName in interfaces) {
567
+ const iface = interfaces[devName];
568
+ if (iface !== undefined) {
569
+ for (const alias of iface) {
570
+ if (alias.family === 'IPv4' &&
571
+ alias.address !== '127.0.0.1' &&
572
+ !alias.internal) {
573
+ // take just the first!
574
+ if (address === '') {
575
+ address = alias.address;
576
+ }
577
+ }
578
+ }
579
+ }
580
+ }
581
+ }
582
+ return address;
583
+ //return shx.exec(`ip a | grep -w inet |grep -v 127.0.0.1| awk '{print $2}' | cut -d "/" -f 1`, { silent: true }).stdout.trim()
565
584
  }
566
585
  /**
567
586
  * netmask
587
+ * ip a | grep -w inet |grep -v 127.0.0.1| awk '{print $2}' | cut -d "/" -f 2
588
+ * ifconfig | grep -w inet |grep -v 127.0.0.1| awk '{print $4}' | cut -d ":" -f 2
568
589
  */
569
590
  static netmask() {
570
- /**
571
- * ip a | grep -w inet |grep -v 127.0.0.1| awk '{print $2}' | cut -d "/" -f 2
572
- * ifconfig | grep -w inet |grep -v 127.0.0.1| awk '{print $4}' | cut -d ":" -f 2
573
- */
574
- return shelljs_1.default.exec(`ip a | grep -w inet |grep -v 127.0.0.1| awk '{print $2}' | cut -d "/" -f 2`, { silent: true }).stdout.trim();
591
+ const interfaces = os_1.default.networkInterfaces();
592
+ let netmask = '';
593
+ if (interfaces !== undefined) {
594
+ for (const devName in interfaces) {
595
+ const iface = interfaces[devName];
596
+ if (iface !== undefined) {
597
+ for (const alias of iface) {
598
+ if (alias.family === 'IPv4' &&
599
+ alias.address !== '127.0.0.1' &&
600
+ !alias.internal) {
601
+ // take just the first!
602
+ if (netmask === '') {
603
+ netmask = alias.netmask;
604
+ }
605
+ }
606
+ }
607
+ }
608
+ }
609
+ }
610
+ return netmask;
611
+ // return shx.exec(`ip a | grep -w inet |grep -v 127.0.0.1| awk '{print $2}' | cut -d "/" -f 2`, { silent: true }).stdout.trim()
612
+ }
613
+ /**
614
+ *
615
+ * @returns 192.169.1.2/24
616
+ */
617
+ static cidr() {
618
+ const interfaces = os_1.default.networkInterfaces();
619
+ let cidr = '';
620
+ if (interfaces !== undefined) {
621
+ for (const devName in interfaces) {
622
+ const iface = interfaces[devName];
623
+ if (iface !== undefined) {
624
+ for (const alias of iface) {
625
+ if (alias.family === 'IPv4' &&
626
+ alias.address !== '127.0.0.1' &&
627
+ !alias.internal) {
628
+ // take just the first!
629
+ if (cidr === '') {
630
+ if (alias.cidr !== null) {
631
+ cidr = alias.cidr;
632
+ }
633
+ }
634
+ }
635
+ }
636
+ }
637
+ }
638
+ }
639
+ return cidr;
575
640
  }
576
641
  /**
577
642
  *
578
643
  * @returns
579
- */
644
+ * ip a | grep -w inet |grep -v 127.0.0.1| awk '{print $4}'
645
+ * ifconfig | grep -w inet |grep -v 127.0.0.1| awk '{print $6}' | cut -d ":" -f 2
646
+ */
580
647
  static broadcast() {
581
- /**
582
- * ip a | grep -w inet |grep -v 127.0.0.1| awk '{print $4}'
583
- * ifconfig | grep -w inet |grep -v 127.0.0.1| awk '{print $6}' | cut -d ":" -f 2
584
- */
585
- return shelljs_1.default.exec(`ip a | grep -w inet |grep -v 127.0.0.1| awk '{print $4}'`, { silent: true }).stdout.trim();
648
+ let n = new netmask_1.Netmask(Utils.cidr());
649
+ return n.broadcast;
650
+ // return shx.exec(`ip a | grep -w inet |grep -v 127.0.0.1| awk '{print $4}'`, { silent: true }).stdout.trim()
586
651
  }
587
652
  /**
588
653
  * @returns dns
@@ -12,6 +12,7 @@ const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
12
12
  const node_path_1 = tslib_1.__importDefault(require("node:path"));
13
13
  const pacman_1 = tslib_1.__importDefault(require("./pacman"));
14
14
  const utils_1 = tslib_1.__importDefault(require("./utils"));
15
+ const n8_1 = tslib_1.__importDefault(require("./n8"));
15
16
  // libraries
16
17
  const utils_2 = require("../lib/utils");
17
18
  const xdg_dirs = ['DESKTOP', 'DOWNLOAD', 'TEMPLATES', 'PUBLICSHARE', 'DOCUMENTS', 'MUSIC', 'PICTURES', 'VIDEOS'];
@@ -89,13 +90,17 @@ class Xdg {
89
90
  * LIGHTDM
90
91
  */
91
92
  if (pacman_1.default.packageIsInstalled('lightdm')) {
92
- let lightdmConf = `${chroot}/etc/lightdm/lightdm.conf`;
93
- let lightdmConfAutologin = `${chroot}/etc/lightdm/lightdm.conf.d/lightdm-autologin-greeter.conf`;
94
- if (node_fs_1.default.existsSync(lightdmConfAutologin)) {
95
- shelljs_1.default.sed('-i', `autologin-user=${olduser}`, `autologin-user=${newuser}`, lightdmConfAutologin);
96
- }
97
- else if (node_fs_1.default.existsSync(lightdmConf)) {
98
- shelljs_1.default.sed('-i', `autologin-user=${olduser}`, `autologin-user=${newuser}`, lightdmConf);
93
+ let dc = `${chroot}/etc/lightdm/`;
94
+ let files = node_fs_1.default.readdirSync(dc);
95
+ for (const elem of files) {
96
+ const curFile = dc + elem;
97
+ if (!n8_1.default.isDirectory(curFile)) {
98
+ let content = node_fs_1.default.readFileSync(curFile, 'utf8');
99
+ let find = `[Seat:*]`;
100
+ if (content.includes(find)) {
101
+ shelljs_1.default.sed('-i', `autologin-user=${olduser}`, `autologin-user=${newuser}`, curFile);
102
+ }
103
+ }
99
104
  }
100
105
  }
101
106
  /**
@@ -103,25 +108,23 @@ class Xdg {
103
108
  */
104
109
  if (pacman_1.default.packageIsInstalled('sddm')) {
105
110
  let sddmChanged = false;
106
- // Cerco configurazione nel file sddm.conf
107
- const fileConf = `${chroot}/etc/sddm.conf`;
108
- if (node_fs_1.default.existsSync(fileConf)) {
109
- const content = node_fs_1.default.readFileSync(fileConf);
110
- if (content.includes('[Autologin]')) {
111
- shelljs_1.default.sed('-i', `User=${olduser}`, `User=${newuser}`, fileConf);
112
- sddmChanged = true;
113
- }
111
+ let curFile = `${chroot}/etc/sddm.conf`;
112
+ let content = node_fs_1.default.readFileSync(curFile, 'utf8');
113
+ let find = `[Autologin]`;
114
+ if (content.includes(find)) {
115
+ shelljs_1.default.sed('-i', `User=${olduser}`, `User=${newuser}`, curFile);
116
+ sddmChanged = true;
114
117
  }
115
- // Se non l'ho trovato, modifico /etc/sddm.conf.d/autologin.conf
116
118
  if (!sddmChanged) {
117
- const dirConf = `${chroot}/etc/sddm.conf.d`;
118
- const autologin = `${dirConf}/autologin.conf`;
119
- if (node_fs_1.default.existsSync(autologin)) {
120
- shelljs_1.default.sed('-i', `User=${olduser}`, `User=${newuser}`, autologin);
121
- }
122
- else {
123
- const content = `[Autologin]\nUser=${newuser}\n`;
124
- node_fs_1.default.writeFileSync(autologin, content, 'utf-8');
119
+ let dc = `${chroot}/etc/sddm.conf.d/`;
120
+ let files = node_fs_1.default.readdirSync(dc);
121
+ for (const elem of files) {
122
+ const curFile = dc + elem;
123
+ let content = node_fs_1.default.readFileSync(curFile, 'utf8');
124
+ if (content.includes(find)) {
125
+ shelljs_1.default.sed('-i', `User=${olduser}`, `User=${newuser}`, curFile);
126
+ sddmChanged = true;
127
+ }
125
128
  }
126
129
  }
127
130
  }
@@ -148,8 +151,6 @@ class Xdg {
148
151
  }
149
152
  const content = `[daemon]\nAutomaticLoginEnable=true\nAutomaticLogin=${newuser}\n`;
150
153
  utils_1.default.write(gdmConf, content);
151
- // shx.sed('-i', 'AutomaticLoginEnable=False', 'AutomaticLoginEnable=True', gdmConf)
152
- // shx.sed('-i', `AutomaticLogin=${olduser}`, `AutomaticLogin=${newuser}`, gdmConf)
153
154
  }
154
155
  }
155
156
  }
File without changes
File without changes
File without changes
File without changes
File without changes