]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - doc/html/user-guide/managing-package-repository.html
Initial revision
[karo-tx-redboot.git] / doc / html / user-guide / managing-package-repository.html
1 <!-- Copyright (C) 2003 Red Hat, Inc.                                -->
2 <!-- This material may be distributed only subject to the terms      -->
3 <!-- and conditions set forth in the Open Publication License, v1.0  -->
4 <!-- or later (the latest version is presently available at          -->
5 <!-- http://www.opencontent.org/openpub/).                           -->
6 <!-- Distribution of the work or derivative of the work in any       -->
7 <!-- standard (paper) book form is prohibited unless prior           -->
8 <!-- permission is obtained from the copyright holder.               -->
9 <HTML
10 ><HEAD
11 ><TITLE
12 >Managing the Package Repository</TITLE
13 ><meta name="MSSmartTagsPreventParsing" content="TRUE">
14 <META
15 NAME="GENERATOR"
16 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
17 "><LINK
18 REL="HOME"
19 TITLE="eCos User Guide"
20 HREF="ecos-user-guide.html"><LINK
21 REL="UP"
22 TITLE="Configuration and the Package Repository"
23 HREF="configuration-and-the-package-repository.html"><LINK
24 REL="PREVIOUS"
25 TITLE="Modifying the Memory Layout"
26 HREF="modifying-the-memory-layout.html"><LINK
27 REL="NEXT"
28 TITLE="Package Structure"
29 HREF="package-structure.html"></HEAD
30 ><BODY
31 CLASS="CHAPTER"
32 BGCOLOR="#FFFFFF"
33 TEXT="#000000"
34 LINK="#0000FF"
35 VLINK="#840084"
36 ALINK="#0000FF"
37 ><DIV
38 CLASS="NAVHEADER"
39 ><TABLE
40 SUMMARY="Header navigation table"
41 WIDTH="100%"
42 BORDER="0"
43 CELLPADDING="0"
44 CELLSPACING="0"
45 ><TR
46 ><TH
47 COLSPAN="3"
48 ALIGN="center"
49 >eCos User Guide</TH
50 ></TR
51 ><TR
52 ><TD
53 WIDTH="10%"
54 ALIGN="left"
55 VALIGN="bottom"
56 ><A
57 HREF="modifying-the-memory-layout.html"
58 ACCESSKEY="P"
59 >Prev</A
60 ></TD
61 ><TD
62 WIDTH="80%"
63 ALIGN="center"
64 VALIGN="bottom"
65 ></TD
66 ><TD
67 WIDTH="10%"
68 ALIGN="right"
69 VALIGN="bottom"
70 ><A
71 HREF="package-structure.html"
72 ACCESSKEY="N"
73 >Next</A
74 ></TD
75 ></TR
76 ></TABLE
77 ><HR
78 ALIGN="LEFT"
79 WIDTH="100%"></DIV
80 ><DIV
81 CLASS="CHAPTER"
82 ><H1
83 ><A
84 NAME="MANAGING-PACKAGE-REPOSITORY">Chapter 29. Managing the Package Repository</H1
85 ><DIV
86 CLASS="TOC"
87 ><DL
88 ><DT
89 ><B
90 >Table of Contents</B
91 ></DT
92 ><DT
93 ><A
94 HREF="managing-package-repository.html#PACKAGE-INSTALLATION"
95 >Package Installation</A
96 ></DT
97 ><DT
98 ><A
99 HREF="package-structure.html"
100 >Package Structure</A
101 ></DT
102 ></DL
103 ></DIV
104 ><P
105 >A source distribution of <SPAN
106 CLASS="PRODUCTNAME"
107 >eCos</SPAN
108 > consists of a number of
109         packages, such as the kernel, the C library, and the
110         &micro;ITRON subsystems. These are
111         individually versioned in the tree structure of the source
112         code, to support distribution on a per-package basis and to
113         support third party packages whose versioning systems might be
114         different. The <SPAN
115 CLASS="PRODUCTNAME"
116 >eCos</SPAN
117 > <SPAN
118 CLASS="APPLICATION"
119 >Package
120           Administration Tool</SPAN
121 > is used to manage the
122         installation and removal of packages from a variety of sources
123         with potentially multiple versions.</P
124 ><P
125 >The presence of the version information in the source tree
126         structure might be a hindrance to the use of a separate source
127         control system such as <SPAN
128 CLASS="emphasis"
129 ><I
130 CLASS="EMPHASIS"
131 >CVS</I
132 ></SPAN
133 > or
134         <SPAN
135 CLASS="emphasis"
136 ><I
137 CLASS="EMPHASIS"
138 >SourceSafe</I
139 ></SPAN
140 >. To work
141         in this way, you can rename all the version components to some
142         common name (such as &#8220;current&#8221;) thus unifying the
143         structure of source trees from distinct <SPAN
144 CLASS="PRODUCTNAME"
145 >eCos</SPAN
146 > releases.</P
147 ><P
148 >The <SPAN
149 CLASS="PRODUCTNAME"
150 >eCos</SPAN
151 > build system will treat any such name as just another
152 version of the package(s), and support building in exactly the same
153 way. However, performing this rename invalidates any existing build
154 trees that referred to the versioned source tree, so do the rename
155 first, before any other work, and do a complete rebuild afterwards.</P
156 ><DIV
157 CLASS="SECT1"
158 ><H1
159 CLASS="SECT1"
160 ><A
161 NAME="PACKAGE-INSTALLATION">Package Installation</H1
162 ><P
163 >Package installation and removal is performed using the
164           <SPAN
165 CLASS="PRODUCTNAME"
166 >eCos</SPAN
167 > <SPAN
168 CLASS="APPLICATION"
169 >Package Administration Tool</SPAN
170 >. This
171           tool is a Tcl script named
172         <B
173 CLASS="COMMAND"
174 >ecosadmin.tcl</B
175 > which allows
176           the user to add new <SPAN
177 CLASS="PRODUCTNAME"
178 >eCos</SPAN
179 > packages and new versions of
180           existing packages to an <SPAN
181 CLASS="PRODUCTNAME"
182 >eCos</SPAN
183 > repository. Such packages must
184           be distributed as a single file in the <SPAN
185 CLASS="PRODUCTNAME"
186 >eCos</SPAN
187 > package
188           distribution format. Unwanted packages may also be removed
189           from the repository using this tool. A graphical version of
190           the tool is provided as part of the
191           <SPAN
192 CLASS="PRODUCTNAME"
193 >eCos</SPAN
194 > <SPAN
195 CLASS="APPLICATION"
196 >Configuration Tool</SPAN
197 >.</P
198 ><DIV
199 CLASS="SECT2"
200 ><H2
201 CLASS="SECT2"
202 ><A
203 NAME="AEN3071">Using the Administration Tool</H2
204 ><P
205 >The graphical
206 version of the <SPAN
207 CLASS="PRODUCTNAME"
208 >eCos</SPAN
209 > <SPAN
210 CLASS="APPLICATION"
211 >Package
212 Administration Tool</SPAN
213 >, provided as part of the
214 <SPAN
215 CLASS="PRODUCTNAME"
216 >eCos</SPAN
217 > <SPAN
218 CLASS="APPLICATION"
219 >Configuration
220 Tool</SPAN
221 >, provides functions equivalent to the command-line
222 version for those who prefer a Windows-based interface.</P
223 ><P
224 >It may be invoked in one of two ways:</P
225 ><P
226 ></P
227 ><UL
228 ><LI
229 ><P
230 >from the <SPAN
231 CLASS="GUIMENU"
232 >start menu</SPAN
233 > (by default
234                 <SPAN
235 CLASS="GUIMENUITEM"
236 >Start-&gt;Programs-&gt;
237                   eCos-&gt;Package Administration
238                   Tool</SPAN
239 >)</P
240 ></LI
241 ><LI
242 ><P
243 >from the <SPAN
244 CLASS="PRODUCTNAME"
245 >eCos</SPAN
246 > <SPAN
247 CLASS="APPLICATION"
248 >Configuration
249                   Tool</SPAN
250 > via the
251                 <SPAN
252 CLASS="GUIMENUITEM"
253 >Tools-&gt;Administration</SPAN
254 >
255                 menu item</P
256 ></LI
257 ></UL
258 ><P
259 ><P
260 ><IMG
261 SRC="pix/admin.png"></P
262 ></P
263 ><P
264 >The main window of the tool displays the packages which are
265 currently installed in the form of a tree. The installed versions
266 of each package may be examined by expanding the tree.</P
267 ><P
268 >Packages may be added to the <SPAN
269 CLASS="PRODUCTNAME"
270 >eCos</SPAN
271 > repository by clicking on
272 the <SPAN
273 CLASS="emphasis"
274 ><I
275 CLASS="EMPHASIS"
276 >Add</I
277 ></SPAN
278 > button. The <SPAN
279 CLASS="PRODUCTNAME"
280 >eCos</SPAN
281 > package distribution
282 file to be added is then selected via a <SPAN
283 CLASS="emphasis"
284 ><I
285 CLASS="EMPHASIS"
286 >File Open</I
287 ></SPAN
288 > dialog
289 box.</P
290 ><P
291 >Packages may be removed by selecting a package in the tree
292 and then clicking on the <SPAN
293 CLASS="emphasis"
294 ><I
295 CLASS="EMPHASIS"
296 >Remove</I
297 ></SPAN
298 > button. If
299 a package node is selected, all versions of the selected package
300 will be removed. If a package version node is selected, only the
301 selected version of the package will be removed.</P
302 ></DIV
303 ><DIV
304 CLASS="SECT2"
305 ><H2
306 CLASS="SECT2"
307 ><A
308 NAME="AEN3099">Using the command line</H2
309 ><P
310 >The <B
311 CLASS="COMMAND"
312 >ecosadmin.tcl</B
313 >
314             script is located in the base of the <SPAN
315 CLASS="PRODUCTNAME"
316 >eCos</SPAN
317 > repository. Use
318             a command of the following form under versions of
319             UNIX:</P
320 ><TABLE
321 BORDER="5"
322 BGCOLOR="#E0E0F0"
323 WIDTH="70%"
324 ><TR
325 ><TD
326 ><PRE
327 CLASS="SCREEN"
328 >$ tclsh ecosadmin.tcl &lt;command&gt;</PRE
329 ></TD
330 ></TR
331 ></TABLE
332 ><P
333 >Under Windows, a command of the following form may be used
334 at the Cygwin command line prompt:</P
335 ><TABLE
336 BORDER="5"
337 BGCOLOR="#E0E0F0"
338 WIDTH="70%"
339 ><TR
340 ><TD
341 ><PRE
342 CLASS="SCREEN"
343 >$ cygtclsh80 ecosadmin.tcl &lt;command&gt;</PRE
344 ></TD
345 ></TR
346 ></TABLE
347 ><P
348 >The following commands are available:</P
349 ><P
350 ></P
351 ><DIV
352 CLASS="VARIABLELIST"
353 ><DL
354 ><DT
355 ><B
356 CLASS="COMMAND"
357 >add &lt;file&gt;</B
358 ></DT
359 ><DD
360 ><P
361 >Adds the packages contained with the specified package distribution
362 file to the <SPAN
363 CLASS="PRODUCTNAME"
364 >eCos</SPAN
365 > repository and updates the package database accordingly.
366 By convention, <SPAN
367 CLASS="PRODUCTNAME"
368 >eCos</SPAN
369 > package distribution files are given the <TT
370 CLASS="FILENAME"
371 >.epk</TT
372 > suffix.</P
373 ></DD
374 ><DT
375 ><B
376 CLASS="COMMAND"
377 >remove &lt;package&gt; [ --version=&lt;version&gt; ]</B
378 ></DT
379 ><DD
380 ><P
381 >Removes the specified package from the <SPAN
382 CLASS="PRODUCTNAME"
383 >eCos</SPAN
384 >
385                   repository and updates the package database
386                   accordingly. Where the optional version qualifier is
387                   used, only the specified version of the package is
388                   removed.</P
389 ></DD
390 ><DT
391 ><B
392 CLASS="COMMAND"
393 >list</B
394 ></DT
395 ><DD
396 ><P
397 >Produces a list of the packages which
398                   are currently installed and their versions. The
399                   available templates and hardware targets are also
400                   listed.</P
401 ></DD
402 ></DL
403 ></DIV
404 ><P
405 >Note that is is possible to remove critical packages
406             such as the common HAL package using this tool. Users
407             should take care to avoid such errors since core <SPAN
408 CLASS="PRODUCTNAME"
409 >eCos</SPAN
410 >
411             packages may only be re-installed in the context of a
412             complete re-installation of <SPAN
413 CLASS="PRODUCTNAME"
414 >eCos</SPAN
415 >.</P
416 ></DIV
417 ></DIV
418 ></DIV
419 ><DIV
420 CLASS="NAVFOOTER"
421 ><HR
422 ALIGN="LEFT"
423 WIDTH="100%"><TABLE
424 SUMMARY="Footer navigation table"
425 WIDTH="100%"
426 BORDER="0"
427 CELLPADDING="0"
428 CELLSPACING="0"
429 ><TR
430 ><TD
431 WIDTH="33%"
432 ALIGN="left"
433 VALIGN="top"
434 ><A
435 HREF="modifying-the-memory-layout.html"
436 ACCESSKEY="P"
437 >Prev</A
438 ></TD
439 ><TD
440 WIDTH="34%"
441 ALIGN="center"
442 VALIGN="top"
443 ><A
444 HREF="ecos-user-guide.html"
445 ACCESSKEY="H"
446 >Home</A
447 ></TD
448 ><TD
449 WIDTH="33%"
450 ALIGN="right"
451 VALIGN="top"
452 ><A
453 HREF="package-structure.html"
454 ACCESSKEY="N"
455 >Next</A
456 ></TD
457 ></TR
458 ><TR
459 ><TD
460 WIDTH="33%"
461 ALIGN="left"
462 VALIGN="top"
463 >Modifying the Memory Layout</TD
464 ><TD
465 WIDTH="34%"
466 ALIGN="center"
467 VALIGN="top"
468 ><A
469 HREF="configuration-and-the-package-repository.html"
470 ACCESSKEY="U"
471 >Up</A
472 ></TD
473 ><TD
474 WIDTH="33%"
475 ALIGN="right"
476 VALIGN="top"
477 >Package Structure</TD
478 ></TR
479 ></TABLE
480 ></DIV
481 ></BODY
482 ></HTML
483 >