Re: ostree multiarch support



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.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]