summary refs log tree commit diff
path: root/src/usr.bin/lndir/lndir.1
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr.bin/lndir/lndir.1')
-rw-r--r--src/usr.bin/lndir/lndir.1206
1 files changed, 206 insertions, 0 deletions
diff --git a/src/usr.bin/lndir/lndir.1 b/src/usr.bin/lndir/lndir.1
new file mode 100644
index 0000000..70c7afb
--- /dev/null
+++ b/src/usr.bin/lndir/lndir.1
@@ -0,0 +1,206 @@
+.\" $OpenBSD: lndir.1,v 1.24 2013/08/14 06:32:30 jmc Exp $
+.\"
+.\" Copyright (c) 1997, Jason Downs.  All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS
+.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+.\" DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT,
+.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $XConsortium: lndir.man /main/9 1995/12/15 14:00:35 gildea $
+.\"
+.\" Copyright (c) 1993, 1994  X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be
+.\" included in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+.\" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.\"
+.Dd $Mdocdate: August 14 2013 $
+.Dt LNDIR 1
+.Os
+.Sh NAME
+.Nm lndir
+.Nd create a shadow directory of symbolic links to another directory tree
+.Sh SYNOPSIS
+.Nm lndir
+.Op Fl is
+.Op Fl e Ar exceptfile
+.Ar fromdir
+.Op Ar todir
+.Sh DESCRIPTION
+The
+.Nm
+program makes a shadow copy
+.Ar todir
+of a directory tree
+.Ar fromdir ,
+except that the shadow is not
+populated with real files but instead with symbolic links pointing at
+the real files in the
+.Ar fromdir
+directory tree.
+This is usually useful for maintaining source code for
+different machine architectures.
+You create a shadow directory
+containing links to the real source, which you will have usually
+mounted from a remote machine.
+You can build in the shadow tree, and
+the object files will be in the shadow directory, while the
+source files in the shadow directory are just symlinks to the real
+files.
+.Pp
+This scheme has the advantage that if you update the source, you need not
+propagate the change to the other architectures by hand, since all
+source in all shadow directories are symlinks to the real thing:
+just change working directory to the shadow directory and recompile away.
+.Pp
+The
+.Ar todir
+argument is optional and defaults to the current directory.
+The
+.Ar fromdir
+argument may be relative (e.g.\&
+.Pa ../src )
+and is relative to
+.Ar todir
+(not the current directory).
+.Pp
+If you add files, simply run
+.Nm
+again.
+New files will be silently added.
+Old files will be
+checked that they have the correct link.
+.Pp
+Deleting files is a more painful problem; the symlinks will
+just point into never never land.
+.Pp
+The options are as follows:
+.Bl -tag -width Ds
+.It Fl e Ar exceptfile
+Add the specified file to the list of excluded files/directories.
+This is effective in all directories searched by
+.Nm .
+This option may be specified as many times as needed.
+.Pp
+The following types of files are excluded by default:
+.Pp
+.Bl -dash -offset indent -compact
+.It
+files whose names end in
+.Sq ~
+.It
+files whose names start with
+.Sq .#
+.It
+RCS, SCCS, CVS, and CVS.adm directories
+.El
+.It Fl i
+If a file in
+.Ar fromdir
+is a symbolic link,
+.Nm
+will make the same link in
+.Ar todir
+rather than making a link back to the (symbolic link) entry in
+.Ar fromdir .
+The
+.Fl i
+flag changes that behavior,
+i.e. it causes the program to not treat symbolic links in
+.Ar fromdir
+specially.
+The link created in
+.Ar todir
+will point back to the corresponding (symbolic link) file in
+.Ar fromdir .
+If the link is to a directory, this is almost certainly the wrong thing.
+.Pp
+This option exists mostly to emulate the behavior the C version of
+.Nm
+had in X11R6.
+Its use is not recommended.
+.It Fl s
+Suppresses status messages normally output as
+.Nm
+descends into each subdirectory.
+.El
+.Sh DIAGNOSTICS
+The program displays the name of each subdirectory it enters, followed
+by a colon.
+The
+.Fl s
+option suppresses these messages.
+.Pp
+A warning message is displayed if the symbolic link cannot be created.
+The usual problem is that a regular file of the same name already
+exists.
+.Pp
+If the link already exists but doesn't point to the correct file, the
+program prints the link name and the location where it does point.
+.Sh SEE ALSO
+.Xr find 1 ,
+.Xr ln 1 ,
+.Xr patch 1
+.Sh HISTORY
+.Nm
+was first distributed as part of X11.
+.Pp
+This version first appeared in
+.Ox 1.2 .
+.Sh BUGS
+The
+.Xr patch 1
+program gets upset if it cannot change the files.
+You should never run
+.Xr patch 1
+from a shadow directory anyway.
+.Pp
+To clear out all files before you can relink
+(if
+.Ar fromdir
+moved, for instance):
+.Bd -literal -offset indent
+$ find todir -type l -print0 | xargs -0 -r rm
+.Ed
+.Pp
+Find all files that are not directories:
+.Bd -literal -offset indent
+$ find . ! -type d -print0
+.Ed