diff options
-rw-r--r-- | meta/classes/update-alternatives.bbclass | 95 |
1 files changed, 1 insertions, 94 deletions
diff --git a/meta/classes/update-alternatives.bbclass b/meta/classes/update-alternatives.bbclass index 2cadaf79e3..f75f5b6115 100644 --- a/meta/classes/update-alternatives.bbclass +++ b/meta/classes/update-alternatives.bbclass | |||
@@ -57,96 +57,12 @@ | |||
57 | # | 57 | # |
58 | # The package priority for a specific target | 58 | # The package priority for a specific target |
59 | # ALTERNATIVE_PRIORITY_<pkg>[name] = "priority" | 59 | # ALTERNATIVE_PRIORITY_<pkg>[name] = "priority" |
60 | # | ||
61 | # | ||
62 | # ----- | ||
63 | # | ||
64 | # | ||
65 | # The following describes deprecated behavior, using any of the | ||
66 | # following modes will result in a warning, and eventually an error: | ||
67 | # | ||
68 | # There are two basic modes supported: 'single update' and 'batch update' | ||
69 | # | ||
70 | # 'single update' is used for a single alternative command, and you're | ||
71 | # expected to provide at least below keywords: | ||
72 | # | ||
73 | # ALTERNATIVE_NAME - the name that the alternative is registered | ||
74 | # ALTERNATIVE_PATH - the path of installed alternative | ||
75 | # | ||
76 | # ALTERNATIVE_PRIORITY and ALTERNATIVE_LINK are optional which have defaults | ||
77 | # in this class. | ||
78 | # | ||
79 | # 'batch update' is used if you have multiple alternatives to be updated. | ||
80 | # Unlike 'single update', 'batch update' in most times only require two | ||
81 | # parameters: | ||
82 | # | ||
83 | # ALTERNATIVE_LINKS - a list of symbolic links for which you'd like to | ||
84 | # create alternatives, with space as delimiter, e.g: | ||
85 | # | ||
86 | # ALTERNATIVE_LINKS = "${bindir}/cmd1 ${sbindir}/cmd2 ..." | ||
87 | # | ||
88 | # ALTERNATIVE_PRIORITY - optional, applies to all | ||
89 | # | ||
90 | # To simplify the design, this class has the assumption that for a name | ||
91 | # listed in ALTERNATIVE_LINKS, say /path/cmd: | ||
92 | # | ||
93 | # the name of the alternative would be: cmd | ||
94 | # the path of installed alternative would be: /path/cmd.${BPN} | ||
95 | # ${D}/path/cmd will be renamed to ${D}/path/cmd.{BPN} automatically | ||
96 | # priority will be the same from ALTERNATIVE_PRIORITY | ||
97 | # | ||
98 | # If above assumption breaks your requirement, then you still need to use | ||
99 | # your own update-alternatives command directly. | ||
100 | 60 | ||
101 | # defaults | ||
102 | ALTERNATIVE_PRIORITY = "10" | 61 | ALTERNATIVE_PRIORITY = "10" |
103 | 62 | ||
104 | # The following code is deprecated, but included for compatibility with older packages | ||
105 | def update_alternatives_after_parse(d): | ||
106 | if bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d): | ||
107 | return | ||
108 | |||
109 | # The following code is deprecated, but included for compatibility with older packages | ||
110 | pn = d.getVar('BPN', True) | ||
111 | |||
112 | if d.getVar('ALTERNATIVE_LINKS') != None: | ||
113 | # Convert old format to new format... | ||
114 | alt_links = d.getVar('ALTERNATIVE_LINKS', True) or "" | ||
115 | for alt_link in alt_links.split(): | ||
116 | alt_name = os.path.basename(alt_link) | ||
117 | |||
118 | alternative = d.getVar('ALTERNATIVE_%s' % pn, True) or "" | ||
119 | alternative += " " + alt_name | ||
120 | d.setVar('ALTERNATIVE_%s' % pn, alternative) | ||
121 | d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link) | ||
122 | d.setVarFlag('ALTERNATIVE_TARGET', alt_name, alt_link) | ||
123 | return | ||
124 | |||
125 | if d.getVar('ALTERNATIVE_NAME') != None or d.getVar('ALTERNATIVE_PATH') != None: | ||
126 | # Convert old format to new format... | ||
127 | alt_name = d.getVar('ALTERNATIVE_NAME', True) | ||
128 | alt_path = d.getVar('ALTERNATIVE_PATH', True) | ||
129 | alt_link = d.getVar('ALTERNATIVE_LINK', True) or ("%s/%s" % (d.getVar('bindir', True), alt_name)) | ||
130 | if alt_name == None: | ||
131 | raise bb.build.build.FuncFailed("%s inherits update-alternatives but doesn't set ALTERNATIVE_NAME" % d.getVar('FILE')) | ||
132 | if alt_path == None: | ||
133 | raise bb.build.build.FuncFailed("%s inherits update-alternatives but doesn't set ALTERNATIVE_PATH" % d.getVar('FILE')) | ||
134 | |||
135 | alternative = d.getVar('ALTERNATIVE_%s' % pn, True) or "" | ||
136 | alternative += " " + alt_name | ||
137 | |||
138 | # Fix the alt_path if it's relative | ||
139 | alt_path = os.path.join(os.path.dirname(alt_link), alt_path) | ||
140 | |||
141 | d.setVar('ALTERNATIVE_%s' % pn, alternative) | ||
142 | d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link) | ||
143 | d.setVarFlag('ALTERNATIVE_TARGET', alt_name, alt_path) | ||
144 | |||
145 | |||
146 | # We need special processing for vardeps because it can not work on | 63 | # We need special processing for vardeps because it can not work on |
147 | # modified flag values. So we agregate the flags into a new variable | 64 | # modified flag values. So we agregate the flags into a new variable |
148 | # and include that vairable in the set. | 65 | # and include that vairable in the set. |
149 | |||
150 | UPDALTVARS = "ALTERNATIVE ALTERNATIVE_LINK_NAME ALTERNATIVE_TARGET ALTERNATIVE_PRIORITY" | 66 | UPDALTVARS = "ALTERNATIVE ALTERNATIVE_LINK_NAME ALTERNATIVE_TARGET ALTERNATIVE_PRIORITY" |
151 | 67 | ||
152 | def gen_updatealternativesvardeps(d): | 68 | def gen_updatealternativesvardeps(d): |
@@ -178,9 +94,6 @@ python __anonymous() { | |||
178 | bb.data.inherits_class('cross-canadian', d): | 94 | bb.data.inherits_class('cross-canadian', d): |
179 | return | 95 | return |
180 | 96 | ||
181 | # deprecated stuff... | ||
182 | update_alternatives_after_parse(d) | ||
183 | |||
184 | # compute special vardeps | 97 | # compute special vardeps |
185 | gen_updatealternativesvardeps(d) | 98 | gen_updatealternativesvardeps(d) |
186 | 99 | ||
@@ -202,9 +115,6 @@ def gen_updatealternativesvars(d): | |||
202 | ret.append(v + "_VARDEPS_" + p) | 115 | ret.append(v + "_VARDEPS_" + p) |
203 | return " ".join(ret) | 116 | return " ".join(ret) |
204 | 117 | ||
205 | # First the deprecated items... | ||
206 | populate_packages[vardeps] += "ALTERNATIVE_LINKS ALTERNATIVE_NAME ALTERNATIVE_PATH" | ||
207 | |||
208 | # Now the new stuff, we use a custom function to generate the right values | 118 | # Now the new stuff, we use a custom function to generate the right values |
209 | populate_packages[vardeps] += "${UPDALTVARS} ${@gen_updatealternativesvars(d)}" | 119 | populate_packages[vardeps] += "${UPDALTVARS} ${@gen_updatealternativesvars(d)}" |
210 | 120 | ||
@@ -215,10 +125,7 @@ python perform_packagecopy_append () { | |||
215 | # Check for deprecated usage... | 125 | # Check for deprecated usage... |
216 | pn = d.getVar('BPN', True) | 126 | pn = d.getVar('BPN', True) |
217 | if d.getVar('ALTERNATIVE_LINKS', True) != None: | 127 | if d.getVar('ALTERNATIVE_LINKS', True) != None: |
218 | bb.warn('%s: Use of ALTERNATIVE_LINKS is deprecated, see update-alternatives.bbclass for more info.' % pn) | 128 | bb.fatal('%s: Use of ALTERNATIVE_LINKS/ALTERNATIVE_PATH/ALTERNATIVE_NAME is no longer supported, please convert to the updated syntax, see update-alternatives.bbclass for more info.' % pn) |
219 | |||
220 | if d.getVar('ALTERNATIVE_NAME', True) != None or d.getVar('ALTERNATIVE_PATH', True) != None: | ||
221 | bb.warn('%s: Use of ALTERNATIVE_NAME is deprecated, see update-alternatives.bbclass for more info.' % pn) | ||
222 | 129 | ||
223 | # Do actual update alternatives processing | 130 | # Do actual update alternatives processing |
224 | pkgdest = d.getVar('PKGD', True) | 131 | pkgdest = d.getVar('PKGD', True) |