penguins-eggs 25.9.8 → 25.9.14

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 (91) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/LICENSE +123 -0
  3. package/README.md +33 -31
  4. package/README.pdf +2625 -2497
  5. package/addons/eggs/adapt/applications/eggs-adapt.desktop +0 -0
  6. package/addons/eggs/pve/applications/eggs-pve.desktop +0 -0
  7. package/addons/eggs/rsupport/applications/eggs-rsupport.desktop +0 -0
  8. package/addons/eggs/theme/applications/install-system.desktop +0 -0
  9. package/assets/calamares/install-system.sh +0 -0
  10. package/assets/penguins-eggs.desktop +0 -0
  11. package/assets/penguins-krill.desktop +0 -0
  12. package/assets/penguins-links-add.desktop +0 -0
  13. package/assets/penguins-live-installer.desktop +0 -0
  14. package/bin/dev.js +0 -0
  15. package/conf/distros/alpine/calamares/calamares-modules/machineid-openrc/machineid-openrc.sh +0 -0
  16. package/conf/distros/bionic/calamares/calamares-modules/after-bootloader/after-bootloader.sh +0 -0
  17. package/conf/distros/bionic/calamares/calamares-modules/before-bootloader/before-bootloader.sh +0 -0
  18. package/conf/distros/bionic/calamares/calamares-modules/before-bootloader-mkdirs/before-bootloader-mkdirs.sh +0 -0
  19. package/conf/distros/bionic/calamares/calamares-modules/bug/bug.sh +0 -0
  20. package/conf/distros/bionic/calamares/calamares-modules/grubcfg/main.py +0 -0
  21. package/conf/distros/buster/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  22. package/conf/distros/buster/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
  23. package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  24. package/conf/distros/fedora/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  25. package/conf/distros/opensuse/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  26. package/conf/distros/opensuse/calamares/settings.yml +0 -0
  27. package/conf/distros/opensuse/calamares/zstd2lzo.sh +0 -0
  28. package/conf/init/unattended.sh +0 -0
  29. package/dist/classes/ovary.d/live-create-structure.js +35 -52
  30. package/dist/classes/ovary.d/produce.js +4 -0
  31. package/dist/classes/ovary.d.ts +5 -1
  32. package/dist/classes/ovary.js +4 -1
  33. package/dist/commands/export/pkg.js +1 -1
  34. package/dist/commands/tools/ppa.d.ts +1 -2
  35. package/dist/commands/tools/ppa.js +51 -60
  36. package/eui/eui-autostart-cinnamon.desktop +0 -0
  37. package/eui/eui-autostart-xfce.desktop +0 -0
  38. package/eui/eui-create-image.sh +0 -0
  39. package/eui/eui-start.sh +0 -0
  40. package/package.json +131 -125
  41. package/perrisbrewery/scripts/postinst +0 -0
  42. package/perrisbrewery/scripts/postrm +0 -0
  43. package/perrisbrewery/scripts/preinst +0 -0
  44. package/perrisbrewery/scripts/prerm +0 -0
  45. package/pods/almalinux.sh +0 -0
  46. package/pods/archlinux.sh +0 -0
  47. package/pods/ci/kernel-overlay-install.sh +0 -0
  48. package/pods/ci/minimal/almalinux-container2host.sh +0 -0
  49. package/pods/ci/minimal/archlinux-container2host.sh +0 -0
  50. package/pods/ci/minimal/debian-container2host.sh +0 -0
  51. package/pods/ci/minimal/fedora-container2host.sh +0 -0
  52. package/pods/ci/minimal/manjaro-container2host.sh +0 -0
  53. package/pods/ci/minimal/opensuse-container2host.sh +0 -0
  54. package/pods/ci/penguins-eggs-execute.sh +0 -0
  55. package/pods/ci/penguins-eggs-install.sh +0 -0
  56. package/pods/ci/run +0 -0
  57. package/pods/ci/run-on-almalinux.sh +0 -0
  58. package/pods/ci/run-on-archlinux.sh +0 -0
  59. package/pods/ci/run-on-debian.sh +0 -0
  60. package/pods/ci/run-on-devuan.sh +0 -0
  61. package/pods/ci/run-on-fedora.sh +0 -0
  62. package/pods/ci/run-on-manjaro.sh +0 -0
  63. package/pods/ci/run-on-opensuse.sh +0 -0
  64. package/pods/ci/run-on-rockylinux.sh +0 -0
  65. package/pods/ci/run-on-ubuntu.sh +0 -0
  66. package/pods/debian.sh +0 -0
  67. package/pods/devuan.sh +0 -0
  68. package/pods/fedora.sh +0 -0
  69. package/pods/lmde.sh +0 -0
  70. package/pods/manjaro.sh +0 -0
  71. package/pods/opensuse.sh +0 -0
  72. package/pods/podman.command.sh +0 -0
  73. package/pods/rocky.sh +0 -0
  74. package/pods/run-build-packages-debs.sh +0 -0
  75. package/pods/run-create-debs.sh +0 -0
  76. package/pods/ubuntu.sh +0 -0
  77. package/scripts/99clean +0 -0
  78. package/scripts/adapt.sh +0 -0
  79. package/scripts/bros/waydroid-helper.sh +0 -0
  80. package/scripts/lsb_release +0 -0
  81. package/scripts/mom.sh +0 -0
  82. package/scripts/pve-live.service +0 -0
  83. package/scripts/pve-live.sh +0 -0
  84. package/scripts/resy +0 -0
  85. package/dist/penguins-eggs_25.9.8-1_amd64.deb +0 -0
  86. package/dist/penguins-eggs_25.9.8-1_amd64.deb.sha256 +0 -1
  87. package/dist/penguins-eggs_25.9.8-1_arm64.deb +0 -0
  88. package/dist/penguins-eggs_25.9.8-1_arm64.deb.sha256 +0 -1
  89. package/dist/penguins-eggs_25.9.8-1_i386.deb +0 -0
  90. package/dist/penguins-eggs_25.9.8-1_i386.deb.sha256 +0 -1
  91. package/perrisbrewery/template/dependencies-bionic.yaml +0 -37
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/bin/dev.js CHANGED
File without changes
File without changes
File without changes
File without changes
@@ -5,8 +5,6 @@
5
5
  * email: piero.proietti@gmail.com
