All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC] patch file location
@ 2010-06-22  7:03 Frans Meulenbroeks
  2010-06-22  7:30 ` Marcin Juszkiewicz
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Frans Meulenbroeks @ 2010-06-22  7:03 UTC (permalink / raw)
  To: openembedded-devel

I'd like to draw the attention to the location of patch files.
My original understanding was that these should be in either the files
dir (if they apply to all), or in a dir with the name of the recipe
(replacing the _ with a - ).
And I kind-a assumed that if a patch is in a recipe dir it would have
priority above a version in the files dir.

However, this does not seem to be enforced.
I noticed some packages do also not live up to this.
One example is glibc.
Take one patch as example: arm-memcpy.patch:

This patch occurs in 5 dirs:

recipes/glibc$ ls -l */arm-memcpy*
-rw-r--r-- 1 frans frans 17071 2010-06-02 15:57 glibc-2.2.5/arm-memcpy.patch
-rw-r--r-- 1 frans frans 16957 2010-06-02 15:57 glibc-2.3.2/arm-memcpy.patch
-rw-r--r-- 1 frans frans 16960 2010-06-02 15:57 glibc-2.4/arm-memcpy.patch
-rw-r--r-- 1 frans frans 16993 2010-06-02 15:57 glibc-cvs-2.3.5/arm-memcpy.patch
-rw-r--r-- 1 frans frans 16960 2010-06-02 15:57 glibc-cvs/arm-memcpy.patch

Looking at the size these are at least 4 different versions

This patch is referenced in 14 recipes:

recipes/glibc$ grep arm-memcpy *
glibc_2.10.1.bb:           file://arm-memcpy.patch \
glibc_2.2.5.bb:	   file://arm-memcpy.patch;striplevel=0 \
glibc_2.3.2.bb: 	   file://arm-memcpy.patch;striplevel=0 \
glibc_2.3.2+cvs20040726.bb:	   file://arm-memcpy.patch;striplevel=0 \
glibc_2.3.3+cvs20041128.bb:	   file://arm-memcpy.patch;striplevel=0 \
glibc_2.3.3+cvs20050221.bb:	   file://arm-memcpy.patch;striplevel=0 \
glibc_2.3.3+cvs20050420.bb:	   file://arm-memcpy.patch;striplevel=0 \
glibc_2.3.5+cvs20050627.bb:	   file://arm-memcpy.patch \
glibc_2.4.bb:           file://arm-memcpy.patch \
glibc_2.5.bb:  file://arm-memcpy.patch \
glibc_2.6.1.bb:  file://arm-memcpy.patch \
glibc_2.7.bb:           file://arm-memcpy.patch \
glibc_2.9.bb:           file://arm-memcpy.patch \
glibc_cvs.bb:#	   file://arm-memcpy.patch;striplevel=0 \
glibc_cvs.bb:	   file://arm-memcpy.patch \

Frankly speaking I have no clue at all which version of the patch will
be used by the 2.10.1 recipe. The only ways to find out is to study
the class code that does the patch or to actually build the package
(in the hope it selects the patch in a deterministic way). I don't
think it is good that if someone is debugging a problem that they
should have such a hard time to find out what version of a file is
actually used

My proposal:
- only apply patches (seek for patches) in the recipe dir (e.g. in the
example for glibc_2.10.1.bb this would be glibc-2.10.1) and in the
files directory

(optionally we might allow for a mechanism that allows specifying
patches for higher level recipes; e.g. glibc_2.10.1 could look in
glibc-2.10.1, glibc-2.10, glibc-2, glibc and files).

How do people feel about this? Any implementation hints?

Frans



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-06-22 10:29 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-22  7:03 [RFC] patch file location Frans Meulenbroeks
2010-06-22  7:30 ` Marcin Juszkiewicz
2010-06-22  8:03   ` Frans Meulenbroeks
2010-06-22  8:38 ` Koen Kooi
2010-06-22  9:23 ` Phil Blundell
2010-06-22 10:25   ` Frans Meulenbroeks

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.