penguins-eggs 9.4.16 → 9.5.2
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 +6 -8
- package/addons/templates/grub.template +3 -8
- package/dist/classes/cfs.js +34 -0
- package/dist/classes/distro.js +4 -13
- package/dist/classes/incubation/distros/bionic.js +16 -6
- package/dist/classes/incubation/distros/buster.js +9 -11
- package/dist/classes/incubation/distros/focal.js +4 -9
- package/dist/classes/incubation/distros/rolling.js +11 -5
- package/dist/classes/incubation/fisherman-helper/settings.js +80 -0
- package/dist/classes/incubation/fisherman.js +5 -36
- package/dist/classes/incubation/incubator.js +19 -19
- package/dist/classes/incubation/installer.js +9 -4
- package/dist/commands/calamares.js +2 -2
- package/dist/krill/krill-sequence.js +19 -21
- package/package.json +9 -9
- package/dist/classes/ccm.js +0 -28
package/.oclif.manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"9.4.16","commands":{"adapt":{"id":"adapt","description":"adapt monitor resolution for VM only","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs adapt"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"analyze":{"id":"analyze","description":"analyze for syncto","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs analyze"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"calamares":{"id":"calamares","description":"configure calamares or install or configure it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs calamares","sudo eggs calamares --install","sudo eggs calamares --install --theme=/path/to/theme","sudo eggs calamares --remove"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"install":{"name":"install","type":"boolean","char":"i","description":"install calamares and its dependencies","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"release":{"name":"release","type":"boolean","char":"r","description":"release: remove calamares and all its dependencies after the installation","allowNo":false},"remove":{"name":"remove","type":"boolean","description":"remove calamares and its dependencies","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme/branding for eggs and calamares","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"config":{"id":"config","description":"Configure and install prerequisites deb packages to run it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs config","sudo eggs config --clean","sudo eggs config --clean --nointeractive"],"flags":{"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create new one","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"cuckoo":{"id":"cuckoo","description":"PXE start with proxy-dhcp","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs cuckoo"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"dad":{"id":"dad","description":"ask help from daddy - TUI configuration helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo dad","sudo dad --clean","sudo dad --default"],"flags":{"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create","allowNo":false},"default":{"name":"default","type":"boolean","char":"d","description":"remove old configuration and force default","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"install":{"id":"install","description":"krill: the CLI system installer - the egg became a penguin!","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs install","sudo eggs install --unattended --halt","sudo eggs install --custom it"],"flags":{"crypted":{"name":"crypted","type":"boolean","char":"k","description":"Crypted CLI installation","allowNo":false},"custom":{"name":"custom","type":"option","char":"c","description":"custom unattended configuration","multiple":false},"domain":{"name":"domain","type":"option","char":"d","description":"Domain name, defult: .local","multiple":false},"halt":{"name":"halt","type":"boolean","char":"H","description":"Halt the system after installation","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"ip":{"name":"ip","type":"boolean","char":"i","description":"hostname as ip, eg: ip-192-168-1-33","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"none":{"name":"none","type":"boolean","char":"N","description":"Swap none: 256M","allowNo":false},"pve":{"name":"pve","type":"boolean","char":"p","description":"Proxmox VE install","allowNo":false},"random":{"name":"random","type":"boolean","char":"r","description":"Add random to hostname, eg: colibri-ay412dt","allowNo":false},"small":{"name":"small","type":"boolean","char":"s","description":"Swap small: RAM","allowNo":false},"suspend":{"name":"suspend","type":"boolean","char":"S","description":"Swap suspend: RAM x 2","allowNo":false},"unattended":{"name":"unattended","type":"boolean","char":"u","description":"Unattended installation","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose","allowNo":false}},"args":[]},"kill":{"id":"kill","description":"kill the eggs/free the nest","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs kill"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"mom":{"id":"mom","description":"ask help from mommy - TUI helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs mom"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"produce":{"id":"produce","description":"produce a live image from your system whithout your data","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs produce","sudo eggs produce --standard","sudo eggs produce --max","sudo eggs produce --max --basename=colibri","sudo eggs produce --cryptedclone","sudo eggs produce --clone","sudo eggs produce --basename=colibri","sudo eggs produce --basename=colibri --theme /path/to/theme --addons adapt"],"flags":{"addons":{"name":"addons","type":"option","description":"addons to be used: adapt, ichoice, pve, rsupport","multiple":true},"basename":{"name":"basename","type":"option","description":"basename","multiple":false},"clone":{"name":"clone","type":"boolean","char":"c","description":"clone","allowNo":false},"cryptedclone":{"name":"cryptedclone","type":"boolean","char":"C","description":"crypted clone","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"max":{"name":"max","type":"boolean","char":"m","description":"max compression","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"prefix":{"name":"prefix","type":"option","char":"p","description":"prefix","multiple":false},"release":{"name":"release","type":"boolean","description":"release: max compression, remove penguins-eggs and calamares after installation","allowNo":false},"script":{"name":"script","type":"boolean","char":"s","description":"script mode. Generate scripts to manage iso build","allowNo":false},"standard":{"name":"standard","type":"boolean","char":"f","description":"standard compression","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme for livecd, calamares branding and partitions","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false},"yolk":{"name":"yolk","type":"boolean","char":"y","description":"-y force yolk renew","allowNo":false}},"args":[]},"status":{"id":"status","description":"informations about eggs status","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs status"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"syncfrom":{"id":"syncfrom","description":"restore users and user data from a LUKS volumes","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs syncfrom","sudo eggs syncfrom --file /path/to/fileLUKS"],"flags":{"delete":{"name":"delete","type":"option","description":"rsync --delete delete extraneous files from dest dirs","multiple":false},"file":{"name":"file","type":"option","char":"f","description":"file LUKS volume encrypted","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"rootdir":{"name":"rootdir","type":"option","char":"r","description":"rootdir of the installed system, when used from live","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"syncto":{"id":"syncto","description":"saves users and user data in a LUKS volume inside the iso","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs syncto","sudo eggs syncto --file /path/to/fileLUKS"],"flags":{"delete":{"name":"delete","type":"option","description":"rsync --delete delete extraneous files from dest dirs","multiple":false},"file":{"name":"file","type":"option","char":"f","description":"file LUKS volume encrypted","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"update":{"id":"update","description":"update the Penguins' eggs tool","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs update"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"export:deb":{"id":"export:deb","description":"export deb/docs/iso to the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs export deb","eggs export deb --clean","eggs export deb --all"],"flags":{"all":{"name":"all","type":"boolean","char":"a","description":"export all archs","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old .deb before to copy","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"export:iso":{"id":"export:iso","description":"export iso in the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs export iso","eggs export iso --clean"],"flags":{"clean":{"name":"clean","type":"boolean","char":"c","description":"delete old ISOs before to copy","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:clean":{"id":"tools:clean","description":"clean system log, apt, etc","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs tools clean"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:ppa":{"id":"tools:ppa","description":"add/remove PPA repositories (Debian family)","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs tools ppa --add","sudo eggs tools ppa --remove"],"flags":{"add":{"name":"add","type":"boolean","char":"a","description":"add penguins-eggs PPA repository","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"remove":{"name":"remove","type":"boolean","char":"r","description":"remove penguins-eggs PPA repository","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:skel":{"id":"tools:skel","description":"update skel from home configuration","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs tools skel","sudo eggs tools skel --user user-to-be-copied"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"user":{"name":"user","type":"option","char":"u","description":"user to be used","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"tools:stat":{"id":"tools:stat","description":"get statistics from sourceforge","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs tools stat","eggs tools stat --month","eggs tools stat --year"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"month":{"name":"month","type":"boolean","char":"m","description":"current month","allowNo":false},"year":{"name":"year","type":"boolean","char":"y","description":"current year","allowNo":false}},"args":[]},"tools:yolk":{"id":"tools:yolk","description":"configure eggs to install without internet","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs tools yolk"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[],"dir":"/var/local/yolk"},"wardrobe:get":{"id":"wardrobe:get","description":"get warorobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs wardrobe get","eggs wardrobe get your-wardrobe"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[{"name":"repo","description":"repository to get","required":false}]},"wardrobe:list":{"id":"wardrobe:list","description":"list costumes and accessoires in wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs wardrobe list","eggs wardrobe list your-wardrobe","eggs wardrobe list --distro arch"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"distro":{"name":"distro","type":"option","char":"d","description":"distro","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[{"name":"wardrobe","description":"wardrobe","required":false}]},"wardrobe:show":{"id":"wardrobe:show","description":"show costumes/accessories in wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs wardrobe show colibri","eggs wardrobe show accessories/firmwares","eggs wardrobe show accessories/"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"json":{"name":"json","type":"boolean","char":"j","description":"output JSON","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false}},"args":[{"name":"costume","description":"costume","required":false}],"example":["eggs wardrobe show colibri","eggs wardrobe show accessories/firmwares","eggs wardrobe show accessories/"]},"wardrobe:wear":{"id":"wardrobe:wear","description":"wear costume/accessories from wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs wardrobe wear duck","sudo eggs wardrobe wear accessories/firmwares","sudo eggs wardrobe wear wagtail/waydroid"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"no_accessories":{"name":"no_accessories","type":"boolean","char":"a","description":"not install accessories","allowNo":false},"no_firmwares":{"name":"no_firmwares","type":"boolean","char":"f","description":"not install firmwares","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false}},"args":[{"name":"costume","description":"costume","required":false}]}}}
|
|
1
|
+
{"version":"9.5.2","commands":{"adapt":{"id":"adapt","description":"adapt monitor resolution for VM only","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs adapt"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"analyze":{"id":"analyze","description":"analyze for syncto","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs analyze"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"calamares":{"id":"calamares","description":"configure calamares or install or configure it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs calamares","sudo eggs calamares --install","sudo eggs calamares --install --theme=/path/to/theme","sudo eggs calamares --remove"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"install":{"name":"install","type":"boolean","char":"i","description":"install calamares and its dependencies","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"release":{"name":"release","type":"boolean","char":"r","description":"release: remove calamares and all its dependencies after the installation","allowNo":false},"remove":{"name":"remove","type":"boolean","description":"remove calamares and its dependencies","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme/branding for eggs and calamares","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"config":{"id":"config","description":"Configure and install prerequisites deb packages to run it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs config","sudo eggs config --clean","sudo eggs config --clean --nointeractive"],"flags":{"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create new one","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"cuckoo":{"id":"cuckoo","description":"PXE start with proxy-dhcp","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs cuckoo"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"dad":{"id":"dad","description":"ask help from daddy - TUI configuration helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo dad","sudo dad --clean","sudo dad --default"],"flags":{"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create","allowNo":false},"default":{"name":"default","type":"boolean","char":"d","description":"remove old configuration and force default","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"install":{"id":"install","description":"krill: the CLI system installer - the egg became a penguin!","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs install","sudo eggs install --unattended --halt","sudo eggs install --custom it"],"flags":{"crypted":{"name":"crypted","type":"boolean","char":"k","description":"Crypted CLI installation","allowNo":false},"custom":{"name":"custom","type":"option","char":"c","description":"custom unattended configuration","multiple":false},"domain":{"name":"domain","type":"option","char":"d","description":"Domain name, defult: .local","multiple":false},"halt":{"name":"halt","type":"boolean","char":"H","description":"Halt the system after installation","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"ip":{"name":"ip","type":"boolean","char":"i","description":"hostname as ip, eg: ip-192-168-1-33","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"none":{"name":"none","type":"boolean","char":"N","description":"Swap none: 256M","allowNo":false},"pve":{"name":"pve","type":"boolean","char":"p","description":"Proxmox VE install","allowNo":false},"random":{"name":"random","type":"boolean","char":"r","description":"Add random to hostname, eg: colibri-ay412dt","allowNo":false},"small":{"name":"small","type":"boolean","char":"s","description":"Swap small: RAM","allowNo":false},"suspend":{"name":"suspend","type":"boolean","char":"S","description":"Swap suspend: RAM x 2","allowNo":false},"unattended":{"name":"unattended","type":"boolean","char":"u","description":"Unattended installation","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose","allowNo":false}},"args":[]},"kill":{"id":"kill","description":"kill the eggs/free the nest","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs kill"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"mom":{"id":"mom","description":"ask help from mommy - TUI helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs mom"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"produce":{"id":"produce","description":"produce a live image from your system whithout your data","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs produce","sudo eggs produce --standard","sudo eggs produce --max","sudo eggs produce --max --basename=colibri","sudo eggs produce --cryptedclone","sudo eggs produce --clone","sudo eggs produce --basename=colibri","sudo eggs produce --basename=colibri --theme /path/to/theme --addons adapt"],"flags":{"addons":{"name":"addons","type":"option","description":"addons to be used: adapt, ichoice, pve, rsupport","multiple":true},"basename":{"name":"basename","type":"option","description":"basename","multiple":false},"clone":{"name":"clone","type":"boolean","char":"c","description":"clone","allowNo":false},"cryptedclone":{"name":"cryptedclone","type":"boolean","char":"C","description":"crypted clone","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"max":{"name":"max","type":"boolean","char":"m","description":"max compression","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"prefix":{"name":"prefix","type":"option","char":"p","description":"prefix","multiple":false},"release":{"name":"release","type":"boolean","description":"release: max compression, remove penguins-eggs and calamares after installation","allowNo":false},"script":{"name":"script","type":"boolean","char":"s","description":"script mode. Generate scripts to manage iso build","allowNo":false},"standard":{"name":"standard","type":"boolean","char":"f","description":"standard compression","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme for livecd, calamares branding and partitions","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false},"yolk":{"name":"yolk","type":"boolean","char":"y","description":"-y force yolk renew","allowNo":false}},"args":[]},"status":{"id":"status","description":"informations about eggs status","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs status"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"syncfrom":{"id":"syncfrom","description":"restore users and user data from a LUKS volumes","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs syncfrom","sudo eggs syncfrom --file /path/to/fileLUKS"],"flags":{"delete":{"name":"delete","type":"option","description":"rsync --delete delete extraneous files from dest dirs","multiple":false},"file":{"name":"file","type":"option","char":"f","description":"file LUKS volume encrypted","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"rootdir":{"name":"rootdir","type":"option","char":"r","description":"rootdir of the installed system, when used from live","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"syncto":{"id":"syncto","description":"saves users and user data in a LUKS volume inside the iso","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs syncto","sudo eggs syncto --file /path/to/fileLUKS"],"flags":{"delete":{"name":"delete","type":"option","description":"rsync --delete delete extraneous files from dest dirs","multiple":false},"file":{"name":"file","type":"option","char":"f","description":"file LUKS volume encrypted","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"update":{"id":"update","description":"update the Penguins' eggs tool","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs update"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"export:deb":{"id":"export:deb","description":"export deb/docs/iso to the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs export deb","eggs export deb --clean","eggs export deb --all"],"flags":{"all":{"name":"all","type":"boolean","char":"a","description":"export all archs","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old .deb before to copy","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"export:iso":{"id":"export:iso","description":"export iso in the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs export iso","eggs export iso --clean"],"flags":{"clean":{"name":"clean","type":"boolean","char":"c","description":"delete old ISOs before to copy","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:clean":{"id":"tools:clean","description":"clean system log, apt, etc","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs tools clean"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:ppa":{"id":"tools:ppa","description":"add/remove PPA repositories (Debian family)","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs tools ppa --add","sudo eggs tools ppa --remove"],"flags":{"add":{"name":"add","type":"boolean","char":"a","description":"add penguins-eggs PPA repository","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"remove":{"name":"remove","type":"boolean","char":"r","description":"remove penguins-eggs PPA repository","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:skel":{"id":"tools:skel","description":"update skel from home configuration","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs tools skel","sudo eggs tools skel --user user-to-be-copied"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"user":{"name":"user","type":"option","char":"u","description":"user to be used","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"tools:stat":{"id":"tools:stat","description":"get statistics from sourceforge","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs tools stat","eggs tools stat --month","eggs tools stat --year"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"month":{"name":"month","type":"boolean","char":"m","description":"current month","allowNo":false},"year":{"name":"year","type":"boolean","char":"y","description":"current year","allowNo":false}},"args":[]},"tools:yolk":{"id":"tools:yolk","description":"configure eggs to install without internet","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs tools yolk"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[],"dir":"/var/local/yolk"},"wardrobe:get":{"id":"wardrobe:get","description":"get warorobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs wardrobe get","eggs wardrobe get your-wardrobe"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[{"name":"repo","description":"repository to get","required":false}]},"wardrobe:list":{"id":"wardrobe:list","description":"list costumes and accessoires in wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs wardrobe list","eggs wardrobe list your-wardrobe","eggs wardrobe list --distro arch"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"distro":{"name":"distro","type":"option","char":"d","description":"distro","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[{"name":"wardrobe","description":"wardrobe","required":false}]},"wardrobe:show":{"id":"wardrobe:show","description":"show costumes/accessories in wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs wardrobe show colibri","eggs wardrobe show accessories/firmwares","eggs wardrobe show accessories/"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"json":{"name":"json","type":"boolean","char":"j","description":"output JSON","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false}},"args":[{"name":"costume","description":"costume","required":false}],"example":["eggs wardrobe show colibri","eggs wardrobe show accessories/firmwares","eggs wardrobe show accessories/"]},"wardrobe:wear":{"id":"wardrobe:wear","description":"wear costume/accessories from wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs wardrobe wear duck","sudo eggs wardrobe wear accessories/firmwares","sudo eggs wardrobe wear wagtail/waydroid"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"no_accessories":{"name":"no_accessories","type":"boolean","char":"a","description":"not install accessories","allowNo":false},"no_firmwares":{"name":"no_firmwares","type":"boolean","char":"f","description":"not install firmwares","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false}},"args":[{"name":"costume","description":"costume","required":false}]}}}
|
package/README.md
CHANGED
|
@@ -42,7 +42,7 @@ See [penguins-wardrobe](https://github.com/pieroproietti/penguins-wardrobe), for
|
|
|
42
42
|
|
|
43
43
|
eggs is written mostly in typescript and ideally can be used with different Linux distributions. Yes, there are big differences in terms of package manager used, path, etc, but basically the various programs used to build the live are the same.
|
|
44
44
|
|
|
45
|
-
Currently eggs supports: [Debian](https://www.debian.org/), [Devuan](https://www.devuan.org/), [Ubuntu](https://ubuntu.com/), [Arch](https://archlinux.org/), [Manjaro](https://manjaro.org/) and [
|
|
45
|
+
Currently eggs supports: [Debian](https://www.debian.org/), [Devuan](https://www.devuan.org/), [Ubuntu](https://ubuntu.com/), [Arch](https://archlinux.org/), [Manjaro](https://manjaro.org/) and [derivatives](./conf/derivatives.yaml).
|
|
46
46
|
|
|
47
47
|
You can read more on the [blog](https://penguins-eggs.net/blog/distros-that-can-be-remastered-with-eggs), some examples of iso images remastered with eggs are in the [sourceforge page of the project](https://sourceforge.net/projects/penguins-eggs/files/ISOS/).
|
|
48
48
|
|
|
@@ -135,16 +135,14 @@ If you are using penguins-eggs-ppa You can ugrade eggs as others packages just:
|
|
|
135
135
|
|
|
136
136
|
|
|
137
137
|
## Arch families
|
|
138
|
-
eggs has been present in AUR for a long time, even without my knowledge thanks the support of Arch peoples. I am currently directly maintaining the AUR version of [penguins-eggs](https://aur.archlinux.org/packages/penguins-eggs) and I'm participating in the [Manjaro Community Repository](https://gitlab.manjaro.org/packages/community/penguins-eggs).
|
|
138
|
+
eggs has been present in [AUR](https://aur.archlinux.org/) for a long time, even without my knowledge thanks the support of Arch peoples. I am currently directly maintaining the AUR version of [penguins-eggs](https://aur.archlinux.org/packages/penguins-eggs) and I'm participating in the [Manjaro Community Repository](https://gitlab.manjaro.org/packages/community/penguins-eggs).
|
|
139
139
|
|
|
140
140
|
The development versions of penguins eggs and other PKGBUILDs are instead in my [penguins-eggs-pkgbuilds](https://github.com/pieroproietti/penguins-eggs-pkgbuilds) repository.
|
|
141
141
|
|
|
142
142
|
### Arch
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
yay penguins-eggs
|
|
146
|
-
```
|
|
147
|
-
Or, in more traditional way:
|
|
143
|
+
It's possible to install penguins-eggs from [AUR](https://aur.archlinux.org/packages/penguins-eggs) adding repo [Chaotic-AUR](https://aur.chaotic.cx/) and using `sudo pacman -Sy penguins-eggs`.
|
|
144
|
+
|
|
145
|
+
Of course you can also use yay: `yay penguins-eggs` or download the sources and run makepkg:
|
|
148
146
|
|
|
149
147
|
```
|
|
150
148
|
git clone https://aur.archlinux.org/packages/penguins-eggs
|
|
@@ -152,7 +150,7 @@ cd penguins-eggs
|
|
|
152
150
|
makepkg -srcCi
|
|
153
151
|
```
|
|
154
152
|
### Manjaro
|
|
155
|
-
From penguins-eggs v9.4.3 the package is part of the [Manjaro community](https://gitlab.manjaro.org/packages/community/penguins-eggs) repo and can be installed with
|
|
153
|
+
From penguins-eggs v9.4.3 the package is part of the [Manjaro community](https://gitlab.manjaro.org/packages/community/penguins-eggs) repo and can be installed with `pamac install penguins-eggs`, alternatively you can download it and:
|
|
156
154
|
```
|
|
157
155
|
git clone https://gitlab.manjaro.org/packages/community/penguins-eggs/
|
|
158
156
|
cd penguins-eggs
|
|
@@ -2,23 +2,18 @@
|
|
|
2
2
|
# eggs: grub.template.cfg
|
|
3
3
|
#
|
|
4
4
|
|
|
5
|
-
# ieee1275_fb.mod vbe.mod vga.mod not found
|
|
6
|
-
|
|
7
5
|
if loadfont $prefix/font.pf2 ; then
|
|
8
|
-
set gfxmode=
|
|
6
|
+
set gfxmode=1024x768x32
|
|
9
7
|
insmod efi_gop
|
|
10
8
|
insmod efi_uga
|
|
9
|
+
insmod video_bochs
|
|
10
|
+
insmod video_cirrus
|
|
11
11
|
insmod gfxterm
|
|
12
12
|
insmod jpeg
|
|
13
13
|
insmod png
|
|
14
|
-
insmod video_bochs
|
|
15
|
-
insmod video_cirrus
|
|
16
14
|
terminal_output gfxterm
|
|
17
15
|
fi
|
|
18
16
|
|
|
19
|
-
set default=0
|
|
20
|
-
set timeout=2
|
|
21
|
-
set timeout_style=hidden
|
|
22
17
|
set theme=/boot/grub/theme.cfg
|
|
23
18
|
|
|
24
19
|
menuentry "{{{fullname}}}" {
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const fs_1 = __importDefault(require("fs"));
|
|
7
|
+
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
8
|
+
/**
|
|
9
|
+
* cfs
|
|
10
|
+
*/
|
|
11
|
+
class CFS {
|
|
12
|
+
/**
|
|
13
|
+
* steps
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
steps() {
|
|
17
|
+
let configRoot = '/etc/penguins-eggs.d/krill/';
|
|
18
|
+
if (fs_1.default.existsSync('/etc/calamares/settings.conf')) {
|
|
19
|
+
configRoot = '/etc/calamares/';
|
|
20
|
+
}
|
|
21
|
+
const cfs = [];
|
|
22
|
+
const settingsVar = fs_1.default.readFileSync(`${configRoot}settings.conf`, 'utf8');
|
|
23
|
+
const settingsYaml = js_yaml_1.default.load(settingsVar);
|
|
24
|
+
const execSequence = settingsYaml.sequence[1];
|
|
25
|
+
const steps = execSequence.exec;
|
|
26
|
+
for (const step of steps) {
|
|
27
|
+
if (step.includes('cfs-')) {
|
|
28
|
+
cfs.push(step);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return cfs;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.default = CFS;
|
package/dist/classes/distro.js
CHANGED
|
@@ -190,7 +190,8 @@ class Distro {
|
|
|
190
190
|
case 'Qonos':
|
|
191
191
|
case 'Ruah':
|
|
192
192
|
case 'Sikaris':
|
|
193
|
-
case 'Talos':
|
|
193
|
+
case 'Talos':
|
|
194
|
+
case 'UltimaThule': {
|
|
194
195
|
// Manjaro Linux
|
|
195
196
|
this.familyId = 'archlinux';
|
|
196
197
|
this.distroLike = 'Arch';
|
|
@@ -235,7 +236,7 @@ class Distro {
|
|
|
235
236
|
}
|
|
236
237
|
}
|
|
237
238
|
/**
|
|
238
|
-
* setting paths: syslinux, isolinux,
|
|
239
|
+
* setting paths: syslinux, isolinux, usrLibPath
|
|
239
240
|
*/
|
|
240
241
|
switch (this.familyId) {
|
|
241
242
|
case 'debian': {
|
|
@@ -249,24 +250,14 @@ class Distro {
|
|
|
249
250
|
}
|
|
250
251
|
break;
|
|
251
252
|
}
|
|
252
|
-
case 'fedora': {
|
|
253
|
-
this.syslinuxPath = '/usr/share/syslinux/';
|
|
254
|
-
this.isolinuxPath = this.syslinuxPath;
|
|
255
|
-
break;
|
|
256
|
-
}
|
|
257
253
|
case 'archlinux': {
|
|
258
254
|
this.syslinuxPath = '/usr/lib/syslinux/bios/';
|
|
259
255
|
this.pxelinuxPath = this.syslinuxPath;
|
|
256
|
+
this.usrLibPath = '/usr/lib/';
|
|
260
257
|
this.memdiskPath = this.syslinuxPath;
|
|
261
258
|
this.isolinuxPath = this.syslinuxPath;
|
|
262
259
|
break;
|
|
263
260
|
}
|
|
264
|
-
case 'suse': {
|
|
265
|
-
this.syslinuxPath = '/usr/share/syslinux/';
|
|
266
|
-
this.isolinuxPath = this.syslinuxPath;
|
|
267
|
-
this.usrLibPath = '/usr/lib64/';
|
|
268
|
-
break;
|
|
269
|
-
}
|
|
270
261
|
// No default
|
|
271
262
|
}
|
|
272
263
|
/**
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* penguins-eggs: bionic.ts
|
|
4
|
-
*
|
|
5
|
-
* author: Piero Proietti
|
|
6
|
-
* mail: piero.proietti@gmail.com
|
|
7
|
-
*/
|
|
8
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
4
|
};
|
|
11
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
6
|
exports.Bionic = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* penguins-eggs: bionic.ts
|
|
9
|
+
* author: Piero Proietti
|
|
10
|
+
* mail: piero.proietti@gmail.com
|
|
11
|
+
*/
|
|
12
|
+
const cfs_1 = __importDefault(require("../../cfs"));
|
|
13
13
|
const fisherman_1 = __importDefault(require("../fisherman"));
|
|
14
14
|
/**
|
|
15
15
|
*
|
|
@@ -65,6 +65,16 @@ class Bionic {
|
|
|
65
65
|
await fisherman.moduleRemoveuser(this.user_opt); //
|
|
66
66
|
await fisherman.buildCalamaresModule('sources-yolk-undo', false);
|
|
67
67
|
await fisherman.buildCalamaresModule('cleanup', true);
|
|
68
|
+
/**
|
|
69
|
+
* cfs: custom final steps
|
|
70
|
+
*/
|
|
71
|
+
const cfs = new cfs_1.default();
|
|
72
|
+
const steps = cfs.steps();
|
|
73
|
+
if (steps.length > 0) {
|
|
74
|
+
for (const step of steps) {
|
|
75
|
+
await fisherman.buildCalamaresModule(step, true, this.theme);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
68
78
|
await fisherman.buildModule('umount');
|
|
69
79
|
await fisherman.buildModule('finished');
|
|
70
80
|
}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* penguins-eggs: buster.ts
|
|
4
|
-
*
|
|
5
|
-
* it work both: buster, bullseye
|
|
6
|
-
*
|
|
7
|
-
* author: Piero Proietti
|
|
8
|
-
* mail: piero.proietti@gmail.com
|
|
9
|
-
*/
|
|
10
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
11
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
12
4
|
};
|
|
13
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
6
|
exports.Buster = void 0;
|
|
15
|
-
|
|
7
|
+
/**
|
|
8
|
+
* penguins-eggs: buster.ts
|
|
9
|
+
* author: Piero Proietti
|
|
10
|
+
* mail: piero.proietti@gmail.com
|
|
11
|
+
*/
|
|
12
|
+
const cfs_1 = __importDefault(require("../../cfs"));
|
|
16
13
|
const fisherman_1 = __importDefault(require("../fisherman"));
|
|
17
14
|
/**
|
|
18
15
|
*
|
|
@@ -71,9 +68,10 @@ class Buster {
|
|
|
71
68
|
await fisherman.buildCalamaresModule('sources-yolk-undo', false);
|
|
72
69
|
await fisherman.buildCalamaresModule('cleanup', true);
|
|
73
70
|
/**
|
|
74
|
-
* custom
|
|
71
|
+
* cfs: custom final steps
|
|
75
72
|
*/
|
|
76
|
-
const
|
|
73
|
+
const cfs = new cfs_1.default();
|
|
74
|
+
const steps = cfs.steps();
|
|
77
75
|
if (steps.length > 0) {
|
|
78
76
|
for (const step of steps) {
|
|
79
77
|
await fisherman.buildCalamaresModule(step, true, this.theme);
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* penguins-eggs: focal.ts
|
|
4
|
-
* used for: groovy, hirsute
|
|
5
|
-
* author: Piero Proietti
|
|
6
|
-
* mail: piero.proietti@gmail.com
|
|
7
|
-
*/
|
|
8
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
4
|
};
|
|
11
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
6
|
exports.Focal = void 0;
|
|
13
7
|
const fisherman_1 = __importDefault(require("../fisherman"));
|
|
14
|
-
const
|
|
8
|
+
const cfs_1 = __importDefault(require("../../cfs"));
|
|
15
9
|
/**
|
|
16
10
|
*
|
|
17
11
|
*/
|
|
@@ -69,9 +63,10 @@ class Focal {
|
|
|
69
63
|
await fisherman.buildCalamaresModule('sources-yolk-undo', false);
|
|
70
64
|
await fisherman.buildCalamaresModule('cleanup', true);
|
|
71
65
|
/**
|
|
72
|
-
* custom
|
|
66
|
+
* cfs: custom final steps
|
|
73
67
|
*/
|
|
74
|
-
const
|
|
68
|
+
const cfs = new cfs_1.default();
|
|
69
|
+
const steps = cfs.steps();
|
|
75
70
|
if (steps.length > 0) {
|
|
76
71
|
for (const step of steps) {
|
|
77
72
|
await fisherman.buildCalamaresModule(step, true, this.theme);
|
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* penguins-eggs: rolling.ts
|
|
4
|
-
*
|
|
5
|
-
* it work for archlinux, manjaro
|
|
6
|
-
*
|
|
7
|
-
* author: Piero Proietti
|
|
8
|
-
* mail: piero.proietti@gmail.com
|
|
9
4
|
*/
|
|
10
5
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
11
6
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
12
7
|
};
|
|
13
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
9
|
exports.Rolling = void 0;
|
|
10
|
+
const cfs_1 = __importDefault(require("../../cfs"));
|
|
15
11
|
const fisherman_1 = __importDefault(require("../fisherman"));
|
|
16
12
|
/**
|
|
17
13
|
*
|
|
@@ -67,6 +63,16 @@ class Rolling {
|
|
|
67
63
|
// await fisherman.buildModule('initramfs')
|
|
68
64
|
await fisherman.moduleRemoveuser(this.user_opt);
|
|
69
65
|
await fisherman.shellprocess('removelink');
|
|
66
|
+
/**
|
|
67
|
+
* cfs: custom final steps
|
|
68
|
+
*/
|
|
69
|
+
const cfs = new cfs_1.default();
|
|
70
|
+
const steps = cfs.steps();
|
|
71
|
+
if (steps.length > 0) {
|
|
72
|
+
for (const step of steps) {
|
|
73
|
+
await fisherman.buildCalamaresModule(step, true, this.theme);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
70
76
|
await fisherman.buildModule('umount');
|
|
71
77
|
await fisherman.moduleFinished();
|
|
72
78
|
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param theme
|
|
5
|
+
* @param isClone
|
|
6
|
+
*/
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.settings = void 0;
|
|
12
|
+
const fs_1 = __importDefault(require("fs"));
|
|
13
|
+
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
14
|
+
const shelljs_1 = __importDefault(require("shelljs"));
|
|
15
|
+
const displaymanager_1 = require("./displaymanager");
|
|
16
|
+
const utils_1 = __importDefault(require("../../utils"));
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
* @param src
|
|
20
|
+
* @param dest
|
|
21
|
+
* @param theme
|
|
22
|
+
* @param isClone
|
|
23
|
+
*/
|
|
24
|
+
async function settings(src, dest, theme = 'eggs', isClone = false) {
|
|
25
|
+
let branding = theme;
|
|
26
|
+
let settingsSrc = src + 'settings.yml';
|
|
27
|
+
if (theme.includes('/')) {
|
|
28
|
+
branding = theme.slice(Math.max(0, theme.lastIndexOf('/') + 1));
|
|
29
|
+
}
|
|
30
|
+
const settingsDest = dest + 'settings.conf';
|
|
31
|
+
shelljs_1.default.cp(settingsSrc, settingsDest);
|
|
32
|
+
let hasSystemd = '# ';
|
|
33
|
+
if (utils_1.default.isSystemd()) {
|
|
34
|
+
hasSystemd = '- ';
|
|
35
|
+
}
|
|
36
|
+
let createUsers = '- ';
|
|
37
|
+
if (isClone) {
|
|
38
|
+
createUsers = '# ';
|
|
39
|
+
}
|
|
40
|
+
let hasDisplaymanager = '# ';
|
|
41
|
+
if ((0, displaymanager_1.displaymanager)() !== '') {
|
|
42
|
+
hasDisplaymanager = '- ';
|
|
43
|
+
}
|
|
44
|
+
shelljs_1.default.sed('-i', '{{hasSystemd}}', hasSystemd, settingsDest);
|
|
45
|
+
shelljs_1.default.sed('-i', '{{hasDisplaymanager}}', hasDisplaymanager, settingsDest);
|
|
46
|
+
shelljs_1.default.sed('-i', '{{branding}}', branding, settingsDest);
|
|
47
|
+
shelljs_1.default.sed('-i', '{{createUsers}}', createUsers, settingsDest);
|
|
48
|
+
/**
|
|
49
|
+
* cfsAppend
|
|
50
|
+
*/
|
|
51
|
+
const cfsPath = `${theme}/theme/calamares/cfs.yml`;
|
|
52
|
+
if (fs_1.default.existsSync(cfsPath)) {
|
|
53
|
+
cfsAppend(cfsPath);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.settings = settings;
|
|
57
|
+
/**
|
|
58
|
+
*
|
|
59
|
+
*/
|
|
60
|
+
function cfsAppend(cfs) {
|
|
61
|
+
let soContent = fs_1.default.readFileSync('/etc/calamares/settings.conf', 'utf8');
|
|
62
|
+
let so = js_yaml_1.default.load(soContent);
|
|
63
|
+
const cfsContent = fs_1.default.readFileSync(cfs, 'utf8');
|
|
64
|
+
const cfsSteps = js_yaml_1.default.load(cfsContent);
|
|
65
|
+
const execSteps = so.sequence[1].exec;
|
|
66
|
+
for (const execStep of execSteps) {
|
|
67
|
+
if (execStep.includes('umount')) {
|
|
68
|
+
so.sequence[1].exec.pop(); // OK remove umount
|
|
69
|
+
/**
|
|
70
|
+
* insert cfsStep
|
|
71
|
+
*/
|
|
72
|
+
for (const cfsStep of cfsSteps) {
|
|
73
|
+
so.sequence[1].exec.push(cfsStep);
|
|
74
|
+
}
|
|
75
|
+
so.sequence[1].exec.push('end-cfs'); // we will replace with umount
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
fs_1.default.writeFileSync("/etc/calamares/settings.conf", js_yaml_1.default.dump(so), 'utf-8');
|
|
79
|
+
shelljs_1.default.sed('-i', 'end-cfs', 'umount', "/etc/calamares/settings.conf");
|
|
80
|
+
}
|
|
@@ -13,9 +13,8 @@ const node_fs_1 = __importDefault(require("node:fs"));
|
|
|
13
13
|
const shelljs_1 = __importDefault(require("shelljs"));
|
|
14
14
|
const node_path_1 = __importDefault(require("node:path"));
|
|
15
15
|
const chalk_1 = __importDefault(require("chalk"));
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const utils_2 = require("../../lib/utils");
|
|
16
|
+
const settings_1 = require("./fisherman-helper/settings");
|
|
17
|
+
const utils_1 = require("../../lib/utils");
|
|
19
18
|
class Fisherman {
|
|
20
19
|
constructor(distro, installer, verbose = false) {
|
|
21
20
|
this.installer = {};
|
|
@@ -28,37 +27,7 @@ class Fisherman {
|
|
|
28
27
|
* write setting
|
|
29
28
|
*/
|
|
30
29
|
async createCalamaresSettings(theme = 'eggs', isClone = false) {
|
|
31
|
-
|
|
32
|
-
let settingsSrc = this.installer.template + 'settings.yml';
|
|
33
|
-
if (theme.includes('/')) {
|
|
34
|
-
branding = theme.slice(Math.max(0, theme.lastIndexOf('/') + 1));
|
|
35
|
-
if (node_fs_1.default.existsSync(`${theme}/theme/calamares/settings.yml`)) {
|
|
36
|
-
settingsSrc = `${theme}/theme/calamares/settings.yml`;
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
console.log(`cannot find: ${theme}/theme/calamares/settings.yml`);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
// console.log('theme: ' + theme)
|
|
43
|
-
// console.log('settingsSrc: ' + settingsSrc)
|
|
44
|
-
const settingsDest = this.installer.configuration + 'settings.conf';
|
|
45
|
-
shelljs_1.default.cp(settingsSrc, settingsDest);
|
|
46
|
-
let hasSystemd = '# ';
|
|
47
|
-
if (utils_1.default.isSystemd()) {
|
|
48
|
-
hasSystemd = '- ';
|
|
49
|
-
}
|
|
50
|
-
let createUsers = '- ';
|
|
51
|
-
if (isClone) {
|
|
52
|
-
createUsers = '# ';
|
|
53
|
-
}
|
|
54
|
-
let hasDisplaymanager = '# ';
|
|
55
|
-
if ((0, displaymanager_1.displaymanager)() !== '') {
|
|
56
|
-
hasDisplaymanager = '- ';
|
|
57
|
-
}
|
|
58
|
-
shelljs_1.default.sed('-i', '{{hasSystemd}}', hasSystemd, settingsDest);
|
|
59
|
-
shelljs_1.default.sed('-i', '{{hasDisplaymanager}}', hasDisplaymanager, settingsDest);
|
|
60
|
-
shelljs_1.default.sed('-i', '{{branding}}', branding, settingsDest);
|
|
61
|
-
shelljs_1.default.sed('-i', '{{createUsers}}', createUsers, settingsDest);
|
|
30
|
+
await (0, settings_1.settings)(this.installer.template, this.installer.configRoot, theme, isClone);
|
|
62
31
|
}
|
|
63
32
|
/**
|
|
64
33
|
*
|
|
@@ -158,7 +127,7 @@ class Fisherman {
|
|
|
158
127
|
shelljs_1.default.cp(`${moduleTemplate}/module.yml`, `${moduleDest}/module.desc`);
|
|
159
128
|
if (isScript) {
|
|
160
129
|
shelljs_1.default.cp(`${moduleTemplate}/${name}.sh`, moduleScript);
|
|
161
|
-
await (0,
|
|
130
|
+
await (0, utils_1.exec)(`chmod +x ${moduleScript}`);
|
|
162
131
|
}
|
|
163
132
|
return moduleScript;
|
|
164
133
|
}
|
|
@@ -177,7 +146,7 @@ class Fisherman {
|
|
|
177
146
|
shelljs_1.default.cp(`${moduleSource}/module.yml`, `${moduleDest}/module.desc`);
|
|
178
147
|
shelljs_1.default.cp(`${moduleSource}/${name}.yml`, `${moduleDest}/${name}.conf`);
|
|
179
148
|
shelljs_1.default.cp(`${moduleSource}/main.py`, moduleDest);
|
|
180
|
-
await (0,
|
|
149
|
+
await (0, utils_1.exec)(`chmod +x ${moduleSource}/main.py`);
|
|
181
150
|
}
|
|
182
151
|
/**
|
|
183
152
|
*
|
|
@@ -138,10 +138,10 @@ class Incubator {
|
|
|
138
138
|
if (this.installer.name !== 'calamares') {
|
|
139
139
|
// Remove krill configuration and multiarc if present
|
|
140
140
|
try {
|
|
141
|
-
shelljs_1.default.exec('rm ' + this.installer.
|
|
141
|
+
shelljs_1.default.exec('rm ' + this.installer.configRoot + ' -rf');
|
|
142
142
|
}
|
|
143
143
|
catch (error) {
|
|
144
|
-
console.log('error: ' + error + ' removing ' + this.installer.
|
|
144
|
+
console.log('error: ' + error + ' removing ' + this.installer.configRoot + ' -rf');
|
|
145
145
|
}
|
|
146
146
|
try {
|
|
147
147
|
shelljs_1.default.exec('rm ' + this.installer.multiarch + ' -rf');
|
|
@@ -151,36 +151,36 @@ class Incubator {
|
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
153
|
// rootConfiguration krill calamares
|
|
154
|
-
if (!node_fs_1.default.existsSync(this.installer.
|
|
154
|
+
if (!node_fs_1.default.existsSync(this.installer.configRoot)) {
|
|
155
155
|
try {
|
|
156
|
-
node_fs_1.default.mkdirSync(this.installer.
|
|
156
|
+
node_fs_1.default.mkdirSync(this.installer.configRoot);
|
|
157
157
|
}
|
|
158
158
|
catch (error) {
|
|
159
|
-
console.log('error: ' + error + ' creating ' + this.installer.
|
|
159
|
+
console.log('error: ' + error + ' creating ' + this.installer.configRoot);
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
|
-
if (!node_fs_1.default.existsSync(this.installer.
|
|
162
|
+
if (!node_fs_1.default.existsSync(this.installer.configRoot + 'branding')) {
|
|
163
163
|
try {
|
|
164
|
-
node_fs_1.default.mkdirSync(this.installer.
|
|
164
|
+
node_fs_1.default.mkdirSync(this.installer.configRoot + 'branding');
|
|
165
165
|
}
|
|
166
166
|
catch (error) {
|
|
167
|
-
console.log('error: ' + error + ' creating ' + this.installer.
|
|
167
|
+
console.log('error: ' + error + ' creating ' + this.installer.configRoot + 'branding');
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
|
-
if (!node_fs_1.default.existsSync(this.installer.
|
|
170
|
+
if (!node_fs_1.default.existsSync(this.installer.configRoot + 'branding/eggs')) {
|
|
171
171
|
try {
|
|
172
|
-
node_fs_1.default.mkdirSync(this.installer.
|
|
172
|
+
node_fs_1.default.mkdirSync(this.installer.configRoot + 'branding/eggs');
|
|
173
173
|
}
|
|
174
174
|
catch (error) {
|
|
175
|
-
console.log('error: ' + error + ' creating ' + this.installer.
|
|
175
|
+
console.log('error: ' + error + ' creating ' + this.installer.configRoot + 'branding/eggs');
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
|
-
if (!node_fs_1.default.existsSync(this.installer.
|
|
178
|
+
if (!node_fs_1.default.existsSync(this.installer.configRoot + 'modules')) {
|
|
179
179
|
try {
|
|
180
|
-
node_fs_1.default.mkdirSync(this.installer.
|
|
180
|
+
node_fs_1.default.mkdirSync(this.installer.configRoot + 'modules');
|
|
181
181
|
}
|
|
182
182
|
catch (error) {
|
|
183
|
-
console.log('error: ' + error + ' creating ' + this.installer.
|
|
183
|
+
console.log('error: ' + error + ' creating ' + this.installer.configRoot + 'modules');
|
|
184
184
|
}
|
|
185
185
|
}
|
|
186
186
|
if (!node_fs_1.default.existsSync(this.installer.multiarch)) {
|
|
@@ -209,16 +209,16 @@ class Incubator {
|
|
|
209
209
|
}
|
|
210
210
|
// console.log(`calamaresBranding: ${calamaresBranding}`)
|
|
211
211
|
if (node_fs_1.default.existsSync(calamaresBranding)) {
|
|
212
|
-
if (!node_fs_1.default.existsSync(this.installer.
|
|
212
|
+
if (!node_fs_1.default.existsSync(this.installer.configRoot + `branding/${this.remix.branding}`)) {
|
|
213
213
|
try {
|
|
214
|
-
node_fs_1.default.mkdirSync(this.installer.
|
|
214
|
+
node_fs_1.default.mkdirSync(this.installer.configRoot + `branding/${this.remix.branding}`);
|
|
215
215
|
}
|
|
216
216
|
catch (error) {
|
|
217
|
-
console.log('error: ' + error + ' creating ' + this.installer.
|
|
217
|
+
console.log('error: ' + error + ' creating ' + this.installer.configRoot + `branding/${this.remix.branding}`);
|
|
218
218
|
}
|
|
219
219
|
}
|
|
220
220
|
// patch quirinux
|
|
221
|
-
shelljs_1.default.cp('-r', calamaresBranding + '/*', this.installer.
|
|
221
|
+
shelljs_1.default.cp('-r', calamaresBranding + '/*', this.installer.configRoot + `branding/${this.remix.branding}/`);
|
|
222
222
|
}
|
|
223
223
|
else {
|
|
224
224
|
console.log(calamaresBranding);
|
|
@@ -257,7 +257,7 @@ class Incubator {
|
|
|
257
257
|
*/
|
|
258
258
|
createBranding() {
|
|
259
259
|
const branding = require('./branding').branding;
|
|
260
|
-
const dir = this.installer.
|
|
260
|
+
const dir = this.installer.configRoot + 'branding/' + this.remix.branding + '/';
|
|
261
261
|
if (!node_fs_1.default.existsSync(dir)) {
|
|
262
262
|
shelljs_1.default.exec(dir + ' -p');
|
|
263
263
|
}
|
|
@@ -12,17 +12,22 @@ const pacman_1 = __importDefault(require("../../classes/pacman"));
|
|
|
12
12
|
*/
|
|
13
13
|
function installer() {
|
|
14
14
|
const installer = {};
|
|
15
|
+
// configRoot
|
|
16
|
+
installer.configRoot = '';
|
|
15
17
|
if (pacman_1.default.packageIsInstalled('calamares')) {
|
|
16
18
|
installer.name = 'calamares';
|
|
17
|
-
installer.
|
|
19
|
+
installer.configRoot = '/etc/calamares/';
|
|
18
20
|
installer.multiarch = multiarch() + 'calamares/';
|
|
19
21
|
}
|
|
20
22
|
else {
|
|
21
23
|
installer.name = 'krill';
|
|
22
|
-
installer.
|
|
23
|
-
|
|
24
|
+
installer.configRoot = '/etc/penguins-eggs.d/krill/';
|
|
25
|
+
/**
|
|
26
|
+
* renamed: was penguins-eggs
|
|
27
|
+
*/
|
|
28
|
+
installer.multiarch = multiarch() + 'krill/';
|
|
24
29
|
}
|
|
25
|
-
installer.modules = installer.
|
|
30
|
+
installer.modules = installer.configRoot + 'modules/';
|
|
26
31
|
installer.multiarchModules = installer.multiarch + 'modules/';
|
|
27
32
|
/**
|
|
28
33
|
* i template nelle versioni isCalamaresAvailable sono QUELLI di calamares
|
|
@@ -55,7 +55,7 @@ class Calamares extends core_1.Command {
|
|
|
55
55
|
process.exit();
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
console.log(`
|
|
58
|
+
console.log(`theme: ${theme}`);
|
|
59
59
|
const nointeractive = flags.nointeractive;
|
|
60
60
|
if (utils_1.default.isRoot(this.id)) {
|
|
61
61
|
let installer = 'krill';
|
|
@@ -105,7 +105,7 @@ class Calamares extends core_1.Command {
|
|
|
105
105
|
utils_1.default.warning('Configuring krill');
|
|
106
106
|
await this.settings.loadRemix(this.settings.config.snapshot_basename, theme);
|
|
107
107
|
this.incubator = new incubator_1.default(this.settings.remix, this.settings.distro, this.settings.config.user_opt, theme, verbose);
|
|
108
|
-
console.log('calamares
|
|
108
|
+
console.log('calamares release: ' + release);
|
|
109
109
|
await this.incubator.config(release);
|
|
110
110
|
}
|
|
111
111
|
}
|
|
@@ -60,7 +60,7 @@ const m_timezone_1 = __importDefault(require("./modules/m-timezone"));
|
|
|
60
60
|
const umount_1 = __importDefault(require("./modules/umount"));
|
|
61
61
|
const mkfs_1 = __importDefault(require("./modules/mkfs"));
|
|
62
62
|
const hostname_1 = __importDefault(require("./modules/hostname"));
|
|
63
|
-
const
|
|
63
|
+
const cfs_1 = __importDefault(require("../classes/cfs"));
|
|
64
64
|
/**
|
|
65
65
|
* hatching: installazione o cova!!!
|
|
66
66
|
*/
|
|
@@ -522,6 +522,24 @@ class Sequence {
|
|
|
522
522
|
catch (error) {
|
|
523
523
|
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
524
524
|
}
|
|
525
|
+
/**
|
|
526
|
+
* custom final steps
|
|
527
|
+
*/
|
|
528
|
+
const cfs = new cfs_1.default();
|
|
529
|
+
const steps = cfs.steps();
|
|
530
|
+
if (steps.length > 0) {
|
|
531
|
+
for (const step of steps) {
|
|
532
|
+
message = `running ${step}`;
|
|
533
|
+
percent = 0.97;
|
|
534
|
+
try {
|
|
535
|
+
await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
|
|
536
|
+
await this.execCalamaresModule(step);
|
|
537
|
+
}
|
|
538
|
+
catch (error) {
|
|
539
|
+
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
}
|
|
525
543
|
// umountVfs
|
|
526
544
|
message = "umount VFS";
|
|
527
545
|
percent = 0.96;
|
|
@@ -532,26 +550,6 @@ class Sequence {
|
|
|
532
550
|
catch (error) {
|
|
533
551
|
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
534
552
|
}
|
|
535
|
-
/**
|
|
536
|
-
* custom calamares modules
|
|
537
|
-
*/
|
|
538
|
-
const cm = (0, ccm_1.ccm)();
|
|
539
|
-
if (cm.length > 0) {
|
|
540
|
-
for (const step of cm) {
|
|
541
|
-
if (this.distro.familyId === 'debian') {
|
|
542
|
-
message = `running ${step}`;
|
|
543
|
-
percent = 0.97;
|
|
544
|
-
try {
|
|
545
|
-
await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
|
|
546
|
-
await this.execCalamaresModule(step);
|
|
547
|
-
}
|
|
548
|
-
catch (error) {
|
|
549
|
-
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
550
|
-
}
|
|
551
|
-
}
|
|
552
|
-
}
|
|
553
|
-
}
|
|
554
|
-
// umount
|
|
555
553
|
message = "umount";
|
|
556
554
|
percent = 0.98;
|
|
557
555
|
try {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "penguins-eggs",
|
|
3
3
|
"description": "Perri's Brewery edition: remaster your system and distribuite it",
|
|
4
|
-
"version": "9.
|
|
4
|
+
"version": "9.5.2",
|
|
5
5
|
"author": "Piero Proietti @pieroproietti",
|
|
6
6
|
"bin": {
|
|
7
7
|
"eggs": "bin/run"
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
"@oclif/plugin-autocomplete": "1.3.8",
|
|
14
14
|
"@oclif/plugin-help": "^5.2.8",
|
|
15
15
|
"@oclif/plugin-version": "1.2.1",
|
|
16
|
-
"@oclif/plugin-warn-if-update-available": "^2.0.
|
|
17
|
-
"@oclif/test": "^2.3.
|
|
16
|
+
"@oclif/plugin-warn-if-update-available": "^2.0.37",
|
|
17
|
+
"@oclif/test": "^2.3.22",
|
|
18
18
|
"axios": "^1.4.0",
|
|
19
19
|
"chalk": "^4.1.2",
|
|
20
20
|
"etrick": "0.0.3",
|
|
@@ -28,10 +28,10 @@
|
|
|
28
28
|
"node-static": "^0.7.11",
|
|
29
29
|
"react": "^18.2.0",
|
|
30
30
|
"shelljs": "0.8.5",
|
|
31
|
-
"systeminformation": "^5.
|
|
31
|
+
"systeminformation": "^5.18.3",
|
|
32
32
|
"tftp": "^0.1.2",
|
|
33
|
-
"tslib": "^2.5.
|
|
34
|
-
"typescript": "^5.
|
|
33
|
+
"tslib": "^2.5.3",
|
|
34
|
+
"typescript": "^5.1.3"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@tsconfig/recommended": "^1.0.2",
|
|
@@ -44,11 +44,11 @@
|
|
|
44
44
|
"@types/mocha": "^10.0.1",
|
|
45
45
|
"@types/mustache": "^4.2.2",
|
|
46
46
|
"@types/netmask": "^1.0.30",
|
|
47
|
-
"@types/node": "^18.16.
|
|
47
|
+
"@types/node": "^18.16.17",
|
|
48
48
|
"@types/node-static": "^0.7.7",
|
|
49
|
-
"@types/react": "^18.2.
|
|
49
|
+
"@types/react": "^18.2.9",
|
|
50
50
|
"@types/shelljs": "^0.8.12",
|
|
51
|
-
"@typescript-eslint/parser": "^5.59.
|
|
51
|
+
"@typescript-eslint/parser": "^5.59.9",
|
|
52
52
|
"chai": "^4.3.7",
|
|
53
53
|
"eslint": "^7",
|
|
54
54
|
"eslint-config-oclif": "^4.0.0",
|
package/dist/classes/ccm.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ccm = void 0;
|
|
7
|
-
const fs_1 = __importDefault(require("fs"));
|
|
8
|
-
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
9
|
-
/**
|
|
10
|
-
* custom calamares modules
|
|
11
|
-
*/
|
|
12
|
-
function ccm() {
|
|
13
|
-
const ccm = [];
|
|
14
|
-
const settingsVar = fs_1.default.readFileSync('/etc/calamares/settings.conf', 'utf8');
|
|
15
|
-
const settingsYaml = js_yaml_1.default.load(settingsVar);
|
|
16
|
-
const execSequence = settingsYaml.sequence[1];
|
|
17
|
-
const steps = execSequence.exec;
|
|
18
|
-
for (const step of steps) {
|
|
19
|
-
if (step.includes('ccm-')) {
|
|
20
|
-
ccm.push(step);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return ccm;
|
|
24
|
-
}
|
|
25
|
-
exports.ccm = ccm;
|
|
26
|
-
/**
|
|
27
|
-
*
|
|
28
|
-
*/
|