[opensuse-arm] JeOS structure and _links
Hi, I'm currently working on getting the Pine64 upstream image updated to latest sources (firmware, u-boot, kernel and dtb) and the SRs are ready. However, due to the current structure of _links in the ARM projects on OBS merging will probably break some if not most of those, as told by afaerber. I propose generating the uboot-*.tgz files with the C preprocessor as well, just like Images.kiwi.in, so that changes in the uboot-image-install.in or uboot-image-setup.in files only affects the .tgzs for the relevant boards. That way changes in the parent JeOS package can be merged easily, even automatically in most cases. It would also result in more readable scripts (IMO) as the relationship between board and installation procedure is more obvious, compared to guessing which file relates to which boards. Suggestions, opinions? Cheers, Fabian -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Hi Fabian,
and the SRs are ready. However, due to the current structure of _links in the ARM projects on OBS merging will probably break some if not most of those, as told by afaerber.
it only breaks those that have real modifications, which should be rare (modifications should be contributed back to the parent JeOS package). so I don't think it is a very difficult problem.
Suggestions, opinions?
I'm fine with the suggested changes, although cpp on shell is terrible. if we could split the script into parts that are simply appended to a common part (because usually order does not matter), then I think that might be a simpler solution for avoiding that problem. I'm not fully convinced that it is a really frequent problem though . Greetings, Dirk -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Am 06.10.2016 um 18:12 schrieb Dirk Müller <dirk@dmllr.de>:
Hi Fabian,
and the SRs are ready. However, due to the current structure of _links in the ARM projects on OBS merging will probably break some if not most of those, as told by afaerber.
it only breaks those that have real modifications, which should be rare (modifications should be contributed back to the parent JeOS package). so I don't think it is a very difficult problem.
Suggestions, opinions?
I'm fine with the suggested changes, although cpp on shell is terrible. if we could split the script into parts that are simply appended to a common part (because usually order does not matter), then I think that might be a simpler solution for avoiding that problem.
I'm not fully convinced that it is a really frequent problem though .
We made all conditionals runtime conditionals a while back to get rid of those problems. Just push contrib changes into the main jeos package and you're safe :) Alex
Greetings, Dirk -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
-- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Am Donnerstag, 6. Oktober 2016, 19:24:28 CEST schrieb Alexander Graf:
Am 06.10.2016 um 18:12 schrieb Dirk Müller <dirk@dmllr.de>:
Hi Fabian,
and the SRs are ready. However, due to the current structure of _links in the ARM projects on OBS merging will probably break some if not most of those, as told by afaerber.
it only breaks those that have real modifications, which should be rare (modifications should be contributed back to the parent JeOS package). so I don't think it is a very difficult problem.
Suggestions, opinions?
I'm fine with the suggested changes, although cpp on shell is terrible. if we could split the script into parts that are simply appended to a common part (because usually order does not matter), then I think that might be a simpler solution for avoiding that problem.
I'm not fully convinced that it is a really frequent problem though .
We made all conditionals runtime conditionals a while back to get rid of those problems. Just push contrib changes into the main jeos package and you're safe :)
Well, I did a request for that (https://build.opensuse.org/request/show/433594) but afaerber told me that would break many derived contrib images.
Alex
Greetings, Dirk
-- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Am 06.10.2016 um 19:31 schrieb Fabian Vogt:
Am Donnerstag, 6. Oktober 2016, 19:24:28 CEST schrieb Alexander Graf:
Am 06.10.2016 um 18:12 schrieb Dirk Müller <dirk@dmllr.de>:
and the SRs are ready. However, due to the current structure of _links in the ARM projects on OBS merging will probably break some if not most of those, as told by afaerber.
it only breaks those that have real modifications, which should be rare (modifications should be contributed back to the parent JeOS package). so I don't think it is a very difficult problem.
Suggestions, opinions?
I'm fine with the suggested changes, although cpp on shell is terrible. if we could split the script into parts that are simply appended to a common part (because usually order does not matter), then I think that might be a simpler solution for avoiding that problem.
I'm not fully convinced that it is a really frequent problem though .
We made all conditionals runtime conditionals a while back to get rid of those problems. Just push contrib changes into the main jeos package and you're safe :)
Well, I did a request for that (https://build.opensuse.org/request/show/433594) but afaerber told me that would break many derived contrib images.
Yes, and I did _not_ decline your request. I was mainly asking whether you intentionally submitted from :branches:devel:ARM:Factory:Contrib:Pine64 to openSUSE:Factory:ARM instead of from :branches:openSUSE:Factory:ARM or to devel:ARM:Factory:Contrib:Pine64. To which I did not get a clear reply. If there is no diff between Factory and the Contrib, then it's probably okay, but that would be for you to point out if you do such unusual SRs. Regards, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Am 06.10.2016 um 19:24 schrieb Alexander Graf:
Am 06.10.2016 um 18:12 schrieb Dirk Müller <dirk@dmllr.de>:
and the SRs are ready. However, due to the current structure of _links in the ARM projects on OBS merging will probably break some if not most of those, as told by afaerber.
it only breaks those that have real modifications, which should be rare (modifications should be contributed back to the parent JeOS package). so I don't think it is a very difficult problem.
Suggestions, opinions?
I'm fine with the suggested changes, although cpp on shell is terrible. if we could split the script into parts that are simply appended to a common part (because usually order does not matter), then I think that might be a simpler solution for avoiding that problem.
I'm not fully convinced that it is a really frequent problem though .
We made all conditionals runtime conditionals a while back to get rid of those problems. Just push contrib changes into the main jeos package and you're safe :)
Please read my mail about JeOS cleanups. At least Dirk was CC'ed. https://lists.opensuse.org/opensuse-arm/2016-09/msg00032.html The problem is that we have more and more Contribs where we have _both_ a downstream and an upstream version for the same board. Whenever .tgz files are updated in the main repo, those Contrib branches break. You can't just push everything into the main JeOS package then, because at least the repo needs to differ. My recommendation always was to drop the Contribs once we have a somewhat working Factory based image, but some people resisted that, in particular for JeOS-raspberrypi, whose kernel is no longer even building. For JeOS-raspberrypi2 and JeOS-raspberrypi3 the 4.8 kernel with my USB-related config changes will hopefully soon allow us to do the switch, too. Also, I don't see the need to build RPi Staging images at all when the non-staging images are booting. Anyone wanting to try newer kernels can just add the repository like TW users do with, e.g., Kernel:HEAD and activate multiversion for dtb. That would save build resources and keep the choices lower for new users. Regards, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Am 06.10.2016 um 21:37 schrieb Andreas Färber <afaerber@suse.de>:
Am 06.10.2016 um 19:24 schrieb Alexander Graf:
Am 06.10.2016 um 18:12 schrieb Dirk Müller <dirk@dmllr.de>: and the SRs are ready. However, due to the current structure of _links in the ARM projects on OBS merging will probably break some if not most of those, as told by afaerber.
it only breaks those that have real modifications, which should be rare (modifications should be contributed back to the parent JeOS package). so I don't think it is a very difficult problem.
Suggestions, opinions?
I'm fine with the suggested changes, although cpp on shell is terrible. if we could split the script into parts that are simply appended to a common part (because usually order does not matter), then I think that might be a simpler solution for avoiding that problem.
I'm not fully convinced that it is a really frequent problem though .
We made all conditionals runtime conditionals a while back to get rid of those problems. Just push contrib changes into the main jeos package and you're safe :)
Please read my mail about JeOS cleanups. At least Dirk was CC'ed.
https://lists.opensuse.org/opensuse-arm/2016-09/msg00032.html
The problem is that we have more and more Contribs where we have _both_ a downstream and an upstream version for the same board. Whenever .tgz files are updated in the main repo, those Contrib branches break. You can't just push everything into the main JeOS package then, because at least the repo needs to differ.
So can we just name them differently then? That should solve it, right? Maybe by convention call downstream images ..._downstream always? That way it also propagates to the image name. Alex
My recommendation always was to drop the Contribs once we have a somewhat working Factory based image, but some people resisted that, in particular for JeOS-raspberrypi, whose kernel is no longer even building. For JeOS-raspberrypi2 and JeOS-raspberrypi3 the 4.8 kernel with my USB-related config changes will hopefully soon allow us to do the switch, too.
Also, I don't see the need to build RPi Staging images at all when the non-staging images are booting. Anyone wanting to try newer kernels can just add the repository like TW users do with, e.g., Kernel:HEAD and activate multiversion for dtb. That would save build resources and keep the choices lower for new users.
Regards, Andreas
-- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
-- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Am 07.10.2016 um 00:25 schrieb Alexander Graf:
Am 06.10.2016 um 21:37 schrieb Andreas Färber <afaerber@suse.de>:
Am 06.10.2016 um 19:24 schrieb Alexander Graf:
Am 06.10.2016 um 18:12 schrieb Dirk Müller <dirk@dmllr.de>: and the SRs are ready. However, due to the current structure of _links in the ARM projects on OBS merging will probably break some if not most of those, as told by afaerber.
it only breaks those that have real modifications, which should be rare (modifications should be contributed back to the parent JeOS package). so I don't think it is a very difficult problem.
Suggestions, opinions?
I'm fine with the suggested changes, although cpp on shell is terrible. if we could split the script into parts that are simply appended to a common part (because usually order does not matter), then I think that might be a simpler solution for avoiding that problem.
I'm not fully convinced that it is a really frequent problem though .
We made all conditionals runtime conditionals a while back to get rid of those problems. Just push contrib changes into the main jeos package and you're safe :)
Please read my mail about JeOS cleanups. At least Dirk was CC'ed.
https://lists.opensuse.org/opensuse-arm/2016-09/msg00032.html
The problem is that we have more and more Contribs where we have _both_ a downstream and an upstream version for the same board. Whenever .tgz files are updated in the main repo, those Contrib branches break. You can't just push everything into the main JeOS package then, because at least the repo needs to differ.
So can we just name them differently then? That should solve it, right? Maybe by convention call downstream images ..._downstream always? That way it also propagates to the image name.
Is there no way we can just avoid .tgz files altogether and use the scripts directly? Those would be much easier to merge then and would avoid spamming Factory:ARM with random downstream stuff. If using a different image name, same as for your _aarch64, we'd always get a lengthy || expression for the image name. Unless we special-case that too and translate it to some IS_DOWNSTREAM or so. Regards, Andreas P.S. Your mailer keeps screwing up the indentation of "Am ..." :/ -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
On 08.10.16 13:28, Andreas Färber wrote:
Am 07.10.2016 um 00:25 schrieb Alexander Graf:
Am 06.10.2016 um 21:37 schrieb Andreas Färber <afaerber@suse.de>:
Am 06.10.2016 um 19:24 schrieb Alexander Graf:
Am 06.10.2016 um 18:12 schrieb Dirk Müller <dirk@dmllr.de>: and the SRs are ready. However, due to the current structure of _links in the ARM projects on OBS merging will probably break some if not most of those, as told by afaerber.
it only breaks those that have real modifications, which should be rare (modifications should be contributed back to the parent JeOS package). so I don't think it is a very difficult problem.
Suggestions, opinions?
I'm fine with the suggested changes, although cpp on shell is terrible. if we could split the script into parts that are simply appended to a common part (because usually order does not matter), then I think that might be a simpler solution for avoiding that problem.
I'm not fully convinced that it is a really frequent problem though .
We made all conditionals runtime conditionals a while back to get rid of those problems. Just push contrib changes into the main jeos package and you're safe :)
Please read my mail about JeOS cleanups. At least Dirk was CC'ed.
https://lists.opensuse.org/opensuse-arm/2016-09/msg00032.html
The problem is that we have more and more Contribs where we have _both_ a downstream and an upstream version for the same board. Whenever .tgz files are updated in the main repo, those Contrib branches break. You can't just push everything into the main JeOS package then, because at least the repo needs to differ.
So can we just name them differently then? That should solve it, right? Maybe by convention call downstream images ..._downstream always? That way it also propagates to the image name.
Is there no way we can just avoid .tgz files altogether and use the scripts directly? Those would be much easier to merge then and would avoid spamming Factory:ARM with random downstream stuff.
I don't see an option in kiwi to directly embed files into the target rootfs. The only path that I can see is by using the "archive" tag which is what we use today. The only thing I can think of that maybe could work is to somehow mangle the script inside config.sh, as that should have access to both the source and the rootfs directories. But I'm not sure it'd end up much prettier than what we have now :). Alex -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Hi,
The only thing I can think of that maybe could work is to somehow mangle the script inside config.sh, as that should have access to both the source and the rootfs directories. But I'm not sure it'd end up much prettier than what we have now :).
well, thats actually a good idea, we don't necessarily have to generate the tar ball on checkin time, but could generate it in config.sh (assuming that all the source files are getting copied into the build root SOURCES dir). Overall, I'm still not convinced this is a real problem, or at least a problem that requires more time than reading this mail thread. I would suggest to end it here. Greetings, Dirk -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Am 10.10.2016 um 09:19 schrieb Dirk Müller <dirk@dmllr.de>:
Hi,
The only thing I can think of that maybe could work is to somehow mangle the script inside config.sh, as that should have access to both the source and the rootfs directories. But I'm not sure it'd end up much prettier than what we have now :).
well, thats actually a good idea, we don't necessarily have to generate the tar ball on checkin time, but could generate it in config.sh (assuming that all the source files are getting copied into the build root SOURCES dir).
Archives get applied before config.sh, so that won't work.
Overall, I'm still not convinced this is a real problem, or at least a problem that requires more time than reading this mail thread. I would suggest to end it here.
Yes, the next email in this thread - if any - should be a compelling solution :). Alex -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
On Samstag, 8. Oktober 2016, 13:28:07 CEST wrote Andreas Färber:
Am 07.10.2016 um 00:25 schrieb Alexander Graf:
Am 06.10.2016 um 21:37 schrieb Andreas Färber <afaerber@suse.de>:
Am 06.10.2016 um 19:24 schrieb Alexander Graf:
Am 06.10.2016 um 18:12 schrieb Dirk Müller <dirk@dmllr.de>: and the SRs are ready. However, due to the current structure of _links in the ARM projects on OBS merging will probably break some if not most of those, as told by afaerber.
it only breaks those that have real modifications, which should be rare (modifications should be contributed back to the parent JeOS package). so I don't think it is a very difficult problem.
Suggestions, opinions?
I'm fine with the suggested changes, although cpp on shell is terrible. if we could split the script into parts that are simply appended to a common part (because usually order does not matter), then I think that might be a simpler solution for avoiding that problem.
I'm not fully convinced that it is a really frequent problem though .
We made all conditionals runtime conditionals a while back to get rid of those problems. Just push contrib changes into the main jeos package and you're safe :)
Please read my mail about JeOS cleanups. At least Dirk was CC'ed.
https://lists.opensuse.org/opensuse-arm/2016-09/msg00032.html
The problem is that we have more and more Contribs where we have _both_ a downstream and an upstream version for the same board. Whenever .tgz files are updated in the main repo, those Contrib branches break. You can't just push everything into the main JeOS package then, because at least the repo needs to differ.
So can we just name them differently then? That should solve it, right? Maybe by convention call downstream images ..._downstream always? That way it also propagates to the image name.
Is there no way we can just avoid .tgz files altogether and use the scripts directly? Those would be much easier to merge then and would avoid spamming Factory:ARM with random downstream stuff.
If using a different image name, same as for your _aarch64, we'd always get a lengthy || expression for the image name. Unless we special-case that too and translate it to some IS_DOWNSTREAM or so.
JFYI, we are currently working on a mechanism to avoid the need of "_link" packages when having multiple build descriptions in one container. However, it will take some more time, but you may want to wait for it before you spend too much effort here. -- Adrian Schroeter email: adrian@suse.de SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) Maxfeldstraße 5 90409 Nürnberg Germany -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
participants (5)
-
Adrian Schröter
-
Alexander Graf
-
Andreas Färber
-
Dirk Müller
-
Fabian Vogt