6
6
  * license: MIT
7
7
  */
8
- // packages
9
- import fs from 'node:fs';
10
8
  import path from 'path';
11
9
  // interfaces
12
10
  // libraries
@@ -22,53 +20,40 @@ export async function liveCreateStructure() {
22
20
  if (this.verbose) {
23
21
  console.log('Ovary: liveCreateStructure');
24
22
  }
25
- Utils.warning(`creating egg in ${this.settings.config.snapshot_dir}`);
26
- let cmd;
27
- if (!fs.existsSync(this.settings.config.snapshot_dir)) {
28
- cmd = `mkdir -p ${this.settings.config.snapshot_dir}`;
29
- tryCatch(cmd, this.verbose);
30
- }
31
- if (!fs.existsSync(this.settings.config.snapshot_dir + '/README.md')) {
32
- cmd = `cp ${path.resolve(__dirname, '../../../conf/README.md')} ${this.settings.config.snapshot_dir}README.md`;
33
- tryCatch(cmd, this.verbose);
34
- }
35
- // Ovarium
36
- if (!fs.existsSync(this.settings.work_dir.ovarium)) {
37
- cmd = `mkdir -p ${this.settings.work_dir.ovarium}`;
38
- tryCatch(cmd, this.verbose);
39
- }
40
- if (!fs.existsSync(this.settings.work_dir.lowerdir)) {
41
- cmd = `mkdir -p ${this.settings.work_dir.lowerdir}`;
42
- tryCatch(cmd, this.verbose);
43
- }
44
- if (!fs.existsSync(this.settings.work_dir.upperdir)) {
45
- cmd = `mkdir -p ${this.settings.work_dir.upperdir}`;
46
- tryCatch(cmd, this.verbose);
47
- }
48
- if (!fs.existsSync(this.settings.work_dir.workdir)) {
49
- cmd = `mkdir -p ${this.settings.work_dir.workdir}`;
50
- tryCatch(cmd, this.verbose);
51
- }
52
- if (!fs.existsSync(this.settings.work_dir.merged)) {
53
- cmd = `mkdir -p ${this.settings.work_dir.merged}`;
54
- tryCatch(cmd, this.verbose);
55
- }
56
- /**
57
- * Creo le directory di destinazione per boot, efi, isolinux e live
58
- */
59
- if (!fs.existsSync(this.settings.iso_work)) {
60
- cmd = `mkdir -p ${this.settings.iso_work}boot/grub/${Utils.uefiFormat()}`;
61
- tryCatch(cmd, this.verbose);
62
- cmd = `mkdir -p ${this.settings.iso_work}isolinux`;
63
- tryCatch(cmd, this.verbose);
64
- cmd = `mkdir -p ${this.settings.iso_work}live`;
65
- tryCatch(cmd, this.verbose);
66
- }
67
- // ln iso
68
- cmd = `ln -s ${this.settings.iso_work} ${this.settings.config.snapshot_dir}/iso`;
69
- tryCatch(cmd, this.verbose);
70
- // ln livefs
71
- cmd = `ln -s ${this.settings.work_dir.merged} ${this.settings.config.snapshot_dir}/livefs`;
23
+ Utils.warning(`creating egg in ${this.nest}`);
24
+ let cmd = '';
25
+ cmd = `# create nest\n`;
26
+ cmd += `mkdir -p ${this.nest}\n`;
27
+ cmd += `# README.md\n`;
28
+ cmd += `cp ${path.resolve(__dirname, '../../../conf/README.md')} ${this.nest}README.md\n`;
29
+ cmd += `# cleaning dotMnt\n`;
30
+ cmd += `rm -rf ${this.dotMnt}efi\n`;
31
+ cmd += `rm -rf ${this.dotMnt}filesystem.squashfs\n`;
32
+ cmd += `rm -rf ${this.dotMnt}/iso\n`;
33
+ cmd += `mkdir -p ${this.dotMnt}/iso/live\n`;
34
+ cmd += `mkdir -p ${this.dotMnt}/iso/boot/grub/${Utils.uefiFormat()}\n`;
35
+ cmd += `mkdir -p ${this.dotMnt}/iso/isolinux\n`;
36
+ cmd += `# cleaning (nest).overlay\n`;
37
+ cmd += `umount ${this.dotLivefs}/* > /dev/null 2>&1\n`;
38
+ cmd += `umount ${this.dotOverlay.lowerdir}/* > /dev/null 2>&1\n`;
39
+ cmd += `umount ${this.dotOverlay.upperdir}/* > /dev/null 2>&1\n`;
40
+ cmd += `umount ${this.dotOverlay.workdir}/* > /dev/null 2>&1\n`;
41
+ cmd += `rm -rf ${this.nest}.overlay\n`;
42
+ cmd += `mkdir -p ${this.dotOverlay.lowerdir}\n`;
43
+ cmd += `mkdir -p ${this.dotOverlay.upperdir}\n`;
44
+ cmd += `mkdir -p ${this.dotOverlay.workdir}\n`;
45
+ cmd += `sleep 1\n`;
46
+ cmd += `# cleaning dotLivefs\n`;
47
+ cmd += `rm -rf ${this.dotLivefs}\n`;
48
+ cmd += `mkdir -p ${this.dotLivefs}\n`;
49
+ cmd += `# cleaning (nest)/ovarium\n`;
50
+ cmd += `rm -rf ${this.nest}ovarium\n`;
51
+ cmd += `mkdir -p ${this.nest}ovarium\n`;
52
+ cmd += `# cleaning (nest)/links\n`;
53
+ cmd += `rm -f ${this.nest}iso\n`;
54
+ cmd += `ln -s ${this.nest}.mnt/iso ${this.nest}/iso\n`;
55
+ cmd += `rm -f ${this.nest}livefs\n`;
56
+ cmd += `ln -s ${this.dotLivefs} ${this.nest}livefs\n`;
72
57
  tryCatch(cmd, this.verbose);
73
58
  }
