Commit Graph

1052 Commits

Author SHA1 Message Date
Christoph Heiss
938259acb1 tui: implement NumericEditView::content() callback-free
.set_content() returns a callback which must be called in a `Cursive`
context, which for the chainable variant is never really on option.
Avoid that and do it properly.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
c2eee46862 tui: add basic email/root password dialog
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
a142f45783 tui: add simple location/timezone dialog
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
f522afb14c tui: move abort/previous/next buttons into InstallerView
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
48ce057c89 tui: add missing FS_TYPES definition
Fixes: e09b55a ("tui: add bootdisk selection screen")
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
52e6b3373c tui: introduce generic FormInputView
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
64220ff188 tui: add bootdisk selection screen
Only LVM boodisks (read: ext4 and xfs) are supported for now; zfs/btrfs
will come later.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
83071f3542 tui: add NumericEditView and DiskSizeInputView components
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
e9557e6210 tui: add LVM disk structures and some mocking data
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
e70f1b2fed tui: pass Cursive instance to installer view constructors
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
806820740f tui: add missing Panel import
Fixes: 3403ed9 ("tui: limit the maximum installer view size to something reasonable")
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
8b43c2d383 tui: limit the maximum installer view size to something reasonable
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
8f5fdd2110 tui: simplify get_eula() logic a bit
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
5886924326 tui: disable "abort installation?" dialog in debug builds
Lot more convienent for testing.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
ccf3b0755d tui: add proper ^C handler
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
183e2a7641 tui: add initial proof-of-concept
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Thomas Lamprecht
989191f030 add initial basic version of proxmox-low-level-installer tool
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-14 10:29:52 +02:00
Thomas Lamprecht
29f3240613 buildsys: allow generating cd-info.test file without check targets too
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-14 10:27:59 +02:00
Thomas Lamprecht
98489cf51d env: add "run" location
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-14 10:14:17 +02:00
Thomas Lamprecht
846e2e2f6d env: add missing include of Cwd module
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-14 10:14:00 +02:00
Thomas Lamprecht
f7a829cc46 bootloader installation: variable format clean-up
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-13 13:43:05 +02:00
Thomas Lamprecht
6d6bec9f9a bootloader installation: fix wrong & misleading parenthesis indentation
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-13 13:42:21 +02:00
Thomas Lamprecht
37724441d8 bump version to 8.0-2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 11:16:26 +02:00
Thomas Lamprecht
e58e2f5cf0 fix call to logical_blocksize
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 11:16:04 +02:00
Thomas Lamprecht
c017c55ea8 fixup released distro
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:39:25 +02:00
Thomas Lamprecht
e23aeee4fa buildsys: derive upload dist automatically
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
21757a995b bump version to 8.0-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
c2d5b241f1 visibility fixes for calling into sys/block helpers
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
521662f8f1 unconfigured: call setupcon
to ensure any changes made by the installer/iso environment get
applied

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
2c757f5efb avoid global $cmap variable and refactor use sites
While we still rely on the global $env, that is more contained and
capsuled, and with moving over to that a further split, or move to a
singleton, is easier in the future.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
76e463c505 contain country, time zone and keymap parsing to env module
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
850fac6b08 env: code/style cleanup cmap/locale info parser
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
d5165292aa move cmap/zone parsing to env module
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
9473f45f45 move assembling base-directory locations into env
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
cc9987a96e code/style cleanups
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
053568901b test: allow to pass CD builder directory via environment
Not all testers have that located in the parent directory.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
6c58393d36 restructure env hash
in preparation of moving more installer environment info in there.
Move also the (currently unused) CD info in there

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
0387544f2d call Gtk3::init manually
When using the module -init switch, the init method was called in
module import method, which means every time this was loaded, even if
just for a quick syntax+ check using `perl -I. -wc`, failing then if
no X11 connection was available.

Calling this manually after module load finished should have no
consequences, and if, that should be fixed there, without going back
to doing GUI init in module load/import steps - that's just ugly.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
3edb534340 clean up country map parser
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
40fbf8e63b move global cached disk state into block module
.. and introduce some helpers to finding/getting cached disks.

The hd_list method, which scans for physical disks, can be made
private with this change.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
408a519a59 sys block: cleanup disk list a bit
The assignment to () is confusing, as that's effectively identical
with not assigning it at all and later auto-vivify it to an array
ref, make that more explicit instead.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
7b0a64c1bf sys cmd: use croak instead of die for caller context
it's more useful if those errors contain the caller site location

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
aef8faa938 avoid second module wide test_images variable
keep that state contained in the Install::Env module

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
5cfca6d702 factor out disk & block device helpers helpers into own module
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
7114269be3 install env: make cd info parse private, rework setup code style
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
136270bee3 env: save full test images string, not only boolean
we need to access the test images from other locations than
proxinstall, so make that state accessible.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
8357edf5d0 rename Proxmox::Install::Setup to Proxmox::Install::Env
slightly better fit

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
a28c08e9fd factor out file helpers
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
7fff67fe59 add basic gitignore file
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00
Thomas Lamprecht
468900c7d4 cpuinfo check: display error if no info is found & rework code style
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 09:36:58 +02:00