From mboxrd@z Thu Jan 1 00:00:00 1970 From: julia.lawall@lip6.fr (Julia Lawall) Date: Tue, 30 Oct 2018 21:09:27 +0100 (CET) Subject: [Cocci] sending out trewide patches In-Reply-To: <20181030200430.GS4170@linux.ibm.com> References: <20181027171438.GD4170@linux.ibm.com> <20181030194553.GR4170@linux.ibm.com> <20181030200430.GS4170@linux.ibm.com> Message-ID: To: cocci@systeme.lip6.fr List-Id: cocci@systeme.lip6.fr On Tue, 30 Oct 2018, Paul E. McKenney wrote: > On Tue, Oct 30, 2018 at 08:56:01PM +0100, Julia Lawall wrote: > > > > > > On Tue, 30 Oct 2018, Paul E. McKenney wrote: > > > > > On Sat, Oct 27, 2018 at 08:08:33PM +0200, Julia Lawall wrote: > > > > > > > > > > > > On Sat, 27 Oct 2018, Paul E. McKenney wrote: > > > > > > > > > On Sat, Oct 27, 2018 at 08:38:02AM +0200, Julia Lawall wrote: > > > > > > Hello, > > > > > > > > > > > > At OSS Europe, I got some questions about how to send out large > > > > > > Coccinelle-generated patches. Coccinelle provides a tool tools/splitpatch > > > > > > (go to the tools subdirectory of the Coccinelle distribution and run make) > > > > > > that splits patches by set of maintainers (the default), by directory > > > > > > (--dirmerge option), or by file (--nomerge option). There is a file > > > > > > tools/splitpatch.README that explains the various ways that it can be > > > > > > used, but the simplest is to create a patch normally using > > > > > > git format-patch -s, obtaining eg 0001-changes.patch, and then run > > > > > > > > > > > > splitpatch 0001-changes.patch > > > > > > > > > > > > The output will include a 0001-changes.cover file, a set of > > > > > > 0001-changesN.patch files with the various split patches, and a > > > > > > 0001-changes.cmd file for sending it off with git send-email. > > > > > > > > > > > > This is available in the latest github version of Coccinelle. Comments > > > > > > are welcome. > > > > > > > > > > Thank you, Julia! I will give it a try. > > > > > > Does the following error message mean that I need a more up-to-date > > > version of ocaml or some such? > > > > > > Thanx, Paul > > > > > > File "globals/config.ml", line 1: > > > Error: The implementation globals/config.ml > > > does not match the interface globals/config.cmi: > > > The field `python_interpreter' is required but not provided > > > The field `ocaml_version' is required but not provided > > > The field `configure_flags' is required but not provided > > > The field `get_temp_dir_name' is required but not provided > > > make: *** [globals/config.cmo] Error 2 > > > > I'm not familiar with that. I assume you started with the github version > > of Coccinelle. Then ./autogen and ./configure. Then make. A recent > > version of OCaml would indeed be good. Maybe running make distclean > > before ./autogen would be good. The inconsistencies suggest that you have > > some old compiled code hanging around. The build infrastructure has > > changed a lot recently, so it might not be managing code that predates the > > changes in a way that you would expect. > > Good point, that does work much better. Now -this- error message > seems to be me having an old ocaml: > > ocamlfind ocamlopt -c -no-alias-deps stdcompat__weak.mli -o stdcompat__weak.cmi > ocamlopt: unknown option `-no-alias-deps'. > > Will get a new one and see how it goes... ;-) What version do you have? I thought that the makefile would detect unsupported versions, so perhaps that check needs to be improved. julia