Purpose of openwrt-devel?

Olliver Schinagl oliver at schinagl.nl
Sun Mar 24 00:49:21 PDT 2024


On 24-03-2024 06:35, Elliott Mitchell wrote:
> On Sat, Mar 23, 2024 at 10:02:39PM +0100, Olliver Schinagl wrote:
>> On 23-03-2024 18:51, Elliott Mitchell wrote:
>>> On Sat, Mar 23, 2024 at 03:15:44AM +0100, Olliver Schinagl wrote:
>>>
>>>>> Odd thing about what you put in parentheses.  I've been trying to get a
>>>>> discussion going about that for months, yet seems no one notices the
>>>>> suggestion.  This was a distinct goal of the script, to hopefully get
>>>>> that discussion going.
>>>>
>>>> To update all targets at once? How is that useful?!
>>>
>>> Taking the unusual step of splitting a paragraph since that is needed
>>> in this case.
>>>
>>> I've cited two specific reasons in a recent message.  I keep citing those
>>> reasons again and again and again.  Yet get no response.
>>>
>>> This makes it *much* easier to change defaults in "generic".  Instead of
>>> needing to touch a bunch of configurations with different versions, you
>>> can simply touch all configurations with one version.  If you're unlucky
>>> and a new kernel cycle starts before approval or rejection, you can
>>> rebase one copy onto the rename commit and another onto the merge commit.
>>> You then rebase these on top of each other and then squash, the result is
>>> you're onto the latest with minimal trouble.  Without this trying to
>>> modify values effecting multiple devices is an absolute nightmare
>>> (believe me, I know!).
>>
>> Hmm, afaik this is what openwrt does right now, the generic config is
>> applied to all targets, and you put your device specific configuration
>> in your platform config. This makes sense, because you don't want to
>> compile all drivers for all targets into your tiny router image, that is
>> restricted to 4MiB.
>>
>> So if there's something I'm missing, I do appologize :)
> 
> Uh huh.  If we were playing horseshoes with thermonuclear handgrenades,
> that response would get 0 points.  You completely missed the point.
> 
> 
> Let me add another advantage of doing everything at once.  The generated
> commits do not properly rebase.  Rebasing retains much of the advantage,
> but degrades things.

But we neve rebase master? So this would only affect the local changes 
for the developer? I do admit 'rebasing the local tree to get the latest 
status' is something needed for sure ... I'll check what happens if I do 
that as I'm curious how and what breaks.

> 
> As such doing all the duplication in one event allows someone who can
> directly commit do the task for everyone *once* per update cycle
> (presently once per year).  Device maintainers can then base off of that
> point and not worry about having non-rebasable commits.
> 
> 
>>>>> Then there are the things `kernel_upgrade.pl` can do which
>>>>> `kernel_bump.sh` has no equivalent.
>>>>
>>>> But what are they. And how are they relevant?
>>>
>>> You've been typing about how yours could upgrade everything by being
>>> called multiple times.  Since I was aiming to get the above issue
>>> discussed `scripts/kernel_upgrade.pl` has featured the capability to
>>> update everything all at once, from the start.
>>
>> The kitchen sink :) But honestly, have that discussion first with the
>> maintainers. Hauke is already much against it; which I get. Having
>> worked on a few targets, they are so diverse, bumping two at once just
>> doesn't make sense (today!).
> 
> I will not fully type up my viewpoint.  Bisecting inherently involves
> heuristics.  There may be an even number of changes between any two
> points, so bisecting involves arbitrarily choosing from a set.  The
> `git bisect skip` command exists because it *cannot* be perfect.
> 
> Meanwhile --find-copies-harder is sufficiently slow to call `git blame`
> effectively broken on OpenWRT.  It is too slow to be used for most of its
> intended use cases.
> 
> 
>>> In fact only upgrading a single board was a feature which had to be
>>> added.  Since I added fewer assumptions, mine makes no distinction
>>> between upgrading targets versus subtargets.  It can do multiple of both
>>> at the same time without any restrictions and a single invocation.
>>>
>>> In the process, only 2 commits are generated.  The under .5s is for
>>> updating *everything*.
>>
>> I have no idea how long it would take to update everything, but again,
>> the time factor is so irrelevant, it doesn't atter. Also, I too only
>> have 2 commits now, which until we get `git cp` will remain the minimum,
>> but more then a 'cp && git add'.
> 
> I haven't tested, but isn't that simply abandoning the approach of
> having history on everything and resorting to only having history on the
> up to date version?
> 
> I did think that was a viable approach, but it isn't what seemed to gain
> concensus.
> 
> 



More information about the openwrt-devel mailing list