Currently, adding any platform file implementation involves including unnecessary boilerplate code. Making things more simple here will make maintenance of platform files easier as the number of supported platforms grows.
Proposed changes:
This is something we discussed today. The biggest problem I see with current platform files is that it is difficult to extend them (adding one more platform-item to the platform) and every new platform carry quite a lot of cruft from previous platforms. It seems quite error prone to me.
When I am creating a, say fedora20 platform which differs just in one call compared to previous Fedoras, I should be able to have a quite small platform file like that:
from some.global.fedora.platform.file import * def fedora20_specific_task: pass
Starting review
First part pushed to master. Some code documentation still pending.
second part:
master:
A minor task to clean up is tracked here: https://fedorahosted.org/freeipa/ticket/4399
Some hardcoded paths still remain, when they're part of larger strings. These will need to be found and fixed individually. I'm keeping the ticket open for that.
I would rather close this ticket as the platform is ready and the framework is there. I would like to see contributions from people working on other platforms for these other paths or at least an interest that this is blocking them.
Thanks for the effort!
Metadata Update from @tbabej: - Issue assigned to tbabej - Issue set to the milestone: FreeIPA 4.0 Backlog
Login to comment on this ticket.