211 than the latest version of that same package name in the newer release |
211 than the latest version of that same package name in the newer release |
212 branch. Otherwise the audits from Release Engineering will complain and |
212 branch. Otherwise the audits from Release Engineering will complain and |
213 our gatekeeper will make you do a follow-up push to fix this. |
213 our gatekeeper will make you do a follow-up push to fix this. |
214 |
214 |
215 # vi:set fdm=marker expandtab ts=4: |
215 # vi:set fdm=marker expandtab ts=4: |
|
216 |
|
217 ============================= |
|
218 Component EOF (End Of Feature) |
|
219 ============================= |
|
220 This is a brief description on how to remove a component from Userland for |
|
221 an EOF. |
|
222 |
|
223 Deleting the Component |
|
224 ---------------------- |
|
225 |
|
226 At some point, you will need to do a "hg remove" of the component's directory. |
|
227 This can be done before or after you make the necessary entry in the |
|
228 components/meta-packages/history/history file. In this file you will see plenty |
|
229 of examples like this: |
|
230 |
|
231 backup/[email protected] |
|
232 |
|
233 You will need to make sure you have the correct package name, version, and |
|
234 build you are targeting for the EOF for your new entry. Also check for an old |
|
235 SUNW entry at the top of the file. If there is one you will need to change |
|
236 this to match the targeted build. So something like this: |
|
237 |
|
238 [email protected],5.11-0.133 backup/[email protected] |
|
239 |
|
240 Should be changed to: |
|
241 |
|
242 [email protected] |
|
243 |
|
244 Remember that the package may have had numerous names in its history. |
|
245 Generally the way to find this is by using: |
|
246 |
|
247 pkg search -o search.match_type,pkg.name depend::<package name> |
|
248 |
|
249 First with the package to be EOF'ed, and then examining each of the dependent |
|
250 packages. If there are require dependencies on any of the dependents, then the |
|
251 latter should be examined to see if it need to be either EOF'ed at the same |
|
252 time, or at least updated to remove the dependency you're trying to EOF. |
|
253 |
|
254 Check to see if the package you are removing is referenced by a group package |
|
255 (pkg list -n 'group/*'). See the 'EOFs and Removals' and 'Group Packages' |
|
256 sections in /usr/src/pkg/README.pkg from the on-gate for further details. |
|
257 |
|
258 Testing |
|
259 ------- |
|
260 |
|
261 To test your changes the first thing you will need to do is to invoke |
|
262 'gmake publish' from the components/meta-packages/history directory or at the |
|
263 top level (a full Userland build) if you are removing multiple components. Once |
|
264 this is complete you will need to setup a client with the EOF package(s) |
|
265 installed. |
|
266 |
|
267 Then perform the following steps: |
|
268 |
|
269 1. # pkg set-publisher \ |
|
270 -P -p file:///net/strax/builds/your_name/your_dir/i386/repo |
|
271 |
|
272 |
|
273 If you are removing just a single component: |
|
274 |
|
275 2. pkg change-facet 'facet.version-lock.<eof_package_name_goes_here>=false' |
|
276 3. pkg update pkg://nightly/<eof_package_name_goes_here> |
|
277 |
|
278 After the update the component package should be removed from the test system. |
|
279 |
|
280 |
|
281 If you are removing multiple components: |
|
282 |
|
283 2. pkg change-facet \ |
|
284 version-lock.consolidation/userland/userland-incorporation=false |
|
285 3. pkg update pkg://nightly/consolidation/userland/userland-incorporation |
|
286 |
|
287 After the update the EOF component packages should be removed from the test |
|
288 system. |
|
289 |
|
290 For languages and anything else that has modules or is otherwise part of the |
|
291 Userland build environment you will need to do a full build, of both ISAs, on |
|
292 the test machines you just updated. |