FreeBSD Porter's Handbook
The FreeBSD Documentation Project
Copyright
© 2000 by The FreeBSD Documentation Project
Table of Contents
1.
Making a port yourself
2.
Quick Porting
2.1.
Writing the
Makefile
2.2.
Writing the description files
2.2.1.
pkg-comment
2.2.2.
pkg-descr
2.2.3.
pkg-plist
2.3.
Creating the checksum file
2.4.
Testing the port
2.5.
Checking your port with
portlint
2.6.
Submitting the port
3.
Slow Porting
3.1.
How things work
3.2.
Getting the original sources
3.3.
Modifying the port
3.4.
Patching
3.5.
Configuring
3.6.
Handling user input
4.
Configuring the Makefile
4.1.
The original source
4.2.
PORTNAME
and
PORTVERSION
4.3.
PORTREVISION
and
PORTEPOCH
4.3.1.
PORTREVISION
4.3.2.
PORTEPOCH
4.3.3.
Example of
PORTREVISION
and
PORTEPOCH
usage
4.4.
PKGNAMEPREFIX
and
PKGNAMESUFFIX
4.5.
DISTNAME
4.6.
CATEGORIES
4.7.
MASTER_SITES
4.8.
PATCHFILES
4.9.
MAINTAINER
4.10.
Dependencies
4.10.1.
LIB_DEPENDS
4.10.2.
RUN_DEPENDS
4.10.3.
BUILD_DEPENDS
4.10.4.
FETCH_DEPENDS
4.10.5.
DEPENDS
4.10.6.
Common dependency variables
4.10.7.
Notes on dependencies
4.11.
Optional dependencies
4.12.
Building mechanisms
5.
Special considerations
5.1.
Shared Libraries
6.
MASTERDIR
7.
Shared library versions
8.
Manpages
9.
Ports that require Motif
9.1.
REQUIRES_MOTIF
9.2.
MOTIFLIB
10.
X11 fonts
11.
Info files
12.
The
pkg-
*
files
12.1.
pkg-message
12.2.
pkg-install
12.3.
pkg-req
12.4.
Changing
pkg-plist
based on make variables
12.5.
Changing the names of
pkg-
*
files
13.
Licensing Problems
14.
Upgrading
15.
Dos and Don'ts
15.1.
Strip Binaries
15.2.
INSTALL_* macros
15.3.
WRKDIR
15.4.
WRKDIRPREFIX
15.5.
Differentiating operating systems and OS versions
15.6.
Writing something after
bsd.port.mk
15.7.
Install additional documentation
15.8.
DIST_SUBDIR
15.9.
Package information
15.10.
RCS strings
15.11.
Recursive diff
15.12.
PREFIX
15.13.
Subdirectories
15.14.
Cleaning up empty directories
15.15.
UIDs
15.16.
Do things rationally
15.17.
Respect
CFLAGS
15.18.
Configuration files
15.19.
Portlint
15.20.
Feedback
15.21.
README.html
15.22.
Miscellanea
15.23.
If you are stuck...
16.
A Sample
Makefile
17.
Automated package list creation
18.
Package Names
19.
Categories
19.1.
Current list of categories
19.2.
Choosing the right category
20.
Changes to this document and the ports system
21.
That is It, Folks!
Next
Making a port yourself
For questions about the FreeBSD ports system, e-mail <
ports@FreeBSD.org
>.
For questions about this documentation, e-mail <
doc@FreeBSD.org
>.