From: Justin C. Sherrill Date: Mon, 19 Jul 2004 15:37:52 +0000 (+0000) Subject: &os; and FreeBSD-5 section cleanup. X-Git-Url: http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff_plain/bad269a5c6200a402f14de65fdd54eba206dc345 &os; and FreeBSD-5 section cleanup. --- diff --git a/en/books/handbook/ports/chapter.sgml b/en/books/handbook/ports/chapter.sgml index 5a646bd..b55ec92 100644 --- a/en/books/handbook/ports/chapter.sgml +++ b/en/books/handbook/ports/chapter.sgml @@ -2,7 +2,7 @@ The FreeBSD Documentation Project $FreeBSD: doc/en_US.ISO8859-1/books/handbook/ports/chapter.sgml,v 1.218 2004/05/06 11:37:25 den Exp $ - $DragonFly: doc/en/books/handbook/ports/Attic/chapter.sgml,v 1.1 2004/06/25 15:24:35 justin Exp $ + $DragonFly: doc/en/books/handbook/ports/Attic/chapter.sgml,v 1.2 2004/07/19 15:37:52 justin Exp $ --> @@ -13,16 +13,28 @@ ports packages - FreeBSD is bundled with a rich collection of system tools as + &os; is bundled with a rich collection of system tools as part of the base system. However, there is only so much one can do before needing to install an additional third-party - application to get real work done. FreeBSD provides two + application to get real work done. &os; provides two complementary technologies for installing third party software on your system: the FreeBSD Ports Collection, and binary software packages. Either system may be used to install the newest version of your favorite applications from local media or straight off the network. - + + + &os; currently uses the FreeBSD Ports Collection; it works in + most cases with no problems. In the relatively rare case that a port + will not build under &os;, an 'override' is created in a file + collection called dfports, described here. Since the ports and + packages systems are inherited from FreeBSD, references to both + &os; and FreeBSD mix throughout this chapter. + + It's expected a new system that renders this borrowed system obsolete + will be built before &os; reaches version 2.0. + + After reading this chapter, you will know: @@ -34,6 +46,9 @@ collection. + Where to find &os;-specific changes to ports. + + How to remove previously installed packages or ports. @@ -43,6 +58,7 @@ How to upgrade your ports. + @@ -82,27 +98,27 @@ And that is only if everything goes well. If you are installing a - software package that was not deliberately ported to FreeBSD you may + software package that was not deliberately ported to &os; you may even have to go in and edit the code to make it work properly. Should you want to, you can continue to install software the - traditional way with FreeBSD. However, FreeBSD - provides two technologies which can save you a lot of effort: - packages and ports. At the time of writing, over &os.numports; - third party applications have been made available in this - way. + traditional way with &os;. However, &os; + provides two technologies, inherited from FreeBSD, which can save + you a lot of effort: packages and ports. At the time of + writing, over &os.numports; third party applications have + been made available in this way. - For any given application, the FreeBSD package for that + For any given application, the &os; package for that application is a single file which you must download. The package contains pre-compiled copies of all the commands for the application, as well as any configuration files or documentation. A downloaded package file can be manipulated - with FreeBSD package management commands, such as + with &os; package management commands, such as &man.pkg.add.1;, &man.pkg.delete.1;, &man.pkg.info.1;, and so on. Installing a new application can be carried out with a single command. - A FreeBSD port for an application is a collection of files + A 'port' for an application is a collection of files designed to automate the process of compiling an application from source code. @@ -124,13 +140,13 @@ dependencies. Suppose you want to install an application that depends on a specific library being installed. Both the application and the library have been made - available as FreeBSD ports and packages. If you use the + available as ports and packages. If you use the pkg_add command or the ports system to add the application, both will notice that the library has not been installed, and automatically install the library first. Given that the two technologies are quite similar, you might - be wondering why FreeBSD bothers with both. Packages and ports + be wondering why &os; bothers with both. Packages and ports both have their own strengths, and which one you use will depend on your own preference. @@ -154,7 +170,7 @@ Packages do not require any understanding of the process - involved in compiling software on FreeBSD. + involved in compiling software on &os;. @@ -195,9 +211,10 @@ - Some people do not trust binary distributions. At least - with source code, you can (in theory) read through it and - look for potential problems yourself. + Some people do not trust binary distributions. With source + code, it is possible to check for any vulnerabilities built into the + program before installing it to an otherwise secure system. Few + people perform this much review, however. @@ -213,7 +230,9 @@ To keep track of updated ports, subscribe to the - &a.ports; and the &a.ports-bugs;. + &a.ports; and the &a.ports-bugs;. It's also useful to watch the + &a.bugs.name as errors with ports on DragonFly should be reported + there. Before installing any application, you should check The remainder of this chapter will explain how to use packages and ports to install and manage third party software on - FreeBSD. + &os;. @@ -240,7 +259,7 @@ Before you can install any applications you need to know what you want, and what the application is called. - FreeBSD's list of available applications is growing all the + &os;'s list of available applications is growing all the time. Fortunately, there are a number of ways to find what you want: @@ -332,8 +351,8 @@ local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz &prompt.root; pkg_add lsof-4.56.4.tgz - If you do not have a source of local packages (such as a - FreeBSD CD-ROM set) then it will probably be easier to use the + If you do not have a source of local packages + then it will probably be easier to use the option to &man.pkg.add.1;. This will cause the utility to automatically determine the correct object format and release and then fetch and install the @@ -364,15 +383,13 @@ local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz version of the application. Package files are distributed in .tgz - and .tbz formats. You can find them at , - or on the FreeBSD CD-ROM distribution. Every CD on the - FreeBSD 4-CD set (and the PowerPak, etc.) contains packages - in the /packages directory. The layout - of the packages is similar to that of the - /usr/ports tree. Each category has its - own directory, and every package can be found within the - All directory. + and .tbz formats. You can find them at + the default location , + among other sites. The layout of the packages is similar + to that of the /usr/ports tree. + Each category has its own directory, and every package can + be found within the All directory. The directory structure of the package system matches the @@ -493,70 +510,16 @@ docbook = Before you can install ports, you must first obtain the ports collection—which is essentially a set of Makefiles, patches, and description files - placed in /usr/ports. + placed in /usr/ports. You also must obtain + the dfports collection, which contains overrides for any + FreeBSD ports that do not compile "out of the box: on &os;. - When installing your FreeBSD system, - sysinstall asked if you would like - to install the ports collection. If you chose no, you can - follow these instructions to obtain the ports - collection: - - - Sysinstall Method - - This method involves using - sysinstall again to manually - install the ports collection. - - - As root, run /stand/sysinstall as - shown below: - - &prompt.root; /stand/sysinstall - - - - Scroll down and select Configure, - press Enter. - - - - Scroll down and select - Distributions, press Enter. - - - - Scroll down to ports, press - Space. - - - - Scroll up to Exit, press - Enter. - - - - Select your desired installation media, such as CDROM, - FTP, and so on. - - - - Scroll up to Exit and press - Enter. - - - - Press X to exit - sysinstall. - - - - The alternative method to obtain and keep your ports + The primary method to obtain and keep your ports collection up to date is by using CVSup. Look at the ports CVSup file, - /usr/share/examples/cvsup/ports-supfile. + /usr/share/examples/cvsup/FreeBSD-ports-supfile. See Using CVSup () for more information on using CVSup and this file. @@ -574,18 +537,21 @@ docbook = Install the net/cvsup port. See CVSup Installation () for more details. + linkend="cvsup-install">) for more details. + CVSup is installed by default; + this will already be present on a &os; system unless + manually removed during installation. As root, copy - /usr/share/examples/cvsup/ports-supfile + /usr/share/examples/cvsup/FreeBSD-ports-supfile to a new location, such as /root or your home directory. - Edit ports-supfile. + Edit FreeBSD-ports-supfile. @@ -599,14 +565,21 @@ docbook = Run cvsup: - &prompt.root; cvsup -g -L 2 /root/ports-supfile + &prompt.root; cvsup -g -L 2 /root/FreeBSD-ports-supfile - Running this command later will download and apply all - the recent changes to your ports collection, except - actually rebuilding the ports for your own system. + To pull in dfports, run cvsup: + + &prompt.root; cvsup -g -L 2 /usr/share/examples/cvsup/DragonFly-dfports-supfile + + + Running these 2 commands later will download and apply all + the recent changes to your ports and dfports collections. + + + @@ -620,7 +593,7 @@ docbook = The first thing that should be explained when it comes to the ports collection is what is actually meant by a skeleton. In a nutshell, a port skeleton is a - minimal set of files that tell your FreeBSD system how to + minimal set of files that tell your &os; system how to cleanly compile and install a program. Each port skeleton includes: @@ -643,7 +616,7 @@ docbook = A files directory. This directory contains patches to make the program compile and - install on your FreeBSD system. Patches are basically + install on your &os; system. Patches are basically small files that specify changes to particular files. They are in plain text format, and basically say Remove line 10 or Change line 26 to @@ -670,9 +643,9 @@ docbook = Some ports have other files, such as pkg-message. The ports system uses these files to handle special situations. If you want more details - on these files, and on ports in general, check out the FreeBSD Porter's - Handbook. + on these files, and on ports in general, check out the + FreeBSD Porter's Handbook, available at the FreeBSD website. Now that you have enough background information to know what the ports collection is used for, you are ready to @@ -682,7 +655,7 @@ docbook = Before we get into that, however, you will need to choose a port to install. There are a few ways to do this, with the easiest method being the ports listing on the FreeBSD + url="http://www.freebsd.org/ports/index.html">ports listing on the FreeBSD web site. You can browse through the ports listed there or use the search function on the site. Each port also includes a description so you can read a bit about each port before @@ -701,7 +674,11 @@ lsof: /usr/ports/sysutils/lsof This tells us that lsof (a system utility) can be found in the /usr/ports/sysutils/lsof - directory. + directory. whereis will also + locate the dfport overrides located in + /usr/dfports. Work from + the /usr/ports location, as the override + will automatically happen. Yet another way to find a particular port is by using the ports collection's built-in search mechanism. To use the @@ -773,87 +750,10 @@ R-deps: new port, to fetch the current vulnerabilities database. A security audit and an update of the database will be performed during the daily security system check. For more - informations read the &man.portaudit.1; and &man.periodic.8; + informations read the portaudit and &man.periodic.8; manual pages. - - Installing Ports from a CD-ROM - - - ports - installing from CD-ROM - - The FreeBSD Project's official CD-ROM images no longer - include distfiles. They take up a lot of room that is - better used for precompiled packages. CD-ROM products such as - the FreeBSD PowerPak do include distfiles, and you can - order these sets from a vendor such as the FreeBSD Mall. - This section assumes you have such a FreeBSD CD-ROM - set. - - Place your FreeBSD CD-ROM in the drive. Mount it on - /cdrom. (If you use a different mount - point, the install will not work.) To begin, change to the - directory for the port you want to install: - - &prompt.root; cd /usr/ports/sysutils/lsof - - Once inside the lsof directory, - you will see the port - skeleton. The next step is to compile, or build, the - port. This is done by simply typing make at - the prompt. Once you have done so, you should see something - like this: - - &prompt.root; make ->> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/. ->> Attempting to fetch from file:/cdrom/ports/distfiles/. -===> Extracting for lsof-4.57 -... -[extraction output snipped] -... ->> Checksum OK for lsof_4.57D.freebsd.tar.gz. -===> Patching for lsof-4.57 -===> Applying FreeBSD patches for lsof-4.57 -===> Configuring for lsof-4.57 -... -[configure output snipped] -... -===> Building for lsof-4.57 -... -[compilation output snipped] -... -&prompt.root; - - Notice that once the compile is complete you are - returned to your prompt. The next step is to install the - port. In order to install it, you simply need to tack one word - onto the make command, and that word is - install: - - &prompt.root; make install -===> Installing for lsof-4.57 -... -[installation output snipped] -... -===> Generating temporary packing list -===> Compressing manual pages for lsof-4.57 -===> Registering installation for lsof-4.57 -===> SECURITY NOTE: - This port has installed the following binaries which execute with - increased privileges. -&prompt.root; - - Once you are returned to your prompt, you should be able to - run the application you just installed. Since - lsof is a - program that runs with increased privileges, a security - warning is shown. During the building and installation of - ports, you should take heed of any other warnings that - may appear. - You can save an extra step by just running make install instead of make and @@ -874,35 +774,21 @@ R-deps: shells/zsh). - - Please be aware that the licenses of a few ports do - not allow for inclusion on the CD-ROM. This could be - because a registration form needs to be filled out before - downloading or redistribution is not allowed, or for - another reason. If you wish to install a port not - included on the CD-ROM, you will need to be online in - order to do so (see the next - section). - - - Installing Ports from the Internet As with the last section, this section makes an assumption that you have a working Internet connection. If - you do not, you will need to perform the CD-ROM installation, or put a copy + you do not, you will need to put a copy of the distfile into /usr/ports/distfiles manually. Installing a port from the Internet is done exactly the - same way as it would be if you were installing from a - CD-ROM. The only difference between the two is that the - distfile is downloaded from the Internet instead of read - from the CD-ROM. + same way as it would be if you already had the distfile. The + only difference between the two is that the + distfile is downloaded from the Internet on demand. - The steps involved are identical: + Here are the steps involved: &prompt.root; make install >> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/. @@ -1087,7 +973,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch ports disk-space - Using the ports collection can defiantly eat up your disk + Using the ports collection can definitely eat up your disk space. For this reason you should always remember to clean up the work directories using the make clean option. This will remove @@ -1113,7 +999,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch upgrading - Once you updated your ports collection, before + Once you have updated your ports collection, before attempting a port upgrade, you should check the /usr/ports/UPDATING file. This file describes various issues and additional steps users may @@ -1169,6 +1055,15 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch Other utilities exist which will do this, check out the ports/sysutils directory and see what you come up with. + + + portupgrade is not aware of dfports + and the overrides contained there. Therefore, + portupgrade + may not always work when dealing with any port that has overrides, or + depends on other ports that have overrides. Exercise caution. + + @@ -1258,6 +1153,15 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch broken port or even submit your own! + + Create an override in dfports. Copy the port directory + to the dfports directory, substituting 'dfport' for 'port' in any + .include lines. Add any additional patches needed + to make the port compile on os;, and submit it to + &a.submit.name . + + + Gripe—by email only! Send email to the maintainer of the port first. Type @@ -1268,17 +1172,15 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch line from the Makefile) and the output leading up to the error when you email the maintainer. If you do not get a response from the - maintainer, you can use &man.send-pr.1; to submit a bug - report. + maintainer, you can try &a.bugs.name . Grab the package from an FTP site near you. The master package collection is on ftp.FreeBSD.org in the packages - directory, but be sure to check your local mirror - first! These are more likely to work + role="fqdn">GoBSD.com in the packages + directory. These are more likely to work than trying to compile from source and are a lot faster as well. Use the &man.pkg.add.1; program to install the package on your system. diff --git a/en/books/handbook/x11/chapter.sgml b/en/books/handbook/x11/chapter.sgml index 42cedb9..2464446 100644 --- a/en/books/handbook/x11/chapter.sgml +++ b/en/books/handbook/x11/chapter.sgml @@ -2,7 +2,7 @@ The FreeBSD Documentation Project $FreeBSD: doc/en_US.ISO8859-1/books/handbook/x11/chapter.sgml,v 1.136 2004/04/18 00:30:53 ale Exp $ - $DragonFly: doc/en/books/handbook/x11/chapter.sgml,v 1.2 2004/06/29 20:28:51 justin Exp $ + $DragonFly: doc/en/books/handbook/x11/chapter.sgml,v 1.3 2004/07/19 15:37:52 justin Exp $ --> @@ -11,11 +11,11 @@ Synopsis - FreeBSD uses &xfree86; to provide users with + &os; uses &xfree86; to provide users with a powerful graphical user interface. &xfree86; is an open-source implementation of the X Window System. This chapter will cover installation and configuration of - &xfree86; on a FreeBSD system. For more + &xfree86; on a &os; system. For more information on &xfree86; and video hardware that it supports, check the &xfree86; web site. @@ -121,10 +121,11 @@ various free and commercial applications available that do exactly that. - The X server that ships with FreeBSD is called + The X server that ships with &os; is called &xfree86;, and is available for free, under a - license very similar to the FreeBSD license. Commercial X servers for - FreeBSD are also available. + license very similar to the &os; license. Commercial X servers for + FreeBSD are also available, and ought to work with &os; . + (Unconfirmed as of this writing.) @@ -287,7 +288,7 @@ yet supported in 4.X. As all new developments and support for new graphics cards are done on that branch, &xfree86; 4.X is now the default version of the X Window System on - FreeBSD. + &os;. Alternatively, either version of &xfree86; can be installed directly from the FreeBSD binaries provided on the @@ -538,7 +539,7 @@ EndSection agp_load="YES" - Next, if you are running FreeBSD 4.X or earlier, a + Next, a device node needs to be created for the programming interface. To create the AGP device node, run &man.MAKEDEV.8; in the /dev @@ -547,12 +548,6 @@ EndSection &prompt.root; cd /dev &prompt.root; sh MAKEDEV agpgart - - FreeBSD 5.X or later will use &man.devfs.5; to allocate - device nodes transparently, therefore the - &man.MAKEDEV.8; step is not required. - - This will allow configuration of the hardware as any other graphics board. Note on systems without the &man.agp.4; driver compiled in the kernel, trying to load the module @@ -1172,7 +1167,7 @@ DisplayManager.requestPort: 0 Desktop Environments This section describes the different desktop environments - available for X on FreeBSD. A desktop environment + available for X on &os; . A desktop environment can mean anything ranging from a simple window manager to a complete suite of desktop applications, such as KDE or GNOME. @@ -1195,11 +1190,7 @@ DisplayManager.requestPort: 0 cooperate and be consistent with each other. Users of other operating systems or environments should feel right at home using the powerful graphics-driven environment that - GNOME provides. More - information regarding GNOME on - FreeBSD can be found on the FreeBSD GNOME - Project's web site. + GNOME provides. @@ -1345,10 +1336,7 @@ DisplayManager.requestPort: 0 a solid competitor to other existing web browsers on &unix; systems. More information on KDE can be found on the KDE - website. For FreeBSD specific informations and - resources on KDE, consult - the FreeBSD-KDE - team's website. + website.