you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
2.2 are more obvious. -Winline is unimportant, but -W gives thousands
of warnings for comparisions. Turning off -W also loses warnings for:
- auto variables clobbered by longjmp. Not much of a problem in the kernel.
- functions returning without a value. I don't like losing this.
- an expression statement or the left side of a comma operand contains no
side effects. Turning this off also stops warnings for the low quality
debugging macros in gsc.c and lpt.c.
Should be in 2.2.
"+=" originally because (as I understand) Jordan used a sed script (or
was it perl?) to edit all the ports Makefiles automatically and he
wanted to make sure multiple CATEGORIES lines (they were inserted
after DISTNAME or something, there shouldn't have been multiple of
them to begin with but that's another story) won't be stepping on each
other's toes.
Reminded by: obrien
^^^^ ^^^^^
doesn't make the ".." in typewritten format. And the ascii version
of the file shows '<tt>..</tt>' literally. After looking into linuxdoc dtd,
we found there is no way to make ".." in typewritten font.
Noticed by: Mitsuru IWASAKI <iwasaki@pc.jaring.my>
Added reference to "MAINTAINER on Makefiles" section.
Submitted by: Jason Thorpe <thorpej@nas.nasa.gov>
(2) Remove the bogus "CAT+=" definition. Closes PR ports/1703.
Submitted by: Peter Childs <pjchilds@imforei.apana.org.au>
(3) Change MKDIR to "/bin/mkdir -p", remove "-p" from ${MKDIR}
invocations. Closes PR ports/1901.
Submitted by: obrien
(4) Add a new macro variable COMPRESS_MAN, which will evaluate to gzip
if NOMANCOMPRESS isn't set (default), or true if it is.
(5) Add a new variable NO_CHECKSUM, which will disable the md5 checksum.
Submitted by: jkh
(6) Also, move NO_PATCH and NO_PACKAGE checks to right place in
invocation order.
(7) Check for LIB_DEPENDS before installation too. (It used to check
only before extraction.)
Forgotten a long time ago by: asami
Added reference to pkg_create(1) man page in the explanation of the packing
list.
Added description of ${INSTALL_*} macros.
Added an explanation to use patch files distributed in .tar.gz format.
Added statement about the copyright on the submitted files.
Slgith change in sample Makefile.
Written mostly by: asami
the required size, as opposed to simply `touch'ing it. This works
around problems in the -current NFS and/or VFS and/or VM code.
Also hint about restricting the permissions to this file.
When I booted my system without the above option, the CDROM could not
respond in time to the bootup probe of devices and was "missed". When
I tried to access the device I got the "Device not configured" error
message. I rebuilt the kernel with the SCSI_DELAY option and the
problem went away.
Submitted by: Jon Wallace <adrl@whoweb.com>
Dmitry Kohmanyuk <dk@farm.org>
Lars Koeller <Lars_Koeller@odie.physik2.uni-rostock.de>
Michael Searle <searle@longacre.demon.co.uk>
MOROHOSHI Akihiko <moro@race.u-tokyo.ac.jp>
Ronald Kuehn <kuehn@rz.tu-clausthal.de>
Ville Eerola <ve@sci.fi>
Yukihiro Nakai <nakai@mlab.t.u-tokyo.ac.jp>
Updated following people's addresses:
Brian Clapper, Hideaki Ohmon, Jian-Da Li, Jim Lowe
Removed &a.andreas; as he's listed in the developpers section.
shipped with freebsd can be changed without modifying the Makefiles directly.
Creates: BOOT_FORCE_COMCONSOLE
BOOT_PROBE_KEYBOARD
BOOT_PROBE_KEYBOARD_LOCK
BOOT_COMCONSOLE (port value for console)
Also disabled -Wunused. It caused too many warnings even for me.
The sign mismatch warnings should be fixed first. They are more
important and harder to disable (they are controlled by -W, which
controls too many things).
NOT being maintained, that I vote for killing this document soon and
moving everything into the Handbook. The FAQ needs to be "driven" a lot
more aggressively than it has been, and since that's clearly never going to
happen then we should kill it to halt the spread of outdated information.
forced in any of the standard ways (MAKEOBJDIR was lost in the
previous commit). Simplified the conditionals for this.
Restored comment about MAKEOBJDIR from rev.1.4.
Improved English in comments.
of the variable OBJLINK which is used in /etc/make.conf to build 'obj'
links in the current directory. This caused lots of useless warnings
since if OBJLINK is defined ./obj will be created and used.
Submitted by: max
While I'm here, add "${DIST_SUBDIR}/" at end of CDROM pathnames. Also
add an empty declaration of PATCH_SITES next to MASTER_SITES to avoid
"variable recursive" error.
the gnu libobjc rather than the NeXT one. I do not understand objc
so I don't know the implications of this, but the gcc-2.7.2 libobjc is
built with this.
in the tree that use things like bsd.prog.mk just to get the default
targets like install, tags, obj, clean, cleandir, cleandepend, but do not
actually build anything there.
bsd.obj.mk. Also, a make target called objwarn checks to see
if ${.OBJDIR} != ${.CURDIR} and ${.OBJDIR} != ${CANONICALOBJDIR}
and outputs a warning. (No warning for the latter if MAKEOBJDIR or MAKEOBJDIRP
REFIX is set). objwarn is called from all targets in bsd.prog.mk, bsd.kmod.mk,
and bsd.lib.mk.
Reviewed by: bde
man pages (eg: named/bind/etc). In order to get (say) dig.1 to pass
through the filter and produce a new dig.1 for installing, I used an
intermediate file at build time, similar to the way the .gz man pages are
built.
I've not extensively tested this, but it seems to work for the known
cases where it was failing, and it only affects the NOMANCOMPRESS case
which was already broken.
Pointed out by: "Ph. Charnier" <charnier@xp11.frmug.org>, PR#1612
Add a section on what to do in order to recompile the latest BIND from ISC.
Change a & into a more proper & as LaTeX shoked on it.
Obtained from: Usenet
Submitted-By: "David E. O'Brien" <obrien@Nuxi.cs.ucdavis.edu>
Incorporate new development section, since Satoshi seems to have wandered
off for a bit and I have too much stuff stacking up in my handbook directory.
Submitted-By: asami
negated the descriptive sense of "frag" and "-N", which were clearly wrong.
changed instructions (which were bogus in the extreme) for allowing/preventing
outgoing rsh/rlogin, rewording the paragraph so it applies to incoming
connections so it actually both makes sense and tells the truth. It can
be deleted instead if not relevant.
did not change the paragraph about loading multiple rules in one command,
although this operation is now partially supported by loading from a
command file.
I hope I'm not treading on anyone's toes here.
Running them twice usually destroyed the target binary. E.g., the
second `make objlink' in `make objlink; make; make objlink' replaced
the `cat' binary by a symlink cat@ -> /usr/obj/usr/src/bin/cat.
`ln -fs' is unusable when the target might be a symlink that resolves
to a directory. Then -f applies to a file in the directory and not
to the symlink. This seems to be the standard (and sometimes useful)
behaviour.
Added forgotten share/doc/psd/05.sysman and share/zoneinfo/America/Indiana.
bsd.doc.mk:
Nuked mkdir -p and wrong fixups of the leaf directory's ownerships and
permissions. The doc tree should be well enough established for this
to be safe. Installs to directories should use a trailing slash on
the directory name so installs to non-drectories are fatal, but I
didn't start changing them.
bsd.man.mk:
Nuked mkdir -p and wrong fixups of the leaf directory's ownerships and
permissions. They were overkill to create just /usr/share/info.
zoneinfo/Makefile:
No changes yet. zic creates directories with ordinary 755 permissions.
Why do we use 555 permissions for directories in /usr/share/zoninfo.
Why not for zoneinfo itself? /proc and /dev/fd are the only other
directories in the system with 555 permissions.
note that at_shutdown has a new parameter to indicate When
during a shutdown the callout should be made. also
add a RB_POWEROFF flag to reboot "howto" parameter..
tells the reboot code in our at_shutdown module to turn off the UPS
and kill the power. bound to be useful eventually on laptops
pages.
For those of you that don't know, here is an example of how the .Fx
macro is used:
The xyzzy command first appeared in
.Fx 2.2 .
Will expand to:
The xyzzy command first appeared in FreeBSD 2.2.
"4.4BSD-Lite" (not "4.4 BSD Lite", "BSD 4.4-lite" or some such), this
is what the CSRG people call their release in the red daemon book (and
most of the handbook had it that way).
substitute.
(2) Bring the *_DEPENDS section up to the current state. Explain that
the pathname in the "path:dir" pair can be a full pathname if you
want a port to depend on something that isn't executable or an
executable that's not expected to be in the user's search path
(like /usr/local/libexec). Also, change the LIB_DEPENDS example
to use jpeg, tcl-7.3's appropriateness as an example is quite
outdated at this point. ;)
Here are the diffs for libc_r to get it one step closer to P1003.1c
These make most of the thread/mutex/condvar structures opaque to the
user. There are three functions which have been renamed with _np
suffixes because they are extensions to P1003.1c (I did them for JAVA,
which needs to suspend/resume threads and also start threads suspended).
I've created a new header (pthread_np.h) for the non-POSIX stuff.
The egrep tags stuff in /usr/src/lib/libc_r/Makefile that I uncommented
doesn't work. I think its best to delete it. I don't think libc_r needs
tags anyway, 'cause most of the source is in libc which does have tags.
also:
Here's the first batch of man pages for the thread functions.
The diff to /usr/src/lib/libc_r/Makefile removes some stuff that was
inherited from /usr/src/lib/libc/Makefile that should only be done with
libc.
also:
I should have sent this diff with the pthread(3) man page.
It allows people to type
make -DWANT_LIBC_R world
to get libc_r built with the rest of the world. I put this in the
pthread(3) man page. The default is still not to build libc_r.
also:
The diff attached adds a pthread(3) man page to /usr/src/share/man/man3.
The idea is that without libc_r installed, this man page will give people
enough info to know that they have to build libc_r.
so that people can look and comment.
I'll add the at_fork and at_exit immediatly, but I'll
add teh at_shutdown later as it's more extensive
and I desire people's comments..
julian
bombing mercilessly.
(2) If that directory has a directory called CVS, remind the user of
the existence of the "-P" option to cvs co and update.
(3) While I'm here, clean up the PATCH_DEBUG code a bit. In
particular, don't duplicate a whole bunch of code just for adding
a single "echo" statement. ;)
Reviewed by: the ports list
the devices I once owned or contemplated purchasing .. )
(1) The ncr controller supports 53C810/815/825/860/875.
(2) Descrpitions of fxp0 and vx0 were missing.
(3) The ed driver supports SMC 8216 (`Elite Ultra') too.
(4) Add pseudo-device ccd.
won't be pulled into individual ports that include this file. ;)
(2) Document MOTIFLIB, it's not set in the ports Makefiles but is
important for Motif ports (already documented in the handbook).
(3) Add INSTALL_PROGRAM, INSTALL_SCRIPT, INSTALL_DATA, INSTALL_MAN as
"aliases" of the appropriate install command line, for use in *-install
targets.
Reviewed by: the ports list (item 3 only)
eg: options "SCSI_DELAY=15" should be options SCSI_DELAY=15, as config
knows about the "=" and splits it correctly into key=value for the #defines.
The only options that need quotes are those that have numbers as part of
the actual name, eg: "TUNE_1542" and "COMPAT_IBCS2".
pipe the man page source through before compressing or installing.
This can be used to do do (eg) sed substitution on man pages from
3rd party packages (in particular, ncurses and bind-4.9.4)
This should not affect anything already in the source tree.
address - Melbourne is a city in the state of Victoria, not vice versa! :-)
Also add reference to Greg Lehey's books in the appropriate section,
replace some redundant questions by pointers to the Handbook, replace
"look at this bit of the Handbook" pointers by URLs, clean up
inconsistent use of "one" and "you" and fix a couple of typos
introduced by my previous changes...
* Removed material that was duplicated in the installation instructions.
* Updated the address for an Australian supplier of CDROMs (supplied by
David Henshaw via Martin Butkus).
* Give more info about how to get started with the installation.
* Update references to 2.1.0 as "the latest release".
* Added pointer to a Web page explaining how to have multiple operating
systems on the same machine.
* Moved question about running DOS binaries out of the installation section.
* Added question re boot floppy not loading properly.
* Added explanation of disk geometry, moved things around so that "please
refer to the previous question" no longer sends the reader with a
non-booting system to a PLIP cable wiring diagram!
* Mention the time/space requirements for making a custom install floppy.
* Acknowledge a couple of people whose answers I've adapted in various
places (and who deserve credit anyway for answering so many questions!)
I forgot his name whilst typing in the commit message on the
port, and he wasn't in the handbook (I guessed wrong, using Marc
Van Kempen, sorry to both). Now, his name is in here and I
won't get mixed up again!
Obtained from: Mark (not Marc!)