penguins-eggs 10.0.12 → 10.0.15

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.
@@ -634,13 +634,6 @@
634
634
  "allowNo": false,
635
635
  "type": "boolean"
636
636
  },
637
- "sidecar": {
638
- "description": "add a sidecar folder on your ISO with arbitrary contents",
639
- "name": "sidecar",
640
- "hasDynamicHelp": false,
641
- "multiple": false,
642
- "type": "option"
643
- },
644
637
  "standard": {
645
638
  "char": "f",
646
639
  "description": "standard compression: xz -b 1M",
@@ -669,6 +662,13 @@
669
662
  "allowNo": false,
670
663
  "type": "boolean"
671
664
  },
665
+ "udf": {
666
+ "char": "U",
667
+ "description": "udf, create iso UDF format using genisoimage",
668
+ "name": "udf",
669
+ "allowNo": false,
670
+ "type": "boolean"
671
+ },
672
672
  "yolk": {
673
673
  "char": "y",
674
674
  "description": "force yolk renew",
@@ -1468,5 +1468,5 @@
1468
1468
  ]
1469
1469
  }
1470
1470
  },
1471
- "version": "10.0.12"
1471
+ "version": "10.0.15"
1472
1472
  }
package/README.md CHANGED
@@ -15,6 +15,7 @@ penguins-eggs
15
15
  # Index
16
16
  <!-- toc -->
