penguins-eggs 9.3.1 → 9.3.3

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.
Files changed (28) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/README.md +32 -27
  3. package/conf/distros/bionic/README.md +1 -1
  4. package/conf/distros/bionic/calamares/settings.yml +1 -1
  5. package/conf/distros/buster/calamares/calamares-modules/dpkg-unsafe-io/module.yml +1 -1
  6. package/conf/distros/buster/calamares/calamares-modules/dpkg-unsafe-io-undo/module.yml +1 -1
  7. package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +56 -79
  8. package/conf/distros/buster/calamares/calamares-modules/{sources-yolk-unmount → sources-yolk-undo}/module.yml +2 -2
  9. package/conf/distros/buster/calamares/modules/packages.yml +2 -4
  10. package/conf/distros/buster/calamares/settings.yml +3 -3
  11. package/conf/distros/focal/calamares/settings.yml +1 -1
  12. package/conf/distros/jessie/krill/krill-modules/sources-yolk-unmount/module.yml +2 -2
  13. package/conf/distros/jessie/krill/settings.yml +1 -1
  14. package/conf/exclude.list +3 -0
  15. package/dist/classes/incubation/distros/bionic.js +1 -1
  16. package/dist/classes/incubation/distros/buster.js +2 -2
  17. package/dist/classes/incubation/distros/focal.js +1 -1
  18. package/dist/classes/incubation/distros/jessie.js +1 -1
  19. package/dist/classes/incubation/fisherman-helper/packages.js +24 -31
  20. package/dist/classes/incubation/fisherman.js +8 -5
  21. package/dist/classes/incubation/incubator.js +2 -1
  22. package/dist/classes/pacman.js +5 -5
  23. package/dist/classes/pxe.js +3 -3
  24. package/dist/krill/krill-sequence.js +26 -6
  25. package/dist/krill/modules/packages.js +40 -34
  26. package/package.json +1 -1
  27. package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.working.sh +0 -75
  28. package/scripts/netgrub.sh +0 -39
