penguins-eggs 9.3.1 → 9.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.oclif.manifest.json +1 -1
- package/README.md +29 -21
- package/conf/distros/bionic/README.md +1 -1
- package/conf/distros/bionic/calamares/settings.yml +1 -1
- package/conf/distros/buster/calamares/calamares-modules/dpkg-unsafe-io/module.yml +1 -1
- package/conf/distros/buster/calamares/calamares-modules/dpkg-unsafe-io-undo/module.yml +1 -1
- package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +56 -79
- package/conf/distros/buster/calamares/calamares-modules/{sources-yolk-unmount → sources-yolk-undo}/module.yml +2 -2
- package/conf/distros/buster/calamares/modules/packages.yml +2 -4
- package/conf/distros/buster/calamares/settings.yml +3 -3
- package/conf/distros/focal/calamares/settings.yml +1 -1
- package/conf/distros/jessie/krill/krill-modules/sources-yolk-unmount/module.yml +2 -2
- package/conf/distros/jessie/krill/settings.yml +1 -1
- package/dist/classes/incubation/distros/bionic.js +1 -1
- package/dist/classes/incubation/distros/buster.js +2 -2
- package/dist/classes/incubation/distros/focal.js +1 -1
- package/dist/classes/incubation/distros/jessie.js +1 -1
- package/dist/classes/incubation/fisherman-helper/packages.js +24 -31
- package/dist/classes/incubation/fisherman.js +8 -5
- package/dist/classes/pacman.js +5 -5
- package/dist/classes/pxe.js +3 -3
- package/dist/krill/krill-sequence.js +26 -6
- package/dist/krill/modules/packages.js +40 -34
- package/package.json +1 -1
- package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.working.sh +0 -75
- package/scripts/netgrub.sh +0 -39
package/.oclif.manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"9.3.1","commands":{"adapt":{"id":"adapt","description":"adapt monitor resolution for VM only","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","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":"calamares or install or configure it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["~$ sudo eggs calamares \ncreate/renew calamares configuration's files\n","~$ sudo eggs calamares -i \ninstall calamares and create it's configuration's files\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","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}},"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\nConfigure and install prerequisites deb packages to run it"],"flags":{"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"assume yes","allowNo":false},"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},"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\nstart a PXE server with dhcp-proxy (can coexists with a real dhcp server)\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"dad":{"id":"dad","description":"ask help from daddy - configuration helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"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},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"install":{"id":"install","description":"command-line system installer - the egg became a penguin!","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs install\nInstall the system using krill installer\n"],"flags":{"unattended":{"name":"unattended","type":"boolean","char":"u","description":"Unattended installation","allowNo":false},"ip":{"name":"ip","type":"boolean","char":"i","description":"hostname as ip, eg: ip-192-168-1-33","allowNo":false},"random":{"name":"random","type":"boolean","char":"r","description":"Add random to hostname, eg: colibri-ay412dt","allowNo":false},"domain":{"name":"domain","type":"option","char":"d","description":"Domain name, defult: .local","multiple":false},"suspend":{"name":"suspend","type":"boolean","char":"S","description":"Swap suspend: RAM x 2","allowNo":false},"small":{"name":"small","type":"boolean","char":"s","description":"Swap small: RAM","allowNo":false},"none":{"name":"none","type":"boolean","char":"n","description":"Swap none: 256M","allowNo":false},"crypted":{"name":"crypted","type":"boolean","char":"k","description":"Crypted CLI installation","allowNo":false},"pve":{"name":"pve","type":"boolean","char":"p","description":"Proxmox VE install","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":[]},"kill":{"id":"kill","description":"kill the eggs/free the nest","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs kill\nkill the eggs/free the nest"],"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 for mommy - gui helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"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 \nproduce an ISO called [hostname]-[arch]-YYYY-MM-DD_HHMM.iso, compressed xz (standard compression).\nIf hostname=ugo and arch=i386 ugo-x86-2020-08-25_1215.iso\n","$ sudo eggs produce -v\nsame as previuos, but with --verbose output\n","$ sudo eggs produce -vf\nsame as previuos, compression zstd, lz4 or gzip (depend from system capability)\n","$ sudo eggs produce -vm\nsame as previuos, compression xz -Xbcj x86 (max compression, about 10%\nmore compressed)\n","$ sudo eggs produce -vf --basename leo --theme debian --addons adapt \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression fast,\nusing Debian theme and link to adapt\n","$ sudo eggs produce -v --basename leo --theme debian --addons rsupport \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression xz,\nusing Debian theme and link to dwagent\n","$ sudo eggs produce -v --basename leo --rsupport \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression xz, using eggs\ntheme and link to dwagent\n","$ sudo eggs produce -vs --basename leo --rsupport \nproduce scripts to build an ISO as the previus example. Scripts can be found\nin /home/eggs/ovarium and you can customize all you need\n"],"flags":{"prefix":{"name":"prefix","type":"option","char":"p","description":"prefix","multiple":false},"basename":{"name":"basename","type":"option","description":"basename","multiple":false},"backup":{"name":"backup","type":"boolean","char":"b","description":"backup mode (CRYPTED)","allowNo":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},"normal":{"name":"normal","type":"boolean","char":"n","description":"normal compression","allowNo":false},"max":{"name":"max","type":"boolean","char":"m","description":"max compression","allowNo":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},"script":{"name":"script","type":"boolean","char":"s","description":"script mode. Generate scripts to manage iso build","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme for livecd, calamares branding and partitions","multiple":false},"addons":{"name":"addons","type":"option","description":"addons to be used: adapt, ichoice, pve, rsupport","multiple":true},"release":{"name":"release","type":"boolean","description":"release: max compression, remove penguins-eggs and calamares after installation","allowNo":false}},"args":[]},"status":{"id":"status","description":"informations about eggs status","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","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"],"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},"rootdir":{"name":"rootdir","type":"option","char":"r","description":"rootdir of the installed system, when used from live","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":[]},"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"],"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\nupdate/upgrade the penguin's eggs tool"],"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":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old .deb before to copy","allowNo":false},"amd64":{"name":"amd64","type":"boolean","description":"export amd64 arch","allowNo":false},"i386":{"name":"i386","type":"boolean","description":"export i386 arch","allowNo":false},"armel":{"name":"armel","type":"boolean","description":"export armel arch","allowNo":false},"arm64":{"name":"arm64","type":"boolean","description":"export arm64 arch","allowNo":false},"all":{"name":"all","type":"boolean","char":"a","description":"export all archs","allowNo":false}},"args":[]},"export:docs":{"id":"export:docs","description":"remove and export docType documentation of the sources in the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","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":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"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}},"args":[]},"tools:clean":{"id":"tools:clean","description":"clean system log, apt, etc","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"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":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"add":{"name":"add","type":"boolean","char":"a","description":"add penguins-eggs PPA repository","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":["$ eggs skel --user mauro\ndesktop configuration of user mauro will get used as default"],"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":[],"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":["$ eggs yolk -v"],"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":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[{"name":"repo","description":"repository to get","required":false}]},"wardrobe:ironing":{"id":"wardrobe:ironing","description":"ordered show of costumes or accessories in wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[{"name":"costume","description":"costume","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":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","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":[],"flags":{"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false},"json":{"name":"json","type":"boolean","char":"j","description":"output JSON","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[{"name":"costume","description":"costume","required":false}]},"wardrobe:wear":{"id":"wardrobe:wear","description":"wear costume/accessories from wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":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},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[{"name":"costume","description":"costume","required":false}]}}}
|
|
1
|
+
{"version":"9.3.2","commands":{"adapt":{"id":"adapt","description":"adapt monitor resolution for VM only","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","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":"calamares or install or configure it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["~$ sudo eggs calamares \ncreate/renew calamares configuration's files\n","~$ sudo eggs calamares -i \ninstall calamares and create it's configuration's files\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","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}},"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\nConfigure and install prerequisites deb packages to run it"],"flags":{"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"assume yes","allowNo":false},"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},"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\nstart a PXE server with dhcp-proxy (can coexists with a real dhcp server)\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"dad":{"id":"dad","description":"ask help from daddy - configuration helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"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},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"install":{"id":"install","description":"command-line system installer - the egg became a penguin!","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs install\nInstall the system using krill installer\n"],"flags":{"unattended":{"name":"unattended","type":"boolean","char":"u","description":"Unattended installation","allowNo":false},"ip":{"name":"ip","type":"boolean","char":"i","description":"hostname as ip, eg: ip-192-168-1-33","allowNo":false},"random":{"name":"random","type":"boolean","char":"r","description":"Add random to hostname, eg: colibri-ay412dt","allowNo":false},"domain":{"name":"domain","type":"option","char":"d","description":"Domain name, defult: .local","multiple":false},"suspend":{"name":"suspend","type":"boolean","char":"S","description":"Swap suspend: RAM x 2","allowNo":false},"small":{"name":"small","type":"boolean","char":"s","description":"Swap small: RAM","allowNo":false},"none":{"name":"none","type":"boolean","char":"n","description":"Swap none: 256M","allowNo":false},"crypted":{"name":"crypted","type":"boolean","char":"k","description":"Crypted CLI installation","allowNo":false},"pve":{"name":"pve","type":"boolean","char":"p","description":"Proxmox VE install","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":[]},"kill":{"id":"kill","description":"kill the eggs/free the nest","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs kill\nkill the eggs/free the nest"],"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 for mommy - gui helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"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 \nproduce an ISO called [hostname]-[arch]-YYYY-MM-DD_HHMM.iso, compressed xz (standard compression).\nIf hostname=ugo and arch=i386 ugo-x86-2020-08-25_1215.iso\n","$ sudo eggs produce -v\nsame as previuos, but with --verbose output\n","$ sudo eggs produce -vf\nsame as previuos, compression zstd, lz4 or gzip (depend from system capability)\n","$ sudo eggs produce -vm\nsame as previuos, compression xz -Xbcj x86 (max compression, about 10%\nmore compressed)\n","$ sudo eggs produce -vf --basename leo --theme debian --addons adapt \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression fast,\nusing Debian theme and link to adapt\n","$ sudo eggs produce -v --basename leo --theme debian --addons rsupport \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression xz,\nusing Debian theme and link to dwagent\n","$ sudo eggs produce -v --basename leo --rsupport \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression xz, using eggs\ntheme and link to dwagent\n","$ sudo eggs produce -vs --basename leo --rsupport \nproduce scripts to build an ISO as the previus example. Scripts can be found\nin /home/eggs/ovarium and you can customize all you need\n"],"flags":{"prefix":{"name":"prefix","type":"option","char":"p","description":"prefix","multiple":false},"basename":{"name":"basename","type":"option","description":"basename","multiple":false},"backup":{"name":"backup","type":"boolean","char":"b","description":"backup mode (CRYPTED)","allowNo":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},"normal":{"name":"normal","type":"boolean","char":"n","description":"normal compression","allowNo":false},"max":{"name":"max","type":"boolean","char":"m","description":"max compression","allowNo":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},"script":{"name":"script","type":"boolean","char":"s","description":"script mode. Generate scripts to manage iso build","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme for livecd, calamares branding and partitions","multiple":false},"addons":{"name":"addons","type":"option","description":"addons to be used: adapt, ichoice, pve, rsupport","multiple":true},"release":{"name":"release","type":"boolean","description":"release: max compression, remove penguins-eggs and calamares after installation","allowNo":false}},"args":[]},"status":{"id":"status","description":"informations about eggs status","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","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"],"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},"rootdir":{"name":"rootdir","type":"option","char":"r","description":"rootdir of the installed system, when used from live","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":[]},"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"],"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\nupdate/upgrade the penguin's eggs tool"],"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":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old .deb before to copy","allowNo":false},"amd64":{"name":"amd64","type":"boolean","description":"export amd64 arch","allowNo":false},"i386":{"name":"i386","type":"boolean","description":"export i386 arch","allowNo":false},"armel":{"name":"armel","type":"boolean","description":"export armel arch","allowNo":false},"arm64":{"name":"arm64","type":"boolean","description":"export arm64 arch","allowNo":false},"all":{"name":"all","type":"boolean","char":"a","description":"export all archs","allowNo":false}},"args":[]},"export:docs":{"id":"export:docs","description":"remove and export docType documentation of the sources in the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","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":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"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}},"args":[]},"tools:clean":{"id":"tools:clean","description":"clean system log, apt, etc","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"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":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"add":{"name":"add","type":"boolean","char":"a","description":"add penguins-eggs PPA repository","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":["$ eggs skel --user mauro\ndesktop configuration of user mauro will get used as default"],"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":[],"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":["$ eggs yolk -v"],"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":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[{"name":"repo","description":"repository to get","required":false}]},"wardrobe:ironing":{"id":"wardrobe:ironing","description":"ordered show of costumes or accessories in wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[{"name":"costume","description":"costume","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":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","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":[],"flags":{"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false},"json":{"name":"json","type":"boolean","char":"j","description":"output JSON","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[{"name":"costume","description":"costume","required":false}]},"wardrobe:wear":{"id":"wardrobe:wear","description":"wear costume/accessories from wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":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},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[{"name":"costume","description":"costume","required":false}]}}}
|
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ penguins-eggs
|
|
|
18
18
|
<!-- toc -->
|
|
19
19
|
* [Index](#index)
|
|
20
20
|
* [Presentation](#presentation)
|
|
21
|
-
* [
|
|
21
|
+
* [Technology](#technology)
|
|
22
22
|
* [Features](#features)
|
|
23
23
|
* [Packages](#packages)
|
|
24
24
|
* [Usage](#usage)
|
|
@@ -37,7 +37,7 @@ You can easily install the resulting live system with the calamares installer or
|
|
|
37
37
|
Thanks to the wardrobe, you can create or use scripts to switch from a "naked" version - with only a CLI interface - and "wear" it with a full GUI or server configurations. See [penguins-wardrobe](https://github.com/pieroproietti/penguins-wardrobe), fork it and adapt it to yours needs.
|
|
38
38
|
|
|
39
39
|
|
|
40
|
-
#
|
|
40
|
+
# Technology
|
|
41
41
|
|
|
42
42
|
The whole thing is written in pure typescript, so ideally it can be used with different Linux distributions. Yes, there are major differences in terms of the package manager used, but not so much on the way the various programs used to build the isos work. Actually eggs support: Debian, Devuan, Ubuntu, Arch and ManjaroLinux.
|
|
43
43
|
|
|
@@ -52,9 +52,9 @@ The cuckoo lays its eggs in the nests of other birds, and the eggs are hatched b
|
|
|
52
52
|
|
|
53
53
|
We have two methods to save in the live system all our data: clone and backup.
|
|
54
54
|
|
|
55
|
-
```eggs
|
|
55
|
+
```eggs produce --fast --clone``` saves our users and our data directly in the generated iso. The data will be visible directly from the live and accessible to anyone who gets a copy.
|
|
56
56
|
|
|
57
|
-
```eggs
|
|
57
|
+
```eggs produce --fast --backup``` saves our data within the generated iso using a LUKS volume. Our data will NOT be visible in the live system but can be reinstalled automatically with krill installer. Even having the generated image available, our data will be protected by the LUKS passphrase.
|
|
58
58
|
|
|
59
59
|
* ```eggs produce``` this is the default: all private data are removed on the live.
|
|
60
60
|
* ```eggs produce --clone``` include all users data UNCRYPTED directly on the live.
|
|
@@ -66,7 +66,7 @@ Using ```sudo eggs install --cli``` will automaticaly restore your CRYPTED backu
|
|
|
66
66
|
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. Yolk, It is used only for Debian families and derivated.
|
|
67
67
|
|
|
68
68
|
## GUI calamares or TUI krill installer
|
|
69
|
-
eggs include a TUI installer named krill, this let you to produce and install servers configurations. krill use a nice TUI interface using the same, configuration created by eggs for [calamares](calamares.io). This lead to have "about the same" experience installing, from old distros to new ones and for GUI and CLI. It's possible with krill to do unattended installations, simply add ```--unattended``` flag and the values in ```/etc/penguins-eggs.d/krill.yaml``` will be used for installation.
|
|
69
|
+
eggs include a TUI installer named krill, this let you to produce and install servers configurations. krill use a nice TUI interface using the same, configuration created by eggs for [calamares](https://calamares.io/). This lead to have "about the same" experience installing, from old distros to new ones and for GUI and CLI. It's possible with krill to do unattended installations, simply add ```--unattended``` flag and the values in ```/etc/penguins-eggs.d/krill.yaml``` will be used for installation.
|
|
70
70
|
|
|
71
71
|
## helper: mom and dad
|
|
72
72
|
I've added two lightweight assistants integrated with eggs: mom and dad. While mom is a bash script with whiptail - and guides the user to the various commands and documentation, dad started as a short way to create isos. All you have to do is type **sudo eggs dad** and follow simple instructions. You can also shortcut the way to reset the configuration **sudo dad -c** or - even faster - reset the configuration, load defaults, kill created isos: simply type **sudo eggs dad -d** and you will immediately be able to produce the egg in the default /home/eggs nest.
|
|
@@ -97,10 +97,18 @@ eggs have it's repository ppa, You can use it, copy and paste in a terminal wind
|
|
|
97
97
|
|
|
98
98
|
```
|
|
99
99
|
curl -SsL https://pieroproietti.github.io/penguins-eggs-ppa/KEY.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/penguins-eggs-ppa-keyring.gpg
|
|
100
|
+
|
|
100
101
|
sudo curl -s --compressed -o /etc/apt/sources.list.d/penguins-eggs-ppa.list "https://pieroproietti.github.io/penguins-eggs-ppa/penguins-eggs-ppa.list"
|
|
101
102
|
```
|
|
102
103
|
|
|
103
|
-
Update your repositories
|
|
104
|
+
Update your repositories and install eggs:
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
sudo apt update
|
|
108
|
+
|
|
109
|
+
sudo apt install eggs
|
|
110
|
+
```
|
|
111
|
+
|
|
104
112
|
|
|
105
113
|
#### Download the package and install with dpkg
|
|
106
114
|
|
|
@@ -128,7 +136,7 @@ The same for manjaroLinux: ```git clone https://github.com/pieroproietti/penguin
|
|
|
128
136
|
|
|
129
137
|
# Usage
|
|
130
138
|
|
|
131
|
-
Once the package has been installed, you can have the new ```eggs``` command. Typing ```eggs``` will get the list of commands, typing ```eggs
|
|
139
|
+
Once the package has been installed, you can have the new ```eggs``` command. Typing ```eggs``` will get the list of commands, typing ```eggs produce --help``` will get the eggs produce command help screen. You can also use the command autocomplete with the TABS key, you will get the possible choices for each command. In addition, there is a man page, so by typing ```man eggs``` you will get that help as well. A more guided approach can be made usind ```eggs mom```, will present a menu with various commands.
|
|
132
140
|
|
|
133
141
|
## Examples
|
|
134
142
|
|
|
@@ -198,7 +206,7 @@ DESCRIPTION
|
|
|
198
206
|
adapt monitor resolution for VM only
|
|
199
207
|
```
|
|
200
208
|
|
|
201
|
-
_See code: [dist/commands/adapt.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
209
|
+
_See code: [dist/commands/adapt.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.2/dist/commands/adapt.js)_
|
|
202
210
|
|
|
203
211
|
## `eggs analyze`
|
|
204
212
|
|
|
@@ -219,7 +227,7 @@ EXAMPLES
|
|
|
219
227
|
$ sudo eggs analyze
|
|
220
228
|
```
|
|
221
229
|
|
|
222
|
-
_See code: [dist/commands/analyze.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
230
|
+
_See code: [dist/commands/analyze.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.2/dist/commands/analyze.js)_
|
|
223
231
|
|
|
224
232
|
## `eggs autocomplete [SHELL]`
|
|
225
233
|
|
|
@@ -277,7 +285,7 @@ EXAMPLES
|
|
|
277
285
|
install calamares and create it's configuration's files
|
|
278
286
|
```
|
|
279
287
|
|
|
280
|
-
_See code: [dist/commands/calamares.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
288
|
+
_See code: [dist/commands/calamares.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.2/dist/commands/calamares.js)_
|
|
281
289
|
|
|
282
290
|
## `eggs config`
|
|
283
291
|
|
|
@@ -301,7 +309,7 @@ EXAMPLES
|
|
|
301
309
|
Configure and install prerequisites deb packages to run it
|
|
302
310
|
```
|
|
303
311
|
|
|
304
|
-
_See code: [dist/commands/config.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
312
|
+
_See code: [dist/commands/config.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.2/dist/commands/config.js)_
|
|
305
313
|
|
|
306
314
|
## `eggs cuckoo`
|
|
307
315
|
|
|
@@ -322,7 +330,7 @@ EXAMPLES
|
|
|
322
330
|
start a PXE server with dhcp-proxy (can coexists with a real dhcp server)
|
|
323
331
|
```
|
|
324
332
|
|
|
325
|
-
_See code: [dist/commands/cuckoo.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
333
|
+
_See code: [dist/commands/cuckoo.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.2/dist/commands/cuckoo.js)_
|
|
326
334
|
|
|
327
335
|
## `eggs dad`
|
|
328
336
|
|
|
@@ -342,7 +350,7 @@ DESCRIPTION
|
|
|
342
350
|
ask help from daddy - configuration helper
|
|
343
351
|
```
|
|
344
352
|
|
|
345
|
-
_See code: [dist/commands/dad.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
353
|
+
_See code: [dist/commands/dad.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.2/dist/commands/dad.js)_
|
|
346
354
|
|
|
347
355
|
## `eggs export deb`
|
|
348
356
|
|
|
@@ -446,7 +454,7 @@ EXAMPLES
|
|
|
446
454
|
Install the system using krill installer
|
|
447
455
|
```
|
|
448
456
|
|
|
449
|
-
_See code: [dist/commands/install.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
457
|
+
_See code: [dist/commands/install.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.2/dist/commands/install.js)_
|
|
450
458
|
|
|
451
459
|
## `eggs kill`
|
|
452
460
|
|
|
@@ -468,7 +476,7 @@ EXAMPLES
|
|
|
468
476
|
kill the eggs/free the nest
|
|
469
477
|
```
|
|
470
478
|
|
|
471
|
-
_See code: [dist/commands/kill.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
479
|
+
_See code: [dist/commands/kill.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.2/dist/commands/kill.js)_
|
|
472
480
|
|
|
473
481
|
## `eggs mom`
|
|
474
482
|
|
|
@@ -485,7 +493,7 @@ DESCRIPTION
|
|
|
485
493
|
ask for mommy - gui helper
|
|
486
494
|
```
|
|
487
495
|
|
|
488
|
-
_See code: [dist/commands/mom.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
496
|
+
_See code: [dist/commands/mom.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.2/dist/commands/mom.js)_
|
|
489
497
|
|
|
490
498
|
## `eggs produce`
|
|
491
499
|
|
|
@@ -547,7 +555,7 @@ EXAMPLES
|
|
|
547
555
|
in /home/eggs/ovarium and you can customize all you need
|
|
548
556
|
```
|
|
549
557
|
|
|
550
|
-
_See code: [dist/commands/produce.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
558
|
+
_See code: [dist/commands/produce.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.2/dist/commands/produce.js)_
|
|
551
559
|
|
|
552
560
|
## `eggs status`
|
|
553
561
|
|
|
@@ -565,7 +573,7 @@ DESCRIPTION
|
|
|
565
573
|
informations about eggs status
|
|
566
574
|
```
|
|
567
575
|
|
|
568
|
-
_See code: [dist/commands/status.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
576
|
+
_See code: [dist/commands/status.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.2/dist/commands/status.js)_
|
|
569
577
|
|
|
570
578
|
## `eggs syncfrom`
|
|
571
579
|
|
|
@@ -589,7 +597,7 @@ EXAMPLES
|
|
|
589
597
|
$ sudo eggs restore
|
|
590
598
|
```
|
|
591
599
|
|
|
592
|
-
_See code: [dist/commands/syncfrom.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
600
|
+
_See code: [dist/commands/syncfrom.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.2/dist/commands/syncfrom.js)_
|
|
593
601
|
|
|
594
602
|
## `eggs syncto`
|
|
595
603
|
|
|
@@ -612,7 +620,7 @@ EXAMPLES
|
|
|
612
620
|
$ sudo eggs syncto
|
|
613
621
|
```
|
|
614
622
|
|
|
615
|
-
_See code: [dist/commands/syncto.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
623
|
+
_See code: [dist/commands/syncto.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.2/dist/commands/syncto.js)_
|
|
616
624
|
|
|
617
625
|
## `eggs tools clean`
|
|
618
626
|
|
|
@@ -725,7 +733,7 @@ EXAMPLES
|
|
|
725
733
|
update/upgrade the penguin's eggs tool
|
|
726
734
|
```
|
|
727
735
|
|
|
728
|
-
_See code: [dist/commands/update.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
736
|
+
_See code: [dist/commands/update.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.2/dist/commands/update.js)_
|
|
729
737
|
|
|
730
738
|
## `eggs version`
|
|
731
739
|
|
|
@@ -13,7 +13,7 @@ It take all configuration of Debian buster
|
|
|
13
13
|
* /calamares/calamares-modules/grubcfg original
|
|
14
14
|
* /calamares/calamares-modules/remove-link from buster
|
|
15
15
|
* /calamares/calamares-modules/sources-yolk from buster
|
|
16
|
-
* /calamares/calamares-modules/sources-yolk-
|
|
16
|
+
* /calamares/calamares-modules/sources-yolk-undo from buster
|
|
17
17
|
|
|
18
18
|
* /calamares/modules/bootloader.yml original
|
|
19
19
|
* /calamares/modules/displaymanager.yml from focal
|
|
@@ -1,105 +1,82 @@
|
|
|
1
|
-
#!/bin/
|
|
1
|
+
#!/bin/sh
|
|
2
2
|
|
|
3
3
|
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
|
|
4
|
+
# We use just yolk during installation
|
|
5
|
+
#
|
|
6
|
+
# sources-yolk.sh
|
|
7
|
+
# add yolk, rimuove LIST, LIST.d ed esegue apt non autenticato
|
|
8
|
+
#
|
|
9
|
+
# sources-yolk.sh -u
|
|
10
|
+
# remove yolk, restore LIST, LIST.d ed esegue apt non autenticato
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
#
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
# if u = unmount restore_apt
|
|
12
|
+
#
|
|
13
|
+
#
|
|
14
|
+
#
|
|
15
|
+
main() {
|
|
16
16
|
if [ "$1" = "-u" ]; then
|
|
17
|
-
|
|
18
|
-
restore_apt
|
|
17
|
+
restore
|
|
19
18
|
else
|
|
20
|
-
|
|
21
|
-
clean_backup
|
|
22
|
-
backup_apt
|
|
23
|
-
|
|
24
|
-
clean_apt
|
|
19
|
+
backup
|
|
25
20
|
yolk
|
|
26
21
|
fi
|
|
22
|
+
sync
|
|
23
|
+
exit 0
|
|
27
24
|
}
|
|
28
25
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
mkdir "$APT_BACKUP" -p
|
|
36
|
-
if [ -f "$APT_ROOT/sources.list" ]; then
|
|
37
|
-
mv "$APT_ROOT/sources.list" "$APT_BACKUP"
|
|
38
|
-
fi
|
|
39
|
-
if [ -d "$APT_ROOT/sources.list.d" ]; then
|
|
40
|
-
mv "$APT_ROOT/sources.list.d/" "$APT_BACKUP"
|
|
26
|
+
#
|
|
27
|
+
#
|
|
28
|
+
#
|
|
29
|
+
backup() {
|
|
30
|
+
if [ -f "$BACKUP" ]; then
|
|
31
|
+
rm -f "$BACKUP"
|
|
41
32
|
fi
|
|
42
|
-
}
|
|
43
33
|
|
|
34
|
+
if [ -d "$BACKUP_D" ]; then
|
|
35
|
+
rm -rf "$BACKUP_D"
|
|
36
|
+
fi
|
|
44
37
|
|
|
38
|
+
mv "$LIST" "$BACKUP"
|
|
45
39
|
|
|
46
|
-
|
|
47
|
-
# function restore_apt
|
|
48
|
-
##############################
|
|
49
|
-
function restore_apt {
|
|
50
|
-
mv "$APT_BACKUP/sources.list" "$APT_ROOT"
|
|
51
|
-
mv "$APT_BACKUP/sources.list.d/" "$APT_ROOT"
|
|
40
|
+
mv "$LIST_D" "$BACKUP_D"
|
|
52
41
|
}
|
|
53
42
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
if [ -f "$APT_ROOT/sources.list" ]; then
|
|
61
|
-
rm "$APT_ROOT/sources.list"
|
|
62
|
-
fi
|
|
63
|
-
if [ -d "$APT_ROOT/sources.list.d" ]; then
|
|
64
|
-
rm "$APT_ROOT/sources.list.d" -rf
|
|
43
|
+
#
|
|
44
|
+
#
|
|
45
|
+
#
|
|
46
|
+
restore() {
|
|
47
|
+
if [ -f "$LIST" ]; then
|
|
48
|
+
rm -f "$LIST"
|
|
65
49
|
fi
|
|
66
|
-
}
|
|
67
50
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
# function: clean_backup
|
|
71
|
-
##############################
|
|
72
|
-
function clean_backup {
|
|
73
|
-
if [ -d "$APT_BACKUP" ]; then
|
|
74
|
-
rm "$APT_BACKUP" -rf
|
|
51
|
+
if [ -d "$LIST_D" ]; then
|
|
52
|
+
rm -rf "$LIST_D"
|
|
75
53
|
fi
|
|
76
|
-
}
|
|
77
54
|
|
|
55
|
+
mv "$BACKUP" "$LIST"
|
|
78
56
|
|
|
57
|
+
mv "$BACKUP_D" "$LIST_D"
|
|
58
|
+
}
|
|
79
59
|
|
|
80
|
-
|
|
81
|
-
#
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
deb [trusted=yes] file:///var/local/yolk /
|
|
89
|
-
EOF
|
|
90
|
-
|
|
91
|
-
# apt-get update
|
|
92
|
-
chroot "${CHROOT}" apt-get --allow-unauthenticated update -y
|
|
60
|
+
#
|
|
61
|
+
#
|
|
62
|
+
#
|
|
63
|
+
yolk() {
|
|
64
|
+
mkdir -p "$LIST_D"
|
|
65
|
+
echo "deb [trusted=yes] file:/var/local/yolk ./" > "$LIST_D/yolk.list"
|
|
66
|
+
touch "$LIST"
|
|
67
|
+
chroot "$CHROOT" apt-get update
|
|
93
68
|
}
|
|
94
69
|
|
|
70
|
+
#
|
|
71
|
+
# WE START HERE
|
|
72
|
+
#
|
|
73
|
+
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
|
|
95
74
|
|
|
75
|
+
LIST="$CHROOT/etc/apt/sources.list"
|
|
76
|
+
BACKUP="$LIST.backup"
|
|
77
|
+
|
|
78
|
+
LIST_D="$LIST.d"
|
|
79
|
+
BACKUP_D="$LIST_D.backup"
|
|
96
80
|
|
|
97
|
-
##############################
|
|
98
|
-
# PROCESS START HERE!!!
|
|
99
|
-
# CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
|
|
100
|
-
##############################
|
|
101
|
-
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
|
|
102
|
-
APT_ROOT="${CHROOT}/etc/apt"
|
|
103
|
-
APT_BACKUP="/tmp/calamares-krill-temp"
|
|
104
81
|
main "$1"
|
|
105
|
-
|
|
82
|
+
|
|
@@ -65,7 +65,7 @@ sequence:
|
|
|
65
65
|
- partition
|
|
66
66
|
- mount
|
|
67
67
|
- unpackfs
|
|
68
|
-
|
|
68
|
+
- dpkg-unsafe-io
|
|
69
69
|
- sources-yolk
|
|
70
70
|
{{hasSystemd}}machineid
|
|
71
71
|
- fstab
|
|
@@ -85,9 +85,9 @@ sequence:
|
|
|
85
85
|
- plymouthcfg
|
|
86
86
|
- initramfscfg
|
|
87
87
|
- initramfs
|
|
88
|
-
|
|
88
|
+
- dpkg-unsafe-io-undo
|
|
89
89
|
- removeuser
|
|
90
|
-
- sources-yolk-
|
|
90
|
+
- sources-yolk-undo
|
|
91
91
|
- cleanup
|
|
92
92
|
- umount
|
|
93
93
|
|
|
@@ -59,7 +59,7 @@ class Bionic {
|
|
|
59
59
|
await fisherman.buildCalamaresModule('add386arch', false);
|
|
60
60
|
await fisherman.modulePackages(this.distro, this.release); //
|
|
61
61
|
await fisherman.moduleRemoveuser(this.user_opt); //
|
|
62
|
-
await fisherman.buildCalamaresModule('sources-yolk-
|
|
62
|
+
await fisherman.buildCalamaresModule('sources-yolk-undo', false);
|
|
63
63
|
await fisherman.buildCalamaresModule('cleanup', true);
|
|
64
64
|
await fisherman.buildModule('umount');
|
|
65
65
|
await fisherman.buildModule('finished');
|
|
@@ -61,9 +61,9 @@ class Buster {
|
|
|
61
61
|
await fisherman.buildModule('plymouthcfg');
|
|
62
62
|
await fisherman.buildModule('initramfscfg');
|
|
63
63
|
await fisherman.buildModule('initramfs');
|
|
64
|
-
await fisherman.moduleRemoveuser(this.user_opt);
|
|
65
64
|
await fisherman.buildCalamaresModule('dpkg-unsafe-io-undo', false);
|
|
66
|
-
await fisherman.
|
|
65
|
+
await fisherman.moduleRemoveuser(this.user_opt);
|
|
66
|
+
await fisherman.buildCalamaresModule('sources-yolk-undo', false);
|
|
67
67
|
await fisherman.buildCalamaresModule('cleanup', true);
|
|
68
68
|
await fisherman.buildModule('umount');
|
|
69
69
|
await fisherman.moduleFinished();
|
|
@@ -63,7 +63,7 @@ class Focal {
|
|
|
63
63
|
await fisherman.modulePackages(this.distro, this.release); //
|
|
64
64
|
await fisherman.moduleRemoveuser(this.user_opt);
|
|
65
65
|
await fisherman.buildCalamaresModule('sources-yolk', false);
|
|
66
|
-
await fisherman.buildCalamaresModule('sources-yolk-
|
|
66
|
+
await fisherman.buildCalamaresModule('sources-yolk-undo', false);
|
|
67
67
|
await fisherman.buildCalamaresModule('cleanup', true);
|
|
68
68
|
await fisherman.buildModule('umount');
|
|
69
69
|
await fisherman.buildModule('finished');
|
|
@@ -41,7 +41,7 @@ class Jessie {
|
|
|
41
41
|
await fisherman.buildModule('partition', this.remix.branding);
|
|
42
42
|
await fisherman.buildCalamaresModule('sources-yolk', true);
|
|
43
43
|
await fisherman.moduleRemoveuser(this.user_opt);
|
|
44
|
-
await fisherman.buildCalamaresModule('sources-yolk-
|
|
44
|
+
await fisherman.buildCalamaresModule('sources-yolk-undo', false);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
exports.Jessie = Jessie;
|
|
@@ -2,70 +2,63 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.tryInstall = exports.remove = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
/**
|
|
6
|
-
*
|
|
7
|
-
*/
|
|
8
5
|
const pacman_1 = tslib_1.__importDefault(require("../../pacman"));
|
|
9
6
|
/**
|
|
10
|
-
* Work only with:
|
|
11
|
-
* - calamares
|
|
12
|
-
* - penguins-eggs
|
|
13
7
|
*
|
|
14
|
-
*
|
|
8
|
+
* @param distro
|
|
9
|
+
* @returns yaml-string
|
|
15
10
|
*/
|
|
16
11
|
function remove(distro) {
|
|
17
|
-
let
|
|
12
|
+
let packages = ["calamares"];
|
|
18
13
|
if (distro.familyId === 'archlinux') {
|
|
19
|
-
|
|
14
|
+
packages.push("penguins-eggs");
|
|
20
15
|
}
|
|
21
16
|
if (distro.familyId === 'debian') {
|
|
22
|
-
|
|
17
|
+
packages.push("eggs");
|
|
18
|
+
}
|
|
19
|
+
let yaml = '';
|
|
20
|
+
for (const elem of packages) {
|
|
21
|
+
yaml += ` - ${elem.trim()}\n`;
|
|
23
22
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
text += ` - ${elem.trim()}\n`;
|
|
23
|
+
if (yaml !== '') {
|
|
24
|
+
yaml = '- remove:\n' + yaml;
|
|
27
25
|
}
|
|
28
|
-
return
|
|
26
|
+
return yaml;
|
|
29
27
|
}
|
|
30
28
|
exports.remove = remove;
|
|
31
29
|
/**
|
|
32
30
|
*
|
|
33
31
|
* @param distro
|
|
34
|
-
|
|
35
|
-
- language-pack-$LOCALE
|
|
36
|
-
- hunspell-$LOCALE
|
|
37
|
-
- libreoffice-help-$LOCALE
|
|
38
|
-
|
|
32
|
+
* @returns yaml-string
|
|
39
33
|
*/
|
|
40
34
|
function tryInstall(distro) {
|
|
41
|
-
let
|
|
35
|
+
let yaml = '';
|
|
42
36
|
/**
|
|
43
37
|
* Depending on the distro
|
|
44
38
|
*/
|
|
45
39
|
if (distro.distroLike === 'Ubuntu') {
|
|
46
|
-
|
|
40
|
+
yaml += ' - language-pack-$LOCALE\n';
|
|
47
41
|
}
|
|
48
42
|
// Da localizzare se presenti
|
|
49
43
|
if (pacman_1.default.packageIsInstalled('hunspell')) {
|
|
50
|
-
|
|
44
|
+
yaml += ' - hunspell-$LOCALE\n';
|
|
51
45
|
}
|
|
52
46
|
if (pacman_1.default.packageIsInstalled('libreoffice-base-core')) {
|
|
53
|
-
|
|
54
|
-
|
|
47
|
+
yaml += ` - libreoffice-l10n-$LOCALE\n`;
|
|
48
|
+
yaml += ` - libreoffice-help-$LOCALE\n`;
|
|
55
49
|
}
|
|
56
50
|
if (pacman_1.default.packageIsInstalled('firefox-esr')) {
|
|
57
|
-
|
|
51
|
+
yaml += ` - firefox-esr-$LOCALE\n`;
|
|
58
52
|
}
|
|
59
53
|
if (pacman_1.default.packageIsInstalled('firefox')) {
|
|
60
|
-
|
|
54
|
+
yaml += ` - firefox-$LOCALE\n`;
|
|
61
55
|
}
|
|
62
56
|
if (pacman_1.default.packageIsInstalled('thunderbird')) {
|
|
63
|
-
|
|
57
|
+
yaml += ` - thunderbird-locale-$LOCALE\n`;
|
|
64
58
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
retVal += ' - try_install:\n' + packages;
|
|
59
|
+
if (yaml !== '') {
|
|
60
|
+
yaml = ' - try_install:\n' + yaml;
|
|
68
61
|
}
|
|
69
|
-
return
|
|
62
|
+
return yaml;
|
|
70
63
|
}
|
|
71
64
|
exports.tryInstall = tryInstall;
|
|
@@ -232,13 +232,16 @@ class Fisherman {
|
|
|
232
232
|
const removePackages = require('./fisherman-helper/packages').remove;
|
|
233
233
|
const tryInstall = require('./fisherman-helper/packages').tryInstall;
|
|
234
234
|
this.buildModule(name);
|
|
235
|
-
let
|
|
235
|
+
let yamlInstall = tryInstall(distro);
|
|
236
|
+
let yamlRemove = '';
|
|
236
237
|
if (release) {
|
|
237
|
-
|
|
238
|
+
yamlRemove = removePackages(distro);
|
|
238
239
|
}
|
|
239
|
-
let
|
|
240
|
-
|
|
241
|
-
|
|
240
|
+
let operations = '';
|
|
241
|
+
if (yamlRemove !== '' || yamlInstall !== '') {
|
|
242
|
+
operations = "operations:\n" + yamlRemove + yamlInstall;
|
|
243
|
+
}
|
|
244
|
+
shelljs_1.default.sed('-i', '{{operations}}', operations, this.installer.modules + name + '.conf');
|
|
242
245
|
}
|
|
243
246
|
/**
|
|
244
247
|
* Al momento rimane con la vecchia configurazione
|
package/dist/classes/pacman.js
CHANGED
|
@@ -537,7 +537,7 @@ class Pacman {
|
|
|
537
537
|
// Poi da buster
|
|
538
538
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
|
|
539
539
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
|
|
540
|
-
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-
|
|
540
|
+
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-undo ${dest}/calamares/calamares-modules/sources-yolk-undo`, echo);
|
|
541
541
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/packages.yml ${dest}/calamares/modules/packages.yml`, echo);
|
|
542
542
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/removeuser.yml ${dest}/calamares/modules/removeuser.yml`, echo);
|
|
543
543
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
|
|
@@ -552,7 +552,7 @@ class Pacman {
|
|
|
552
552
|
await (0, utils_2.exec)(`cp -r ${focal} ${dest}`, echo);
|
|
553
553
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
|
|
554
554
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
|
|
555
|
-
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-
|
|
555
|
+
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-undo ${dest}/calamares/calamares-modules/sources-yolk-undo`, echo);
|
|
556
556
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/packages.yml ${dest}/calamares/modules/packages.yml`, echo);
|
|
557
557
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/removeuser.yml ${dest}/calamares/modules/removeuser.yml`, echo);
|
|
558
558
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
|
|
@@ -567,7 +567,7 @@ class Pacman {
|
|
|
567
567
|
await (0, utils_2.exec)(`cp -r ${focal} ${dest}`, echo);
|
|
568
568
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
|
|
569
569
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
|
|
570
|
-
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-
|
|
570
|
+
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-undo ${dest}/calamares/calamares-modules/sources-yolk-undo`, echo);
|
|
571
571
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/packages.yml ${dest}/calamares/modules/packages.yml`, echo);
|
|
572
572
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/removeuser.yml ${dest}/calamares/modules/removeuser.yml`, echo);
|
|
573
573
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
|
|
@@ -582,7 +582,7 @@ class Pacman {
|
|
|
582
582
|
await (0, utils_2.exec)(`cp -r ${focal} ${dest}`, echo);
|
|
583
583
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
|
|
584
584
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
|
|
585
|
-
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-
|
|
585
|
+
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-undo ${dest}/calamares/calamares-modules/sources-yolk-undo`, echo);
|
|
586
586
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/packages.yml ${dest}/calamares/modules/packages.yml`, echo);
|
|
587
587
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/removeuser.yml ${dest}/calamares/modules/removeuser.yml`, echo);
|
|
588
588
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
|
|
@@ -597,7 +597,7 @@ class Pacman {
|
|
|
597
597
|
await (0, utils_2.exec)(`cp -r ${focal} ${dest}`, echo);
|
|
598
598
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
|
|
599
599
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
|
|
600
|
-
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-
|
|
600
|
+
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-undo ${dest}/calamares/calamares-modules/sources-yolk-undo`, echo);
|
|
601
601
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/packages.yml ${dest}/calamares/modules/packages.yml`, echo);
|
|
602
602
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/removeuser.yml ${dest}/calamares/modules/removeuser.yml`, echo);
|
|
603
603
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
|
package/dist/classes/pxe.js
CHANGED
|
@@ -168,7 +168,7 @@ class Pxe {
|
|
|
168
168
|
content += `TIMEOUT 0\n`;
|
|
169
169
|
content += `\n`;
|
|
170
170
|
content += `label egg\n`;
|
|
171
|
-
content += `menu label ${this.bootLabel}\n`;
|
|
171
|
+
content += `menu label ${this.bootLabel.replace('.iso', '')}\n`;
|
|
172
172
|
let clid = this.settings.distro.codenameLikeId;
|
|
173
173
|
if (clid === 'bionic' || clid === 'stretch' || clid === 'jessie') {
|
|
174
174
|
content += `kernel vmlinuz\n`;
|
|
@@ -178,7 +178,7 @@ class Pxe {
|
|
|
178
178
|
content += `kernel http://${utils_1.default.address()}/vmlinuz\n`;
|
|
179
179
|
content += `append initrd=http://${utils_1.default.address()}/initrd boot=live config noswap noprompt fetch=http://${utils_1.default.address()}/live/filesystem.squashfs\n`;
|
|
180
180
|
}
|
|
181
|
-
content += `
|
|
181
|
+
content += `sysappend 3\n`;
|
|
182
182
|
content += `\n`;
|
|
183
183
|
if (this.isos.length > 0) {
|
|
184
184
|
content += `menu separator\n`;
|
|
@@ -188,7 +188,7 @@ class Pxe {
|
|
|
188
188
|
content += `menu label ${iso}\n`;
|
|
189
189
|
content += `kernel http://${utils_1.default.address()}/memdisk\n`;
|
|
190
190
|
content += `initrd http://${utils_1.default.address()}/${iso}\n`;
|
|
191
|
-
content += `append iso raw\n`;
|
|
191
|
+
content += `append iso raw sysappend 3\n`;
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
194
|
let file = `${this.pxeRoot}/pxelinux.cfg/default`;
|
|
@@ -225,6 +225,16 @@ class Sequence {
|
|
|
225
225
|
catch (error) {
|
|
226
226
|
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
227
227
|
}
|
|
228
|
+
// dpkg-unsafe-io
|
|
229
|
+
message = "dpkg-unsafe-io";
|
|
230
|
+
percent = 0.11;
|
|
231
|
+
try {
|
|
232
|
+
await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
|
|
233
|
+
await this.execCalamaresModule('dpkg-unsafe-io');
|
|
234
|
+
}
|
|
235
|
+
catch (error) {
|
|
236
|
+
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
237
|
+
}
|
|
228
238
|
/**
|
|
229
239
|
* IF RESTORE USERS DATA
|
|
230
240
|
*/
|
|
@@ -340,6 +350,16 @@ class Sequence {
|
|
|
340
350
|
catch (error) {
|
|
341
351
|
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
342
352
|
}
|
|
353
|
+
// dpkg-unsafe-io
|
|
354
|
+
message = "dpkg-unsafe-io-undo";
|
|
355
|
+
percent = 0.61;
|
|
356
|
+
try {
|
|
357
|
+
await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
|
|
358
|
+
await this.execCalamaresModule('dpkg-unsafe-io-undo');
|
|
359
|
+
}
|
|
360
|
+
catch (error) {
|
|
361
|
+
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
362
|
+
}
|
|
343
363
|
/**
|
|
344
364
|
* IF NOT RESTORE USERS DATA OR PERSONAL BACKUP
|
|
345
365
|
*/
|
|
@@ -403,7 +423,7 @@ class Sequence {
|
|
|
403
423
|
// cleanup
|
|
404
424
|
await cliAutologin.msgRemove(`${this.installTarget}/etc/motd`);
|
|
405
425
|
await cliAutologin.msgRemove(`${this.installTarget}/etc/issue`);
|
|
406
|
-
// bootloader-config
|
|
426
|
+
// bootloader-config
|
|
407
427
|
message = "bootloader-config ";
|
|
408
428
|
percent = 0.70;
|
|
409
429
|
try {
|
|
@@ -413,7 +433,7 @@ class Sequence {
|
|
|
413
433
|
catch (error) {
|
|
414
434
|
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
415
435
|
}
|
|
416
|
-
// grubcfg
|
|
436
|
+
// grubcfg
|
|
417
437
|
message = "grubcfg ";
|
|
418
438
|
percent = 0.75;
|
|
419
439
|
try {
|
|
@@ -423,7 +443,7 @@ class Sequence {
|
|
|
423
443
|
catch (error) {
|
|
424
444
|
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
425
445
|
}
|
|
426
|
-
// bootloader (grub-install)
|
|
446
|
+
// bootloader (grub-install)
|
|
427
447
|
message = "bootloader ";
|
|
428
448
|
percent = 0.80;
|
|
429
449
|
try {
|
|
@@ -433,13 +453,13 @@ class Sequence {
|
|
|
433
453
|
catch (error) {
|
|
434
454
|
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
435
455
|
}
|
|
436
|
-
//
|
|
456
|
+
// sources-yolk-undo
|
|
437
457
|
if (this.distro.familyId === 'debian') {
|
|
438
|
-
message = "sources
|
|
458
|
+
message = "sources-yolk-undo";
|
|
439
459
|
percent = 0.90;
|
|
440
460
|
try {
|
|
441
461
|
await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
|
|
442
|
-
await this.execCalamaresModule('sources-yolk-
|
|
462
|
+
await this.execCalamaresModule('sources-yolk-undo');
|
|
443
463
|
}
|
|
444
464
|
catch (error) {
|
|
445
465
|
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
11
11
|
const tslib_1 = require("tslib");
|
|
12
12
|
const utils_1 = require("../../lib/utils");
|
|
13
13
|
const utils_2 = tslib_1.__importDefault(require("../../classes/utils"));
|
|
14
|
+
const pacman_1 = tslib_1.__importDefault(require("../../classes/pacman"));
|
|
14
15
|
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
15
16
|
const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
|
|
16
17
|
/**
|
|
@@ -19,45 +20,50 @@ const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
|
|
|
19
20
|
*/
|
|
20
21
|
async function packages() {
|
|
21
22
|
let echoYes = utils_2.default.setEcho(true);
|
|
22
|
-
|
|
23
|
+
let modulePath = '/etc/penguins-eggs.d/krill/';
|
|
24
|
+
if (pacman_1.default.packageIsInstalled('calamares')) {
|
|
25
|
+
modulePath = '/etc/calamares/';
|
|
26
|
+
}
|
|
27
|
+
const config_file = `${this.installTarget}${modulePath}modules/packages.conf`;
|
|
23
28
|
if (fs_1.default.existsSync(config_file)) {
|
|
24
29
|
const packages = js_yaml_1.default.load(fs_1.default.readFileSync(config_file, 'utf-8'));
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
packagesTryInstall = operations[0].try_install;
|
|
37
|
-
}
|
|
38
|
-
if (packages.backend === 'apt') {
|
|
39
|
-
if (packagesToRemove.length > 0) {
|
|
40
|
-
let ctr = `chroot ${this.installTarget} apt-get purge -y `;
|
|
41
|
-
for (const packageToRemove of packagesToRemove) {
|
|
42
|
-
ctr += packageToRemove + ' ';
|
|
30
|
+
if (packages.operations !== undefined) {
|
|
31
|
+
if (packages.backend === 'apt') {
|
|
32
|
+
/**
|
|
33
|
+
* apt: Debian/Devuan/Ubuntu
|
|
34
|
+
*/
|
|
35
|
+
if (packages.operations.remove !== undefined) {
|
|
36
|
+
let cmd = `chroot ${this.installTarget} apt-get purge -y `;
|
|
37
|
+
for (const elem of packages.operations.remove) {
|
|
38
|
+
cmd += elem + ' ';
|
|
39
|
+
}
|
|
40
|
+
await (0, utils_1.exec)(`${cmd} ${this.toNull}`, this.echo);
|
|
43
41
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
else if (packages.backend === 'pacman') {
|
|
52
|
-
if (packagesToRemove.length > 0) {
|
|
53
|
-
let ctr = `chroot ${this.installTarget} pacman -S `;
|
|
54
|
-
for (const packageToRemove of packagesToRemove) {
|
|
55
|
-
ctr += packageToRemove + ' ';
|
|
42
|
+
if (packages.operations.try_install !== undefined) {
|
|
43
|
+
let cmd = `chroot ${this.installTarget} apt-get install -y `;
|
|
44
|
+
for (const elem of packages.operations.try_install) {
|
|
45
|
+
cmd += elem + ' ';
|
|
46
|
+
}
|
|
47
|
+
await (0, utils_1.exec)(`chroot ${this.installTarget} apt-get update ${this.toNull}`, this.echo);
|
|
48
|
+
await (0, utils_1.exec)(`${cmd} ${this.toNull}`, this.echo);
|
|
56
49
|
}
|
|
57
|
-
await (0, utils_1.exec)(`${ctr} ${echoYes}`, this.echo);
|
|
58
50
|
}
|
|
59
|
-
|
|
60
|
-
|
|
51
|
+
else if (packages.backend === 'pacman') {
|
|
52
|
+
/**
|
|
53
|
+
* pacman: arch/manjaro
|
|
54
|
+
*/
|
|
55
|
+
if (packages.operations.remove !== undefined) {
|
|
56
|
+
let cmd = `chroot ${this.installTarget} pacman -R\n`;
|
|
57
|
+
for (const elem of packages.operations.remove) {
|
|
58
|
+
cmd += elem + ' ';
|
|
59
|
+
}
|
|
60
|
+
await (0, utils_1.exec)(`${cmd} ${echoYes}`, this.echo);
|
|
61
|
+
}
|
|
62
|
+
if (packages.operations.try_install !== undefined) {
|
|
63
|
+
for (const elem of packages.operations.try_install) {
|
|
64
|
+
await (0, utils_1.exec)(`chroot ${this.installTarget} pacman -S ${elem}`, echoYes);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
61
67
|
}
|
|
62
68
|
}
|
|
63
69
|
}
|
package/package.json
CHANGED
package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.working.sh
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
#
|
|
4
|
-
# Questa versione utilizza SOLO yolk
|
|
5
|
-
# durante l'installazione.
|
|
6
|
-
# sources-yolk.sh
|
|
7
|
-
# aggiunge yolk, rimuove list ed esegue apt non autenticato
|
|
8
|
-
# sources-yolk.sh
|
|
9
|
-
# -u rimuove yolk e ri-aggiunge le list
|
|
10
|
-
|
|
11
|
-
function main {
|
|
12
|
-
#####################################################################
|
|
13
|
-
# unmount: remove yolk.list
|
|
14
|
-
#####################################################################
|
|
15
|
-
if [ "$1" = "-u" ]; then
|
|
16
|
-
remove_yolk
|
|
17
|
-
else
|
|
18
|
-
add_yolk
|
|
19
|
-
fi
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
#####################################################################
|
|
24
|
-
function remove_list {
|
|
25
|
-
if [ -f "$LIST_BACKUP" ]; then
|
|
26
|
-
rm "$LIST_BACKUP"
|
|
27
|
-
fi
|
|
28
|
-
mv "$LIST $LIST_BACKUP"
|
|
29
|
-
|
|
30
|
-
if [ -d "$LIST_D_BACKUP" ]; then
|
|
31
|
-
rm "$LIST_D_BACKUP" -rf
|
|
32
|
-
fi
|
|
33
|
-
mv "$LIST_D $APT_LIST_D_BACKUP"
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
function add_list {
|
|
37
|
-
if [ -f "$LIST" ]; then
|
|
38
|
-
rm "$LIST"
|
|
39
|
-
fi
|
|
40
|
-
mv "$APT_LIST_BACKUP $LIST"
|
|
41
|
-
|
|
42
|
-
if [ -d "$LIST_D" ]; then
|
|
43
|
-
rm "$LIST_D" -rf
|
|
44
|
-
fi
|
|
45
|
-
mv "$LIST_D_BACKUP $LIST_D"
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
function add_yolk {
|
|
50
|
-
remove_list
|
|
51
|
-
cat << EOF > $CHROOT/etc/apt/sources.list.d/yolk.list
|
|
52
|
-
deb [trusted=yes] file:/var/local/yolk ./
|
|
53
|
-
EOF
|
|
54
|
-
chroot $CHROOT apt-get --allow-unauthenticated update -y
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
function remove_yolk {
|
|
58
|
-
add_list
|
|
59
|
-
rm $CHROOT/etc/apt/sources.list.d/yolk.list
|
|
60
|
-
chroot $CHROOT apt-get update -y
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
# Lo script inizia qui
|
|
66
|
-
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
|
|
67
|
-
|
|
68
|
-
LIST = "$CHROOT/etc/apt/sources.list"
|
|
69
|
-
LIST_BACKUP = "$LIST.backup"
|
|
70
|
-
|
|
71
|
-
LIST_D = "$CHROOT/etc/apt/sources.list.d"
|
|
72
|
-
LIST_D_BACKUP = "$LIST_D.backup"
|
|
73
|
-
|
|
74
|
-
main $1
|
|
75
|
-
exit 0
|
package/scripts/netgrub.sh
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
|
|
3
|
-
set -e
|
|
4
|
-
|
|
5
|
-
# Sets up a tftp server to netboot x86_64 systems over UEFI.
|
|
6
|
-
# Works on Ubuntu 13.10 and later.
|
|
7
|
-
|
|
8
|
-
# change to the root of your tftp server
|
|
9
|
-
TFTPROOT=/var/lib/tftpboot
|
|
10
|
-
|
|
11
|
-
# needed for unpacking the shim-signed source package
|
|
12
|
-
apt-get install dpkg-dev
|
|
13
|
-
|
|
14
|
-
tmpdir=$(mktemp -d)
|
|
15
|
-
|
|
16
|
-
cleanup () {
|
|
17
|
-
if [ -n "$tmpdir" ]; then
|
|
18
|
-
rm -rf "$tmpdir"
|
|
19
|
-
fi
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
trap cleanup EXIT HUP INT QUIT PIPE TERM
|
|
23
|
-
|
|
24
|
-
cd "$tmpdir"
|
|
25
|
-
apt-get source shim-signed
|
|
26
|
-
cp shim-signed-*/shim.efi.signed "$TFTPROOT"/bootx64.efi
|
|
27
|
-
|
|
28
|
-
cd "$TFTPROOT"
|
|
29
|
-
|
|
30
|
-
wget -O grubx64.efi http://archive.ubuntu.com/ubuntu/dists/saucy/main/uefi/grub2-amd64/current/grubnetx64.efi.signed
|
|
31
|
-
|
|
32
|
-
# Unfortunately the unicode font is assembled by the grub2 package at
|
|
33
|
-
# build-time, so we can't grab it from the source; and we have no persistent
|
|
34
|
-
# URL for it since that changes with each version number; so try to install
|
|
35
|
-
# it (which should be a no-op on x86 anyway) and copy the contents.
|
|
36
|
-
apt-get install grub-common
|
|
37
|
-
mkdir -p grub/fonts
|
|
38
|
-
cp /usr/share/grub/unicode.pf2 grub/fonts
|
|
39
|
-
|