Sorry for the slow reply here On Tuesday, June 7, 2016 8:58:37 AM CDT Colin Walters wrote:
On Tue, Apr 26, 2016, at 06:00 PM, Dennis Gilmore wrote:Hi all, So I am trying to figure out how from a release engineering perspective ostree and rpm-ostree are supposed to handle multiarch support. take teh atomic host json file I ahd to make the following changes to make it work on arm git diff diff --git a/fedora-atomic-docker-host.json b/fedora-atomic-docker-host.json index e818ec1..02caf9d 100644 --- a/fedora-atomic-docker-host.json +++ b/fedora-atomic-docker-host.json @@ -1,5 +1,5 @@ { - "ref": "fedora-atomic/rawhide/x86_64/docker-host", + "ref": "fedora-atomic/rawhide/armhfp/docker-host",This one is https://github.com/projectatomic/rpm-ostree/pull/274
Thank you
"repos": ["fedora-rawhide"], @@ -31,8 +31,7 @@ "rpm-ostree", "lvm2", "authconfig", "btrfs-progs", "e2fsprogs", "xfsprogs", - "grub2", "grub2-efi", "ostree-grub2", - "efibootmgr", "shim", + "extlinux-bootloader", "gnupg2", "basesystem", "python",I did post a WIP comps patch, https://github.com/rpm-software-management/libhif/pull/135 but thinking about this more - this seems most simply handled with the existing treefile inheritance. I.e we'd have fedora-atomic-docker-host-x86_64.json: { "include": "fedora-atomic-docker-base.json", "packages": ""grub2", "grub2-efi", "ostree-grub2" }
The issue I see here is you can not feed the json to a koji parent task that has children tasks but depending how we work out implementation of how we make ostrees for multiple arches that may or may not be an issue.
Yeah, it does duplicate comps a bit, but on the other hand the bootloader part of comps is pretty small, and it's not like new architectures are invented often or bootloaders change so much that it'd really be a constant maintenance pain I'd say. The other option is to template the treefiles. Having them be JSON was an explicit choice to support this. The other choice is https://github.com/projectatomic/rpm-ostree/pull/305 which was simple to write...but I'm thinking the inheritance is best to try for now. Thoughts?
I would prefer having a way to have architecture specific snippets included by the parent based on arch if arch == "armhfp" include arm-snippet.json else if arch in ["x86_64", 'i686", "aarch64"] include grub-snippet.json endif or some such setup. even being able to mark some packages as optional would suffice. Dennis
Attachment:
signature.asc
Description: This is a digitally signed message part.