tizen-platform-wrapper: update patch
[scm/bb/meta-tizen.git] / recipes-tizen / tizen-platform-wrapper / files / 0001-Add-env-value-SYSROOT-for-root-fs-prefix.patch
1 From 3f698caea8b6e35f89963e8ad633a9f6ca8f4970 Mon Sep 17 00:00:00 2001
2 From: Ronan Le Martret <ronan@fridu.net>
3 Date: Tue, 08 Jul 2014 10:40:21 +0200
4 Subject: [PATCH] Add env value SYSROOT for root fs prefix
5
6 Change-Id: I5c57494317473dcd74c85cbc2bce19a6d68c2739
7 Signed-off-by: Ronan Le Martret <ronan@fridu.net>
8 ---
9
10 diff --git a/src/foreign.c b/src/foreign.c
11 index a19f6ad..6b172b2 100644
12 --- a/src/foreign.c
13 +++ b/src/foreign.c
14 @@ -85,6 +85,11 @@
15          default: break;
16          }
17      }
18 +#if _FOREIGN_HAS_(SYSROOT)
19 +    else if (length == 7)
20 +        if (name[0]=='S' && name[1]=='Y' && name[2]=='S' && name[3]=='R' && name[4]=='O' && name[5]=='O' && name[6]=='T')
21 +            return SYSROOT;
22 +#endif
23      return _FOREIGN_INVALID_;
24  }
25  
26 diff --git a/src/foreign.h b/src/foreign.h
27 index 646a41d..6b1ea06 100644
28 --- a/src/foreign.h
29 +++ b/src/foreign.h
30 @@ -24,26 +24,28 @@
31  #ifndef FOREIGN_H
32  #define FOREIGN_H
33  
34 -#define _FOREIGN_MASK_HOME_    1
35 -#define _FOREIGN_MASK_UID_     2
36 -#define _FOREIGN_MASK_USER_    4
37 -#define _FOREIGN_MASK_GID_     8
38 -#define _FOREIGN_MASK_EHOME_  16
39 -#define _FOREIGN_MASK_EUID_   32
40 -#define _FOREIGN_MASK_EUSER_  64
41 +#define _FOREIGN_MASK_HOME_       1
42 +#define _FOREIGN_MASK_UID_        2
43 +#define _FOREIGN_MASK_USER_       4
44 +#define _FOREIGN_MASK_GID_        8
45 +#define _FOREIGN_MASK_EHOME_     16
46 +#define _FOREIGN_MASK_EUID_      32
47 +#define _FOREIGN_MASK_EUSER_     64
48 +#define _FOREIGN_MASK_SYSROOT_  128
49  
50  #define _FOREIGNS_TO_USE_   ( _FOREIGN_MASK_HOME_  \
51 -                            | _FOREIGN_MASK_USER_  )
52 +                            | _FOREIGN_MASK_USER_  \
53 +                            | _FOREIGN_MASK_SYSROOT_)
54  
55  #define _FOREIGN_HAS_(x)  (0 != ((_FOREIGNS_TO_USE_) & (_FOREIGN_MASK_##x##_)))
56  
57  enum fkey {
58 -    _FOREIGN_INVALID_ = -1, 
59 +    _FOREIGN_INVALID_ = -1,
60  #if _FOREIGN_HAS_(HOME)
61      HOME,
62  #endif
63  #if _FOREIGN_HAS_(UID)
64 -    UID, 
65 +    UID,
66  #endif
67  #if _FOREIGN_HAS_(USER)
68      USER,
69 @@ -52,14 +54,17 @@
70      GID, 
71  #endif
72  #if _FOREIGN_HAS_(EHOME)
73 -    EHOME, 
74 +    EHOME,
75  #endif
76  #if _FOREIGN_HAS_(EUID)
77 -    EUID, 
78 +    EUID,
79  #endif
80  #if _FOREIGN_HAS_(EUSER)
81      EUSER,
82  #endif
83 +#if _FOREIGN_HAS_(SYSROOT)
84 +    SYSROOT,
85 +#endif
86      _FOREIGN_COUNT_
87  };
88  
89 diff --git a/src/init.c b/src/init.c
90 index 76868cc..9d16d86 100644
91 --- a/src/init.c
92 +++ b/src/init.c
93 @@ -63,7 +63,8 @@
94  
95  #define _HAS_IDS_   (  _FOREIGN_HAS_(UID)  \
96                      || _FOREIGN_HAS_(EUID) \
97 -                    || _FOREIGN_HAS_(GID)  )
98 +                    || _FOREIGN_HAS_(GID)  \
99 +                    || _FOREIGN_HAS_(SYSROOT) )
100  
101  #define _HAS_PWS_   (  _FOREIGN_HAS_(HOME)  \
102                      || _FOREIGN_HAS_(USER)  \
103 @@ -275,7 +276,7 @@
104  }
105  
106  /* callback for solving variables */
107 -static const char *getcb( struct parsing *parsing, 
108 +static const char *getcb( struct parsing *parsing,
109              const char *key, size_t length,
110              size_t begin_pos, size_t end_pos)
111  {
112 @@ -284,6 +285,15 @@
113      size_t offset;
114      struct reading *reading = parsing->data;
115      int id;
116 +    char *res_sysroot;
117 +
118 +    if (strncmp( key, "SYSROOT", 7) == 0) {
119 +        res_sysroot = getenv("SYSROOT");
120 +        if (res_sysroot == NULL)
121 +            return "";
122 +        else
123 +            return res_sysroot;
124 +    }
125  
126      /* try to find a tzplatform variable */
127      id = hashid(key, length);