74
59
  /**
@@ -78,9 +63,7 @@ export async function liveCreateStructure() {
78
63
  async function tryCatch(cmd = '', verbose = false) {
79
64
  try {
80
65
  let echo = Utils.setEcho(verbose);
81
- if (verbose) {
82
- console.log(cmd);
83
- }
66
+ // console.log(cmd)
84
67
  await exec(cmd, echo);
85
68
  }
86
69
  catch (error) {
@@ -47,6 +47,10 @@ export async function produce(kernel = '', clone = false, cryptedclone = false,
47
47
  this.cryptedclone = cryptedclone;
48
48
  const luksName = 'luks-volume';
49
49
  const luksFile = `/tmp/${luksName}`;
50
+ this.nest = this.settings.config.snapshot_dir;
51
+ this.dotMnt = `${this.nest}.mnt`;
52
+ this.dotOverlay = this.settings.work_dir;
53
+ this.dotLivefs = this.settings.work_dir.merged;
50
54
  /**
51
55
  * define kernel
52
56
  */
@@ -5,6 +5,7 @@
5
5
  * email: piero.proietti@gmail.com
6
6
  * license: MIT
7
7
  */
8
+ import { IWorkDir } from '../interfaces/index.js';
8
9
  import CliAutologin from './cli-autologin.js';
