penguins-eggs 9.0.2 → 9.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/README.md +123 -25
  2. package/addons/eggs/theme/calamares/branding/show.qml +1 -1
  3. package/addons/eggs/theme/livecd/README.md +13 -15
  4. package/addons/eggs/theme/livecd/grub.theme.cfg +12 -15
  5. package/addons/eggs/theme/livecd/splash.png +0 -0
  6. package/addons/neon/theme/livecd/grub.theme.cfg +12 -15
  7. package/addons/neon/theme/livecd/splash.png +0 -0
  8. package/addons/templates/grub.template +30 -0
  9. package/addons/{neon/theme/livecd/isolinux.template.cfg → templates/isolinux.template} +7 -7
  10. package/addons/{blissos → waydroid}/theme/applications/install-debian.desktop +0 -0
  11. package/addons/{blissos → waydroid}/theme/artwork/install-debian.png +0 -0
  12. package/addons/{blissos → waydroid}/theme/calamares/branding/branding.desc +0 -0
  13. package/addons/{blissos → waydroid}/theme/calamares/branding/languages.png +0 -0
  14. package/addons/{blissos → waydroid}/theme/calamares/branding/show.qml +0 -0
  15. package/addons/{blissos → waydroid}/theme/calamares/branding/slide1.png +0 -0
  16. package/addons/{blissos → waydroid}/theme/calamares/branding/slide2.png +0 -0
  17. package/addons/{blissos → waydroid}/theme/calamares/branding/slide3.png +0 -0
  18. package/addons/{blissos/theme/calamares/branding/blissos-logo.png → waydroid/theme/calamares/branding/waydroid-logo.png} +0 -0
  19. package/addons/{blissos → waydroid}/theme/calamares/branding/welcome.png +0 -0
  20. package/addons/{blissos → waydroid}/theme/calamares/modules/partition.yml +0 -0
  21. package/addons/{guadalinex/theme/livecd/isolinux.theme.cfg → waydroid/theme/livecd/grub.theme.cfg} +9 -8
  22. package/addons/{debian → waydroid}/theme/livecd/isolinux.theme.cfg +1 -1
  23. package/addons/{blissos → waydroid}/theme/livecd/splash.png +0 -0
  24. package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +1 -1
  25. package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.working.sh +1 -1
  26. package/conf/distros/jessie/krill/krill-modules/sources-yolk/sources-yolk.sh +1 -1
  27. package/conf/eggs.yaml +2 -2
  28. package/conf/exclude.list +10 -3
  29. package/lib/classes/daddy.js +6 -0
  30. package/lib/classes/distro.js +26 -1
  31. package/lib/classes/family/archlinux.js +2 -1
  32. package/lib/classes/incubation/incubator.js +5 -0
  33. package/lib/classes/krill_install.d.ts +52 -29
  34. package/lib/classes/krill_install.js +471 -199
  35. package/lib/classes/krill_prepare.d.ts +11 -3
  36. package/lib/classes/krill_prepare.js +41 -7
  37. package/lib/classes/ovary.d.ts +5 -14
  38. package/lib/classes/ovary.js +166 -179
  39. package/lib/classes/pacman.js +10 -4
  40. package/lib/classes/settings.js +1 -1
  41. package/lib/classes/users.d.ts +21 -0
  42. package/lib/classes/users.js +129 -0
  43. package/lib/classes/utils.d.ts +1 -1
  44. package/lib/classes/utils.js +1 -1
  45. package/lib/classes/xdg.js +21 -4
  46. package/lib/classes/yolk.js +2 -2
  47. package/lib/commands/analyze.d.ts +25 -0
  48. package/lib/commands/analyze.js +74 -0
  49. package/lib/commands/export/iso.js +1 -1
  50. package/lib/commands/install.d.ts +2 -0
  51. package/lib/commands/install.js +19 -3
  52. package/lib/commands/kill.js +1 -1
  53. package/lib/commands/produce.js +7 -2
  54. package/lib/commands/syncfrom.d.ts +37 -0
  55. package/lib/commands/syncfrom.js +156 -0
  56. package/lib/commands/syncto.d.ts +48 -0
  57. package/lib/commands/syncto.js +219 -0
  58. package/lib/commands/tools/yolk.js +1 -1
  59. package/lib/components/partitions.js +0 -1
  60. package/lib/interfaces/i-analyze.d.ts +13 -0
  61. package/lib/interfaces/i-analyze.js +18 -0
  62. package/lib/interfaces/i-devices.d.ts +1 -0
  63. package/lib/lib/cli-autologin.js +8 -3
  64. package/lib/lib/get_password.js +1 -0
  65. package/lib/lib/select_installation_mode.js +1 -1
  66. package/manpages/doc/man/eggs.html +567 -0
  67. package/manpages/doc/man/eggs.roll.gz +0 -0
  68. package/oclif.manifest.json +1 -1
  69. package/package.json +21 -20
  70. package/scripts/_eggs +276 -0
  71. package/scripts/eggs.bash +5 -2
  72. package/scripts/mom-cli.sh +6 -5
  73. package/scripts/{not-used/pve-live.sh → pve-live.sh} +0 -0
  74. package/addons/blissos/theme/livecd/README.md +0 -23
  75. package/addons/blissos/theme/livecd/grub.template.cfg +0 -34
  76. package/addons/blissos/theme/livecd/grub.theme.cfg +0 -46
  77. package/addons/blissos/theme/livecd/isolinux.template.cfg +0 -29
  78. package/addons/blissos/theme/livecd/isolinux.theme.cfg +0 -45
  79. package/addons/debian/theme/README.md +0 -23
  80. package/addons/debian/theme/applications/install-debian.desktop +0 -13
  81. package/addons/debian/theme/artwork/install-debian.png +0 -0
  82. package/addons/debian/theme/calamares/branding/branding.desc +0 -27
  83. package/addons/debian/theme/calamares/branding/debian-logo.png +0 -0
  84. package/addons/debian/theme/calamares/branding/show.qml +0 -51
  85. package/addons/debian/theme/calamares/branding/slide1.png +0 -0
  86. package/addons/debian/theme/calamares/branding/welcome.png +0 -0
  87. package/addons/debian/theme/calamares/modules/partition.yml +0 -233
  88. package/addons/debian/theme/livecd/README.md +0 -23
  89. package/addons/debian/theme/livecd/grub.template.cfg +0 -34
  90. package/addons/debian/theme/livecd/grub.theme.cfg +0 -46
  91. package/addons/debian/theme/livecd/isolinux.template.cfg +0 -30
  92. package/addons/debian/theme/livecd/splash.png +0 -0
  93. package/addons/deblinux/theme/README.md +0 -23
  94. package/addons/deblinux/theme/applications/install-debian.desktop +0 -13
  95. package/addons/deblinux/theme/artwork/install-debian.png +0 -0
  96. package/addons/deblinux/theme/calamares/branding/branding.desc +0 -23
  97. package/addons/deblinux/theme/calamares/branding/deblinux-logo.png +0 -0
  98. package/addons/deblinux/theme/calamares/branding/show.qml +0 -46
  99. package/addons/deblinux/theme/calamares/branding/slide1.png +0 -0
  100. package/addons/deblinux/theme/calamares/branding/welcome.png +0 -0
  101. package/addons/deblinux/theme/calamares/modules/partition.yml +0 -233
  102. package/addons/eggs/theme/calamares/branding/4tation.png +0 -0
  103. package/addons/eggs/theme/livecd/grub.template.cfg +0 -34
  104. package/addons/eggs/theme/livecd/isolinux.template.cfg +0 -29
  105. package/addons/guadalinex/theme/README.md +0 -9
  106. package/addons/guadalinex/theme/applications/install-debian.desktop +0 -28
  107. package/addons/guadalinex/theme/artwork/install-debian.png +0 -0
  108. package/addons/guadalinex/theme/calamares/branding/branding.desc +0 -1
  109. package/addons/guadalinex/theme/calamares/branding/guadalinex-logo.png +0 -0
  110. package/addons/guadalinex/theme/calamares/branding/show.qml +0 -85
  111. package/addons/guadalinex/theme/calamares/branding/slide1.png +0 -0
  112. package/addons/guadalinex/theme/calamares/branding/slide2.png +0 -0
  113. package/addons/guadalinex/theme/calamares/branding/slide3.png +0 -0
  114. package/addons/guadalinex/theme/calamares/branding/slide4.png +0 -0
  115. package/addons/guadalinex/theme/calamares/branding/slide5.png +0 -0
  116. package/addons/guadalinex/theme/calamares/branding/slide6.png +0 -0
  117. package/addons/guadalinex/theme/calamares/branding/slide7.png +0 -0
  118. package/addons/guadalinex/theme/calamares/branding/welcome.png +0 -0
  119. package/addons/guadalinex/theme/calamares/modules/partition.yml +0 -233
  120. package/addons/guadalinex/theme/livecd/README.md +0 -23
  121. package/addons/guadalinex/theme/livecd/isolinux.template.cfg +0 -63
  122. package/addons/guadalinex/theme/livecd/splash.png +0 -0
  123. package/addons/neon/theme/livecd/README.md +0 -23
  124. package/addons/neon/theme/livecd/grub.template.cfg +0 -34
  125. package/addons/neon/theme/livecd/splash.pcx +0 -0
  126. package/addons/openos/theme/applications/Install-OpenOS-Neon_RLTS-Desktop.png +0 -0
  127. package/addons/openos/theme/applications/install-debian.desktop +0 -24
  128. package/addons/openos/theme/artwork/install-debian.png +0 -0
  129. package/addons/openos/theme/calamares/branding/branding.desc +0 -28
  130. package/addons/openos/theme/calamares/branding/openos-logo.png +0 -0
  131. package/addons/openos/theme/calamares/branding/show.qml +0 -203
  132. package/addons/openos/theme/calamares/branding/slide1.png +0 -0
  133. package/addons/openos/theme/calamares/branding/slide10.png +0 -0
  134. package/addons/openos/theme/calamares/branding/slide11.png +0 -0
  135. package/addons/openos/theme/calamares/branding/slide12.png +0 -0
  136. package/addons/openos/theme/calamares/branding/slide13.png +0 -0
  137. package/addons/openos/theme/calamares/branding/slide14.png +0 -0
  138. package/addons/openos/theme/calamares/branding/slide15.png +0 -0
  139. package/addons/openos/theme/calamares/branding/slide16.png +0 -0
  140. package/addons/openos/theme/calamares/branding/slide2.png +0 -0
  141. package/addons/openos/theme/calamares/branding/slide3.png +0 -0
  142. package/addons/openos/theme/calamares/branding/slide4.png +0 -0
  143. package/addons/openos/theme/calamares/branding/slide5.png +0 -0
  144. package/addons/openos/theme/calamares/branding/slide6.png +0 -0
  145. package/addons/openos/theme/calamares/branding/slide7.png +0 -0
  146. package/addons/openos/theme/calamares/branding/slide8.png +0 -0
  147. package/addons/openos/theme/calamares/branding/slide9.png +0 -0
  148. package/addons/openos/theme/calamares/branding/welcome.png +0 -0
  149. package/addons/openos/theme/calamares/branding.desc +0 -24
  150. package/addons/openos/theme/calamares/lang/calamares-default_ar.qm +0 -0
  151. package/addons/openos/theme/calamares/lang/calamares-default_en.qm +0 -0
  152. package/addons/openos/theme/calamares/lang/calamares-default_eo.qm +0 -0
  153. package/addons/openos/theme/calamares/lang/calamares-default_fr.qm +0 -0
  154. package/addons/openos/theme/calamares/lang/calamares-default_nl.qm +0 -0
  155. package/addons/openos/theme/calamares/modules/partition.yml +0 -233
  156. package/addons/openos/theme/livecd/README.md +0 -23
  157. package/addons/openos/theme/livecd/grub.template.cfg +0 -60
  158. package/addons/openos/theme/livecd/grub.theme.cfg +0 -42
  159. package/addons/openos/theme/livecd/isolinux.template.cfg +0 -62
  160. package/addons/openos/theme/livecd/isolinux.theme.cfg +0 -45
  161. package/addons/openos/theme/livecd/splash.png +0 -0
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ /**
5
+ * penguins-eggs-v9
6
+ * author: Piero Proietti
7
+ * email: piero.proietti@gmail.com
8
+ * license: MIT
9
+ */
10
+ const core_1 = require("@oclif/core");
11
+ const fs = require("fs");
12
+ const path = require("path");
13
+ const utils_1 = (0, tslib_1.__importDefault)(require("../classes/utils"));
14
+ const utils_2 = require("../lib/utils");
15
+ // backup
16
+ const promises_1 = require("fs/promises");
17
+ const fs_1 = require("fs");
18
+ const users_1 = (0, tslib_1.__importDefault)(require("../classes/users"));
19
+ class Syncto extends core_1.Command {
20
+ constructor() {
21
+ super(...arguments);
22
+ this.luksName = 'luks-eggs-backup';
23
+ this.luksFile = `/run/live/medium/live/${this.luksName}`;
24
+ this.luksDevice = `/dev/mapper/${this.luksName}`;
25
+ this.luksMountpoint = '/tmp/eggs-backup';
26
+ }
27
+ /**
28
+ *
29
+ */
30
+ async run() {
31
+ const { flags } = await this.parse(Syncto);
32
+ let verbose = false;
33
+ if (flags.verbose) {
34
+ verbose = true;
35
+ }
36
+ let fileVolume = '';
37
+ if (flags.file) {
38
+ fileVolume = flags.file;
39
+ }
40
+ const echo = utils_1.default.setEcho(verbose);
41
+ if (utils_1.default.isRoot(this.id)) {
42
+ /**
43
+ * restore con file
44
+ */
45
+ if (fileVolume === '') {
46
+ fileVolume = '/tmp/luks-eggs-backup';
47
+ }
48
+ this.luksName = path.basename(fileVolume);
49
+ this.luksFile = fileVolume;
50
+ this.luksDevice = `/dev/mapper/${this.luksName}`;
51
+ this.luksMountpoint = '/tmp/eggs-backup';
52
+ if (!fs.existsSync(fileVolume)) {
53
+ await this.luksCreate(verbose);
54
+ }
55
+ else {
56
+ utils_1.default.warning(`LUKS volume: ${this.luksFile} exist, don't need create`);
57
+ }
58
+ if (fs.existsSync(fileVolume)) {
59
+ await this.luksOpen(verbose);
60
+ await this.backup(verbose);
61
+ await this.luksClose(verbose);
62
+ }
63
+ }
64
+ }
65
+ /**
66
+ *
67
+ * @param verbose
68
+ */
69
+ async backup(verbose = false) {
70
+ const echo = utils_1.default.setEcho(verbose);
71
+ if (verbose) {
72
+ utils_1.default.warning('backup');
73
+ }
74
+ const usersArray = await this.usersFill();
75
+ const cmds = [];
76
+ for (let i = 0; i < usersArray.length; i++) {
77
+ if (usersArray[i].saveIt) {
78
+ if (fs.existsSync(usersArray[i].home)) {
79
+ await (0, utils_2.exec)(`mkdir -p ${this.luksMountpoint}/ROOT${usersArray[i].home}`, echo);
80
+ const source = usersArray[i].home;
81
+ let dest = this.luksMountpoint + '/ROOT' + usersArray[i].home;
82
+ dest = dest.substring(0, dest.lastIndexOf('/'));
83
+ await (0, utils_2.exec)(`rsync --archive ${source} ${dest}`, echo);
84
+ }
85
+ }
86
+ }
87
+ await (0, utils_2.exec)(`mkdir -p ${this.luksMountpoint}/etc`, echo);
88
+ await (0, utils_2.exec)(`cp /etc/passwd ${this.luksMountpoint}/etc`, echo);
89
+ await (0, utils_2.exec)(`cp /etc/shadow ${this.luksMountpoint}/etc`, echo);
90
+ await (0, utils_2.exec)(`cp /etc/group ${this.luksMountpoint}/etc`, echo);
91
+ }
92
+ /**
93
+ * usersFill
94
+ */
95
+ async usersFill() {
96
+ const usersArray = [];
97
+ await (0, promises_1.access)('/etc/passwd', fs_1.constants.R_OK | fs_1.constants.W_OK);
98
+ const passwd = fs.readFileSync('/etc/passwd', 'utf-8').split('\n');
99
+ for (let i = 0; i < passwd.length; i++) {
100
+ var line = passwd[i].split(':');
101
+ const users = new users_1.default(line[0], line[1], line[2], line[3], line[4], line[5], line[6]);
102
+ await users.getValues();
103
+ if (users.password !== undefined) {
104
+ usersArray.push(users);
105
+ }
106
+ }
107
+ return usersArray;
108
+ }
109
+ /**
110
+ *
111
+ */
112
+ async luksCreate(verbose = false) {
113
+ const echo = utils_1.default.setEcho(verbose);
114
+ const echoYes = utils_1.default.setEcho(true);
115
+ utils_1.default.warning(`Creating LUKS Volume on ${this.luksFile}`);
116
+ let totalSize = 0;
117
+ console.log(`I will extimate volume size from your private data:`);
118
+ const users = await this.usersFill();
119
+ for (let i = 0; i < users.length; i++) {
120
+ if (users[i].login !== 'root') {
121
+ if (users[i].saveIt) {
122
+ console.log(`user: ${users[i].login} \thome: ${users[i].home.padEnd(16)} \tsize: ${utils_1.default.formatBytes(users[i].size)} \tBytes: ${users[i].size} `);
123
+ totalSize += users[i].size;
124
+ }
125
+ }
126
+ }
127
+ console.log(`Total\t\t\t\t\tSize: ${utils_1.default.formatBytes(totalSize)} \tBytes: ${totalSize}`);
128
+ /**
129
+ * after we get size, we can start building luks-volume
130
+ */
131
+ const binaryHeaderSize = 4194304;
132
+ let volumeSize = totalSize * 1.2 + binaryHeaderSize;
133
+ // Deciding blockSize and blocks
134
+ let blockSize = 1024;
135
+ let blocks = Math.ceil(volumeSize / blockSize);
136
+ // We need a minimum size of 32 MB
137
+ let minimunSize = 134217728; // 128 * 1024 *1024
138
+ if (totalSize < minimunSize) {
139
+ }
140
+ if (blocks * blockSize < minimunSize) {
141
+ blocks = Math.ceil(minimunSize / blockSize);
142
+ }
143
+ utils_1.default.warning(`Creating an encrypted file ${this.luksFile} blocks=${blocks}, block size: ${blockSize}, size: ${utils_1.default.formatBytes(blocks * blockSize)}`);
144
+ await (0, utils_2.exec)(`dd if=/dev/zero of=${this.luksFile} bs=${blockSize} count=${blocks}`, echo);
145
+ // find first unused device
146
+ let findFirstUnusedDevice = await (0, utils_2.exec)(`losetup -f`, { echo: verbose, ignore: false, capture: true });
147
+ let firstUnusedDevice = '';
148
+ if (findFirstUnusedDevice.code !== 0) {
149
+ utils_1.default.warning(`Error: ${findFirstUnusedDevice.code} ${findFirstUnusedDevice.data}`);
150
+ process.exit(1);
151
+ }
152
+ else {
153
+ firstUnusedDevice = findFirstUnusedDevice.data.trim();
154
+ }
155
+ await (0, utils_2.exec)(`losetup ${firstUnusedDevice} ${this.luksFile}`, echo);
156
+ utils_1.default.warning('Enter a large string of random text below to setup the pre-encryption');
157
+ await (0, utils_2.exec)(`cryptsetup -y -v --type luks2 luksFormat ${this.luksFile}`, echoYes);
158
+ utils_1.default.warning(`Enter the desired passphrase for the encrypted ${this.luksName} below`);
159
+ let crytoSetup = await (0, utils_2.exec)(`cryptsetup luksOpen --type luks2 ${this.luksFile} ${this.luksName}`, echoYes);
160
+ if (crytoSetup.code !== 0) {
161
+ utils_1.default.warning(`Error: ${crytoSetup.code} ${crytoSetup.data}`);
162
+ process.exit(1);
163
+ }
164
+ utils_1.default.warning(`Formatting ${this.luksDevice} to ext2`);
165
+ let formatting = await (0, utils_2.exec)(`sudo mkfs.ext2 ${this.luksDevice}`, echo);
166
+ if (formatting.code !== 0) {
167
+ utils_1.default.warning(`Error: ${formatting.code} ${formatting.data}`);
168
+ process.exit(1);
169
+ }
170
+ // this.luksClose()
171
+ }
172
+ /**
173
+ *
174
+ */
175
+ async luksOpen(verbose = false) {
176
+ const echo = utils_1.default.setEcho(verbose);
177
+ const echoYes = utils_1.default.setEcho(true); // echoYes serve solo per cryptsetup luksOpen
178
+ if (!fs.existsSync(this.luksDevice)) {
179
+ utils_1.default.warning(`LUKS open volume: ${this.luksName}`);
180
+ await (0, utils_2.exec)(`cryptsetup luksOpen --type luks2 ${this.luksFile} ${this.luksName}`, echoYes);
181
+ }
182
+ else {
183
+ utils_1.default.warning(`LUKS volume: ${this.luksName} already open`);
184
+ }
185
+ if (!fs.existsSync(this.luksMountpoint)) {
186
+ await (0, utils_2.exec)(`mkdir -p ${this.luksMountpoint}`, echo);
187
+ }
188
+ if (!utils_1.default.isMountpoint(this.luksMountpoint)) {
189
+ utils_1.default.warning(`mount volume: ${this.luksDevice} on ${this.luksMountpoint}`);
190
+ await (0, utils_2.exec)(`mount ${this.luksDevice} ${this.luksMountpoint}`, echo);
191
+ }
192
+ else {
193
+ utils_1.default.warning(`mount volume: ${this.luksDevice} already mounted on ${this.luksMountpoint}`);
194
+ }
195
+ }
196
+ /**
197
+ *
198
+ */
199
+ async luksClose(verbose = false) {
200
+ const echo = utils_1.default.setEcho(verbose);
201
+ if (utils_1.default.isMountpoint(this.luksMountpoint)) {
202
+ await (0, utils_2.exec)(`umount ${this.luksMountpoint}`, echo);
203
+ }
204
+ if (fs.existsSync(this.luksDevice)) {
205
+ utils_1.default.warning(`LUKS close volume: ${this.luksName}`);
206
+ await (0, utils_2.exec)(`cryptsetup luksClose ${this.luksName}`, echo);
207
+ }
208
+ }
209
+ }
210
+ exports.default = Syncto;
211
+ Syncto.description = 'Backup users, server and datas to luks-eggs-backup';
212
+ Syncto.flags = {
213
+ krill: core_1.Flags.boolean({ char: 'k', description: 'krill' }),
214
+ file: core_1.Flags.string({ char: 'f', description: "file LUKS volume encrypted" }),
215
+ help: core_1.Flags.help({ char: 'h' }),
216
+ verbose: core_1.Flags.boolean({ char: 'v', description: 'verbose' })
217
+ };
218
+ Syncto.aliases = ['backup'];
219
+ Syncto.examples = ['$ sudo eggs restore'];
@@ -42,4 +42,4 @@ DevYolk.flags = {
42
42
  help: core_1.Flags.help({ char: 'h' }),
43
43
  verbose: core_1.Flags.boolean({ char: 'v' })
44
44
  };
