Changes between Initial Version and Version 1 of EncapManEpkg


Ignore:
Timestamp:
08/11/06 07:03:06 (15 years ago)
Author:
dclark
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • EncapManEpkg

    v1 v1  
     1{{{ 
     2#!html 
     3<H2>NAME</H2> 
     4 
     5epkg - Encap package manager 
     6<A NAME="lbAC">&nbsp;</A> 
     7<H2>SYNOPSIS</H2> 
     8 
     9<B>epkg [options] [-i] pkgspec ...</B> 
     10<BR> 
     11 
     12<B>epkg [options] -r pkgspec ...</B> 
     13<BR> 
     14 
     15<B>epkg [options] -k pkgspec ...</B> 
     16<BR> 
     17 
     18<B>epkg [options] -u [pkgspec ...]</B> 
     19<BR> 
     20 
     21<B>epkg [options] -b</B> 
     22<BR> 
     23 
     24<B>epkg [options] -c</B> 
     25<A NAME="lbAD">&nbsp;</A> 
     26<H2>VERSION</H2> 
     27 
     28This man page documents version 2.3 of <B>epkg</B>. 
     29<A NAME="lbAE">&nbsp;</A> 
     30<H2>DESCRIPTION</H2> 
     31 
     32<B>epkg</B> is an <I>Encap</I> package manager.  It allows the administrator 
     33to flexibly install, remove, and manage software packages which are 
     34commonly installed in <I>/usr/local</I>. 
     35<P> 
     36<B>epkg</B> supports the <I>Encap 2.1</I> package format. 
     37<A NAME="lbAF">&nbsp;</A> 
     38<H2>PACKAGE MODES</H2> 
     39 
     40<B>epkg</B> has the following operating modes: 
     41<DL COMPACT> 
     42<DT><B>-b</B> 
     43 
     44<DD> 
     45Batch mode.  <B>epkg</B> will select the latest version of each package 
     46installed in the <I>Encap</I> source directory, remove all of the older 
     47versions, and install the latest version. 
     48<DT><B>-c</B> 
     49 
     50<DD> 
     51Clean target directory.  <B>epkg</B> will recursively go through the <I>Encap</I> 
     52target directory and remove any dangling symbolic links which point 
     53under the <I>Encap</I> source directory.  All subdirectories of the 
     54target directory are processed, except for the entries in the global 
     55exclude list (and, if <I>-E</I> is specified, <I>encap.exclude</I> 
     56entries in the target tree). 
     57<DT><B>-k</B> 
     58 
     59<DD> 
     60Check mode.  For each <I>pkgspec</I> listed on the commandline, <B>epkg</B> 
     61will check to see if the package is installed. 
     62<DT><B>-i</B> 
     63 
     64<DD> 
     65Install mode.  <B>epkg</B> will install only the package(s) specified 
     66on the commandline.  This mode is assumed if none are specified. 
     67<P> 
     68If versioning is on (see <I>-S</I>), <B>epkg</B> will scan the source 
     69directory for all versions of each <I>pkgspec</I> listed on the 
     70commandline.  It then selects one version to be installed, removes all 
     71the other versions, and installs the selected one.  If the 
     72<I>pkgspec</I> specifies a version, that version is selected for 
     73installation.  If no version is specified, the latest available 
     74version is selected. 
     75<P> 
     76If versioning is off, <B>epkg</B> will install only the exact package 
     77name and version which matches each <I>pkgspec</I> on the commandline. 
     78No other versions will be removed. 
     79<DT><B>-r</B> 
     80 
     81<DD> 
     82Remove mode.  <B>epkg</B> will remove the package(s) listed on 
     83the commandline. 
     84<P> 
     85If versioning is on (see <I>-S</I>), <B>epkg</B> will remove all 
     86versions of each <I>pkgspec</I> which do not specify a version.  For 
     87the <I>pkgspec</I>s which do specify a version, only that version is 
     88removed. 
     89<P> 
     90If versioning is off, only the exact package name and version which 
     91matches each <I>pkgspec</I> will be removed. 
     92<DT><B>-u</B> 
     93 
     94<DD> 
     95Update mode.  This mode will check a set of central distribution 
     96directories for new Encap packages and install them on the local system. 
     97The central distribution directories are referred to as the &quot;update path&quot;. 
     98<P> 
     99The update path is specified as a space-delimited list in the 
     100<B>ENCAP_UPDATE_PATH</B> environment variable.  In directory names, the 
     101special token &quot;%p&quot; is replaced by the host platform name. 
     102<P> 
     103If one or more <I>pkgspec</I>s are listed on the commandline, the update 
     104path is searched for newer versions of the listed packages than 
     105those that are already available on the system.  If a listed package 
     106is not available locally, any version of that package which is found in 
     107the update path is installed. 
     108<P> 
     109If no <I>pkgspec</I>s are given on the commandline, the update path 
     110is searched for newer versions of each of the packages which are already 
     111available on the system. 
     112</DL> 
     113<A NAME="lbAG">&nbsp;</A> 
     114<H2>OPTIONS</H2> 
     115 
     116Options which turn on or off features act as toggles.  Specifying them 
     117twice will return to the default behavior. 
     118<DL COMPACT> 
     119<DT><B>-1</B> 
     120 
     121<DD> 
     122Back off from most recent version.  In versioning install mode, for each 
     123<I>pkgspec</I> which doesn't specify a version, install the next-to-latest 
     124version of the package rather than the latest version. 
     125<DT><B>-a</B> 
     126 
     127<DD> 
     128Use absolute symlinks.  The default is to use relative links. 
     129<DT><B>-A platform_suffix</B> 
     130 
     131<DD> 
     132Add <I>platform_suffix</I> to the list of acceptable platform suffixes. 
     133Packages with any of the listed suffixes are considered acceptable for 
     134installation. 
     135<DT><B>-C</B> 
     136 
     137<DD> 
     138Client operation.  <B>epkg</B> will execute package scripts, but wont do any 
     139linking or removing.  This is useful when your Encap source and target 
     140directories are NFS-mounted on many client machines from a central 
     141server.  The linking or removing is taken care of on the server, but it 
     142is often desirable to run the package scripts on each client as well. 
     143<DT><B>-d</B> 
     144 
     145<DD> 
     146Tells <B>epkg</B> not to remove empty target directories. 
     147<DT><B>-D</B> 
     148 
     149<DD> 
     150Tells <B>epkg</B> not to honor <I>linkdir</I> directives in the packages 
     151it processes. 
     152<DT><B>-E</B> 
     153 
     154<DD> 
     155Check for <I>encap.exclude</I> files in places other than under the package 
     156directory.  This includes the <I>Encap</I> source directory itself and 
     157all directories in the <I>Encap</I> target tree.  This option is deprecated, 
     158and is provided only for compatibility reasons. 
     159<DT><B>-f</B> 
     160 
     161<DD> 
     162Force conflict resolution.  If a file already exists when 
     163<B>epkg</B> attempts to create a link, it will be removed so that the 
     164link can be created. 
     165<DT><B>-F</B> 
     166 
     167<DD> 
     168Display debugging output for update mode.  This is especially useful for 
     169FTP connections. 
     170<DT><B>-H host_platform</B> 
     171 
     172<DD> 
     173Use <I>host_platform</I> to identify the platform name of the machine 
     174<B>epkg</B> is running on.  If this option is not specified, the platform 
     175name is generated automatically. 
     176<DT><B>-K</B> 
     177 
     178<DD> 
     179Keep checking all update directories to find the latest matching 
     180package.  This option is enabled by default.  If disabled, <B>epkg</B> 
     181will stop looking for updates after the first update directory that 
     182contains any version of the requested package. 
     183<DT><B>-l</B> 
     184 
     185<DD> 
     186Disable transaction logging. 
     187<DT><B>-L</B> 
     188 
     189<DD> 
     190Tells <B>epkg</B> not to honor <I>linkname</I> directives in the packages 
     191it processes. 
     192<DT><B>-n</B> 
     193 
     194<DD> 
     195Show what operations would have been performed without actually doing 
     196anything. 
     197<DT><B>-N</B> 
     198 
     199<DD> 
     200Removes the default entries from the global exclude list. 
     201<DT><B>-o</B> 
     202 
     203<DD> 
     204Removes the default entries from the list of packages to automatically 
     205override. 
     206<P> 
     207The override list is primarily intended to help people transition from 
     208a monolithic <I>/usr/local</I> to using <I>Encap</I>. 
     209<DT><B>-O pkgspec</B> 
     210 
     211<DD> 
     212Add <I>pkgspec</I> to the list of packages whose links will be overriden 
     213when a new package is installed.  This option can be used multiple times. 
     214<DT><B>-p</B> 
     215 
     216<DD> 
     217Don't perform prerequisite checking. 
     218<DT><B>-P</B> 
     219 
     220<DD> 
     221Link or remove files directly in the package directory.  Normally, files 
     222in the package directory are not linked or removed.  Special package 
     223files, such as <I>encapinfo</I> and the package scripts, are not 
     224linked or removed even when <B>-P</B> is specified.  This option is deprecated, 
     225and is provided only for compatibility reasons. 
     226<DT><B>-q</B> 
     227 
     228<DD> 
     229Quiet mode.  <B>epkg</B> will not produce any output except for error 
     230messages. 
     231<DT><B>-R</B> 
     232 
     233<DD> 
     234Don't run package scripts. 
     235<DT><B>-s source_dir</B> 
     236 
     237<DD> 
     238Tells <B>epkg</B> to use <I>source_dir</I> as the <I>Encap</I> source 
     239directory.  If the source is not specified but the target is, 
     240<B>epkg</B> will assume the relative path from the target to the 
     241source is <I>encap/</I>.  If neither is specified, <B>epkg</B> will check the 
     242contents of the ENCAP_SOURCE environment variable.  If that is 
     243not set, it will use the default set at compile-time (usually 
     244<I>/usr/local/encap</I>). 
     245<DT><B>-S</B> 
     246 
     247<DD> 
     248Specific package only.  This tells <I>epkg</I> to disable versioning 
     249and operate only on the exact package and version specified. 
     250<P> 
     251This option is only meaningful in install and remove modes. 
     252<DT><B>-t target_dir</B> 
     253 
     254<DD> 
     255Tells <B>epkg</B> to use <I>target_dir</I> as the <I>Encap</I> target 
     256directory.  If the target is not specified but the source is, 
     257<B>epkg</B> will assume the relative path from the source to the 
     258target is <I>../</I>.  If neither is specified, <B>epkg</B> will check the 
     259contents of the <B>ENCAP_TARGET</B> environment variable.  If that is 
     260not set, it will use the default set at compile-time (usually 
     261<I>/usr/local</I>). 
     262<DT><B>-T</B> 
     263 
     264<DD> 
     265Don't automatically retry connections to update directories.  The 
     266default is to retry connections. 
     267<DT><B>-U update_dir</B> 
     268 
     269<DD> 
     270Prepends <I>update_dir</I> to the update path (which is specified by the 
     271<I>ENCAP_UPDATE_PATH</I> environment variable). 
     272<DT><B>-v</B> 
     273 
     274<DD> 
     275Increase verbosity.  This option can be specified multiple times. 
     276<DT><B>-V</B> 
     277 
     278<DD> 
     279Print <B>epkg</B>'s version and compile-time defaults. 
     280<DT><B>-x</B> 
     281 
     282<DD> 
     283Do not check for excluded files within packages.  This does not 
     284affect the global exclude list (see <I>-X</I>) or <I>encap.exclude</I> files 
     285in other places (see <I>-E</I>). 
     286<DT><B>-X exclude_path</B> 
     287 
     288<DD> 
     289Add <I>exclude_path</I> to the global exclude list. 
     290<P> 
     291If the <I>Encap</I> source directory lies under the <I>Encap</I> target 
     292directory, the relative path from target to source is automaticly added 
     293to the list. 
     294</DL> 
     295<A NAME="lbAH">&nbsp;</A> 
     296<H2>TRANSACTION LOGGING</H2> 
     297 
     298By default, <B>epkg</B> will log an entry to the file <I>epkg.log</I> in 
     299the <I>Encap</I> source directory for each transaction indicating the date, 
     300target directory, package, install or remove as appropriate, and the 
     301status.  The status is <I>success</I> if completely successful, 
     302<I>failed</I> if there was a fatal error, <I>forced</I> if invoked in 
     303force mode (see above), or <I>partial</I> if the operation was 
     304partially successful (for example, most of the links were created, but 
     305some could not be created because of a link by the same name into a 
     306previously-installed package). 
     307<A NAME="lbAI">&nbsp;</A> 
     308<H2>EXAMPLES</H2> 
     309 
     310To install only package <I>mutt-0.93.2i</I>: 
     311<P> 
     312<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><B>epkg -Si mutt-0.93.2i</B><BR> 
     313<P> 
     314To upgrade to the latest version of <I>mutt</I>: 
     315<P> 
     316<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><B>epkg mutt</B><BR> 
     317<P> 
     318<A NAME="lbAJ">&nbsp;</A> 
     319<H2>BUGS</H2> 
     320 
     321Probably quite a few.  Reports are welcome. 
     322<A NAME="lbAK">&nbsp;</A> 
     323<H2>ENVIRONMENT VARIABLES</H2> 
     324 
     325<B>ENCAP_SOURCE</B> 
     326 
     327<BR> 
     328 
     329<B>ENCAP_TARGET</B> 
     330 
     331<BR> 
     332 
     333<B>ENCAP_PKGNAME</B> 
     334 
     335<BR> 
     336 
     337<B>ENCAP_MODE</B> 
     338 
     339<BR> 
     340 
     341<B>ENCAP_UPDATE_PATH</B> 
     342 
     343<A NAME="lbAL">&nbsp;</A> 
     344<H2>FILES</H2> 
     345 
     346<I>/usr/local/encap/pkgname/encapinfo</I> 
     347 
     348<BR> 
     349 
     350<I>/usr/local/encap/pkgname/preinstall</I> 
     351 
     352<BR> 
     353 
     354<I>/usr/local/encap/pkgname/postinstall</I> 
     355 
     356<BR> 
     357 
     358<I>/usr/local/encap/pkgname/preremove</I> 
     359 
     360<BR> 
     361 
     362<I>/usr/local/encap/pkgname/postremove</I> 
     363 
     364<A NAME="lbAM">&nbsp;</A> 
     365<H2>SEE ALSO</H2> 
     366 
     367<B><A HREF="/projects/bcfg2/wiki/EncapManMkencap">mkencap</A></B>(1) 
     368 
     369<BR> 
     370 
     371The <B>epkg</B> Homepage (<I><A HREF="http://www.encap.org/epkg/">http://www.encap.org/epkg/</A></I>) 
     372<BR> 
     373 
     374The Encap Archive (<I><A HREF="http://www.encap.org/">http://www.encap.org/</A></I>) 
     375<A NAME="lbAN">&nbsp;</A> 
     376<H2>AUTHOR</H2> 
     377 
     378Mark D. Roth &lt;<A HREF="mailto:roth@feep.net">roth@feep.net</A>&gt; 
     379</BODY> 
     380}}}