[pve-devel] [PATCH 00/12] installer: add crate for common code
Aaron Lauterer
a.lauterer at proxmox.com
Mon Oct 30 10:45:06 CET 2023
Sorry, I missed to patch the Makefile and thanks for sending a patch for that [0].
The Makefile has another bug that I encountered during the RFC phase of the auto installer [0]. I could include that already in a V2 or add it to the auto installer series where the problem actually starts to show.
[0] https://lists.proxmox.com/pipermail/pve-devel/2023-October/059676.html
[1] https://lists.proxmox.com/pipermail/pve-devel/2023-September/059015.html
On 10/27/23 13:41, Christoph Heiss wrote:
>
> Had a lot of in-person discussions with Aaron over the last few weeks
> over this.
> There are no real functional changes here that would impact users,
> merely a code move.
>
> Each inidivdual patch (except #1, see my answer on that) builds cleanly
> on top of current master. The one dependency (see below) is also already
> applied. I also did some quick smoke testing to verify everything really
> still works.
>
> I will go over the the rest of the patches afterwards, but from a glance
> there is nothing that I would consider a blocker.
> Things like e.g. the `InstallConfig` stuff can be done separately as
> followups.
>
> Also considering this is a great code churn, I would rather have this
> get applied sooner than later, such that all future work is done on top
> of this.
>
> The only "complaint" here is that the .deb package does not build with
> this series (see my reply on #1). I will shortly send a quick follow-up
> patch for that, so you don't have to necessarily re-spin the whole
> series just for a single, trivial line.
>
> LGTM; thus please consider the whole series:
>
> Reviewed-by: Christoph Heiss <c.heiss at proxmox.com>
> Tested-by: Christoph Heiss <c.heiss at proxmox.com>
>
> On Wed, Oct 25, 2023 at 05:59:59PM +0200, Aaron Lauterer wrote:
>>
>> since work on the auto installer is happenning in parallel, now would be
>> a good point to move commonly used code into its own crate. Otherwise
>> the auto-installer will always have to play catch up with the ongoing
>> development of the tui installer.
>>
>> I tried to split up the commits as much as possible, but there are two
>> larger ones, copying most the code over to the new repo and making the
>> switch. The former because it is difficult to pull apart the parts that
>> belong together. The latter needed to be this big as most local
>> occurences needed to be removed at the same time to avoid dependency
>> conflicts.
>>
>> One last things that is missing, is the "InstallConfig" struct.
>> This should also be part of the common crate, but I need to look further
>> into how to make it possible that it can be created from structs of each
>> crate (tui, auto) as implementing a ::From can only be done within the
>> crate where the struct lives IIUC.
>>
>> This series depends on the patches by Christoph to remove the global
>> unsafe setup info, version 2 [0]. Without those patches applied first,
>> this series will not apply.
>>
>> [0] https://lists.proxmox.com/pipermail/pve-devel/2023-October/059628.html
>>
>> Aaron Lauterer (12):
>> add proxmox-installer-common crate
>> common: copy common code from tui-installer
>> common: utils: add dependency for doc test
>> common: make InstallZfsOption public
>> common: disk_checks: make functions public
>> tui-installer: add dependency for new common crate
>> tui: switch to common crate
>> tui: remove now unused utils.rs
>> common: add installer_setup method
>> common: document installer_setup method
>> tui: use installer_setup from common cate
>> tui: remove unused read_json function
>>
>> Cargo.toml | 1 +
>> proxmox-installer-common/Cargo.toml | 12 +
>> proxmox-installer-common/src/disk_checks.rs | 237 ++++++++++
>> proxmox-installer-common/src/lib.rs | 4 +
>> proxmox-installer-common/src/options.rs | 387 +++++++++++++++++
>> proxmox-installer-common/src/setup.rs | 368 ++++++++++++++++
>> .../src/utils.rs | 1 +
>> proxmox-tui-installer/Cargo.toml | 1 +
>> proxmox-tui-installer/src/main.rs | 51 +--
>> proxmox-tui-installer/src/options.rs | 403 +-----------------
>> proxmox-tui-installer/src/setup.rs | 324 +-------------
>> proxmox-tui-installer/src/system.rs | 2 +-
>> proxmox-tui-installer/src/views/bootdisk.rs | 248 +----------
>> proxmox-tui-installer/src/views/mod.rs | 2 +-
>> proxmox-tui-installer/src/views/timezone.rs | 4 +-
>> 15 files changed, 1054 insertions(+), 991 deletions(-)
>> create mode 100644 proxmox-installer-common/Cargo.toml
>> create mode 100644 proxmox-installer-common/src/disk_checks.rs
>> create mode 100644 proxmox-installer-common/src/lib.rs
>> create mode 100644 proxmox-installer-common/src/options.rs
>> create mode 100644 proxmox-installer-common/src/setup.rs
>> rename {proxmox-tui-installer => proxmox-installer-common}/src/utils.rs (99%)
>>
>> --
>> 2.39.2
>>
>>
>>
>> _______________________________________________
>> pve-devel mailing list
>> pve-devel at lists.proxmox.com
>> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
>>
>>
More information about the pve-devel
mailing list