diff --git a/en_US.ISO8859-1/books/handbook/Makefile b/en_US.ISO8859-1/books/handbook/Makefile index c0bc64e9ea..164b9b72a8 100644 --- a/en_US.ISO8859-1/books/handbook/Makefile +++ b/en_US.ISO8859-1/books/handbook/Makefile @@ -1,209 +1,220 @@ # # $FreeBSD$ # # Build the FreeBSD Handbook. # # ------------------------------------------------------------------------ # # Handbook-specific variables # # WITH_PGPKEYS The print version of the handbook only prints PGP # fingerprints by default. If you would like for the # entire key to be displayed, then set this variable. # This option has no affect on the HTML formats. # # Handbook-specific targets # # pgpkeyring This target will read the contents of # pgpkeys/chapter.sgml and will extract all of # the pgpkeys to standard out. This output can then # be redirected into a file and distributed as a # public keyring of FreeBSD developers that can # easily be imported into PGP/GPG. # # ------------------------------------------------------------------------ MAINTAINER= doc@FreeBSD.org DOC?= book FORMATS?= html-split HAS_INDEX= true WITH_GLOSSARY?= INSTALL_COMPRESSED?= gz INSTALL_ONLY_COMPRESSED?= IMAGES_EN = advanced-networking/isdn-bus.eps IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps IMAGES_EN+= advanced-networking/natd.eps IMAGES_EN+= install/adduser1.scr IMAGES_EN+= install/adduser2.scr IMAGES_EN+= install/adduser3.scr IMAGES_EN+= install/boot-mgr.scr IMAGES_EN+= install/console-saver1.scr IMAGES_EN+= install/console-saver2.scr IMAGES_EN+= install/console-saver3.scr IMAGES_EN+= install/console-saver4.scr IMAGES_EN+= install/desktop.scr IMAGES_EN+= install/disklabel-auto.scr IMAGES_EN+= install/disklabel-ed1.scr IMAGES_EN+= install/disklabel-ed2.scr IMAGES_EN+= install/disklabel-fs.scr IMAGES_EN+= install/disklabel-root1.scr IMAGES_EN+= install/disklabel-root2.scr IMAGES_EN+= install/disklabel-root3.scr IMAGES_EN+= install/disk-layout.eps IMAGES_EN+= install/dist-set.scr IMAGES_EN+= install/dist-set2.scr IMAGES_EN+= install/docmenu1.scr IMAGES_EN+= install/ed0-conf.scr IMAGES_EN+= install/ed0-conf2.scr IMAGES_EN+= install/edit-inetd-conf.scr IMAGES_EN+= install/fdisk-drive1.scr IMAGES_EN+= install/fdisk-drive2.scr IMAGES_EN+= install/fdisk-edit1.scr IMAGES_EN+= install/fdisk-edit2.scr IMAGES_EN+= install/ftp-anon1.scr IMAGES_EN+= install/ftp-anon2.scr IMAGES_EN+= install/hdwrconf.scr IMAGES_EN+= install/keymap.scr IMAGES_EN+= install/main1.scr IMAGES_EN+= install/mainexit.scr IMAGES_EN+= install/main-std.scr IMAGES_EN+= install/main-options.scr IMAGES_EN+= install/main-doc.scr IMAGES_EN+= install/main-keymap.scr IMAGES_EN+= install/media.scr IMAGES_EN+= install/mouse1.scr IMAGES_EN+= install/mouse2.scr IMAGES_EN+= install/mouse3.scr IMAGES_EN+= install/mouse4.scr IMAGES_EN+= install/mouse5.scr IMAGES_EN+= install/mouse6.scr IMAGES_EN+= install/mta-main.scr IMAGES_EN+= install/net-config-menu1.scr IMAGES_EN+= install/net-config-menu2.scr IMAGES_EN+= install/nfs-server-edit.scr IMAGES_EN+= install/ntp-config.scr IMAGES_EN+= install/options.scr IMAGES_EN+= install/pkg-cat.scr IMAGES_EN+= install/pkg-confirm.scr IMAGES_EN+= install/pkg-install.scr IMAGES_EN+= install/pkg-sel.scr IMAGES_EN+= install/probstart.scr IMAGES_EN+= install/routed.scr IMAGES_EN+= install/security.scr IMAGES_EN+= install/sysinstall-exit.scr IMAGES_EN+= install/timezone1.scr IMAGES_EN+= install/timezone2.scr IMAGES_EN+= install/timezone3.scr IMAGES_EN+= install/userconfig.scr IMAGES_EN+= install/userconfig2.scr IMAGES_EN+= install/xf86setup.scr IMAGES_EN+= install/example-dir1.eps IMAGES_EN+= install/example-dir2.eps IMAGES_EN+= install/example-dir3.eps IMAGES_EN+= install/example-dir4.eps IMAGES_EN+= install/example-dir5.eps IMAGES_EN+= security/ipsec-network.pic IMAGES_EN+= security/ipsec-crypt-pkt.pic IMAGES_EN+= security/ipsec-encap-pkt.pic IMAGES_EN+= security/ipsec-out-pkt.pic IMAGES_EN+= vinum/vinum-concat.pic IMAGES_EN+= vinum/vinum-mirrored-vol.pic IMAGES_EN+= vinum/vinum-raid10-vol.pic IMAGES_EN+= vinum/vinum-raid5-org.pic IMAGES_EN+= vinum/vinum-simple-vol.pic IMAGES_EN+= vinum/vinum-striped-vol.pic IMAGES_EN+= vinum/vinum-striped.pic # Images from the cross-document image library IMAGES_LIB= callouts/1.png IMAGES_LIB+= callouts/2.png IMAGES_LIB+= callouts/3.png IMAGES_LIB+= callouts/4.png IMAGES_LIB+= callouts/5.png IMAGES_LIB+= callouts/6.png IMAGES_LIB+= callouts/7.png IMAGES_LIB+= callouts/8.png IMAGES_LIB+= callouts/9.png IMAGES_LIB+= callouts/10.png # # SRCS lists the individual SGML files that make up the document. Changes # to any of these files will force a rebuild # # SGML content SRCS+= book.sgml SRCS+= advanced-networking/chapter.sgml SRCS+= basics/chapter.sgml SRCS+= bibliography/chapter.sgml SRCS+= config/chapter.sgml SRCS+= boot/chapter.sgml SRCS+= cutting-edge/chapter.sgml SRCS+= disks/chapter.sgml SRCS+= eresources/chapter.sgml SRCS+= install/chapter.sgml SRCS+= introduction/chapter.sgml SRCS+= kernelconfig/chapter.sgml SRCS+= l10n/chapter.sgml SRCS+= linuxemu/chapter.sgml SRCS+= mail/chapter.sgml SRCS+= mirrors/chapter.sgml SRCS+= multimedia/chapter.sgml SRCS+= desktop/chapter.sgml SRCS+= pgpkeys/chapter.sgml SRCS+= ppp-and-slip/chapter.sgml SRCS+= printing/chapter.sgml SRCS+= security/chapter.sgml SRCS+= serialcomms/chapter.sgml SRCS+= users/chapter.sgml SRCS+= vinum/chapter.sgml SRCS+= x11/chapter.sgml SRCS+= ports/chapter.sgml SRCS+= preface/preface.sgml SRCS+= colophon.sgml # Entities SRCS+= chapters.ent SYMLINKS= ${DESTDIR} index.html handbook.html # Turn on all the chapters. CHAPTERS?= ${SRCS:M*chapter.sgml} SGMLFLAGS+= ${CHAPTERS:S/\/chapter.sgml//:S/^/-i chap./} .if defined(WITH_GLOSSARY) && !empty(WITH_GLOSSARY) SGMLFLAGS+= -i chap.freebsd-glossary .endif # XXX The Handbook build currently overflows some internal, hardcoded # limits in pdftex. Until we split the Handbook up, build the PDF # version using ps2pdf instead of pdftex. PS2PDF?= ${PREFIX}/bin/ps2pdf book.tex-pdf: ${TOUCH} book.tex-pdf book.pdf: book.ps ${PS2PDF} book.ps book.pdf pgpkeyring: pgpkeys/chapter.sgml @${JADE} -V nochunks ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC} DOC_PREFIX?= ${.CURDIR}/../../.. +.for p in ftp cvsup +mirrors/chapter.sgml.${p}.inc: ${DOC_PREFIX}/share/sgml/mirrors.xml ${DOC_PREFIX}/share/sgml/mirrors.xsl + ${XSLTPROC} ${XSLTPROCOPTS} --stringparam 'proto' '$p' \ + ${DOC_PREFIX}/share/sgml/mirrors.xsl \ + ${DOC_PREFIX}/share/sgml/mirrors.xml \ + | sed -e "s,<\([^ >]*\)\([^>]*\)/>,<\1\2>,;s,,," > $@ +SRCS+= mirrors/chapter.sgml.${p}.inc +CLEANFILES+= mirrors/chapter.sgml.${p}.inc +.endfor + + # # Handbook-specific variables # .if defined(WITH_PGPKEYS) JADEFLAGS+= -V withpgpkeys .endif .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/en_US.ISO8859-1/books/handbook/chapters.ent b/en_US.ISO8859-1/books/handbook/chapters.ent index 4732471bdb..90a8980d46 100644 --- a/en_US.ISO8859-1/books/handbook/chapters.ent +++ b/en_US.ISO8859-1/books/handbook/chapters.ent @@ -1,46 +1,49 @@ + + + diff --git a/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml b/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml index fd2b47829a..d5f2d05961 100644 --- a/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml @@ -1,4766 +1,2736 @@ Obtaining FreeBSD CDROM and DVD Publishers Retail Boxed Products FreeBSD is available as a boxed product (FreeBSD CDs, additional software, and printed documentation) from several retailers:
CompUSA WWW:
Frys Electronics WWW:
CD and DVD Sets FreeBSD CD and DVD sets are available from many online retailers:
Daemon News Mall 560 South State Street, Suite A2 Orem, UT 84058 USA Phone: +1 800 407-5170 Fax: +1 1 801 765-0877 Email: sales@bsdmall.com WWW:
FreeBSD Mall, Inc. 3623 Sanford Street Concord, CA 94520-1405 USA Phone: +1 925 674-0783 Fax: +1 925 674-0821 Email: info@freebsdmall.com WWW:
FreeBSD Services Ltd 11 Lapwing Close Bicester OX26 6XR United Kingdom WWW:
Hinner EDV St. Augustinus-Str. 10 D-81825 München Germany Phone: (089) 428 419 WWW:
Ikarios 22-24 rue Voltaire 92000 Nanterre France WWW:
Ingram Micro 1600 E. St. Andrew Place Santa Ana, CA 92705-4926 USA Phone: 1 (800) 456-8000 WWW:
JMC Software Ireland Phone: 353 1 6291282 WWW:
The Linux Emporium Hilliard House, Lester Way Wallingford OX10 9TA United Kingdom Phone: +44 1491 837010 Fax: +44 1491 837016 WWW:
Linux System Labs Australia 21 Ray Drive Balwyn North VIC - 3104 Australia Phone: +61 3 9857 5918 Fax: +61 3 9857 8974 WWW:
UNIXDVD.COM LTD 57 Primrose Avenue Sheffield S5 6FS United Kingdom WWW:
Distributors If you are a reseller and want to carry FreeBSD CDROM products, please contact a distributor:
Cylogistics 2672 Bayshore Parkway, Suite 610 Mountain View, CA 94043 USA Phone: +1 650 694-4949 Fax: +1 650 694-4953 Email: sales@cylogistics.com WWW:
FreeBSD Services Ltd 11 Lapwing Close Bicester OX26 6XR United Kingdom WWW:
Kudzu, LLC 7375 Washington Ave. S. Edina, MN 55439 USA Phone: +1 952 947-0822 Fax: +1 952 947-0876 Email: sales@kudzuenterprises.com
Navarre Corp 7400 49th Ave South New Hope, MN 55428 USA Phone: +1 763 535-8333 Fax: +1 763 535-0341 WWW:
FTP Sites The official sources for FreeBSD are available via anonymous FTP from a worldwide set of mirror sites. The site is well connected and allows a large number of connections to it, but you are probably better off finding a closer mirror site (especially if you decide to set up some sort of mirror site). The FreeBSD mirror sites database is more accurate than the mirror listing in the Handbook, as it gets its information from the DNS rather than relying on static lists of hosts. Additionally, FreeBSD is available via anonymous FTP from the following mirror sites. If you choose to obtain FreeBSD via anonymous FTP, please try to use a site near you. The mirror sites listed as Primary Mirror Sites typically have the entire FreeBSD archive (all the currently available versions for each of the architectures) but you will probably have faster download times from a site that is in your country. The sites in each country carry the most recent versions for the most popular architecture(s) but might not carry the entire FreeBSD archive. All sites provide access via anonymous FTP but some sites also provide access via other methods. The access methods available for each site are provided for the sites in each country. - Primary Mirror Sites - Argentina, - Australia, - Austria, - Brazil, - Bulgaria, - Canada, - China, - Croatia, - Czech Republic, - Denmark, - Estonia, - Finland, - France, - Germany, - Greece, - Hong Kong, - Hungary, - Iceland, - Ireland, - Italy, - Japan, - Korea, - Lithuania, - Netherlands, - Norway, - Poland, - Portugal, - Romania, - Russia, - Saudi Arabia, - Singapore, - Slovak Republic, - Slovenia, - South Africa, - Spain, - Sweden, - Switzerland, - Taiwan, - Ukraine, - United Kingdom, - USA. - - - - Primary Mirror Sites - - - In case of problems, please contact the hostmaster - mirror-admin@FreeBSD.org for this domain. + &chap.mirrors.ftp.inc; + - - - - + + Anonymous CVS - - - + + <anchor id="anoncvs-intro">Introduction - - - + Anonymous CVS (or, as it is otherwise known, + anoncvs) is a feature provided by the CVS + utilities bundled with FreeBSD for synchronizing with a remote + CVS repository. Among other things, it allows users of FreeBSD + to perform, with no special privileges, read-only CVS operations + against one of the FreeBSD project's official anoncvs servers. + To use it, one simply sets the CVSROOT + environment variable to point at the appropriate anoncvs server, + provides the well-known password anoncvs with the + cvs login command, and then uses the + &man.cvs.1; command to access it like any local + repository. - - - + + The cvs login command, stores the passwords + that are used for authenticating to the CVS server in a file + called .cvspass in your + HOME directory. If this file does not exist, + you might get an error when trying to use cvs + login for the first time. Just make an empty + .cvspass file, and retry to login. + - - - + While it can also be said that the CVSup and anoncvs + services both perform essentially the same function, there are + various trade-offs which can influence the user's choice of + synchronization methods. In a nutshell, + CVSup is much more efficient in its + usage of network resources and is by far the most technically + sophisticated of the two, but at a price. To use + CVSup, a special client must first be + installed and configured before any bits can be grabbed, and + then only in the fairly large chunks which + CVSup calls + collections. - - - + Anoncvs, by contrast, can be used + to examine anything from an individual file to a specific + program (like ls or grep) + by referencing the CVS module name. Of course, + anoncvs is also only good for + read-only operations on the CVS repository, so if it is your + intention to support local development in one repository shared + with the FreeBSD project bits then + CVSup is really your only + option. + - - - + + <anchor id="anoncvs-usage">Using Anonymous CVS - - - + Configuring &man.cvs.1; to use an Anonymous CVS repository + is a simple matter of setting the CVSROOT + environment variable to point to one of the FreeBSD project's + anoncvs servers. At the time of this + writing, the following servers are available: - - - + + + USA: + :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs + (Use cvs login and enter the password + anoncvs when prompted.) + + + Germany: + :pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs + (Use cvs login and enter the password + anoncvs when prompted.) + + + Germany: + :pserver:anoncvs@anoncvs2.de.FreeBSD.org:/home/ncvs + (rsh, pserver, ssh, ssh/2022) + + + + Japan: + :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs + (Use cvs login and enter the password + anoncvs when prompted.) + + + Austria: + :pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs + (Use cvs login and enter any + password when prompted.) + + - - - + Since CVS allows one to check out virtually + any version of the FreeBSD sources that ever existed (or, in + some cases, will exist), you need to be + familiar with the revision () flag to + &man.cvs.1; and what some of the permissible values for it in + the FreeBSD Project repository are. - - - + There are two kinds of tags, revision tags and branch tags. + A revision tag refers to a specific revision. Its meaning stays + the same from day to day. A branch tag, on the other hand, + refers to the latest revision on a given line of development, at + any given time. Because a branch tag does not refer to a + specific revision, it may mean something different tomorrow than + it means today. - - - + contains revision tags that users + might be interested + in. Again, none of these are valid for the ports collection + since the ports collection does not have multiple + revisions. - - - + When you specify a branch tag, you normally receive the + latest versions of the files on that line of development. If + you wish to receive some past version, you can do so by + specifying a date with the flag. + See the &man.cvs.1; manual page for more details. + - - - - - - + + Examples - - Argentina + While it really is recommended that you read the manual page + for &man.cvs.1; thoroughly before doing anything, here are some + quick examples which essentially show how to use Anonymous + CVS: - - In case of problems, please contact the hostmaster - hostmaster@ar.FreeBSD.org for this domain. + + Checking Out Something from -CURRENT (&man.ls.1;) and + Deleting It Again: - - - (ftp) - - - - + &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs +&prompt.user; cvs login +At the prompt, enter the password anoncvs. +&prompt.user; cvs co ls +&prompt.user; cvs release -d ls +&prompt.user; cvs logout + + - - Australia + + Checking Out the Version of &man.ls.1; in the 3.X-STABLE + Branch: + + &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs +&prompt.user; cvs login +At the prompt, enter the password anoncvs. +&prompt.user; cvs co -rRELENG_3 ls +&prompt.user; cvs release -d ls +&prompt.user; cvs logout + + - - In case of problems, please contact the hostmaster - hostmaster@au.FreeBSD.org for this domain. + + Creating a List of Changes (as Unified Diffs) to &man.ls.1; - - - (ftp) - + &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs +&prompt.user; cvs login +At the prompt, enter the password anoncvs. +&prompt.user; cvs rdiff -u -rRELENG_3_0_0_RELEASE -rRELENG_3_4_0_RELEASE ls +&prompt.user; cvs logout + + - - (ftp) - + + Finding Out What Other Module Names Can Be Used: - - (ftp) - - - - + &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs +&prompt.user; cvs login +At the prompt, enter the password anoncvs. +&prompt.user; cvs co modules +&prompt.user; more modules/modules +&prompt.user; cvs release -d modules +&prompt.user; cvs logout + + + - - Austria + + Other Resources - - In case of problems, please contact the hostmaster - hostmaster@at.FreeBSD.org for this domain. + The following additional resources may be helpful in learning + CVS: - - - (ftp/cvsup/http) - + + + CVS Tutorial from Cal Poly. + - - (ftp/rsync/cvsup/http) - - - - + + CVS Home, + the CVS development and support community. + - - Brazil + + CVSweb is + the FreeBSD Project web interface for CVS. + + + + + + + + Using CTM - - In case of problems, please contact the hostmaster - hostmaster@br.FreeBSD.org for this domain. - - - - (ftp/http) - + CTM is a method for keeping a + remote directory tree in sync with a central one. It has been + developed for usage with FreeBSD's source trees, though other + people may find it useful for other purposes as time goes by. + Little, if any, documentation currently exists at this time on the + process of creating deltas, so talk to &a.phk; for more + information should you wish to use CTM + for other things. - - (ftp) - + + Why Should I Use <application>CTM</application>? - - (ftp/rsync/http) - + CTM will give you a local copy of + the FreeBSD source trees. There are a number of + flavors of the tree available. Whether you wish + to track the entire CVS tree or just one of the branches, + CTM can provide you the information. + If you are an active developer on FreeBSD, but have lousy or + non-existent TCP/IP connectivity, or simply wish to have the + changes automatically sent to you, + CTM was made for you. You will need + to obtain up to three deltas per day for the most active + branches. However, you should consider having them sent by + automatic email. The sizes of the updates are always kept as + small as possible. This is typically less than 5K, with an + occasional (one in ten) being 10-50K and every now and then a + large 100K+ or more coming around. - - (ftp) - + You will also need to make yourself aware of the various + caveats related to working directly from the development sources + rather than a pre-packaged release. This is particularly true + if you choose the current sources. It is + recommended that you read Staying + current with FreeBSD. + - - (ftp) - + + What Do I Need to Use + <application>CTM</application>? - - (ftp) - + You will need two things: The CTM + program, and the initial deltas to feed it (to get up to + current levels). + + The CTM program has been part of + FreeBSD ever since version 2.0 was released, and lives in + /usr/src/usr.sbin/ctm if you have a copy + of the source available. - - (ftp) - - - - + If you are running a pre-2.0 version of FreeBSD, you can + fetch the current CTM sources + directly from: + + - - Bulgaria + The deltas you feed + CTM can be had two ways, FTP or + email. If you have general FTP access to the Internet then the + following FTP sites support access to + CTM: - - In case of problems, please contact the hostmaster - hostmaster@bg.FreeBSD.org for this domain. + - - - (ftp) - - - - + or see section mirrors. - - Canada + FTP the relevant directory and fetch the + README file, starting from there. - - In case of problems, please contact the hostmaster - hostmaster@ca.FreeBSD.org for this domain. + If you wish to get your deltas via email: - - - (ftp) - - - - + Subscribe to one of the + CTM distribution lists. + &a.ctm-cvs-cur.name; supports the entire CVS tree. + &a.ctm-src-cur.name; supports the head of the development + branch. &a.ctm-src-4.name; supports the 4.X release + branch, etc.. (If you do not know how to subscribe yourself + to a list, click on the list name above or go to + &a.mailman.lists.link; and click on the list that you + wish to subscribe to. The list page should contain all of + the necessary subscription instructions.) - - China + When you begin receiving your CTM + updates in the mail, you may use the + ctm_rmail program to unpack and apply them. + You can actually use the ctm_rmail program + directly from a entry in /etc/aliases if + you want to have the process run in a fully automated fashion. + Check the ctm_rmail manual page for more + details. - - In case of problems, please contact the hostmaster - phj@cn.FreeBSD.org for this domain. + + No matter what method you use to get the + CTM deltas, you should subscribe to + the &a.ctm-announce.name; mailing list. In + the future, this will be the only place where announcements + concerning the operations of the + CTM system will be posted. Click + on the list name above and follow the instructions + to subscribe to the + list. + + - - - (ftp) - + + Using <application>CTM</application> for the First + Time - - (ftp) - - - - + Before you can start using CTM + deltas, you will need to get to a starting point for the deltas + produced subsequently to it. - - Croatia + First you should determine what you already have. Everyone + can start from an empty directory. You must use + an initial Empty delta to start off your + CTM supported tree. At some point it + is intended that one of these started deltas be + distributed on the CD for your convenience, however, this does + not currently happen. - - In case of problems, please contact the hostmaster - hostmaster@hr.FreeBSD.org for this domain. + Since the trees are many tens of megabytes, you should + prefer to start from something already at hand. If you have a + -RELEASE CD, you can copy or extract an initial source from it. + This will save a significant transfer of data. - - - (ftp) - - - - + You can recognize these starter deltas by the + X appended to the number + (src-cur.3210XEmpty.gz for instance). The + designation following the X corresponds to + the origin of your initial seed. + Empty is an empty directory. As a rule a + base transition from Empty is produced + every 100 deltas. By the way, they are large! 70 to 80 + Megabytes of gzip'd data is common for the + XEmpty deltas. - - Czech Republic + Once you have picked a base delta to start from, you will also + need all deltas with higher numbers following it. + - - In case of problems, please contact the hostmaster - hostmaster@cz.FreeBSD.org for this domain. + + Using <application>CTM</application> in Your Daily + Life - - - (ftp/rsync/http) - - - - + To apply the deltas, simply say: - - Denmark + &prompt.root; cd /where/ever/you/want/the/stuff +&prompt.root; ctm -v -v /where/you/store/your/deltas/src-xxx.* - - In case of problems, please contact the hostmaster - hostmaster@dk.FreeBSD.org for this domain. + CTM understands deltas which have + been put through gzip, so you do not need to + gunzip them first, this saves disk space. - - - (ftp/http) - + Unless it feels very secure about the entire process, + CTM will not touch your tree. To + verify a delta you can also use the flag and + CTM will not actually touch your + tree; it will merely verify the integrity of the delta and see + if it would apply cleanly to your current tree. - - (ftp) - - - - + There are other options to CTM + as well, see the manual pages or look in the sources for more + information. - - Estonia + That is really all there is to it. Every time you get a new + delta, just run it through CTM to + keep your sources up to date. - - In case of problems, please contact the hostmaster - hostmaster@ee.FreeBSD.org for this domain. + Do not remove the deltas if they are hard to download again. + You just might want to keep them around in case something bad + happens. Even if you only have floppy disks, consider using + fdwrite to make a copy. + - - - (ftp) - - - - + + Keeping Your Local Changes - - Finland + As a developer one would like to experiment with and change + files in the source tree. CTM + supports local modifications in a limited way: before checking + for the presence of a file foo, it first + looks for foo.ctm. If this file exists, + CTM will operate on it instead of + foo. - - In case of problems, please contact the hostmaster - hostmaster@fi.FreeBSD.org for this domain. + This behavior gives us a simple way to maintain local + changes: simply copy the files you plan to modify to the + corresponding file names with a .ctm + suffix. Then you can freely hack the code, while CTM keeps the + .ctm file up-to-date. + - - - (ftp) - + + Other Interesting <application>CTM</application> Options - - (ftp) - - - - + + Finding Out Exactly What Would Be Touched by an + Update - - France - - - In case of problems, please contact the hostmaster - hostmaster@fr.FreeBSD.org for this domain. - - - - (ftp) - - - - (ftp) - + You can determine the list of changes that + CTM will make on your source + repository using the option to + CTM. - - (ftp) - + This is useful if you would like to keep logs of the + changes, pre- or post- process the modified files in any + manner, or just are feeling a tad paranoid. + - - (ftp) - + + Making Backups Before Updating - - (ftp) - + Sometimes you may want to backup all the files that would + be changed by a CTM update. - - (ftp) - + Specifying the option + causes CTM to backup all files that + would be touched by a given CTM + delta to backup-file. + - - - + + Restricting the Files Touched by an Update - - Germany + Sometimes you would be interested in restricting the scope + of a given CTM update, or may be + interested in extracting just a few files from a sequence of + deltas. - - In case of problems, please contact the mirror admins - de-bsd-hubs@de.FreeBSD.org for this domain. + You can control the list of files that + CTM would operate on by specifying + filtering regular expressions using the + and options. - - - (ftp) - + For example, to extract an up-to-date copy of + lib/libc/Makefile from your collection of + saved CTM deltas, run the commands: - - (ftp/rsync/http) - + &prompt.root; cd /where/ever/you/want/to/extract/it/ +&prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* - - (ftp) - + For every file specified in a + CTM delta, the + and options are applied in the order given + on the command line. The file is processed by + CTM only if it is marked as + eligible after all the and + options are applied to it. + + - - (ftp/rsync/http) - + + Future Plans for <application>CTM</application> - - (ftp) - + Tons of them: - - (ftp) - + + + Use some kind of authentication into the CTM system, so + as to allow detection of spoofed CTM updates. + - - (ftp/http) - - - - + + Clean up the options to CTM, + they became confusing and counter intuitive. + + + - - Greece + + Miscellaneous Stuff - - In case of problems, please contact the hostmaster - hostmaster@gr.FreeBSD.org for this domain. + There is a sequence of deltas for the + ports collection too, but interest has not + been all that high yet. + - - - (ftp) - + + CTM Mirrors + + CTM/FreeBSD is available via anonymous + FTP from the following mirror sites. If you choose to obtain CTM via + anonymous FTP, please try to use a site near you. - - (ftp) - - - - + In case of problems, please contact &a.phk;. + - Hong Kong + California, Bay Area, official source - (ftp) + - Hungary - - In case of problems, please contact the hostmaster - mohacsi@ik.bme.hu for this domain. - - - - (ftp/rsync/http) - - - - - - - - Iceland + South Africa, backup server for old deltas - In case of problems, please contact the hostmaster - hostmaster@is.FreeBSD.org for this domain. - - (ftp/rsync/cvsup/http) + - Ireland + Taiwan/R.O.C. - In case of problems, please contact the hostmaster - hostmaster@ie.FreeBSD.org for this domain. - - (ftp) - - - - (ftp/rsync/http) + - (ftp/rsync/http) + - - - - - - Italy - - In case of problems, please contact the hostmaster - hostmaster@it.FreeBSD.org for this domain. - - - (ftp) + + - - Japan - - - In case of problems, please contact the hostmaster - hostmaster@jp.FreeBSD.org for this domain. - - - - (ftp) - - - - (ftp) - - - - (ftp) - - - - (ftp) - - - - (ftp) - - - - (ftp) - + If you did not find a mirror near to you or the mirror is + incomplete, try to use a search engine such as + alltheweb. + - - (ftp) - + + Using CVSup + + + Introduction + + CVSup is a software package for + distributing and updating source trees from a master CVS + repository on a remote server host. The FreeBSD sources are + maintained in a CVS repository on a central development machine + in California. With CVSup, FreeBSD + users can easily keep their own source trees up to date. + + CVSup uses the so-called + pull model of updating. Under the pull + model, each client asks the server for updates, if and when they + are wanted. The server waits passively for update requests from + its clients. Thus all updates are instigated by the client. + The server never sends unsolicited updates. Users must either + run the CVSup client manually to get + an update, or they must set up a cron job to + run it automatically on a regular basis. + + The term CVSup, capitalized just + so, refers to the entire software package. Its main components + are the client cvsup which runs on each + user's machine, and the server cvsupd which + runs at each of the FreeBSD mirror sites. - - (ftp) - + As you read the FreeBSD documentation and mailing lists, you + may see references to sup. + Sup was the predecessor of + CVSup, and it served a similar + purpose. CVSup is used much in the + same way as sup and, in fact, uses configuration files which are + backward-compatible with sup's. + Sup is no longer used in the FreeBSD + project, because CVSup is both faster + and more flexible. + - - (ftp) - - - - + + Installation + + The easiest way to install CVSup + is to use the precompiled net/cvsup package + from the FreeBSD packages collection. + If you prefer to build CVSup from + source, you can use the net/cvsup + port instead. But be forewarned: the + net/cvsup port depends on the Modula-3 + system, which takes a substantial amount of time and + disk space to download and build. - - Korea + + If you are going to be using + CVSup on a machine which will not have + &xfree86; installed, such as a server, be + sure to use the port which does not include the + CVSup GUI, + net/cvsup-without-gui. + + + If you do not know anything about + CVSup at all and want a + single package which will install it, set up the configuration + file and start the transfer via a pointy-clicky type of + interface, then get the net/cvsupit + package. Just hand it to &man.pkg.add.1; and it will lead you + through the configuration process in a menu-oriented + fashion. + - - In case of problems, please contact the hostmaster - hostmaster@kr.FreeBSD.org for this domain. - - - - (ftp/rsync) - - - - (ftp) - - + + CVSup Configuration + + CVSup's operation is controlled + by a configuration file called the supfile. + There are some sample supfiles in the + directory /usr/share/examples/cvsup/. + + The information in a supfile answers + the following questions for CVSup: + + + + Which files do you + want to receive? - - - - Lithuania - - In case of problems, please contact the hostmaster - hostmaster@lt.FreeBSD.org for this domain. - - - - (ftp) - - + + + Which versions of them + do you want? - - - - Netherlands - + - In case of problems, please contact the hostmaster - hostmaster@nl.FreeBSD.org for this domain. - - - - (ftp) - - - - (ftp/cvsup/http) - - + Where do you want to + get them from? - - - - Norway - + - In case of problems, please contact the hostmaster - hostmaster@no.FreeBSD.org for this domain. - - - - (ftp/rsync) - - - - (ftp) - - + Where do you want to + put them on your own machine? - - - - Poland - + - In case of problems, please contact the hostmaster - hostmaster@pl.FreeBSD.org for this domain. - - - - (ftp) - - - - (ftp) - - - - (ftp) - - - - (ftp) - - + Where do you want to + put your status files? - + - - Portugal + In the following sections, we will construct a typical + supfile by answering each of these + questions in turn. First, we describe the overall structure of + a supfile. - - In case of problems, please contact the hostmaster - hostmaster@pt.FreeBSD.org for this domain. + A supfile is a text file. Comments + begin with # and extend to the end of the + line. Lines that are blank and lines that contain only + comments are ignored. + + Each remaining line describes a set of files that the user + wishes to receive. The line begins with the name of a + collection, a logical grouping of files defined by + the server. The name of the collection tells the server which + files you want. After the collection name come zero or more + fields, separated by white space. These fields answer the + questions listed above. There are two types of fields: flag + fields and value fields. A flag field consists of a keyword + standing alone, e.g., delete or + compress. A value field also begins with a + keyword, but the keyword is followed without intervening white + space by = and a second word. For example, + release=cvs is a value field. + + A supfile typically specifies more than + one collection to receive. One way to structure a + supfile is to specify all of the relevant + fields explicitly for each collection. However, that tends to + make the supfile lines quite long, and it + is inconvenient because most fields are the same for all of the + collections in a supfile. + CVSup provides a defaulting mechanism + to avoid these problems. Lines beginning with the special + pseudo-collection name *default can be used + to set flags and values which will be used as defaults for the + subsequent collections in the supfile. A + default value can be overridden for an individual collection, by + specifying a different value with the collection itself. + Defaults can also be changed or augmented in mid-supfile by + additional *default lines. - - - (ftp) - + With this background, we will now proceed to construct a + supfile for receiving and updating the main + source tree of FreeBSD-CURRENT. - - (ftp) - + + + Which files do you want + to receive? + + The files available via CVSup + are organized into named groups called + collections. The collections that are + available are described in the following section. In this + example, we + wish to receive the entire main source tree for the FreeBSD + system. There is a single large collection + src-all which will give us all of that. + As a first step toward constructing our + supfile, we + simply list the collections, one per line (in this case, + only one line): - - (ftp) - - + src-all - - - - Romania - In case of problems, please contact the hostmaster - hostmaster@ro.FreeBSD.org for this domain. - - - - (ftp) - - - - + Which version(s) of them + do you want? - - Russia + With CVSup, you can receive + virtually any version of the sources that ever existed. + That is possible because the + cvsupd server works directly from + the CVS repository, which contains all of the versions. You + specify which one of them you want using the + tag= and value + fields. + + + Be very careful to specify any tag= + fields correctly. Some tags are valid only for certain + collections of files. If you specify an incorrect or + misspelled tag, CVSup + will delete files which you probably + do not want deleted. In particular, use only + tag=. for the + ports-* collections. + - - In case of problems, please contact the hostmaster - hostmaster@ru.FreeBSD.org for this domain. + The tag= field names a symbolic tag + in the repository. There are two kinds of tags, revision + tags and branch tags. A revision tag refers to a specific + revision. Its meaning stays the same from day to day. A + branch tag, on the other hand, refers to the latest revision + on a given line of development, at any given time. Because + a branch tag does not refer to a specific revision, it may + mean something different tomorrow than it means + today. + + contains branch tags that + users might be interested in. When specifying a tag in + CVSup's configuration file, it + must be preceded with tag= + (RELENG_4 will become + tag=RELENG_4). + Keep in mind that only the tag=. is + relevant for the ports collection. - - - (ftp) - + + Be very careful to type the tag name exactly as shown. + CVSup cannot distinguish + between valid and invalid tags. If you misspell the tag, + CVSup will behave as though you + had specified a valid tag which happens to refer to no + files at all. It will delete your existing sources in + that case. + - - (ftp) - + When you specify a branch tag, you normally receive the + latest versions of the files on that line of development. + If you wish to receive some past version, you can do so by + specifying a date with the value + field. The &man.cvsup.1; manual page explains how to do + that. - - (ftp) - + For our example, we wish to receive FreeBSD-CURRENT. We + add this line at the beginning of our + supfile: + + *default tag=. - - (ftp) - - + There is an important special case that comes into play + if you specify neither a tag= field nor a + date= field. In that case, you receive + the actual RCS files directly from the server's CVS + repository, rather than receiving a particular version. + Developers generally prefer this mode of operation. By + maintaining a copy of the repository itself on their + systems, they gain the ability to browse the revision + histories and examine past versions of files. This gain is + achieved at a large cost in terms of disk space, + however. - - - Saudi Arabia - In case of problems, please contact - ftpadmin@isu.net.sa - - - - (ftp) - - - - - - - Singapore - - - In case of problems, please contact the hostmaster - hostmaster@sg.FreeBSD.org for this domain. + Where do you want to get + them from? + + We use the host= field to tell + cvsup where to obtain its updates. Any + of the CVSup mirror + sites will do, though you should try to select one + that is close to you in cyberspace. In this example we will + use a fictional FreeBSD distribution site, + cvsup666.FreeBSD.org: - - - (ftp/rsync/http) - - + *default host=cvsup666.FreeBSD.org + + You will need to change the host to one that actually + exists before running CVSup. + On any particular run of + cvsup, you can override the host setting + on the command line, with . - - - - Slovak Republic - + - In case of problems, please contact the hostmaster - hostmaster@sk.FreeBSD.org for this domain. - - - - (ftp) - - + Where do you want to put + them on your own machine? + + The prefix= field tells + cvsup where to put the files it receives. + In this example, we will put the source files directly into + our main source tree, /usr/src. The + src directory is already implicit in + the collections we have chosen to receive, so this is the + correct specification: + + *default prefix=/usr - - - Slovenia - In case of problems, please contact the hostmaster - hostmaster@si.FreeBSD.org for this domain. + Where should + cvsup maintain its status files? - - - (ftp) - + The CVSup client maintains + certain status files in what + is called the base directory. These files + help CVSup to work more + efficiently, by keeping track of which updates you have + already received. We will use the standard base directory, + /usr/local/etc/cvsup: - - (ftp) - - - - + *default base=/usr/local/etc/cvsup - - South Africa + This setting is used by default if it is not specified + in the supfile, so we actually do not + need the above line. + + If your base directory does not already exist, now would + be a good time to create it. The cvsup + client will refuse to run if the base directory does not + exist. + - In case of problems, please contact the hostmaster - hostmaster@za.FreeBSD.org for this domain. - - - - (ftp) - + Miscellaneous supfile + settings: + + There is one more line of boiler plate that normally + needs to be present in the + supfile: - - (ftp) - + *default release=cvs delete use-rel-suffix compress - - (ftp) - + release=cvs indicates that the server + should get its information out of the main FreeBSD CVS + repository. This is virtually always the case, but there + are other possibilities which are beyond the scope of this + discussion. + + delete gives + CVSup permission to delete files. + You should always specify this, so that + CVSup can keep your source tree + fully up-to-date. CVSup is + careful to delete only those files for which it is + responsible. Any extra files you happen to have will be + left strictly alone. + + use-rel-suffix is ... arcane. If you + really want to know about it, see the &man.cvsup.1; manual + page. Otherwise, just specify it and do not worry about + it. - - (ftp) - - + compress enables the use of + gzip-style compression on the communication channel. If + your network link is T1 speed or faster, you probably should + not use compression. Otherwise, it helps + substantially. - - - - Spain - In case of problems, please contact the hostmaster - hostmaster@es.FreeBSD.org for this domain. + Putting it all together: - - - (ftp) - + Here is the entire supfile for our + example: - - (ftp) - + *default tag=. +*default host=cvsup666.FreeBSD.org +*default prefix=/usr +*default base=/usr/local/etc/cvsup +*default release=cvs delete use-rel-suffix compress - - (ftp) - - +src-all - - - - Sweden + + + The <filename>refuse</filename> File - - In case of problems, please contact the hostmaster - hostmaster@se.FreeBSD.org for this domain. + As mentioned above, CVSup uses + a pull method. Basically, this means that + you connect to the CVSup server, and + it says, Here is what you can download from + me..., and your client responds OK, I will take + this, this, this, and this. In the default + configuration, the CVSup client will + take every file associated with the collection and tag you + chose in the configuration file. However, this is not always + what you want, especially if you are synching the doc, ports, or + www trees — most people cannot read four or five + languages, and therefore they do not need to download the + language-specific files. If you are + CVSuping the ports collection, you + can get around this by specifying each collection individually + (e.g., ports-astrology, + ports-biology, etc instead of simply + saying ports-all). However, since the doc + and www trees do not have language-specific collections, you + must use one of CVSup's many nifty + features: the refuse file. - - - (ftp) - + The refuse file essentially tells + CVSup that it should not take every + single file from a collection; in other words, it tells the + client to refuse certain files from the + server. The refuse file can be found (or, if you do not yet + have one, should be placed) in + base/sup/. + base is defined in your supfile; by + default, base is + /usr/local/etc/cvsup, + which means that by default the refuse file is + /usr/local/etc/cvsup/sup/refuse. - - (ftp) - + The refuse file has a very simple format; it simply + contains the names of files or directories that you do not wish + to download. For example, if you cannot speak any languages other + than English and some German, and you do not feel the need to use + the German applications (or applications for any other + languages, except for English), you can put the following in your + refuse file: - - (ftp) - + ports/chinese +ports/french +ports/german +ports/hebrew +ports/hungarian +ports/japanese +ports/korean +ports/polish +ports/portuguese +ports/russian +ports/ukrainian +ports/vietnamese +doc/da_* +doc/de_* +doc/el_* +doc/es_* +doc/fr_* +doc/it_* +doc/ja_* +doc/nl_* +doc/no_* +doc/pl_* +doc/pt_* +doc/ru_* +doc/sr_* +doc/zh_* - - (ftp/rsync/cvsup/http) - - - - + and so forth for the other languages (you can find the + full list by browsing the FreeBSD + CVS repository). - - Switzerland + With this very useful feature, those users who are on + slow links or pay by the minute for their Internet connection + will be able to save valuable time as they will no longer need + to download files that they will never use. For more + information on refuse files and other neat + features of CVSup, please view its + manual page. + + + + + Running <application>CVSup</application> + + You are now ready to try an update. The command line for + doing this is quite simple: - - In case of problems, please contact the hostmaster - hostmaster@ch.FreeBSD.org for this domain. + &prompt.root; cvsup supfile - - - (ftp) - - - - (ftp) - - - - - - - Taiwan - - - In case of problems, please contact the hostmaster - hostmaster@tw.FreeBSD.org for this domain. - - - - (ftp) - - - - (ftp/rsync/http) - - - - (ftp) - - - - (ftp) - - - - (ftp) - - - - (ftp/rsync/http) - - - - (ftp) - - - - (ftp) - - - - (ftp) - - - - (ftp) - - - - (ftp/http) - - - - (ftp) - - - - (ftp) - - - - (ftp) - - - - (ftp) - - - - - - - Ukraine - - - - - (ftp/http) - - - - (ftp/http) - - - - (ftp) - - - - (ftp) - - - - (ftp) - - - - (ftp) - - - - (ftp) - - - - - - - United Kingdom - - - In case of problems, please contact the hostmaster - hostmaster@uk.FreeBSD.org for this domain. - - - - (ftp) - - - - (ftp/rsync/http) - - - - (ftp) - - - - (ftp) - - - - (ftp) - - - - (ftp) - - - - - - - USA - - - In case of problems, please contact the hostmaster - hostmaster@us.FreeBSD.org for this domain. - - - - (ftp/rsync/http) - - - - (ftp) - - - - (ftp/rsync/cvsup/http) - - - - (ftp) - - - - (ftp/rsync) - - - - (ftp/http) - - - - (ftp/rsync/http) - - - - (ftp) - - - - (ftp/http) - - - - (ftp/cvsup) - - - - (ftp) - - - - (ftp/rsync) - - - - (ftp/rsync/http) - - - - (ftp) - - - - - - - - - Anonymous CVS - - - <anchor id="anoncvs-intro">Introduction - - Anonymous CVS (or, as it is otherwise known, - anoncvs) is a feature provided by the CVS - utilities bundled with FreeBSD for synchronizing with a remote - CVS repository. Among other things, it allows users of FreeBSD - to perform, with no special privileges, read-only CVS operations - against one of the FreeBSD project's official anoncvs servers. - To use it, one simply sets the CVSROOT - environment variable to point at the appropriate anoncvs server, - provides the well-known password anoncvs with the - cvs login command, and then uses the - &man.cvs.1; command to access it like any local - repository. - - - The cvs login command, stores the passwords - that are used for authenticating to the CVS server in a file - called .cvspass in your - HOME directory. If this file does not exist, - you might get an error when trying to use cvs - login for the first time. Just make an empty - .cvspass file, and retry to login. - - - While it can also be said that the CVSup and anoncvs - services both perform essentially the same function, there are - various trade-offs which can influence the user's choice of - synchronization methods. In a nutshell, - CVSup is much more efficient in its - usage of network resources and is by far the most technically - sophisticated of the two, but at a price. To use - CVSup, a special client must first be - installed and configured before any bits can be grabbed, and - then only in the fairly large chunks which - CVSup calls - collections. - - Anoncvs, by contrast, can be used - to examine anything from an individual file to a specific - program (like ls or grep) - by referencing the CVS module name. Of course, - anoncvs is also only good for - read-only operations on the CVS repository, so if it is your - intention to support local development in one repository shared - with the FreeBSD project bits then - CVSup is really your only - option. - - - - <anchor id="anoncvs-usage">Using Anonymous CVS - - Configuring &man.cvs.1; to use an Anonymous CVS repository - is a simple matter of setting the CVSROOT - environment variable to point to one of the FreeBSD project's - anoncvs servers. At the time of this - writing, the following servers are available: - - - - USA: - :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs - (Use cvs login and enter the password - anoncvs when prompted.) - - - Germany: - :pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs - (Use cvs login and enter the password - anoncvs when prompted.) - - - Germany: - :pserver:anoncvs@anoncvs2.de.FreeBSD.org:/home/ncvs - (rsh, pserver, ssh, ssh/2022) - - - - Japan: - :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs - (Use cvs login and enter the password - anoncvs when prompted.) - - - Austria: - :pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs - (Use cvs login and enter any - password when prompted.) - - - - Since CVS allows one to check out virtually - any version of the FreeBSD sources that ever existed (or, in - some cases, will exist), you need to be - familiar with the revision () flag to - &man.cvs.1; and what some of the permissible values for it in - the FreeBSD Project repository are. - - There are two kinds of tags, revision tags and branch tags. - A revision tag refers to a specific revision. Its meaning stays - the same from day to day. A branch tag, on the other hand, - refers to the latest revision on a given line of development, at - any given time. Because a branch tag does not refer to a - specific revision, it may mean something different tomorrow than - it means today. - - contains revision tags that users - might be interested - in. Again, none of these are valid for the ports collection - since the ports collection does not have multiple - revisions. - - When you specify a branch tag, you normally receive the - latest versions of the files on that line of development. If - you wish to receive some past version, you can do so by - specifying a date with the flag. - See the &man.cvs.1; manual page for more details. - - - - Examples - - While it really is recommended that you read the manual page - for &man.cvs.1; thoroughly before doing anything, here are some - quick examples which essentially show how to use Anonymous - CVS: - - - Checking Out Something from -CURRENT (&man.ls.1;) and - Deleting It Again: - - &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs -&prompt.user; cvs login -At the prompt, enter the password anoncvs. -&prompt.user; cvs co ls -&prompt.user; cvs release -d ls -&prompt.user; cvs logout - - - - - Checking Out the Version of &man.ls.1; in the 3.X-STABLE - Branch: - - &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs -&prompt.user; cvs login -At the prompt, enter the password anoncvs. -&prompt.user; cvs co -rRELENG_3 ls -&prompt.user; cvs release -d ls -&prompt.user; cvs logout - - - - - Creating a List of Changes (as Unified Diffs) to &man.ls.1; - - &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs -&prompt.user; cvs login -At the prompt, enter the password anoncvs. -&prompt.user; cvs rdiff -u -rRELENG_3_0_0_RELEASE -rRELENG_3_4_0_RELEASE ls -&prompt.user; cvs logout - - - - - Finding Out What Other Module Names Can Be Used: - - &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs -&prompt.user; cvs login -At the prompt, enter the password anoncvs. -&prompt.user; cvs co modules -&prompt.user; more modules/modules -&prompt.user; cvs release -d modules -&prompt.user; cvs logout - - - - - - Other Resources - - The following additional resources may be helpful in learning - CVS: - - - - CVS Tutorial from Cal Poly. - - - - CVS Home, - the CVS development and support community. - - - - CVSweb is - the FreeBSD Project web interface for CVS. - - - - - - - - Using CTM - - CTM is a method for keeping a - remote directory tree in sync with a central one. It has been - developed for usage with FreeBSD's source trees, though other - people may find it useful for other purposes as time goes by. - Little, if any, documentation currently exists at this time on the - process of creating deltas, so talk to &a.phk; for more - information should you wish to use CTM - for other things. - - - Why Should I Use <application>CTM</application>? - - CTM will give you a local copy of - the FreeBSD source trees. There are a number of - flavors of the tree available. Whether you wish - to track the entire CVS tree or just one of the branches, - CTM can provide you the information. - If you are an active developer on FreeBSD, but have lousy or - non-existent TCP/IP connectivity, or simply wish to have the - changes automatically sent to you, - CTM was made for you. You will need - to obtain up to three deltas per day for the most active - branches. However, you should consider having them sent by - automatic email. The sizes of the updates are always kept as - small as possible. This is typically less than 5K, with an - occasional (one in ten) being 10-50K and every now and then a - large 100K+ or more coming around. - - You will also need to make yourself aware of the various - caveats related to working directly from the development sources - rather than a pre-packaged release. This is particularly true - if you choose the current sources. It is - recommended that you read Staying - current with FreeBSD. - - - - What Do I Need to Use - <application>CTM</application>? - - You will need two things: The CTM - program, and the initial deltas to feed it (to get up to - current levels). - - The CTM program has been part of - FreeBSD ever since version 2.0 was released, and lives in - /usr/src/usr.sbin/ctm if you have a copy - of the source available. - - If you are running a pre-2.0 version of FreeBSD, you can - fetch the current CTM sources - directly from: - - - - The deltas you feed - CTM can be had two ways, FTP or - email. If you have general FTP access to the Internet then the - following FTP sites support access to - CTM: - - - - or see section mirrors. - - FTP the relevant directory and fetch the - README file, starting from there. - - If you wish to get your deltas via email: - - Subscribe to one of the - CTM distribution lists. - &a.ctm-cvs-cur.name; supports the entire CVS tree. - &a.ctm-src-cur.name; supports the head of the development - branch. &a.ctm-src-4.name; supports the 4.X release - branch, etc.. (If you do not know how to subscribe yourself - to a list, click on the list name above or go to - &a.mailman.lists.link; and click on the list that you - wish to subscribe to. The list page should contain all of - the necessary subscription instructions.) - - When you begin receiving your CTM - updates in the mail, you may use the - ctm_rmail program to unpack and apply them. - You can actually use the ctm_rmail program - directly from a entry in /etc/aliases if - you want to have the process run in a fully automated fashion. - Check the ctm_rmail manual page for more - details. - - - No matter what method you use to get the - CTM deltas, you should subscribe to - the &a.ctm-announce.name; mailing list. In - the future, this will be the only place where announcements - concerning the operations of the - CTM system will be posted. Click - on the list name above and follow the instructions - to subscribe to the - list. - - - - - Using <application>CTM</application> for the First - Time - - Before you can start using CTM - deltas, you will need to get to a starting point for the deltas - produced subsequently to it. - - First you should determine what you already have. Everyone - can start from an empty directory. You must use - an initial Empty delta to start off your - CTM supported tree. At some point it - is intended that one of these started deltas be - distributed on the CD for your convenience, however, this does - not currently happen. - - Since the trees are many tens of megabytes, you should - prefer to start from something already at hand. If you have a - -RELEASE CD, you can copy or extract an initial source from it. - This will save a significant transfer of data. - - You can recognize these starter deltas by the - X appended to the number - (src-cur.3210XEmpty.gz for instance). The - designation following the X corresponds to - the origin of your initial seed. - Empty is an empty directory. As a rule a - base transition from Empty is produced - every 100 deltas. By the way, they are large! 70 to 80 - Megabytes of gzip'd data is common for the - XEmpty deltas. - - Once you have picked a base delta to start from, you will also - need all deltas with higher numbers following it. - - - - Using <application>CTM</application> in Your Daily - Life - - To apply the deltas, simply say: - - &prompt.root; cd /where/ever/you/want/the/stuff -&prompt.root; ctm -v -v /where/you/store/your/deltas/src-xxx.* - - CTM understands deltas which have - been put through gzip, so you do not need to - gunzip them first, this saves disk space. - - Unless it feels very secure about the entire process, - CTM will not touch your tree. To - verify a delta you can also use the flag and - CTM will not actually touch your - tree; it will merely verify the integrity of the delta and see - if it would apply cleanly to your current tree. - - There are other options to CTM - as well, see the manual pages or look in the sources for more - information. - - That is really all there is to it. Every time you get a new - delta, just run it through CTM to - keep your sources up to date. - - Do not remove the deltas if they are hard to download again. - You just might want to keep them around in case something bad - happens. Even if you only have floppy disks, consider using - fdwrite to make a copy. - - - - Keeping Your Local Changes - - As a developer one would like to experiment with and change - files in the source tree. CTM - supports local modifications in a limited way: before checking - for the presence of a file foo, it first - looks for foo.ctm. If this file exists, - CTM will operate on it instead of - foo. - - This behavior gives us a simple way to maintain local - changes: simply copy the files you plan to modify to the - corresponding file names with a .ctm - suffix. Then you can freely hack the code, while CTM keeps the - .ctm file up-to-date. - - - - Other Interesting <application>CTM</application> Options - - - Finding Out Exactly What Would Be Touched by an - Update - - You can determine the list of changes that - CTM will make on your source - repository using the option to - CTM. - - This is useful if you would like to keep logs of the - changes, pre- or post- process the modified files in any - manner, or just are feeling a tad paranoid. - - - - Making Backups Before Updating - - Sometimes you may want to backup all the files that would - be changed by a CTM update. - - Specifying the option - causes CTM to backup all files that - would be touched by a given CTM - delta to backup-file. - - - - Restricting the Files Touched by an Update - - Sometimes you would be interested in restricting the scope - of a given CTM update, or may be - interested in extracting just a few files from a sequence of - deltas. - - You can control the list of files that - CTM would operate on by specifying - filtering regular expressions using the - and options. - - For example, to extract an up-to-date copy of - lib/libc/Makefile from your collection of - saved CTM deltas, run the commands: - - &prompt.root; cd /where/ever/you/want/to/extract/it/ -&prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* - - For every file specified in a - CTM delta, the - and options are applied in the order given - on the command line. The file is processed by - CTM only if it is marked as - eligible after all the and - options are applied to it. - - - - - Future Plans for <application>CTM</application> - - Tons of them: - - - - Use some kind of authentication into the CTM system, so - as to allow detection of spoofed CTM updates. - - - - Clean up the options to CTM, - they became confusing and counter intuitive. - - - - - - Miscellaneous Stuff - - There is a sequence of deltas for the - ports collection too, but interest has not - been all that high yet. - - - - CTM Mirrors - - CTM/FreeBSD is available via anonymous - FTP from the following mirror sites. If you choose to obtain CTM via - anonymous FTP, please try to use a site near you. - - In case of problems, please contact &a.phk;. - - - - California, Bay Area, official source - - - - - - - - - - - - South Africa, backup server for old deltas - - - - - - - - - - - - Taiwan/R.O.C. - - - - - - - - - - - - - - - - - - - - If you did not find a mirror near to you or the mirror is - incomplete, try to use a search engine such as - alltheweb. - - - - Using CVSup - - - Introduction - - CVSup is a software package for - distributing and updating source trees from a master CVS - repository on a remote server host. The FreeBSD sources are - maintained in a CVS repository on a central development machine - in California. With CVSup, FreeBSD - users can easily keep their own source trees up to date. - - CVSup uses the so-called - pull model of updating. Under the pull - model, each client asks the server for updates, if and when they - are wanted. The server waits passively for update requests from - its clients. Thus all updates are instigated by the client. - The server never sends unsolicited updates. Users must either - run the CVSup client manually to get - an update, or they must set up a cron job to - run it automatically on a regular basis. - - The term CVSup, capitalized just - so, refers to the entire software package. Its main components - are the client cvsup which runs on each - user's machine, and the server cvsupd which - runs at each of the FreeBSD mirror sites. - - As you read the FreeBSD documentation and mailing lists, you - may see references to sup. - Sup was the predecessor of - CVSup, and it served a similar - purpose. CVSup is used much in the - same way as sup and, in fact, uses configuration files which are - backward-compatible with sup's. - Sup is no longer used in the FreeBSD - project, because CVSup is both faster - and more flexible. - - - - Installation - - The easiest way to install CVSup - is to use the precompiled net/cvsup package - from the FreeBSD packages collection. - If you prefer to build CVSup from - source, you can use the net/cvsup - port instead. But be forewarned: the - net/cvsup port depends on the Modula-3 - system, which takes a substantial amount of time and - disk space to download and build. - - - If you are going to be using - CVSup on a machine which will not have - &xfree86; installed, such as a server, be - sure to use the port which does not include the - CVSup GUI, - net/cvsup-without-gui. - - - If you do not know anything about - CVSup at all and want a - single package which will install it, set up the configuration - file and start the transfer via a pointy-clicky type of - interface, then get the net/cvsupit - package. Just hand it to &man.pkg.add.1; and it will lead you - through the configuration process in a menu-oriented - fashion. - - - - CVSup Configuration - - CVSup's operation is controlled - by a configuration file called the supfile. - There are some sample supfiles in the - directory /usr/share/examples/cvsup/. - - The information in a supfile answers - the following questions for CVSup: - - - - Which files do you - want to receive? - - - - Which versions of them - do you want? - - - - Where do you want to - get them from? - - - - Where do you want to - put them on your own machine? - - - - Where do you want to - put your status files? - - - - In the following sections, we will construct a typical - supfile by answering each of these - questions in turn. First, we describe the overall structure of - a supfile. - - A supfile is a text file. Comments - begin with # and extend to the end of the - line. Lines that are blank and lines that contain only - comments are ignored. - - Each remaining line describes a set of files that the user - wishes to receive. The line begins with the name of a - collection, a logical grouping of files defined by - the server. The name of the collection tells the server which - files you want. After the collection name come zero or more - fields, separated by white space. These fields answer the - questions listed above. There are two types of fields: flag - fields and value fields. A flag field consists of a keyword - standing alone, e.g., delete or - compress. A value field also begins with a - keyword, but the keyword is followed without intervening white - space by = and a second word. For example, - release=cvs is a value field. - - A supfile typically specifies more than - one collection to receive. One way to structure a - supfile is to specify all of the relevant - fields explicitly for each collection. However, that tends to - make the supfile lines quite long, and it - is inconvenient because most fields are the same for all of the - collections in a supfile. - CVSup provides a defaulting mechanism - to avoid these problems. Lines beginning with the special - pseudo-collection name *default can be used - to set flags and values which will be used as defaults for the - subsequent collections in the supfile. A - default value can be overridden for an individual collection, by - specifying a different value with the collection itself. - Defaults can also be changed or augmented in mid-supfile by - additional *default lines. - - With this background, we will now proceed to construct a - supfile for receiving and updating the main - source tree of FreeBSD-CURRENT. - - - - Which files do you want - to receive? - - The files available via CVSup - are organized into named groups called - collections. The collections that are - available are described in the following section. In this - example, we - wish to receive the entire main source tree for the FreeBSD - system. There is a single large collection - src-all which will give us all of that. - As a first step toward constructing our - supfile, we - simply list the collections, one per line (in this case, - only one line): - - src-all - - - - Which version(s) of them - do you want? - - With CVSup, you can receive - virtually any version of the sources that ever existed. - That is possible because the - cvsupd server works directly from - the CVS repository, which contains all of the versions. You - specify which one of them you want using the - tag= and value - fields. - - - Be very careful to specify any tag= - fields correctly. Some tags are valid only for certain - collections of files. If you specify an incorrect or - misspelled tag, CVSup - will delete files which you probably - do not want deleted. In particular, use only - tag=. for the - ports-* collections. - - - The tag= field names a symbolic tag - in the repository. There are two kinds of tags, revision - tags and branch tags. A revision tag refers to a specific - revision. Its meaning stays the same from day to day. A - branch tag, on the other hand, refers to the latest revision - on a given line of development, at any given time. Because - a branch tag does not refer to a specific revision, it may - mean something different tomorrow than it means - today. - - contains branch tags that - users might be interested in. When specifying a tag in - CVSup's configuration file, it - must be preceded with tag= - (RELENG_4 will become - tag=RELENG_4). - Keep in mind that only the tag=. is - relevant for the ports collection. - - - Be very careful to type the tag name exactly as shown. - CVSup cannot distinguish - between valid and invalid tags. If you misspell the tag, - CVSup will behave as though you - had specified a valid tag which happens to refer to no - files at all. It will delete your existing sources in - that case. - - - When you specify a branch tag, you normally receive the - latest versions of the files on that line of development. - If you wish to receive some past version, you can do so by - specifying a date with the value - field. The &man.cvsup.1; manual page explains how to do - that. - - For our example, we wish to receive FreeBSD-CURRENT. We - add this line at the beginning of our - supfile: - - *default tag=. - - There is an important special case that comes into play - if you specify neither a tag= field nor a - date= field. In that case, you receive - the actual RCS files directly from the server's CVS - repository, rather than receiving a particular version. - Developers generally prefer this mode of operation. By - maintaining a copy of the repository itself on their - systems, they gain the ability to browse the revision - histories and examine past versions of files. This gain is - achieved at a large cost in terms of disk space, - however. - - - - Where do you want to get - them from? - - We use the host= field to tell - cvsup where to obtain its updates. Any - of the CVSup mirror - sites will do, though you should try to select one - that is close to you in cyberspace. In this example we will - use a fictional FreeBSD distribution site, - cvsup666.FreeBSD.org: - - *default host=cvsup666.FreeBSD.org - - You will need to change the host to one that actually - exists before running CVSup. - On any particular run of - cvsup, you can override the host setting - on the command line, with . - - - - Where do you want to put - them on your own machine? - - The prefix= field tells - cvsup where to put the files it receives. - In this example, we will put the source files directly into - our main source tree, /usr/src. The - src directory is already implicit in - the collections we have chosen to receive, so this is the - correct specification: - - *default prefix=/usr - - - - Where should - cvsup maintain its status files? - - The CVSup client maintains - certain status files in what - is called the base directory. These files - help CVSup to work more - efficiently, by keeping track of which updates you have - already received. We will use the standard base directory, - /usr/local/etc/cvsup: - - *default base=/usr/local/etc/cvsup - - This setting is used by default if it is not specified - in the supfile, so we actually do not - need the above line. - - If your base directory does not already exist, now would - be a good time to create it. The cvsup - client will refuse to run if the base directory does not - exist. - - - - Miscellaneous supfile - settings: - - There is one more line of boiler plate that normally - needs to be present in the - supfile: - - *default release=cvs delete use-rel-suffix compress - - release=cvs indicates that the server - should get its information out of the main FreeBSD CVS - repository. This is virtually always the case, but there - are other possibilities which are beyond the scope of this - discussion. - - delete gives - CVSup permission to delete files. - You should always specify this, so that - CVSup can keep your source tree - fully up-to-date. CVSup is - careful to delete only those files for which it is - responsible. Any extra files you happen to have will be - left strictly alone. - - use-rel-suffix is ... arcane. If you - really want to know about it, see the &man.cvsup.1; manual - page. Otherwise, just specify it and do not worry about - it. - - compress enables the use of - gzip-style compression on the communication channel. If - your network link is T1 speed or faster, you probably should - not use compression. Otherwise, it helps - substantially. - - - - Putting it all together: - - Here is the entire supfile for our - example: - - *default tag=. -*default host=cvsup666.FreeBSD.org -*default prefix=/usr -*default base=/usr/local/etc/cvsup -*default release=cvs delete use-rel-suffix compress - -src-all - - - - The <filename>refuse</filename> File - - As mentioned above, CVSup uses - a pull method. Basically, this means that - you connect to the CVSup server, and - it says, Here is what you can download from - me..., and your client responds OK, I will take - this, this, this, and this. In the default - configuration, the CVSup client will - take every file associated with the collection and tag you - chose in the configuration file. However, this is not always - what you want, especially if you are synching the doc, ports, or - www trees — most people cannot read four or five - languages, and therefore they do not need to download the - language-specific files. If you are - CVSuping the ports collection, you - can get around this by specifying each collection individually - (e.g., ports-astrology, - ports-biology, etc instead of simply - saying ports-all). However, since the doc - and www trees do not have language-specific collections, you - must use one of CVSup's many nifty - features: the refuse file. - - The refuse file essentially tells - CVSup that it should not take every - single file from a collection; in other words, it tells the - client to refuse certain files from the - server. The refuse file can be found (or, if you do not yet - have one, should be placed) in - base/sup/. - base is defined in your supfile; by - default, base is - /usr/local/etc/cvsup, - which means that by default the refuse file is - /usr/local/etc/cvsup/sup/refuse. - - The refuse file has a very simple format; it simply - contains the names of files or directories that you do not wish - to download. For example, if you cannot speak any languages other - than English and some German, and you do not feel the need to use - the German applications (or applications for any other - languages, except for English), you can put the following in your - refuse file: - - ports/chinese -ports/french -ports/german -ports/hebrew -ports/hungarian -ports/japanese -ports/korean -ports/polish -ports/portuguese -ports/russian -ports/ukrainian -ports/vietnamese -doc/da_* -doc/de_* -doc/el_* -doc/es_* -doc/fr_* -doc/it_* -doc/ja_* -doc/nl_* -doc/no_* -doc/pl_* -doc/pt_* -doc/ru_* -doc/sr_* -doc/zh_* - - and so forth for the other languages (you can find the - full list by browsing the FreeBSD - CVS repository). - - With this very useful feature, those users who are on - slow links or pay by the minute for their Internet connection - will be able to save valuable time as they will no longer need - to download files that they will never use. For more - information on refuse files and other neat - features of CVSup, please view its - manual page. - - - - - Running <application>CVSup</application> - - You are now ready to try an update. The command line for - doing this is quite simple: - - &prompt.root; cvsup supfile - - where supfile - is of course the name of the supfile you have just created. - Assuming you are running under X11, cvsup - will display a GUI window with some buttons to do the usual - things. Press the go button, and watch it - run. - - Since you are updating your actual - /usr/src tree in this example, you will - need to run the program as root so that - cvsup has the permissions it needs to update - your files. Having just created your configuration file, and - having never used this program before, that might - understandably make you nervous. There is an easy way to do a - trial run without touching your precious files. Just create an - empty directory somewhere convenient, and name it as an extra - argument on the command line: - - &prompt.root; mkdir /var/tmp/dest -&prompt.root; cvsup supfile /var/tmp/dest - - The directory you specify will be used as the destination - directory for all file updates. - CVSup will examine your usual files - in /usr/src, but it will not modify or - delete any of them. Any file updates will instead land in - /var/tmp/dest/usr/src. - CVSup will also leave its base - directory status files untouched when run this way. The new - versions of those files will be written into the specified - directory. As long as you have read access to - /usr/src, you do not even need to be - root to perform this kind of trial run. - - If you are not running X11 or if you just do not like GUIs, - you should add a couple of options to the command line when you - run cvsup: - - &prompt.root; cvsup -g -L 2 supfile - - The tells - CVSup not to use its GUI. This is - automatic if you are not running X11, but otherwise you have to - specify it. - - The tells - CVSup to print out the - details of all the file updates it is doing. There are three - levels of verbosity, from to - . The default is 0, which means total - silence except for error messages. - - There are plenty of other options available. For a brief - list of them, type cvsup -H. For more - detailed descriptions, see the manual page. - - Once you are satisfied with the way updates are working, you - can arrange for regular runs of CVSup - using &man.cron.8;. - Obviously, you should not let CVSup - use its GUI when running it from &man.cron.8;. - - - - <application>CVSup</application> File Collections - - The file collections available via - CVSup are organized hierarchically. - There are a few large collections, and they are divided into - smaller sub-collections. Receiving a large collection is - equivalent to receiving each of its sub-collections. The - hierarchical relationships among collections are reflected by - the use of indentation in the list below. - - The most commonly used collections are - src-all, and - ports-all. The other collections are used - only by small groups of people for specialized purposes, and - some mirror sites may not carry all of them. - - - - cvs-all release=cvs - - - The main FreeBSD CVS repository, including the - cryptography code. - - - - distrib release=cvs - - - Files related to the distribution and mirroring - of FreeBSD. - - - - - doc-all release=cvs - - - Sources for the FreeBSD Handbook and other - documentation. This does not include files for - the FreeBSD web site. - - - - - ports-all release=cvs - - - The FreeBSD Ports Collection. - - - If you do not want to update the whole of - ports-all (the whole ports tree), - but use one of the subcollections listed below, - make sure that you always update - the ports-base subcollection! - Whenever something changes in the ports build - infrastructure represented by - ports-base, it is virtually certain - that those changes will be used by real - ports real soon. Thus, if you only update the - real ports and they use some of the new - features, there is a very high chance that their build - will fail with some mysterious error message. The - very first thing to do in this - case is to make sure that your - ports-base subcollection is up to - date. - - - - - ports-archivers - release=cvs - - - Archiving tools. - - - - - ports-astro - release=cvs - - - Astronomical ports. - - - - - ports-audio - release=cvs - - - Sound support. - - - - - ports-base - release=cvs - - - The Ports Collection build infrastructure - - various files located in the - Mk/ and - Tools/ subdirectories of - /usr/ports. - - - Please see the important - warning above: you should - always update this - subcollection, whenever you update any part of - the FreeBSD Ports Collection! - - - - - - ports-benchmarks - release=cvs - - - Benchmarks. - - - - - ports-biology - release=cvs - - - Biology. - - - - - ports-cad - release=cvs - - - Computer aided design tools. - - - - - ports-chinese - release=cvs - - - Chinese language support. - - - - - ports-comms - release=cvs - - - Communication software. - - - - - ports-converters - release=cvs - - - character code converters. - - - - - ports-databases - release=cvs - - - Databases. - - - - - ports-deskutils - release=cvs - - - Things that used to be on the desktop - before computers were invented. - - - - - ports-devel - release=cvs - - - Development utilities. - - - - - ports-dns - release=cvs - - - DNS related software. - - - - - ports-editors - release=cvs - - - Editors. - - - - - ports-emulators - release=cvs - - - Emulators for other operating - systems. - - - - - ports-finance - release=cvs - - - Monetary, financial and related applications. - - - - - ports-ftp - release=cvs - - - FTP client and server utilities. - - - - - ports-games - release=cvs - - - Games. - - - - - ports-german - release=cvs - - - German language support. - - - - - ports-graphics - release=cvs - - - Graphics utilities. - - - - - ports-hungarian - release=cvs - - - Hungarian language support. - - - - - ports-irc - release=cvs - - - Internet Relay Chat utilities. - - - - - ports-japanese - release=cvs - - - Japanese language support. - - - - - ports-java - release=cvs - - - &java; utilities. - - - - - ports-korean - release=cvs - - - Korean language support. - - - - - ports-lang - release=cvs - - - Programming languages. - - - - - ports-mail - release=cvs - - - Mail software. - - - - - ports-math - release=cvs - - - Numerical computation software. - - - - - ports-mbone - release=cvs - - - MBone applications. - - - - - ports-misc - release=cvs - - - Miscellaneous utilities. - - - - - ports-multimedia - release=cvs - - - Multimedia software. - - - - - ports-net - release=cvs - - - Networking software. - - - - - ports-news - release=cvs - - - USENET news software. - - - - - ports-palm - release=cvs - - - Software support for Palm - series. - - - - - ports-polish - release=cvs - - - Polish language support. - - - - - ports-portuguese - release=cvs - - - Portuguese language support. - - - - - ports-print - release=cvs - - - Printing software. - - - - - ports-russian - release=cvs - - - Russian language support. - - - - - ports-security - release=cvs - - - Security utilities. - - - - - ports-shells - release=cvs - - - Command line shells. - - - - - ports-sysutils - release=cvs - - - System utilities. - - - - - ports-textproc - release=cvs - - - text processing utilities (does not - include desktop publishing). - - - - - ports-vietnamese - release=cvs - - - Vietnamese language support. - - - - - ports-www - release=cvs - - - Software related to the World Wide - Web. - - - - - ports-x11 - release=cvs - - - Ports to support the X window - system. - - - - - ports-x11-clocks - release=cvs - - - X11 clocks. - - - - - ports-x11-fm - release=cvs - - - X11 file managers. - - - - - ports-x11-fonts - release=cvs - - - X11 fonts and font utilities. - - - - - ports-x11-toolkits - release=cvs - - - X11 toolkits. - - - - - ports-x11-servers - - - X11 servers. - - - - - ports-x11-wm - - - X11 window managers. - - - - - - - - src-all release=cvs - - - The main FreeBSD sources, including the - cryptography code. - - - - src-base - release=cvs - - - Miscellaneous files at the top of - /usr/src. - - - - - src-bin - release=cvs - - - User utilities that may be needed in - single-user mode - (/usr/src/bin). - - - - - src-contrib - release=cvs - - - Utilities and libraries from outside the - FreeBSD project, used relatively unmodified - (/usr/src/contrib). - - - - - src-crypto release=cvs - - - Cryptography utilities and libraries from - outside the FreeBSD project, used relatively - unmodified - (/usr/src/crypto). - - - - - src-eBones release=cvs - - - Kerberos and DES - (/usr/src/eBones). Not - used in current releases of FreeBSD. - - - - - src-etc - release=cvs - - - System configuration files - (/usr/src/etc). - - - - - src-games - release=cvs - - - Games - (/usr/src/games). - - - - - src-gnu - release=cvs - - - Utilities covered by the GNU Public - License (/usr/src/gnu). - - - - - src-include - release=cvs - - - Header files - (/usr/src/include). - - - - - src-kerberos5 - release=cvs - - - Kerberos5 security package - (/usr/src/kerberos5). - - - - - src-kerberosIV - release=cvs - - - KerberosIV security package - (/usr/src/kerberosIV). - - - - - src-lib - release=cvs - - - Libraries - (/usr/src/lib). - - - - - src-libexec - release=cvs - - - System programs normally executed by other - programs - (/usr/src/libexec). - - - - - src-release - release=cvs - - - Files required to produce a FreeBSD - release - (/usr/src/release). - - - - - src-sbin release=cvs - - - System utilities for single-user mode - (/usr/src/sbin). - - - - - src-secure - release=cvs - - - Cryptographic libraries and commands - (/usr/src/secure). - - - - - src-share - release=cvs - - - Files that can be shared across multiple - systems - (/usr/src/share). - - - - - src-sys - release=cvs - - - The kernel - (/usr/src/sys). - - - - - src-sys-crypto - release=cvs - - - Kernel cryptography code - (/usr/src/sys/crypto). - - - - - src-tools - release=cvs - - - Various tools for the maintenance of - FreeBSD - (/usr/src/tools). - - - - - src-usrbin - release=cvs - - - User utilities - (/usr/src/usr.bin). - - - - - src-usrsbin - release=cvs - - - System utilities - (/usr/src/usr.sbin). - - - - - - - - www release=cvs - - - The sources for the FreeBSD WWW site. - - - - - - - - distrib release=self - - - The CVSup server's own - configuration files. Used by CVSup - mirror sites. - - - - - gnats release=current - - - The GNATS bug-tracking database. - - - - - mail-archive release=current - - - FreeBSD mailing list archive. - - - - - www release=current - - - The pre-processed FreeBSD WWW site files (not the - source files). Used by WWW mirror sites. - - - - - - - For More Information - - For the CVSup FAQ and other - information about CVSup, see - The - CVSup Home Page. - - Most FreeBSD-related discussion of - CVSup takes place on the - &a.hackers;. New versions of the software are announced there, - as well as on the &a.announce;. - - Questions and bug reports should be addressed to the author - of the program at cvsup-bugs@polstra.com. - - - - CVSup Sites - - CVSup servers for FreeBSD are running - at the following sites: - - - - Primary Mirror Sites - - - - - cvsup1.FreeBSD.org - - - - cvsup2.FreeBSD.org - - - - cvsup3.FreeBSD.org - - - - cvsup4.FreeBSD.org - - - - cvsup5.FreeBSD.org - - - - cvsup6.FreeBSD.org - - - - cvsup7.FreeBSD.org - - - - cvsup8.FreeBSD.org - - - - cvsup9.FreeBSD.org - - - - cvsup10.FreeBSD.org - - - - cvsup11.FreeBSD.org - - - - cvsup12.FreeBSD.org - - - - cvsup13.FreeBSD.org - - - - cvsup14.FreeBSD.org - - - - cvsup15.FreeBSD.org - - - - cvsup16.FreeBSD.org - - - - cvsup18.FreeBSD.org - - - - - - - Argentina - - - - - - cvsup.ar.FreeBSD.org - - - - - - - Australia - - - - - cvsup.au.FreeBSD.org - - - - cvsup2.au.FreeBSD.org - - - - cvsup3.au.FreeBSD.org - - - - cvsup4.au.FreeBSD.org - - - - cvsup5.au.FreeBSD.org - - - - cvsup6.au.FreeBSD.org - - - - cvsup7.au.FreeBSD.org - - - - - - - Austria - - - - - cvsup.at.FreeBSD.org - - - - cvsup2.at.FreeBSD.org - - - - - - - Brazil - - - - - cvsup.br.FreeBSD.org - - - - cvsup2.br.FreeBSD.org - - - - cvsup3.br.FreeBSD.org - - - - cvsup4.br.FreeBSD.org - - - - cvsup5.br.FreeBSD.org - - - - - - - Bulgaria - - - - - cvsup.bg.FreeBSD.org - - - - - - - Canada - - - - - cvsup.ca.FreeBSD.org - - - - - - - China - - - - - cvsup.cn.FreeBSD.org - - - - - - - Czech Republic - - - - - cvsup.cz.FreeBSD.org - - - - - - - Denmark - - - - - cvsup.dk.FreeBSD.org - - - - - - - Estonia - - - - - cvsup.ee.FreeBSD.org - - - - - - - Finland - - - - - cvsup.fi.FreeBSD.org - - - - cvsup2.fi.FreeBSD.org - - - - - - - France - - - - - cvsup.fr.FreeBSD.org - - - - cvsup2.fr.FreeBSD.org - - - - cvsup3.fr.FreeBSD.org - - - - cvsup4.fr.FreeBSD.org - - - - cvsup5.fr.FreeBSD.org - - - - cvsup8.fr.FreeBSD.org - - - - - - - Germany - - - - - cvsup.de.FreeBSD.org - - - - cvsup2.de.FreeBSD.org - - - - cvsup3.de.FreeBSD.org - - - - cvsup4.de.FreeBSD.org - - - - cvsup5.de.FreeBSD.org - - - - cvsup6.de.FreeBSD.org - - - - cvsup7.de.FreeBSD.org - - - - - - - Greece - - - - cvsup.gr.FreeBSD.org - - - - cvsup2.gr.FreeBSD.org - - - - - - - Hungary - - - - cvsup.hu.FreeBSD.org - - - - - - - Iceland - - - - - cvsup.is.FreeBSD.org - - - - - - - Ireland - - - - - cvsup.ie.FreeBSD.org - - - - + where supfile + is of course the name of the supfile you have just created. + Assuming you are running under X11, cvsup + will display a GUI window with some buttons to do the usual + things. Press the go button, and watch it + run. + + Since you are updating your actual + /usr/src tree in this example, you will + need to run the program as root so that + cvsup has the permissions it needs to update + your files. Having just created your configuration file, and + having never used this program before, that might + understandably make you nervous. There is an easy way to do a + trial run without touching your precious files. Just create an + empty directory somewhere convenient, and name it as an extra + argument on the command line: - - Japan + &prompt.root; mkdir /var/tmp/dest +&prompt.root; cvsup supfile /var/tmp/dest + + The directory you specify will be used as the destination + directory for all file updates. + CVSup will examine your usual files + in /usr/src, but it will not modify or + delete any of them. Any file updates will instead land in + /var/tmp/dest/usr/src. + CVSup will also leave its base + directory status files untouched when run this way. The new + versions of those files will be written into the specified + directory. As long as you have read access to + /usr/src, you do not even need to be + root to perform this kind of trial run. + + If you are not running X11 or if you just do not like GUIs, + you should add a couple of options to the command line when you + run cvsup: + + &prompt.root; cvsup -g -L 2 supfile + + The tells + CVSup not to use its GUI. This is + automatic if you are not running X11, but otherwise you have to + specify it. + + The tells + CVSup to print out the + details of all the file updates it is doing. There are three + levels of verbosity, from to + . The default is 0, which means total + silence except for error messages. + + There are plenty of other options available. For a brief + list of them, type cvsup -H. For more + detailed descriptions, see the manual page. - - - - cvsup.jp.FreeBSD.org - + Once you are satisfied with the way updates are working, you + can arrange for regular runs of CVSup + using &man.cron.8;. + Obviously, you should not let CVSup + use its GUI when running it from &man.cron.8;. + - - cvsup2.jp.FreeBSD.org - + + <application>CVSup</application> File Collections + + The file collections available via + CVSup are organized hierarchically. + There are a few large collections, and they are divided into + smaller sub-collections. Receiving a large collection is + equivalent to receiving each of its sub-collections. The + hierarchical relationships among collections are reflected by + the use of indentation in the list below. + + The most commonly used collections are + src-all, and + ports-all. The other collections are used + only by small groups of people for specialized purposes, and + some mirror sites may not carry all of them. + + + + cvs-all release=cvs + + + The main FreeBSD CVS repository, including the + cryptography code. + + + + distrib release=cvs + + + Files related to the distribution and mirroring + of FreeBSD. + + + + + doc-all release=cvs + + Sources for the FreeBSD Handbook and other + documentation. This does not include files for + the FreeBSD web site. + + - - cvsup3.jp.FreeBSD.org - + + ports-all release=cvs - - cvsup4.jp.FreeBSD.org - + + The FreeBSD Ports Collection. - - cvsup5.jp.FreeBSD.org - + + If you do not want to update the whole of + ports-all (the whole ports tree), + but use one of the subcollections listed below, + make sure that you always update + the ports-base subcollection! + Whenever something changes in the ports build + infrastructure represented by + ports-base, it is virtually certain + that those changes will be used by real + ports real soon. Thus, if you only update the + real ports and they use some of the new + features, there is a very high chance that their build + will fail with some mysterious error message. The + very first thing to do in this + case is to make sure that your + ports-base subcollection is up to + date. + - - cvsup6.jp.FreeBSD.org - - - - + + + ports-archivers + release=cvs + + + Archiving tools. + + - - Korea + + ports-astro + release=cvs + + + Astronomical ports. + + - - - - cvsup.kr.FreeBSD.org - + + ports-audio + release=cvs + + + Sound support. + + - - cvsup2.kr.FreeBSD.org - + + ports-base + release=cvs + + + The Ports Collection build infrastructure - + various files located in the + Mk/ and + Tools/ subdirectories of + /usr/ports. - - cvsup3.kr.FreeBSD.org - - - - + + Please see the important + warning above: you should + always update this + subcollection, whenever you update any part of + the FreeBSD Ports Collection! + + + - - Kuwait + + ports-benchmarks + release=cvs + + + Benchmarks. + + - - - - cvsup1.kw.FreeBSD.org - - - - + + ports-biology + release=cvs - - Latvia + + Biology. + + - - - - cvsup.lv.FreeBSD.org - - - - + + ports-cad + release=cvs + + + Computer aided design tools. + + - - Lithuania + + ports-chinese + release=cvs + + + Chinese language support. + + - - - - cvsup.lt.FreeBSD.org - + + ports-comms + release=cvs + + + Communication software. + + - - cvsup2.lt.FreeBSD.org - - - - + + ports-converters + release=cvs + + + character code converters. + + - - Netherlands + + ports-databases + release=cvs + + + Databases. + + + + + ports-deskutils + release=cvs + + + Things that used to be on the desktop + before computers were invented. + + - - - - cvsup.nl.FreeBSD.org - + + ports-devel + release=cvs - - cvsup2.nl.FreeBSD.org - + + Development utilities. + + - - cvsup3.nl.FreeBSD.org - + + ports-dns + release=cvs - - cvsup4.nl.FreeBSD.org - + + DNS related software. + + + + + ports-editors + release=cvs - - cvsup5.nl.FreeBSD.org - - - - + + Editors. + + - - New Zealand + + ports-emulators + release=cvs + + + Emulators for other operating + systems. + + - - - - cvsup.nz.FreeBSD.org - - - - + + ports-finance + release=cvs + + + Monetary, financial and related applications. + + - - Norway + + ports-ftp + release=cvs + + + FTP client and server utilities. + + - - - - cvsup.no.FreeBSD.org - - - - + + ports-games + release=cvs + + + Games. + + + + + ports-german + release=cvs + + + German language support. + + - - Philippines + + ports-graphics + release=cvs - - - - cvsup1.ph.FreeBSD.org - - - - + + Graphics utilities. + + - - Poland + + ports-hungarian + release=cvs + + + Hungarian language support. + + - - - - cvsup.pl.FreeBSD.org - + + ports-irc + release=cvs - - cvsup2.pl.FreeBSD.org - + + Internet Relay Chat utilities. + + - - cvsup3.pl.FreeBSD.org - - - - + + ports-japanese + release=cvs - - Portugal + + Japanese language support. + + + + + ports-java + release=cvs - - - - cvsup.pt.FreeBSD.org - + + &java; utilities. + + - - cvsup2.pt.FreeBSD.org - - - - + + ports-korean + release=cvs - - Romania + + Korean language support. + + - - - - cvsup.ro.FreeBSD.org - + + ports-lang + release=cvs - - cvsup2.ro.FreeBSD.org - + + Programming languages. + + - - cvsup3.ro.FreeBSD.org - - - - + + ports-mail + release=cvs - - Russia + + Mail software. + + - - - - cvsup.ru.FreeBSD.org - + + ports-math + release=cvs - - cvsup2.ru.FreeBSD.org - + + Numerical computation software. + + - - cvsup3.ru.FreeBSD.org - + + ports-mbone + release=cvs - - cvsup4.ru.FreeBSD.org - + + MBone applications. + + - - cvsup5.ru.FreeBSD.org - + + ports-misc + release=cvs - - cvsup6.ru.FreeBSD.org - - - - + + Miscellaneous utilities. + + - - San Marino + + ports-multimedia + release=cvs - - - - cvsup.sm.FreeBSD.org - - - - + + Multimedia software. + + - - Singapore + + ports-net + release=cvs + + + Networking software. + + - - - - cvsup.sg.FreeBSD.org - - - - + + ports-news + release=cvs + + + USENET news software. + + + + + ports-palm + release=cvs + + + Software support for Palm + series. + + - - Slovak Republic + + ports-polish + release=cvs + + + Polish language support. + + + + + ports-portuguese + release=cvs + + + Portuguese language support. + + - - - - cvsup.sk.FreeBSD.org - + + ports-print + release=cvs + + + Printing software. + + - - cvsup2.sk.FreeBSD.org - - - - + + ports-russian + release=cvs + + + Russian language support. + + - - Slovenia + + ports-security + release=cvs + + + Security utilities. + + - - - - cvsup.si.FreeBSD.org - + + ports-shells + release=cvs + + + Command line shells. + + - - cvsup2.si.FreeBSD.org - - - - + + ports-sysutils + release=cvs + + + System utilities. + + - - South Africa + + ports-textproc + release=cvs + + + text processing utilities (does not + include desktop publishing). + + - - - - cvsup.za.FreeBSD.org - + + ports-vietnamese + release=cvs + + + Vietnamese language support. + + - - cvsup2.za.FreeBSD.org - - - - + + ports-www + release=cvs + + + Software related to the World Wide + Web. + + - - Spain + + ports-x11 + release=cvs + + + Ports to support the X window + system. + + - - - - cvsup.es.FreeBSD.org - + + ports-x11-clocks + release=cvs + + + X11 clocks. + + - - cvsup2.es.FreeBSD.org - + + ports-x11-fm + release=cvs - - cvsup3.es.FreeBSD.org - - - - + + X11 file managers. + + - - Sweden + + ports-x11-fonts + release=cvs + + + X11 fonts and font utilities. + + - - - - cvsup.se.FreeBSD.org - + + ports-x11-toolkits + release=cvs - - cvsup3.se.FreeBSD.org - - - - + + X11 toolkits. + + - - Switzerland + + ports-x11-servers + + + X11 servers. + + - - - - cvsup.ch.FreeBSD.org - - - - + + ports-x11-wm + + + X11 window managers. + + + + + - - Taiwan + + src-all release=cvs + + + The main FreeBSD sources, including the + cryptography code. - - - - cvsup.tw.FreeBSD.org - + + + src-base + release=cvs - - cvsup3.tw.FreeBSD.org - + + Miscellaneous files at the top of + /usr/src. + + - - cvsup4.tw.FreeBSD.org - + + src-bin + release=cvs - - cvsup5.tw.FreeBSD.org - + + User utilities that may be needed in + single-user mode + (/usr/src/bin). + + - - cvsup6.tw.FreeBSD.org - + + src-contrib + release=cvs - - cvsup7.tw.FreeBSD.org - + + Utilities and libraries from outside the + FreeBSD project, used relatively unmodified + (/usr/src/contrib). + + - - cvsup8.tw.FreeBSD.org - + + src-crypto release=cvs - - cvsup9.tw.FreeBSD.org - + + Cryptography utilities and libraries from + outside the FreeBSD project, used relatively + unmodified + (/usr/src/crypto). + + - - cvsup10.tw.FreeBSD.org - + + src-eBones release=cvs + + + Kerberos and DES + (/usr/src/eBones). Not + used in current releases of FreeBSD. + + - - cvsup11.tw.FreeBSD.org - + + src-etc + release=cvs - - cvsup12.tw.FreeBSD.org - + + System configuration files + (/usr/src/etc). + + - - cvsup13.tw.FreeBSD.org - - - - + + src-games + release=cvs + + + Games + (/usr/src/games). + + - - Turkey + + src-gnu + release=cvs - - - - cvsup.tr.FreeBSD.org - - - - + + Utilities covered by the GNU Public + License (/usr/src/gnu). + + + + + src-include + release=cvs + + + Header files + (/usr/src/include). + + - - Ukraine + + src-kerberos5 + release=cvs + + + Kerberos5 security package + (/usr/src/kerberos5). + + - - + + src-kerberosIV + release=cvs + + + KerberosIV security package + (/usr/src/kerberosIV). + + - - cvsup2.ua.FreeBSD.org - + + src-lib + release=cvs - - cvsup3.ua.FreeBSD.org - + + Libraries + (/usr/src/lib). + + - - cvsup4.ua.FreeBSD.org - + + src-libexec + release=cvs - - cvsup5.ua.FreeBSD.org - + + System programs normally executed by other + programs + (/usr/src/libexec). + + + + + src-release + release=cvs + + + Files required to produce a FreeBSD + release + (/usr/src/release). + + - - cvsup6.ua.FreeBSD.org - + + src-sbin release=cvs - - cvsup7.ua.FreeBSD.org - - - - + + System utilities for single-user mode + (/usr/src/sbin). + + + + + src-secure + release=cvs - - United Kingdom + + Cryptographic libraries and commands + (/usr/src/secure). + + - - - - cvsup.uk.FreeBSD.org - + + src-share + release=cvs - - cvsup2.uk.FreeBSD.org - + + Files that can be shared across multiple + systems + (/usr/src/share). + + - - cvsup3.uk.FreeBSD.org - + + src-sys + release=cvs - - cvsup4.uk.FreeBSD.org - - - - + + The kernel + (/usr/src/sys). + + - - USA + + src-sys-crypto + release=cvs + + + Kernel cryptography code + (/usr/src/sys/crypto). + + - - - - cvsup1.us.FreeBSD.org - + + src-tools + release=cvs - - cvsup2.us.FreeBSD.org - + + Various tools for the maintenance of + FreeBSD + (/usr/src/tools). + + - - cvsup3.us.FreeBSD.org - + + src-usrbin + release=cvs - - cvsup4.us.FreeBSD.org - + + User utilities + (/usr/src/usr.bin). + + - - cvsup5.us.FreeBSD.org - + + src-usrsbin + release=cvs + + + System utilities + (/usr/src/usr.sbin). + + + + + + + + www release=cvs + + + The sources for the FreeBSD WWW site. + + + + + + + + distrib release=self - - cvsup6.us.FreeBSD.org - + + The CVSup server's own + configuration files. Used by CVSup + mirror sites. + + - - cvsup7.us.FreeBSD.org - + + gnats release=current - - cvsup8.us.FreeBSD.org - + + The GNATS bug-tracking database. + + - - cvsup9.us.FreeBSD.org - + + mail-archive release=current + + + FreeBSD mailing list archive. + + - - cvsup10.us.FreeBSD.org - + + www release=current - - cvsup11.us.FreeBSD.org - + + The pre-processed FreeBSD WWW site files (not the + source files). Used by WWW mirror sites. + + + + - - cvsup12.us.FreeBSD.org - + + For More Information - - cvsup13.us.FreeBSD.org - + For the CVSup FAQ and other + information about CVSup, see + The + CVSup Home Page. - - cvsup14.us.FreeBSD.org - + Most FreeBSD-related discussion of + CVSup takes place on the + &a.hackers;. New versions of the software are announced there, + as well as on the &a.announce;. + + Questions and bug reports should be addressed to the author + of the program at cvsup-bugs@polstra.com. + - - cvsup15.us.FreeBSD.org - + + CVSup Sites - - cvsup16.us.FreeBSD.org - + CVSup servers for FreeBSD are running + at the following sites: - - cvsup18.us.FreeBSD.org - - - - - - + &chap.mirrors.cvsup.inc; + CVS Tags When obtaining or updating sources from cvs and CVSup a revision tag (reference to a date in time) must be specified. A revision tag refers to either a particular line of FreeBSD development, or a specific point in time. The first type are called branch tags, the second type are called release tags. Branch Tags All of these, with the exception of HEAD (which is always a valid tag), only apply to the src/ tree. The ports/, doc/, and www/ trees are not branched. HEAD Symbolic name for the main line, or FreeBSD-CURRENT. Also the default when no revision is specified. In CVSup, this tag is represented by a . (not punctuation, but a literal . character). In CVS, this is the default when no revision tag is specified. It is usually not a good idea to checkout or update to CURRENT sources on a STABLE machine, unless that is your intent. RELENG_5_1 The release branch for FreeBSD-5.1, used only for security advisories and other seriously critical fixes. RELENG_5_0 The release branch for FreeBSD-5.0, used only for security advisories and other seriously critical fixes. RELENG_4 The line of development for FreeBSD-4.X, also known as FreeBSD-STABLE. RELENG_4_9 The release branch for FreeBSD-4.9, used only for security advisories and other seriously critical fixes. RELENG_4_8 The release branch for FreeBSD-4.8, used only for security advisories and other seriously critical fixes. RELENG_4_7 The release branch for FreeBSD-4.7, used only for security advisories and other seriously critical fixes. RELENG_4_6 The release branch for FreeBSD-4.6 and FreeBSD-4.6.2, used only for security advisories and other seriously critical fixes. RELENG_4_5 The release branch for FreeBSD-4.5, used only for security advisories and other seriously critical fixes. RELENG_4_4 The release branch for FreeBSD-4.4, used only for security advisories and other seriously critical fixes. RELENG_4_3 The release branch for FreeBSD-4.3, used only for security advisories and other seriously critical fixes. RELENG_3 The line of development for FreeBSD-3.X, also known as 3.X-STABLE. RELENG_2_2 The line of development for FreeBSD-2.2.X, also known as 2.2-STABLE. This branch is mostly obsolete. Release Tags These tags correspond to the FreeBSD src/ tree (and ports/, doc/, and www/ trees) at a specific point in time, when a particular version of FreeBSD was released. RELENG_4_9_0_RELEASE FreeBSD 4.9 RELENG_5_1_0_RELEASE FreeBSD 5.1 RELENG_4_8_0_RELEASE FreeBSD 4.8 RELENG_5_0_0_RELEASE FreeBSD 5.0 RELENG_4_7_0_RELEASE FreeBSD 4.7 RELENG_4_6_2_RELEASE FreeBSD 4.6.2 RELENG_4_6_1_RELEASE FreeBSD 4.6.1 RELENG_4_6_0_RELEASE FreeBSD 4.6 RELENG_4_5_0_RELEASE FreeBSD 4.5 RELENG_4_4_0_RELEASE FreeBSD 4.4 RELENG_4_3_0_RELEASE FreeBSD 4.3 RELENG_4_2_0_RELEASE FreeBSD 4.2 RELENG_4_1_1_RELEASE FreeBSD 4.1.1 RELENG_4_1_0_RELEASE FreeBSD 4.1 RELENG_4_0_0_RELEASE FreeBSD 4.0 RELENG_3_5_0_RELEASE FreeBSD-3.5 RELENG_3_4_0_RELEASE FreeBSD-3.4 RELENG_3_3_0_RELEASE FreeBSD-3.3 RELENG_3_2_0_RELEASE FreeBSD-3.2 RELENG_3_1_0_RELEASE FreeBSD-3.1 RELENG_3_0_0_RELEASE FreeBSD-3.0 RELENG_2_2_8_RELEASE FreeBSD-2.2.8 RELENG_2_2_7_RELEASE FreeBSD-2.2.7 RELENG_2_2_6_RELEASE FreeBSD-2.2.6 RELENG_2_2_5_RELEASE FreeBSD-2.2.5 RELENG_2_2_2_RELEASE FreeBSD-2.2.2 RELENG_2_2_1_RELEASE FreeBSD-2.2.1 RELENG_2_2_0_RELEASE FreeBSD-2.2.0 AFS Sites AFS servers for FreeBSD are running at the following sites: Sweden The path to the files are: /afs/stacken.kth.se/ftp/pub/FreeBSD/ stacken.kth.se # Stacken Computer Club, KTH, Sweden 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se Maintainer ftp@stacken.kth.se rsync Sites The following sites make FreeBSD available through the rsync protocol. The rsync utility works in much the same way as the &man.rcp.1; command, but has more options and uses the rsync remote-update protocol which transfers only the differences between two sets of files, thus greatly speeding up the synchronization over the network. This is most useful if you are a mirror site for the FreeBSD FTP server, or the CVS repository. The rsync suite is available for many operating systems, on FreeBSD, see the net/rsync port or use the package. Czech Republic rsync://ftp.cz.FreeBSD.org/ Available collections: ftp: A partial mirror of the FreeBSD FTP server. FreeBSD: A full mirror of the FreeBSD FTP server. Germany rsync://grappa.unix-ag.uni-kl.de/ Available collections: freebsd-cvs: The full FreeBSD CVS repository. This machine also mirrors the CVS repositories of the NetBSD and the OpenBSD projects, among others. Netherlands rsync://ftp.nl.FreeBSD.org/ Available collections: vol/3/freebsd-core: A full mirror of the FreeBSD FTP server. United Kingdom rsync://rsync.mirror.ac.uk/ Available collections: ftp.FreeBSD.org: A full mirror of the FreeBSD FTP server. United States of America rsync://ftp-master.FreeBSD.org/ This server may only be used by FreeBSD primary mirror sites. Available collections: FreeBSD: The master archive of the FreeBSD FTP server. acl: The FreeBSD master ACL list. rsync://ftp13.FreeBSD.org/ Available collections: FreeBSD: A full mirror of the FreeBSD FTP server.
diff --git a/share/mk/doc.docbook.mk b/share/mk/doc.docbook.mk index 2adb7a08f5..6c06d71a9b 100644 --- a/share/mk/doc.docbook.mk +++ b/share/mk/doc.docbook.mk @@ -1,909 +1,911 @@ # # $FreeBSD$ # # This include file handles building and installing of # DocBook documentation in the FreeBSD Documentation Project. # # Documentation using DOCFORMAT=docbook is expected to be marked up # according to the DocBook DTD # # ------------------------------------------------------------------------ # # Document-specific variables # # DOC This should be set to the name of the DocBook # marked-up file, without the .sgml or .docb suffix. # # It also determins the name of the output files - # ${DOC}.html. # # DOCBOOKSUFFIX The suffix of your document, defaulting to .sgml # # SRCS The names of all the files that are needed to # build this document - This is useful if any of # them need to be generated. Changing any file in # SRCS causes the documents to be rebuilt. # # HAS_INDEX This document has index terms and so an index # can be created if specified with GEN_INDEX. # # ------------------------------------------------------------------------ # # Variables used by both users and documents: # # SGMLFLAGS Additional options to pass to various SGML # processors (e.g., jade, nsgmls). Typically # used to define "IGNORE" entities to "INCLUDE" # with "-i" # # JADEFLAGS Additional options to pass to Jade. Typically # used to set additional variables, such as # "%generate-article-toc%". # # TIDYFLAGS Additional flags to pass to Tidy. Typically # used to set "-raw" flag to handle 8bit characters. # # EXTRA_CATALOGS Additional catalog files that should be used by # any SGML processing applications. # # NO_TIDY If you do not want to use tidy, set this to "YES". # # GEN_INDEX If this document has an index (HAS_INDEX) and this # variable is defined, then index.sgml will be added # to the list of dependencies for source files, and # collateindex.pl will be run to generate index.sgml. # # CSS_SHEET Full path to a CSS stylesheet suitable for DocBook. # Default is ${DOC_PREFIX}/share/misc/docbook.css # # Print-output options : # # NICE_HEADERS If defined, customized chapter headers will be created # that you may find more aesthetically pleasing. Note # that this option only effects print output formats for # Enlish language books. # # MIN_SECT_LABELS If defined, do not display the section number for 4th # and 5th level section titles. This would change # "N.N.N.N Section title" into "Section Title" while # higher level sections are still printed with numbers. # # TRACE={1,2} Trace TeX's memory usage. Set this to 1 for minimal # tracing or 2 for maximum tracing. TeX memory # statistics will be written out to .log. # For more information see the TeXbook, p301. # # TWO_SIDE If defined, two sided output will be created. This # means that new chapters will only start on odd # numbered (aka right side, aka recto) pages and the # headers and footers will be aligned appropriately # for double sided paper. Blank pages may be added as # needed. # # JUSTIFY If defined, text will be right justified so that the # right edge is smooth. Words may be hyphenated using # the defalt TeX hyphenation rules for this purpose. # # BOOK_OUTPUT A collection of options are set suitable for printing # a book. This option may be an order of magnitude more # CPU intensive than the default build. # # RLE Use Run-Length Encoding for EPS files, this will # result in signficiantly smaller PostScript files, # but may take longer for a printer to process. # # Documents should use the += format to access these. # DOCBOOKSUFFIX?= sgml MASTERDOC?= ${.CURDIR}/${DOC}.${DOCBOOKSUFFIX} # Which stylesheet type to use. 'dsssl' or 'xsl' STYLESHEET_TYPE?= dsssl .if ${MACHINE_ARCH} != "i386" OPENJADE= yes .endif .if defined(OPENJADE) JADE?= ${PREFIX}/bin/openjade JADECATALOG?= ${PREFIX}/share/sgml/openjade/catalog NSGMLS?= ${PREFIX}/bin/onsgmls JADEFLAGS+= -V openjade SX?= ${PREFIX}/bin/osx .else JADE?= ${PREFIX}/bin/jade JADECATALOG?= ${PREFIX}/share/sgml/jade/catalog NSGMLS?= ${PREFIX}/bin/nsgmls NSGMLSWARNINGS= -wempty -wunclosed SX?= ${PREFIX}/bin/sx .endif DSLHTML?= ${DOC_PREFIX}/share/sgml/default.dsl DSLPRINT?= ${DOC_PREFIX}/share/sgml/default.dsl DSLPGP?= ${DOC_PREFIX}/share/sgml/pgp.dsl FREEBSDCATALOG= ${DOC_PREFIX}/share/sgml/catalog LANGUAGECATALOG=${DOC_PREFIX}/${LANGCODE}/share/sgml/catalog ISO8879CATALOG= ${PREFIX}/share/sgml/iso8879/catalog .if ${STYLESHEET_TYPE} == "dsssl" DOCBOOKCATALOG= ${PREFIX}/share/sgml/docbook/catalog .elif ${STYLESHEET_TYPE} == "xsl" DOCBOOKCATALOG= ${PREFIX}/share/xml/docbook/catalog .endif CATALOG_PORTS_SGML= ${PREFIX}/share/sgml/catalog.ports DSSSLCATALOG= ${PREFIX}/share/sgml/docbook/dsssl/modular/catalog COLLATEINDEX= ${PREFIX}/share/sgml/docbook/dsssl/modular/bin/collateindex.pl XSLTPROC?= ${PREFIX}/bin/xsltproc +XSLTPROCFLAGS?= --nonet XSLHTML?= ${DOC_PREFIX}/share/xsl/freebsd-html.xsl XSLHTMLCHUNK?= ${DOC_PREFIX}/share/xsl/freebsd-html-chunk.xsl XSLFO?= ${DOC_PREFIX}/share/xsl/freebsd-fo.xsl INDEXREPORTSCRIPT= ${DOC_PREFIX}/share/misc/indexreport.pl IMAGES_LIB?= .for c in ${LANGUAGECATALOG} ${FREEBSDCATALOG} ${DSSSLCATALOG} ${ISO8879CATALOG} ${DOCBOOKCATALOG} ${JADECATALOG} ${EXTRA_CATALOGS} ${CATALOG_PORTS_SGML} .if exists(${c}) CATALOGS+= -c ${c} .endif .endfor SGMLFLAGS+= -D ${CANONICALOBJDIR} JADEOPTS= ${JADEFLAGS} ${SGMLFLAGS} ${CATALOGS} +XSLTPROCOPTS= ${XSLTPROCFLAGS} KNOWN_FORMATS= html html.tar html-split html-split.tar \ txt rtf ps pdf tex dvi tar pdb CSS_SHEET?= ${DOC_PREFIX}/share/misc/docbook.css PDFTEX_DEF?= ${DOC_PREFIX}/share/web2c/pdftex.def HTMLOPTS?= -ioutput.html -d ${DSLHTML} ${HTMLFLAGS} PRINTOPTS?= -ioutput.print -d ${DSLPRINT} ${PRINTFLAGS} .if defined(BOOK_OUTPUT) NICE_HEADERS=1 MIN_SECT_LABELS=1 TWO_SIDE=1 JUSTIFY=1 #WITH_FOOTNOTES=1 #GEN_INDEX=1 .endif .if defined(JUSTIFY) TEXCMDS+= \RequirePackage{url} PRINTOPTS+= -ioutput.print.justify .endif .if defined(TWO_SIDE) PRINTOPTS+= -V %two-side% -ioutput.print.twoside TEXCMDS+= \def\PageTwoSide{1} .endif .if defined(NICE_HEADERS) PRINTOPTS+= -ioutput.print.niceheaders .endif .if defined(MIN_SECT_LABELS) PRINTOPTS+= -V minimal-section-labels .endif .if defined(TRACE) TEXCMDS+= \tracingstats=${TRACE} .endif .if defined(RLE) PNMTOPSFLAGS+= -rle .endif .if !defined(WITH_INLINE_LEGALNOTICE) || empty(WITH_INLINE_LEGALNOTICE) HTMLFLAGS+= -V %generate-legalnotice-link% .endif .if defined(WITH_ARTICLE_TOC) && !empty(WITH_ARTICLE_TOC) HTMLFLAGS+= -V %generate-article-toc% PRINTFLAGS+= -V %generate-article-toc% .endif .if defined(WITH_BIBLIOXREF_TITLE) && !empty(WITH_BIBLIOXREF_TITLE) HTMLFLAGS+= -V biblio-xref-title PRINTFLAGS+= -V biblio-xref-title .endif .if defined(WITH_DOCFORMAT_NAVI_LINK) && !empty(WITH_DOCFORMAT_NAVI_LINK) HTMLFLAGS+= -V %generate-docformat-navi-link% .elif (${FORMATS:Mhtml} == "html") && (${FORMATS:Mhtml-split} == "html-split") HTMLFLAGS+= -V %generate-docformat-navi-link% .endif .if defined(WITH_ALL_TRADEMARK_SYMBOLS) && !empty(WITH_ALL_TRADEMARK_SYMBOLS) HTMLFLAGS+= -V %show-all-trademark-symbols% PRINTFLAGS+= -V %show-all-trademark-symbols% .endif PERL?= /usr/bin/perl PKG_CREATE?= /usr/sbin/pkg_create SORT?= /usr/bin/sort TAR?= /usr/bin/tar TOUCH?= /usr/bin/touch XARGS?= /usr/bin/xargs TEX?= ${PREFIX}/bin/tex LATEX?= ${PREFIX}/bin/latex PDFTEX?= ${PREFIX}/bin/pdftex GROFF?= groff TIDY?= ${PREFIX}/bin/tidy TIDYOPTS?= -wrap 90 -m -raw -preserve -f /dev/null -asxml ${TIDYFLAGS} HTML2TXT?= ${PREFIX}/bin/links HTML2TXTOPTS?= -dump ${HTML2TXTFLAGS} HTML2PDB?= ${PREFIX}/bin/iSiloBSD HTML2PDBOPTS?= -y -d0 -Idef ${HTML2PDBFLAGS} DVIPS?= ${PREFIX}/bin/dvips .if defined(PAPERSIZE) DVIPSOPTS?= -t ${PAPERSIZE:L} ${DVIPSFLAGS} .endif GZIP?= -9 GZIP_CMD?= gzip -qf ${GZIP} BZIP2?= -9 BZIP2_CMD?= bzip2 -qf ${BZIP2} ZIP?= -9 ZIP_CMD?= ${PREFIX}/bin/zip -j ${ZIP} # ------------------------------------------------------------------------ # # Look at ${FORMATS} and work out which documents need to be generated. # It is assumed that the HTML transformation will always create a file # called index.html, and that for every other transformation the name # of the generated file is ${DOC}.format. # # ${_docs} will be set to a list of all documents that must be made # up to date. # # ${CLEANFILES} is a list of files that should be removed by the "clean" # target. ${COMPRESS_EXT:S/^/${DOC}.${_cf}.&/ takes the COMPRESS_EXT # var, and prepends the filename to each listed extension, building a # second list of files with the compressed extensions added. # # Note: ".for _curformat in ${KNOWN_FORMATS}" is used several times in # this file. I know they could have been rolled together in to one, much # larger, loop. However, that would have made things more complicated # for a newcomer to this file to unravel and understand, and a syntax # error in the loop would have affected the entire # build/compress/install process, instead of just one of them, making it # more difficult to debug. # # Note: It is the aim of this file that *all* the targets be available, # not just those appropriate to the current ${FORMATS} and # ${INSTALL_COMPRESSED} values. # # For example, if FORMATS=html and INSTALL_COMPRESSED=gz you could still # type # # make book.rtf.bz2 # # and it will do the right thing. Or # # make install-rtf.bz2 # # for that matter. But don't expect "make clean" to work if the FORMATS # and INSTALL_COMPRESSED variables are wrong. # .if ${.OBJDIR} != ${.CURDIR} LOCAL_CSS_SHEET= ${.OBJDIR}/${CSS_SHEET:T} .else LOCAL_CSS_SHEET= ${CSS_SHEET:T} .endif .for _curformat in ${FORMATS} _cf=${_curformat} .if ${_cf} == "html-split" _docs+= index.html HTML.manifest ln*.html CLEANFILES+= $$([ -f HTML.manifest ] && ${XARGS} < HTML.manifest) \ HTML.manifest ln*.html CLEANFILES+= PLIST.${_curformat} .else _docs+= ${DOC}.${_curformat} CLEANFILES+= ${DOC}.${_curformat} CLEANFILES+= PLIST.${_curformat} .if ${_cf} == "html-split.tar" CLEANFILES+= $$([ -f HTML.manifest ] && ${XARGS} < HTML.manifest) \ HTML.manifest ln*.html .elif ${_cf} == "html.tar" CLEANFILES+= ${DOC}.html .elif ${_cf} == "txt" CLEANFILES+= ${DOC}.html-text .elif ${_cf} == "dvi" CLEANFILES+= ${DOC}.aux ${DOC}.log ${DOC}.tex .elif ${_cf} == "tex" CLEANFILES+= ${DOC}.aux ${DOC}.log .elif ${_cf} == "ps" CLEANFILES+= ${DOC}.aux ${DOC}.dvi ${DOC}.log ${DOC}.tex-ps ${DOC}.tex .for _curimage in ${LOCAL_IMAGES_EPS:M*share*} CLEANFILES+= ${_curimage:T} ${_curimage:H:T}/${_curimage:T} .endfor .elif ${_cf} == "pdf" CLEANFILES+= ${DOC}.aux ${DOC}.dvi ${DOC}.log ${DOC}.out ${DOC}.tex-pdf \ ${DOC}.tex .for _curimage in ${IMAGES_PDF:M*share*} CLEANFILES+= ${_curimage:T} ${_curimage:H:T}/${_curimage:T} .endfor .for _curimage in ${LOCAL_IMAGES_EPS:M*share*} CLEANFILES+= ${_curimage:T} ${_curimage:H:T}/${_curimage:T} .endfor .elif ${_cf} == "pdb" _docs+= ${.CURDIR:T}.pdb CLEANFILES+= ${.CURDIR:T}.pdb .endif .endif .if (${STYLESHEET_TYPE} == "xsl") CLEANFILES+= ${DOC}.xml .sxerr .endif .if (${LOCAL_CSS_SHEET} != ${CSS_SHEET}) && \ (${_cf} == "html-split" || ${_cf} == "html-split.tar" || \ ${_cf} == "html" || ${_cf} == "html.tar" || ${_cf} == "txt") CLEANFILES+= ${LOCAL_CSS_SHEET} .endif .if !defined(WITH_INLINE_LEGALNOTICE) || empty(WITH_INLINE_LEGALNOTICE) && \ (${_cf} == "html-split" || ${_cf} == "html-split.tar" || \ ${_cf} == "html" || ${_cf} == "html.tar" || ${_cf} == "txt") CLEANFILES+= LEGALNOTICE.html TRADEMARKS.html .endif .endfor # _curformat in ${FORMATS} # # # Build a list of install-${format}.${compress_format} targets to be # by "make install". Also, add ${DOC}.${format}.${compress_format} to # ${_docs} and ${CLEANFILES} so they get built/cleaned by "all" and # "clean". # .if defined(INSTALL_COMPRESSED) && !empty(INSTALL_COMPRESSED) .for _curformat in ${FORMATS} _cf=${_curformat} .for _curcomp in ${INSTALL_COMPRESSED} .if ${_cf} != "html-split" && ${_cf} != "html" _curinst+= install-${_curformat}.${_curcomp} _docs+= ${DOC}.${_curformat}.${_curcomp} CLEANFILES+= ${DOC}.${_curformat}.${_curcomp} .if ${_cf} == "pdb" _docs+= ${.CURDIR:T}.${_curformat}.${_curcomp} CLEANFILES+= ${.CURDIR:T}.${_curformat}.${_curcomp} .endif .endif .endfor .endfor .endif # # Index generation # CLEANFILES+= ${INDEX_SGML} .if defined(GEN_INDEX) && defined(HAS_INDEX) JADEFLAGS+= -i chap.index HTML_SPLIT_INDEX?= html-split.index HTML_INDEX?= html.index PRINT_INDEX?= print.index INDEX_SGML?= index.sgml CLEANFILES+= ${HTML_SPLIT_INDEX} ${HTML_INDEX} ${PRINT_INDEX} .endif .MAIN: all all: ${_docs} # XML -------------------------------------------------------------------- # sx generates a lot of (spurious) errors of the form "reference to # internal SDATA entity ...". So dump the errors to separate file, and # grep for any other errors to show them to the user. # # Better approaches to handling this would be most welcome ${DOC}.xml: ${SRCS} echo '' > ${DOC}.xml ${SX} -xlower -xndata ${MASTERDOC} 2> .sxerr | tail -n +2 >> ${DOC}.xml @-grep -v 'reference to internal SDATA entity' .sxerr # HTML-SPLIT ------------------------------------------------------------- .if ${STYLESHEET_TYPE} == "dsssl" index.html HTML.manifest: ${SRCS} ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} \ ${LOCAL_IMAGES_TXT} ${INDEX_SGML} ${HTML_SPLIT_INDEX} ${LOCAL_CSS_SHEET} ${JADE} -V html-manifest ${HTMLOPTS} -ioutput.html.images \ ${JADEOPTS} -t sgml ${MASTERDOC} .elif ${STYLESHEET_TYPE} == "xsl" index.html: ${DOC}.xml ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} \ ${INDEX_SGML} ${HTML_SPLIT_INDEX} ${LOCAL_CSS_SHEET} - ${XSLTPROC} --param freebsd.output.html.images "'1'" ${XSLHTMLCHUNK} \ + ${XSLTPROC} ${XSLTPROCOPTS} --param freebsd.output.html.images "'1'" ${XSLHTMLCHUNK} \ ${DOC}.xml .endif .if !defined(NO_TIDY) -${TIDY} ${TIDYOPTS} $$(${XARGS} < HTML.manifest) .endif # HTML ------------------------------------------------------------------- .if ${STYLESHEET_TYPE} == "dsssl" ${DOC}.html: ${SRCS} ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} \ ${LOCAL_IMAGES_TXT} ${INDEX_SGML} ${HTML_INDEX} ${LOCAL_CSS_SHEET} ${JADE} -V nochunks ${HTMLOPTS} -ioutput.html.images \ ${JADEOPTS} -t sgml ${MASTERDOC} > ${.TARGET} || \ (${RM} -f ${.TARGET} && false) .elif ${STYLESHEET_TYPE} == "xsl" ${DOC}.html: ${DOC}.xml ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} \ ${INDEX_SGML} ${LOCAL_CSS_SHEET} - ${XSLTPROC} --param freebsd.output.html.images "'1'" ${XSLHTML} \ + ${XSLTPROC} ${XSLTPROCOPTS} --param freebsd.output.html.images "'1'" ${XSLHTML} \ ${DOC}.xml > ${.TARGET} .endif .if !defined(NO_TIDY) -${TIDY} ${TIDYOPTS} ${.TARGET} .endif # HTML-TEXT -------------------------------------------------------------- # Special target to produce HTML with no images in it. .if ${STYLESHEET_TYPE} == "dsssl" ${DOC}.html-text: ${SRCS} ${INDEX_SGML} ${HTML_INDEX} ${LOCAL_IMAGES_TXT} ${JADE} -V nochunks ${HTMLOPTS} \ ${JADEOPTS} -t sgml ${MASTERDOC} > ${.TARGET} || \ (${RM} -f ${.TARGET} && false) .elif ${STYLESHEET_TYPE} == "xsl" ${DOC}.html-text: ${DOC}.xml ${INDEX_SGML} ${HTML_INDEX} - ${XSLTPROC} --param freebsd.output.html.images "'0'" ${XSLHTML} \ + ${XSLTPROC} ${XSLTPROCOPTS} --param freebsd.output.html.images "'0'" ${XSLHTML} \ ${DOC}.xml > ${.TARGET} .endif ${DOC}.html-split.tar: HTML.manifest ${LOCAL_IMAGES_LIB} \ ${LOCAL_IMAGES_PNG} ${LOCAL_CSS_SHEET} ${TAR} cf ${.TARGET} $$(${XARGS} < HTML.manifest) \ ${LOCAL_IMAGES_LIB} ${IMAGES_PNG:N*share*} ${CSS_SHEET:T} .for _curimage in ${IMAGES_PNG:M*share*} ${TAR} rf ${.TARGET} -C ${IMAGES_EN_DIR}/${DOC}s/${.CURDIR:T} ${_curimage:S|${IMAGES_EN_DIR}/${DOC}s/${.CURDIR:T}/||} .endfor ${DOC}.html.tar: ${DOC}.html ${LOCAL_IMAGES_LIB} \ ${LOCAL_IMAGES_PNG} ${LOCAL_CSS_SHEET} ${TAR} cf ${.TARGET} ${DOC}.html \ ${LOCAL_IMAGES_LIB} ${IMAGES_PNG:N*share*} ${CSS_SHEET:T} .for _curimage in ${IMAGES_PNG:M*share*} ${TAR} rf ${.TARGET} -C ${IMAGES_EN_DIR}/${DOC}s/${.CURDIR:T} ${_curimage:S|${IMAGES_EN_DIR}/${DOC}s/${.CURDIR:T}/||} .endfor # TXT -------------------------------------------------------------------- ${DOC}.txt: ${DOC}.html-text ${HTML2TXT} ${HTML2TXTOPTS} ${.ALLSRC} > ${.TARGET} # PDB -------------------------------------------------------------------- ${DOC}.pdb: ${DOC}.html ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} ${HTML2PDB} ${HTML2PDBOPTS} ${DOC}.html ${.TARGET} ${.CURDIR:T}.pdb: ${DOC}.pdb ${LN} -f ${.ALLSRC} ${.TARGET} .if defined(INSTALL_COMPRESSED) && !empty(INSTALL_COMPRESSED) .for _curcomp in ${INSTALL_COMPRESSED} ${.CURDIR:T}.pdb.${_curcomp}: ${DOC}.pdb.${_curcomp} ${LN} -f ${.ALLSRC} ${.TARGET} .endfor .endif # RTF -------------------------------------------------------------------- ${DOC}.rtf: ${SRCS} ${LOCAL_IMAGES_EPS} ${LOCAL_IMAGES_TXT} ${JADE} -V rtf-backend ${PRINTOPTS} \ ${JADEOPTS} -t rtf -o ${.TARGET} ${MASTERDOC} # # This sucks, but there's no way round it. The PS and PDF formats need # to use different image formats, which are chosen at the .tex stage. So, # we need to create a different .tex file depending on our eventual output # format, which will then lead on to a different .dvi file as well. # ${DOC}.tex: ${SRCS} ${LOCAL_IMAGES_EPS} ${INDEX_SGML} ${PRINT_INDEX} \ ${LOCAL_IMAGES_TXT} ${LOCAL_IMAGES_EN} ${JADE} -V tex-backend ${PRINTOPTS} \ ${JADEOPTS} -t tex -o ${.TARGET} ${MASTERDOC} ${DOC}.tex-ps: ${DOC}.tex ${LN} -f ${.ALLSRC} ${.TARGET} .if !target(${DOC}.tex-pdf) ${DOC}.tex-pdf: ${SRCS} ${IMAGES_PDF} ${INDEX_SGML} ${PRINT_INDEX} \ ${LOCAL_IMAGES_TXT} ${RM} -f ${.TARGET} ${CAT} ${PDFTEX_DEF} > ${.TARGET} ${JADE} -V tex-backend ${PRINTOPTS} -ioutput.print.pdf \ ${JADEOPTS} -t tex -o /dev/stdout ${MASTERDOC} >> ${.TARGET} .endif ${DOC}.dvi: ${DOC}.tex ${LOCAL_IMAGES_EPS} .for _curimage in ${LOCAL_IMAGES_EPS:M*share*} ${CP} -p ${_curimage} ${.CURDIR:H:H}/${_curimage:H:S|${IMAGES_EN_DIR}/||:S|${.CURDIR}||} .endfor @${ECHO} "==> TeX pass 1/3" -${TEX} "&jadetex" '${TEXCMDS} \nonstopmode\input{${DOC}.tex}' @${ECHO} "==> TeX pass 2/3" -${TEX} "&jadetex" '${TEXCMDS} \nonstopmode\input{${DOC}.tex}' @${ECHO} "==> TeX pass 3/3" -${TEX} "&jadetex" '${TEXCMDS} \nonstopmode\input{${DOC}.tex}' .if !target(${DOC}.pdf) ${DOC}.pdf: ${DOC}.tex-pdf ${IMAGES_PDF} .for _curimage in ${IMAGES_PDF:M*share*} ${CP} -p ${_curimage} ${.CURDIR:H:H}/${_curimage:H:S|${IMAGES_EN_DIR}/||:S|${.CURDIR}||} .endfor @${ECHO} "==> PDFTeX pass 1/3" -${PDFTEX} "&pdfjadetex" '${TEXCMDS} \nonstopmode\input{${DOC}.tex-pdf}' @${ECHO} "==> PDFTeX pass 2/3" -${PDFTEX} "&pdfjadetex" '${TEXCMDS} \nonstopmode\input{${DOC}.tex-pdf}' @${ECHO} "==> PDFTeX pass 3/3" ${PDFTEX} "&pdfjadetex" '${TEXCMDS} \nonstopmode\input{${DOC}.tex-pdf}' .endif ${DOC}.ps: ${DOC}.dvi ${DVIPS} ${DVIPSOPTS} -o ${.TARGET} ${.ALLSRC} ${DOC}.tar: ${SRCS} ${LOCAL_IMAGES} ${LOCAL_CSS_SHEET} ${TAR} cf ${.TARGET} -C ${.CURDIR} ${SRCS} \ -C ${.OBJDIR} ${IMAGES} ${CSS_SHEET:T} # # Build targets for any formats we've missed that we don't handle. # .for _curformat in ${ALL_FORMATS} .if !target(${DOC}.${_curformat}) ${DOC}.${_curformat}: @${ECHO_CMD} \"${_curformat}\" is not a valid output format for this document. .endif .endfor # ------------------------------------------------------------------------ # # Validation targets # # # Lets you quickly check that the document conforms to the DTD without # having to convert it to any other formats # lint validate: ${NSGMLS} ${NSGMLSWARNINGS} -s ${SGMLFLAGS} ${CATALOGS} ${MASTERDOC} # ------------------------------------------------------------------------ # # Index targets # # # Generate a different .index file based on the format name # # If we're not generating an index (the default) then we need to create # an empty index.sgml file so that we can reference index.sgml in book.sgml # ${INDEX_SGML}: ${PERL} ${COLLATEINDEX} -N -o ${.TARGET} ${HTML_INDEX}: ${JADE} -V html-index -V nochunks ${HTMLOPTS} -ioutput.html.images \ ${JADEOPTS} -t sgml ${MASTERDOC} > /dev/null ${PERL} ${COLLATEINDEX} -g -o ${INDEX_SGML} ${.TARGET} ${HTML_SPLIT_INDEX}: ${JADE} -V html-index ${HTMLOPTS} -ioutput.html.images \ ${JADEOPTS} -t sgml ${MASTERDOC} > /dev/null ${PERL} ${COLLATEINDEX} -g -o ${INDEX_SGML} ${.TARGET} ${PRINT_INDEX}: ${HTML_INDEX} ${CP} -p ${HTML_INDEX} ${.TARGET} # ------------------------------------------------------------------------ # # Compress targets # # # The list of compression extensions this Makefile knows about. If you # add new compression schemes, add to this list (which is a list of # extensions, hence bz2, *not* bzip2) and extend the _PROG_COMPRESS_* # targets. # KNOWN_COMPRESS= gz bz2 zip # # You can't build suffix rules to do compression, since you can't # wildcard the source suffix. So these are defined .USE, to be tacked on # as dependencies of the compress-* targets. # _PROG_COMPRESS_gz: .USE ${GZIP_CMD} < ${.ALLSRC} > ${.TARGET} _PROG_COMPRESS_bz2: .USE ${BZIP2_CMD} < ${.ALLSRC} > ${.TARGET} _PROG_COMPRESS_zip: .USE ${ZIP_CMD} ${.TARGET} ${.ALLSRC} # # Build a list of targets for each compression scheme and output format. # Don't compress the html-split or html output format (because they need # to be rolled in to tar files first). # .for _curformat in ${KNOWN_FORMATS} _cf=${_curformat} .for _curcompress in ${KNOWN_COMPRESS} .if ${_cf} == "html-split" || ${_cf} == "html" ${DOC}.${_cf}.tar.${_curcompress}: ${DOC}.${_cf}.tar \ _PROG_COMPRESS_${_curcompress} .else ${DOC}.${_cf}.${_curcompress}: ${DOC}.${_cf} _PROG_COMPRESS_${_curcompress} .endif .endfor .endfor # # Build targets for any formats we've missed that we don't handle. # .for _curformat in ${ALL_FORMATS} .for _curcompress in ${KNOWN_COMPRESS} .if !target(${DOC}.${_curformat}.${_curcompress}) ${DOC}.${_curformat}.${_curcompress}: @${ECHO_CMD} \"${_curformat}.${_curcompress}\" is not a valid output format for this document. .endif .endfor .endfor # ------------------------------------------------------------------------ # # Install targets # # Build install-* targets, one per allowed value in FORMATS. Need to # build two specific targets; # # install-html-split - Handles multiple .html files being generated # from one source. Uses the HTML.manifest file # created by the stylesheets, which should list # each .html file that's been created. # # install-* - Every other format. The wildcard expands to # the other allowed formats, all of which should # generate just one file. # # "beforeinstall" and "afterinstall" are hooks in to this process. # Redefine them to do things before and after the files are installed, # respectively. populate_html_docs: .if exists(HTML.manifest) _html_docs!=${CAT} HTML.manifest .endif spellcheck-html-split: populate_html_docs .for _html_file in ${_html_docs} @echo "Spellcheck ${_html_file}" @${HTML2TXT} ${HTML2TXTOPTS} ${.CURDIR}/${_html_file} | ${ISPELL} ${ISPELLOPTS} .endfor spellcheck-html: .for _entry in ${_docs} @echo "Spellcheck ${_entry}" @${HTML2TXT} ${HTML2TXTOPTS} ${.CURDIR}/${_entry} | ${ISPELL} ${ISPELLOPTS} .endfor spellcheck-txt: .for _entry in ${_docs:M*.txt} @echo "Spellcheck ${_entry}" @ < ${.CURDIR}/${_entry} ${ISPELL} ${ISPELLOPTS} .endfor .for _curformat in ${FORMATS} .if !target(spellcheck-${_curformat}) spellcheck-${_curformat}: @echo "Spellcheck is not currently supported for the ${_curformat} format." .endif .endfor spellcheck: ${FORMATS:C/^/spellcheck-/} indexreport: .for _entry in ${SRCS:M*.sgml} @echo "indexreport ${_entry}" @${PERL} ${INDEXREPORTSCRIPT} ${.CURDIR}/${_entry} .endfor # # Build a list of install-format targets to be installed. These will be # dependencies for the "realinstall" target. # .if !defined(INSTALL_ONLY_COMPRESSED) || empty(INSTALL_ONLY_COMPRESSED) _curinst+= ${FORMATS:S/^/install-/g} .endif realinstall: ${_curinst} .for _curformat in ${KNOWN_FORMATS} _cf=${_curformat} .if !target(install-${_cf}) .if ${_cf} == "html-split" install-${_curformat}: index.html .else install-${_curformat}: ${DOC}.${_curformat} .endif @[ -d ${DESTDIR} ] || ${MKDIR} -p ${DESTDIR} .if ${_cf} == "html-split" ${INSTALL_DOCS} $$(${XARGS} < HTML.manifest) ${DESTDIR} .else ${INSTALL_DOCS} ${.ALLSRC} ${DESTDIR} .endif .if (${_cf} == "html-split" || ${_cf} == "html") && !empty(LOCAL_CSS_SHEET) ${INSTALL_DOCS} ${LOCAL_CSS_SHEET} ${DESTDIR} .if ${_cf} == "html-split" @if [ -f ln*.html ]; then \ ${INSTALL_DOCS} ln*.html ${DESTDIR}; \ fi @if [ -f ${.OBJDIR}/${DOC}.ln ]; then \ cd ${DESTDIR}; sh ${.OBJDIR}/${DOC}.ln; \ fi .endif .for _curimage in ${IMAGES_LIB} @[ -d ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H} ] || \ ${MKDIR} -p ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H} ${INSTALL_DOCS} ${LOCAL_IMAGES_LIB_DIR}/${_curimage} \ ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H} .endfor # Install the images. First, loop over all the image names that contain a # directory separator, make the subdirectories, and install. Then loop over # the ones that don't contain a directory separator, and install them in the # top level. # Install at first images from /usr/share/images then localized ones # cause of a different origin path. .for _curimage in ${IMAGES_PNG:M*/*:M*share*} ${MKDIR} -p ${DESTDIR:H:H}/${_curimage:H:S|${IMAGES_EN_DIR}/||:S|${.CURDIR}||} ${INSTALL_DOCS} ${_curimage} ${DESTDIR:H:H}/${_curimage:H:S|${IMAGES_EN_DIR}/||:S|${.CURDIR}||} .endfor .for _curimage in ${IMAGES_PNG:M*/*:N*share*} ${MKDIR} -p ${DESTDIR}/${_curimage:H} ${INSTALL_DOCS} ${_curimage} ${DESTDIR}/${_curimage:H} .endfor .for _curimage in ${IMAGES_PNG:N*/*} ${INSTALL_DOCS} ${_curimage} ${DESTDIR}/${_curimage} .endfor .elif ${_cf} == "tex" || ${_cf} == "dvi" .for _curimage in ${IMAGES_EPS:M*/*} ${MKDIR} -p ${DESTDIR}/${_curimage:H:S|${IMAGES_EN_DIR}/||:S|${.CURDIR:T}/||} ${INSTALL_DOCS} ${_curimage} ${DESTDIR}/${_curimage:H:S|${IMAGES_EN_DIR}/||:S|${.CURDIR:T}/||} .endfor .for _curimage in ${IMAGES_EPS:N*/*} ${INSTALL_DOCS} ${_curimage} ${DESTDIR} .endfor .elif ${_cf} == "pdb" ${LN} -f ${DESTDIR}/${.ALLSRC} ${DESTDIR}/${.CURDIR:T}.${_curformat} .endif .if ${_cf} == "html-split" .for _compressext in ${KNOWN_COMPRESS} install-${_curformat}.tar.${_compressext}: ${DOC}.${_curformat}.tar.${_compressext} @[ -d ${DESTDIR} ] || ${MKDIR} -p ${DESTDIR} ${INSTALL_DOCS} ${.ALLSRC} ${DESTDIR} .endfor .else .for _compressext in ${KNOWN_COMPRESS} .if !target(install-${_curformat}.${_compressext}) install-${_curformat}.${_compressext}: ${DOC}.${_curformat}.${_compressext} @[ -d ${DESTDIR} ] || ${MKDIR} -p ${DESTDIR} ${INSTALL_DOCS} ${.ALLSRC} ${DESTDIR} .if ${_cf} == "pdb" ${LN} -f ${DESTDIR}/${.ALLSRC} \ ${DESTDIR}/${.CURDIR:T}.${_curformat}.${_compressext} .endif .endif .endfor .endif .endif .endfor # # Build install- targets for any formats we've missed that we don't handle. # .for _curformat in ${ALL_FORMATS} .if !target(install-${_curformat}) install-${_curformat}: @${ECHO_CMD} \"${_curformat}\" is not a valid output format for this document. .for _compressext in ${KNOWN_COMPRESS} install-${_curformat}.${_compressext}: @${ECHO_CMD} \"${_curformat}.${_compressext}\" is not a valid output format for this document. .endfor .endif .endfor # ------------------------------------------------------------------------ # # Package building # # # realpackage is what is called in each subdirectory when a package # target is called, or, rather, package calls realpackage in each # subdirectory as it goes. # # packagelist returns the list of targets that would be called during # package building. # realpackage: ${FORMATS:S/^/package-/} packagelist: @${ECHO_CMD} ${FORMATS:S/^/package-/} # # Build a list of package targets for each output target. Each package # target depends on the corresponding install target running. # .for _curformat in ${KNOWN_FORMATS} _cf=${_curformat} .if ${_cf} == "html-split" PLIST.${_curformat}: index.html @${SORT} HTML.manifest > PLIST.${_curformat} .else PLIST.${_curformat}: ${DOC}.${_curformat} @${ECHO_CMD} ${DOC}.${_curformat} > PLIST.${_curformat} .endif .if (${_cf} == "html-split" || ${_cf} == "html") && \ (!empty(LOCAL_IMAGES_LIB) || !empty(IMAGES_PNG) || !empty(CSS_SHEET)) @${ECHO_CMD} ${LOCAL_IMAGES_LIB} ${IMAGES_PNG} ${LOCAL_CSS_SHEET} | \ ${XARGS} -n1 >> PLIST.${_curformat} .elif (${_cf} == "tex" || ${_cf} == "dvi") && !empty(IMAGES_EPS) @${ECHO_CMD} ${IMAGES_EPS} | ${XARGS} -n1 >> PLIST.${_curformat} .elif ${_cf} == "pdb" @${ECHO_CMD} ${.CURDIR:T}.${_curformat} >> PLIST.${_curformat} .endif ${PACKAGES}/${.CURDIR:T}.${LANGCODE}.${_curformat}.tgz: PLIST.${_cf} @${PKG_CREATE} -v -f ${.ALLSRC} -p ${DESTDIR} -s ${.OBJDIR} \ -c -"FDP ${.CURDIR:T} ${_curformat} package" \ -d -"FDP ${.CURDIR:T} ${_curformat} package" ${.TARGET} package-${_curformat}: ${PACKAGES}/${.CURDIR:T}.${LANGCODE}.${_curformat}.tgz .endfor .if ${LOCAL_CSS_SHEET} != ${CSS_SHEET} ${LOCAL_CSS_SHEET}: ${CSS_SHEET} ${RM} -f ${.TARGET} ${CAT} ${.ALLSRC} > ${.TARGET} .if defined(CSS_SHEET_ADDITIONS) ${CAT} ${.CURDIR}/${CSS_SHEET_ADDITIONS} >> ${.TARGET} .endif .endif diff --git a/share/sgml/mirrors.xml b/share/sgml/mirrors.xml new file mode 100644 index 0000000000..6b5de967a7 --- /dev/null +++ b/share/sgml/mirrors.xml @@ -0,0 +1,633 @@ + + + + + $FreeBSD$ + + + + + Primary Mirror Sites + ftp://ftp1.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.FreeBSD.org/pub/FreeBSD/ + ftp://ftp3.FreeBSD.org/pub/FreeBSD/ + ftp://ftp4.FreeBSD.org/pub/FreeBSD/ + ftp://ftp5.FreeBSD.org/pub/FreeBSD/ + ftp://ftp6.FreeBSD.org/pub/FreeBSD/ + ftp://ftp7.FreeBSD.org/pub/FreeBSD/ + ftp://ftp8.FreeBSD.org/pub/FreeBSD/ + ftp://ftp9.FreeBSD.org/pub/os/FreeBSD/ + ftp://ftp10.FreeBSD.org/pub/FreeBSD/ + ftp://ftp11.FreeBSD.org/pub/FreeBSD/ + ftp://ftp12.FreeBSD.org/pub/FreeBSD/ + ftp://ftp13.FreeBSD.org/pub/FreeBSD/ + ftp://ftp14.FreeBSD.org/pub/FreeBSD/ + cvsup1.FreeBSD.org + cvsup2.FreeBSD.org + cvsup3.FreeBSD.org + cvsup4.FreeBSD.org + cvsup5.FreeBSD.org + cvsup6.FreeBSD.org + cvsup7.FreeBSD.org + cvsup8.FreeBSD.org + cvsup9.FreeBSD.org + cvsup10.FreeBSD.org + cvsup11.FreeBSD.org + cvsup12.FreeBSD.org + cvsup13.FreeBSD.org + cvsup14.FreeBSD.org + cvsup15.FreeBSD.org + cvsup16.FreeBSD.org + cvsup18.FreeBSD.org + mirror-admin@FreeBSD.org + + + + Argentina + http://www.ar.FreeBSD.org/ + ftp://ftp.ar.FreeBSD.org/pub/FreeBSD/ + cvsup.ar.FreeBSD.org + hostmaster@ar.FreeBSD.org + + + + Australia + http://www.au.FreeBSD.org/ + http://www2.au.FreeBSD.org/ + ftp://ftp.au.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.au.FreeBSD.org/pub/FreeBSD/ + ftp://ftp3.au.FreeBSD.org/pub/FreeBSD/ + cvsup.au.FreeBSD.org + cvsup2.au.FreeBSD.org + cvsup3.au.FreeBSD.org + cvsup4.au.FreeBSD.org + cvsup5.au.FreeBSD.org + cvsup6.au.FreeBSD.org + cvsup7.au.FreeBSD.org + hostmaster@au.FreeBSD.org + + + + Austria + http://www.at.FreeBSD.org/ + http://www2.at.FreeBSD.org/ + ftp://ftp.at.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.at.FreeBSD.org/pub/FreeBSD/ + cvsup.at.FreeBSD.org + cvsup2.at.FreeBSD.org + hostmaster@at.FreeBSD.org + + + + Belgium + http://freebsd.unixtech.be/ + + + + Brazil + http://www.br.FreeBSD.org/ + http://www2.br.FreeBSD.org/www.freebsd.org/ + http://www3.br.FreeBSD.org/ + ftp://ftp.br.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.br.FreeBSD.org/pub/FreeBSD/ + ftp://ftp3.br.FreeBSD.org/pub/FreeBSD/ + ftp://ftp4.br.FreeBSD.org/pub/FreeBSD/ + ftp://ftp5.br.FreeBSD.org/pub/FreeBSD/ + ftp://ftp6.br.FreeBSD.org/pub/FreeBSD/ + ftp://ftp7.br.FreeBSD.org/pub/FreeBSD/ + cvsup.br.FreeBSD.org + cvsup2.br.FreeBSD.org + cvsup3.br.FreeBSD.org + cvsup4.br.FreeBSD.org + cvsup5.br.FreeBSD.org + hostmaster@br.FreeBSD.org + + + + Bulgaria + http://www.bg.FreeBSD.org/ + ftp://ftp.bg.FreeBSD.org/pub/FreeBSD/ + cvsup.bg.FreeBSD.org + hostmaster@bg.FreeBSD.org + + + + Canada + http://www.ca.FreeBSD.org/ + http://www2.ca.FreeBSD.org/ + ftp://ftp.ca.FreeBSD.org/pub/FreeBSD/ + cvsup.ca.FreeBSD.org + hostmaster@ca.FreeBSD.org + + + + China + http://www.cn.FreeBSD.org/ + ftp://ftp.cn.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.cn.FreeBSD.org/pub/FreeBSD/ + cvsup.cn.FreeBSD.org + phj@cn.FreeBSD.org + + + + Croatia + ftp://ftp.hr.FreeBSD.org/pub/FreeBSD/ + hostmaster@hr.FreeBSD.org + + + + Czech Republic + http://www.cz.FreeBSD.org/ + ftp://ftp.cz.FreeBSD.org/pub/FreeBSD/ + cvsup.cz.FreeBSD.org + hostmaster@cz.FreeBSD.org + + + + Denmark + http://www.dk.FreeBSD.org/ + http://www3.dk.FreeBSD.org/ + ftp://ftp.dk.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.dk.FreeBSD.org/pub/FreeBSD/ + cvsup.dk.FreeBSD.org + hostmaster@dk.FreeBSD.org + + + + Estonia + http://www.ee.FreeBSD.org/ + ftp://ftp.ee.FreeBSD.org/pub/FreeBSD/ + cvsup.ee.FreeBSD.org + hostmaster@ee.FreeBSD.org + + + + Finland + http://www.fi.FreeBSD.org/ + http://www2.fi.FreeBSD.org/ + ftp://ftp.fi.FreeBSD.org/pub/FreeBSD/ + ftp://ftp3.fi.FreeBSD.org/pub/FreeBSD/ + cvsup.fi.FreeBSD.org + cvsup2.fi.FreeBSD.org + hostmaster@fi.FreeBSD.org + + + + France + http://www.fr.FreeBSD.org/ + ftp://ftp.fr.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.fr.FreeBSD.org/pub/FreeBSD/ + ftp://ftp3.fr.FreeBSD.org/pub/FreeBSD/ + ftp://ftp5.fr.FreeBSD.org/pub/FreeBSD/ + ftp://ftp6.fr.FreeBSD.org/pub/FreeBSD/ + ftp://ftp8.fr.FreeBSD.org/pub/FreeBSD/ + cvsup.fr.FreeBSD.org + cvsup2.fr.FreeBSD.org + cvsup3.fr.FreeBSD.org + cvsup4.fr.FreeBSD.org + cvsup5.fr.FreeBSD.org + cvsup8.fr.FreeBSD.org + hostmaster@fr.FreeBSD.org + + + + Germany + http://www.de.FreeBSD.org/ + http://www1.de.FreeBSD.org/ + http://www2.de.FreeBSD.org/ + ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ + ftp://ftp3.de.FreeBSD.org/pub/FreeBSD/ + ftp://ftp4.de.FreeBSD.org/pub/FreeBSD/ + ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ + ftp://ftp6.de.FreeBSD.org/pub/FreeBSD/ + ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ + cvsup.de.FreeBSD.org + cvsup2.de.FreeBSD.org + cvsup3.de.FreeBSD.org + cvsup4.de.FreeBSD.org + cvsup5.de.FreeBSD.org + cvsup6.de.FreeBSD.org + cvsup7.de.FreeBSD.org + de-bsd-hubs@de.FreeBSD.org + + + + Greece + http://www.gr.FreeBSD.org/ + http://www.FreeBSD.gr/ + ftp://ftp.gr.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.gr.FreeBSD.org/pub/FreeBSD/ + cvsup.gr.FreeBSD.org + cvsup2.gr.FreeBSD.org + hostmaster@gr.FreeBSD.org + + + + Hong Kong + http://www.hk.FreeBSD.org/ + ftp://ftp.hk.FreeBSD.org/pub/FreeBSD/ + + + + Hungary + http://www.hu.FreeBSD.org/ + http://www2.hu.FreeBSD.org/ + ftp://ftp.hu.FreeBSD.org/pub/FreeBSD/ + cvsup.hu.FreeBSD.org + mohacsi@ik.bme.hu + + + + Iceland + http://www.is.FreeBSD.org/ + ftp://ftp.is.FreeBSD.org/pub/FreeBSD/ + cvsup.is.FreeBSD.org + hostmaster@is.FreeBSD.org + + + + Ireland + http://www.ie.FreeBSD.org/ + http://www2.ie.FreeBSD.org/ + ftp://ftp.ie.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.ie.FreeBSD.org/pub/FreeBSD/ + ftp://ftp3.ie.FreeBSD.org/pub/FreeBSD/ + cvsup.ie.FreeBSD.org + hostmaster@ie.FreeBSD.org + + + + Italy + http://www.it.FreeBSD.org/ + http://www.gufi.org/mirrors/www.freebsd.org/data/ + ftp://ftp.it.FreeBSD.org/pub/FreeBSD/ + hostmaster@it.FreeBSD.org + + + + Japan + http://www.jp.FreeBSD.org/www.FreeBSD.org/ + ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.jp.FreeBSD.org/pub/FreeBSD/ + ftp://ftp3.jp.FreeBSD.org/pub/FreeBSD/ + ftp://ftp4.jp.FreeBSD.org/pub/FreeBSD/ + ftp://ftp5.jp.FreeBSD.org/pub/FreeBSD/ + ftp://ftp6.jp.FreeBSD.org/pub/FreeBSD/ + ftp://ftp7.jp.FreeBSD.org/pub/FreeBSD/ + ftp://ftp8.jp.FreeBSD.org/pub/FreeBSD/ + ftp://ftp9.jp.FreeBSD.org/pub/FreeBSD/ + cvsup.jp.FreeBSD.org + cvsup2.jp.FreeBSD.org + cvsup3.jp.FreeBSD.org + cvsup4.jp.FreeBSD.org + cvsup5.jp.FreeBSD.org + cvsup6.jp.FreeBSD.org + hostmaster@jp.FreeBSD.org + + + + Korea + http://www.kr.FreeBSD.org/ + http://www2.kr.FreeBSD.org/ + ftp://ftp.kr.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.kr.FreeBSD.org/pub/FreeBSD/ + cvsup.kr.FreeBSD.org + cvsup2.kr.FreeBSD.org + cvsup3.kr.FreeBSD.org + hostmaster@kr.FreeBSD.org + + + + Kuwait + http://www.kw.FreeBSD.org/ + cvsup1.kw.FreeBSD.org + + + + Latvia + http://www.lv.FreeBSD.org/ + cvsup.lv.FreeBSD.org + + + + Lithuania + http://www.lt.FreeBSD.org/ + ftp://ftp.lt.FreeBSD.org/pub/FreeBSD/ + hostmaster@lt.FreeBSD.org + + + + Netherlands + http://www.nl.FreeBSD.org/ + http://www2.nl.FreeBSD.org/ + ftp://ftp.nl.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.nl.FreeBSD.org/pub/FreeBSD/ + cvsup.nl.FreeBSD.org + cvsup2.nl.FreeBSD.org + cvsup3.nl.FreeBSD.org + cvsup4.nl.FreeBSD.org + cvsup5.nl.FreeBSD.org + hostmaster@nl.FreeBSD.org + + + + New Zealand + http://www.nz.FreeBSD.org/ + cvsup.nz.FreeBSD.org + + + + Norway + http://www.no.FreeBSD.org/ + http://www2.no.FreeBSD.org/ + ftp://ftp.no.FreeBSD.org/pub/FreeBSD/ + ftp://ftp3.no.FreeBSD.org/pub/FreeBSD/ + cvsup.no.FreeBSD.org + hostmaster@no.FreeBSD.org + + + + Philippines + http://www.FreeBSD.org.ph/ + cvsup1.ph.FreeBSD.org + + + + Poland + http://www.pl.FreeBSD.org/ + http://www2.pl.FreeBSD.org/ + ftp://ftp.pl.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.pl.FreeBSD.org/pub/FreeBSD/ + ftp://ftp3.pl.FreeBSD.org/pub/FreeBSD/ + ftp://ftp5.pl.FreeBSD.org/pub/FreeBSD/ + cvsup.pl.FreeBSD.org + cvsup2.pl.FreeBSD.org + cvsup3.pl.FreeBSD.org + hostmaster@pl.FreeBSD.org + + + + Portugal + http://www.pt.FreeBSD.org/ + http://www4.pt.FreeBSD.org/ + http://www5.pt.FreeBSD.org/ + ftp://ftp.pt.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.pt.FreeBSD.org/pub/freebsd/ + ftp://ftp4.pt.FreeBSD.org/pub/ISO/FreeBSD/ + cvsup.pt.FreeBSD.org + cvsup2.pt.FreeBSD.org + hostmaster@pt.FreeBSD.org + + + + Romania + http://www.ro.FreeBSD.org/ + http://www2.ro.FreeBSD.org/ + http://www3.ro.FreeBSD.org/ + http://www4.ro.FreeBSD.org/ + ftp://ftp.ro.FreeBSD.org/pub/FreeBSD/ + cvsup.ro.FreeBSD.org + cvsup2.ro.FreeBSD.org + cvsup3.ro.FreeBSD.org + hostmaster@ro.FreeBSD.org + + + + Russia + http://www.ru.FreeBSD.org/ + http://www2.ru.FreeBSD.org/ + http://www3.ru.FreeBSD.org/ + http://www4.ru.FreeBSD.org/ + ftp://ftp.ru.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.ru.FreeBSD.org/pub/FreeBSD/ + ftp://ftp3.ru.FreeBSD.org/pub/FreeBSD/ + ftp://ftp4.ru.FreeBSD.org/pub/FreeBSD/ + cvsup.ru.FreeBSD.org + cvsup2.ru.FreeBSD.org + cvsup3.ru.FreeBSD.org + cvsup4.ru.FreeBSD.org + cvsup5.ru.FreeBSD.org + cvsup6.ru.FreeBSD.org + hostmaster@ru.FreeBSD.org + + + + San Marino + http://www.sm.FreeBSD.org/ + cvsup.sm.FreeBSD.org + + + + Saudi Arabia + ftp://ftp.isu.net.sa/pub/mirrors/ftp.freebsd.org/ + ftpadmin@isu.net.sa + + + + Singapore + http://www2.sg.FreeBSD.org/ + ftp://ftp.sg.FreeBSD.org/pub/FreeBSD/ + cvsup.sg.FreeBSD.org + hostmaster@sg.FreeBSD.org + + + + Slovak Republic + http://www.sk.FreeBSD.org/ + http://www2.sk.FreeBSD.org/ + ftp://ftp.sk.FreeBSD.org/pub/FreeBSD/ + cvsup.sk.FreeBSD.org + cvsup2.sk.FreeBSD.org + hostmaster@sk.FreeBSD.org + + + + Slovenia + http://www.si.FreeBSD.org/ + http://www2.si.FreeBSD.org/ + ftp://ftp.si.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.si.FreeBSD.org/pub/FreeBSD/ + cvsup.si.FreeBSD.org + cvsup2.si.FreeBSD.org + hostmaster@si.FreeBSD.org + + + + South Africa + ftp://ftp.za.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.za.FreeBSD.org/pub/FreeBSD/ + ftp://ftp3.za.FreeBSD.org/pub/FreeBSD/ + ftp://ftp4.za.FreeBSD.org/pub/FreeBSD/ + cvsup.za.FreeBSD.org + cvsup2.za.FreeBSD.org + hostmaster@za.FreeBSD.org + + + + Spain + http://www.es.FreeBSD.org/ + http://www2.es.FreeBSD.org/ + http://www3.es.FreeBSD.org/ + ftp://ftp.es.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.es.FreeBSD.org/pub/FreeBSD/ + ftp://ftp3.es.FreeBSD.org/pub/FreeBSD/ + cvsup.es.FreeBSD.org + cvsup2.es.FreeBSD.org + cvsup3.es.FreeBSD.org + hostmaster@es.FreeBSD.org + + + + South Africa + http://www.za.FreeBSD.org/ + http://www2.za.FreeBSD.org/ + + + + Sweden + http://www.se.FreeBSD.org/ + http://www2.se.FreeBSD.org/ + ftp://ftp.se.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.se.FreeBSD.org/pub/FreeBSD/ + ftp://ftp3.se.FreeBSD.org/pub/FreeBSD/ + ftp://ftp5.se.FreeBSD.org/pub/FreeBSD/ + cvsup.se.FreeBSD.org + cvsup3.se.FreeBSD.org + hostmaster@se.FreeBSD.org + + + + Switzerland + http://www.ch.FreeBSD.org/ + http://www2.ch.FreeBSD.org/ + ftp://ftp.ch.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.ch.FreeBSD.org/pub/FreeBSD/ + cvsup.ch.FreeBSD.org + hostmaster@ch.FreeBSD.org + + + + Taiwan + http://www.tw.FreeBSD.org/ + http://www2.tw.FreeBSD.org/ + http://www3.tw.FreeBSD.org/ + http://www4.tw.FreeBSD.org/ + ftp://ftp.tw.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.tw.FreeBSD.org/pub/FreeBSD/ + ftp://ftp3.tw.FreeBSD.org/pub/FreeBSD/ + ftp://ftp4.tw.FreeBSD.org/pub/FreeBSD/ + ftp://ftp5.tw.FreeBSD.org/pub/FreeBSD/ + ftp://ftp6.tw.FreeBSD.org/pub/FreeBSD/ + ftp://ftp7.tw.FreeBSD.org/pub/FreeBSD/ + ftp://ftp8.tw.FreeBSD.org/pub/FreeBSD/ + ftp://ftp9.tw.FreeBSD.org/pub/FreeBSD/ + ftp://ftp10.tw.FreeBSD.org/pub/FreeBSD/ + ftp://ftp11.tw.FreeBSD.org/pub/FreeBSD/ + ftp://ftp12.tw.FreeBSD.org/pub/FreeBSD/ + ftp://ftp13.tw.FreeBSD.org/pub/FreeBSD/ + ftp://ftp14.tw.FreeBSD.org/pub/FreeBSD/ + ftp://ftp15.tw.FreeBSD.org/pub/FreeBSD/ + cvsup.tw.FreeBSD.org + cvsup3.tw.FreeBSD.org + cvsup4.tw.FreeBSD.org + cvsup5.tw.FreeBSD.org + cvsup6.tw.FreeBSD.org + cvsup7.tw.FreeBSD.org + cvsup8.tw.FreeBSD.org + cvsup9.tw.FreeBSD.org + cvsup10.tw.FreeBSD.org + cvsup11.tw.FreeBSD.org + cvsup12.tw.FreeBSD.org + cvsup13.tw.FreeBSD.org + hostmaster@tw.FreeBSD.org + + + + Turkey + http://www.tr.FreeBSD.org/ + http://www2.tr.FreeBSD.org/ + http://www.enderunix.org/freebsd/ + cvsup.tr.FreeBSD.org + + + + Ukraine + http://www.ua.FreeBSD.org/ + http://www2.ua.FreeBSD.org/ + http://www5.ua.FreeBSD.org/ + http://www4.ua.FreeBSD.org/ + ftp://ftp.ua.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.ua.FreeBSD.org/pub/FreeBSD/ + ftp://ftp3.ua.FreeBSD.org/pub/FreeBSD/ + ftp://ftp5.ua.FreeBSD.org/pub/FreeBSD/ + ftp://ftp6.ua.FreeBSD.org/pub/FreeBSD/ + ftp://ftp7.ua.FreeBSD.org/pub/FreeBSD/ + ftp://ftp8.ua.FreeBSD.org/pub/FreeBSD/ + cvsup2.ua.FreeBSD.org + cvsup3.ua.FreeBSD.org + cvsup4.ua.FreeBSD.org + cvsup5.ua.FreeBSD.org + cvsup6.ua.FreeBSD.org + cvsup7.ua.FreeBSD.org + + + + United Kingdom + http://www.uk.FreeBSD.org/ + http://www2.uk.FreeBSD.org/ + http://www3.uk.FreeBSD.org/ + http://www4.uk.FreeBSD.org/ + http://www1.uk.FreeBSD.org/ + ftp://ftp.uk.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.uk.FreeBSD.org/pub/FreeBSD/ + ftp://ftp3.uk.FreeBSD.org/pub/FreeBSD/ + ftp://ftp4.uk.FreeBSD.org/pub/FreeBSD/ + ftp://ftp5.uk.FreeBSD.org/pub/FreeBSD/ + ftp://ftp6.uk.FreeBSD.org/pub/FreeBSD/ + cvsup.uk.FreeBSD.org + cvsup2.uk.FreeBSD.org + cvsup3.uk.FreeBSD.org + cvsup4.uk.FreeBSD.org + hostmaster@uk.FreeBSD.org + + + + USA + http://www2.us.FreeBSD.org/ + http://www4.us.FreeBSD.org/ + http://www5.us.FreeBSD.org/ + ftp://ftp1.us.FreeBSD.org/pub/FreeBSD/ + ftp://ftp2.us.FreeBSD.org/pub/FreeBSD/ + ftp://ftp3.us.FreeBSD.org/pub/FreeBSD/ + ftp://ftp4.us.FreeBSD.org/pub/FreeBSD/ + ftp://ftp5.us.FreeBSD.org/pub/FreeBSD/ + ftp://ftp6.us.FreeBSD.org/pub/FreeBSD/ + ftp://ftp7.us.FreeBSD.org/pub/FreeBSD/ + ftp://ftp8.us.FreeBSD.org/pub/FreeBSD/ + ftp://ftp9.us.FreeBSD.org/pub/FreeBSD/ + ftp://ftp10.us.FreeBSD.org/pub/FreeBSD/ + ftp://ftp11.us.FreeBSD.org/pub/FreeBSD/ + ftp://ftp12.us.FreeBSD.org/pub/FreeBSD/ + ftp://ftp13.us.FreeBSD.org/pub/FreeBSD/ + ftp://ftp14.us.FreeBSD.org/pub/FreeBSD/ + cvsup1.us.FreeBSD.org + cvsup2.us.FreeBSD.org + cvsup3.us.FreeBSD.org + cvsup4.us.FreeBSD.org + cvsup5.us.FreeBSD.org + cvsup6.us.FreeBSD.org + cvsup7.us.FreeBSD.org + cvsup8.us.FreeBSD.org + cvsup9.us.FreeBSD.org + cvsup10.us.FreeBSD.org + cvsup11.us.FreeBSD.org + cvsup12.us.FreeBSD.org + cvsup13.us.FreeBSD.org + cvsup14.us.FreeBSD.org + cvsup15.us.FreeBSD.org + cvsup16.us.FreeBSD.org + cvsup18.us.FreeBSD.org + hostmaster@us.FreeBSD.org + + diff --git a/share/sgml/mirrors.xsl b/share/sgml/mirrors.xsl new file mode 100644 index 0000000000..8757cff809 --- /dev/null +++ b/share/sgml/mirrors.xsl @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + . + , + + + + + + + + + + + + + In case of problems, please contact the hostmaster + for this domain. + + + + + + + + + + + + + + + + + + + + + + + + +