45
- DevYolk.dir = '/usr/local/yolk';
45
+ DevYolk.dir = '/var/local/yolk';
@@ -57,7 +57,6 @@ function Partitions({ installationDevice, installationMode, filesystemType, user
57
57
  react_1.default.createElement(ink_1.Box, null,
58
58
  react_1.default.createElement(ink_1.Text, null, "BIOS: "),
59
59
  react_1.default.createElement(ink_1.Text, { color: "cyan" }, bios)),
60
- react_1.default.createElement(ink_1.Newline, null),
61
60
  react_1.default.createElement(ink_1.Box, null,
62
61
  react_1.default.createElement(ink_1.Text, null, "Installation device: "),
63
62
  react_1.default.createElement(ink_1.Text, { color: "cyan" }, installationDevice)),
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Al momento
3
+ */
4
+ export default class IAnalyze {
5
+ login: string;
6
+ password: string;
7
+ uid: string;
8
+ gid: string;
9
+ gecos: string;
10
+ home: string;
11
+ shell: string;
12
+ size: number;
13
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Al momento
5
+ */
6
+ class IAnalyze {
7
+ constructor() {
8
+ this.login = '';
9
+ this.password = '';
10
+ this.uid = '';
11
+ this.gid = '';
12
+ this.gecos = '';
13
+ this.home = '';
14
+ this.shell = '';
15
+ this.size = 0;
16
+ }
17
+ }
18
+ exports.default = IAnalyze;
@@ -2,6 +2,7 @@ export interface IDevice {
2
2
  name: string;
3
3
  fsType: string;
4
4
  mountPoint: string;
5
+ cryptedFrom: string;
5
6
  }
6
7
  export interface IDevices {
7
8
  efi: IDevice;
@@ -7,7 +7,9 @@ const fs = require("fs");
7
7
  const path = require("path");
8
8
  const utils_1 = (0, tslib_1.__importDefault)(require("../classes/utils"));
9
9
  const pacman_1 = (0, tslib_1.__importDefault)(require("../classes/pacman"));
10
- const chalk = require("chalk");
10
+ const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
11
+ // libraries
12
+ const utils_2 = require("../lib/utils");
11
13
  // Comando per avviare ubiquity: sudo --preserve-env DBUS_SESSION_BUS_ADDRESS, XDG_RUNTIME sh -c 'calamares'
12
14
  /**
13
15
  *
@@ -117,10 +119,13 @@ async function addMotd(distro, version, user, userPasswd, rootPasswd, chroot = '
117
119
  installer = 'startxfce4 to run GUI and launch calamares, or from terminal sudo eggs install -c';
118
120
  }
119
121
  }
122
+ if (!fs.existsSync(fileMotd)) {
123
+ await (0, utils_2.exec)(`touch ${fileMotd}`);
124
+ }
120
125
  msgRemove(fileMotd);
121
126
  let eggsMotd = fs.readFileSync(fileMotd, 'utf-8');
122
127
  eggsMotd += startMessage + '\n';
123
- eggsMotd += 'You are logged as: ' + chalk.bold(user) + ' your password is: ' + chalk.bold(userPasswd) + ', root password: ' + chalk.bold(rootPasswd) + '\n';
128
+ eggsMotd += 'You are logged as: ' + chalk_1.default.bold(user) + ' your password is: ' + chalk_1.default.bold(userPasswd) + ', root password: ' + chalk_1.default.bold(rootPasswd) + '\n';
124
129
  eggsMotd += `to install the system: ${installer}\n`;
125
130
  eggsMotd += stopMessage + '\n';
126
131
  fs.writeFileSync(fileMotd, eggsMotd);
@@ -141,7 +146,7 @@ async function addIssue(distro, version, user, userPasswd, rootPasswd, chroot =
141
146
  let eggsIssue = fs.readFileSync(fileIssue, 'utf-8');
142
147
  eggsIssue += startMessage + '\n';
143
148
  eggsIssue += `This is a ${distro}/${version} system created by penguin's eggs.\n`;
144
- eggsIssue += 'You can login with user: ' + chalk.bold(user) + ' and password: ' + chalk.bold(userPasswd) + ', root password: ' + chalk.bold(rootPasswd) + '\n';
149
+ eggsIssue += 'You can login with user: ' + chalk_1.default.bold(user) + ' and password: ' + chalk_1.default.bold(userPasswd) + ', root password: ' + chalk_1.default.bold(rootPasswd) + '\n';
145
150
  eggsIssue += stopMessage + '\n';
146
151
  fs.writeFileSync(fileIssue, eggsIssue);
147
152
  }
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //import { option } from '@oclif/command/lib/flags'
3
4
  const inquirer = require("inquirer");
4
5
  async function getPassword(initial) {
5
6
  const requireLetterAndNumber = (value) => {
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const inquirer = require("inquirer");
4
4
  async function selectInstallationMode() {
5
- const modes = ['standard', 'full-encrypted'];
5
+ const modes = ['standard', 'full-encrypted', 'lvm2'];
6
6
  const questions = [
7
7
  {
8
8
  type: 'list',