Re: libbsd development policy clarification needed?
On Fri, Feb 3, 2023 at 3:29 PM Christian Mauderer wrote: > > > > Am 3. Februar 2023 22:52:48 MEZ schrieb Gedare Bloom : > >On Fri, Feb 3, 2023 at 2:39 PM Christian Mauderer wrote: > >> > >> > >> > >> Am 3. Februar 2023 22:12:06 MEZ schrieb Gedare Bloom : > >> >On Fri, Feb 3, 2023 at 12:52 PM wrote: > >> >> > >> >> Hello Gedare, > >> >> > >> >> Am 03.02.23 um 19:51 schrieb Gedare Bloom: > >> >> > On Thu, Feb 2, 2023 at 11:24 PM Christian MAUDERER > >> >> > wrote: > >> >> >> > >> >> >> Hello Karel, > >> >> >> > >> >> >> On 2023-02-02 12:43, Karel Gardas wrote: > >> >> >>> > >> >> >>> Guys, > >> >> >>> > >> >> >>> recently I needed to work with RTEMS/NFS. As this is provided by > >> >> >>> libbsd > >> >> >>> I took this and following two sentences below from master branch > >> >> >>> description provided in README I took as granted that master does > >> >> >>> have > >> >> >>> all the features which are currently available and provided by the > >> >> >>> project: > >> >> >>> > >> >> >>> "This branch must be used for libbsd development. Back ports to the > >> >> >>> 6-freebsd-12 are allowed." > >> >> >>> > >> >> >>> I was surprised to be proven wrong then by Fabrizio here: > >> >> >>> https://devel.rtems.org/ticket/4723 > >> >> >>> > >> >> >>> and by later investigation which shows that 6-freebsd-12 branch > >> >> >>> accumulated NFS work by Chris done in 2021 which is not presented on > >> >> >>> master. I've investigated just NFS as this was my focus here. > >> >> >>> > >> >> >>> So if 6-freebsd-12 became development branch of some sort, then it > >> >> >>> would > >> >> >>> be great to have that clarified in the project README file to > >> >> >>> prevent > >> >> >>> users confusion? Or if the policy is still the same, then perhaps > >> >> >>> some > >> >> >>> branch sync is needed here? > >> >> >> > >> >> >> That currently is an open issue. Basically there is a pending patch > >> >> >> set > >> >> >> that should fix that since several months. But there is a > >> >> >> disagreement > >> >> >> about some of the changes in that patch set (and about the patches > >> >> >> checked in to 6-freebsd-12). Therefore, it still hasn't been merged. > >> >> >> > >> >> >> If you want to know some more about the problematic points, I > >> >> >> recommend > >> >> >> reading this (long) thread: > >> >> >> > >> >> >> https://lists.rtems.org/pipermail/devel/2023-January/074164.html > >> >> >> > >> >> >> The statement that development has to happen on the master branch is > >> >> >> still true. The master is intended to track the FreeBSD upstream > >> >> >> development. Only changes on that branch are guaranteed to live > >> >> >> through > >> >> >> an upgrade to a newer base version of FreeBSD. It's very unfortunate, > >> >> >> that there are some patches on the 6-freebsd-12 branch only. On the > >> >> >> long > >> >> >> term, that issue has to be resolved. > >> >> >> > >> >> > > >> >> > I have been investigating this problem in the background, and I have > >> >> > some findings and some questions. First, I have found that there is a > >> >> > most-common ancestor between master and 6-freebsd-12 at commit > >> >> > https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12=2ce13cf6dc73855f28bc7edbbc64dc4b482a4976 > >> >> > This is at least promising that the discrepancy between the branches > >> >> > can be resolved. > >> >> > > >> >> > The proposed pending patch set to "fix" the NFS issue does not fix the > >> >> > underlying problem. Instead, it introduces further divergence between > >> >> > the branches. I would instead suggest that we should resolve to fix > >> >> > the underlying problem. I can see two paths forward. > >> >> > > >> >> > 1. Abandon 6-freebsd-12 after releasing 6. This is probably not ideal > >> >> > since what I understand is some users have projects based on > >> >> > 6-freebsd-12 and would like an upgrade path. (I guess there is also > >> >> > the option to abandon master, which also makes little sense.) > >> >> > >> >> A variant for this would be to introduce a 6-freebsd-13 that is based on > >> >> the master branch as soon as we have one. That would allow a longer > >> >> maintenance because FreeBSD 12 reaches it's EoL December 2023. > >> >> > >> >> > > >> >> > 2. Pull commits from 6-freebsd-12 into master to make sure master is > >> >> > the development head. in the future, reject patches that only go > >> >> > toward release branches. This has its own problems too. It can > >> >> > realistically only be done in three ways: > >> >> > >> >> Please note that Sebastian mentioned that the file descriptors broke the > >> >> NTP support (at least I think it was NTP; possible that it was another > >> >> submodule). So picking the current version of the patches into the > >> >> master without adding fixes makes the master unusable for some cases. > >> >> > >> >Fixing the problems after making the branches the same will be better > >> >for the long-term, if we can find a path to do it. > >>
Re: libbsd development policy clarification needed?
Am 3. Februar 2023 22:52:48 MEZ schrieb Gedare Bloom : >On Fri, Feb 3, 2023 at 2:39 PM Christian Mauderer wrote: >> >> >> >> Am 3. Februar 2023 22:12:06 MEZ schrieb Gedare Bloom : >> >On Fri, Feb 3, 2023 at 12:52 PM wrote: >> >> >> >> Hello Gedare, >> >> >> >> Am 03.02.23 um 19:51 schrieb Gedare Bloom: >> >> > On Thu, Feb 2, 2023 at 11:24 PM Christian MAUDERER >> >> > wrote: >> >> >> >> >> >> Hello Karel, >> >> >> >> >> >> On 2023-02-02 12:43, Karel Gardas wrote: >> >> >>> >> >> >>> Guys, >> >> >>> >> >> >>> recently I needed to work with RTEMS/NFS. As this is provided by >> >> >>> libbsd >> >> >>> I took this and following two sentences below from master branch >> >> >>> description provided in README I took as granted that master does have >> >> >>> all the features which are currently available and provided by the >> >> >>> project: >> >> >>> >> >> >>> "This branch must be used for libbsd development. Back ports to the >> >> >>> 6-freebsd-12 are allowed." >> >> >>> >> >> >>> I was surprised to be proven wrong then by Fabrizio here: >> >> >>> https://devel.rtems.org/ticket/4723 >> >> >>> >> >> >>> and by later investigation which shows that 6-freebsd-12 branch >> >> >>> accumulated NFS work by Chris done in 2021 which is not presented on >> >> >>> master. I've investigated just NFS as this was my focus here. >> >> >>> >> >> >>> So if 6-freebsd-12 became development branch of some sort, then it >> >> >>> would >> >> >>> be great to have that clarified in the project README file to prevent >> >> >>> users confusion? Or if the policy is still the same, then perhaps some >> >> >>> branch sync is needed here? >> >> >> >> >> >> That currently is an open issue. Basically there is a pending patch set >> >> >> that should fix that since several months. But there is a disagreement >> >> >> about some of the changes in that patch set (and about the patches >> >> >> checked in to 6-freebsd-12). Therefore, it still hasn't been merged. >> >> >> >> >> >> If you want to know some more about the problematic points, I recommend >> >> >> reading this (long) thread: >> >> >> >> >> >> https://lists.rtems.org/pipermail/devel/2023-January/074164.html >> >> >> >> >> >> The statement that development has to happen on the master branch is >> >> >> still true. The master is intended to track the FreeBSD upstream >> >> >> development. Only changes on that branch are guaranteed to live through >> >> >> an upgrade to a newer base version of FreeBSD. It's very unfortunate, >> >> >> that there are some patches on the 6-freebsd-12 branch only. On the >> >> >> long >> >> >> term, that issue has to be resolved. >> >> >> >> >> > >> >> > I have been investigating this problem in the background, and I have >> >> > some findings and some questions. First, I have found that there is a >> >> > most-common ancestor between master and 6-freebsd-12 at commit >> >> > https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12=2ce13cf6dc73855f28bc7edbbc64dc4b482a4976 >> >> > This is at least promising that the discrepancy between the branches >> >> > can be resolved. >> >> > >> >> > The proposed pending patch set to "fix" the NFS issue does not fix the >> >> > underlying problem. Instead, it introduces further divergence between >> >> > the branches. I would instead suggest that we should resolve to fix >> >> > the underlying problem. I can see two paths forward. >> >> > >> >> > 1. Abandon 6-freebsd-12 after releasing 6. This is probably not ideal >> >> > since what I understand is some users have projects based on >> >> > 6-freebsd-12 and would like an upgrade path. (I guess there is also >> >> > the option to abandon master, which also makes little sense.) >> >> >> >> A variant for this would be to introduce a 6-freebsd-13 that is based on >> >> the master branch as soon as we have one. That would allow a longer >> >> maintenance because FreeBSD 12 reaches it's EoL December 2023. >> >> >> >> > >> >> > 2. Pull commits from 6-freebsd-12 into master to make sure master is >> >> > the development head. in the future, reject patches that only go >> >> > toward release branches. This has its own problems too. It can >> >> > realistically only be done in three ways: >> >> >> >> Please note that Sebastian mentioned that the file descriptors broke the >> >> NTP support (at least I think it was NTP; possible that it was another >> >> submodule). So picking the current version of the patches into the >> >> master without adding fixes makes the master unusable for some cases. >> >> >> >Fixing the problems after making the branches the same will be better >> >for the long-term, if we can find a path to do it. >> > >> >> > >> >> > 2a: Rebase master and cherry-pick commits from 6-freebsd-12 and master >> >> > back into master. This rewrites the history of master, and >> >> > unfortunately will cause the head of 5-freebsd-12 and the tags for >> >> > rtems-5 to no longer exist on the master branch. They will still exist >> >> > in the '5' branch. The
Re: libbsd development policy clarification needed?
On Fri, Feb 3, 2023 at 2:39 PM Christian Mauderer wrote: > > > > Am 3. Februar 2023 22:12:06 MEZ schrieb Gedare Bloom : > >On Fri, Feb 3, 2023 at 12:52 PM wrote: > >> > >> Hello Gedare, > >> > >> Am 03.02.23 um 19:51 schrieb Gedare Bloom: > >> > On Thu, Feb 2, 2023 at 11:24 PM Christian MAUDERER > >> > wrote: > >> >> > >> >> Hello Karel, > >> >> > >> >> On 2023-02-02 12:43, Karel Gardas wrote: > >> >>> > >> >>> Guys, > >> >>> > >> >>> recently I needed to work with RTEMS/NFS. As this is provided by libbsd > >> >>> I took this and following two sentences below from master branch > >> >>> description provided in README I took as granted that master does have > >> >>> all the features which are currently available and provided by the > >> >>> project: > >> >>> > >> >>> "This branch must be used for libbsd development. Back ports to the > >> >>> 6-freebsd-12 are allowed." > >> >>> > >> >>> I was surprised to be proven wrong then by Fabrizio here: > >> >>> https://devel.rtems.org/ticket/4723 > >> >>> > >> >>> and by later investigation which shows that 6-freebsd-12 branch > >> >>> accumulated NFS work by Chris done in 2021 which is not presented on > >> >>> master. I've investigated just NFS as this was my focus here. > >> >>> > >> >>> So if 6-freebsd-12 became development branch of some sort, then it > >> >>> would > >> >>> be great to have that clarified in the project README file to prevent > >> >>> users confusion? Or if the policy is still the same, then perhaps some > >> >>> branch sync is needed here? > >> >> > >> >> That currently is an open issue. Basically there is a pending patch set > >> >> that should fix that since several months. But there is a disagreement > >> >> about some of the changes in that patch set (and about the patches > >> >> checked in to 6-freebsd-12). Therefore, it still hasn't been merged. > >> >> > >> >> If you want to know some more about the problematic points, I recommend > >> >> reading this (long) thread: > >> >> > >> >> https://lists.rtems.org/pipermail/devel/2023-January/074164.html > >> >> > >> >> The statement that development has to happen on the master branch is > >> >> still true. The master is intended to track the FreeBSD upstream > >> >> development. Only changes on that branch are guaranteed to live through > >> >> an upgrade to a newer base version of FreeBSD. It's very unfortunate, > >> >> that there are some patches on the 6-freebsd-12 branch only. On the long > >> >> term, that issue has to be resolved. > >> >> > >> > > >> > I have been investigating this problem in the background, and I have > >> > some findings and some questions. First, I have found that there is a > >> > most-common ancestor between master and 6-freebsd-12 at commit > >> > https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12=2ce13cf6dc73855f28bc7edbbc64dc4b482a4976 > >> > This is at least promising that the discrepancy between the branches > >> > can be resolved. > >> > > >> > The proposed pending patch set to "fix" the NFS issue does not fix the > >> > underlying problem. Instead, it introduces further divergence between > >> > the branches. I would instead suggest that we should resolve to fix > >> > the underlying problem. I can see two paths forward. > >> > > >> > 1. Abandon 6-freebsd-12 after releasing 6. This is probably not ideal > >> > since what I understand is some users have projects based on > >> > 6-freebsd-12 and would like an upgrade path. (I guess there is also > >> > the option to abandon master, which also makes little sense.) > >> > >> A variant for this would be to introduce a 6-freebsd-13 that is based on > >> the master branch as soon as we have one. That would allow a longer > >> maintenance because FreeBSD 12 reaches it's EoL December 2023. > >> > >> > > >> > 2. Pull commits from 6-freebsd-12 into master to make sure master is > >> > the development head. in the future, reject patches that only go > >> > toward release branches. This has its own problems too. It can > >> > realistically only be done in three ways: > >> > >> Please note that Sebastian mentioned that the file descriptors broke the > >> NTP support (at least I think it was NTP; possible that it was another > >> submodule). So picking the current version of the patches into the > >> master without adding fixes makes the master unusable for some cases. > >> > >Fixing the problems after making the branches the same will be better > >for the long-term, if we can find a path to do it. > > > >> > > >> > 2a: Rebase master and cherry-pick commits from 6-freebsd-12 and master > >> > back into master. This rewrites the history of master, and > >> > unfortunately will cause the head of 5-freebsd-12 and the tags for > >> > rtems-5 to no longer exist on the master branch. They will still exist > >> > in the '5' branch. The advantage is in the end there will be a linear > >> > history of development on master that reflects the timeline of actual > >> > development that spanned both branches.
Re: libbsd development policy clarification needed?
Am 3. Februar 2023 22:12:06 MEZ schrieb Gedare Bloom : >On Fri, Feb 3, 2023 at 12:52 PM wrote: >> >> Hello Gedare, >> >> Am 03.02.23 um 19:51 schrieb Gedare Bloom: >> > On Thu, Feb 2, 2023 at 11:24 PM Christian MAUDERER >> > wrote: >> >> >> >> Hello Karel, >> >> >> >> On 2023-02-02 12:43, Karel Gardas wrote: >> >>> >> >>> Guys, >> >>> >> >>> recently I needed to work with RTEMS/NFS. As this is provided by libbsd >> >>> I took this and following two sentences below from master branch >> >>> description provided in README I took as granted that master does have >> >>> all the features which are currently available and provided by the >> >>> project: >> >>> >> >>> "This branch must be used for libbsd development. Back ports to the >> >>> 6-freebsd-12 are allowed." >> >>> >> >>> I was surprised to be proven wrong then by Fabrizio here: >> >>> https://devel.rtems.org/ticket/4723 >> >>> >> >>> and by later investigation which shows that 6-freebsd-12 branch >> >>> accumulated NFS work by Chris done in 2021 which is not presented on >> >>> master. I've investigated just NFS as this was my focus here. >> >>> >> >>> So if 6-freebsd-12 became development branch of some sort, then it would >> >>> be great to have that clarified in the project README file to prevent >> >>> users confusion? Or if the policy is still the same, then perhaps some >> >>> branch sync is needed here? >> >> >> >> That currently is an open issue. Basically there is a pending patch set >> >> that should fix that since several months. But there is a disagreement >> >> about some of the changes in that patch set (and about the patches >> >> checked in to 6-freebsd-12). Therefore, it still hasn't been merged. >> >> >> >> If you want to know some more about the problematic points, I recommend >> >> reading this (long) thread: >> >> >> >> https://lists.rtems.org/pipermail/devel/2023-January/074164.html >> >> >> >> The statement that development has to happen on the master branch is >> >> still true. The master is intended to track the FreeBSD upstream >> >> development. Only changes on that branch are guaranteed to live through >> >> an upgrade to a newer base version of FreeBSD. It's very unfortunate, >> >> that there are some patches on the 6-freebsd-12 branch only. On the long >> >> term, that issue has to be resolved. >> >> >> > >> > I have been investigating this problem in the background, and I have >> > some findings and some questions. First, I have found that there is a >> > most-common ancestor between master and 6-freebsd-12 at commit >> > https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12=2ce13cf6dc73855f28bc7edbbc64dc4b482a4976 >> > This is at least promising that the discrepancy between the branches >> > can be resolved. >> > >> > The proposed pending patch set to "fix" the NFS issue does not fix the >> > underlying problem. Instead, it introduces further divergence between >> > the branches. I would instead suggest that we should resolve to fix >> > the underlying problem. I can see two paths forward. >> > >> > 1. Abandon 6-freebsd-12 after releasing 6. This is probably not ideal >> > since what I understand is some users have projects based on >> > 6-freebsd-12 and would like an upgrade path. (I guess there is also >> > the option to abandon master, which also makes little sense.) >> >> A variant for this would be to introduce a 6-freebsd-13 that is based on >> the master branch as soon as we have one. That would allow a longer >> maintenance because FreeBSD 12 reaches it's EoL December 2023. >> >> > >> > 2. Pull commits from 6-freebsd-12 into master to make sure master is >> > the development head. in the future, reject patches that only go >> > toward release branches. This has its own problems too. It can >> > realistically only be done in three ways: >> >> Please note that Sebastian mentioned that the file descriptors broke the >> NTP support (at least I think it was NTP; possible that it was another >> submodule). So picking the current version of the patches into the >> master without adding fixes makes the master unusable for some cases. >> >Fixing the problems after making the branches the same will be better >for the long-term, if we can find a path to do it. > >> > >> > 2a: Rebase master and cherry-pick commits from 6-freebsd-12 and master >> > back into master. This rewrites the history of master, and >> > unfortunately will cause the head of 5-freebsd-12 and the tags for >> > rtems-5 to no longer exist on the master branch. They will still exist >> > in the '5' branch. The advantage is in the end there will be a linear >> > history of development on master that reflects the timeline of actual >> > development that spanned both branches. Theoretically, this should >> > make it easier to git-bisect. >> > >> > 2b: Cherry-pick commits from 6-freebsd-12 to master and fix conflicts. >> > This puts all the missing commits from 6-freebsd-12 on to the current >> > head of master. I don't know how messy this would
Re: libbsd development policy clarification needed?
On Fri, Feb 3, 2023 at 12:52 PM wrote: > > Hello Gedare, > > Am 03.02.23 um 19:51 schrieb Gedare Bloom: > > On Thu, Feb 2, 2023 at 11:24 PM Christian MAUDERER > > wrote: > >> > >> Hello Karel, > >> > >> On 2023-02-02 12:43, Karel Gardas wrote: > >>> > >>> Guys, > >>> > >>> recently I needed to work with RTEMS/NFS. As this is provided by libbsd > >>> I took this and following two sentences below from master branch > >>> description provided in README I took as granted that master does have > >>> all the features which are currently available and provided by the > >>> project: > >>> > >>> "This branch must be used for libbsd development. Back ports to the > >>> 6-freebsd-12 are allowed." > >>> > >>> I was surprised to be proven wrong then by Fabrizio here: > >>> https://devel.rtems.org/ticket/4723 > >>> > >>> and by later investigation which shows that 6-freebsd-12 branch > >>> accumulated NFS work by Chris done in 2021 which is not presented on > >>> master. I've investigated just NFS as this was my focus here. > >>> > >>> So if 6-freebsd-12 became development branch of some sort, then it would > >>> be great to have that clarified in the project README file to prevent > >>> users confusion? Or if the policy is still the same, then perhaps some > >>> branch sync is needed here? > >> > >> That currently is an open issue. Basically there is a pending patch set > >> that should fix that since several months. But there is a disagreement > >> about some of the changes in that patch set (and about the patches > >> checked in to 6-freebsd-12). Therefore, it still hasn't been merged. > >> > >> If you want to know some more about the problematic points, I recommend > >> reading this (long) thread: > >> > >> https://lists.rtems.org/pipermail/devel/2023-January/074164.html > >> > >> The statement that development has to happen on the master branch is > >> still true. The master is intended to track the FreeBSD upstream > >> development. Only changes on that branch are guaranteed to live through > >> an upgrade to a newer base version of FreeBSD. It's very unfortunate, > >> that there are some patches on the 6-freebsd-12 branch only. On the long > >> term, that issue has to be resolved. > >> > > > > I have been investigating this problem in the background, and I have > > some findings and some questions. First, I have found that there is a > > most-common ancestor between master and 6-freebsd-12 at commit > > https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12=2ce13cf6dc73855f28bc7edbbc64dc4b482a4976 > > This is at least promising that the discrepancy between the branches > > can be resolved. > > > > The proposed pending patch set to "fix" the NFS issue does not fix the > > underlying problem. Instead, it introduces further divergence between > > the branches. I would instead suggest that we should resolve to fix > > the underlying problem. I can see two paths forward. > > > > 1. Abandon 6-freebsd-12 after releasing 6. This is probably not ideal > > since what I understand is some users have projects based on > > 6-freebsd-12 and would like an upgrade path. (I guess there is also > > the option to abandon master, which also makes little sense.) > > A variant for this would be to introduce a 6-freebsd-13 that is based on > the master branch as soon as we have one. That would allow a longer > maintenance because FreeBSD 12 reaches it's EoL December 2023. > > > > > 2. Pull commits from 6-freebsd-12 into master to make sure master is > > the development head. in the future, reject patches that only go > > toward release branches. This has its own problems too. It can > > realistically only be done in three ways: > > Please note that Sebastian mentioned that the file descriptors broke the > NTP support (at least I think it was NTP; possible that it was another > submodule). So picking the current version of the patches into the > master without adding fixes makes the master unusable for some cases. > Fixing the problems after making the branches the same will be better for the long-term, if we can find a path to do it. > > > > 2a: Rebase master and cherry-pick commits from 6-freebsd-12 and master > > back into master. This rewrites the history of master, and > > unfortunately will cause the head of 5-freebsd-12 and the tags for > > rtems-5 to no longer exist on the master branch. They will still exist > > in the '5' branch. The advantage is in the end there will be a linear > > history of development on master that reflects the timeline of actual > > development that spanned both branches. Theoretically, this should > > make it easier to git-bisect. > > > > 2b: Cherry-pick commits from 6-freebsd-12 to master and fix conflicts. > > This puts all the missing commits from 6-freebsd-12 on to the current > > head of master. I don't know how messy this would be. It ends up > > making the history of master convoluted to understand, with fairly old > > commits from 2018 being placed on top of newer commits from
Re: libbsd development policy clarification needed?
Hello Gedare, Am 03.02.23 um 19:51 schrieb Gedare Bloom: On Thu, Feb 2, 2023 at 11:24 PM Christian MAUDERER wrote: Hello Karel, On 2023-02-02 12:43, Karel Gardas wrote: Guys, recently I needed to work with RTEMS/NFS. As this is provided by libbsd I took this and following two sentences below from master branch description provided in README I took as granted that master does have all the features which are currently available and provided by the project: "This branch must be used for libbsd development. Back ports to the 6-freebsd-12 are allowed." I was surprised to be proven wrong then by Fabrizio here: https://devel.rtems.org/ticket/4723 and by later investigation which shows that 6-freebsd-12 branch accumulated NFS work by Chris done in 2021 which is not presented on master. I've investigated just NFS as this was my focus here. So if 6-freebsd-12 became development branch of some sort, then it would be great to have that clarified in the project README file to prevent users confusion? Or if the policy is still the same, then perhaps some branch sync is needed here? That currently is an open issue. Basically there is a pending patch set that should fix that since several months. But there is a disagreement about some of the changes in that patch set (and about the patches checked in to 6-freebsd-12). Therefore, it still hasn't been merged. If you want to know some more about the problematic points, I recommend reading this (long) thread: https://lists.rtems.org/pipermail/devel/2023-January/074164.html The statement that development has to happen on the master branch is still true. The master is intended to track the FreeBSD upstream development. Only changes on that branch are guaranteed to live through an upgrade to a newer base version of FreeBSD. It's very unfortunate, that there are some patches on the 6-freebsd-12 branch only. On the long term, that issue has to be resolved. I have been investigating this problem in the background, and I have some findings and some questions. First, I have found that there is a most-common ancestor between master and 6-freebsd-12 at commit https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12=2ce13cf6dc73855f28bc7edbbc64dc4b482a4976 This is at least promising that the discrepancy between the branches can be resolved. The proposed pending patch set to "fix" the NFS issue does not fix the underlying problem. Instead, it introduces further divergence between the branches. I would instead suggest that we should resolve to fix the underlying problem. I can see two paths forward. 1. Abandon 6-freebsd-12 after releasing 6. This is probably not ideal since what I understand is some users have projects based on 6-freebsd-12 and would like an upgrade path. (I guess there is also the option to abandon master, which also makes little sense.) A variant for this would be to introduce a 6-freebsd-13 that is based on the master branch as soon as we have one. That would allow a longer maintenance because FreeBSD 12 reaches it's EoL December 2023. 2. Pull commits from 6-freebsd-12 into master to make sure master is the development head. in the future, reject patches that only go toward release branches. This has its own problems too. It can realistically only be done in three ways: Please note that Sebastian mentioned that the file descriptors broke the NTP support (at least I think it was NTP; possible that it was another submodule). So picking the current version of the patches into the master without adding fixes makes the master unusable for some cases. 2a: Rebase master and cherry-pick commits from 6-freebsd-12 and master back into master. This rewrites the history of master, and unfortunately will cause the head of 5-freebsd-12 and the tags for rtems-5 to no longer exist on the master branch. They will still exist in the '5' branch. The advantage is in the end there will be a linear history of development on master that reflects the timeline of actual development that spanned both branches. Theoretically, this should make it easier to git-bisect. 2b: Cherry-pick commits from 6-freebsd-12 to master and fix conflicts. This puts all the missing commits from 6-freebsd-12 on to the current head of master. I don't know how messy this would be. It ends up making the history of master convoluted to understand, with fairly old commits from 2018 being placed on top of newer commits from 2020s. 2c: Merge 6-freebsd-12 into master and fixup conflicts in the merge commit. This is pretty similar to 2a but ends up with a non-linear history and a merge commit. It may be a fairly complex merge commit. For all of the 2x solutions: The commits from 6-freebsd-12 can't just be cherry-picked. You have to re-import the NFS files from the FreeBSD master version that is used as base for the current libbsd master. Otherwise we mix different FreeBSD source versions. We had that some time back in libbsd and Sebastian needed a lot of time cleaning
Re: [PATCH] wscript: Deduplicate installed files
It's already in a common objxilinxsupport.yml file. The problem is that it is being included by two different drivers both imported from the xilinx upstream driver repo, so it currently attempts to install those shared headers twice. I suppose the solution could be to bundle the shared code together with any drivers that depend on it in a single obj*.yml. Kinsey On 2/3/2023 1:11 PM, Sebastian Huber wrote: On 03.02.23 19:45, Kinsey Moore wrote: This is my first stab at solving this duplicate install problem. I could manually solve the problem by deduplicating the object includes and moving it up to the BSP, but that is less intuitive since these drivers both depend on the same code and the BSP doesn't depend on it directly. Why don't you add the shared stuff to a objxilcommon.yml? The approach in the wscript is a bit complex from my point of view. ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH] wscript: Deduplicate installed files
On 03.02.23 19:45, Kinsey Moore wrote: This is my first stab at solving this duplicate install problem. I could manually solve the problem by deduplicating the object includes and moving it up to the BSP, but that is less intuitive since these drivers both depend on the same code and the BSP doesn't depend on it directly. Why don't you add the shared stuff to a objxilcommon.yml? The approach in the wscript is a bit complex from my point of view. -- embedded brains GmbH Herr Sebastian HUBER Dornierstr. 4 82178 Puchheim Germany email: sebastian.hu...@embedded-brains.de phone: +49-89-18 94 741 - 16 fax: +49-89-18 94 741 - 08 Registergericht: Amtsgericht München Registernummer: HRB 157899 Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler Unsere Datenschutzerklärung finden Sie hier: https://embedded-brains.de/datenschutzerklaerung/ ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: libbsd development policy clarification needed?
On Thu, Feb 2, 2023 at 11:24 PM Christian MAUDERER wrote: > > Hello Karel, > > On 2023-02-02 12:43, Karel Gardas wrote: > > > >Guys, > > > > recently I needed to work with RTEMS/NFS. As this is provided by libbsd > > I took this and following two sentences below from master branch > > description provided in README I took as granted that master does have > > all the features which are currently available and provided by the project: > > > > "This branch must be used for libbsd development. Back ports to the > > 6-freebsd-12 are allowed." > > > > I was surprised to be proven wrong then by Fabrizio here: > > https://devel.rtems.org/ticket/4723 > > > > and by later investigation which shows that 6-freebsd-12 branch > > accumulated NFS work by Chris done in 2021 which is not presented on > > master. I've investigated just NFS as this was my focus here. > > > > So if 6-freebsd-12 became development branch of some sort, then it would > > be great to have that clarified in the project README file to prevent > > users confusion? Or if the policy is still the same, then perhaps some > > branch sync is needed here? > > That currently is an open issue. Basically there is a pending patch set > that should fix that since several months. But there is a disagreement > about some of the changes in that patch set (and about the patches > checked in to 6-freebsd-12). Therefore, it still hasn't been merged. > > If you want to know some more about the problematic points, I recommend > reading this (long) thread: > > https://lists.rtems.org/pipermail/devel/2023-January/074164.html > > The statement that development has to happen on the master branch is > still true. The master is intended to track the FreeBSD upstream > development. Only changes on that branch are guaranteed to live through > an upgrade to a newer base version of FreeBSD. It's very unfortunate, > that there are some patches on the 6-freebsd-12 branch only. On the long > term, that issue has to be resolved. > I have been investigating this problem in the background, and I have some findings and some questions. First, I have found that there is a most-common ancestor between master and 6-freebsd-12 at commit https://git.rtems.org/rtems-libbsd/commit/?h=6-freebsd-12=2ce13cf6dc73855f28bc7edbbc64dc4b482a4976 This is at least promising that the discrepancy between the branches can be resolved. The proposed pending patch set to "fix" the NFS issue does not fix the underlying problem. Instead, it introduces further divergence between the branches. I would instead suggest that we should resolve to fix the underlying problem. I can see two paths forward. 1. Abandon 6-freebsd-12 after releasing 6. This is probably not ideal since what I understand is some users have projects based on 6-freebsd-12 and would like an upgrade path. (I guess there is also the option to abandon master, which also makes little sense.) 2. Pull commits from 6-freebsd-12 into master to make sure master is the development head. in the future, reject patches that only go toward release branches. This has its own problems too. It can realistically only be done in three ways: 2a: Rebase master and cherry-pick commits from 6-freebsd-12 and master back into master. This rewrites the history of master, and unfortunately will cause the head of 5-freebsd-12 and the tags for rtems-5 to no longer exist on the master branch. They will still exist in the '5' branch. The advantage is in the end there will be a linear history of development on master that reflects the timeline of actual development that spanned both branches. Theoretically, this should make it easier to git-bisect. 2b: Cherry-pick commits from 6-freebsd-12 to master and fix conflicts. This puts all the missing commits from 6-freebsd-12 on to the current head of master. I don't know how messy this would be. It ends up making the history of master convoluted to understand, with fairly old commits from 2018 being placed on top of newer commits from 2020s. 2c: Merge 6-freebsd-12 into master and fixup conflicts in the merge commit. This is pretty similar to 2a but ends up with a non-linear history and a merge commit. It may be a fairly complex merge commit. To get a sense of the difference between the two branches, I have done the following command: $ git log --pretty=oneline master...6-freebsd-12 > ../log.txt This uses the ... (three-dot) Symmetric Difference Notation. The result of that is a 750 line file, so 750 commits are different between the two branches. Some of those commits are actually the same content, but they have different parents so different hashes. In a rebase or merge situation, those commits should end up the same. There may be other git-fu to find just the patches that are unique in the two branches. In any case, doing this in a way that ensures the commits build and tests run is challenging due to the interactions with the rtems.git, toolchain, and the submodules. After the 6-freebsd-12 and master are made
Re: [PATCH] wscript: Deduplicate installed files
This is my first stab at solving this duplicate install problem. I could manually solve the problem by deduplicating the object includes and moving it up to the BSP, but that is less intuitive since these drivers both depend on the same code and the BSP doesn't depend on it directly. Kinsey On 2/3/2023 12:36 PM, Kinsey Moore wrote: The addition of the NAND and NOR drivers both depending on the Xilinx support code independently has introduced the possibility of duplicate installed headers. This duplication results in multiple header install attempts which can conflict since the installs can run on multiple CPUs. This change to wscript deduplicates the header installs individually as necessary. This change ignores identical installs and throws an error on different header installs to the same location. --- wscript | 33 - 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/wscript b/wscript index a34cac51e2..385ba8eb1c 100755 --- a/wscript +++ b/wscript @@ -269,8 +269,39 @@ class Item(object): bld.install_files(install_path, self.get(bld, "target")) def install_files(self, bld): +if "rtems_installed" not in bld.env: +bld.env["rtems_installed"] = {} + for install in self.data["install"]: -bld.install_files(install["destination"], install["source"]) +# setup destination array if it doesn't exist +dest = install["destination"] +if dest not in bld.env.rtems_installed: +bld.env["rtems_installed"][dest] = [] + +# build deduplicated install set +dedup_set = [] + +for item in install["source"]: +# search for duplicate installs +match_found = False +filename = os.path.basename(item) + +for existing in bld.env["rtems_installed"][dest]: +if existing[0] == filename: +# duplicate found +if item != existing[1]: +bld.fatal(("File installs {} and {} " + +"target the same location").format( +item, existing[1])) +match_found = True +break + +if not match_found: +dedup_set.append(item) +bld.env["rtems_installed"][dest].append([filename, item]) + +if len(dedup_set): +bld.install_files(dest, dedup_set) def asm(self, bld, bic, source, target=None): if target is None: ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH] wscript: Deduplicate installed files
The addition of the NAND and NOR drivers both depending on the Xilinx support code independently has introduced the possibility of duplicate installed headers. This duplication results in multiple header install attempts which can conflict since the installs can run on multiple CPUs. This change to wscript deduplicates the header installs individually as necessary. This change ignores identical installs and throws an error on different header installs to the same location. --- wscript | 33 - 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/wscript b/wscript index a34cac51e2..385ba8eb1c 100755 --- a/wscript +++ b/wscript @@ -269,8 +269,39 @@ class Item(object): bld.install_files(install_path, self.get(bld, "target")) def install_files(self, bld): +if "rtems_installed" not in bld.env: +bld.env["rtems_installed"] = {} + for install in self.data["install"]: -bld.install_files(install["destination"], install["source"]) +# setup destination array if it doesn't exist +dest = install["destination"] +if dest not in bld.env.rtems_installed: +bld.env["rtems_installed"][dest] = [] + +# build deduplicated install set +dedup_set = [] + +for item in install["source"]: +# search for duplicate installs +match_found = False +filename = os.path.basename(item) + +for existing in bld.env["rtems_installed"][dest]: +if existing[0] == filename: +# duplicate found +if item != existing[1]: +bld.fatal(("File installs {} and {} " + +"target the same location").format( +item, existing[1])) +match_found = True +break + +if not match_found: +dedup_set.append(item) +bld.env["rtems_installed"][dest].append([filename, item]) + +if len(dedup_set): +bld.install_files(dest, dedup_set) def asm(self, bld, bic, source, target=None): if target is None: -- 2.30.2 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH 1/1] Modified Hello World
Thanks, you can email a screenshot to me and j...@rtems.org. On Tue, Jan 31, 2023 at 9:24 PM Jviraj wrote: > > From: Viraj Jagadale > > --- > testsuites/samples/hello/init.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/testsuites/samples/hello/init.c b/testsuites/samples/hello/init.c > index 83f6342ab3..575d6e4c46 100644 > --- a/testsuites/samples/hello/init.c > +++ b/testsuites/samples/hello/init.c > @@ -41,7 +41,7 @@ static rtems_task Init( > { >rtems_print_printer_fprintf_putc(_test_printer); >TEST_BEGIN(); > - printf( "Hello World\n" ); > + printf( "Hello! This is Viraj from the dark side!\n" ); >TEST_END(); >rtems_test_exit( 0 ); > } > -- > 2.25.1 > > ___ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel