penguins-eggs 25.7.22 → 25.8.6
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.
- package/.oclif.manifest.json +1 -1
- package/README.md +42 -38
- package/README.pdf +1840 -1802
- package/conf/derivatives.yaml +3 -6
- package/dist/classes/ovary.d/xorriso-command.js +1 -1
- package/dist/classes/utils.d/kernel.js +15 -10
- package/dist/commands/export/pkg.js +13 -14
- package/dist/commands/export/tarballs.js +2 -2
- package/dist/commands/love.js +1 -1
- package/dist/commands/update.js +36 -28
- package/dist/penguins-eggs_25.8.6-bionic-1_amd64.deb +0 -0
- package/dist/penguins-eggs_25.8.6-bionic-1_amd64.deb.sha256 +1 -0
- package/package.json +11 -11
package/conf/derivatives.yaml
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
ids:
|
|
29
29
|
- kali-rolling # kali
|
|
30
30
|
- faye # LMDE 6
|
|
31
|
-
-
|
|
31
|
+
- orion-belt # SparkyLinux 7
|
|
32
32
|
- ara # Parrot ara
|
|
33
33
|
|
|
34
34
|
# trixie
|
|
@@ -118,6 +118,7 @@
|
|
|
118
118
|
- xia # Linuxmint 22.1
|
|
119
119
|
- zara # Linuxmint 22.2
|
|
120
120
|
- nexalinux # Nexa LInux
|
|
121
|
+
- crimson # Deepin 25 crimson
|
|
121
122
|
|
|
122
123
|
- id:
|
|
123
124
|
#
|
|
@@ -132,9 +133,5 @@
|
|
|
132
133
|
# BluestarLinux
|
|
133
134
|
- bluestarlinux
|
|
134
135
|
|
|
135
|
-
# Garuda
|
|
136
|
-
- spizaetus
|
|
137
|
-
|
|
138
136
|
# Manjaro
|
|
139
|
-
-
|
|
140
|
-
# Zetar
|
|
137
|
+
- zetar
|
|
@@ -45,7 +45,7 @@ export async function xorrisoCommand(clone = false, cryptedclone = false) {
|
|
|
45
45
|
// const preparer = '-preparer "prepared by eggs <https://penguins-eggs.net>" '
|
|
46
46
|
let isoHybridMbr = '';
|
|
47
47
|
if (this.settings.config.make_isohybrid) {
|
|
48
|
-
const isolinuxFile =
|
|
48
|
+
const isolinuxFile = path.resolve(__dirname, `../../../bootloaders/syslinux/isohdpfx.bin`);
|
|
49
49
|
if (fs.existsSync(isolinuxFile)) {
|
|
50
50
|
isoHybridMbr = `-isohybrid-mbr ${isolinuxFile}`;
|
|
51
51
|
}
|
|
@@ -9,6 +9,7 @@ import path from 'path';
|
|
|
9
9
|
import Distro from '../distro.js';
|
|
10
10
|
import Diversions from '../diversions.js';
|
|
11
11
|
import Utils from '../utils.js';
|
|
12
|
+
import { execSync } from 'node:child_process';
|
|
12
13
|
/**
|
|
13
14
|
* Kernel utilities for managing vmlinuz and initramfs paths
|
|
14
15
|
*/
|
|
@@ -45,11 +46,15 @@ export default class Kernel {
|
|
|
45
46
|
const distro = new Distro();
|
|
46
47
|
let initramfs = '';
|
|
47
48
|
if (kernel === '') {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
if (!Utils.isContainer()) {
|
|
50
|
+
kernel = execSync('uname -r').toString().trim();
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
const kernelModulesPath = this.getKernelModulesPath();
|
|
54
|
+
const kernels = this.getAvailableKernels(kernelModulesPath);
|
|
55
|
+
const latestKernel = kernels[kernels.length - 1];
|
|
56
|
+
kernel = latestKernel;
|
|
57
|
+
}
|
|
53
58
|
}
|
|
54
59
|
if (distro.familyId === "archlinux") {
|
|
55
60
|
initramfs = this.getArchInitramfs(kernel, distro);
|
|
@@ -58,12 +63,12 @@ export default class Kernel {
|
|
|
58
63
|
initramfs = '/boot/initramfs-lts';
|
|
59
64
|
}
|
|
60
65
|
else {
|
|
61
|
-
// Debian
|
|
66
|
+
// Gestione generica per le altre distro (Debian, Fedora, SUSE, ecc.)
|
|
62
67
|
const possiblePaths = [
|
|
63
|
-
`/boot/initrd.img-${kernel}`,
|
|
64
|
-
`/boot/initramfs-${kernel}.img`,
|
|
65
|
-
`/boot/
|
|
66
|
-
`/boot/
|
|
68
|
+
`/boot/initrd.img-${kernel}`, // Debian, Ubuntu e derivate
|
|
69
|
+
`/boot/initramfs-${kernel}.img`, // Fedora, RHEL, CentOS e derivate
|
|
70
|
+
`/boot/initrd-${kernel}`, // openSUSE
|
|
71
|
+
`/boot/initramfs-${kernel}` // fallback generico
|
|
67
72
|
];
|
|
68
73
|
for (const path of possiblePaths) {
|
|
69
74
|
if (fs.existsSync(path)) {
|
|
@@ -55,17 +55,7 @@ export default class ExportPkg extends Command {
|
|
|
55
55
|
let localPath = '';
|
|
56
56
|
let remotePath = '';
|
|
57
57
|
let filter = '';
|
|
58
|
-
|
|
59
|
-
* aldos
|
|
60
|
-
*/
|
|
61
|
-
if (familyId === 'aldos') {
|
|
62
|
-
Utils.warning("aldos rpm");
|
|
63
|
-
process.exit();
|
|
64
|
-
/**
|
|
65
|
-
* alpine
|
|
66
|
-
*/
|
|
67
|
-
}
|
|
68
|
-
else if (familyId === 'alpine') {
|
|
58
|
+
if (familyId === 'alpine') {
|
|
69
59
|
let arch = 'x86_64';
|
|
70
60
|
if (process.arch === 'ia32') {
|
|
71
61
|
arch = 'i386';
|
|
@@ -117,8 +107,14 @@ export default class ExportPkg extends Command {
|
|
|
117
107
|
else if (familyId === 'fedora') {
|
|
118
108
|
Utils.warning("fedora rpm packages");
|
|
119
109
|
localPath = `/home/${this.user}/rpmbuild/RPMS/x86_64`;
|
|
120
|
-
|
|
121
|
-
|
|
110
|
+
if (distroId === 'fedora') {
|
|
111
|
+
remotePath = this.Tu.config.remotePathPackages + "/fedora";
|
|
112
|
+
filter = `penguins-eggs-[0-9][0-9].[0-9]*.[0-9]*-*.fc??.x86_64.rpm`;
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
remotePath = this.Tu.config.remotePathPackages + "/el9";
|
|
116
|
+
filter = `penguins-eggs-[0-9][0-9].[0-9]*.[0-9]*-*.el?.x86_64.rpm`;
|
|
117
|
+
}
|
|
122
118
|
/**
|
|
123
119
|
* openmamba
|
|
124
120
|
*/
|
|
@@ -134,7 +130,9 @@ export default class ExportPkg extends Command {
|
|
|
134
130
|
}
|
|
135
131
|
else if (familyId === 'opensuse') {
|
|
136
132
|
Utils.warning("opensuse rpm packages");
|
|
137
|
-
|
|
133
|
+
localPath = `/home/${this.user}/rpmbuild/RPMS/x86_64`;
|
|
134
|
+
remotePath = this.Tu.config.remotePathPackages + "/opensuse";
|
|
135
|
+
filter = `penguins-eggs-[0-9][0-9].[0-9]*.[0-9]*-*.opensuse.x86_64.rpm`;
|
|
138
136
|
/**
|
|
139
137
|
* voidlinux
|
|
140
138
|
*/
|
|
@@ -148,6 +146,7 @@ export default class ExportPkg extends Command {
|
|
|
148
146
|
cmd += 'shopt -s extglob\n';
|
|
149
147
|
cmd += `mkdir ${remoteMountpoint}\n`;
|
|
150
148
|
cmd += `sshfs ${this.Tu.config.remoteUser}@${this.Tu.config.remoteHost}:${remotePath} ${remoteMountpoint}\n`;
|
|
149
|
+
let archDest = 'x86_64';
|
|
151
150
|
if (this.clean) {
|
|
152
151
|
let archDest = '';
|
|
153
152
|
if (distro.familyId === 'alpine') {
|
|
@@ -52,13 +52,13 @@ export default class ExportTarballs extends Command {
|
|
|
52
52
|
const remoteMountpoint = `/tmp/eggs-${(Math.random() + 1).toString(36).slice(7)}`;
|
|
53
53
|
const localPath = `/home/${this.user}/penguins-eggs/dist/`;
|
|
54
54
|
const remotePath = `${this.Tu.config.remotePathPackages}/tarballs/`;
|
|
55
|
-
const tarNamePattern = `penguins-eggs_
|
|
55
|
+
const tarNamePattern = `penguins-eggs_[0-9][0-9].[0-9]*.[0-9]*-*-linux-x64.tar.gz`;
|
|
56
56
|
const searchPattern = path.join(localPath, tarNamePattern);
|
|
57
57
|
const matchingFiles = globSync(searchPattern);
|
|
58
58
|
if (matchingFiles.length === 0) {
|
|
59
59
|
console.log(`No ${searchPattern} exists!`);
|
|
60
60
|
console.log(`Create it using: pnpm tarballs`);
|
|
61
|
-
process.exit(1)
|
|
61
|
+
// process.exit(1)
|
|
62
62
|
}
|
|
63
63
|
let cmd = `mkdir ${remoteMountpoint}\n`;
|
|
64
64
|
cmd += `sshfs ${this.Tu.config.remoteUser}@${this.Tu.config.remoteHost}:${remotePath} ${remoteMountpoint}\n`;
|
package/dist/commands/love.js
CHANGED
|
@@ -35,8 +35,8 @@ export default class Love extends Command {
|
|
|
35
35
|
let nointeractive = false;
|
|
36
36
|
let flagNointeractive = '';
|
|
37
37
|
if (flags.nointeractive) {
|
|
38
|
-
nointeractive = true;
|
|
39
38
|
flagNointeractive = '--nointeractive';
|
|
39
|
+
nointeractive = true;
|
|
40
40
|
}
|
|
41
41
|
const echo = Utils.setEcho(verbose);
|
|
42
42
|
Utils.titles(this.id + ' ' + this.argv);
|
package/dist/commands/update.js
CHANGED
|
@@ -115,25 +115,17 @@ export default class Update extends Command {
|
|
|
115
115
|
async getPkgFromLan() {
|
|
116
116
|
const Tu = new Tools();
|
|
117
117
|
await Tu.loadSettings();
|
|
118
|
-
Utils.warning('
|
|
119
|
-
if (this.distro.familyId ===
|
|
120
|
-
const filterDeb = `penguins-eggs_10.?.*-*_${Utils.uefiArch()}.deb`;
|
|
121
|
-
const cmd = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/debs/${filterDeb} /tmp`;
|
|
122
|
-
await exec(cmd, { capture: true, echo: true });
|
|
123
|
-
if (await Utils.customConfirm(`Want to install ${filterDeb}`)) {
|
|
124
|
-
await exec(`dpkg -i /tmp/${filterDeb}`);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
else if (this.distro.familyId === 'archlinux') {
|
|
118
|
+
Utils.warning('Update from LAN');
|
|
119
|
+
if (this.distro.familyId === 'archlinux') {
|
|
128
120
|
let repo = "aur";
|
|
129
121
|
if (Diversions.isManjaroBased(this.distro.distroId)) {
|
|
130
122
|
repo = 'manjaro';
|
|
131
123
|
}
|
|
132
|
-
const
|
|
133
|
-
const cmd = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/${repo}/${
|
|
124
|
+
const filter = `penguins-eggs-25.*.*-?-any.pkg.tar.zst`;
|
|
125
|
+
const cmd = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/${repo}/${filter} /tmp`;
|
|
134
126
|
await exec(cmd, { capture: true, echo: true });
|
|
135
|
-
if (await Utils.customConfirm(`Want to install ${
|
|
136
|
-
await exec(`pacman -U /tmp/${
|
|
127
|
+
if (await Utils.customConfirm(`Want to install ${filter}`)) {
|
|
128
|
+
await exec(`pacman -U /tmp/${filter}`);
|
|
137
129
|
}
|
|
138
130
|
}
|
|
139
131
|
else if (this.distro.familyId === 'alpine') {
|
|
@@ -141,13 +133,21 @@ export default class Update extends Command {
|
|
|
141
133
|
if (process.arch === 'ia32') {
|
|
142
134
|
arch = 'i386';
|
|
143
135
|
}
|
|
144
|
-
const filter = `penguins-eggs
|
|
136
|
+
const filter = `penguins-eggs-25.*.*-r*.apk`;
|
|
145
137
|
const cmd = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/alpine/${filter} /tmp`;
|
|
146
138
|
await exec(cmd, { capture: true, echo: true });
|
|
147
139
|
if (await Utils.customConfirm(`Want to install ${filter}`)) {
|
|
148
140
|
await exec(`apk add /tmp/${filter}`);
|
|
149
141
|
}
|
|
150
142
|
}
|
|
143
|
+
else if (this.distro.familyId === "debian") {
|
|
144
|
+
const filter = `penguins-eggs_25.*.*-*_${Utils.uefiArch()}.deb`;
|
|
145
|
+
const cmd = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathPackages}/debs/${filter} /tmp`;
|
|
146
|
+
await exec(cmd, { capture: true, echo: true });
|
|
147
|
+
if (await Utils.customConfirm(`Want to install ${filter}`)) {
|
|
148
|
+
await exec(`dpkg -i /tmp/${filter}`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
151
|
}
|
|
152
152
|
/**
|
|
153
153
|
*
|
|
@@ -157,13 +157,7 @@ export default class Update extends Command {
|
|
|
157
157
|
let cmd = '';
|
|
158
158
|
let url = 'https://sourceforge.net/projects/penguins-eggs/files/Packages';
|
|
159
159
|
let filter = `penguins-eggs`;
|
|
160
|
-
if (this.distro.familyId ===
|
|
161
|
-
repo = "debs";
|
|
162
|
-
url = `${url}/${repo}/${Utils.uefiArch()}`;
|
|
163
|
-
filter = `penguins-eggs_10.?.*-?_${Utils.uefiArch()}.deb`;
|
|
164
|
-
cmd = `sudo dpkg -i ${filter}`;
|
|
165
|
-
}
|
|
166
|
-
else if (this.distro.familyId === 'archlinux') {
|
|
160
|
+
if (this.distro.familyId === 'archlinux') {
|
|
167
161
|
repo = "aur";
|
|
168
162
|
filter = `penguins-eggs-10.?.*-?-any.pkg.tar.zst`;
|
|
169
163
|
cmd = `sudo pacman -U ${filter}`;
|
|
@@ -172,13 +166,27 @@ export default class Update extends Command {
|
|
|
172
166
|
}
|
|
173
167
|
url = `${url}/${repo}`;
|
|
174
168
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
169
|
+
else if (this.distro.familyId === "alpine") {
|
|
170
|
+
let arch = 'x86_64';
|
|
171
|
+
if (process.arch === 'ia32') {
|
|
172
|
+
arch = 'i386';
|
|
173
|
+
}
|
|
174
|
+
repo = "alpine";
|
|
175
|
+
url = `${url}/${repo}/$arch/${Utils.uefiArch()}`;
|
|
176
|
+
const filter = `penguins-eggs-25.*.*-r*.apk`;
|
|
177
|
+
cmd = `doas apk add ${filter}`;
|
|
178
|
+
}
|
|
179
|
+
else if (this.distro.familyId === "debian") {
|
|
180
|
+
repo = "debs";
|
|
181
|
+
url = `${url}/${repo}`;
|
|
182
|
+
filter = `penguins-eggs_25.*.*-*_${Utils.uefiArch()}.deb`;
|
|
183
|
+
cmd = `sudo apt-get install ./${filter}`;
|
|
184
|
+
}
|
|
185
|
+
let command = `- open your browser at ${url}\n`;
|
|
186
|
+
command += `- select and download last package: ${filter}\n`;
|
|
187
|
+
command += `- ${cmd}\n`;
|
|
180
188
|
console.log(command);
|
|
181
|
-
|
|
189
|
+
this.show(url);
|
|
182
190
|
}
|
|
183
191
|
/**
|
|
184
192
|
*
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
d6be195e25201a33b16cdf000255b20497fc5aca8222a0df9754703504db7c00 penguins-eggs_25.8.6-bionic-1_amd64.deb
|
package/package.json
CHANGED
|
@@ -2,28 +2,28 @@
|
|
|
2
2
|
"name": "penguins-eggs",
|
|
3
3
|
"shortName": "eggs",
|
|
4
4
|
"description": "A remaster system tool, compatible with Arch, Debian, Devuan, Ubuntu and others",
|
|
5
|
-
"version": "25.
|
|
5
|
+
"version": "25.8.6",
|
|
6
6
|
"author": "Piero Proietti",
|
|
7
7
|
"bin": {
|
|
8
8
|
"eggs": "./bin/run.js"
|
|
9
9
|
},
|
|
10
10
|
"bugs": "https://github.com/pieroproietti/penguins-eggs/issues",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@oclif/core": "^4.5.
|
|
13
|
-
"@oclif/plugin-autocomplete": "^3.2.
|
|
14
|
-
"@oclif/plugin-help": "^6.2.
|
|
15
|
-
"@oclif/plugin-version": "^2.2.
|
|
12
|
+
"@oclif/core": "^4.5.2",
|
|
13
|
+
"@oclif/plugin-autocomplete": "^3.2.34",
|
|
14
|
+
"@oclif/plugin-help": "^6.2.32",
|
|
15
|
+
"@oclif/plugin-version": "^2.2.32",
|
|
16
16
|
"@types/express": "^5.0.3",
|
|
17
17
|
"ansis": "^4.1.0",
|
|
18
18
|
"axios": "^1.11.0",
|
|
19
|
-
"chalk": "^5.
|
|
19
|
+
"chalk": "^5.5.0",
|
|
20
20
|
"cli-cursor": "^5.0.0",
|
|
21
21
|
"debug": "^4.4.1",
|
|
22
22
|
"express": "^5.1.0",
|
|
23
23
|
"ink": "^5",
|
|
24
24
|
"ink-progress-bar": "^3.0.0",
|
|
25
25
|
"ink-spinner": "^5.0.0",
|
|
26
|
-
"inquirer": "^12.
|
|
26
|
+
"inquirer": "^12.9.0",
|
|
27
27
|
"js-yaml": "^4.1.0",
|
|
28
28
|
"mustache": "^4.2.0",
|
|
29
29
|
"netmask": "^2.0.2",
|
|
@@ -51,18 +51,18 @@
|
|
|
51
51
|
"@types/shelljs": "^0.8.17",
|
|
52
52
|
"@types/ws": "^8.18.1",
|
|
53
53
|
"chai": "^5.2.1",
|
|
54
|
-
"eslint": "^9.
|
|
55
|
-
"eslint-config-oclif": "^6.0.
|
|
54
|
+
"eslint": "^9.32.0",
|
|
55
|
+
"eslint-config-oclif": "^6.0.90",
|
|
56
56
|
"eslint-config-prettier": "^10.1.8",
|
|
57
57
|
"glob": "^11.0.3",
|
|
58
58
|
"mocha": "^11.7.0",
|
|
59
|
-
"oclif": "^4.22.
|
|
59
|
+
"oclif": "^4.22.6",
|
|
60
60
|
"perrisbrewery": "^10",
|
|
61
61
|
"prettier": "^3.6.2",
|
|
62
62
|
"shx": "^0.4.0",
|
|
63
63
|
"ts-node": "10.9.2",
|
|
64
64
|
"ts-prune": "^0.10.3",
|
|
65
|
-
"typescript": "^5.
|
|
65
|
+
"typescript": "^5.9.2"
|
|
66
66
|
},
|
|
67
67
|
"engines": {
|
|
68
68
|
"node": ">=16.0.0"
|