penguins-eggs 9.1.26 → 9.1.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -35
- package/addons/eggs/adapt/applications/eggs-adapt.desktop +1 -1
- package/addons/eggs/adapt/bin/{eggs-adapt.sh → adapt} +1 -0
- package/conf/distros/bionic/calamares/settings.yml +3 -3
- package/conf/distros/buster/calamares/calamares-modules/cleanup/cleanup.sh +12 -0
- package/conf/distros/buster/calamares/calamares-modules/cleanup/module.yml +9 -0
- package/conf/distros/buster/calamares/modules/finished.yml +2 -2
- package/conf/distros/buster/calamares/settings.yml +3 -5
- package/conf/distros/focal/calamares/modules/before_bootloader_context.yml +6 -6
- package/conf/distros/focal/calamares/modules/unpackfs.yml +3 -2
- package/conf/distros/focal/calamares/modules/users.yml +37 -17
- package/conf/distros/focal/calamares/settings.yml +1 -1
- package/conf/distros/jessie/krill/settings.yml +1 -1
- package/conf/distros/rolling/calamares/modules/packages.yml +3 -2
- package/conf/distros/rolling/calamares/settings.yml +3 -3
- package/lib/classes/bleach.js +8 -1
- package/lib/classes/daddy.js +5 -2
- package/lib/classes/distro.js +3 -2
- package/lib/classes/family/archlinux.js +1 -0
- package/lib/classes/family/debian.js +7 -7
- package/lib/classes/incubation/distros/bionic.js +1 -1
- package/lib/classes/incubation/distros/buster.js +1 -2
- package/lib/classes/incubation/distros/focal.js +1 -1
- package/lib/classes/incubation/distros/rolling.js +0 -1
- package/lib/classes/incubation/fisherman-helper/packages.js +5 -2
- package/lib/classes/incubation/incubator.js +1 -0
- package/lib/classes/krill_install.d.ts +0 -1
- package/lib/classes/krill_install.js +13 -13
- package/lib/classes/ovary.js +7 -9
- package/lib/classes/pacman.js +5 -38
- package/lib/classes/users.js +63 -60
- package/lib/classes/utils.js +1 -1
- package/lib/classes/xdg.js +10 -13
- package/lib/classes/yolk.js +1 -1
- package/lib/commands/config.d.ts +1 -1
- package/lib/commands/config.js +7 -5
- package/lib/commands/produce.js +2 -1
- package/lib/commands/syncto.js +8 -8
- package/lib/lib/dependencies.js +4 -13
- package/mkinitcpio/README.md +9 -0
- package/mkinitcpio/garuda/README.md +29 -0
- package/mkinitcpio/manjaro/README.md +15 -0
- package/mkinitcpio/manjaro/mkinitcpio.conf +7 -0
- package/package.json +16 -18
- package/scripts/_eggs +1 -10
- package/scripts/eggs-adapt.sh +5 -0
- package/scripts/eggs.bash +0 -1
- package/conf/distros/buster/calamares/calamares-modules/remove-link/module.yml +0 -9
- package/conf/distros/buster/calamares/calamares-modules/remove-link/remove-link.sh +0 -3
- package/conf/distros/buster/calamares/modules/shellprocess_eggs-cleanup.yml +0 -7
- package/conf/distros/focal/calamares/modules/displaymanager.yml +0 -11
- package/oclif.manifest.json +0 -1
package/README.md
CHANGED
|
@@ -25,31 +25,33 @@ penguins-eggs
|
|
|
25
25
|
<!-- tocstop -->
|
|
26
26
|
|
|
27
27
|
# Presentation
|
|
28
|
-
penguins-eggs is a console utility,
|
|
28
|
+
penguins-eggs is a console utility, under continuous development, that allows you to remaster your system and redistribute it as iso images or via remote boot PXE.
|
|
29
29
|
|
|
30
|
-
The
|
|
30
|
+
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. You can also boot your "egg" via remote booting-on your LAN. You can easily install your live system with the calamares installer or the eggs TUI installer.
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
Also, 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 GUI or server configurations. See [penguins-wardrobe](https://github.com/pieroproietti/penguins-wardrobe), fork it and adapt it to yours needs.
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
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 in the way bash works and the various programs used to build the isos.
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
penguins-eggs, as of May 2022, is a mature tool and is extremely powerful: you can easily create your own custom version of Linux for your organization/school and distribute it on your LAN, give it to your friends as a usb key, or post your images on the Internet!
|
|
37
|
+
|
|
38
|
+
Have no fear, yes eggs is a console utility - without a graphical user interface - but it is really simple - if you are able to open a terminal, you can use it and your end users will enjoy a complete help and fully graphical installation procedure.
|
|
37
39
|
|
|
38
40
|
### mom and dad
|
|
39
|
-
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
|
|
41
|
+
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.
|
|
40
42
|
|
|
41
43
|
### yolk
|
|
42
|
-
yolk so called
|
|
44
|
+
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.
|
|
43
45
|
|
|
44
46
|
### wardrobe
|
|
45
47
|
wardrobe was added to eggs on april 2022, it's is a way to guide and consolidate the process of creating a custom version of Linux, starting from a CLI system. All my personal editions are passed to use wardrobe for their convenience, in that way I can organize, consolidate and manage better my work. I used birds names for my customizations, we have: colibri, duck, eagle, owl, wagtail and warbier.
|
|
46
48
|
|
|
47
49
|
I hope peoples will be interested in wardrobe and you will end to fork the main repository and add your customizations: together will be possibile to make great steps impossible for a single developer.
|
|
48
50
|
|
|
49
|
-
You can read more in wardrobe on [penguin's eggs blog](https://penguins-eggs.net/2022/04/12/wardrobe-colibri-duck-eagle-and-owl/). The
|
|
51
|
+
You can read more in wardrobe on [penguin's eggs blog](https://penguins-eggs.net/2022/04/12/wardrobe-colibri-duck-eagle-and-owl/). The results of mine customizations are mostly under [Debian bullseye](https://sourceforge.net/projects/penguins-eggs/files/iso/debian/bullseye/), [Devuan chimaera](https://sourceforge.net/projects/penguins-eggs/files/iso/devuan/chimaera/) and [Ubuntu jammy](https://sourceforge.net/projects/penguins-eggs/files/iso/ubuntu/jammy/) on my sourgeforce page.
|
|
50
52
|
|
|
51
53
|
### krill
|
|
52
|
-
eggs include a CLI installer named krill, this
|
|
54
|
+
eggs include a CLI 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. To force using krill in place of calamares in a GUI system just: **sudo eggs install --cli**
|
|
53
55
|
|
|
54
56
|
### addons and themes
|
|
55
57
|
Addons are used mostly to let third parties to develop extensions. Note that currently we have an extension for the theme that includes both branding calamares, link and installer icon. In addition, also as an addon has been developed choose between GUI or CLI installation, adapt the video resolution, link to remote support, etc.
|
|
@@ -60,12 +62,11 @@ You can use the backup mode by simply adding --backup in the produce command. Th
|
|
|
60
62
|
* ```eggs produce``` just remove users accounts and home. This let to have working servers examples;
|
|
61
63
|
* ```eggs produce --backup``` remove servers and users data from live, and put them on a LUKS volume.
|
|
62
64
|
|
|
63
|
-
|
|
65
|
+
We have another two commands for backup/restore: ```eggs syncfrom``` and ```eggs syncto```. A working installation, can easily sync users and servers data to a luks-eggs-backup file:
|
|
64
66
|
|
|
65
|
-
A working installation, can easily sync users and servers data to a luks-eggs-backup:
|
|
66
67
|
* ```eggs syncto -f /tmp/luks-eggs-backup``` backup users and servers data to LUKS volume /tmp/luks-eggs-backup:
|
|
67
68
|
|
|
68
|
-
|
|
69
|
+
Or a new installation, can easyly get users and servers data from a luks-eggs-backup:
|
|
69
70
|
* ```eggs syncfrom from -f /tmp/luks-eggs-backup``` restore users and servers data from the LUKS volume /tmp/luks-eggs-backup.
|
|
70
71
|
|
|
71
72
|
**NOTE:**
|
|
@@ -73,17 +74,16 @@ A new installation, can easyly get users and servers data from a luks-eggs-backu
|
|
|
73
74
|
* installing with calamares: when installation is finished, you need to mount the rootdir of your installed system and, give the following command: ```sudo eggs syncfrom -f /path/to/luks-eggs-backup -r /path/to/rootdir```
|
|
74
75
|
* it's possbile actually to change the nest directory, editing configuration file ```/etc/penguins-eggs.d/eggs.yaml```. Example: ```set snapshot_dir: '/opt/eggs/'```, but you can't use the following: /etc, /boot, /usr and /var.
|
|
75
76
|
|
|
76
|
-
**DISCLAIM:** using this
|
|
77
|
-
* ```syncfrom``` replace all users homes and all servers homes with data from the luck-eggs-backup, Force this data in not appropriate system can easily end in a long disaster recovery
|
|
78
|
-
* I want stress you again on the fact we are working with a **live filesystem** mounted binded to the **REAL filesystem**. This mean who removing a directory under the nest, usually ```/nest/ovarium/filesystem.squashfs```, mean remove it from the REAL filesystem. So, if something went wrong during the iso production and You remain with live filesystem again binded, the shortest way to solve the problem is simply reboot.
|
|
77
|
+
**DISCLAIM:** using this feathures in non appropriate way can be dangerous for your data:
|
|
78
|
+
* ```syncfrom``` replace all users homes and all servers homes with data from the luck-eggs-backup file, Force this data in a not appropriate system can easily end in a long disaster recovery.
|
|
79
79
|
|
|
80
80
|
## What distributions can I use?
|
|
81
|
-
eggs was born on Debian strecth
|
|
81
|
+
eggs was born on Debian strecth, buster and following, actually full support Debian from jessie to bookworm/sid, Devuan beowulf, chimaera, daedalus, Ubuntu bionic, focal, jammy and all derivatives from them, including Linux mint, Deepin, neon KDE, etc. Eggs is able to remaster and install manjaro linux too and derivated, i need help to continue the effort to manjaro.
|
|
82
82
|
|
|
83
83
|
You can read more on the [blog](https://penguins-eggs.net/2021/11/02/distros-that-can-be-remastered-with-eggs/), some examples of iso images remastered with eggs are in the [sourceforge page of the project](https://sourceforge.net/projects/penguins-eggs/files/iso/).
|
|
84
84
|
|
|
85
85
|
## What architecture can I use?
|
|
86
|
-
|
|
86
|
+
Eggs, can be released for differents architectures: **amd64**, **arm64** and **armel**. Actually I'm producing mainly for PCs (amd64) and armel. Someone want to contribute to bring eggs on [raspberrypi](https://www.raspberrypi.org/)?
|
|
87
87
|
|
|
88
88
|
# Packages
|
|
89
89
|
eggs is released deb packages for i386, 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.
|
|
@@ -108,7 +108,7 @@ Update your repositories: **sudo apt update** and install eggs: **sudo apt insta
|
|
|
108
108
|
The simplest way to install eggs is download the [package eggs](https://sourceforge.net/projects/penguins-eggs/files/packages-deb/) from [sourceforge page of the project](https://sourceforge.net/projects/penguins-eggs/) and install it
|
|
109
109
|
|
|
110
110
|
```
|
|
111
|
-
sudo dpkg -i eggs_9.1.
|
|
111
|
+
sudo dpkg -i eggs_9.1.26_amd64.deb
|
|
112
112
|
```
|
|
113
113
|
|
|
114
114
|
or, on a i386 system:
|
|
@@ -132,7 +132,7 @@ $ npm install -g penguins-eggs
|
|
|
132
132
|
$ eggs COMMAND
|
|
133
133
|
running command...
|
|
134
134
|
$ eggs (--version|-v)
|
|
135
|
-
penguins-eggs/9.1.
|
|
135
|
+
penguins-eggs/9.1.31 linux-x64 node-v16.15.1
|
|
136
136
|
$ eggs --help [COMMAND]
|
|
137
137
|
USAGE
|
|
138
138
|
$ eggs COMMAND
|
|
@@ -188,7 +188,7 @@ DESCRIPTION
|
|
|
188
188
|
adapt monitor resolution for VM only
|
|
189
189
|
```
|
|
190
190
|
|
|
191
|
-
_See code: [src/commands/adapt.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.
|
|
191
|
+
_See code: [src/commands/adapt.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.31/src/commands/adapt.ts)_
|
|
192
192
|
|
|
193
193
|
## `eggs analyze`
|
|
194
194
|
|
|
@@ -209,7 +209,7 @@ EXAMPLES
|
|
|
209
209
|
$ sudo eggs analyze
|
|
210
210
|
```
|
|
211
211
|
|
|
212
|
-
_See code: [src/commands/analyze.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.
|
|
212
|
+
_See code: [src/commands/analyze.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.31/src/commands/analyze.ts)_
|
|
213
213
|
|
|
214
214
|
## `eggs autocomplete [SHELL]`
|
|
215
215
|
|
|
@@ -267,7 +267,7 @@ EXAMPLES
|
|
|
267
267
|
install calamares and create it's configuration's files
|
|
268
268
|
```
|
|
269
269
|
|
|
270
|
-
_See code: [src/commands/calamares.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.
|
|
270
|
+
_See code: [src/commands/calamares.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.31/src/commands/calamares.ts)_
|
|
271
271
|
|
|
272
272
|
## `eggs config`
|
|
273
273
|
|
|
@@ -291,7 +291,7 @@ EXAMPLES
|
|
|
291
291
|
Configure and install prerequisites deb packages to run it
|
|
292
292
|
```
|
|
293
293
|
|
|
294
|
-
_See code: [src/commands/config.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.
|
|
294
|
+
_See code: [src/commands/config.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.31/src/commands/config.ts)_
|
|
295
295
|
|
|
296
296
|
## `eggs dad`
|
|
297
297
|
|
|
@@ -311,7 +311,7 @@ DESCRIPTION
|
|
|
311
311
|
ask help from daddy - configuration helper
|
|
312
312
|
```
|
|
313
313
|
|
|
314
|
-
_See code: [src/commands/dad.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.
|
|
314
|
+
_See code: [src/commands/dad.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.31/src/commands/dad.ts)_
|
|
315
315
|
|
|
316
316
|
## `eggs export deb`
|
|
317
317
|
|
|
@@ -402,7 +402,7 @@ DESCRIPTION
|
|
|
402
402
|
informations about eggs configuration
|
|
403
403
|
```
|
|
404
404
|
|
|
405
|
-
_See code: [src/commands/info.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.
|
|
405
|
+
_See code: [src/commands/info.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.31/src/commands/info.ts)_
|
|
406
406
|
|
|
407
407
|
## `eggs install`
|
|
408
408
|
|
|
@@ -427,7 +427,7 @@ EXAMPLES
|
|
|
427
427
|
Install the system using GUI or CLI installer
|
|
428
428
|
```
|
|
429
429
|
|
|
430
|
-
_See code: [src/commands/install.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.
|
|
430
|
+
_See code: [src/commands/install.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.31/src/commands/install.ts)_
|
|
431
431
|
|
|
432
432
|
## `eggs kill`
|
|
433
433
|
|
|
@@ -449,7 +449,7 @@ EXAMPLES
|
|
|
449
449
|
kill the eggs/free the nest
|
|
450
450
|
```
|
|
451
451
|
|
|
452
|
-
_See code: [src/commands/kill.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.
|
|
452
|
+
_See code: [src/commands/kill.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.31/src/commands/kill.ts)_
|
|
453
453
|
|
|
454
454
|
## `eggs mom`
|
|
455
455
|
|
|
@@ -466,7 +466,7 @@ DESCRIPTION
|
|
|
466
466
|
ask for mommy - gui helper
|
|
467
467
|
```
|
|
468
468
|
|
|
469
|
-
_See code: [src/commands/mom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.
|
|
469
|
+
_See code: [src/commands/mom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.31/src/commands/mom.ts)_
|
|
470
470
|
|
|
471
471
|
## `eggs produce`
|
|
472
472
|
|
|
@@ -527,7 +527,7 @@ EXAMPLES
|
|
|
527
527
|
in /home/eggs/ovarium and you can customize all you need
|
|
528
528
|
```
|
|
529
529
|
|
|
530
|
-
_See code: [src/commands/produce.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.
|
|
530
|
+
_See code: [src/commands/produce.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.31/src/commands/produce.ts)_
|
|
531
531
|
|
|
532
532
|
## `eggs remove`
|
|
533
533
|
|
|
@@ -557,7 +557,7 @@ EXAMPLES
|
|
|
557
557
|
remove eggs, eggs configurations, packages dependencies
|
|
558
558
|
```
|
|
559
559
|
|
|
560
|
-
_See code: [src/commands/remove.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.
|
|
560
|
+
_See code: [src/commands/remove.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.31/src/commands/remove.ts)_
|
|
561
561
|
|
|
562
562
|
## `eggs syncfrom`
|
|
563
563
|
|
|
@@ -581,11 +581,11 @@ EXAMPLES
|
|
|
581
581
|
$ sudo eggs restore
|
|
582
582
|
```
|
|
583
583
|
|
|
584
|
-
_See code: [src/commands/syncfrom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.
|
|
584
|
+
_See code: [src/commands/syncfrom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.31/src/commands/syncfrom.ts)_
|
|
585
585
|
|
|
586
586
|
## `eggs syncto`
|
|
587
587
|
|
|
588
|
-
|
|
588
|
+
saving users' datas and accounts on LUKS volume
|
|
589
589
|
|
|
590
590
|
```
|
|
591
591
|
USAGE
|
|
@@ -598,13 +598,13 @@ FLAGS
|
|
|
598
598
|
--delete=<value> rsync --delete delete extraneous files from dest dirs
|
|
599
599
|
|
|
600
600
|
DESCRIPTION
|
|
601
|
-
|
|
601
|
+
saving users' datas and accounts on LUKS volume
|
|
602
602
|
|
|
603
603
|
EXAMPLES
|
|
604
604
|
$ sudo eggs syncto
|
|
605
605
|
```
|
|
606
606
|
|
|
607
|
-
_See code: [src/commands/syncto.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.
|
|
607
|
+
_See code: [src/commands/syncto.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.31/src/commands/syncto.ts)_
|
|
608
608
|
|
|
609
609
|
## `eggs tools clean`
|
|
610
610
|
|
|
@@ -699,7 +699,7 @@ EXAMPLES
|
|
|
699
699
|
update/upgrade the penguin's eggs tool
|
|
700
700
|
```
|
|
701
701
|
|
|
702
|
-
_See code: [src/commands/update.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.
|
|
702
|
+
_See code: [src/commands/update.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.1.31/src/commands/update.ts)_
|
|
703
703
|
|
|
704
704
|
## `eggs version`
|
|
705
705
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# Syntax is YAML 1.2
|
|
4
4
|
---
|
|
5
5
|
# "local" is LIBDIR/calamares/modules with settings in SHARE/calamares/modules
|
|
6
|
-
modules-search: [local, /usr/lib/calamares/modules]
|
|
6
|
+
modules-search: [local, /usr/lib/calamares/modules, /usr/lib/x86_64-linux-gnu/calamares/modules]
|
|
7
7
|
|
|
8
8
|
sequence:
|
|
9
9
|
- show:
|
|
@@ -18,7 +18,7 @@ sequence:
|
|
|
18
18
|
- mount
|
|
19
19
|
- unpackfs
|
|
20
20
|
- sources-yolk
|
|
21
|
-
|
|
21
|
+
{{hasSystemd}}machineid
|
|
22
22
|
- fstab
|
|
23
23
|
- locale
|
|
24
24
|
- keyboard
|
|
@@ -39,8 +39,8 @@ sequence:
|
|
|
39
39
|
- add386arch
|
|
40
40
|
- packages
|
|
41
41
|
- removeuser
|
|
42
|
-
- remove-link
|
|
43
42
|
- sources-yolk-unmount
|
|
43
|
+
- cleanup
|
|
44
44
|
- umount
|
|
45
45
|
- show:
|
|
46
46
|
- finished
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
|
|
3
|
+
|
|
4
|
+
if [ -f "$CHROOT"/etc/motd ]; then
|
|
5
|
+
sed -i '/^eggs-start-message/,/^\eggs-end-message/{/^#/!{/^\$/!d;};}' "$CHROOT"/etc/motd
|
|
6
|
+
fi
|
|
7
|
+
|
|
8
|
+
if [ -f "$CHROOT"/etc/issue ]; then
|
|
9
|
+
sed -i '/^eggs-start-message/,/^\eggs-end-message/{/^#/!{/^\$/!d;};}' "$CHROOT"/etc/issue
|
|
10
|
+
fi
|
|
11
|
+
|
|
12
|
+
rm -r $CHROOT/usr/share/applications/install-debian.desktop
|
|
@@ -38,9 +38,9 @@ disable-cancel-during-exec: false
|
|
|
38
38
|
quit-at-end: false
|
|
39
39
|
|
|
40
40
|
instances:
|
|
41
|
-
- id:
|
|
41
|
+
- id: cleanup
|
|
42
42
|
module: shellprocess
|
|
43
|
-
config:
|
|
43
|
+
config: shellprocess_cleanup.conf
|
|
44
44
|
|
|
45
45
|
sequence:
|
|
46
46
|
# Phase 1 - prepare.
|
|
@@ -87,9 +87,8 @@ sequence:
|
|
|
87
87
|
- initramfs
|
|
88
88
|
# dpkg-unsafe-io-undo
|
|
89
89
|
- removeuser
|
|
90
|
-
- shellprocess@eggs-cleanup
|
|
91
|
-
- remove-link
|
|
92
90
|
- sources-yolk-unmount
|
|
91
|
+
- cleanup
|
|
93
92
|
- umount
|
|
94
93
|
|
|
95
94
|
# Phase 3 - postinstall.
|
|
@@ -129,4 +128,3 @@ prompt-install: false
|
|
|
129
128
|
#
|
|
130
129
|
# YAML: boolean.
|
|
131
130
|
dont-chroot: false
|
|
132
|
-
|
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
firmwareType:
|
|
8
8
|
bios: "-/bin/true"
|
|
9
9
|
"*":
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
#- command: apt-cdrom add -m -d=/media/cdrom/
|
|
11
|
+
# timeout: 10
|
|
12
|
+
#- command: sed -i '/deb http/d' /etc/apt/sources.list
|
|
13
|
+
# timeout: 10
|
|
14
14
|
- command: apt-get update
|
|
15
15
|
timeout: 120
|
|
16
|
-
- command: apt install -y --no-upgrade -o Acquire::gpgv::Options::=--ignore-time-conflict grub-efi-$(if grep -q 64 /sys/firmware/efi/fw_platform_size; then echo amd64-signed; else echo ia32; fi)
|
|
16
|
+
- command: apt-get install -y --no-upgrade -o Acquire::gpgv::Options::=--ignore-time-conflict grub-efi-$(if grep -q 64 /sys/firmware/efi/fw_platform_size; then echo amd64-signed; else echo ia32; fi)
|
|
17
17
|
timeout: 300
|
|
18
|
-
- command: apt install -y --no-upgrade -o Acquire::gpgv::Options::=--ignore-time-conflict shim-signed
|
|
18
|
+
- command: apt-get install -y --no-upgrade -o Acquire::gpgv::Options::=--ignore-time-conflict shim-signed
|
|
19
19
|
timeout: 300
|
|
@@ -1,21 +1,41 @@
|
|
|
1
|
-
# Ubuntu jammy 22.04
|
|
1
|
+
# Ubuntu jammy 22.04 - take values from buster
|
|
2
2
|
---
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
sudoersGroup: sudo
|
|
3
|
+
|
|
4
|
+
userGroup: users
|
|
6
5
|
defaultGroups:
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
6
|
+
- cdrom
|
|
7
|
+
- floppy
|
|
8
|
+
- sudo
|
|
9
|
+
- audio
|
|
10
|
+
- dip
|
|
11
|
+
- video
|
|
12
|
+
- plugdev
|
|
13
|
+
- netdev
|
|
14
|
+
- lpadmin
|
|
15
|
+
- scanner
|
|
16
|
+
- bluetooth
|
|
17
|
+
autologinGroup: autologin
|
|
18
|
+
sudoersGroup: sudo
|
|
19
|
+
setRootPassword: false
|
|
20
|
+
# doReusePassword: false
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
# doAutologin: false
|
|
24
|
+
# setRootPassword: false
|
|
25
|
+
# sudoersGroup: sudo
|
|
26
|
+
# defaultGroups:
|
|
27
|
+
# - adm
|
|
28
|
+
# - cdrom
|
|
29
|
+
# - dip
|
|
30
|
+
# - lpadmin
|
|
31
|
+
# - plugdev
|
|
32
|
+
# - name: sambashare
|
|
33
|
+
# - must_exist: false
|
|
34
|
+
# system: true
|
|
35
|
+
# - sudo
|
|
36
|
+
# passwordRequirements:
|
|
37
|
+
# minLength: 0
|
|
38
|
+
# maxLength: 0
|
|
19
39
|
# Explicitly set the shell instead of deferring to Calamares. We have a platform
|
|
20
40
|
# expectation derived from Ubuntu here.
|
|
21
|
-
userShell: /bin/bash
|
|
41
|
+
# userShell: /bin/bash
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
modules-search: [local, /usr/lib/calamares/modules, /usr/share/calamares]
|
|
5
5
|
|
|
6
6
|
instances:
|
|
7
|
-
- id:
|
|
7
|
+
- id: cleanup
|
|
8
8
|
module: shellprocess
|
|
9
|
-
config:
|
|
9
|
+
config: shellprocess_cleanup.conf
|
|
10
10
|
|
|
11
11
|
sequence:
|
|
12
12
|
# Phase 1 - prepare.
|
|
@@ -51,7 +51,7 @@ sequence:
|
|
|
51
51
|
#- initramfscfg
|
|
52
52
|
#- initramfs
|
|
53
53
|
- removeuser
|
|
54
|
-
#- shellprocess@
|
|
54
|
+
#- shellprocess@cleanup
|
|
55
55
|
#- remove-link
|
|
56
56
|
#- sources-yolk-unmount
|
|
57
57
|
- umount
|
package/lib/classes/bleach.js
CHANGED
|
@@ -12,6 +12,7 @@ const node_fs_1 = tslib_1.__importDefault(require("node:fs"));
|
|
|
12
12
|
const utils_1 = tslib_1.__importDefault(require("./utils"));
|
|
13
13
|
// libraries
|
|
14
14
|
const utils_2 = require("../lib/utils");
|
|
15
|
+
const distro_1 = tslib_1.__importDefault(require("./distro"));
|
|
15
16
|
/**
|
|
16
17
|
* Bleach:
|
|
17
18
|
*/
|
|
@@ -21,7 +22,13 @@ class Bleach {
|
|
|
21
22
|
* @param verbose
|
|
22
23
|
*/
|
|
23
24
|
async clean(verbose = false) {
|
|
24
|
-
|
|
25
|
+
const distro = new distro_1.default();
|
|
26
|
+
if (distro.distroLike === 'Debian' || distro.distroLike === 'Devuan' || (distro.distroLike === 'Ubuntu')) {
|
|
27
|
+
await this.cleanApt(verbose);
|
|
28
|
+
}
|
|
29
|
+
else if (distro.distroLike === 'Arch') {
|
|
30
|
+
await (0, utils_2.exec)('paccache -ruk0');
|
|
31
|
+
}
|
|
25
32
|
await this.cleanHistory(verbose);
|
|
26
33
|
await this.cleanJournal(verbose);
|
|
27
34
|
await this.cleanSystemCache(verbose);
|
package/lib/classes/daddy.js
CHANGED
|
@@ -83,8 +83,11 @@ class Daddy {
|
|
|
83
83
|
}
|
|
84
84
|
case 'max': {
|
|
85
85
|
const filter = 'x86';
|
|
86
|
-
if (process.arch === '
|
|
87
|
-
const filter = 'ARM';
|
|
86
|
+
if (process.arch === 'arm') {
|
|
87
|
+
const filter = 'ARM'; // to check
|
|
88
|
+
}
|
|
89
|
+
else if (process.arch === 'arm64') {
|
|
90
|
+
const filter = 'ARM64'; // to check
|
|
88
91
|
}
|
|
89
92
|
config.compression = 'xz -Xbcj ' + filter;
|
|
90
93
|
break;
|
package/lib/classes/distro.js
CHANGED
|
@@ -245,10 +245,11 @@ class Distro {
|
|
|
245
245
|
case 'ulyana':
|
|
246
246
|
case 'ulyssa':
|
|
247
247
|
case 'uma':
|
|
248
|
-
case 'una':
|
|
248
|
+
case 'una':
|
|
249
|
+
case 'vanessa': {
|
|
249
250
|
// LinuxMint 20.x
|
|
250
251
|
this.distroLike = 'Ubuntu';
|
|
251
|
-
this.codenameLikeId = '
|
|
252
|
+
this.codenameLikeId = 'jammy';
|
|
252
253
|
break;
|
|
253
254
|
}
|
|
254
255
|
case 'debbie': {
|
|
@@ -36,6 +36,7 @@ class Archlinux {
|
|
|
36
36
|
* Crea array pacchetti da installare/rimuovere
|
|
37
37
|
*/
|
|
38
38
|
static packages(remove = false, verbose = false) {
|
|
39
|
+
// non può essere pacman è universalmente presente
|
|
39
40
|
const packages = ['arch-install-scripts', 'awk', 'dosfstools', 'e2fsprogs', 'erofs-utils', 'findutils', 'gzip', 'libarchive', 'libisoburn', 'mtools', 'openssl', 'pacman', 'rsync', 'sed', 'syslinux', 'squashfs-tools'];
|
|
40
41
|
const toInstall = [];
|
|
41
42
|
const toRemove = [];
|
|
@@ -24,13 +24,13 @@ class Debian {
|
|
|
24
24
|
*/
|
|
25
25
|
static isInstalledXorg() {
|
|
26
26
|
let test = 'xserver-xorg-core';
|
|
27
|
-
if (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
27
|
+
// if (Pacman.distro().codenameLikeId === 'bionic') {
|
|
28
|
+
/*
|
|
29
|
+
* BUT_ on Ubuntu bionic we have:
|
|
30
|
+
* xserver-xorg-core-hwe-18.04
|
|
31
|
+
*/
|
|
32
|
+
// test = 'xserver-xorg-core-hwe-18.04'
|
|
33
|
+
//}
|
|
34
34
|
return this.packageIsInstalled(test);
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
@@ -59,8 +59,8 @@ 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('remove-link', true);
|
|
63
62
|
await fisherman.buildCalamaresModule('sources-yolk-unmount', false);
|
|
63
|
+
await fisherman.buildCalamaresModule('cleanup', true);
|
|
64
64
|
await fisherman.buildModule('umount');
|
|
65
65
|
await fisherman.buildModule('finished');
|
|
66
66
|
}
|
|
@@ -61,12 +61,11 @@ class Buster {
|
|
|
61
61
|
await fisherman.buildModule('plymouthcfg');
|
|
62
62
|
await fisherman.buildModule('initramfscfg');
|
|
63
63
|
await fisherman.buildModule('initramfs');
|
|
64
|
-
await fisherman.shellprocess('eggs-cleanup');
|
|
65
64
|
await fisherman.moduleRemoveuser(this.user_opt);
|
|
66
65
|
await fisherman.buildCalamaresModule('dpkg-unsafe-io-undo', false);
|
|
67
66
|
await fisherman.buildCalamaresModule('sources-yolk-unmount', false);
|
|
67
|
+
await fisherman.buildCalamaresModule('cleanup', true);
|
|
68
68
|
await fisherman.buildModule('umount');
|
|
69
|
-
await fisherman.buildCalamaresModule('remove-link');
|
|
70
69
|
await fisherman.moduleFinished();
|
|
71
70
|
}
|
|
72
71
|
}
|
|
@@ -62,9 +62,9 @@ class Focal {
|
|
|
62
62
|
await fisherman.shellprocess('add386arch');
|
|
63
63
|
await fisherman.modulePackages(this.distro, this.release); //
|
|
64
64
|
await fisherman.moduleRemoveuser(this.user_opt);
|
|
65
|
-
await fisherman.buildCalamaresModule('remove-link', true);
|
|
66
65
|
await fisherman.buildCalamaresModule('sources-yolk', false);
|
|
67
66
|
await fisherman.buildCalamaresModule('sources-yolk-unmount', false);
|
|
67
|
+
await fisherman.buildCalamaresModule('cleanup', true);
|
|
68
68
|
await fisherman.buildModule('umount');
|
|
69
69
|
await fisherman.buildModule('finished');
|
|
70
70
|
}
|
|
@@ -60,7 +60,6 @@ class Rolling {
|
|
|
60
60
|
await fisherman.buildModule('plymouthcfg');
|
|
61
61
|
// await fisherman.buildModule('initramfscfg')
|
|
62
62
|
// await fisherman.buildModule('initramfs')
|
|
63
|
-
// await fisherman.shellprocess('eggs-cleanup')
|
|
64
63
|
await fisherman.moduleRemoveuser(this.user_opt);
|
|
65
64
|
// await fisherman.buildCalamaresModule('sources-yolk-unmount', false)
|
|
66
65
|
// await fisherman.buildCalamaresModule('remove-link')
|