bsd-port repo organization
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Tue Sep 23 14:39:05 UTC 2025
I would recommend, given the circumstances, that you create two new
branches on that repo, named e.g. bsd-port and battleblow. The master
branch should not be touched -- it should just be left alone to
automatically keep in sync with master on mainline.
The core idea -- and this is a method shared by other projects -- is to
integrate multiple PRs into the "bsd-port" branch. That way, each
individual PR would be small and easy to review. If all individual PRs
going into "bsd-port" has been reviewed by reviewers X, Y, Z then these
persons will feel fairly confident that when the bsd-port will be
integrated into mainline -- as a single PR targeting the master branch
in the jdk repo -- that the code in that PR will be okay, since it just
consists of individually checked pieces, and can easily vouch for this
by giving their review.
So what about the battleblow branch? Well, as you say, the port exists
but have lived out-of-tree for a long time, so somehow you will have to
balance the needs of clean PRs for the bsd-port branch with the
real-world proven code from the battleblow repo. My suggestion is that
you create this special branch where you start by integrating individual
patches from the battleblow repo. Then, as you go along and integrate
PRs into bsd-port, you will slowly make bsd-port look more alike
battleblow. If it turns out that the PR into bsd-port needs to solve a
problem differently than in battleblow, my suggestion is that you push
an "adaptation PR" into battleblow, to change that patch into whatever
was pushed into bsd-port. That way, you have a clear definition of done:
Once the battleblow and bsd-port branches look identical, you're done.
(Unless you find issues that is not fixed in battleblow etc). And the
bsd-port will consists of a series of reviewed PRs, which means that
this is the best possible situation for creating a PR for mainline.
And the master branch in the bsd-repo? Well, from time to time, I
recommend you merge it into bsd-port and battleblow, to not have them
diverge too much from mainline. If you do that once a day or once a
month, I don't know. It depends on how fast you plan to move or how
likely it is that your changes will conflict with upcoming mainline
changes, and if you want to take the pain upfront or delay it until the
end. But you should never push anything into the master branch itself.
You will need to write a JEP before integrating into mainline, but this
strategy gives you a lot of time to work on that. You can still start
straight away with pushing PRs into the bsd-port.
/Magnus
On 2025-08-27 12:01, Harald Eilertsen wrote:
> Hi,
>
> As we now have a bsd-port repo under the OpenJDK organization on Github,
> I thought it would be a good time to discuss further progress on the BSD
> port, and how to organize how we work and use the repo.
>
> https://github.com/openjdk/bsd-port
>
> The repo is set up so that the master branch automatically track the
> openjdk/jdk repo master branch, and from what I gather, the normal
> openjdk workflow for integrating merge requests into the master branch
> apply. I.e. merge requests in the bsd-repo will be integrated into the
> mainline jdk branch.
>
> https://openjdk.org/guide/#contributing-to-an-openjdk-project
>
> As the BSD ports have lived for such a long time as out-of-tree ports,
> integrating the old patches as they were originally committed to the
> battleblow repos is not really feasible. Also trying to integrate the
> full port as one huge merge request will probably (and understandably)
> be rejected.
>
> In other words we need to find a way to break the current set of patches
> down to sensible changes that we can get integrated with relative ease.
>
> I've been adviced that we should also author a JEP that covers the
> integration of the BSD port into mainline. This will make it easier to
> get our changes accepted, and also help the upstream project to plan for
> the changes.
>
> https://openjdk.org/jeps/0
>
> I'm not sure how important the JEP is if we add changes gradually, but
> I'm thinking it won't hurt.
>
> Finally I think we should update the bsd-port wiki, but I don't seem
> to have edit rights for that yet.
>
> https://wiki.openjdk.org/display/BSDPort/Main
>
> I'd really like to get your feedback and thoughts on this.
>
> Take Care!
> Harald
More information about the bsd-port-dev
mailing list