penguins-eggs 9.3.24 → 9.3.25
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 +29 -30
- package/dist/classes/incubation/fisherman.js +3 -6
- package/dist/classes/ovary.js +52 -31
- package/dist/classes/tools.js +1 -2
- package/dist/classes/utils.js +1 -1
- package/dist/commands/export/iso.js +0 -5
- package/dist/commands/produce.js +15 -17
- package/dist/commands/syncfrom.js +8 -8
- package/dist/commands/syncto.js +2 -2
- package/dist/krill/krill-sequence.js +124 -112
- package/package.json +1 -1
- package/scripts/_eggs +51 -52
- package/scripts/eggs.bash +16 -16
package/.oclif.manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"9.3.24","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 it's dependencies","allowNo":false},"release":{"name":"release","type":"boolean","char":"r","description":"release: remove calamares and all it's dependencies after the installation","allowNo":false},"remove":{"name":"remove","type":"boolean","description":"remove calamares and it's 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 --noninteractive"],"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":"assume yes","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","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},"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":"assume yes","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},"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 --fast","sudo eggs produce --max","sudo eggs produce --fast --basename=colibri","sudo eggs produce --fast --basename=colibri --theme /path/to/theme --addons adapt","sudo eggs produce --fast --clone","sudo eggs produce --fast --backup"],"flags":{"addons":{"name":"addons","type":"option","description":"addons to be used: adapt, ichoice, pve, rsupport","multiple":true},"backup":{"name":"backup","type":"boolean","char":"b","description":"backup mode (CRYPTED)","allowNo":false},"basename":{"name":"basename","type":"option","description":"basename","multiple":false},"clone":{"name":"clone","type":"boolean","char":"c","description":"clone mode","allowNo":false},"fast":{"name":"fast","type":"boolean","char":"f","description":"fast compression","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":"don't ask for user interctions","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},"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 restore","sudo eggs restore --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 penguin's 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","eggs export iso --backup"],"flags":{"backup":{"name":"backup","type":"boolean","char":"b","description":"export backup ISOs","allowNo":false},"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},"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},"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 skel","sudo eggs 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 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-wardrove"],"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":"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},"silent":{"name":"silent","type":"boolean","char":"s","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.3.25","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 it's dependencies","allowNo":false},"release":{"name":"release","type":"boolean","char":"r","description":"release: remove calamares and all it's dependencies after the installation","allowNo":false},"remove":{"name":"remove","type":"boolean","description":"remove calamares and it's 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 --noninteractive"],"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":"assume yes","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","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},"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":"assume yes","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},"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":"don't ask for user interctions","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 penguin's 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},"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},"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 skel","sudo eggs 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 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-wardrove"],"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":"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},"silent":{"name":"silent","type":"boolean","char":"s","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
|
@@ -207,7 +207,7 @@ EXAMPLES
|
|
|
207
207
|
$ eggs adapt
|
|
208
208
|
```
|
|
209
209
|
|
|
210
|
-
_See code: [dist/commands/adapt.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
210
|
+
_See code: [dist/commands/adapt.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.25/dist/commands/adapt.js)_
|
|
211
211
|
|
|
212
212
|
## `eggs analyze`
|
|
213
213
|
|
|
@@ -228,7 +228,7 @@ EXAMPLES
|
|
|
228
228
|
sudo eggs analyze
|
|
229
229
|
```
|
|
230
230
|
|
|
231
|
-
_See code: [dist/commands/analyze.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
231
|
+
_See code: [dist/commands/analyze.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.25/dist/commands/analyze.js)_
|
|
232
232
|
|
|
233
233
|
## `eggs autocomplete [SHELL]`
|
|
234
234
|
|
|
@@ -288,7 +288,7 @@ EXAMPLES
|
|
|
288
288
|
sudo eggs calamares --remove
|
|
289
289
|
```
|
|
290
290
|
|
|
291
|
-
_See code: [dist/commands/calamares.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
291
|
+
_See code: [dist/commands/calamares.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.25/dist/commands/calamares.js)_
|
|
292
292
|
|
|
293
293
|
## `eggs config`
|
|
294
294
|
|
|
@@ -315,7 +315,7 @@ EXAMPLES
|
|
|
315
315
|
sudo eggs config --clean --noninteractive
|
|
316
316
|
```
|
|
317
317
|
|
|
318
|
-
_See code: [dist/commands/config.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
318
|
+
_See code: [dist/commands/config.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.25/dist/commands/config.js)_
|
|
319
319
|
|
|
320
320
|
## `eggs cuckoo`
|
|
321
321
|
|
|
@@ -335,7 +335,7 @@ EXAMPLES
|
|
|
335
335
|
sudo eggs cuckoo
|
|
336
336
|
```
|
|
337
337
|
|
|
338
|
-
_See code: [dist/commands/cuckoo.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
338
|
+
_See code: [dist/commands/cuckoo.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.25/dist/commands/cuckoo.js)_
|
|
339
339
|
|
|
340
340
|
## `eggs dad`
|
|
341
341
|
|
|
@@ -362,7 +362,7 @@ EXAMPLES
|
|
|
362
362
|
sudo dad --default
|
|
363
363
|
```
|
|
364
364
|
|
|
365
|
-
_See code: [dist/commands/dad.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
365
|
+
_See code: [dist/commands/dad.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.25/dist/commands/dad.js)_
|
|
366
366
|
|
|
367
367
|
## `eggs export deb`
|
|
368
368
|
|
|
@@ -395,10 +395,9 @@ export iso in the destination host
|
|
|
395
395
|
|
|
396
396
|
```
|
|
397
397
|
USAGE
|
|
398
|
-
$ eggs export iso [-
|
|
398
|
+
$ eggs export iso [-c] [-h] [-v]
|
|
399
399
|
|
|
400
400
|
FLAGS
|
|
401
|
-
-b, --backup export backup ISOs
|
|
402
401
|
-c, --clean delete old ISOs before to copy
|
|
403
402
|
-h, --help Show CLI help.
|
|
404
403
|
-v, --verbose verbose
|
|
@@ -410,8 +409,6 @@ EXAMPLES
|
|
|
410
409
|
$ eggs export iso
|
|
411
410
|
|
|
412
411
|
$ eggs export iso --clean
|
|
413
|
-
|
|
414
|
-
$ eggs export iso --backup
|
|
415
412
|
```
|
|
416
413
|
|
|
417
414
|
## `eggs help [COMMAND]`
|
|
@@ -468,7 +465,7 @@ EXAMPLES
|
|
|
468
465
|
sudo eggs install --custom it
|
|
469
466
|
```
|
|
470
467
|
|
|
471
|
-
_See code: [dist/commands/install.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
468
|
+
_See code: [dist/commands/install.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.25/dist/commands/install.js)_
|
|
472
469
|
|
|
473
470
|
## `eggs kill`
|
|
474
471
|
|
|
@@ -489,7 +486,7 @@ EXAMPLES
|
|
|
489
486
|
sudo eggs kill
|
|
490
487
|
```
|
|
491
488
|
|
|
492
|
-
_See code: [dist/commands/kill.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
489
|
+
_See code: [dist/commands/kill.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.25/dist/commands/kill.js)_
|
|
493
490
|
|
|
494
491
|
## `eggs mom`
|
|
495
492
|
|
|
@@ -509,7 +506,7 @@ EXAMPLES
|
|
|
509
506
|
$ eggs mom
|
|
510
507
|
```
|
|
511
508
|
|
|
512
|
-
_See code: [dist/commands/mom.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
509
|
+
_See code: [dist/commands/mom.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.25/dist/commands/mom.js)_
|
|
513
510
|
|
|
514
511
|
## `eggs produce`
|
|
515
512
|
|
|
@@ -517,13 +514,13 @@ produce a live image from your system whithout your data
|
|
|
517
514
|
|
|
518
515
|
```
|
|
519
516
|
USAGE
|
|
520
|
-
$ eggs produce [--addons <value>] [
|
|
521
|
-
[
|
|
517
|
+
$ eggs produce [--addons <value>] [--basename <value>] [-c] [-C] [-h] [-m] [-n] [-p <value>] [--release]
|
|
518
|
+
[-s] [-f] [--theme <value>] [-v] [-y]
|
|
522
519
|
|
|
523
520
|
FLAGS
|
|
524
|
-
-
|
|
525
|
-
-c, --clone clone
|
|
526
|
-
-f, --
|
|
521
|
+
-C, --cryptedclone crypted clone
|
|
522
|
+
-c, --clone clone
|
|
523
|
+
-f, --standard standard compression
|
|
527
524
|
-h, --help Show CLI help.
|
|
528
525
|
-m, --max max compression
|
|
529
526
|
-n, --nointeractive don't ask for user interctions
|
|
@@ -542,20 +539,22 @@ DESCRIPTION
|
|
|
542
539
|
EXAMPLES
|
|
543
540
|
sudo eggs produce
|
|
544
541
|
|
|
545
|
-
sudo eggs produce --
|
|
542
|
+
sudo eggs produce --standard
|
|
546
543
|
|
|
547
544
|
sudo eggs produce --max
|
|
548
545
|
|
|
549
|
-
sudo eggs produce --
|
|
546
|
+
sudo eggs produce --max --basename=colibri
|
|
547
|
+
|
|
548
|
+
sudo eggs produce --cryptedclone
|
|
550
549
|
|
|
551
|
-
sudo eggs produce --
|
|
550
|
+
sudo eggs produce --clone
|
|
552
551
|
|
|
553
|
-
sudo eggs produce --
|
|
552
|
+
sudo eggs produce --basename=colibri
|
|
554
553
|
|
|
555
|
-
sudo eggs produce --
|
|
554
|
+
sudo eggs produce --basename=colibri --theme /path/to/theme --addons adapt
|
|
556
555
|
```
|
|
557
556
|
|
|
558
|
-
_See code: [dist/commands/produce.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
557
|
+
_See code: [dist/commands/produce.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.25/dist/commands/produce.js)_
|
|
559
558
|
|
|
560
559
|
## `eggs status`
|
|
561
560
|
|
|
@@ -576,7 +575,7 @@ EXAMPLES
|
|
|
576
575
|
$ eggs status
|
|
577
576
|
```
|
|
578
577
|
|
|
579
|
-
_See code: [dist/commands/status.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
578
|
+
_See code: [dist/commands/status.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.25/dist/commands/status.js)_
|
|
580
579
|
|
|
581
580
|
## `eggs syncfrom`
|
|
582
581
|
|
|
@@ -597,12 +596,12 @@ DESCRIPTION
|
|
|
597
596
|
restore users and user data from a LUKS volumes
|
|
598
597
|
|
|
599
598
|
EXAMPLES
|
|
600
|
-
sudo eggs
|
|
599
|
+
sudo eggs syncfrom
|
|
601
600
|
|
|
602
|
-
sudo eggs
|
|
601
|
+
sudo eggs syncfrom --file /path/to/fileLUKS
|
|
603
602
|
```
|
|
604
603
|
|
|
605
|
-
_See code: [dist/commands/syncfrom.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
604
|
+
_See code: [dist/commands/syncfrom.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.25/dist/commands/syncfrom.js)_
|
|
606
605
|
|
|
607
606
|
## `eggs syncto`
|
|
608
607
|
|
|
@@ -627,7 +626,7 @@ EXAMPLES
|
|
|
627
626
|
sudo eggs syncto --file /path/to/fileLUKS
|
|
628
627
|
```
|
|
629
628
|
|
|
630
|
-
_See code: [dist/commands/syncto.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
629
|
+
_See code: [dist/commands/syncto.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.25/dist/commands/syncto.js)_
|
|
631
630
|
|
|
632
631
|
## `eggs tools clean`
|
|
633
632
|
|
|
@@ -755,7 +754,7 @@ EXAMPLES
|
|
|
755
754
|
$ eggs update
|
|
756
755
|
```
|
|
757
756
|
|
|
758
|
-
_See code: [dist/commands/update.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
757
|
+
_See code: [dist/commands/update.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.25/dist/commands/update.js)_
|
|
759
758
|
|
|
760
759
|
## `eggs version`
|
|
761
760
|
|
|
@@ -39,15 +39,12 @@ class Fisherman {
|
|
|
39
39
|
hasSystemd = '- ';
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
|
-
* Controllo se è un clone
|
|
42
|
+
* Controllo se è un clone: ovary, fisherman, krill
|
|
43
43
|
*/
|
|
44
|
-
let
|
|
45
|
-
if (utils_1.default.isLive()) {
|
|
46
|
-
filePersonal = node_path_1.default.dirname(this.distro.liveMediumPath) + `/is-clone.md`;
|
|
47
|
-
}
|
|
44
|
+
let is_clone = '/etc/penguins-eggs/is_clone';
|
|
48
45
|
let hasDisplaymanager = '# ';
|
|
49
46
|
let createUsers = '# ';
|
|
50
|
-
if (!node_fs_1.default.existsSync(
|
|
47
|
+
if (!node_fs_1.default.existsSync(is_clone)) {
|
|
51
48
|
createUsers = '- ';
|
|
52
49
|
if ((0, displaymanager_1.displaymanager)() !== '') {
|
|
53
50
|
hasDisplaymanager = '- ';
|
package/dist/classes/ovary.js
CHANGED
|
@@ -50,6 +50,7 @@ class Ovary {
|
|
|
50
50
|
this.compression = '';
|
|
51
51
|
this.theme = '';
|
|
52
52
|
this.clone = false;
|
|
53
|
+
this.cryptedclone = false;
|
|
53
54
|
}
|
|
54
55
|
/**
|
|
55
56
|
* @returns {boolean} success
|
|
@@ -84,15 +85,18 @@ class Ovary {
|
|
|
84
85
|
*
|
|
85
86
|
* @param basename
|
|
86
87
|
*/
|
|
87
|
-
async produce(
|
|
88
|
+
async produce(clone = false, cryptedclone = false, scriptOnly = false, yolkRenew = false, release = false, myAddons, nointeractive = false, verbose = false) {
|
|
88
89
|
this.verbose = verbose;
|
|
89
|
-
this.clone = clone;
|
|
90
90
|
this.echo = utils_2.default.setEcho(verbose);
|
|
91
91
|
if (this.verbose) {
|
|
92
92
|
this.toNull = ' > /dev/null 2>&1';
|
|
93
93
|
}
|
|
94
|
-
|
|
94
|
+
this.clone = clone;
|
|
95
|
+
this.cryptedclone = cryptedclone;
|
|
96
|
+
let luksName = 'luks-eggs-data';
|
|
95
97
|
let luksFile = `/tmp/${luksName}`;
|
|
98
|
+
// let luksDevice = `/dev/mapper/${this.luksName}`
|
|
99
|
+
// let luksMountpoint = `/mnt`
|
|
96
100
|
if (this.familyId === 'debian') {
|
|
97
101
|
const yolk = new yolk_1.default();
|
|
98
102
|
if (!yolk.yolkExists()) {
|
|
@@ -123,9 +127,9 @@ class Ovary {
|
|
|
123
127
|
const bleach = new bleach_1.default();
|
|
124
128
|
await bleach.clean(verbose);
|
|
125
129
|
}
|
|
126
|
-
//
|
|
127
|
-
if (
|
|
128
|
-
console.log(`
|
|
130
|
+
// CRYPTEDCLONE
|
|
131
|
+
if (cryptedclone) {
|
|
132
|
+
console.log(`Users and the user data will be saved in an encrypted LUKS volume`);
|
|
129
133
|
const users = await this.usersFill();
|
|
130
134
|
for (let i = 0; i < users.length; i++) {
|
|
131
135
|
if (users[i].saveIt) {
|
|
@@ -142,11 +146,11 @@ class Ovary {
|
|
|
142
146
|
// CLONE
|
|
143
147
|
}
|
|
144
148
|
else if (this.clone) {
|
|
145
|
-
utils_2.default.warning('eggs will SAVE
|
|
149
|
+
utils_2.default.warning('eggs will SAVE users and users\' data UNCRYPTED on the live');
|
|
146
150
|
// NORMAL
|
|
147
151
|
}
|
|
148
152
|
else {
|
|
149
|
-
utils_2.default.warning('eggs will REMOVE users
|
|
153
|
+
utils_2.default.warning('eggs will REMOVE users and users\' from live');
|
|
150
154
|
}
|
|
151
155
|
/**
|
|
152
156
|
* NOTE: reCreate = false
|
|
@@ -155,10 +159,7 @@ class Ovary {
|
|
|
155
159
|
* put reCreate = true in release
|
|
156
160
|
*/
|
|
157
161
|
let reCreate = true;
|
|
158
|
-
if (reCreate) { // start pre-
|
|
159
|
-
if (this.clone) {
|
|
160
|
-
await (0, utils_1.exec)(`touch ${this.settings.config.snapshot_dir}ovarium/iso/live/is-clone.md`, this.echo);
|
|
161
|
-
}
|
|
162
|
+
if (reCreate) { // start pre-clone
|
|
162
163
|
/**
|
|
163
164
|
* Anche non accettando l'installazione di calamares
|
|
164
165
|
* viene creata la configurazione dell'installer: krill/calamares
|
|
@@ -183,16 +184,12 @@ class Ovary {
|
|
|
183
184
|
await this.makeEfi(this.theme);
|
|
184
185
|
}
|
|
185
186
|
await this.bindLiveFs();
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
await (0, utils_1.exec)(`touch ${this.settings.config.snapshot_dir}ovarium/iso/live/is-clone.md`, this.echo);
|
|
191
|
-
}
|
|
192
|
-
else {
|
|
187
|
+
if (!this.clone) {
|
|
188
|
+
/**
|
|
189
|
+
* ANCHE per cryptedclone
|
|
190
|
+
*/
|
|
193
191
|
await this.cleanUsersAccounts();
|
|
194
192
|
await this.createUserLive();
|
|
195
|
-
// create XdgAutostart
|
|
196
193
|
if (pacman_1.default.isInstalledGui()) {
|
|
197
194
|
await this.createXdgAutostart(this.settings.config.theme, myAddons);
|
|
198
195
|
/**
|
|
@@ -209,18 +206,18 @@ class Ovary {
|
|
|
209
206
|
// Here we are forcing alwats cliAutologin
|
|
210
207
|
cliAutologin.addAutologin(this.settings.distro.distroId, this.settings.distro.codenameId, this.settings.config.user_opt, this.settings.config.user_opt_passwd, this.settings.config.root_passwd, this.settings.work_dir.merged);
|
|
211
208
|
}
|
|
212
|
-
await this.editLiveFs();
|
|
209
|
+
await this.editLiveFs(clone, cryptedclone);
|
|
213
210
|
await this.makeSquashfs(scriptOnly);
|
|
214
211
|
await this.uBindLiveFs(); // Lo smonto prima della fase di backup
|
|
215
212
|
}
|
|
216
|
-
if (
|
|
213
|
+
if (cryptedclone) {
|
|
217
214
|
await (0, utils_1.exec)('eggs syncto', utils_2.default.setEcho(true));
|
|
218
215
|
utils_2.default.warning(`Waiting 10s, before to move ${luksFile} in ${this.settings.config.snapshot_dir}ovarium/iso/live`);
|
|
219
216
|
await (0, utils_1.exec)('sleep 10', utils_2.default.setEcho(false));
|
|
220
217
|
utils_2.default.warning(`moving ${luksFile} in ${this.settings.config.snapshot_dir}ovarium/iso/live`);
|
|
221
218
|
await (0, utils_1.exec)(`mv ${luksFile} ${this.settings.config.snapshot_dir}ovarium/iso/live`, this.echo);
|
|
222
219
|
}
|
|
223
|
-
const xorrisoCommand = this.makeDotDisk(
|
|
220
|
+
const xorrisoCommand = this.makeDotDisk(clone, cryptedclone);
|
|
224
221
|
/**
|
|
225
222
|
* patch to emulate miso/archiso on archilinux
|
|
226
223
|
*/
|
|
@@ -311,10 +308,27 @@ class Ovary {
|
|
|
311
308
|
* - Add some basic files to /dev
|
|
312
309
|
* - Clear configs from /etc/network/interfaces, wicd and NetworkManager and netman
|
|
313
310
|
*/
|
|
314
|
-
async editLiveFs() {
|
|
311
|
+
async editLiveFs(clone = false, cryptedclone = false) {
|
|
315
312
|
if (this.verbose) {
|
|
316
313
|
console.log('ovary: editLiveFs');
|
|
317
314
|
}
|
|
315
|
+
/**
|
|
316
|
+
* new is_clone written just on live
|
|
317
|
+
*/
|
|
318
|
+
if (clone) {
|
|
319
|
+
await (0, utils_1.exec)(`touch ${this.settings.work_dir.merged}/etc/penguins-eggs.d/is_clone`, this.echo);
|
|
320
|
+
}
|
|
321
|
+
if (cryptedclone) {
|
|
322
|
+
await (0, utils_1.exec)(`touch ${this.settings.work_dir.merged}/etc/penguins-eggs.d/is_crypted_clone`, this.echo);
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* add epoptes server just on live
|
|
326
|
+
*/
|
|
327
|
+
if (pacman_1.default.packageIsInstalled('epoptes')) {
|
|
328
|
+
const file = `${this.settings.work_dir.merged}/etc/default/epoptes-client`;
|
|
329
|
+
const text = `SERVER=${node_os_1.default.hostname}.local\n`;
|
|
330
|
+
fs_1.default.writeFileSync(file, text);
|
|
331
|
+
}
|
|
318
332
|
if (this.familyId === 'debian') {
|
|
319
333
|
// Aggiungo UMASK=0077 in /etc/initramfs-tools/conf.d/calamares-safe-initramfs.conf
|
|
320
334
|
const text = 'UMASK=0077\n';
|
|
@@ -1355,7 +1369,7 @@ class Ovary {
|
|
|
1355
1369
|
* create .disk/info, .disk/mksquashfs, .disk/mkiso
|
|
1356
1370
|
* return mkiso
|
|
1357
1371
|
*/
|
|
1358
|
-
makeDotDisk(
|
|
1372
|
+
makeDotDisk(clone = false, cryptedclone = false) {
|
|
1359
1373
|
const dotDisk = this.settings.work_dir.pathIso + '/.disk';
|
|
1360
1374
|
if (fs_1.default.existsSync(dotDisk)) {
|
|
1361
1375
|
shelljs_1.default.rm('-rf', dotDisk);
|
|
@@ -1369,24 +1383,31 @@ class Ovary {
|
|
|
1369
1383
|
const scripts = this.settings.work_dir.path;
|
|
1370
1384
|
shelljs_1.default.cp(scripts + '/mksquashfs', dotDisk + '/mksquashfs');
|
|
1371
1385
|
// .disk/mkisofs
|
|
1372
|
-
content = this.xorrisoCommand(
|
|
1386
|
+
content = this.xorrisoCommand(clone, cryptedclone).replace(/\s\s+/g, ' ');
|
|
1373
1387
|
file = dotDisk + '/mkisofs';
|
|
1374
1388
|
fs_1.default.writeFileSync(file, content, 'utf-8');
|
|
1375
1389
|
return content;
|
|
1376
1390
|
}
|
|
1377
1391
|
/**
|
|
1378
1392
|
*
|
|
1379
|
-
* @param
|
|
1393
|
+
* @param cryptedclone
|
|
1380
1394
|
* @returns cmd 4 mkiso
|
|
1381
1395
|
*/
|
|
1382
|
-
xorrisoCommand(
|
|
1396
|
+
xorrisoCommand(clone = false, cryptedclone = false) {
|
|
1383
1397
|
const volid = utils_2.default.getVolid(this.settings.remix.name);
|
|
1384
1398
|
let prefix = this.settings.config.snapshot_prefix;
|
|
1385
|
-
|
|
1386
|
-
|
|
1399
|
+
let typology = "";
|
|
1400
|
+
// typology is applied only with standard egg-of
|
|
1401
|
+
if (prefix.slice(0, 7) === 'egg-of-') {
|
|
1402
|
+
if (clone) {
|
|
1403
|
+
typology = "_clone";
|
|
1404
|
+
}
|
|
1405
|
+
else if (cryptedclone) {
|
|
1406
|
+
typology = "_crypted";
|
|
1407
|
+
}
|
|
1387
1408
|
}
|
|
1388
1409
|
const postfix = utils_2.default.getPostfix();
|
|
1389
|
-
this.settings.isoFilename = prefix + volid + postfix;
|
|
1410
|
+
this.settings.isoFilename = prefix + volid + typology + postfix;
|
|
1390
1411
|
const output = this.settings.config.snapshot_dir + this.settings.isoFilename;
|
|
1391
1412
|
let command = '';
|
|
1392
1413
|
// const appid = `-appid "${this.settings.distro.distroId}" `
|
package/dist/classes/tools.js
CHANGED
|
@@ -10,7 +10,6 @@ const tslib_1 = require("tslib");
|
|
|
10
10
|
const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
|
|
11
11
|
const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
|
|
12
12
|
const settings_1 = tslib_1.__importDefault(require("./settings"));
|
|
13
|
-
const utils_1 = tslib_1.__importDefault(require("./utils"));
|
|
14
13
|
/**
|
|
15
14
|
* Utils: general porpourse utils
|
|
16
15
|
* @remarks all the utilities
|
|
@@ -46,7 +45,7 @@ class Tools {
|
|
|
46
45
|
const settings = new settings_1.default();
|
|
47
46
|
settings.load();
|
|
48
47
|
this.snapshot_dir = settings.config.snapshot_dir;
|
|
49
|
-
this.snapshot_name = settings.config.snapshot_prefix + settings.config.snapshot_basename + '
|
|
48
|
+
this.snapshot_name = settings.config.snapshot_prefix + settings.config.snapshot_basename + '_'; // + Utils.machineArch() + '_'
|
|
50
49
|
}
|
|
51
50
|
else {
|
|
52
51
|
console.log(`Can't find: ${this.tools_yaml}`);
|
package/dist/classes/utils.js
CHANGED
|
@@ -347,7 +347,7 @@ class Utils {
|
|
|
347
347
|
* @returns eggName
|
|
348
348
|
*/
|
|
349
349
|
static getPostfix() {
|
|
350
|
-
let postfix = '
|
|
350
|
+
let postfix = '_' + this.machineArch() + '_' + Utils.formatDate(new Date()) + '.iso';
|
|
351
351
|
return postfix;
|
|
352
352
|
}
|
|
353
353
|
/**
|
|
@@ -16,9 +16,6 @@ class ExportIso extends core_1.Command {
|
|
|
16
16
|
const Tu = new tools_1.default();
|
|
17
17
|
await Tu.loadSettings();
|
|
18
18
|
const echo = utils_1.default.setEcho(flags.verbose);
|
|
19
|
-
if (flags.backup) {
|
|
20
|
-
Tu.snapshot_name = Tu.snapshot_name.slice(0, 7) === 'egg-of-' ? 'egg-eb-' + Tu.snapshot_name.slice(7) : 'backup-' + Tu.snapshot_name;
|
|
21
|
-
}
|
|
22
19
|
const rmount = `/tmp/eggs-${(Math.random() + 1).toString(36).substring(7)}`;
|
|
23
20
|
let cmd = `rm -f ${rmount}\n`;
|
|
24
21
|
let filter = '*.iso';
|
|
@@ -42,7 +39,6 @@ class ExportIso extends core_1.Command {
|
|
|
42
39
|
}
|
|
43
40
|
exports.default = ExportIso;
|
|
44
41
|
ExportIso.flags = {
|
|
45
|
-
backup: core_1.Flags.boolean({ char: 'b', description: 'export backup ISOs' }),
|
|
46
42
|
clean: core_1.Flags.boolean({ char: 'c', description: 'delete old ISOs before to copy' }),
|
|
47
43
|
help: core_1.Flags.help({ char: 'h' }),
|
|
48
44
|
verbose: core_1.Flags.boolean({ char: 'v', description: 'verbose' })
|
|
@@ -51,5 +47,4 @@ ExportIso.description = 'export iso in the destination host';
|
|
|
51
47
|
ExportIso.examples = [
|
|
52
48
|
"eggs export iso",
|
|
53
49
|
"eggs export iso --clean",
|
|
54
|
-
"eggs export iso --backup"
|
|
55
50
|
];
|