On Mon, Nov 08, 2004 at 06:34:41AM -0800, Your Name wrote:
> Hi, i realize this is really basic, but i dont
> actually know how cvsup works when youre not calling
> it through cvsup. 
> 
> What i mean is, when i want to update things i do "cd
> /usr/ports && make update" or 
> "cd /usr/src && make update", i dont do cvsup
> directly.
> 
> What i assume is my working supfile is
> /usr/src/supfile-current. i want to change this to
> RELENG-5 instead of ".", 
> but i should probably change the name. But i cant
> figure out how to know WHICH supfile is called when i
> just do "cd /usr/src && make update". 
> 
> Also where do i put the "refuse" file, for ports?
> 
> Thanks! i didnt see this in the HandBook.

The 'make update' behaviour is controlled by the following variable in
/etc/make.conf:

    SUP_UPDATE=     yes
    SUP=            /usr/local/bin/cvsup
    SUPFLAGS=       -g -L 2
    SUPHOST=        cvsup.uk.freebsd.org
    SUPFILE=        /usr/share/examples/cvsup/stable-supfile
    PORTSSUPFILE=   /usr/share/examples/cvsup/ports-supfile
    DOCSUPFILE=     /usr/share/examples/cvsup/doc-supfile

Of those variables, it's really only the last four that you need to
think about what to set them to -- the others should be set to the
values shown here.

    SUPHOST should be set to a convenient cvsup server close to you in
        network terms.  Use the sysutils/fastest_cvsup port to locate
        likely candidates.

    SUPFILE says which supfile to use for cvsup'ing the system sources
        -- ie. everything under /usr/src.  You can write your own, but
        it's more convenient to just use one of the ones in
        /usr/share/examples/cvsup as is.  (Nb. you don't need to edit
        the supfile to set whcih cvsup server to use, as the SUPHOST
        variable is used to set that from the command line.)  Your
        choices for the example supfiles available are:

            stable-supfile -- on 4.x this tracks RELENG_4, and on 5.x
                              it tracks RELENG_5

            standard-supfile -- this tracks the same branch as the
                                currently running system, which can be
                                HEAD, any of the STABLE branches or
                                any of the RELEASE branches.

        If you want to switch branches you'll have to create your own
        supfile -- just editing the correct tag into a copy of the
        standard-supfile and doing a one-off cvsup with it is the
        easiest way to go.

    PORTSSUPFILE -- you guessed it: the supfile used for updating the
        ports tree.  If you don't want to cvsup the ports, then don't
        define this variable.  If you do, then
        /usr/share/examples/cvsup/ports-supfile is all you need.

    DOCSUPFILE -- ditto for the documentation tree: ie. the sources to
        the Handbook, the Porter's Handbook, the Developer's Handbook,
        numerous articles and all of the available foreign language
        translations thereof.  Leave blank if you don't want that, or
        else set it to /usr/share/examples/cvsup/doc-supfile.  Note:
        you don't need to have a local copy of the docs sources unless
        you're going to be working on them, as everything is available
        via the web.

The 'refuse' file by default lives in the directory sup under the
'base' directory, as defined in the supfiles.  On 4.x that's /usr/sup,
while on 5.x it's /var/db/sup -- note that in this setup the refuse
file is shared between all of the collections maintained by cvsup.  It
contains a list of shell glob expressions relative to the default
'prefix' directory -- usually /usr.  Thus you'ld use ports/foo to
refuse the 'foo' category of ports.  See
/usr/share/examples/cvsup/refuse.README

Note that refusing bits of the ports collection is usually a mistake.
Ports can and do have dependencies against all sorts of other ports
anywhere in the tree -- even the language specific categories given as
examples in /usr/share/examples/cvsup/refuse.  Bad things happen if
you're refusing any of the dependencies when you go to install a port,
and the standard instruction in case of difficulties is to re-cvsup
the ports-all collection without refusing anything and then try again.

On the other hand, using the refuse file on the docs tree is extremely
effective if all you want is one particular language.

        Cheers,

        Matthew                                

--
Dr Matthew J Seaman MA, D.Phil.                       26 The Paddocks
                                                      Savill Way
PGP: http://www.infracaninophile.co.uk/pgpkey         Marlow
Tel: +44 1628 476614                                  Bucks., SL7 1TH UK

Attachment: pgpDSsnPkMuiq.pgp
Description: PGP signature

Reply via email to