penguins-eggs 9.6.1 → 9.6.4

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.
@@ -1 +1 @@
1
- {"version":"9.6.1","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},"policies":{"name":"policies","type":"boolean","char":"p","description":"configure calamares policies","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},"noicons":{"name":"noicons","type":"boolean","char":"N","description":"no icons","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 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},"noicons":{"name":"noicons","type":"boolean","char":"N","description":"no icons on desktop","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 repo","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.6.4","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},"policies":{"name":"policies","type":"boolean","char":"p","description":"configure calamares policies","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},"noicons":{"name":"noicons","type":"boolean","char":"N","description":"no icons","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 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},"noicons":{"name":"noicons","type":"boolean","char":"N","description":"no icons on desktop","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 repo","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
@@ -44,7 +44,9 @@ eggs is written mostly in typescript and ideally can be used with different Linu
44
44
 
45
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
- 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/).
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
+
49
+ Regarding architectures eggs currently support amd64, i386 and arm64. some informations can be found on the post: [Triple somersault!](https://penguins-eggs.net/blog/triple-somersault).
48
50
 
49
51
  # Features
50
52
 
@@ -92,10 +94,14 @@ I added two built-in assistants with eggs: mom and dad. While mom is a script ba
92
94
  yolk - so called staying on the subject of eggs - is a local repository included in the livecd that contains a minimum of indispensable packages during installation. Thanks to yolk, you can safely install your system without the need of an active internet connection.
93
95
 
94
96
  # Packages
95
- Supporting various distributions, we need to have different packages. Debian, Devuan and Ubuntu share the .deb packages of eggs, while for Arch Linux and ManjaroLinux they use their PKGBUILDs.
97
+ Supporting various distributions, we need to have different packages. Debian, Devuan and Ubuntu share the .deb packages for amd_64 and i386 architecture, while Arch and ManjaroLinux use their own PKGBUILDs.
96
98
 
97
99
  ## Debian families
98
- eggs is released as a deb package for amd64, armel and arm64 architectures. Because of eggs' features, they can be installed in Debian, Devuan, or Ubuntu-based distros without worrying about version (buster, bullseye, bookworm, etc.) except for architecture. It includes standard scripts for preinst, postinst, prerm and postrm and man pages.
100
+ eggs is released as a deb package for amd64, i386 and arm64 too.
101
+
102
+ Because of eggs' features, the packages can be installed in Debian, Devuan, or Ubuntu-based distros without worrying about exact version (buster, bullseye, bookworm, trixie, chimaera, daedalus, bionic, focal and jammy) are reported to work, of course respect the processor architecture.
103
+
104
+ The packages includes standard scripts for preinst, postinst, prerm and postrm and man pages.
99
105
 
100
106
  ### Install eggs
101
107
  There are more than a way to install eggs as .deb package, the most practical is to add and use penguins-eggs-ppa.
@@ -105,19 +111,27 @@ There are more than a way to install eggs as .deb package, the most practical is
105
111
  The simplest way to install eggs is download the [package eggs](https://sourceforge.net/projects/penguins-eggs/files/DEBS/) from [sourceforge page of the project](https://sourceforge.net/projects/penguins-eggs/) and install it
106
112
 
107
113
  ```
108
- sudo dpkg -i eggs_9.6.1_amd64.deb
114
+ sudo dpkg -i eggs_9.6.4_amd64.deb
109
115
  ```
110
116
 
111
117
  or, on a i386 system:
112
118
  ```
113
- sudo dpkg -i eggs_9.6.1_i386.deb
119
+ sudo dpkg -i eggs_9.6.4_i386.deb
114
120
  ```
115
121
 
116
122
  Once eggs is installed you can add the [penguins-eggs-ppa](https://pieroproietti.github.io/penguins-eggs-ppa) repository with the command: ```sudo eggs tools ppa --install```
117
123
 
118
124
  #### Using penguins-eggs-ppa (stable version)
119
125
 
120
- eggs have its repository ppa, You can use it, copy and paste in a terminal window the following two lines:
126
+ You can use a little utility I wrote: `addaura`. Use it in this way:
127
+
128
+ * `git clone https://github.com/pieroproietti/addaura`
129
+ * `cd addaura`
130
+ * `sudo ./addaura`
131
+
132
+ On Debian, Devuan and Ubuntu addaura will add the ppa and install eggs.
133
+
134
+ For derivatives of Debian, Devuan and Ubuntu, like Linuxmint, LMDE, etc, addaura will refuce to work but You can again copy and paste the following two lines in a terminal:
121
135
 
122
136
  ```
123
137
  curl -fsSL https://pieroproietti.github.io/penguins-eggs-ppa/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/penguins-eggs.gpg
@@ -131,17 +145,24 @@ sudo apt update && sudo apt install eggs
131
145
  ```
132
146
 
133
147
  ### Upgrade eggs
134
- If you are using penguins-eggs-ppa You can ugrade eggs as others packages just: **sudo apt upgrade**, else simply download new versions of eggs from [sourgeforge page](https://sourceforge.net/projects/penguins-eggs/files/DEBS/) and install it with the standard command **sudo dpkg -i eggs_0.5.12_amd64.deb**.
135
-
148
+ If you are using penguins-eggs-ppa You can upgrade eggs as others packages just: **sudo apt upgrade**, else simply download new versions of eggs from [sourgeforge page](https://sourceforge.net/projects/penguins-eggs/files/DEBS/) and install it with the standard command **sudo dpkg -i eggs_9.6.4_amd64.deb** or **gdebi eggs_9.6.4_i386.deb**.
136
149
 
137
150
  ## Arch families
138
151
  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
152
 
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.
153
+ The development versions of penguins eggs and other PKGBUILDs are instead in my [eggs-pkgbuilds](https://github.com/pieroproietti/eggs-pkgbuilds) repository.
141
154
 
142
155
  ### Arch
143
156
  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
157
 
158
+ You can use a little utility I wrote: `addaura`. Use it in this way:
159
+
160
+ * `git clone https://github.com/pieroproietti/addaura`
161
+ * `cd addaura`
162
+ * `sudo ./addaura`
163
+
164
+ Addaura will add AUR repository and install penguins-eggs.
165
+
145
166
  Of course you can also use yay: `yay penguins-eggs` or download the sources and run makepkg:
146
167
 
147
168
  ```
@@ -150,7 +171,9 @@ cd penguins-eggs
150
171
  makepkg -srcCi
151
172
  ```
152
173
  ### Manjaro
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:
174
+ 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`.
175
+
176
+ Alternatively you can clone the package, and:
154
177
  ```
155
178
  git clone https://gitlab.manjaro.org/packages/community/penguins-eggs/
156
179
  cd penguins-eggs
@@ -88,6 +88,8 @@
88
88
  - id: devel
89
89
  distroLike: Ubuntu
90
90
  family: debian
91
+ ids:
92
+ - lunar
91
93
  derivatives:
92
94
  - devel # Rhino
93
95
  - lunar # Ubuntu lunar 23.04
@@ -25,7 +25,15 @@ echo "Running bootloader-config..."
25
25
 
26
26
  if [ -d /sys/firmware/efi/efivars ]; then
27
27
  echo " * Installing grub-efi (uefi)..."
28
- DEBIAN_FRONTEND=nointeractive chroot $CHROOT apt-get -y --allow-unauthenticated install grub-efi-amd64 cryptsetup keyutils
28
+ MACHINE=$(uname -m)
29
+ if [[ "$MACHINE" == x86_64* ]]; then
30
+ arch="amd64"
31
+ elif [[ "$MACHINE" == i*86 ]]; then
32
+ arch=""
33
+ elif [[ "$MACHINE" == arm* ]]; then
34
+ arch="arm64"
35
+ fi
36
+ DEBIAN_FRONTEND=nointeractive chroot $CHROOT apt-get -y --allow-unauthenticated install grub-efi-${arch} cryptsetup keyutils
29
37
  else
30
38
  echo " * install grub... (bios)"
31
39
  DEBIAN_FRONTEND=nointeractive chroot $CHROOT apt-get -y --allow-unauthenticated install grub-pc cryptsetup
@@ -61,15 +61,11 @@ class Compressors {
61
61
  * @returns
62
62
  */
63
63
  max() {
64
- const comp = 'xz -b 256K -Xbcj ';
65
- const filter = 'x86';
66
- if (process.arch === 'arm') {
67
- const filter = 'ARM'; // to check
64
+ let comp = 'xz -b 256K -Xbcj x86';
65
+ if (process.arch === 'arm64') {
66
+ comp = 'xz -b 256K'; // -Xbcj arm NOT work
68
67
  }
69
- else if (process.arch === 'arm64') {
70
- const filter = 'ARM64'; // to check
71
- }
72
- return comp + filter;
68
+ return comp;
73
69
  }
74
70
  async prepareCheck() {
75
71
  shelljs_1.default.exec('rm -rf ' + this.source, { silent: true });
@@ -13,6 +13,7 @@ const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
13
13
  const node_path_1 = tslib_1.__importDefault(require("node:path"));
14
14
  const shelljs_1 = tslib_1.__importDefault(require("shelljs"));
15
15
  const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
16
+ const utils_1 = tslib_1.__importDefault(require("./utils"));
16
17
  /**
17
18
  * Classe
18
19
  */
@@ -237,11 +238,8 @@ class Distro {
237
238
  this.isolinuxPath = '/usr/lib/ISOLINUX/';
238
239
  this.syslinuxPath = '/usr/lib/syslinux/modules/bios/';
239
240
  this.pxelinuxPath = '/usr/lib/PXELINUX/';
240
- this.usrLibPath = '/usr/lib/x86_64-linux-gnu/';
241
241
  this.memdiskPath = '/usr/lib/syslinux/';
242
- if (process.arch === 'ia32') {
243
- this.usrLibPath = '/usr/lib/i386-linux-gnu/';
244
- }
242
+ this.usrLibPath = '/usr/lib/' + utils_1.default.usrLibPath();
245
243
  break;
246
244
  }
247
245
  case 'archlinux': {
@@ -56,7 +56,7 @@ class Debian {
56
56
  toRemove.push(elem);
57
57
  }
58
58
  }
59
- const arch = utils_1.default.machineArch();
59
+ const arch = utils_1.default.uefiArch();
60
60
  for (const dep of dependencies_1.depArch) {
61
61
  if (dep.arch.includes(arch)) {
62
62
  if (!this.packageIsInstalled(dep.package)) {
@@ -15,12 +15,12 @@ function installer() {
15
15
  if (pacman_1.default.calamaresExists()) {
16
16
  installer.name = 'calamares';
17
17
  installer.configRoot = '/etc/calamares/';
18
- installer.multiarch = multiarch() + 'calamares/';
18
+ installer.multiarch = pacman_1.default.distro().usrLibPath + '/calamares/';
19
19
  }
20
20
  else {
21
21
  installer.name = 'krill';
22
22
  installer.configRoot = '/etc/penguins-eggs.d/krill/';
23
- installer.multiarch = multiarch() + 'krill/';
23
+ installer.multiarch = pacman_1.default.distro().usrLibPath + '/krill/';
24
24
  }
25
25
  installer.modules = installer.configRoot + 'modules/';
26
26
  installer.multiarchModules = installer.multiarch + 'modules/';
@@ -46,10 +46,3 @@ function installer() {
46
46
  return installer;
47
47
  }
48
48
  exports.installer = installer;
49
- /**
50
- *
51
- * @returns
52
- */
53
- function multiarch() {
54
- return pacman_1.default.distro().usrLibPath;
55
- }
@@ -286,7 +286,7 @@ class Ovary {
286
286
  * Creo le directory di destinazione per boot, efi, isolinux e live
287
287
  */
288
288
  if (!fs_1.default.existsSync(this.settings.iso_work)) {
289
- cmd = `mkdir -p ${this.settings.iso_work}boot/grub/${utils_2.default.machineUEFI()}`;
289
+ cmd = `mkdir -p ${this.settings.iso_work}boot/grub/${utils_2.default.uefiFormat()}`;
290
290
  this.tryCatch(cmd);
291
291
  cmd = `mkdir -p ${this.settings.iso_work}efi/boot`;
292
292
  this.tryCatch(cmd);
@@ -747,7 +747,17 @@ class Ovary {
747
747
  fs_1.default.unlinkSync(`${this.settings.iso_work}/live/filesystem.squashfs`);
748
748
  }
749
749
  const compression = `-comp ${this.settings.config.compression}`;
750
- let cmd = `mksquashfs ${this.settings.work_dir.merged} ${this.settings.iso_work}live/filesystem.squashfs ${compression} -wildcards -ef ${this.settings.config.snapshot_excludes} ${this.settings.session_excludes}`;
750
+ /**
751
+ * limit: patch per Raspberry
752
+ */
753
+ let limit = '';
754
+ if (utils_2.default.uefiArch() === 'arm64') {
755
+ limit = ' -processors 2 -mem 1024M';
756
+ }
757
+ // SYNTAX: mksquashfs source1 source2 ...
758
+ // FILESYSTEM [OPTIONS]
759
+ // [-e list of exclude dirs/files]
760
+ let cmd = `mksquashfs ${this.settings.work_dir.merged} ${this.settings.iso_work}live/filesystem.squashfs ${compression} ${limit} -wildcards -ef ${this.settings.config.snapshot_excludes} ${this.settings.session_excludes}`;
751
761
  cmd = cmd.replace(/\s\s+/g, ' ');
752
762
  utils_2.default.writeX(`${this.settings.work_dir.ovarium}mksquashfs`, cmd);
753
763
  if (!scriptOnly) {
@@ -1092,7 +1102,7 @@ class Ovary {
1092
1102
  */
1093
1103
  shelljs_1.default.cp(node_path_1.default.resolve(__dirname, '../../assets/penguins-eggs.desktop'), '/usr/share/applications/');
1094
1104
  /**
1095
- * f=Scrivania/install-system.desktop; gio set -t string $f metadata::xfce-exe-checksum "$(sha256sum $f | awk '{print $1}'
1105
+ * Scrivania/install-system.desktop
1096
1106
  */
1097
1107
  let installerUrl = 'install-system.desktop';
1098
1108
  let installerIcon = 'install-system.sh';
@@ -1200,6 +1210,11 @@ class Ovary {
1200
1210
  text += `test -f "$DESKTOP"/${installerUrl} && chmod a+x "$DESKTOP"/${installerUrl}\n`;
1201
1211
  text += `test -f "$DESKTOP"/${installerUrl} && gio set "$DESKTOP"/${installerUrl} metadata::trusted true\n`;
1202
1212
  }
1213
+ else if (pacman_1.default.packageIsInstalled('xfce4-session')) {
1214
+ // f=FILE; gio set -t string $f metadata::xfce-exe-checksum "$(sha256sum $f | awk '{print $1}')"
1215
+ text += 'chmod +x "$DESKTOP"/*.desktop';
1216
+ // await exec(`f="$DESKTOP"/*.desktop; gio set -t string $f metadata::xfce-exe-checksum "$(sha256sum $f | awk '{print $1}')"`)
1217
+ }
1203
1218
  else {
1204
1219
  // OTHERS: CINNAMON/KDE/ETC
1205
1220
  text += 'chmod +x "$DESKTOP"/*.desktop';
@@ -1287,7 +1302,7 @@ class Ovary {
1287
1302
  let text = '';
1288
1303
  text += 'search --file --set=root /.disk/info\n';
1289
1304
  text += 'set prefix=($root)/boot/grub\n';
1290
- text += `source $prefix/${utils_2.default.machineUEFI()}/grub.cfg\n`;
1305
+ text += `source $prefix/${utils_2.default.uefiFormat()}/grub.cfg\n`;
1291
1306
  utils_2.default.write(grubCfg, text);
1292
1307
  // #################################
1293
1308
  /**
@@ -1300,7 +1315,7 @@ class Ovary {
1300
1315
  await (0, utils_1.exec)(`mkdir ${efiWorkDir}`, this.echo);
1301
1316
  await (0, utils_1.exec)(`mkdir ${efiWorkDir}boot`, this.echo);
1302
1317
  await (0, utils_1.exec)(`mkdir ${efiWorkDir}boot/grub`, this.echo);
1303
- await (0, utils_1.exec)(`mkdir ${efiWorkDir}boot/grub/${utils_2.default.machineUEFI()}`, this.echo);
1318
+ await (0, utils_1.exec)(`mkdir ${efiWorkDir}boot/grub/${utils_2.default.uefiFormat()}`, this.echo);
1304
1319
  await (0, utils_1.exec)(`mkdir ${efiWorkDir}efi`, this.echo);
1305
1320
  await (0, utils_1.exec)(`mkdir ${efiWorkDir}efi/boot`, this.echo);
1306
1321
  /**
@@ -1333,12 +1348,12 @@ class Ovary {
1333
1348
  * second grub.cfg file in efiWork
1334
1349
  */
1335
1350
  // for i in $(ls /usr/lib/grub/x86_64-efi |grep part_|grep \.mod|sed 's/.mod//'); do echo "insmod $i" >> boot/grub/x86_64-efi/grub.cfg; done
1336
- let cmd = `for i in $(ls /usr/lib/grub/${utils_2.default.machineUEFI()}|grep part_|grep \.mod|sed 's/.mod//'); do echo "insmod $i" >> ${efiWorkDir}boot/grub/${utils_2.default.machineUEFI()}/grub.cfg; done`;
1351
+ let cmd = `for i in $(ls /usr/lib/grub/${utils_2.default.uefiFormat()}|grep part_|grep \.mod|sed 's/.mod//'); do echo "insmod $i" >> ${efiWorkDir}boot/grub/${utils_2.default.uefiFormat()}/grub.cfg; done`;
1337
1352
  await (0, utils_1.exec)(cmd, this.echo);
1338
- //cmd = `for i in efi_gop efi_uga ieee1275_fb vbe vga video_bochs video_cirrus jpeg png gfxterm ; do echo "insmod $i" >> ${efiWorkDir}boot/grub/${Utils.machineUEFI()}/grub.cfg ; done`
1339
- cmd = `for i in efi_gop efi_uga ieee1275_fb vbe vga video_bochs video_cirrus jpeg png gfxterm ; do echo "insmod $i" >> ${efiWorkDir}boot/grub/${utils_2.default.machineUEFI()}/grub.cfg ; done`;
1353
+ //cmd = `for i in efi_gop efi_uga ieee1275_fb vbe vga video_bochs video_cirrus jpeg png gfxterm ; do echo "insmod $i" >> ${efiWorkDir}boot/grub/${Utils.uefiFormat()}/grub.cfg ; done`
1354
+ cmd = `for i in efi_gop efi_uga ieee1275_fb vbe vga video_bochs video_cirrus jpeg png gfxterm ; do echo "insmod $i" >> ${efiWorkDir}boot/grub/${utils_2.default.uefiFormat()}/grub.cfg ; done`;
1340
1355
  await (0, utils_1.exec)(cmd, this.echo);
1341
- await (0, utils_1.exec)(`echo "source /boot/grub/grub.cfg" >> ${efiWorkDir}boot/grub/${utils_2.default.machineUEFI()}/grub.cfg`, this.echo);
1356
+ await (0, utils_1.exec)(`echo "source /boot/grub/grub.cfg" >> ${efiWorkDir}boot/grub/${utils_2.default.uefiFormat()}/grub.cfg`, this.echo);
1342
1357
  /**
1343
1358
  * andiamo in memdiskDir
1344
1359
  */
@@ -1351,17 +1366,21 @@ class Ovary {
1351
1366
  process.chdir(memdiskDir);
1352
1367
  await (0, utils_1.exec)('tar -cvf memdisk boot', this.echo);
1353
1368
  process.chdir(currentDir);
1354
- // make the grub image
1355
1369
  // -O, --format=FORMAT
1356
1370
  // -m --memdisk=FILE embed FILE as a memdisk image
1357
1371
  // -o, --output=FILE embed FILE as a memdisk image
1358
1372
  // -p, --prefix=DIR set prefix directory
1359
1373
  // --format=x86_64-efi --memdisk=memdisk --output=bootx64.efi --prefix?DIR set prefix directory
1360
1374
  // grub-mkimage -O "x86_64-efi" -m "memdisk" -o "bootx64.efi" -p '(memdisk)/boot/grub' search iso9660 configfile normal memdisk tar cat part_msdos part_gpt fat ext2 ntfs ntfscomp hfsplus chain boot linux
1361
- await (0, utils_1.exec)(`${grubName}-mkimage -O "${utils_2.default.machineUEFI()}" -m "${memdiskDir}/memdisk" -o "${memdiskDir}/bootx64.efi" -p '(memdisk)/boot/grub' search iso9660 configfile normal memdisk tar cat part_msdos part_gpt fat ext2 ntfs ntfscomp hfsplus chain boot linux`, this.echo);
1375
+ // arm64-efi
1376
+ await (0, utils_1.exec)(`${grubName}-mkimage -O "${utils_2.default.uefiFormat()}" \
1377
+ -m "${memdiskDir}/memdisk" \
1378
+ -o "${memdiskDir}/${utils_2.default.uefiBN()}" \
1379
+ -p '(memdisk)/boot/grub' \
1380
+ search iso9660 configfile normal memdisk tar cat part_msdos part_gpt fat ext2 ntfs ntfscomp hfsplus chain boot linux`, this.echo);
1362
1381
  // popd torna in efiWorkDir
1363
1382
  // copy the grub image to efi/boot (to go later in the device's root)
1364
- await (0, utils_1.exec)(`cp ${memdiskDir}/bootx64.efi ${efiWorkDir}efi/boot`, this.echo);
1383
+ await (0, utils_1.exec)(`cp ${memdiskDir}/${utils_2.default.uefiBN()} ${efiWorkDir}efi/boot`, this.echo);
1365
1384
  // #######################
1366
1385
  // Do the boot image "boot/grub/efiboot.img"
1367
1386
  await (0, utils_1.exec)(`dd if=/dev/zero of=${efiWorkDir}boot/grub/efiboot.img bs=1K count=1440`, this.echo);
@@ -1371,10 +1390,10 @@ class Ovary {
1371
1390
  await (0, utils_1.exec)(`mkdir ${efiWorkDir}img-mnt/efi`, this.echo);
1372
1391
  await (0, utils_1.exec)(`mkdir ${efiWorkDir}img-mnt/efi/boot`, this.echo);
1373
1392
  // era cp -r
1374
- await (0, utils_1.exec)(`cp ${memdiskDir}/bootx64.efi ${efiWorkDir}img-mnt/efi/boot`, this.echo);
1393
+ await (0, utils_1.exec)(`cp ${memdiskDir}/${utils_2.default.uefiBN()} ${efiWorkDir}img-mnt/efi/boot`, this.echo);
1375
1394
  // #######################
1376
1395
  // copy modules and font
1377
- await (0, utils_1.exec)(`cp -r /usr/lib/grub/${utils_2.default.machineUEFI()}/* ${efiWorkDir}boot/grub/${utils_2.default.machineUEFI()}/`, this.echo);
1396
+ await (0, utils_1.exec)(`cp -r /usr/lib/grub/${utils_2.default.uefiFormat()}/* ${efiWorkDir}boot/grub/${utils_2.default.uefiFormat()}/`, this.echo);
1378
1397
  // if this doesn't work try another font from the same place (grub's default, unicode.pf2, is much larger)
1379
1398
  // Either of these will work, and they look the same to me. Unicode seems to work with qemu. -fsr
1380
1399
  if (fs_1.default.existsSync('/usr/share/grub/font.pf2')) {
@@ -1431,6 +1450,8 @@ class Ovary {
1431
1450
  * loopback.cfg
1432
1451
  */
1433
1452
  fs_1.default.writeFileSync(`${isoDir}/boot/grub/loopback.cfg`, 'source /boot/grub/grub.cfg\n');
1453
+ // console.log('end makeEfi')
1454
+ // process.exit()
1434
1455
  }
1435
1456
  // #######################################################################################
1436
1457
  /**
@@ -1470,7 +1491,7 @@ class Ovary {
1470
1491
  }
1471
1492
  let typology = '';
1472
1493
  // typology is applied only with standard egg-of
1473
- if (prefix.slice(0, 7) === 'egg-of-') {
1494
+ if (prefix.slice(0, 7) === 'egg-of_') {
1474
1495
  if (clone) {
1475
1496
  typology = '_clone';
1476
1497
  }
@@ -1482,7 +1503,7 @@ class Ovary {
1482
1503
  }
1483
1504
  }
1484
1505
  const postfix = utils_2.default.getPostfix();
1485
- this.settings.isoFilename = prefix + volid + typology + postfix;
1506
+ this.settings.isoFilename = prefix + volid + '_' + utils_2.default.uefiArch() + typology + postfix;
1486
1507
  //
1487
1508
  const output = this.settings.config.snapshot_mnt + this.settings.isoFilename;
1488
1509
  let command = '';
@@ -121,7 +121,7 @@ class Pacman {
121
121
  static isUefi() {
122
122
  let isUefi = false;
123
123
  if (this.distro().familyId === 'debian') {
124
- if (utils_1.default.machineArch() !== 'i386' && this.packageIsInstalled('grub-efi-' + utils_1.default.machineArch() + '-bin')) {
124
+ if (utils_1.default.uefiArch() !== 'i386' && this.packageIsInstalled('grub-efi-' + utils_1.default.uefiArch() + '-bin')) {
125
125
  isUefi = true;
126
126
  }
127
127
  }
@@ -352,9 +352,9 @@ class Pacman {
352
352
  config.force_installer = false;
353
353
  console.log('Due the lacks of calamares package set force_installer = false');
354
354
  }
355
- if (!Pacman.isUefi()) {
355
+ if (!Pacman.isUefi() && utils_1.default.uefiArch() !== "i386") {
356
356
  config.make_efi = false;
357
- console.log('Due the lacks of grub-efi-' + utils_1.default.machineArch() + '-bin package set make_efi = false');
357
+ console.log('Due the lacks of grub-efi-' + utils_1.default.uefiArch() + '-bin package set make_efi = false');
358
358
  }
359
359
  /**
360
360
  * Salvo la configurazione di eggs.yaml
@@ -175,7 +175,7 @@ class Settings {
175
175
  this.remix.branding = theme === '' ? 'eggs' : this.remix.branding = theme.slice(Math.max(0, theme.lastIndexOf('/') + 1));
176
176
  this.remix.name = this.config.snapshot_basename;
177
177
  let name = this.config.snapshot_prefix + this.config.snapshot_basename;
178
- name = name.replace(/-/g, ' ').replace('egg of ', '');
178
+ name = name.replace(/-/g, ' ').replace(/_/g, ' ').replace('egg of ', '');
179
179
  this.remix.fullname = name;
180
180
  this.remix.versionName = name.toUpperCase();
181
181
  }
@@ -11,6 +11,7 @@ const tslib_1 = require("tslib");
11
11
  const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
12
12
  const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
13
13
  const settings_1 = tslib_1.__importDefault(require("./settings"));
14
+ const utils_1 = tslib_1.__importDefault(require("./utils"));
14
15
  /**
15
16
  * Utils: general porpourse utils
16
17
  * @remarks all the utilities
@@ -50,7 +51,7 @@ class Tools {
50
51
  if (prefix.endsWith('rolling-')) {
51
52
  prefix = prefix.substring(0, prefix.indexOf('rolling-'));
52
53
  }
53
- this.snapshot_name = prefix + settings.config.snapshot_basename + '_'; // + Utils.machineArch() + '_'
54
+ this.snapshot_name = prefix + settings.config.snapshot_basename + '_' + utils_1.default.uefiArch();
54
55
  }
55
56
  else {
56
57
  console.log(`Can't find: ${this.tools_yaml}`);
@@ -16,7 +16,6 @@ const path_1 = tslib_1.__importDefault(require("path"));
16
16
  const os_1 = tslib_1.__importDefault(require("os"));
17
17
  const inquirer = require('inquirer');
18
18
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
19
- const pacman_1 = tslib_1.__importDefault(require("./pacman"));
20
19
  const child_process_1 = require("child_process");
21
20
  const netmask_1 = require("netmask");
22
21
  // libraries
@@ -34,7 +33,7 @@ class Utils {
34
33
  * @param codenameId
35
34
  */
36
35
  static snapshotPrefix(distroId, codenameId) {
37
- let result = 'egg-of-' + distroId.toLowerCase() + '-' + codenameId.toLowerCase() + '-';
36
+ let result = 'egg-of_' + distroId.toLowerCase() + '-' + codenameId.toLowerCase() + '-';
38
37
  result = result.replace(`/`, '-');
39
38
  return result;
40
39
  }
@@ -255,73 +254,74 @@ class Utils {
255
254
  return fileSizeInBytes;
256
255
  }
257
256
  /**
258
- * machineArch
259
- * arm-efi, arm64-efi,
260
- * grub-mkimage -O aarch64-efi -m memdisk -o bootx64.efi -p '(memdisk)/boot/grub' search iso9660 configfile normal memdisk tar cat part_msdos part_gpt fat ext2 ntfs ntfscomp hfsplus chain boot linux
261
- unknown target format aarch64-efi
257
+ * uefiArch
262
258
  * @returns arch
263
259
  */
264
- static machineArch() {
260
+ static uefiArch() {
265
261
  let arch = '';
266
- if (process.arch === 'x64') {
267
- arch = 'amd64';
268
- }
269
- else if (process.arch === 'ia32') {
262
+ if (process.arch === 'ia32') {
270
263
  arch = 'i386';
271
- // ma, se è installato node386 come in rasberry-desktop...
264
+ //
272
265
  if (shelljs_1.default.exec('uname -m', { silent: true }).stdout.trim() === 'x86_64') {
273
266
  arch = 'amd64';
274
267
  }
275
268
  }
269
+ else if (process.arch === 'x64') {
270
+ arch = 'amd64';
271
+ }
276
272
  else if (process.arch === 'arm64') {
277
273
  arch = 'arm64';
278
274
  }
279
- else if (process.arch === 'arm') {
280
- arch = 'armel';
281
- }
282
275
  return arch;
283
276
  }
284
277
  /**
285
- * machineUEFI
286
- * @returns machineArch
278
+ * i386-efi,
279
+ * x86_64-efi,
280
+ * arm64-efi,
287
281
  */
288
- static machineUEFI() {
289
- // grub-mkimage vuole: i386-efi, x86_64-efi, arm-efi, arm64-efi,
290
- let arch = this.machineArch();
291
- let machineUEFI = '';
292
- if (arch === 'amd64') {
293
- machineUEFI = 'x86_64-efi';
294
- }
295
- else if (arch === 'armel') {
296
- machineUEFI = 'arm-efi';
282
+ static uefiFormat() {
283
+ let format = '';
284
+ if (process.arch === 'ia32') {
285
+ format = 'i386-efi';
286
+ if (shelljs_1.default.exec('uname -m', { silent: true }).stdout.trim() === 'x86_64') {
287
+ format = 'x86_64-efi';
288
+ }
297
289
  }
298
- if (pacman_1.default.distro().familyId === 'fedora') {
299
- machineUEFI = 'i386-efi';
290
+ else if (process.arch === 'x64') {
291
+ format = 'x86_64-efi';
300
292
  }
301
- else if (pacman_1.default.distro().familyId === 'suse') {
302
- machineUEFI = 'i386-efi';
293
+ else if (process.arch === 'arm64') {
294
+ format = 'arm64-efi';
303
295
  }
304
- return machineUEFI;
296
+ return format;
305
297
  }
306
298
  /**
307
- * eggsArch
299
+ *
308
300
  * @returns
309
301
  */
310
- static eggsArch() {
311
- let arch = '';
302
+ static uefiBN() {
303
+ let bn = 'nothing.efi';
312
304
  if (process.arch === 'x64') {
313
- arch = 'amd64';
314
- }
315
- else if (process.arch === 'ia32') {
316
- arch = 'i386';
305
+ bn = 'bootx64.efi';
317
306
  }
318
307
  else if (process.arch === 'arm64') {
319
- arch = 'arm64';
308
+ bn = 'bootaa64.efi';
309
+ }
310
+ return bn;
311
+ }
312
+ /**
313
+ *
314
+ * @returns
315
+ */
316
+ static usrLibPath() {
317
+ let path = '';
318
+ if (process.arch === 'x64') {
319
+ path = 'x86_64-linux-gnu';
320
320
  }
321
- else if (process.arch === 'arm') {
322
- arch = 'armel';
321
+ else if (process.arch === 'arm64') {
322
+ path = 'aarch64-linux-gnu';
323
323
  }
324
- return arch;
324
+ return path;
325
325
  }
326
326
  /**
327
327
  *
@@ -331,11 +331,11 @@ class Utils {
331
331
  */
332
332
  static getPrefix(prefix, backup = false) {
333
333
  if (backup) {
334
- if (prefix.substring(0, 7) === 'egg-of-') {
335
- prefix = 'egg-EB-' + prefix.substring(7);
334
+ if (prefix.substring(0, 7) === 'egg-of_') {
335
+ prefix = 'egg-bk_' + prefix.substring(7);
336
336
  }
337
337
  else {
338
- prefix = 'egg-EB-' + prefix;
338
+ prefix = 'egg-bk_' + prefix;
339
339
  }
340
340
  }
341
341
  return prefix;
@@ -357,7 +357,7 @@ class Utils {
357
357
  * @returns eggName
358
358
  */
359
359
  static getPostfix() {
360
- let postfix = '_' + this.machineArch() + '_' + Utils.formatDate(new Date()) + '.iso';
360
+ let postfix = '_' + Utils.formatDate(new Date()) + '.iso';
361
361
  return postfix;
362
362
  }
363
363
  /**
@@ -261,10 +261,14 @@ class Xdg {
261
261
  /**
262
262
  * ALL Desktops:
263
263
  */
264
- // Emer Chen suggestions
265
- await (0, utils_2.exec)(`rm -r /etc/skel/.config/user-dirs.dirs`);
266
- await (0, utils_2.exec)(`rm -r /etc/skel/.config/user-dirs.locale`);
267
- await (0, utils_2.exec)(`rm -rf /etc/skel/.config/gtk-3.0/bookmarks`);
264
+ // Emer Chen suggestion
265
+ await rmIfExist('/etc/skel/.config/user-dirs.dirs');
266
+ await rmIfExist('/etc/skel/.config/user-dirs.locale');
267
+ await rmIfExist('/etc/skel/.config/gtk-3.0/bookmarks/', 'r');
268
+ // Manuel Senpai suggestion
269
+ // await exec(`grep -IE -r /etc/skel -e ${user}`)
270
+ await rmIfExist('/etc/skel/.local/share/recently-used.xbel');
271
+ await rmIfExist('/etc/skel/.config/xfce4/desktop/', 'r');
268
272
  }
269
273
  }
270
274
  exports.default = Xdg;
@@ -289,3 +293,13 @@ async function rsyncIfExist(source, dest = '/etc/skel/', verbose = false) {
289
293
  await (0, utils_2.exec)(`rsync -avx ${source} ${dest}`, echo);
290
294
  }
291
295
  }
296
+ /**
297
+ *
298
+ * @param file2Remove
299
+ * @param recursive
300
+ */
301
+ async function rmIfExist(file2Remove, recursive = '') {
302
+ if (node_fs_1.default.existsSync(file2Remove)) {
303
+ await (0, utils_2.exec)(`rm -f${recursive} ${file2Remove}`);
304
+ }
305
+ }
@@ -29,11 +29,11 @@ class Yolk {
29
29
  async create(verbose = false) {
30
30
  this.verbose = verbose;
31
31
  this.echo = utils_1.default.setEcho(verbose);
32
- utils_1.default.warning("Creating a local repo on /var/local/yolk");
33
- if (utils_1.default.machineArch() !== 'amd64') {
34
- utils_1.default.warning(`yolk is not applicable on the architecture ${utils_1.default.machineArch()}`);
32
+ if (utils_1.default.uefiArch() === 'i386') {
33
+ utils_1.default.warning(`yolk is not used on the architecture ${utils_1.default.uefiArch()}`);
35
34
  }
36
35
  else {
36
+ utils_1.default.warning("Creating a local repo on /var/local/yolk");
37
37
  utils_1.default.warning('Updating system');
38
38
  if (!pacman_1.default.commandIsInstalled('dpkg-scanpackages')) {
39
39
  utils_1.default.warning(`I cannot find the command dpkg-scanpackages`);
@@ -58,12 +58,16 @@ class Yolk {
58
58
  // packages we need
59
59
  const pkgs = [
60
60
  'cryptsetup',
61
- // 'grub-efi-amd64-bin',
62
- 'grub-efi-amd64',
63
61
  'grub-pc',
64
62
  'keyutils',
65
63
  'shim-signed',
66
64
  ];
65
+ // Il default è su amd64
66
+ let grubEfiArch = 'grub-efi-amd64';
67
+ if (utils_1.default.uefiArch() === 'arm64') {
68
+ grubEfiArch = 'grub-efi-arm64';
69
+ }
70
+ pkgs.push(grubEfiArch);
67
71
  process.chdir(this.yolkDir);
68
72
  utils_1.default.warning(`Downloading packages and its dependencies`);
69
73
  for (const pkg of pkgs) {
@@ -79,7 +83,7 @@ class Yolk {
79
83
  await (0, utils_2.exec)(cmd, { echo: false, capture: true });
80
84
  // Create Release date: Sat, 14 Aug 2021 07:42:00 UTC
81
85
  const now = shelljs_1.default.exec('date -R -u').stdout.trim();
82
- const content = `Archive: stable\nComponent: yolk\nOrigin: penguins-eggs\nArchitecture: ${utils_1.default.machineArch()} \nDate: ${now}\n`;
86
+ const content = `Archive: stable\nComponent: yolk\nOrigin: penguins-eggs\nArchitecture: ${utils_1.default.uefiArch()} \nDate: ${now}\n`;
83
87
  utils_1.default.warning('Writing Release');
84
88
  fs_1.default.writeFileSync('Release', content);
85
89
  // Cleaning
@@ -72,7 +72,7 @@ class Config extends core_1.Command {
72
72
  static async thatWeNeed(nointeractive = false, noicons = false, verbose = false, cryptedclone = false) {
73
73
  const i = {};
74
74
  i.distroTemplate = !pacman_1.default.distroTemplateCheck();
75
- if (utils_1.default.machineArch() !== 'i386') {
75
+ if (utils_1.default.uefiArch() !== 'i386') {
76
76
  i.efi = !pacman_1.default.isUefi();
77
77
  }
78
78
  if (!cryptedclone && !(pacman_1.default.calamaresExists()) && pacman_1.default.isInstalledGui() && pacman_1.default.isCalamaresAvailable() && !pacman_1.default.packageIsInstalled('live-installer')) {
@@ -102,9 +102,9 @@ class Config extends core_1.Command {
102
102
  console.log(chalk_1.default.yellow(' apt-get update --yes\n'));
103
103
  }
104
104
  }
105
- if (i.efi && pacman_1.default.distro().familyId === 'debian' && utils_1.default.machineArch() !== 'i386') {
105
+ if (i.efi && pacman_1.default.distro().familyId === 'debian' && utils_1.default.uefiArch() !== 'i386') {
106
106
  console.log('- install efi packages');
107
- console.log(chalk_1.default.yellow(' apt install -y grub-efi-' + utils_1.default.machineArch() + '-bin\n'));
107
+ console.log(chalk_1.default.yellow(' apt install -y grub-efi-' + utils_1.default.uefiArch() + '-bin\n'));
108
108
  }
109
109
  if (i.prerequisites) {
110
110
  console.log('- install packages prerequisites');
@@ -174,11 +174,11 @@ class Config extends core_1.Command {
174
174
  if (i.efi) {
175
175
  if (nointeractive) {
176
176
  utils_1.default.error('config: you are on a system UEFI');
177
- utils_1.default.warning('I suggest You to install grub-efi-' + utils_1.default.machineArch() + '-bin before to produce your ISO.\nJust write:\n sudo apt install grub-efi-' + utils_1.default.machineArch());
177
+ utils_1.default.warning('I suggest You to install grub-efi-' + utils_1.default.uefiArch() + '-bin before to produce your ISO.\nJust write:\n sudo apt install grub-efi-' + utils_1.default.uefiArch());
178
178
  }
179
179
  else if (pacman_1.default.distro().familyId === 'debian') {
180
180
  utils_1.default.warning('Installing uefi support...');
181
- await (0, utils_2.exec)('apt-get install grub-efi-' + utils_1.default.machineArch() + '-bin --yes', echo);
181
+ await (0, utils_2.exec)('apt-get install grub-efi-' + utils_1.default.uefiArch() + '-bin --yes', echo);
182
182
  }
183
183
  }
184
184
  if (i.prerequisites) {
@@ -21,7 +21,7 @@ class ExportDeb extends core_1.Command {
21
21
  await Tu.loadSettings();
22
22
  const echo = utils_1.default.setEcho(flags.verbose);
23
23
  let script = '';
24
- let arch = utils_1.default.eggsArch();
24
+ let arch = utils_1.default.uefiArch();
25
25
  if (flags.all) {
26
26
  arch = '*';
27
27
  }
@@ -116,10 +116,10 @@ class Update extends core_1.Command {
116
116
  const Tu = new tools_1.default();
117
117
  await Tu.loadSettings();
118
118
  utils_1.default.warning('import from lan');
119
- const cmd = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathDeb}${Tu.config.filterDeb}${utils_1.default.eggsArch()}.deb /tmp`;
119
+ const cmd = `scp ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathDeb}${Tu.config.filterDeb}${utils_1.default.uefiArch()}.deb /tmp`;
120
120
  await (0, utils_2.exec)(cmd, { echo: true, capture: true });
121
- if (await utils_1.default.customConfirm(`Want to install ${Tu.config.filterDeb}${utils_1.default.eggsArch()}.deb`)) {
122
- await (0, utils_2.exec)(`dpkg -i /tmp/${Tu.config.filterDeb}${utils_1.default.eggsArch()}.deb`);
121
+ if (await utils_1.default.customConfirm(`Want to install ${Tu.config.filterDeb}${utils_1.default.uefiArch()}.deb`)) {
122
+ await (0, utils_2.exec)(`dpkg -i /tmp/${Tu.config.filterDeb}${utils_1.default.uefiArch()}.deb`);
123
123
  }
124
124
  }
125
125
  /**
@@ -28,7 +28,7 @@ async function bootloaderConfigUbuntu() {
28
28
  const aptInstallOptions = ' apt install -y --no-upgrade --allow-unauthenticated -o Acquire::gpgv::Options::=--ignore-time-conflict ';
29
29
  if (this.efi) {
30
30
  try {
31
- cmd = `chroot ${this.installTarget} ${aptInstallOptions} grub-efi-${utils_2.default.machineArch()} --allow-unauthenticated ${this.toNull}`;
31
+ cmd = `chroot ${this.installTarget} ${aptInstallOptions} grub-efi-${utils_2.default.uefiArch()} --allow-unauthenticated ${this.toNull}`;
32
32
  await (0, utils_1.exec)(cmd, this.echo);
33
33
  }
34
34
  catch (error) {
@@ -14,7 +14,6 @@ const path_1 = tslib_1.__importDefault(require("path"));
14
14
  const utils_1 = tslib_1.__importDefault(require("../classes/utils"));
15
15
  const pacman_1 = tslib_1.__importDefault(require("../classes/pacman"));
16
16
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
17
- const pjson = require('../../package.json');
18
17
  // libraries
19
18
  const utils_2 = require("../lib/utils");
20
19
  const startMessage = 'eggs-start-message';
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.6.1",
4
+ "version": "9.6.4",
5
5
  "author": "Piero Proietti @pieroproietti",
6
6
  "bin": {
7
7
  "eggs": "bin/run"