17
17
  * [Index](#index)
18
+ * [Installation](#installation)
18
19
  * [Introduction](#introduction)
19
20
  * [Technology](#technology)
20
21
  * [Features](#features)
@@ -27,61 +28,90 @@ penguins-eggs
27
28
  <!-- tocstop -->
28
29
 
29
30
  ## Links
30
- * [Changelog](https://github.com/pieroproietti/penguins-eggs/blob/master/CHANGELOG.md#changelog)
31
- * [penguins' eggs user guide](https://penguins-eggs.net/docs/Tutorial/eggs-users-guide)
31
+ * [Blog](https://penguins-eggs.net/blog)
32
32
  * [Cook eggs in 5 minutes!](https://penguins-eggs.net/docs/Tutorial/eggs5)
33
+ * [Users guide](https://penguins-eggs.net/docs/Tutorial/eggs-users-guide)
33
34
  * [Wardrobe users' guide](https://penguins-eggs.net/docs/Tutorial/wardrobe-users-guide)
34
- * [Blog](https://penguins-eggs.net/blog)
35
+ * [FAQ](https://penguins-eggs.net/docs/faq)
36
+ * [Changelog](https://github.com/pieroproietti/penguins-eggs/blob/master/CHANGELOG.md#changelog)
35
37
 
36
- # Introduction
38
+ # Installation
37
39
 
38
- ## penguins-eggs-10.0.x versions installation
39
- `penguins-eggs-10.0.x` depend on `nodejs >18`, not directly available in all the distros. We can rely on [nodesource](https://github.com/nodesource/distributions?tab=readme-ov-file#debian-and-ubuntu-based-distributions) just adding them.
40
+ ## penguins-eggs-10.0.x installation
41
+ `penguins-eggs-10.0.x` depend on `nodejs >18`, not directly available in all the distros. We can rely on [nodesource](https://github.com/nodesource/distributions?tab=readme-ov-file#debian-and-ubuntu-based-distributions) adding them.
40
42
 
41
- ### Arch, Manjaro, Debian 12 bookworm, Ubuntu 24.04
42
- Just install penguins-eggs-10.0.x.
43
+ ### using get-eggs
44
+ It's the most pratical way and is valid for Arch, Debian, Devuan and Ubuntu. get-eggs configure automatically `nodesource` when need. Copy and paste:
45
+ ```
46
+ git clone https://github.com/pieroproietti/get-eggs
47
+ cd get-eggs
48
+ sudo ./get-eggs.sh
49
+ ```
50
+ ### manual installation
51
+
52
+ #### Arch, Manjaro, Debian 12 bookworm, Ubuntu 24.04
53
+ Just download and install penguins-eggs-10.0.x.
43
54
 
44
- ### Debian 10 buster, Debian 11 bullseye, Ubuntu 20.04, Ubuntu 22.04
55
+ #### Debian 10 buster, Debian 11 bullseye, Ubuntu 20.04, Ubuntu 22.04
45
56
  Before to install `penguins-eggs-10.x` add the repos from `nodesource`, follow this [indications](https://github.com/pieroproietti/penguins-eggs/issues/368) to get `nodejs>18` available.
46
57
 
47
- ### Debian 9 stretch, Ubuntu 18.04 bionic
58
+ #### Debian 9 stretch, Ubuntu 18.04 bionic
48
59
  Use the package `penguins-eggs-10.x.x-bionic-x` - compilated against node16 - and follow this [indications](https://github.com/pieroproietti/penguins-eggs/issues/368#issuecomment-2169961955) to get `nodejs>16` available.
49
60
 
61
+ # Introduction
62
+
63
+ `penguins-eggs` is the package name of `eggs` a console tool, under continuous development, that allows you to remaster your system and redistribute it as live images on USB sticks or via PXE.
64
+
65
+ The concept behind Penguins’ Eggs stems from the idea of “reproduction” and “population selection” applied to operating systems. During the era of popular remastering programs like Remastersys and Systemback, both of which experienced maintenance issues and were eventually abandoned, the need for a new, modern tool became evident.
66
+
67
+ The inspiration for Penguins’ Eggs led to the development of a new tool written in a modern, cross-distribution language, utilizing its own packaging system.
68
+
69
+ Initially built with javascript and then switched to Typescript as the main development language, the design of the tool resembles an egg production process, consisting of operations such as produce to create the eggs and hatch to install them (I changed a bit later: from hatch to install, then to krill as a tribute to calamares tribes).
50
70
 
51
- penguins-eggs is a console tool, under continuous development, that allows you to remaster your system and redistribute it as live images on USB sticks or via PXE. The concept behind Penguins’ Eggs stems from the idea of “reproduction” and “population selection” applied to operating systems. During the era of popular remastering programs like Remastersys and Systemback, both of which experienced maintenance issues and were eventually abandoned, the need for a new, modern tool became evident. The inspiration for Penguins’ Eggs led to the development of a new tool written in a modern, cross-distribution language, utilizing its own packaging system. Initially built with node.js and later transitioning to Typescript as the primary development language, the tool’s design resembles an egg production process, consisting of operations such as “produce” for creating the eggs, “hatch” for installation, and other commands like “kill” for removing produced ISOs, “update” for software updates, and “install” for configuring the graphical installer.
71
+ Other commands follow: like `kill` for removing produced ISOs, `calamares` for configuring the graphical installer, `mom` as interactive help, `dad` to configure eggs, `status`, `tools`, etc.
52
72
 
53
- > Considered a work-in-progress, the ultimate goal for Penguins Eggs is to implement a PXE server for local network distribution, drawing inspiration from the behavior of the cuckoo bird, which relies on others to hatch its eggs. Written primarily in TypeScript, Penguins’ Eggs is designed to be compatible with various Linux distributions, despite differences in package managers, file paths, and more. The tool currently supports Debian, Devuan, Ubuntu, Arch, Manjaro, and their derivatives, across multiple architectures including amd64, i386, and arm64. With the release of version 9.6.x, Penguins’ Eggs is now available as a Debian package, catering to a wide range of systems including PCs, older machines, and single-board ARM systems like the Raspberry Pi, across amd64, i386, and arm64 architectures. For more information and updates, visit the Penguins’ Eggs official website.
73
+ Considered a work-in-progress, the ultimate goal of Penguins' Eggs is to allow the creation of live ISOs from an installed system and their use for system installations. It can be used both to create images on USB devices - even [Ventoy](https://www.ventoy.net/en/index.html) - and as a PXE server to distribute the image itself over a local network. Inspired by the behavior of the cuckoo bird, which depends on others to hatch its eggs.
74
+
75
+ Written primarily in TypeScript, Penguins’ Eggs is designed to be compatible with various Linux distributions, despite differences in package managers, file paths, and more.
76
+
77
+ The tool currently supports Debian, Devuan, Ubuntu, Arch, Manjaro, and their derivatives, across multiple architectures including amd64, i386, and arm64.
78
+
79
+ From the release of version 9.6.x, Penguins’ Eggs is available as a [Debian package](https://sourceforge.net/projects/penguins-eggs/files/DEBS/), then was extended to Arch Linux creating the relative [PKGBUILD](https://aur.archlinux.org/packages/penguins-eggs).
80
+
81
+ So, catering to a wide range of systems including PCs, older machines, and single-board ARM systems like the Raspberry Pi, across amd64, i386, and arm64 architectures.
82
+
83
+ For more information and updates, visit the [Penguins’ Eggs official website](https://penguins-eggs.net).
54
84
 
55
85
 
56
86
  > [!TIP]
57
- > "Penguins-eggs" is an actively developed console tool designed to help you customize and distribute your system as live images on USB sticks or through PXE. By using this tool, you can remaster your system according to your preferences.
87
+ > `eggs` is an actively developed console tool designed to help you customize and distribute your system as live images on USB sticks or through PXE. By using this tool, you can remaster your system according to your preferences.
58
88
 
59
89
  > [!TIP]
60
- > By default, "penguins-eggs" completely removes the system's data and users. However, it also offers the option to remaster the system while including the data and accounts of existing users. This can be done using the "--clone" flag. Additionally, you can preserve the users and files by storing them in an encrypted LUKS file within the resulting ISO file, which can be achieved with the "--cryptedclone" flag.
90
+ > By default, `eggs` completely removes the system's data and users. However, it also offers the option to remaster the system while including the data and accounts of existing users. This can be done using the `--clone` flag. Additionally, you can preserve the users and files by storing them in an encrypted LUKS file within the resulting ISO file, which can be achieved with the `--cryptedclone` flag.
61
91
 
62
92
  > [!TIP]
63
- > The resulting live system can be easily installed using either the Calamares installer or the internal TUI Krill installer. Furthermore, if you prefer an unattended installation, you can utilize the "--unattended" flag.
93
+ > The resulting live system can be easily installed using either the calamares installer or the internal TUI krill installer. Furthermore, using `krill`, you can easily get an unattended installation, utilizing `--unattended` and various [krill](#eggs-krill) flags.
64
94
 
65
95
  > [!TIP]
66
- > One interesting feature of "penguins-eggs" is its integration with the "penguins-wardrobe." This allows you to create or utilize scripts to switch between different configurations. For example, you can start with a bare version of the system, featuring only a command-line interface (CLI), and then easily transition to a full graphical user interface (GUI) or server configurations.
96
+ > One interesting feature of `eggs` is its integration with the `penguins-wardrobe` This allows you to create or utilize scripts to switch between different configurations. For example, you can start with a bare version of the system, featuring only a command-line interface (CLI), and then easily transition to a full graphical user interface (GUI) or server configurations.
67
97
 
68
98
  > [!NOTE]
69
- > For more information and customization options, you can explore "penguins-wardrobe," a related project. You can fork it and adapt it to meet your specific needs.
99
+ > For more information and customization options, you can explore `penguins-wardrobe`. a related project. You can fork it and adapt it to meet your specific needs.
70
100
 
71
101
  See [penguins-wardrobe](https://github.com/pieroproietti/penguins-wardrobe), fork it, and adapt it to your needs.
72
102
 
73
103
  # Technology
74
- "eggs" is primarily written in TypeScript and is designed to be compatible with various Linux distributions. While there may be differences in package managers, paths, and other aspects, the underlying programs used to build the live system are generally the same.
104
+ `eggs` is primarily written in TypeScript and is designed to be compatible with various Linux distributions. While there may be differences in package managers, paths, and other aspects, the underlying programs used to build the live system are generally the same.
75
105
 
76
- Currently, "eggs" supports several Linux distributions, including [Debian](https://www.debian.org/), [Devuan](https://www.devuan.org/), [Ubuntu](https://ubuntu.com/), [Arch](https://archlinux.org/), [Manjaro](https://manjaro.org/) and [derivatives](./conf/derivatives.yaml).
106
+ Currently, `eggs` supports several Linux distributions, including [Debian](https://www.debian.org/), [Devuan](https://www.devuan.org/), [Ubuntu](https://ubuntu.com/), [Arch](https://archlinux.org/), [Manjaro](https://manjaro.org/) and [derivatives](./conf/derivatives.yaml).
77
107
 
78
108
  It also caters to different architectures, namely `amd64`, `i386`, and `arm64`.
79
109
 
80
- Starting from version 9.6.x, "Penguins' eggs" is released as a Debian package, available for amd64, i386, and arm64 architectures. This allows it to support a wide range of PCs, including older machines, as well as single-board ARM systems like the Raspberry Pi. You can learn more about this release in the article titled Triple Somersault! [Triple somersault!](https://penguins-eggs.net/blog/triple-somersault).
110
+ Starting from version 9.6.x, `penguins-eggs` is released as a Debian package, available for amd64, i386, and arm64 architectures. This allows it to support a wide range of PCs, including older machines, as well as single-board ARM systems like the Raspberry Pi. You can learn more about this release in the article titled Triple Somersault! [Triple somersault!](https://penguins-eggs.net/blog/triple-somersault).
81
111
 
82
112
  For more information on the supported distributions and architectures, you can visit the blog [blog](https://penguins-eggs.net/blog/distros-that-can-be-remastered-with-eggs).
83
113
 
84
- Additionally, you can find examples of remastered ISO images created with "eggs" on the project's SourceForge page [sourceforge page of the project](https://sourceforge.net/projects/penguins-eggs/files/ISOS/).
114
+ Additionally, you can find examples of remastered ISO images created with `eggs` on the project's SourceForge page [sourceforge page of the project](https://sourceforge.net/projects/penguins-eggs/files/ISOS/).
85
115
 
86
116
 
87
117
  # Features
@@ -125,9 +155,9 @@ Supports: i386, amd64 and arm64 architecture, from old PCs, and common PCs to si
125
155
 
126
156
 
127
157
  ## Wardrobe, Themes, and Addons
128
- In April 2022, the "wardrobe" feature was introduced to "eggs." This addition serves as a comprehensive tool to assist and streamline the process of creating a customized version of Linux, starting from a command-line interface (CLI) system. I have embraced wardrobe for all my editions to enhance convenience, enabling me to better organize, consolidate, and manage my work effectively.
158
+ In April 2022, the `wardrobe` command was introduced to `eggs`. This addition serves as a comprehensive tool to assist and streamline the process of creating a customized version of Linux, starting from a command-line interface (CLI) system. I have embraced wardrobe for all my editions to enhance convenience, enabling me to better organize, consolidate, and manage my work effectively.
129
159
  To add a unique touch to my customizations, I have assigned bird names to each edition. Except for the "naked" edition, there are various options available, including "Colibri," "eagle," "duck," "owl," and "chicks" under the bookworm and plastilinux distributions. [bookworm](https://sourceforge.net/projects/penguins-eggs/files/ISOS/debian/bookworm/) and [plastilinux](https://sourceforge.net/projects/penguins-eggs/files/ISOS/plastilinux/),.Furthermore, under Waydroid on the eggs' SourceForge page, you can find "wagtail" and "warbier."
130
- I have high hopes that people will take an interest in wardrobe and consider forking the main repository to incorporate their own customizations. By collaborating, we can achieve significant progress that would be challenging for a single developer to accomplish. If you would like to delve deeper into the wardrobe, I recommend reading the Penguins' eggs blog [Penguins' eggs blog](https://penguins-eggs.net/blog/wardrobe-colibri-duck-eagle-and-owl/). post titled Wardrobe: Colibri, Duck, Eagle, and Owl, which provides further insights into its features and benefits.
160
+ I have high hopes that people will take an interest in wardrobe and consider forking the main repository to incorporate their own customizations. By collaborating, we can achieve significant progress that would be challenging for a single developer to accomplish. If you would like to delve deeper into the wardrobe, I recommend reading the [Penguins' eggs blog](https://penguins-eggs.net/blog/wardrobe-colibri-duck-eagle-and-owl/). post titled Wardrobe: Colibri, Duck, Eagle, and Owl, which provides further insights into its features and benefits.
131
161
  Furthermore, addons, predominantly themes, have been organized under the vendor's folder in the penguin's wardrobe. I encourage utilizing your wardrobe for all your customization needs to maintain consistency and organization throughout your work.
132
162
 
133
163
  > [!NOTE]
@@ -136,35 +166,35 @@ Furthermore, addons, predominantly themes, have been organized under the vendor'
136
166
 
137
167
  ## Clone/Cryptedclone
138
168
  When creating a live distribution of your system, you have different options to consider: the default mode, clone, and cryptedclone.
139
- • The default mode, achieved by using the command "eggs produce," completely removes user data from the live distribution. This ensures that no private data remains in the live system.
169
+ • The default mode, achieved by using the command `eggs produce`, completely removes user data from the live distribution. This ensures that no private data remains in the live system.
140
170
 
141
- • The "eggs produce --clone" command allows you to save both user data and system data directly in the generated ISO. This means that if someone obtains a copy of the ISO, they will be able to see and access the
171
+ • The `eggs produce --clone` command allows you to save both user data and system data directly in the generated ISO. This means that if someone obtains a copy of the ISO, they will be able to see and access the
142
172
  user data directly from the live system. It's important to note that this data is not encrypted, so it may not be suitable for sensitive information.
143
173
 
144
- • On the other hand, the "eggs produce --cryptedclone" command saves the data within the generated ISO using a LUKS (Linux Unified Key Setup) volume. With this option, the user data will not be visible in the live system. However, it can be automatically reinstalled during the system installation process using the "krill" installer. Even if someone has the generated ISO, they won't be able to access the user data without the LUKS passphrase. This ensures that your data remains protected.
174
+ • On the other hand, the ìeggs produce --cryptedclone` command saves the data within the generated ISO using a LUKS (Linux Unified Key Setup) volume. With this option, the user data will not be visible in the live system. However, it can be automatically reinstalled during the system installation process using the "krill" installer. Even if someone has the generated ISO, they won't be able to access the user data without the LUKS passphrase. This ensures that your data remains protected.
145
175
 
146
176
  To summarize the available options:
147
177
 
148
- "eggs produce" (default): All private data is removed from the live system.
178
+ `eggs produce` (default): All private data is removed from the live system.
149
179
 
150
- "eggs produce --clone": All user data is included unencrypted directly in the live system.
180
+ `eggs produce --clone`: All user data is included unencrypted directly in the live system.
151
181
 
152
- "eggs produce --cryptedclone": All user data is included encrypted within a LUKS volume inside the ISO.
182
+ `eggs produce --cryptedclone`: All user data is included encrypted within a LUKS volume inside the ISO.
153
183
  > [!TIP]
154
184
  > During the installation process, you can use the "krill" installer to restore your crypted data automatically. By running the command "sudo eggs install" with the "krill" installer, your encrypted data will be securely transferred and made available in the installed system.
155
185
 
156
186
 
157
187
  ## calamares and krill
158
- Calamares and Krill are powerful tools in the Eggs project [calamares](https://calamares.io), offering versatile installation options for Linux systems. The Eggs project was specifically designed to utilize Calamares as the default system installer, providing users with the flexibility to customize their installations using themes. However, Eggs goes beyond Calamares by introducing its own installer called Krill, which focuses on command-line interface (CLI) installations, particularly for server environments.
188
+ Calamares and Krill are powerful tools in the Eggs project, [calamares](https://calamares.io), offering versatile installation options for Linux systems. The Eggs project was specifically designed to utilize Calamares as the default system installer, providing users with the flexibility to customize their installations using themes. However, Eggs goes beyond Calamares by introducing its own installer called Krill, which focuses on command-line interface (CLI) installations, particularly for server environments.
159
189
 
160
- Krill, like Calamares, adopts a CLI interface that closely resembles Calamares, ensuring a consistent user experience. Leveraging the same configuration files created by Eggs for Calamares, Krill maintains compatibility and allows for seamless transitions between desktop and server installations. By simply adding the flag during installation, Krill enables unattended installations, streamlining the process for system administrators. Fine-tuning installation parameters becomes effortless as the configuration values can be modified in the ```/etc/penguins-eggs.d/krill.yaml``` file, facilitating automated deployments.
190
+ Krill adopts a TUI interface that closely resembles Calamares, ensuring a consistent user experience. Leveraging the same configuration files created by Eggs for Calamares, Krill maintains compatibility and allows for seamless transitions between desktop and server installations. By simply adding the flag during installation, Krill enables unattended installations, streamlining the process for system administrators. Fine-tuning installation parameters becomes effortless as the configuration values can be modified in the ```/etc/penguins-eggs.d/krill.yaml``` file, facilitating automated deployments.
161
191
 
162
192
  > [!TIP]
163
- > Thanks to the Eggs project's integration of Calamares and the introduction of Krill, users can enjoy a comprehensive installation toolkit. Whether one prefers the graphical interface of Calamares or the command-line efficiency of Krill, Eggs caters to diverse installation needs, making Linux setup a breeze.
193
+ > Thanks to the Eggs project's integration of Calamares and the introduction of Krill, users can enjoy a comprehensive installation toolkit. Whether one prefers the graphical interface of Calamares or the command-line efficiency of Krill, Eggs caters to diverse installation needs, making Linux setup a breeze.
164
194
 
165
195
  ## cuckoo
166
- ust like the cuckoo bird lays its eggs in the nests of other birds, the Eggs project introduces a similar concept in the form of a self-configuring PXE service. This service allows you to boot and install your ISO on networked computers that are not originally configured for your specific ISO.
167
- With the command "cuckoo," you can deploy a newly created ISO on an already installed system, or you can live to boot the ISO itself. This means that you can either install your ISO on existing systems or directly run the ISO without the need for a permanent installation.
196
+ Just like the cuckoo bird lays its eggs in the nests of other birds, the Eggs project introduces a similar concept in the form of a self-configuring PXE service. This service allows you to boot and install your ISO on networked computers that are not originally configured for your specific ISO.
197
+ With the command `cuckoo` you can deploy a newly created ISO on an already installed system, or you can live to boot the ISO itself. This means that you can either install your ISO on existing systems or directly run the ISO without the need for a permanent installation.
168
198
 
169
199
  > [!TIP]
170
200
  > By leveraging the cuckoo command, the Eggs project provides a convenient method for deploying and testing your ISO on a variety of networked computers, expanding the possibilities for system installations and evaluations.
@@ -186,53 +216,61 @@ By adapting to the packaging systems used by different distributions, Eggs ensur
186
216
 
187
217
 
188
218
  ## Debian families
189
- Eggs caters to the Debian family of distributions, offering a seamless installation experience through deb packages. These deb packages are available for multiple architectures, including amd64, i386, and arm64.The availability of Eggs as a deb package simplifies the installation process for users of Debian-based distributions. Whether you are running a 64-bit (amd64) or 32-bit (i386) architecture, or even an arm64 architecture, Eggs has you covered. This ensures that users across a wide range of Debian-based systems can easily download, install, and utilize Eggs' features.
219
+ Eggs caters to the Debian family of distributions, offering a seamless installation experience through deb packages.
220
+
221
+ These deb packages are available for multiple architectures, including amd64, i386, and arm64.
222
+
223
+ The availability of `penguins-eggs` as a deb package simplifies the installation process for users of Debian-based distributions. Whether you are running a 64-bit (amd64) or 32-bit (i386) architecture, or even an arm64 architecture, Eggs has you covered. This ensures that users across a wide range of Debian-based systems can easily download, install, and utilize Eggs' features.
224
+
190
225
  By providing deb packages for various architectures, Eggs promotes accessibility and inclusivity, allowing users on different hardware platforms to benefit from its functionality. Whether you're using a traditional desktop computer or an ARM-based device, Eggs ensures compatibility and a consistent experience across the Debian family of distributions.
191
226
 
192
- The packages can be installed on Debian, Devuan, or Ubuntu-based distributions without the need to worry about the specific version. Whether you're using Buster, Bullseye, Bookworm, Trixie, Chimaera, Daedalus, Bionic, Focal, or Jammy, Eggs is reported to work across these versions. However, it's important to ensure compatibility with the respective processor architecture.
193
- The packages provided by Eggs include standard scripts for preinst, postinst, prerm, and postrm. These scripts play a crucial role in the installation and management of the packages. The preinst script is executed before the package is installed, allowing for any necessary preparations or configurations. The postinst script is executed after the package installation, enabling additional setup or customization. Similarly, the prerm script is executed before the package is removed, while the postrm script is executed after the package removal.
194
- In addition to the scripts, Eggs packages also include man pages. These man pages serve as documentation for the installed packages, providing detailed information on their usage, configuration options, and other relevant details. The inclusion of man pages ensures that users have access to comprehensive documentation, enabling them to effectively utilize and manage the Eggs packages.
227
+ The packages can be installed on Debian, Devuan, or Ubuntu-based distributions without the need to worry about the specific version. Whether you're using Buster, Bullseye, Bookworm, Trixie, Chimaera, Daedalus, Focal, Jammy or Noble, `eggs` is reported to work across these versions. However, it's important to ensure compatibility with the respective processor architecture.
228
+
229
+ Ubuntu bionic cannot install nodejs >16, so I packaged a specific version for bionic, still largely used.
230
+
231
+ The packages `penguins-eggs` provided include standard scripts for `preinst`, `postinst`, `prerm`, and `postrm`. These scripts play a crucial role in the installation and management of the packages. The preinst script is executed before the package is installed, allowing for any necessary preparations or configurations. The postinst script is executed after the package installation, enabling additional setup or customization. Similarly, the prerm script is executed before the package is removed, while the postrm script is executed after the package removal.
232
+
233
+ In addition to the scripts, `penguins-eggs` package also include man pages, bash-completion and other.
234
+
235
+ man pages serve as documentation for the installed packages, providing detailed information on their usage, configuration options, and other relevant details. The inclusion of man pages ensures that users have access to comprehensive documentation, enabling them to effectively utilize and manage the Eggs packages.
236
+
195
237
  Overall, Eggs' packages offer a comprehensive and user-friendly experience, with standard scripts and detailed documentation, making installation and management hassle-free on Debian, Devuan, and Ubuntu-based distributions.
196
238
 
197
239
 
198
240
  ### Install eggs
199
- there are multiple methods available, but one of the most practical approaches is to utilize the penguins-eggs-ppa repository.
200
- The penguins-eggs-ppa repository provides a convenient and reliable way to access and install Eggs on your system. By adding this repository to your package manager's sources list, you gain access to the latest versions of Eggs and can easily install or update it with a few simple commands.Adding the penguins-eggs-ppa repository ensures that you have a trusted and official source for Eggs, which simplifies the installation process and ensures that you receive updates and security patches on time.By leveraging the penguins-eggs-ppa repository, you can enjoy the benefits of a streamlined installation process, convenient updates, and a reliable source for Eggs. It's a practical solution that allows you to effortlessly install and manage Eggs as a .deb package, enhancing your overall experience with this powerful software.
241
+ There are multiple methods available, lately I prefer `get-eggs` way, working for all the supported distros: Arch, Debian, Devuan, Manjaro, Ubuntu and derivatives.:
242
+
243
+ ```
244
+ git clone https://github.com/pieroproietti/get-eggs
245
+ cd get-eggs
246
+ sudo ./get-eggs.sh
247
+ ```
248
+
249
+ `get-eggs` on Debian families add automatically the `penguins-eggs-ppa` repository and, when need, add `nodesource` repository. On Arch, `chaotic-aur` repo will be added.
201
250
 
251
+ This let to install, update, remove `penguins-eggs` like a native package.
202
252
 
203
- #### Download the package and install it with dpkg
253
+ #### Debian families
254
+ `penguins-eggs-10.0.x` depend on `nodejs >18`, not directly available in all the distros. We can rely on [nodesource](https://github.com/nodesource/distributions?tab=readme-ov-file#debian-and-ubuntu-based-distributions) adding them.
255
+
256
+ ##### Download and install penguins-eggs from sourceforge
257
+ To install Eggs, the simplest method is to download the package `penguins-eggs` from the project's SourceForge page [package eggs](https://sourceforge.net/projects/penguins-eggs/files/DEBS/) and install it on your system.
258
+
259
+ After downloading the appropriate package, based on your system's architecture, you can proceed with the installation. If you are using an amd64 system, run the following command in the terminal:
260
+
261
+ ```sudo dpkg -i penguins_eggs_10.0.x-1_amd64.deb```
204
262
 
205
- To install Eggs, the simplest method is to download the package from the project's SourceForge page [package eggs](https://sourceforge.net/projects/penguins-eggs/files/DEBS/) and install it on your system. You can find the Eggs package on the SourceForge page here.
206
- After downloading the appropriate package based on your system's architecture, you can proceed with the installation. If you are using an amd64 system, run the following command in the terminal:
207
- ```sudo dpkg -i penguins_eggs_10.0.0-1_amd64.deb```
208
263
  For i386 systems, the command would be:
209
- ```sudo dpkg -i penguins_eggs_10.0.0-1_i386.deb```
264
+ ```sudo dpkg -i penguins_eggs_10.0.x-1_i386.deb```
265
+
210
266
  Executing these commands will initiate the installation process and install Eggs on your system.
211
267
  Once Eggs is successfully installed, you have the option to enhance its functionality by adding the penguins-eggs-ppa repository. This repository provides additional tools and features for Eggs. To add the penguins-eggs-ppa repository, run the following command in the terminal:
212
268
  ```sudo eggs tools ppa --install```
213
269
  This command will add the penguins-eggs-ppa repository to your system, allowing you to access updated versions of Eggs and additional tools provided by the repository.
214
270
  By following these steps, you can easily install Eggs, add the penguins-eggs-ppa repository, [penguins-eggs-ppa](https://pieroproietti.github.io/penguins-eggs-ppa), and unlock further capabilities and enhancements for your Eggs installation.
215
271
 
216
- #### Using penguins-eggs-ppa (stable version)
217
- To simplify the process of using the penguins-eggs-ppa repository and installing Eggs, you can utilize a utility called `get-eggs`. Follow these steps to use `get-eggs`:
218
- 1. Clone the `get-eggs` repository by running the following command:
219
- ```
220
- git clone https://github.com/pieroproietti/get-eggs
221
- ```
222
-
223
- 2. Navigate into the `get-eggs` directory:
224
- ```
225
- cd get-eggs
226
- ```
227
-
228
- 3. Execute the utility with root privileges:
229
- ```
230
- sudo ./get-eggs
231
- ```
232
-
233
- On Debian, Devuan, and Ubuntu, running `get-eggs` will add the penguins-eggs-ppa repository and install Eggs seamlessly.
234
- > [!TIP]
235
- > For derivatives of Debian, Devuan, and Ubuntu, such as Linuxmint, LMDE, etc., `get-eggs` will typically work as well. However, if needed, you can manually add the penguins-eggs-ppa repository by copying and pasting the following two lines into a terminal:
272
+ ##### Using penguins-eggs-ppa
273
+ For derivatives of Debian, Devuan, and Ubuntu, such as Linuxmint, LMDE, etc., `get-eggs` will typically work as well. However, if needed, you can manually add the penguins-eggs-ppa repository by copying and pasting the following two lines into a terminal:
236
274
 
237
275
  ```
238
276
  curl -fsSL https://pieroproietti.github.io/penguins-eggs-ppa/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/penguins-eggs.gpg
@@ -247,11 +285,8 @@ sudo apt update && sudo apt install penguins_eggs
247
285
 
248
286
  Executing these commands will update your package sources and install Eggs on your system.
249
287
 
250
- > [!TIP]
251
- > By using the `get-eggs` utility or manually adding the penguins-eggs-ppa repository, you can easily install Eggs on various Debian, Devuan, and Ubuntu-based distributions, including their derivatives, ensuring a smooth and hassle-free installation process.
252
-
253
288
 
254
- ### Upgrade eggs
289
+ #### Upgrade eggs
255
290
  To upgrade Eggs, the process will vary depending on whether you are using the penguins-eggs-ppa repository or not. Here's how you can upgrade Eggs with both approaches:
256
291
  If you have already added the penguins-eggs-ppa repository, you can upgrade Eggs alongside other packages on your system by running the following command:
257
292
  ```
@@ -261,15 +296,15 @@ sudo apt upgrade
261
296
  > This command will check for updates for all installed packages, including Eggs, and upgrade them to their latest versions if available.
262
297
 
263
298
  > [!NOTE]
264
- > On the other hand, if you have not added the penguins-eggs-ppa repository, you can manually upgrade Eggs by downloading the new version from the SourceForge page [here](https://sourceforge.net/projects/penguins-eggs/files/DEBS/). Once you have downloaded the appropriate package for your system architecture, follow these steps:
299
+ > On the other hand, if you have not added the `penguins-eggs-ppa` repository, you can manually upgrade Eggs by downloading the new version from the SourceForge page [here](https://sourceforge.net/projects/penguins-eggs/files/DEBS/). Once you have downloaded the appropriate package for your system architecture, follow these steps:
265
300
 
266
301
  1. Install the package using the `gdebi` command (assuming you have `gdebi` installed):
267
302
  ```
268
- sudo gdebi penguins_eggs_10.0.0-1_amd64.deb
303
+ sudo gdebi penguins_eggs_10.0.x-1_amd64.deb
269
304
  ```
270
305
  or for i386 systems:
271
306
  ```
272
- sudo dpkg -i penguins_eggs_10.0.0-1_i386.deb
307
+ sudo dpkg -i penguins_eggs_10.0.x-1_i386.deb
273
308
  ```
274
309
 
275
310
  2. In case of any missing dependencies, you can resolve them by running the following command:
@@ -293,7 +328,7 @@ This will automatically install any required dependencies for Eggs.
293
328
 
294
329
 
295
330
  ### Arch
296
- To install penguins-eggs on Arch Linux, there are multiple methods available. One option is to install it directly from the Arch User Repository (AUR) by adding the Chaotic-AUR repository. Here's how you can do it:
331
+ To install penguins-eggs on Arch Linux, there are multiple methods available. One option is to install it directly from the Arch User Repository (AUR) by adding the `chaotic-AUR` repository. Here's how you can do it:
297
332
 
298
333
  1. Add the Chaotic-AUR repository to your system. You can find the repository at [https://aur.chaotic.cx/](https://aur.chaotic.cx/).
299
334
 
@@ -303,25 +338,9 @@ sudo pacman -Sy penguins-eggs
303
338
  ```
304
339
  This command will synchronize the package databases and install penguins-eggs on your system.
305
340
 
306
- Alternatively, you can use a utility called `get-eggs` that I have written. Here's how to use it:
307
-
308
- 1. Clone the `get-eggs` repository by running the following command:
309
- ```
310
- git clone https://github.com/pieroproietti/get-eggs
311
- ```
341
+ Alternatively, you can use a utility called `get-eggs`. This script will add the AUR repository and install penguins-eggs on your system.
312
342
 
313
- 2. Change to the `get-eggs` directory:
314
- ```
315
- cd get-eggs
316
- ```
317
-
318
- 3. Run the `get-eggs` script with sudo privileges:
319
- ```
320
- sudo ./get-eggs
321
- ```
322
- This script will add the AUR repository and install penguins-eggs on your system.
323
-
324
- Additionally, you have the option to use the popular AUR helper tool called `yay`. Simply run the following command:
343
+ It's possible too to use the popular AUR helper tool called `yay`. Simply run the following command:
325
344
  ```
326
345
  yay penguins-eggs
327
346
  ```
@@ -404,6 +423,7 @@ sudo eggs produce --cryptedclone
404
423
  ```
405
424
  This command will generate a live system with encrypted user data.
406
425
 
426
+ ## Compression
407
427
  By default, penguins-eggs uses fasted compression `zstd level 3` for efficiency during the creation process. However, if you want a more compressed ISO file, you can chooce `--pendrive` flag `zstd level 15` optimized for pendrives, `--standard` flag, use `xz`, or `--max` flag using `xz -Xbcj` to get the maximun level of compression. For example:
408
428
 
409
429
  ```
@@ -413,8 +433,7 @@ sudo eggs produce --standard
413
433
  sudo eggs produce --max
414
434
  ```
415
435
  > [!TIP]
416
- > This command will apply maximum compression to the ISO file, resulting in a smaller file size. In addition to the command descriptions provided in this README, you can refer to the [Penguins' eggs official guide](https://penguins-eggs.net/docs/Tutorial/eggs-users-guide) for more detailed information on how to use penguins-eggs and its various features. The official guide offers comprehensive documentation to help you make the most out of this tool.
417
-
436
+ > This command will apply differents compression to the ISO file, resulting in a smaller file size or in a longer process. Consult [Penguins' eggs official guide](https://penguins-eggs.net/docs/Tutorial/eggs-users-guide) for more detailed informations.
418
437
  # Commands
419
438
  <!-- commands -->
420
439
  * [`eggs adapt`](#eggs-adapt)
@@ -466,7 +485,7 @@ EXAMPLES
466
485
  $ eggs adapt
467
486
  ```
468
487
 
469
- _See code: [src/commands/adapt.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/adapt.ts)_
488
+ _See code: [src/commands/adapt.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/adapt.ts)_
470
489
 
471
490
  ## `eggs analyze`
472
491
 
@@ -487,7 +506,7 @@ EXAMPLES
487
506
  sudo eggs analyze
488
507
  ```
489
508
 
490
- _See code: [src/commands/analyze.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/analyze.ts)_
509
+ _See code: [src/commands/analyze.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/analyze.ts)_
491
510
 
492
511
  ## `eggs autocomplete [SHELL]`
493
512
 
@@ -551,7 +570,7 @@ EXAMPLES
551
570
  sudo eggs calamares --remove
552
571
  ```
553
572
 
554
- _See code: [src/commands/calamares.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/calamares.ts)_
573
+ _See code: [src/commands/calamares.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/calamares.ts)_
555
574
 
556
575
  ## `eggs config`
557
576
 
@@ -578,7 +597,7 @@ EXAMPLES
578
597
  sudo eggs config --clean --nointeractive
579
598
  ```
580
599
 
581
- _See code: [src/commands/config.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/config.ts)_
600
+ _See code: [src/commands/config.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/config.ts)_
582
601
 
583
602
  ## `eggs cuckoo`
584
603
 
@@ -598,7 +617,7 @@ EXAMPLES
598
617
  sudo eggs cuckoo
599
618
  ```
600
619
 
601
- _See code: [src/commands/cuckoo.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/cuckoo.ts)_
620
+ _See code: [src/commands/cuckoo.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/cuckoo.ts)_
602
621
 
603
622
  ## `eggs dad`
604
623
 
@@ -626,7 +645,7 @@ EXAMPLES
626
645
  sudo dad --default
627
646
  ```
628
647
 
629
- _See code: [src/commands/dad.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/dad.ts)_
648
+ _See code: [src/commands/dad.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/dad.ts)_
630
649
 
631
650
  ## `eggs export deb`
632
651
 
@@ -653,7 +672,7 @@ EXAMPLES
653
672
  $ eggs export deb --all
654
673
  ```
655
674
 
656
- _See code: [src/commands/export/deb.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/export/deb.ts)_
675
+ _See code: [src/commands/export/deb.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/export/deb.ts)_
657
676
 
658
677
  ## `eggs export iso`
659
678
 
@@ -678,7 +697,7 @@ EXAMPLES
678
697
  $ eggs export iso --clean
679
698
  ```
680
699
 
681
- _See code: [src/commands/export/iso.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/export/iso.ts)_
700
+ _See code: [src/commands/export/iso.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/export/iso.ts)_
682
701
 
683
702
  ## `eggs help [COMMAND]`
684
703
 
@@ -739,7 +758,7 @@ EXAMPLES
739
758
  sudo eggs install --chroot
740
759
  ```
741
760
 
742
- _See code: [src/commands/install.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/install.ts)_
761
+ _See code: [src/commands/install.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/install.ts)_
743
762
 
744
763
  ## `eggs kill`
745
764
 
@@ -762,7 +781,7 @@ EXAMPLES
762
781
  sudo eggs kill
763
782
  ```
764
783
 
765
- _See code: [src/commands/kill.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/kill.ts)_
784
+ _See code: [src/commands/kill.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/kill.ts)_
766
785
 
767
786
  ## `eggs krill`
768
787
 
@@ -821,7 +840,7 @@ EXAMPLES
821
840
  $ eggs mom
822
841
  ```
823
842
 
824
- _See code: [src/commands/mom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/mom.ts)_
843
+ _See code: [src/commands/mom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/mom.ts)_
825
844
 
826
845
  ## `eggs produce`
827
846
 
@@ -830,13 +849,13 @@ produce a live image from your system whithout your data
830
849
  ```
831
850
  USAGE
832
851
  $ eggs produce [--addons <value>...] [--basename <value>] [-c] [-C] [--excludes <value>...] [-h] [--links
833
- <value>...] [-m] [-N] [-n] [-p] [-P <value>] [--release] [-s] [--sidecar <value>] [-f] [--theme <value>] [-u] [-v]
834
- [-y]
852
+ <value>...] [-m] [-N] [-n] [-p] [-P <value>] [--release] [-s] [-f] [--theme <value>] [-u] [-v] [-U] [-y]
835
853
 
836
854
  FLAGS
837
855
  -C, --cryptedclone crypted clone
838
856
  -N, --noicon no icon eggs on desktop
839
857
  -P, --prefix=<value> prefix
858
+ -U, --udf udf, create iso UDF format using genisoimage
840
859
  -c, --clone clone
841
860
  -f, --standard standard compression: xz -b 1M
842
861
  -h, --help Show CLI help.
@@ -852,7 +871,6 @@ FLAGS
852
871
  --excludes=<value>... use: static, homes, home
853
872
  --links=<value>... desktop links
854
873
  --release release: remove penguins-eggs, calamares and dependencies after installation
855
- --sidecar=<value> add a sidecar folder on your ISO with arbitrary contents
856
874
  --theme=<value> theme for livecd, calamares branding and partitions
857
875
 
858
876
  DESCRIPTION
@@ -880,7 +898,7 @@ EXAMPLES
880
898
  sudo eggs produce --excludes home # exclude ~/*
881
899
  ```
882
900
 
883
- _See code: [src/commands/produce.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/produce.ts)_
901
+ _See code: [src/commands/produce.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/produce.ts)_
884
902
 
885
903
  ## `eggs status`
886
904
 
@@ -901,7 +919,7 @@ EXAMPLES
901
919
  $ eggs status
902
920
  ```
903
921
 
904
- _See code: [src/commands/status.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/status.ts)_
922
+ _See code: [src/commands/status.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/status.ts)_
905
923
 
906
924
  ## `eggs syncfrom`
907
925
 
@@ -927,7 +945,7 @@ EXAMPLES
927
945
  sudo eggs syncfrom --file /path/to/luks-volume
928
946
  ```
929
947
 
930
- _See code: [src/commands/syncfrom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/syncfrom.ts)_
948
+ _See code: [src/commands/syncfrom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/syncfrom.ts)_
931
949
 
932
950
  ## `eggs syncto`
933
951
 
@@ -954,7 +972,7 @@ EXAMPLES
954
972
  sudo eggs syncto --excludes
955
973
  ```
956
974
 
957
- _See code: [src/commands/syncto.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/syncto.ts)_
975
+ _See code: [src/commands/syncto.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/syncto.ts)_
958
976
 
959
977
  ## `eggs tools clean`
960
978
 
@@ -976,7 +994,7 @@ EXAMPLES
976
994
  sudo eggs tools clean
977
995
  ```
978
996
 
979
- _See code: [src/commands/tools/clean.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/tools/clean.ts)_
997
+ _See code: [src/commands/tools/clean.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/tools/clean.ts)_
980
998
 
981
999
  ## `eggs tools ppa`
982
1000
 
@@ -1002,7 +1020,7 @@ EXAMPLES
1002
1020
  sudo eggs tools ppa --remove
1003
1021
  ```
1004
1022
 
1005
- _See code: [src/commands/tools/ppa.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/tools/ppa.ts)_
1023
+ _See code: [src/commands/tools/ppa.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/tools/ppa.ts)_
1006
1024
 
1007
1025
  ## `eggs tools skel`
1008
1026
 
@@ -1026,7 +1044,7 @@ EXAMPLES
1026
1044
  sudo eggs tools skel --user user-to-be-copied
1027
1045
  ```
1028
1046
 
1029
- _See code: [src/commands/tools/skel.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/tools/skel.ts)_
1047
+ _See code: [src/commands/tools/skel.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/tools/skel.ts)_
1030
1048
 
1031
1049
  ## `eggs tools stat`
1032
1050
 
@@ -1052,7 +1070,7 @@ EXAMPLES
1052
1070
  $ eggs tools stat --year
1053
1071
  ```
1054
1072
 
1055
- _See code: [src/commands/tools/stat.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/tools/stat.ts)_
1073
+ _See code: [src/commands/tools/stat.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/tools/stat.ts)_
1056
1074
 
1057
1075
  ## `eggs tools yolk`
1058
1076
 
@@ -1073,7 +1091,7 @@ EXAMPLES
1073
1091
  sudo eggs tools yolk
1074
1092
  ```
1075
1093
 
1076
- _See code: [src/commands/tools/yolk.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/tools/yolk.ts)_
1094
+ _See code: [src/commands/tools/yolk.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/tools/yolk.ts)_
1077
1095
 
1078
1096
  ## `eggs update`
1079
1097
 
@@ -1094,7 +1112,7 @@ EXAMPLES
1094
1112
  $ eggs update
1095
1113
  ```
1096
1114
 
1097
- _See code: [src/commands/update.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/update.ts)_
1115
+ _See code: [src/commands/update.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/update.ts)_
1098
1116
 
1099
1117
  ## `eggs version`
1100
1118
 
@@ -1140,7 +1158,7 @@ EXAMPLES
1140
1158
  $ eggs wardrobe get your-wardrobe
1141
1159
  ```
1142
1160
 
1143
- _See code: [src/commands/wardrobe/get.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/wardrobe/get.ts)_
1161
+ _See code: [src/commands/wardrobe/get.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/wardrobe/get.ts)_
1144
1162
 
1145
1163
  ## `eggs wardrobe list [REPO]`
1146
1164
 
@@ -1169,7 +1187,7 @@ EXAMPLES
1169
1187
  $ eggs wardrobe list --distro arch
1170
1188
  ```
1171
1189
 
1172
- _See code: [src/commands/wardrobe/list.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/wardrobe/list.ts)_
1190
+ _See code: [src/commands/wardrobe/list.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/wardrobe/list.ts)_
1173
1191
 
1174
1192
  ## `eggs wardrobe show [REPO]`
1175
1193
 
@@ -1199,7 +1217,7 @@ EXAMPLES
1199
1217
  $ eggs wardrobe show accessories/
1200
1218
  ```
1201
1219
 
1202
- _See code: [src/commands/wardrobe/show.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/wardrobe/show.ts)_
1220
+ _See code: [src/commands/wardrobe/show.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/wardrobe/show.ts)_
1203
1221
 
1204
1222
  ## `eggs wardrobe wear [REPO]`
1205
1223
 
@@ -1230,14 +1248,14 @@ EXAMPLES
1230
1248
  sudo eggs wardrobe wear wagtail/waydroid
1231
1249
  ```
1232
1250
 
1233
- _See code: [src/commands/wardrobe/wear.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.12/src/commands/wardrobe/wear.ts)_
1251
+ _See code: [src/commands/wardrobe/wear.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/wardrobe/wear.ts)_
1234
1252
  <!-- commandsstop -->
1235
1253
 
1236
1254
  # penGUI
1237
1255
  ![icon](https://github.com/pieroproietti/pengui/blob/main/assets/pengui.png?raw=true)
1238
1256
  ## penGUI take cure of eggs!
1239
1257
 
1240
- The development of a GUI for "penguins-eggs" with the penGUI project sounds promising. It's exciting to see that work on the GUI has started and is progressing rapidly. GUIs can greatly enhance the user experience and make it more accessible to a wider range of users. I hope the penGUI [penGUI](https://github.com/pieroproietti/pengui) project continues to thrive and brings a user-friendly interface to "penguins-eggs". If you have any specific questions or need further information about the penGUI project, feel free to ask!
1258
+ The development of a GUI for `eggs` with the penGUI project sounds promising. It's exciting to see that work on the GUI has started and is progressing rapidly. GUIs can greatly enhance the user experience and make it more accessible to a wider range of users. I hope the penGUI [penGUI](https://github.com/pieroproietti/pengui) project continues to thrive and brings a user-friendly interface to `penguins-eggs`. If you have any specific questions or need further information about the penGUI project, feel free to ask!
1241
1259
 
1242
1260
 
1243
1261
  ## That's all, Folks!
@@ -100,15 +100,12 @@
100
100
  - victoria # Linux Mint
101
101
  - virginia # LinuxMint
102
102
 
103
- - id: devel
103
+ - id: noble
104
104
  distroLike: Ubuntu
105
105
  family: debian
106
106
  ids:
107
- - devel # Rhino
108
- - lunar # Ubuntu lunar 23.04
109
- - mantic # Ubuntu lunar 23.10
110
- - noble # Ubuntu noble
111
107
  - wilma # Linux Mint 22
108
+ - devel # Rhino
112
109
 
113
110
  #
114
111
  # ARCH
@@ -0,0 +1,3 @@
1
+ # Ubuntu 24.04 noble
2
+
3
+ It take all configuration from Ubuntu focal
@@ -1,43 +1,4 @@
1
1
  ######################################################################################################
2
2
  # usr: use this exclusions, attention this can lead to lost something
3
- #usr/lib/snapd/*
4
- usr/bin/x86_64-w64-mingw32-cpp-win32
5
- usr/bin/x86_64-w64-mingw32-gcc-12-win32
6
- usr/bin/x86_64-w64-mingw32-gcc-ar-win32
7
- usr/bin/x86_64-w64-mingw32-gcc-nm-win32
8
- usr/bin/x86_64-w64-mingw32-gcc-ranlib-win32
9
- usr/bin/x86_64-w64-mingw32-gcc-win32
10
- usr/bin/x86_64-w64-mingw32-gcov-dump-win32
11
- usr/bin/x86_64-w64-mingw32-gcov-tool-win32
12
- usr/bin/x86_64-w64-mingw32-gcov-win32
13
- usr/bin/x86_64-w64-mingw32-lto-dump-win32
14
- usr/i686-w64-mingw32/*
15
- usr/include/gtkmm-3.0/*
16
- usr/lib/gcc/i686-w64-mingw32/*
17
- usr/lib/gcc/x86_64-w64-mingw32/*
18
- usr/lib/i386-linux-gnu/*
19
- usr/lib/i386-linux-gnu/libLLVM-12.so
20
- usr/lib/i386-linux-gnu/libLLVM-12.so.1
21
- usr/lib/llvm-11/*
22
- usr/lib/llvm-9/*
23
- usr/lib/mono/*
24
- usr/lib/x86_64-linux-gnu/libLLVM-10.so
25
- usr/lib/x86_64-linux-gnu/libLLVM-10.so.1
26
- usr/lib/x86_64-linux-gnu/libLLVM-11.so
27
- usr/lib/x86_64-linux-gnu/libLLVM-11.so.1
28
- usr/lib/x86_64-linux-gnu/libLLVM-12.so
29
- usr/lib/x86_64-linux-gnu/libLLVM-12.so.1
30
- usr/lib/x86_64-linux-gnu/libLLVM-14.so
31
- usr/lib/x86_64-linux-gnu/libLLVM-14.so.1
32
- usr/lib/x86_64-linux-gnu/libLLVM-9.so
33
- usr/lib/x86_64-linux-gnu/libLLVM-9.so.1
34
- usr/lib/x86_64-linux-gnu/openblas-pthread/*
35
- usr/share/dict/*
36
- usr/share/doc/*
37
- usr/share/eclipse/*
38
- usr/share/gimp/2.0/help/en/images/*
39
- usr/share/gtk-doc/html/*
40
- usr/share/krita/*
41
- usr/share/texmf/*
42
- usr/share/xemacs21/*
43
- usr/x86_64-w64-mingw32/*
3
+
4
+ # this list is intentionally blank
@@ -3,9 +3,8 @@
3
3
  var/backups/*
4
4
  var/cache/*
5
5
  var/lib/aide/*
6
-
7
- # look here for apt problem!
8
6
  var/lib/apt/*~
7
+ var/lib/apt/cache/*
9
8
  var/lib/apt/cdroms.list
10
9
  var/lib/apt/daily_lock
11
10
  var/lib/apt/extended_states
@@ -13,8 +12,6 @@ var/lib/apt/listchanges.db
13
12
  var/lib/apt/lists/
14
13
  var/lib/apt/mirrors/
15
14
  var/lib/apt/periodic/
16
- var/lib/apt/cache/*
17
- ##
18
15
  var/lib/aptitude/*.old
19
16
  var/lib/cache/*
20
17
  var/lib/dbus/machine-id
@@ -22,9 +19,11 @@ var/lib/dhcp/*
22
19
  var/lib/dkms/wireguard/*
23
20
  var/lib/dpkg/*~old
24
21
  var/lib/gems/2.7.0/cache/*
25
- #var/lib/snapd/*
26
22
  var/log/*.log
27
23
  var/log/*.log.?
28
24
  var/log/*/*
29
25
  var/spool/*
30
26
  var/tmp/*
27
+
28
+
29
+ #var/lib/snapd/*
@@ -25,10 +25,8 @@ export default class Daddy {
25
25
  * @param verbose
26
26
  */
27
27
  async helpMe(reset = false, isCustom = false, fileCustom = '', verbose = false) {
28
- console.log("reset: ", reset);
29
- console.log("isCustom: ", isCustom);
30
28
  if (isCustom) {
31
- console.log("fileCustom: ", fileCustom);
29
+ console.log("using custom file: ", fileCustom);
32
30
  }
33
31
  // Controllo configurazione
34
32
  if (!Pacman.configurationCheck()) {
@@ -47,16 +45,17 @@ export default class Daddy {
47
45
  if (await this.settings.load()) {
48
46
  config = this.settings.config;
49
47
  config.compression = 'fast';
50
- if (reset) {
51
- // Reset configuration
48
+ if (reset || isCustom) {
52
49
  if (config.snapshot_prefix === '') {
53
50
  config.snapshot_prefix = Utils.snapshotPrefix(this.settings.distro.distroId, this.settings.distro.codenameId);
54
51
  }
55
52
  jsonConf = JSON.stringify(config);
56
- console.log("reset");
57
53
  }
58
- else if (isCustom) {
59
- // Custom configuration
54
+ else {
55
+ jsonConf = await this.editConfig(config);
56
+ }
57
+ // Custom configuration
58
+ if (isCustom) {
60
59
  const conf = fs.readFileSync(fileCustom, 'utf8');
61
60
  const confCustom = yaml.load(conf);
62
61
  config.snapshot_basename = confCustom.snapshot_basename;
@@ -67,11 +66,6 @@ export default class Daddy {
67
66
  config.theme = confCustom.theme;
68
67
  jsonConf = JSON.stringify(config);
69
68
  }
70
- else {
71
- // default configuration
72
- jsonConf = await this.editConfig(config);
73
- console.log("edit");
74
- }
75
69
  // Save new configuration
76
70
  const confNew = JSON.parse(jsonConf);
77
71
  config.snapshot_basename = confNew.snapshot_basename;
@@ -185,6 +185,12 @@ class Distro {
185
185
  this.codenameLikeId = 'jammy';
186
186
  break;
187
187
  }
188
+ case 'noble': {
189
+ // Ubuntu 24.04 noble LTS
190
+ this.distroLike = 'Ubuntu';
191
+ this.codenameLikeId = 'noble';
192
+ break;
193
+ }
188
194
  case 'devel': {
189
195
  // Ubuntu rhino
190
196
  this.distroLike = 'Ubuntu';
@@ -128,6 +128,11 @@ export default class Incubator {
128
128
  await jammy.create();
129
129
  break;
130
130
  }
131
+ case 'noble': {
132
+ const noble = new Focal(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
133
+ await noble.create();
134
+ break;
135
+ }
131
136
  case 'devel': {
132
137
  const devel = new Focal(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
133
138
  await devel.create();
@@ -28,7 +28,7 @@ export default class Ovary {
28
28
  theme: string;
29
29
  volid: string;
30
30
  toNull: string;
31
- sidecar: string;
31
+ genisoimage: boolean;
32
32
  verbose: boolean;
33
33
  /**
34
34
  * Add or remove exclusion
@@ -159,7 +159,7 @@ export default class Ovary {
159
159
  * @param unsecure
160
160
  * @param verbose
161
161
  */
162
- produce(clone: boolean | undefined, cryptedclone: boolean | undefined, scriptOnly: boolean | undefined, yolkRenew: boolean | undefined, release: boolean | undefined, myAddons: IAddons, myLinks: string[], excludes: IExcludes, nointeractive?: boolean, noicons?: boolean, unsecure?: boolean, sidecar?: string, verbose?: boolean): Promise<void>;
162
+ produce(clone: boolean | undefined, cryptedclone: boolean | undefined, scriptOnly: boolean | undefined, yolkRenew: boolean | undefined, release: boolean | undefined, myAddons: IAddons, myLinks: string[], excludes: IExcludes, nointeractive?: boolean, noicons?: boolean, unsecure?: boolean, udf?: boolean, verbose?: boolean): Promise<void>;
163
163
  /**
164
164
  * syslinux
165
165
  */
@@ -191,7 +191,7 @@ export default class Ovary {
191
191
  * @param cryptedclone
192
192
  * @returns cmd 4 mkiso
193
193
  */
194
- xorrisoCommand(clone?: boolean, cryptedclone?: boolean): Promise<string>;
194
+ xorrisoCommand(clone?: boolean, cryptedclone?: boolean, udf?: boolean): Promise<string>;
195
195
  /**
196
196
  * Creazione link desktop per lxde
197
197
  * @param name
@@ -52,7 +52,7 @@ export default class Ovary {
52
52
  theme = '';
53
53
  volid = '';
54
54
  toNull = '';
55
- sidecar = '';
55
+ genisoimage = false;
56
56
  verbose = false;
57
57
  /**
58
58
  * Add or remove exclusion
@@ -687,6 +687,9 @@ export default class Ovary {
687
687
  console.log();
688
688
  console.log('Remember, on liveCD user = ' + chalk.cyanBright(this.settings.config.user_opt) + '/' + chalk.cyanBright(this.settings.config.user_opt_passwd));
689
689
  console.log(' root = ' + chalk.cyanBright('root') + '/' + chalk.cyanBright(this.settings.config.root_passwd));
690
+ if (this.genisoimage) {
691
+ console.log(`Note: format UDF, generated by ${chalk.cyanBright('genisoimage')}`);
692
+ }
690
693
  }
691
694
  /**
692
695
  * initrdArch()
@@ -839,14 +842,6 @@ export default class Ovary {
839
842
  cmd = `cp ${path.resolve(__dirname, '../../conf/README.md')} ${this.settings.config.snapshot_dir}README.md`;
840
843
  this.tryCatch(cmd);
841
844
  }
842
- // sidecar
843
- if (this.sidecar !== '') {
844
- this.sidecar = path.resolve(this.sidecar);
845
- cmd = `mkdir -p ${this.settings.iso_work}sidecar`;
846
- this.tryCatch(cmd);
847
- cmd = `cp ${this.sidecar}/* ${this.settings.iso_work}sidecar -R`;
848
- this.tryCatch(cmd);
849
- }
850
845
  // Ovarium
851
846
  if (!fs.existsSync(this.settings.work_dir.ovarium)) {
852
847
  cmd = `mkdir -p ${this.settings.work_dir.ovarium}`;
@@ -1280,8 +1275,7 @@ export default class Ovary {
1280
1275
  * @param unsecure
1281
1276
  * @param verbose
1282
1277
  */
1283
- async produce(clone = false, cryptedclone = false, scriptOnly = false, yolkRenew = false, release = false, myAddons, myLinks, excludes, nointeractive = false, noicons = false, unsecure = false, sidecar = '', verbose = false) {
1284
- this.sidecar = sidecar;
1278
+ async produce(clone = false, cryptedclone = false, scriptOnly = false, yolkRenew = false, release = false, myAddons, myLinks, excludes, nointeractive = false, noicons = false, unsecure = false, udf = false, verbose = false) {
1285
1279
  this.verbose = verbose;
1286
1280
  this.echo = Utils.setEcho(verbose);
1287
1281
  if (this.verbose) {
@@ -1473,7 +1467,7 @@ export default class Ovary {
1473
1467
  Utils.warning(`moving ${luksFile} in ${this.nest}iso/live`);
1474
1468
  await exec(`mv ${luksFile} ${this.nest}iso/live`, this.echo);
1475
1469
  }
1476
- const mkIsofsCmd = (await this.xorrisoCommand(clone, cryptedclone)).replaceAll(/\s\s+/g, ' ');
1470
+ const mkIsofsCmd = (await this.xorrisoCommand(clone, cryptedclone, udf)).replaceAll(/\s\s+/g, ' ');
1477
1471
  this.makeDotDisk(this.volid, mksquashfsCmd, mkIsofsCmd);
1478
1472
  /**
1479
1473
  * AntiX/MX LINUX
@@ -1654,7 +1648,7 @@ export default class Ovary {
1654
1648
  * @param cryptedclone
1655
1649
  * @returns cmd 4 mkiso
1656
1650
  */
1657
- async xorrisoCommand(clone = false, cryptedclone = false) {
1651
+ async xorrisoCommand(clone = false, cryptedclone = false, udf = false) {
1658
1652
  if (this.verbose) {
1659
1653
  console.log('Ovary: xorrisoCommand');
1660
1654
  }
@@ -1701,6 +1695,29 @@ export default class Ovary {
1701
1695
  uefi_isohybridGptBasdat = '-isohybrid-gpt-basdat';
1702
1696
  uefi_noEmulBoot = '-no-emul-boot';
1703
1697
  }
1698
+ if (udf) {
1699
+ if (Pacman.packageIsInstalled('genisoimage')) {
1700
+ this.genisoimage = true;
1701
+ command = `genisoimage \
1702
+ -iso-level 3 \
1703
+ -allow-limited-size \
1704
+ -joliet-long \
1705
+ -r \
1706
+ -V "V3.0" \
1707
+ -cache-inodes \
1708
+ -J \
1709
+ -l \
1710
+ -b isolinux/isolinux.bin \
1711
+ -c isolinux/boot.cat \
1712
+ -no-emul-boot \
1713
+ -boot-load-size 4 \
1714
+ -boot-info-table \
1715
+ -eltorito-alt-boot \
1716
+ -e boot/grub/efiboot.img \
1717
+ -o ${output} ${this.settings.iso_work}`;
1718
+ return command;
1719
+ }
1720
+ }
1704
1721
  // xorriso
1705
1722
  command = `xorriso -as mkisofs \
1706
1723
  -J \
@@ -384,11 +384,11 @@ export default class Pacman {
384
384
  await exec(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
385
385
  await exec(`cp -r ${buster}/calamares/modules/displaymanager.yml ${dest}/calamares/modules/displaymanager.yml`, echo);
386
386
  /**
387
- * Ubuntu 21.10 impish: eredita da focal e buster
387
+ * Ubuntu 22.04 jammy: eredita da focal e buster
388
388
  */
389
389
  }
390
- else if (this.distro().codenameLikeId === 'impish') {
391
- const dest = '/etc/penguins-eggs.d/distros/impish';
390
+ else if (this.distro().codenameLikeId === 'jammy') {
391
+ const dest = '/etc/penguins-eggs.d/distros/jammy';
392
392
  const focal = `${rootPen}/conf/distros/focal/*`;
393
393
  await exec(`cp -r ${focal} ${dest}`, echo);
394
394
  await exec(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
@@ -399,11 +399,12 @@ export default class Pacman {
399
399
  await exec(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
400
400
  await exec(`cp -r ${buster}/calamares/modules/displaymanager.yml ${dest}/calamares/modules/displaymanager.yml`, echo);
401
401
  /**
402
- * Ubuntu 22.04 jammy: eredita da focal e buster
402
+ * Ubuntu noble: eredita da devel e buster
403
+ *
403
404
  */
404
405
  }
405
- else if (this.distro().codenameLikeId === 'jammy') {
406
- const dest = '/etc/penguins-eggs.d/distros/jammy';
406
+ else if (this.distro().codenameLikeId === 'noble') {
407
+ const dest = '/etc/penguins-eggs.d/distros/noble';
407
408
  const focal = `${rootPen}/conf/distros/focal/*`;
408
409
  await exec(`cp -r ${focal} ${dest}`, echo);
409
410
  await exec(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
@@ -414,14 +415,14 @@ export default class Pacman {
414
415
  await exec(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
415
416
  await exec(`cp -r ${buster}/calamares/modules/displaymanager.yml ${dest}/calamares/modules/displaymanager.yml`, echo);
416
417
  /**
417
- * Ubuntu lunar/rhino: eredita da devel e buster
418
+ * Ubuntu rhino: eredita da devel e buster
418
419
  *
419
420
  */
420
421
  }
421
422
  else if (this.distro().codenameLikeId === 'devel') {
422
423
  const dest = '/etc/penguins-eggs.d/distros/devel';
423
- const focal = `${rootPen}/conf/distros/devel/*`;
424
- await exec(`cp -r ${focal} ${dest}`, echo);
424
+ const devel = `${rootPen}/conf/distros/devel/*`;
425
+ await exec(`cp -r ${devel} ${dest}`, echo);
425
426
  await exec(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
426
427
  await exec(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
427
428
  await exec(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-undo ${dest}/calamares/calamares-modules/sources-yolk-undo`, echo);
@@ -24,11 +24,11 @@ export default class Produce extends Command {
24
24
  prefix: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
25
  release: import("@oclif/core/interfaces").BooleanFlag<boolean>;
26
26
  script: import("@oclif/core/interfaces").BooleanFlag<boolean>;
27
- sidecar: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
28
27
  standard: import("@oclif/core/interfaces").BooleanFlag<boolean>;
29
28
  theme: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
30
29
  unsecure: import("@oclif/core/interfaces").BooleanFlag<boolean>;
31
30
  verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
31
+ udf: import("@oclif/core/interfaces").BooleanFlag<boolean>;
32
32
  yolk: import("@oclif/core/interfaces").BooleanFlag<boolean>;
33
33
  };
34
34
  run(): Promise<void>;
@@ -44,11 +44,11 @@ export default class Produce extends Command {
44
44
  prefix: Flags.string({ char: 'P', description: 'prefix' }),
45
45
  release: Flags.boolean({ description: 'release: remove penguins-eggs, calamares and dependencies after installation' }),
46
46
  script: Flags.boolean({ char: 's', description: 'script mode. Generate scripts to manage iso build' }),
47
- sidecar: Flags.string({ description: 'add a sidecar folder on your ISO with arbitrary contents' }),
48
47
  standard: Flags.boolean({ char: 'f', description: 'standard compression: xz -b 1M' }),
49
48
  theme: Flags.string({ description: 'theme for livecd, calamares branding and partitions' }),
50
49
  unsecure: Flags.boolean({ char: 'u', description: '/root contents are included on live' }),
51
50
  verbose: Flags.boolean({ char: 'v', description: 'verbose' }),
51
+ udf: Flags.boolean({ char: 'U', description: 'udf, create iso UDF format using genisoimage' }),
52
52
  yolk: Flags.boolean({ char: 'y', description: 'force yolk renew' }),
53
53
  };
54
54
  async run() {
@@ -143,13 +143,7 @@ export default class Produce extends Command {
143
143
  const yolkRenew = flags.yolk;
144
144
  const { nointeractive } = flags;
145
145
  const { noicon } = flags;
146
- const { sidecar } = flags;
147
- if (sidecar !== undefined) {
148
- if (!fs.existsSync(sidecar)) {
149
- Utils.warning('sidecar: ' + chalk.white(sidecar) + ' not found!');
150
- process.exit();
151
- }
152
- }
146
+ const { udf } = flags;
153
147
  // if clone or cryptedclone unsecure = true
154
148
  const unsecure = flags.unsecure || clone || cryptedclone;
155
149
  /**
@@ -196,7 +190,7 @@ export default class Produce extends Command {
196
190
  const ovary = new Ovary();
197
191
  Utils.warning('Produce an egg...');
198
192
  if (await ovary.fertilization(prefix, basename, theme, compression, !nointeractive)) {
199
- await ovary.produce(clone, cryptedclone, scriptOnly, yolkRenew, release, myAddons, myLinks, excludes, nointeractive, noicon, unsecure, sidecar, verbose);
193
+ await ovary.produce(clone, cryptedclone, scriptOnly, yolkRenew, release, myAddons, myLinks, excludes, nointeractive, noicon, unsecure, udf, verbose);
200
194
  ovary.finished(scriptOnly);
201
195
  }
202
196
  }
Binary file
@@ -6,10 +6,10 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1">
7
7
  </head>
8
8
  <body>
9
- <h1>eggs(1) -- the reproductive system of penguins: eggs v10.0.12</h1>
9
+ <h1>eggs(1) -- the reproductive system of penguins: eggs v10.0.15</h1>
10
10
  <h1>SYNOPSIS</h1>
11
11
  <p>Install Debian families (debian/devuan/ubuntu)</p>
12
- <pre><code>$ sudo dpkg -i penguins-eggs_10.0.12-bionic-1_amd64.deb
12
+ <pre><code>$ sudo dpkg -i penguins-eggs_10.0.15-bionic-1_amd64.deb
13
13
  </code></pre>
14
14
  <p>Install Arch families (Arch, manjaro Linux)</p>
15
15
  <p>Arch from AUR</p>
@@ -30,7 +30,7 @@ $ makepkg -si
30
30
  <h1>USAGE</h1>
31
31
  <pre><code>$ eggs (-v|--version|version)
32
32
 
33
- penguins-eggs/10.0.12
33
+ penguins-eggs/10.0.15
34
34
  $ eggs --help [COMMAND]
35
35
 
36
36
  USAGE
@@ -382,13 +382,13 @@ EXAMPLES
382
382
  <p>produce a live image from your system whithout your data</p>
383
383
  <pre><code>USAGE
384
384
  $ eggs produce [--addons &#x3C;value>...] [--basename &#x3C;value>] [-c] [-C] [--excludes &#x3C;value>...] [-h] [--links
385
- &#x3C;value>...] [-m] [-N] [-n] [-p] [-P &#x3C;value>] [--release] [-s] [--sidecar &#x3C;value>] [-f] [--theme &#x3C;value>] [-u] [-v]
386
- [-y]
385
+ &#x3C;value>...] [-m] [-N] [-n] [-p] [-P &#x3C;value>] [--release] [-s] [-f] [--theme &#x3C;value>] [-u] [-v] [-U] [-y]
387
386
 
388
387
  FLAGS
389
388
  -C, --cryptedclone crypted clone
390
389
  -N, --noicon no icon eggs on desktop
391
390
  -P, --prefix=&#x3C;value> prefix
391
+ -U, --udf udf, create iso UDF format using genisoimage
392
392
  -c, --clone clone
393
393
  -f, --standard standard compression: xz -b 1M
394
394
  -h, --help Show CLI help.
@@ -404,7 +404,6 @@ FLAGS
404
404
  --excludes=&#x3C;value>... use: static, homes, home
405
405
  --links=&#x3C;value>... desktop links
406
406
  --release release: remove penguins-eggs, calamares and dependencies after installation
407
- --sidecar=&#x3C;value> add a sidecar folder on your ISO with arbitrary contents
408
407
  --theme=&#x3C;value> theme for livecd, calamares branding and partitions
409
408
 
410
409
  DESCRIPTION
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "penguins-eggs",
3
3
  "shortName": "eggs",
4
4
  "description": "A remaster system tool, compatible with Arch, Debian, Devuan, Ubuntu and others",
5
- "version": "10.0.12",
5
+ "version": "10.0.15",
6
6
  "author": "Piero Proietti",
7
7
  "bin": {
8
8
  "eggs": "./bin/run.js"
package/scripts/_eggs CHANGED
@@ -190,9 +190,9 @@ _eggs() {
190
190
  "syncfrom[restore users and user data from a LUKS volumes]" \
191
191
  "syncto[Save users and users' data ENCRYPTED]" \
192
192
  "update[update the Penguins' eggs tool]" \
193
- "autocomplete[Display autocomplete installation instructions.]" \
194
- "help[Display help for eggs.]" \
195
193
  "version[]" \
194
+ "help[Display help for eggs.]" \
195
+ "autocomplete[Display autocomplete installation instructions.]" \
196
196
 
197
197
  ;;
198
198
  args)
@@ -319,7 +319,6 @@ _arguments -S \
319
319
  "(-P --prefix)"{-P,--prefix}"[prefix]:file:_files" \
320
320
  --release"[release: remove penguins-eggs, calamares and dependencies after installation]" \
321
321
  "(-s --script)"{-s,--script}"[script mode. Generate scripts to manage iso build]" \
322
- --sidecar"[add a sidecar folder on your ISO with arbitrary contents]:file:_files" \
323
322
  "(-f --standard)"{-f,--standard}"[standard compression: xz -b 1M]" \
324
323
  --theme"[theme for livecd, calamares branding and partitions]:file:_files" \
325
324
  "(-u --unsecure)"{-u,--unsecure}"[/root contents are included on live]" \
@@ -356,9 +355,10 @@ _arguments -S \
356
355
  "(-v --verbose)"{-v,--verbose}"[verbose]" \
357
356
  --help"[Show help for command]" \
358
357
  "*: :_files" ;;
359
- autocomplete)
358
+ version)
360
359
  _arguments -S \
361
- "(-r --refresh-cache)"{-r,--refresh-cache}"[Refresh cache (ignores displaying instructions)]" \
360
+ --json"[Format output as json.]" \
361
+ --verbose"[Show additional information about the CLI.]" \
362
362
  --help"[Show help for command]" \
363
363
  "*: :_files" ;;
364
364
  help)
@@ -366,10 +366,9 @@ _arguments -S \
366
366
  "(-n --nested-commands)"{-n,--nested-commands}"[Include all nested commands in the output.]" \
367
367
  --help"[Show help for command]" \
368
368
  "*: :_files" ;;
369
- version)
369
+ autocomplete)
370
370
  _arguments -S \
371
- --json"[Format output as json.]" \
372
- --verbose"[Show additional information about the CLI.]" \
371
+ "(-r --refresh-cache)"{-r,--refresh-cache}"[Refresh cache (ignores displaying instructions)]" \
373
372
  --help"[Show help for command]" \
374
373
  "*: :_files" ;;
375
374
  esac
package/scripts/eggs.bash CHANGED
@@ -23,7 +23,7 @@ install --btrfs --chroot --crypted --domain --halt --help --ip --nointeractive -
23
23
  krill --btrfs --chroot --crypted --domain --halt --help --ip --nointeractive --none --pve --random --small --suspend --unattended --verbose
24
24
  kill --help --isos --nointeractive --verbose
25
25
  mom --help
26
- produce --addons --basename --clone --cryptedclone --excludes --help --links --max --noicon --nointeractive --pendrive --prefix --release --script --sidecar --standard --theme --unsecure --verbose --yolk
26
+ produce --addons --basename --clone --cryptedclone --excludes --help --links --max --noicon --nointeractive --pendrive --prefix --release --script --standard --theme --unsecure --verbose --yolk
27
27
  status --help --verbose
28
28
  syncfrom --delete --file --help --rootdir --verbose
29
29
  syncto --excludes --file --help --verbose
@@ -37,9 +37,9 @@ wardrobe:get --help --verbose
37
37
  wardrobe:list --distro --help --verbose
38
38
  wardrobe:show --help --json --verbose --wardrobe
39
39
  wardrobe:wear --help --no_accessories --no_firmwares --verbose --wardrobe
40
- autocomplete --refresh-cache
41
- help --nested-commands
42
40
  version --json --verbose
41
+ help --nested-commands
42
+ autocomplete --refresh-cache
43
43
  "
44
44
 
45
45
  function __trim_colon_commands()