9
10
  import Incubator from './incubation/incubator.js';
10
11
  import Settings from './settings.js';
@@ -41,7 +42,6 @@ export default class Ovary {
41
42
  distroLike: string;
42
43
  genisoimage: boolean;
43
44
  incubator: Incubator;
44
- nest: string;
45
45
  settings: Settings;
46
46
  snapshot_basename: string;
47
47
  snapshot_prefix: string;
@@ -53,6 +53,10 @@ export default class Ovary {
53
53
  kernel: string;
54
54
  initrd: string;
55
55
  vmlinuz: string;
56
+ nest: string;
57
+ dotMnt: string;
58
+ dotOverlay: IWorkDir;
59
+ dotLivefs: string;
56
60
  fertilization: typeof fertilization;
57
61
  produce: typeof produce;
58
62
  bindLiveFs: typeof bindLiveFs;
@@ -43,7 +43,6 @@ export default class Ovary {
43
43
  distroLike = '';
44
44
  genisoimage = false;
45
45
  incubator = {};
46
- nest = '';
47
46
  settings = {};
48
47
  snapshot_basename = '';
49
48
  snapshot_prefix = '';
@@ -55,6 +54,10 @@ export default class Ovary {
55
54
  kernel = '';
56
55
  initrd = '';
57
56
  vmlinuz = '';
57
+ nest = '';
58
+ dotMnt = '';
59
+ dotOverlay = {};
60
+ dotLivefs = '';
58
61
  // I put all methods on ovary.d
59
62
  fertilization = fertilization;
60
63
  produce = produce;
@@ -93,7 +93,7 @@ export default class ExportPkg extends Command {
93
93
  }
94
94
  else if (familyId === "debian") {
95
95
  Utils.warning(`exporting Devuan/Debian/Ubuntu DEB packages`);
96
- localPath = `/home/${this.user}/penguins-eggs/dist`;
96
+ localPath = `/home/${this.user}/penguins-eggs/releases`;
97
97
  remotePath = this.Tu.config.remotePathPackages + "/debs";
98
98
  let arch = Utils.uefiArch();
99
99
  if (this.all) {
@@ -7,8 +7,7 @@
7
7
  */
8
8
  /**
9
9
  * Debian 13 trixe, Ubuntu 24.04 noble usano il formato deb822
10
- *
11
- * esiste un comando per modernizzare le sorgenti:
10
+ * * esiste un comando per modernizzare le sorgenti:
12
11
  * sudo apt modernize-sources
13
12
  */
14
13
  import { Command } from '@oclif/core';
@@ -7,8 +7,7 @@
7
7
  */
8
8
  /**
9
9
  * Debian 13 trixe, Ubuntu 24.04 noble usano il formato deb822
10
- *
11
- * esiste un comando per modernizzare le sorgenti:
10
+ * * esiste un comando per modernizzare le sorgenti:
12
11
  * sudo apt modernize-sources
13
12
  */
14
13
  import { Command, Flags } from '@oclif/core';
@@ -18,11 +17,9 @@ import Distro from '../../classes/distro.js';
18
17
  import Utils from '../../classes/utils.js';
19
18
  import { exec } from '../../lib/utils.js';
20
19
  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';
20
+ const ppaKeyUrl = 'https://pieroproietti.github.io/penguins-eggs/deb/key.asc';
21
+ const ppaKeyPath = '/usr/share/keyrings/penguins-eggs.gpg';
22
+ const ppaSourcesPath = '/etc/apt/sources.list.d/penguins-eggs'; // Base path without extension
26
23
  /**
27
24
  *
28
25
  */
@@ -42,24 +39,34 @@ export default class Ppa extends Command {
42
39
  async run() {
43
40
  const { flags } = await this.parse(Ppa);
44
41
  Utils.titles(this.id + ' ' + this.argv);
45
- let verbose = false;
46
- if (flags.verbose) {
47
- verbose = true;
48
- }
49
42
  const { nointeractive } = flags;
50
43
  if (Utils.isRoot()) {
51
44
  const distro = new Distro();
52
- /**
53
- * Debian
54
- */
55
- if (distro.familyId === 'debian') {
45
+ if (distro.familyId === 'archlinux' && !Diversions.isManjaroBased(distro.distroId)) {
46
+ if (flags.add) {
47
+ Utils.warning(`Are you sure to add Chaotic-AUR to your repositories?`);
48
+ if (await Utils.customConfirm('Select yes to continue...')) {
49
+ await archAdd();
50
+ }
51
+ }
52
+ else if (flags.remove) {
53
+ Utils.warning(`Are you sure to remove Chaotic-AUR to your repositories?`);
54
+ if (await Utils.customConfirm('Select yes to continue...')) {
55
+ await archRemove();
56
+ }
57
+ }
58
+ }
59
+ else if (distro.familyId === 'debian') {
60
+ /**
61
+ * Debian
62
+ */
56
63
  if (flags.add) {
57
- Utils.warning(`Are you sure to add source ${path.basename(ppaName)} to your repositories?`);
64
+ Utils.warning(`Are you sure to add source ${path.basename(ppaSourcesPath)} to your repositories?`);
58
65
  if (nointeractive || (await Utils.customConfirm('Select yes to continue...'))) {
59
- // remove old penguins-eggs-ppa.list
60
- debianRemove();
66
+ // Rimuove sempre le vecchie configurazioni per uno stato pulito
67
+ await debianRemove();
61
68
  if (await is822()) {
62
- debianAdd822();
69
+ await debianAdd822();
63
70
  }
64
71
  else {
65
72
  await debianAdd();
@@ -67,35 +74,18 @@ export default class Ppa extends Command {
67
74
  }
68
75
  }
69
76
  else if (flags.remove) {
70
- Utils.warning(`Are you sure to remove source ${path.basename(ppaName)} to your repositories?`);
77
+ Utils.warning(`Are you sure to remove source ${path.basename(ppaSourcesPath)} to your repositories?`);
71
78
  if (nointeractive || (await Utils.customConfirm('Select yes to continue...'))) {
72
79
  await debianRemove();
73
80
  }
74
81
  }
75
82
  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
83
  /**
94
84
  * Alle the others
95
85
  */
96
86
  }
97
87
  else {
98
- Utils.warning(`Distro: ${distro.distroId}/${distro.codenameId}, cannot use penguins-eggs-ppa nor chaotic-aur!`);
88
+ Utils.warning(`Distro: ${distro.distroId}/${distro.codenameId}, cannot use penguins-eggs-repo nor chaotic-aur!`);
99
89
  }
100
90
  }
101
91
  }
@@ -127,7 +117,6 @@ async function archRemove() {
127
117
  const path = '/var/cache/pacman/pkg/';
128
118
  const keyring = 'chaotic-keyring.pkg.tar.zst';
129
119
  const mirrorlist = 'chaotic-mirrorlist.pkg.tar.zst';
130
- const echo = Utils.setEcho(true);
131
120
  if (fs.existsSync(path + keyring) && fs.existsSync(path + mirrorlist)) {
132
121
  console.log('to remove chaotic-aur:\n');
133
122
  console.log(`sudo rm ${path}${keyring}`);
@@ -139,47 +128,49 @@ async function archRemove() {
139
128
  }
140
129
  }
141
130
  /**
142
- * debianAdd822
131
+ * debianAdd822 - For modern Debian/Ubuntu with .sources files
143
132
  */
144
133
  async function debianAdd822() {
145
- await exec(`curl -sS https://pieroproietti.github.io/penguins-eggs-ppa/KEY.gpg| gpg --dearmor | sudo tee ${ppaKey} > /dev/null`);
134
+ // --- FIX: Correct GPG key URL ---
135
+ await exec(`curl -fsSL ${ppaKeyUrl} | gpg --dearmor -o ${ppaKeyPath}`);
146
136
  let content = '';
147
137
  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}`);
138
+ content += 'URIs: https://pieroproietti.github.io/penguins-eggs/deb\n'; // Correct URI for packages
139
+ content += 'Suites: stable\n'; // It's better to be specific
140
+ content += 'Components: main\n';
141
+ content += `Signed-By: ${ppaKeyPath}\n`;
142
+ // --- IMPROVEMENT: Use the standard .sources extension ---
143
+ fs.writeFileSync(`${ppaSourcesPath}.sources`, content);
144
+ // --- IMPROVEMENT: Removed unnecessary `touch` command ---
154
145
  }
155
146
  /**
156
- * debianAdd
147
+ * debianAdd - For traditional Debian/Ubuntu with .list files
157
148
  */
158
149
  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);
150
+ // --- FIX: Correct GPG key URL and remove redundant sudo ---
151
+ await exec(`curl -fsSL ${ppaKeyUrl} | gpg --dearmor -o ${ppaKeyPath}`);
152
+ const content = `deb [signed-by=${ppaKeyPath}] https://pieroproietti.github.io/penguins-eggs/deb stable main\n`;
153
+ fs.writeFileSync(`${ppaSourcesPath}.list`, content);
162
154
  }
163
155
  /**
164
- * is822 (usa lo standard deb822 per le sorgenti)
156
+ * is822 (checks if the system uses the deb822 format)
165
157
  */
166
158
  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
159
  let retval = false;
169
160
  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') {
161
+ const is822Result = (await exec(test, { capture: true, echo: false }));
162
+ if (is822Result.code === 0) {
163
+ if (is822Result.data.trim() === '1') {
173
164
  retval = true;
174
165
  }
175
166
  }
176
167
  return retval;
177
168
  }
178
169
  /**
179
- * debianRemove
170
+ * debianRemove - Cleans up all related PPA files
180
171
  */
181
172
  async function debianRemove() {
182
- await exec(`rm -f ${ppaKey}`);
183
- await exec(`rm -f ${ppaList}`);
184
- await exec(`rm -f ${ppaSources}`);
173
+ // The script runs as root, so sudo inside exec is not needed here
174
+ await exec(`rm -f ${ppaKeyPath}`);
175
+ await exec(`rm -f ${ppaSourcesPath}*`);
185
176
  }
File without changes
File without changes
File without changes
package/eui/eui-start.sh CHANGED
File without changes