uazo / bromite-buildtools

my build machine for bromite development
GNU General Public License v3.0
331 stars 10 forks source link

Create a patch analyzer #6

Open uazo opened 3 years ago

uazo commented 3 years ago

I'd like to create a patch analyzer. goals:

uazo commented 3 years ago

@csagan5 do you happen to know something ready?

csagan5 commented 3 years ago
  • understand which patches are superimposed on the same files, to improve them

I have some script to check for patches changing files which will not be compiled, but not very sophisticated.

  • verify that git apply works WITHOUT downloading the whole chromium repo (downloading only the files to be modified from the raw github urls)

This could be interesting to do some form of CI, but it would have to replay all the previous Bromite patches too; I am not interested in developing something like this because unfortunately there are not many contributors right now for Bromite, but feel free.

  • possibly allow me to modify the .patch files to add or remove lines without having to apply a real fixup or manage a fixup more easily

For patch management we should probably use something like https://wiki.debian.org/UsingQuilt

uazo commented 3 years ago

I am not interested in developing something like this because unfortunately there are not many contributors right now for Bromite, but feel free.

don't worry, I didn't want to ask you for any commitment.

if you want to see, this is a small prototype of what it is possible to do, the idea is to have a tools that facilitates the reading of the patches and their history without necessarily having to prepare everything locally. I often need to see how the chromium code was along with the patch, and then maybe it is also useful for reviews

https://uazo.github.io/superpatch/ it's all client, no use of dedicated servers

csagan5 commented 3 years ago

don't worry, I didn't want to ask you for any commitment.

It's ok, I mentioned it because I also thought of this but always concluded that it was not worth the effort; if it helps you, go ahead!

https://uazo.github.io/superpatch/

That looks impressive! I have in mind to develop something similar but to track Chromium features across releases.

uazo commented 3 years ago

That looks impressive!

Thank you! I did it, because, honestly, I got a little tired of doing everything by hand.. as soon as I set up the repo, feel free to write down what would be useful.

@wchen342 you are also welcome

wchen342 commented 3 years ago

I am not sure I understand the goals, especially

understand which patches are superimposed on the same files, to improve them check the new patches with respect to the current one and notify if the changes cover only the line numbers or even the code or if there are any lost changes

If you already have the new patches then you can just apply them? Or are you trying to make old patches "auto-correct" for the new source? Btw I use quilt to manage patches in ungoogled-chromium-android, I think it provides most of the abilities you are looking for?

uazo commented 3 years ago

Btw I use quilt to manage patches I think it provides most of the abilities you are looking for

I guess I have to study it then.

Or are you trying to make old patches "auto-correct" for the new source?

I still have little experience, but I would like to understand if there is a way to improve the patches so that they can be more easily applied to new versions of chromium, and yes, maybe automatically or semi-automatically via an application. I assume that the worst are those that overlap the changes on the same files, but maybe I waste my time, I don't know yet.

something I have already done using wiggle on @csagan5 tips, I would like to deepen the topic to get a clearer idea.

a bit like goma, I have to hit my head first (ah you know that - unfortunately - you were both right about goma?) or as for tests, the way of writing tests as the chromium team does, after writing a couple of proofs, I don't think is the right one now.

uazo commented 1 year ago

understand which patches are superimposed on the same files, to improve them

needed for https://github.com/uazo/bromite-buildtools/issues/193 and https://github.com/uazo/bromite-buildtools/issues/175

uazo commented 1 year ago

this happened:

image

it is necessary to provide a test such as no identical sections must be present in the patch seen in https://github.com/uazo/bromite-buildtools/issues/286