penguins-eggs 25.11.12 → 25.11.21
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 +149 -140
- package/README.md +726 -1
- package/README.pdf +1343 -2331
- package/addons/eggs/adapt/applications/eggs-adapt.desktop +0 -0
- package/addons/eggs/pve/applications/eggs-pve.desktop +0 -0
- package/addons/eggs/rsupport/applications/eggs-rsupport.desktop +0 -0
- package/addons/eggs/theme/applications/install-system.desktop +0 -0
- package/assets/calamares/install-system.sh +0 -0
- package/assets/penguins-eggs.desktop +0 -0
- package/assets/penguins-krill.desktop +0 -0
- package/assets/penguins-links-add.desktop +0 -0
- package/assets/penguins-live-installer.desktop +0 -0
- package/bin/dev.js +0 -0
- package/conf/distros/alpine/calamares/calamares-modules/machineid-openrc/machineid-openrc.sh +0 -0
- package/conf/distros/buster/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
- package/conf/distros/buster/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
- package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
- package/conf/distros/fedora/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
- package/conf/distros/focal/calamares/calamares-modules/.keepit +0 -0
- package/conf/distros/focal/calamares/calamares-modules/cleanup/cleanup.sh +20 -0
- package/conf/distros/focal/calamares/calamares-modules/cleanup/module.yml +9 -0
- package/conf/distros/focal/calamares/calamares-modules/sources-yolk/module.yml +8 -0
- package/conf/distros/focal/calamares/calamares-modules/sources-yolk/sources-yolk.sh +50 -0
- package/conf/distros/focal/calamares/calamares-modules/sources-yolk-undo/module.yml +8 -0
- package/conf/distros/focal/calamares/libexec/.keepit +0 -0
- package/conf/distros/focal/calamares/libexec/README.md +5 -0
- package/conf/distros/focal/calamares/libexec/calamares-aptsources.sh +15 -0
- package/conf/distros/focal/calamares/libexec/calamares-l10n-helper.sh +38 -0
- package/conf/distros/focal/calamares/libexec/calamares-logs-helper.sh +34 -0
- package/conf/distros/focal/calamares/libexec/calamares-nomodeset.sh +19 -0
- package/conf/distros/focal/calamares/modules/after_bootloader_context.yml +26 -0
- package/conf/distros/focal/calamares/modules/before_bootloader_context.yml +12 -0
- package/conf/distros/focal/calamares/modules/bootloader.yml +86 -0
- package/conf/distros/focal/calamares/modules/bootloader.yml.old +35 -0
- package/conf/distros/focal/calamares/modules/displaymanager.yml +12 -0
- package/conf/distros/focal/calamares/modules/finished.yml +6 -0
- package/conf/distros/focal/calamares/modules/fstab.yml +63 -0
- package/conf/distros/focal/calamares/modules/grubcfg.yml +51 -0
- package/conf/distros/focal/calamares/modules/keyboard.yml +29 -0
- package/conf/distros/focal/calamares/modules/locale.yml +7 -0
- package/conf/distros/focal/calamares/modules/machineid.yml +10 -0
- package/conf/distros/focal/calamares/modules/mount.yml +20 -0
- package/conf/distros/focal/calamares/modules/netinstall.yml +5 -0
- package/conf/distros/focal/calamares/modules/packages.mustache +5 -0
- package/conf/distros/focal/calamares/modules/partition.yml +21 -0
- package/conf/distros/focal/calamares/modules/removeuser.mustache +3 -0
- package/conf/distros/focal/calamares/modules/shellprocess@aptsources.yml +11 -0
- package/conf/distros/focal/calamares/modules/shellprocess@boot_deploy.yml +9 -0
- package/conf/distros/focal/calamares/modules/shellprocess@boot_reconfigure.yml +15 -0
- package/conf/distros/focal/calamares/modules/shellprocess@install_translations.yml +8 -0
- package/conf/distros/focal/calamares/modules/shellprocess@logs.yml +8 -0
- package/conf/distros/focal/calamares/modules/shellprocess@mkinitramfs.yml +6 -0
- package/conf/distros/focal/calamares/modules/shellprocess@nomodeset.yml +12 -0
- package/conf/distros/focal/calamares/modules/umount.yml +4 -0
- package/conf/distros/focal/calamares/modules/unpackfs.mustache +6 -0
- package/conf/distros/focal/calamares/modules/users.yml +27 -0
- package/conf/distros/focal/calamares/modules/welcome.yml +24 -0
- package/conf/distros/focal/calamares/settings.yml +97 -0
- package/conf/distros/noble/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
- package/conf/distros/noble/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
- package/conf/distros/noble/calamares/libexec/calamares-aptsources.sh +0 -0
- package/conf/distros/noble/calamares/libexec/calamares-l10n-helper.sh +0 -0
- package/conf/distros/noble/calamares/libexec/calamares-logs-helper.sh +0 -0
- package/conf/distros/noble/calamares/libexec/calamares-nomodeset.sh +0 -0
- package/conf/distros/opensuse/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
- package/conf/distros/opensuse/calamares/settings.yml +0 -0
- package/conf/distros/opensuse/calamares/zstd2lzo.sh +0 -0
- package/conf/distros/trixie/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
- package/conf/distros/trixie/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
- package/conf/distros/trixie/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
- package/conf/init/unattended.sh +0 -0
- package/dist/appimage/first-run-check.d.ts +8 -0
- package/dist/appimage/first-run-check.js +13 -0
- package/dist/appimage/prerequisites.d.ts +34 -0
- package/dist/appimage/prerequisites.js +350 -0
- package/dist/bin/dev.cmd +3 -0
- package/dist/bin/dev.js +6 -0
- package/dist/bin/run.cmd +3 -0
- package/dist/bin/run.js +5 -0
- package/dist/classes/cli-autologin.js +4 -4
- package/dist/classes/diversions.d.ts +5 -0
- package/dist/classes/diversions.js +23 -7
- package/dist/classes/pacman.js +10 -11
- package/dist/classes/utils.d.ts +4 -0
- package/dist/classes/utils.js +19 -3
- package/dist/commands/calamares.js +1 -1
- package/dist/commands/config.js +2 -2
- package/dist/commands/{analyze.d.ts → export/appimage.d.ts} +10 -9
- package/dist/commands/export/appimage.js +76 -0
- package/dist/commands/export/iso.js +1 -1
- package/dist/commands/export/pkg.d.ts +1 -1
- package/dist/commands/export/pkg.js +2 -2
- package/dist/commands/{install.d.ts → krill.d.ts} +3 -4
- package/dist/commands/{install.js → krill.js} +5 -6
- package/dist/commands/produce.js +1 -1
- package/dist/commands/setup.d.ts +21 -0
- package/dist/commands/setup.js +90 -0
- package/dist/commands/tools/repo.d.ts +0 -5
- package/dist/commands/tools/repo.js +205 -127
- package/dist/commands/update.d.ts +1 -1
- package/dist/commands/update.js +68 -59
- package/dist/krill/components/information.js +2 -2
- package/dist/krill/components/title.js +13 -13
- package/dist/lib/utils.d.ts +16 -0
- package/dist/lib/utils.js +24 -32
- package/dracut/create-symlink +0 -0
- package/dracut/export +0 -0
- package/dracut/export-dracut-analysis +0 -0
- package/dracut/export-dracut-log +0 -0
- package/dracut/mkisofs +0 -0
- package/dracut/modules.d/00debug-shell/debug-hook.sh +0 -0
- package/dracut/modules.d/00debug-shell/module-setup.sh +0 -0
- package/dracut/modules.d/90block/block-cmdline.sh +0 -0
- package/dracut/modules.d/90block/module-setup.sh +0 -0
- package/dracut/modules.d/95iso-scan/iso-scan-fallback.sh +0 -0
- package/dracut/modules.d/95iso-scan/iso-scan.sh +0 -0
- package/dracut/modules.d/95iso-scan/module-setup.sh +0 -0
- package/dracut/modules.d/95luks-loop/luks-loop.sh +0 -0
- package/dracut/modules.d/95luks-loop/module-setup.sh +0 -0
- package/dracut/renew-initramfs +0 -0
- package/dracut/sbin2bin +0 -0
- package/dracut/update-dracut-conf-d +0 -0
- package/dracut/update-dracut-modules +0 -0
- package/eui/eui-autostart-cinnamon.desktop +0 -0
- package/eui/eui-autostart-xfce.desktop +0 -0
- package/eui/eui-create-image.sh +0 -0
- package/eui/eui-start.sh +0 -0
- package/manpages/doc/man/eggs.1.gz +0 -0
- package/manpages/doc/man/eggs.html +582 -9
- package/package.json +125 -130
- package/perrisbrewery/scripts/postinst +0 -0
- package/perrisbrewery/scripts/postrm +0 -0
- package/perrisbrewery/scripts/preinst +0 -0
- package/perrisbrewery/scripts/prerm +0 -0
- package/perrisbrewery/template/dependencies.yaml +0 -5
- package/perrisbrewery/template/man.template.md +7 -0
- package/scripts/99clean +0 -0
- package/scripts/_eggs +28 -47
- package/scripts/adapt.sh +0 -0
- package/scripts/appimage-build.sh +152 -0
- package/scripts/appimage-install.sh +43 -0
- package/scripts/bros/waydroid-helper.sh +0 -0
- package/scripts/eggs.bash +3 -4
- package/scripts/lsb_release +0 -0
- package/scripts/mom.sh +0 -0
- package/scripts/pve-live.service +0 -0
- package/scripts/pve-live.sh +0 -0
- package/scripts/resy +0 -0
- package/dist/commands/analyze.js +0 -95
- package/dist/commands/pods.d.ts +0 -22
- package/dist/commands/pods.js +0 -92
- package/scripts/boot-encrypted-root.sh +0 -220
- package/scripts/mount-encrypted-home.sh +0 -324
package/package.json
CHANGED
|
@@ -1,133 +1,128 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
2
|
+
"name": "penguins-eggs",
|
|
3
|
+
"shortName": "eggs",
|
|
4
|
+
"description": "A remaster system tool, compatible with Almalinux, Alpine, Arch, Debian, Devuan, Fedora, Manjaro, Opensuse, Ubuntu and derivatives",
|
|
5
|
+
"version": "25.11.21",
|
|
6
|
+
"author": "Piero Proietti",
|
|
7
|
+
"bin": {
|
|
8
|
+
"eggs": "./bin/run.js"
|
|
9
|
+
},
|
|
10
|
+
"bugs": "https://github.com/pieroproietti/penguins-eggs/issues",
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"@oclif/core": "^4.8.0",
|
|
13
|
+
"@oclif/plugin-autocomplete": "^3.2.39",
|
|
14
|
+
"@oclif/plugin-help": "^6.2.36",
|
|
15
|
+
"@oclif/plugin-version": "^2.2.36",
|
|
16
|
+
"@types/express": "^5.0.5",
|
|
17
|
+
"ansis": "^4.2.0",
|
|
18
|
+
"axios": "^1.13.2",
|
|
19
|
+
"chalk": "^5.6.2",
|
|
20
|
+
"cli-cursor": "^5.0.0",
|
|
21
|
+
"debug": "^4.4.3",
|
|
22
|
+
"express": "^5.1.0",
|
|
23
|
+
"ink": "^5",
|
|
24
|
+
"ink-progress-bar": "^3.0.0",
|
|
25
|
+
"ink-spinner": "^5.0.0",
|
|
26
|
+
"inquirer": "^12.11.0",
|
|
27
|
+
"js-yaml": "^4.1.1",
|
|
28
|
+
"mustache": "^4.2.0",
|
|
29
|
+
"netmask": "^2.0.2",
|
|
30
|
+
"react": "^18.3.1",
|
|
31
|
+
"read": "^4.1.0",
|
|
32
|
+
"shelljs": "^0.10.0",
|
|
33
|
+
"systeminformation": "^5.27.11",
|
|
34
|
+
"tftp": "^0.1.2",
|
|
35
|
+
"ws": "^8.18.3"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@oclif/prettier-config": "^0.2.1",
|
|
39
|
+
"@oclif/test": "^4.1.15",
|
|
40
|
+
"@types/chai": "^5.2.3",
|
|
41
|
+
"@types/debug": "^4.1.12",
|
|
42
|
+
"@types/glob": "^9.0.0",
|
|
43
|
+
"@types/inquirer": "^9.0.9",
|
|
44
|
+
"@types/js-yaml": "^4.0.9",
|
|
45
|
+
"@types/mocha": "^10.0.8",
|
|
46
|
+
"@types/mustache": "^4.2.6",
|
|
47
|
+
"@types/netmask": "^2.0.5",
|
|
48
|
+
"@types/node": "^22.15.30",
|
|
49
|
+
"@types/react": "^18.3.18",
|
|
50
|
+
"@types/read": "^0.0.32",
|
|
51
|
+
"@types/shelljs": "^0.8.17",
|
|
52
|
+
"@types/ws": "^8.18.1",
|
|
53
|
+
"chai": "^6.2.1",
|
|
54
|
+
"eslint": "^9.39.1",
|
|
55
|
+
"eslint-config-oclif": "^6.0.118",
|
|
56
|
+
"eslint-config-prettier": "^10.1.8",
|
|
57
|
+
"glob": "^12.0.0",
|
|
58
|
+
"mocha": "^11.7.5",
|
|
59
|
+
"oclif": "^4.22.47",
|
|
60
|
+
"perrisbrewery": "^25.9.16",
|
|
61
|
+
"prettier": "^3.6.2",
|
|
62
|
+
"shx": "^0.4.0",
|
|
63
|
+
"ts-node": "10.9.2",
|
|
64
|
+
"ts-prune": "^0.10.3",
|
|
65
|
+
"typescript": "^5.9.3"
|
|
66
|
+
},
|
|
67
|
+
"engines": {
|
|
68
|
+
"node": ">=16.0.0"
|
|
69
|
+
},
|
|
70
|
+
"files": [
|
|
71
|
+
".oclif.manifest.json",
|
|
72
|
+
"/addons",
|
|
73
|
+
"/assets",
|
|
74
|
+
"/bin",
|
|
75
|
+
"/conf",
|
|
76
|
+
"/dist",
|
|
77
|
+
"/dracut",
|
|
78
|
+
"/eui",
|
|
79
|
+
"/manpages",
|
|
80
|
+
"/mkinitcpio",
|
|
81
|
+
"/mkinitfs",
|
|
82
|
+
"/perrisbrewery",
|
|
83
|
+
"/scripts"
|
|
84
|
+
],
|
|
85
|
+
"homepage": "https://penguins-eggs.net",
|
|
86
|
+
"keywords": [
|
|
87
|
+
"oclif",
|
|
88
|
+
"remaster",
|
|
89
|
+
"system"
|
|
90
|
+
],
|
|
91
|
+
"license": "MIT",
|
|
92
|
+
"main": "dist/index.js",
|
|
93
|
+
"type": "module",
|
|
94
|
+
"oclif": {
|
|
95
|
+
"bin": "eggs",
|
|
96
|
+
"dirname": "penguins-eggs",
|
|
97
|
+
"commands": "./dist/commands",
|
|
98
|
+
"plugins": [
|
|
99
|
+
"@oclif/plugin-help",
|
|
100
|
+
"@oclif/plugin-autocomplete",
|
|
101
|
+
"@oclif/plugin-version"
|
|
85
102
|
],
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
|
|
89
|
-
"
|
|
90
|
-
|
|
91
|
-
],
|
|
92
|
-
"license": "MIT",
|
|
93
|
-
"main": "dist/index.js",
|
|
94
|
-
"type": "module",
|
|
95
|
-
"oclif": {
|
|
96
|
-
"bin": "eggs",
|
|
97
|
-
"dirname": "penguins-eggs",
|
|
98
|
-
"commands": "./dist/commands",
|
|
99
|
-
"plugins": [
|
|
100
|
-
"@oclif/plugin-help",
|
|
101
|
-
"@oclif/plugin-autocomplete",
|
|
102
|
-
"@oclif/plugin-version"
|
|
103
|
-
],
|
|
104
|
-
"topicSeparator": " ",
|
|
105
|
-
"topics": {
|
|
106
|
-
"hello": {
|
|
107
|
-
"description": "Say hello to the world and others"
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
},
|
|
111
|
-
"repository": "pieroproietti/penguins-eggs",
|
|
112
|
-
"scripts": {
|
|
113
|
-
"_postpack": "shx rm -f oclif.manifest.json",
|
|
114
|
-
"_prepack": "oclif manifest && ocl -t linux-x64",
|
|
115
|
-
"build": "shx rm -rf dist && tsc -b",
|
|
116
|
-
"deb": "shx rm -rf dist && tsc -p . && oclif manifest && pb deb --release $(cat ./release)",
|
|
117
|
-
"format": "prettier --write \"+(src|test)/**/*.+(ts|js|json)\"",
|
|
118
|
-
"lint": "eslint . --ext .ts",
|
|
119
|
-
"manifest": "oclif manifest",
|
|
120
|
-
"posttest": "pnpm run lint",
|
|
121
|
-
"tarballs": "shx rm -rf dist && tsc -p . && oclif manifest && oclif pack tarballs -t linux-x64 --no-xz -r . && pb tarballs --release $(cat ./release)",
|
|
122
|
-
"test": "mocha --forbid-only \"test/**/*.test.ts\"",
|
|
123
|
-
"unused": "ts-prune",
|
|
124
|
-
"version": "oclif readme && git add README.md"
|
|
125
|
-
},
|
|
126
|
-
"types": "dist/index.d.ts",
|
|
127
|
-
"pnpm": {
|
|
128
|
-
"overrides": {
|
|
129
|
-
"react": "^18.3.1",
|
|
130
|
-
"@types/react": "^18.3.18"
|
|
131
|
-
}
|
|
103
|
+
"topicSeparator": " ",
|
|
104
|
+
"topics": {
|
|
105
|
+
"hello": {
|
|
106
|
+
"description": "Say hello to the world and others"
|
|
107
|
+
}
|
|
132
108
|
}
|
|
133
|
-
}
|
|
109
|
+
},
|
|
110
|
+
"repository": "pieroproietti/penguins-eggs",
|
|
111
|
+
"types": "dist/index.d.ts",
|
|
112
|
+
"scripts": {
|
|
113
|
+
"appimage": "pnpm build && ./scripts/appimage-build.sh",
|
|
114
|
+
"appimage:install": "./scripts/appimage-install.sh",
|
|
115
|
+
"build": "pnpm clean && shx rm -rf dist && tsc -p . && oclif manifest",
|
|
116
|
+
"clean": "rm -rf build dist *.AppImage AppDir squashfs-root",
|
|
117
|
+
"deb": "pnpm build && pb deb --release $(cat ./release)",
|
|
118
|
+
"format": "prettier --write \"+(src|test)/**/*.+(ts|js|json)\"",
|
|
119
|
+
"lint": "eslint . --ext .ts",
|
|
120
|
+
"manifest": "oclif manifest",
|
|
121
|
+
"postbuild": "shx cp -r bin dist/",
|
|
122
|
+
"posttest": "pnpm run lint",
|
|
123
|
+
"tarballs": "shx rm -rf dist && tsc -p . && oclif manifest && oclif pack tarballs -t linux-x64 --no-xz -r . && pb tarballs --release $(cat ./release)",
|
|
124
|
+
"test": "mocha --forbid-only \"test/**/*.test.ts\"",
|
|
125
|
+
"unused": "ts-prune",
|
|
126
|
+
"version": "oclif readme && git add README.md"
|
|
127
|
+
}
|
|
128
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -32,11 +32,6 @@ common:
|
|
|
32
32
|
- ipxe
|
|
33
33
|
- pxelinux
|
|
34
34
|
|
|
35
|
-
# dependencies arch specific
|
|
36
|
-
# arm64: grub-efi-arm64-bin, ipxe, shim-signed, u-boot-tools,
|
|
37
|
-
# amd64: grub-pc-bin, grub-efi-ia32-bin, grub-efi-amd64-bin, syslinux-common, ipxe, isolinux, pxelinux, shim-signed
|
|
38
|
-
# i386: grub-pc-bin, grub-efi-ia32-bin, syslinux-common, ipxe, isolinux, pxelinux
|
|
39
|
-
|
|
40
35
|
arch:
|
|
41
36
|
amd64:
|
|
42
37
|
- grub-efi-amd64-bin
|
|
@@ -8,6 +8,13 @@ eggs is a console utility, in active development, who let you to remaster your s
|
|
|
8
8
|
|
|
9
9
|
# INSTALL
|
|
10
10
|
|
|
11
|
+
penguins-eggs as an AppImage, it can be installed on all supported distributions. Download it from https://github.com/pieroproietti/penguins-eggs/releases, then run the following commands:
|
|
12
|
+
```
|
|
13
|
+
$ chmod +x {{{packageNameVersioned}}}-x86_64.AppImage
|
|
14
|
+
$ sudo mv /usr/local/bin
|
|
15
|
+
$ sudo eggs setup
|
|
16
|
+
```
|
|
17
|
+
|
|
11
18
|
AlpineLinux
|
|
12
19
|
```
|
|
13
20
|
$ doas apk add penguins-eggs@testing
|
package/scripts/99clean
CHANGED
|
File without changes
|
package/scripts/_eggs
CHANGED
|
@@ -10,13 +10,22 @@ _eggs_export() {
|
|
|
10
10
|
case "$state" in
|
|
11
11
|
cmds)
|
|
12
12
|
_values "completions" \
|
|
13
|
-
"
|
|
14
|
-
"
|
|
13
|
+
"appimage[export penguins-eggs AppImage to the destination host]" \
|
|
14
|
+
"iso[export remastered ISO in the destination host]" \
|
|
15
|
+
"pkg[export penguins-eggs package to the destination host]" \
|
|
15
16
|
"tarballs[export pkg/iso/tarballs to the destination host]" \
|
|
16
17
|
|
|
17
18
|
;;
|
|
18
19
|
args)
|
|
19
20
|
case $line[1] in
|
|
21
|
+
"appimage")
|
|
22
|
+
_arguments -S \
|
|
23
|
+
"(-c --clean)"{-c,--clean}"[remove old .AppImage before to copy]" \
|
|
24
|
+
"(-h --help)"{-h,--help}"[Show CLI help.]" \
|
|
25
|
+
"(-v --verbose)"{-v,--verbose}"[verbose]" \
|
|
26
|
+
--help"[Show help for command]" \
|
|
27
|
+
"*: :_files"
|
|
28
|
+
;;
|
|
20
29
|
"iso")
|
|
21
30
|
_arguments -S \
|
|
22
31
|
"(-C --checksum)"{-C,--checksum}"[export checksums md5 and sha256]" \
|
|
@@ -59,7 +68,7 @@ _eggs_tools() {
|
|
|
59
68
|
cmds)
|
|
60
69
|
_values "completions" \
|
|
61
70
|
"clean[clean system log, apt, etc]" \
|
|
62
|
-
"repo[add/remove penguins-
|
|
71
|
+
"repo[add/remove penguins-repos]" \
|
|
63
72
|
"skel[update skel from home configuration]" \
|
|
64
73
|
"stat[get statistics from sourceforge]" \
|
|
65
74
|
"yolk[configure eggs to install without internet]" \
|
|
@@ -77,10 +86,10 @@ _values "completions" \
|
|
|
77
86
|
;;
|
|
78
87
|
"repo")
|
|
79
88
|
_arguments -S \
|
|
80
|
-
"(-a --add)"{-a,--add}"[add penguins-
|
|
89
|
+
"(-a --add)"{-a,--add}"[add penguins-repos]" \
|
|
81
90
|
"(-h --help)"{-h,--help}"[Show CLI help.]" \
|
|
82
91
|
"(-n --nointeractive)"{-n,--nointeractive}"[no user interaction]" \
|
|
83
|
-
"(-r --remove)"{-r,--remove}"[remove penguins-
|
|
92
|
+
"(-r --remove)"{-r,--remove}"[remove penguins-repos]" \
|
|
84
93
|
"(-v --verbose)"{-v,--verbose}"[verbose]" \
|
|
85
94
|
--help"[Show help for command]" \
|
|
86
95
|
"*: :_files"
|
|
@@ -181,22 +190,20 @@ _eggs() {
|
|
|
181
190
|
case "$state" in
|
|
182
191
|
cmds)
|
|
183
192
|
_values "completions" \
|
|
184
|
-
"export[export
|
|
193
|
+
"export[export penguins-eggs AppImage to the destination host]" \
|
|
185
194
|
"tools[clean system log, apt, etc]" \
|
|
186
195
|
"wardrobe[get warorobe]" \
|
|
187
196
|
"adapt[adapt monitor resolution for VM only]" \
|
|
188
|
-
"
|
|
189
|
-
"calamares[configure calamares or install or configure it]" \
|
|
197
|
+
"calamares[a GUI system installer - install and configure calamares]" \
|
|
190
198
|
"config[Configure eggs to run it]" \
|
|
191
199
|
"cuckoo[PXE start with proxy-dhcp]" \
|
|
192
200
|
"dad[ask help from daddy - TUI configuration helper]" \
|
|
193
|
-
"install[krill: the CLI system installer - the egg became a penguin!]" \
|
|
194
|
-
"krill[krill: the CLI system installer - the egg became a penguin!]" \
|
|
195
201
|
"kill[kill the eggs/free the nest]" \
|
|
202
|
+
"krill[a TUI system installer - install the system]" \
|
|
196
203
|
"love[the simplest way to get an egg!]" \
|
|
197
204
|
"mom[ask help from mommy - TUI helper]" \
|
|
198
|
-
"
|
|
199
|
-
"
|
|
205
|
+
"produce[produce a live image from your system]" \
|
|
206
|
+
"setup[Automatically check and install system prerequisites]" \
|
|
200
207
|
"status[informations about eggs status]" \
|
|
201
208
|
"update[update the Penguins' eggs tool]" \
|
|
202
209
|
"autocomplete[Display autocomplete installation instructions.]" \
|
|
@@ -221,12 +228,6 @@ _arguments -S \
|
|
|
221
228
|
"(-v --verbose)"{-v,--verbose}"[]" \
|
|
222
229
|
--help"[Show help for command]" \
|
|
223
230
|
"*: :_files" ;;
|
|
224
|
-
analyze)
|
|
225
|
-
_arguments -S \
|
|
226
|
-
"(-h --help)"{-h,--help}"[Show CLI help.]" \
|
|
227
|
-
"(-v --verbose)"{-v,--verbose}"[verbose]" \
|
|
228
|
-
--help"[Show help for command]" \
|
|
229
|
-
"*: :_files" ;;
|
|
230
231
|
calamares)
|
|
231
232
|
_arguments -S \
|
|
232
233
|
"(-h --help)"{-h,--help}"[Show CLI help.]" \
|
|
@@ -263,25 +264,12 @@ _arguments -S \
|
|
|
263
264
|
"(-v --verbose)"{-v,--verbose}"[]" \
|
|
264
265
|
--help"[Show help for command]" \
|
|
265
266
|
"*: :_files" ;;
|
|
266
|
-
|
|
267
|
+
kill)
|
|
267
268
|
_arguments -S \
|
|
268
|
-
"(-b --btrfs)"{-b,--btrfs}"[Format btrfs]" \
|
|
269
|
-
"(-c --chroot)"{-c,--chroot}"[chroot before to end]" \
|
|
270
|
-
"(-k --crypted)"{-k,--crypted}"[Crypted CLI installation]" \
|
|
271
|
-
"(-d --domain)"{-d,--domain}"[Domain name, defult: .local]:file:_files" \
|
|
272
|
-
"(-H --halt)"{-H,--halt}"[Halt the system after installation]" \
|
|
273
269
|
"(-h --help)"{-h,--help}"[Show CLI help.]" \
|
|
274
|
-
"(-i --
|
|
270
|
+
"(-i --isos)"{-i,--isos}"[erase all ISOs on remote mount]" \
|
|
275
271
|
"(-n --nointeractive)"{-n,--nointeractive}"[no user interaction]" \
|
|
276
|
-
"(-
|
|
277
|
-
"(-p --pve)"{-p,--pve}"[Proxmox VE install]" \
|
|
278
|
-
"(-r --random)"{-r,--random}"[Add random to hostname, eg: colibri-ay412dt]" \
|
|
279
|
-
"(-R --replace)"{-R,--replace}"[Replace partition. eg: --replace /dev/sda3]:file:_files" \
|
|
280
|
-
"(-s --small)"{-s,--small}"[Swap small: RAM]" \
|
|
281
|
-
"(-S --suspend)"{-S,--suspend}"[Swap suspend: RAM x 2]" \
|
|
282
|
-
"(-t --testing)"{-t,--testing}"[Just testing krill]" \
|
|
283
|
-
"(-u --unattended)"{-u,--unattended}"[Unattended installation]" \
|
|
284
|
-
"(-v --verbose)"{-v,--verbose}"[Verbose]" \
|
|
272
|
+
"(-v --verbose)"{-v,--verbose}"[verbose]" \
|
|
285
273
|
--help"[Show help for command]" \
|
|
286
274
|
"*: :_files" ;;
|
|
287
275
|
krill)
|
|
@@ -305,14 +293,6 @@ _arguments -S \
|
|
|
305
293
|
"(-v --verbose)"{-v,--verbose}"[Verbose]" \
|
|
306
294
|
--help"[Show help for command]" \
|
|
307
295
|
"*: :_files" ;;
|
|
308
|
-
kill)
|
|
309
|
-
_arguments -S \
|
|
310
|
-
"(-h --help)"{-h,--help}"[Show CLI help.]" \
|
|
311
|
-
"(-i --isos)"{-i,--isos}"[erase all ISOs on remote mount]" \
|
|
312
|
-
"(-n --nointeractive)"{-n,--nointeractive}"[no user interaction]" \
|
|
313
|
-
"(-v --verbose)"{-v,--verbose}"[verbose]" \
|
|
314
|
-
--help"[Show help for command]" \
|
|
315
|
-
"*: :_files" ;;
|
|
316
296
|
love)
|
|
317
297
|
_arguments -S \
|
|
318
298
|
"(-h --help)"{-h,--help}"[Show CLI help.]" \
|
|
@@ -329,11 +309,6 @@ _arguments -S \
|
|
|
329
309
|
"(-h --help)"{-h,--help}"[Show CLI help.]" \
|
|
330
310
|
--help"[Show help for command]" \
|
|
331
311
|
"*: :_files" ;;
|
|
332
|
-
pods)
|
|
333
|
-
_arguments -S \
|
|
334
|
-
"(-h --help)"{-h,--help}"[Show CLI help.]" \
|
|
335
|
-
--help"[Show help for command]" \
|
|
336
|
-
"*: :_files" ;;
|
|
337
312
|
produce)
|
|
338
313
|
_arguments -S \
|
|
339
314
|
"*"--addons"[addons to be used: adapt, pve, rsupport]:file:_files" \
|
|
@@ -360,6 +335,12 @@ _arguments -S \
|
|
|
360
335
|
"(-y --yolk)"{-y,--yolk}"[force yolk renew]" \
|
|
361
336
|
--help"[Show help for command]" \
|
|
362
337
|
"*: :_files" ;;
|
|
338
|
+
setup)
|
|
339
|
+
_arguments -S \
|
|
340
|
+
"(-c --check)"{-c,--check}"[check status only, do not install]" \
|
|
341
|
+
"(-f --force)"{-f,--force}"[force installation even if already installed]" \
|
|
342
|
+
--help"[Show help for command]" \
|
|
343
|
+
"*: :_files" ;;
|
|
363
344
|
status)
|
|
364
345
|
_arguments -S \
|
|
365
346
|
"(-h --help)"{-h,--help}"[Show CLI help.]" \
|
package/scripts/adapt.sh
CHANGED
|
File without changes
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -e
|
|
3
|
+
|
|
4
|
+
echo "Building Penguins Eggs AppImage..."
|
|
5
|
+
|
|
6
|
+
APP_NAME="penguins-eggs"
|
|
7
|
+
VERSION=$(node -p "require('./package.json').version")
|
|
8
|
+
ARCH="x86_64"
|
|
9
|
+
|
|
10
|
+
# Verifica build
|
|
11
|
+
if [ ! -f "dist/bin/dev.js" ]; then
|
|
12
|
+
echo "ERROR: Build not found. Run: pnpm run build"
|
|
13
|
+
exit 1
|
|
14
|
+
fi
|
|
15
|
+
|
|
16
|
+
echo "SUCCESS: Build found: dist/bin/dev.js"
|
|
17
|
+
|
|
18
|
+
# Verifica esistenza cartella appimage
|
|
19
|
+
if [ ! -d "appimage" ]; then
|
|
20
|
+
echo "ERROR: appimage/ directory not found"
|
|
21
|
+
echo "Please create appimage/ with required files"
|
|
22
|
+
exit 1
|
|
23
|
+
fi
|
|
24
|
+
|
|
25
|
+
# Verifica file richiesti in appimage/
|
|
26
|
+
if [ ! -f "appimage/AppRun" ]; then
|
|
27
|
+
echo "ERROR: appimage/AppRun not found"
|
|
28
|
+
exit 1
|
|
29
|
+
fi
|
|
30
|
+
|
|
31
|
+
if [ ! -f "appimage/penguins-eggs.desktop" ]; then
|
|
32
|
+
echo "ERROR: appimage/penguins-eggs.desktop not found"
|
|
33
|
+
exit 1
|
|
34
|
+
fi
|
|
35
|
+
|
|
36
|
+
# Verifica FUSE
|
|
37
|
+
echo "Checking system requirements..."
|
|
38
|
+
if ! ldconfig -p | grep -q libfuse.so.2; then
|
|
39
|
+
echo "WARNING: libfuse2 not found. AppImage may not run properly."
|
|
40
|
+
echo "Please install FUSE:"
|
|
41
|
+
echo " Alpine: sudo apk add fuse"
|
|
42
|
+
echo " Arch: sudo pacman -S fuse2"
|
|
43
|
+
echo " Debian/Ubuntu: sudo apt-get install fuse libfuse2"
|
|
44
|
+
echo " Fedora/RHEL: sudo dnf install fuse fuse-libs"
|
|
45
|
+
echo " Opensuse: sudo zypper install fuse fuse-libs"
|
|
46
|
+
echo ""
|
|
47
|
+
echo "Continuing with build anyway..."
|
|
48
|
+
fi
|
|
49
|
+
|
|
50
|
+
# Pulisci e crea struttura
|
|
51
|
+
rm -rf AppDir
|
|
52
|
+
mkdir -p AppDir/usr/lib/penguins-eggs
|
|
53
|
+
mkdir -p AppDir/usr/bin
|
|
54
|
+
mkdir -p AppDir/usr/share/applications
|
|
55
|
+
mkdir -p AppDir/usr/share/icons/hicolor/256x256/apps
|
|
56
|
+
|
|
57
|
+
# Scarica appimagetool
|
|
58
|
+
if [ ! -f "appimagetool" ]; then
|
|
59
|
+
echo "Downloading appimagetool..."
|
|
60
|
+
wget -q https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-${ARCH}.AppImage -O appimagetool
|
|
61
|
+
chmod +x appimagetool
|
|
62
|
+
fi
|
|
63
|
+
|
|
64
|
+
# Copia il progetto
|
|
65
|
+
echo "Copying project files..."
|
|
66
|
+
for dir in dist node_modules assets addons bin conf dracut manpages mkinitcpio mkinitfs scripts src templates; do
|
|
67
|
+
if [ -d "$dir" ]; then
|
|
68
|
+
echo " Copying: $dir"
|
|
69
|
+
cp -r "$dir" AppDir/usr/lib/penguins-eggs/
|
|
70
|
+
fi
|
|
71
|
+
done
|
|
72
|
+
|
|
73
|
+
# Scarica e installa Node.js
|
|
74
|
+
NODE_VERSION="22.21.1"
|
|
75
|
+
echo "Downloading Node.js v$NODE_VERSION..."
|
|
76
|
+
wget -q https://nodejs.org/dist/latest-v22.x/node-v$NODE_VERSION-linux-x64.tar.xz -O nodejs.tar.xz
|
|
77
|
+
tar -xf nodejs.tar.xz
|
|
78
|
+
mkdir -p AppDir/usr/lib/penguins-eggs/node
|
|
79
|
+
cp -r node-v$NODE_VERSION-linux-x64/* AppDir/usr/lib/penguins-eggs/node/
|
|
80
|
+
rm -rf node-v$NODE_VERSION-linux-x64 nodejs.tar.xz
|
|
81
|
+
|
|
82
|
+
# Bootloaders
|
|
83
|
+
mkdir -p AppDir/usr/lib/penguins-eggs/bootloaders
|
|
84
|
+
echo "Downloading bootloaders..."
|
|
85
|
+
wget -q -O bootloaders.tar.gz "https://github.com/pieroproietti/penguins-bootloaders/releases/download/v25.9.8/bootloaders.tar.gz"
|
|
86
|
+
echo "Extracting bootloaders..."
|
|
87
|
+
tar -xzf bootloaders.tar.gz -C AppDir/usr/lib/penguins-eggs/bootloaders --strip-components=1
|
|
88
|
+
rm -f bootloaders.tar.gz
|
|
89
|
+
|
|
90
|
+
# Copia package.json
|
|
91
|
+
cp package.json AppDir/usr/lib/penguins-eggs/ 2>/dev/null || true
|
|
92
|
+
|
|
93
|
+
# COPIA i file dall'appimage/
|
|
94
|
+
|
|
95
|
+
# Copia e aggiorna metadati AppData
|
|
96
|
+
if [ -f "appimage/penguins-eggs.appdata.xml" ]; then
|
|
97
|
+
mkdir -p AppDir/usr/share/metainfo
|
|
98
|
+
|
|
99
|
+
# Aggiorna automaticamente versione e data
|
|
100
|
+
CURRENT_DATE=$(date +%Y-%m-%d)
|
|
101
|
+
sed -e "s|%VERSION%|$VERSION|g" \
|
|
102
|
+
-e "s|%DATE%|$CURRENT_DATE|g" \
|
|
103
|
+
"appimage/penguins-eggs.appdata.xml" > AppDir/usr/share/metainfo/penguins-eggs.appdata.xml
|
|
104
|
+
|
|
105
|
+
echo "AppData metadata updated: version $VERSION, date $CURRENT_DATE"
|
|
106
|
+
else
|
|
107
|
+
echo "WARNING: AppData file not found at appimage/penguins-eggs.appdata.xml"
|
|
108
|
+
fi
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
# AppRun
|
|
112
|
+
cp appimage/AppRun AppDir/
|
|
113
|
+
chmod +x AppDir/AppRun
|
|
114
|
+
|
|
115
|
+
# penguins-eggs.desktop
|
|
116
|
+
cp appimage/penguins-eggs.desktop AppDir/
|
|
117
|
+
cp appimage/penguins-eggs.desktop AppDir/usr/share/applications/
|
|
118
|
+
|
|
119
|
+
# penguins-eggs.png
|
|
120
|
+
cp appimage/penguins-eggs.png AppDir/
|
|
121
|
+
cp appimage/penguins-eggs.png AppDir/usr/share/icons/hicolor/256x256/apps/
|
|
122
|
+
|
|
123
|
+
# Link per l'eseguibile
|
|
124
|
+
ln -sf ../lib/penguins-eggs/dist/bin/dev.js AppDir/usr/bin/eggs
|
|
125
|
+
|
|
126
|
+
# Verifica file richiesti
|
|
127
|
+
echo "Checking required AppDir files:"
|
|
128
|
+
ls -la AppDir/AppRun
|
|
129
|
+
ls -la AppDir/penguins-eggs.desktop
|
|
130
|
+
ls -la AppDir/penguins-eggs.png
|
|
131
|
+
|
|
132
|
+
# Crea AppImage
|
|
133
|
+
echo "Creating AppImage..."
|
|
134
|
+
ARCH=$ARCH ./appimagetool AppDir "${APP_NAME}-${VERSION}-${ARCH}.AppImage"
|
|
135
|
+
|
|
136
|
+
# Test
|
|
137
|
+
echo "Testing AppImage..."
|
|
138
|
+
chmod +x "${APP_NAME}-${VERSION}-${ARCH}.AppImage"
|
|
139
|
+
|
|
140
|
+
if command -v fusermount &> /dev/null || command -v fusermount3 &> /dev/null; then
|
|
141
|
+
if ./"${APP_NAME}-${VERSION}-${ARCH}.AppImage" --version; then
|
|
142
|
+
echo "SUCCESS: AppImage working correctly!"
|
|
143
|
+
else
|
|
144
|
+
echo "WARNING: AppImage test failed"
|
|
145
|
+
fi
|
|
146
|
+
else
|
|
147
|
+
echo "WARNING: Cannot test AppImage without FUSE"
|
|
148
|
+
fi
|
|
149
|
+
|
|
150
|
+
echo ""
|
|
151
|
+
echo "AppImage created: ${APP_NAME}-${VERSION}-${ARCH}.AppImage"
|
|
152
|
+
echo "Size: $(du -h "${APP_NAME}-${VERSION}-${ARCH}.AppImage" | cut -f1)"
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Script di installazione system-wide per penguins-eggs AppImage
|
|
3
|
+
|
|
4
|
+
APP_NAME="penguins-eggs"
|
|
5
|
+
INSTALL_DIR="/usr/local/bin"
|
|
6
|
+
|
|
7
|
+
echo "Installing Penguins Eggs system-wide..."
|
|
8
|
+
|
|
9
|
+
# Cerca l'AppImage nella directory corrente
|
|
10
|
+
APPIMAGE_FILE=$(find . -maxdepth 1 -name "${APP_NAME}-*-x86_64.AppImage" | head -1)
|
|
11
|
+
|
|
12
|
+
if [ -z "$APPIMAGE_FILE" ]; then
|
|
13
|
+
echo "ERROR: AppImage not found in current directory."
|
|
14
|
+
echo "Please download it from: https://github.com/pieroproietti/penguins-eggs/releases"
|
|
15
|
+
echo "Or run from the directory containing the AppImage file."
|
|
16
|
+
exit 1
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
# Rendi eseguibile e installa system-wide
|
|
20
|
+
echo "Installing $APPIMAGE_FILE to $INSTALL_DIR/eggs"
|
|
21
|
+
sudo chmod +x "$APPIMAGE_FILE"
|
|
22
|
+
sudo cp "$APPIMAGE_FILE" "$INSTALL_DIR/eggs"
|
|
23
|
+
|
|
24
|
+
# Nota sulle completion (rimosse)
|
|
25
|
+
echo ""
|
|
26
|
+
echo "NOTE autocomplete: run eggs autocomplete and follow instrutions"
|
|
27
|
+
echo " man pages are not available in penguins-eggs as AppImage."
|
|
28
|
+
echo ""
|
|
29
|
+
|
|
30
|
+
echo ""
|
|
31
|
+
echo "SUCCESS: Penguins Eggs installed system-wide!"
|
|
32
|
+
echo ""
|
|
33
|
+
echo "Components installed:"
|
|
34
|
+
echo " - Main executable: $INSTALL_DIR/eggs"
|
|
35
|
+
echo ""
|
|
36
|
+
echo "Usage:"
|
|
37
|
+
echo " eggs help [command] # Get help for specific commands"
|
|
38
|
+
echo " eggs setup -f # Install prerequisites"
|
|
39
|
+
echo " eggs dad -d # Configure eggs (default values)"
|
|
40
|
+
echo " eggs love -n # Create live ISO image (nointeractive)"
|
|
41
|
+
echo ""
|
|
42
|
+
echo "For full documentation, visit:"
|
|
43
|
+
echo " https://github.com/pieroproietti/penguins-eggs"
|
|
File without changes
|