@@ -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.3","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
@@ -12,13 +12,13 @@ penguins-eggs
12
12
  [![deb](https://img.shields.io/badge/deb-packages-blue)](https://sourceforge.net/projects/penguins-eggs/files/DEBS)
13
13
  [![pkgbuild](https://img.shields.io/badge/pkgbuild-packages-blue)](https://sourceforge.net/projects/penguins-eggs/files/PKGBUILD)
14
14
  [![iso](https://img.shields.io/badge/iso-images-cyan)](https://sourceforge.net/projects/penguins-eggs/files/ISOS)
15
-
15
+ [![Download Penguin's eggs](https://img.shields.io/sourceforge/dd/penguins-eggs.svg)](https://sourceforge.net/projects/penguins-eggs/files/latest/download)
16
16
 
17
17
  # Index
18
18
  <!-- toc -->
19
19
  * [Index](#index)
20
20
  * [Presentation](#presentation)
21
- * [Tecnology](#tecnology)
21
+ * [Technology](#technology)
22
22
  * [Features](#features)
23
23
  * [Packages](#packages)
24
24
  * [Usage](#usage)
@@ -28,16 +28,16 @@ penguins-eggs
28
28
  <!-- tocstop -->
29
29
 
30
30
  # Presentation
31
- penguins-eggs is a console utility, under continuous development, that allows you to remaster your system and redistribute it as iso images.
31
+ **penguins-eggs** is a console utility, under continuous development, that allows you to remaster your system and redistribute it as iso images.
32
32
 
33
33
  The purpose of this project is to implement the process of remastering your own version of Linux, generate it as an ISO image to burn to a CD/DVD or copy to a USB stick to boot your system. The default behavior is total removal of the system's data and users, but it is also possible to remaster the system including the data and accounts of present users, use flag **--clone**. It is also possible to keep the users and files present under an encrypted LUKS file within the same resulting iso file, flag **--backup**.
34
34
 
35
- You can easily install the resulting live system with the calamares installer or the internal TUI krill installer. It is possible to have also unattended installation using --unattended flag.
35
+ You can easily install the resulting live system with the calamares installer or the internal TUI krill installer. It is possible to have also unattended installation using **--unattended** flag.
36
36
 
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
- # Tecnology
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 produces --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.
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 produces --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.
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.
@@ -86,7 +86,7 @@ You can read more in wardrobe on [penguin's eggs blog](https://penguins-eggs.net
86
86
  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 PKGBUILD.
87
87
 
88
88
  ## Debian families
89
- eggs is released deb packages for amd64, armel and arm64 architectures. Due the characteristic of eggs, they can installed in Debian, Devuan or Ubuntu based distros, withouth worries about different versions, except for the architecture. It include standard scripts for preinst, postinst, prerm and postrm.
89
+ eggs is released deb packages for amd64, armel and arm64 architectures. Due the characteristic of eggs, they can installed in Debian, Devuan or Ubuntu based distros, without worries about different versions, except for the architecture. It include standard scripts for preinst, postinst, prerm and postrm.
90
90
 
91
91
  ### Install eggs
92
92
  There are more than a way to install eggs as .deb package, the most common it's to add and use penguins-eggs-ppa.
@@ -96,11 +96,16 @@ There are more than a way to install eggs as .deb package, the most common it's
96
96
  eggs have it's repository ppa, You can use it, copy and paste in a terminal window the following two lines:
97
97
 
98
98
  ```
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
- 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"
99
+ curl -fsSL https://pieroproietti.github.io/penguins-eggs-ppa/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/penguins-eggs.gpg
100
+ echo "deb [arch=$(dpkg --print-architecture)] https://pieroproietti.github.io/penguins-eggs-ppa ./" | sudo tee /etc/apt/sources.list.d/penguins-eggs.list > /dev/null
101
+ ```
102
+
103
+ Update your repositories and install eggs:
104
+
105
+ ```
106
+ sudo apt update && sudo apt install eggs
101
107
  ```
102
108
 
103
- Update your repositories: **sudo apt update** and install eggs: **sudo apt install eggs**.
104
109
 
105
110
  #### Download the package and install with dpkg
106
111
 
@@ -128,7 +133,7 @@ The same for manjaroLinux: ```git clone https://github.com/pieroproietti/penguin
128
133
 
129
134
  # Usage
130
135
 
131
- Once the package has been installed, you can have the new ```eggs``` command. Typing ```eggs``` will get the list of commands, typing ```eggs produces --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.
136
+ 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
137
 
133
138
  ## Examples
134
139
 
@@ -198,7 +203,7 @@ DESCRIPTION
198
203
  adapt monitor resolution for VM only
199
204
  ```
200
205
 
201
- _See code: [dist/commands/adapt.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.1/dist/commands/adapt.js)_
206
+ _See code: [dist/commands/adapt.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/adapt.js)_
202
207
 
203
208
  ## `eggs analyze`
204
209
 
@@ -219,7 +224,7 @@ EXAMPLES
219
224
  $ sudo eggs analyze
220
225
  ```
221
226
 
222
- _See code: [dist/commands/analyze.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.1/dist/commands/analyze.js)_
227
+ _See code: [dist/commands/analyze.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/analyze.js)_
223
228
 
224
229
  ## `eggs autocomplete [SHELL]`
225
230
 
@@ -277,7 +282,7 @@ EXAMPLES
277
282
  install calamares and create it's configuration's files
278
283
  ```
279
284
 
280
- _See code: [dist/commands/calamares.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.1/dist/commands/calamares.js)_
285
+ _See code: [dist/commands/calamares.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/calamares.js)_
281
286
 
282
287
  ## `eggs config`
283
288
 
@@ -301,7 +306,7 @@ EXAMPLES
301
306
  Configure and install prerequisites deb packages to run it
302
307
  ```
303
308
 
304
- _See code: [dist/commands/config.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.1/dist/commands/config.js)_
309
+ _See code: [dist/commands/config.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/config.js)_
305
310
 
306
311
  ## `eggs cuckoo`
307
312
 
@@ -322,7 +327,7 @@ EXAMPLES
322
327
  start a PXE server with dhcp-proxy (can coexists with a real dhcp server)
323
328
  ```
324
329
 
325
- _See code: [dist/commands/cuckoo.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.1/dist/commands/cuckoo.js)_
330
+ _See code: [dist/commands/cuckoo.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/cuckoo.js)_
326
331
 
327
332
  ## `eggs dad`
328
333
 
@@ -342,7 +347,7 @@ DESCRIPTION
342
347
  ask help from daddy - configuration helper
343
348
  ```
344
349
 
345
- _See code: [dist/commands/dad.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.1/dist/commands/dad.js)_
350
+ _See code: [dist/commands/dad.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/dad.js)_
346
351
 
347
352
  ## `eggs export deb`
348
353
 
@@ -446,7 +451,7 @@ EXAMPLES
446
451
  Install the system using krill installer
447
452
  ```
448
453
 
449
- _See code: [dist/commands/install.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.1/dist/commands/install.js)_
454
+ _See code: [dist/commands/install.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/install.js)_
450
455
 
451
456
  ## `eggs kill`
452
457
 
@@ -468,7 +473,7 @@ EXAMPLES
468
473
  kill the eggs/free the nest
469
474
  ```
470
475
 
471
- _See code: [dist/commands/kill.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.1/dist/commands/kill.js)_
476
+ _See code: [dist/commands/kill.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/kill.js)_
472
477
 
473
478
  ## `eggs mom`
474
479
 
@@ -485,7 +490,7 @@ DESCRIPTION
485
490
  ask for mommy - gui helper
486
491
  ```
487
492
 
488
- _See code: [dist/commands/mom.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.1/dist/commands/mom.js)_
493
+ _See code: [dist/commands/mom.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/mom.js)_
489
494
 
490
495
  ## `eggs produce`
491
496
 
@@ -547,7 +552,7 @@ EXAMPLES
547
552
  in /home/eggs/ovarium and you can customize all you need
548
553
  ```
549
554
 
550
- _See code: [dist/commands/produce.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.1/dist/commands/produce.js)_
555
+ _See code: [dist/commands/produce.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/produce.js)_
551
556
 
552
557
  ## `eggs status`
553
558
 
@@ -565,7 +570,7 @@ DESCRIPTION
565
570
  informations about eggs status
566
571
  ```
567
572
 
568
- _See code: [dist/commands/status.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.1/dist/commands/status.js)_
573
+ _See code: [dist/commands/status.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/status.js)_
569
574
 
570
575
  ## `eggs syncfrom`
571
576
 
@@ -589,7 +594,7 @@ EXAMPLES
589
594
  $ sudo eggs restore
590
595
  ```
591
596
 
592
- _See code: [dist/commands/syncfrom.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.1/dist/commands/syncfrom.js)_
597
+ _See code: [dist/commands/syncfrom.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/syncfrom.js)_
593
598
 
594
599
  ## `eggs syncto`
595
600
 
@@ -612,7 +617,7 @@ EXAMPLES
612
617
  $ sudo eggs syncto
613
618
  ```
614
619
 
615
- _See code: [dist/commands/syncto.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.1/dist/commands/syncto.js)_
620
+ _See code: [dist/commands/syncto.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/syncto.js)_
616
621
 
617
622
  ## `eggs tools clean`
618
623
 
@@ -725,7 +730,7 @@ EXAMPLES
725
730
  update/upgrade the penguin's eggs tool
726
731
  ```
727
732
 
728
- _See code: [dist/commands/update.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.1/dist/commands/update.js)_
733
+ _See code: [dist/commands/update.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/update.js)_
729
734
 
730
735
  ## `eggs version`
731
736
 
@@ -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-unmount from buster
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
@@ -39,7 +39,7 @@ sequence:
39
39
  - add386arch
40
40
  - packages
41
41
  - removeuser
42
- - sources-yolk-unmount
42
+ - sources-yolk-undo
43
43
  - cleanup
44
44
  - umount
45
45
  - show:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  type: "job"
3
- name: "disable-dpkg-sync"
3
+ name: "dpkg-unsafe-io"
4
4
  interface: "process"
5
5
  command: "/usr/sbin/dpkg-unsafe-io.sh"
6
6
  timeout: 600
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  type: "job"
3
- name: "re-enable-dpkg-sync"
3
+ name: "dpkg-unsafe-io-undo"
4
4
  interface: "process"
5
5
  command: "/usr/sbin/dpkg-unsafe-io.sh -u"
6
6
  timeout: 600
@@ -1,105 +1,82 @@
1
- #!/bin/bash
1
+ #!/bin/sh
2
2
 
3
3
  #
4
- # sources-yolk
5
- # utilizza solo la repository yolk durante l'installazione.
6
- #
7
- # sources-yolk -u
8
- # rimuove yolk e reimposta le apt-list originali
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
- # function main {
13
- ##############################
14
- function main {
15
- # if u = unmount restore_apt
12
+ #
13
+ #
14
+ #
15
+ main() {
16
16
  if [ "$1" = "-u" ]; then
17
- clean_apt
18
- restore_apt
17
+ restore
19
18
  else
20
- # backup_apt, yolk
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
- # function backup_apt
33
- ##############################
34
- function backup_apt {
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
- # function: clean_apt
58
- ##############################
59
- function clean_apt {
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
- # function yolk {
82
- ##############################
83
- function yolk {
84
-
85
- mkdir "$APT_ROOT/sources.list.d"
86
-
87
- cat << EOF > "$CHROOT/etc/apt/sources.list.d/yolk.list"
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
- exit 0
82
+
@@ -1,8 +1,8 @@
1
1
  # Debian Buster
2
- # sources-yolk-unmount
2
+ # sources-yolk-undo
3
3
  ---
4
4
  type: "job"
5
- name: "sources-yolk-unmount"
5
+ name: "sources-yolk-undo"
6
6
  interface: "process"
7
7
  command: "/usr/sbin/sources-yolk.sh -u"
8
8
  timeout: 600
@@ -1,8 +1,6 @@
1
- # Debian/Bookworm
1
+ # Debian/Buster et others
2
2
  # packages
3
3
  ---
4
4
  backend: apt
5
5
 
6
- operations:
7
- {{remove}}
8
- {{try_install}}
6
+ {{operations}}
@@ -65,7 +65,7 @@ sequence:
65
65
  - partition
66
66
  - mount
67
67
  - unpackfs
68
- # dpkg-unsafe-io
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
- # dpkg-unsafe-io-undo
88
+ - dpkg-unsafe-io-undo
89
89
  - removeuser
90
- - sources-yolk-unmount
90
+ - sources-yolk-undo
91
91
  - cleanup
92
92
  - umount
93
93
 
@@ -59,7 +59,7 @@ sequence:
59
59
  - removeuser
60
60
  # - shellprocess@logs
61
61
  - cleanup
62
- - sources-yolk-unmount
62
+ - sources-yolk-undo
63
63
  - umount
64
64
  - show:
65
65
  - finished
@@ -1,8 +1,8 @@
1
1
  # Debian Buster
2
- # sources-yolk-unmount
2
+ # sources-yolk-undo
3
3
  ---
4
4
  type: "job"
5
- name: "sources-yolk-unmount"
5
+ name: "sources-yolk-undo"
6
6
  interface: "process"
7
7
  command: "/usr/sbin/sources-yolk.sh -u"
8
8
  timeout: 600
@@ -87,7 +87,7 @@ sequence:
87
87
  - initramfs
88
88
  # dpkg-unsafe-io-undo
89
89
  - removeuser
90
- - sources-yolk-unmount
90
+ - sources-yolk-undo
91
91
  - cleanup
92
92
  - umount
93
93
 
package/conf/exclude.list CHANGED
@@ -4,6 +4,9 @@
4
4
  # Exclude some system files. These are required, and you probably
5
5
  # shouldn't change them.
6
6
 
7
+ # check here snapshots
8
+ - /.snapshots/**
9
+
7
10
  - /dev/*
8
11
  - /cdrom/*
9
12
  - /media/*
@@ -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-unmount', false);
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.buildCalamaresModule('sources-yolk-unmount', false);
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-unmount', false);
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-unmount', false);
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
- * dependencies actually are removed by package managers
8
+ * @param distro
9
+ * @returns yaml-string
15
10
  */
16
11
  function remove(distro) {
17
- let removePackages = ["calamares"];
12
+ let packages = ["calamares"];
18
13
  if (distro.familyId === 'archlinux') {
19
- removePackages.push("penguins-eggs");
14
+ packages.push("penguins-eggs");
20
15
  }
21
16
  if (distro.familyId === 'debian') {
22
- removePackages.push("eggs");
17
+ packages.push("eggs");
18
+ }
19
+ let yaml = '';
20
+ for (const elem of packages) {
21
+ yaml += ` - ${elem.trim()}\n`;
23
22
  }
24
- let text = ' - remove:\n';
25
- for (const elem of removePackages) {
26
- text += ` - ${elem.trim()}\n`;
23
+ if (yaml !== '') {
24
+ yaml = '- remove:\n' + yaml;
27
25
  }
28
- return text;
26
+ return yaml;
29
27
  }
30
28
  exports.remove = remove;
31
29
  /**
32
30
  *
33
31
  * @param distro
34
- - try_install:
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 packages = '';
35
+ let yaml = '';
42
36
  /**
43
37
  * Depending on the distro
44
38
  */
45
39
  if (distro.distroLike === 'Ubuntu') {
46
- packages += ' - language-pack-$LOCALE\n';
40
+ yaml += ' - language-pack-$LOCALE\n';
47
41
  }
48
42
  // Da localizzare se presenti
49
43
  if (pacman_1.default.packageIsInstalled('hunspell')) {
50
- packages += ' - hunspell-$LOCALE\n';
44
+ yaml += ' - hunspell-$LOCALE\n';
51
45
  }
52
46
  if (pacman_1.default.packageIsInstalled('libreoffice-base-core')) {
53
- packages += ` - libreoffice-l10n-$LOCALE\n`;
54
- packages += ` - libreoffice-help-$LOCALE\n`;
47
+ yaml += ` - libreoffice-l10n-$LOCALE\n`;
48
+ yaml += ` - libreoffice-help-$LOCALE\n`;
55
49
  }
56
50
  if (pacman_1.default.packageIsInstalled('firefox-esr')) {
57
- packages += ` - firefox-esr-$LOCALE\n`;
51
+ yaml += ` - firefox-esr-$LOCALE\n`;
58
52
  }
59
53
  if (pacman_1.default.packageIsInstalled('firefox')) {
60
- packages += ` - firefox-$LOCALE\n`;
54
+ yaml += ` - firefox-$LOCALE\n`;
61
55
  }
62
56
  if (pacman_1.default.packageIsInstalled('thunderbird')) {
63
- packages += ` - thunderbird-locale-$LOCALE\n`;
57
+ yaml += ` - thunderbird-locale-$LOCALE\n`;
64
58
  }
65
- let retVal = '';
66
- if (packages !== '') {
67
- retVal += ' - try_install:\n' + packages;
59
+ if (yaml !== '') {
60
+ yaml = ' - try_install:\n' + yaml;
68
61
  }
69
- return retVal;
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 toRemove = '';
235
+ let yamlInstall = tryInstall(distro);
236
+ let yamlRemove = '';
236
237
  if (release) {
237
- toRemove = removePackages(distro);
238
+ yamlRemove = removePackages(distro);
238
239
  }
239
- let toInstall = tryInstall(distro);
240
- shelljs_1.default.sed('-i', '{{remove}}', toRemove, this.installer.modules + name + '.conf');
241
- shelljs_1.default.sed('-i', '{{try_install}}', toInstall, this.installer.modules + name + '.conf');
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
@@ -233,7 +233,8 @@ class Incubator {
233
233
  process.exit();
234
234
  }
235
235
  // script di avvio
236
- shelljs_1.default.cp(node_path_1.default.resolve(__dirname, '../../../assets/calamares/install-debian'), '/sbin/install-debian');
236
+ shelljs_1.default.cp(node_path_1.default.resolve(__dirname, '../../../assets/calamares/install-debian'), '/usr/sbin/install-debian');
237
+ shelljs_1.default.chmod('+x', '/usr/sbin/install-debian');
237
238
  }
238
239
  }
239
240
  /**
@@ -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-unmount ${dest}/calamares/calamares-modules/sources-yolk-unmount`, echo);
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-unmount ${dest}/calamares/calamares-modules/sources-yolk-unmount`, echo);
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-unmount ${dest}/calamares/calamares-modules/sources-yolk-unmount`, echo);
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-unmount ${dest}/calamares/calamares-modules/sources-yolk-unmount`, echo);
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-unmount ${dest}/calamares/calamares-modules/sources-yolk-unmount`, echo);
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);
@@ -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 += `SYSAPPEND 3\n`;
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 [moved to the end]
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 [moved to the end]
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) [moved to the end)
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
- // sourcesYolkUmount
456
+ // sources-yolk-undo
437
457
  if (this.distro.familyId === 'debian') {
438
- message = "sources yolk unmount";
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-unmount');
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
- const config_file = `${this.installTarget}/etc/calamares/modules/packages.conf`;
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
- * we can do better, but work
27
- */
28
- let operations = JSON.parse(JSON.stringify(packages.operations));
29
- let packagesToRemove = [];
30
- let packagesTryInstall = [];
31
- if (operations.length > 1) {
32
- packagesToRemove = operations[0].remove;
33
- packagesTryInstall = operations[1].try_install;
34
- }
35
- else {
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
- await (0, utils_1.exec)(`${ctr} ${this.toNull}`, this.echo);
45
- await (0, utils_1.exec)(`chroot ${this.installTarget} apt-get autoremove -y ${this.toNull}`, this.echo);
46
- }
47
- for (const packageToInstall of packagesTryInstall) {
48
- await (0, utils_1.exec)(`chroot ${this.installTarget} apt-get purge -y ${packageToInstall} ${this.toNull}`, this.echo);
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
- for (const packageToInstall of packagesTryInstall) {
60
- await (0, utils_1.exec)(`chroot ${this.installTarget} pacman -S ${packageToInstall}`, echoYes);
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
@@ -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.3.1",
4
+ "version": "9.3.3",
5
5
  "author": "Piero Proietti @pieroproietti",
6
6
  "bin": {
7
7
  "eggs": "bin/run"
@@ -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
@@ -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
-