Blame view

buildroot/buildroot-2016.08.1/package/rpm/0007-parentdir-vs-requires.patch 1.08 KB
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
  Avoid looking up files or directories that this package provides
  Included upstream
  diff -u --new-file --recursive rpm-5.2.0_vanilla/lib/depends.c rpm-5.2.0_parentdir-vs-requires/lib/depends.c
  --- rpm-5.2.0_vanilla/lib/depends.c	2009-05-23 01:23:46.000000000 +0000
  +++ rpm-5.2.0_parentdir-vs-requires/lib/depends.c	2009-09-22 17:00:24.880956271 +0000
  @@ -2095,6 +2095,7 @@
       rpmtsi qi; rpmte q;
       tsortInfo tsi;
       nsType NSType = rpmdsNSType(requires);
  +    const char * N = rpmdsN(requires);
       fnpyKey key;
       int teType = rpmteType(p);
       alKey pkgKey;
  @@ -2128,6 +2129,23 @@
   	break;
       }
   
  +    /* Avoid looking up files/directories that are "owned" by _THIS_ package. */
  +    if (*N == '/') {
  +    rpmfi fi = rpmteFI(p, RPMTAG_BASENAMES);
  +    int bingo = 0;
  +
  +    fi = rpmfiInit(fi, 0);
  +    while (rpmfiNext(fi) >= 0) {
  +        const char * fn = rpmfiFN(fi);
  +        if (strcmp(N, fn))
  +        continue;
  +        bingo = 1;
  +        break;
  +    }
  +    if (bingo)
  +        return 0;
  +    }
  +
       pkgKey = RPMAL_NOMATCH;
       key = rpmalSatisfiesDepend(al, requires, &pkgKey);