<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">On 1/8/24 10:12, Kirill A. Korinsky
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:FFBD241A-565E-48F2-BF20-A0B8A6B592AD@korins.ky">
<blockquote type="cite"><span style="white-space: pre-wrap"></span><span
style="white-space: pre-wrap">I don't think there should be overly much in the way of trouble if legacy reasonably disciplined about frequently applying commits from upstream to legacy. If it's done often, then one doesn't risk falling far behind and having a giant mess to clean up. Someone would probably want to write something to semi-automate it based on a CI for legacy systems. Such work would be beyond the scope of the main project of course, but it would also make life easier for the people interested in legacy. It might even be possible to create some override mechanisms to parse in / "#include" a "legacy" portfile in with the upstream maintained portfile to reduce file diffs in legacy.</span></blockquote>
<pre wrap="" class="moz-quote-pre">
Keep in mind that some new commits often broke old OS as well.
For example upgrade Rust which can be seen like a disaster for old systems.
</pre>
</blockquote>
<p>So I think that the solution there is (again) that legacy is
disciplined about not pulling in stuff that breaks it. David
Gilman is right that a social problem isn't always best solved
with technology, but I think in the present case, we have a great
deal of flexibility thanks to technology.</p>
<p>The Portfile format is, ingeniously, a tcl script. By adding a
small amount of fixes like allowing overlaying the main Portfile
with a legacy Portfile etc., it may be possible to make the whole
thing work quite cleanly without bothering "upstream" overly much.</p>
<p>It's unclear to me whether a repository consisting of "overlays"
or a fork that pulls from upstream is the better mechanism, but
that's a technical detail that can be hashed out.</p>
<p>Perry</p>
<p><br>
</p>
</body>
</html>