summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Lowe <richlowe@richlowe.net>2021-02-05 19:21:01 -0600
committerRichard Lowe <richlowe@richlowe.net>2021-02-12 17:11:04 -0600
commit648766a76d4408cb08159179078fb2d5d2bb26cc (patch)
tree4cbbf3d5a1599d151ffc39fc0338ac088fa95ea2
parent45dce8f04affdadfb6a71ff8b651688af9c856c6 (diff)
downloadillumos-joyent-648766a76d4408cb08159179078fb2d5d2bb26cc.tar.gz
13503 ctags should be mediated in the packaging
Reviewed by: Andy Fiddaman <andy@omniosce.org> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Gordon Ross <gordon.ross@tintri.com>
-rw-r--r--usr/src/cmd/vi/misc/Makefile4
-rw-r--r--usr/src/man/man1/Makefile4
-rw-r--r--usr/src/man/man1has/Makefile6
-rw-r--r--usr/src/man/man1has/ctags.1has (renamed from usr/src/man/man1/ctags.1)36
-rw-r--r--usr/src/pkg/manifests/developer-linker.mf9
5 files changed, 18 insertions, 41 deletions
diff --git a/usr/src/cmd/vi/misc/Makefile b/usr/src/cmd/vi/misc/Makefile
index db8390694a..8dee1ee4aa 100644
--- a/usr/src/cmd/vi/misc/Makefile
+++ b/usr/src/cmd/vi/misc/Makefile
@@ -59,8 +59,10 @@ $(POFILE): $(POFILES)
$(RM) $@
cat $(POFILES) > $(POFILE)
+$(ROOTPROG):
+ $(RM) $@; $(SYMLINK) ../has/bin/ctags $@
-install: all $(ROOTPROG) $(ROOTXPG4PROG)
+install: all $(ROOTPROG) $(ROOTHASBINPROG) $(ROOTXPG4PROG)
clean:
diff --git a/usr/src/man/man1/Makefile b/usr/src/man/man1/Makefile
index ff661e054f..60cc6a6ecf 100644
--- a/usr/src/man/man1/Makefile
+++ b/usr/src/man/man1/Makefile
@@ -85,7 +85,6 @@ MANFILES= acctcom.1 \
crypt.1 \
csh.1 \
csplit.1 \
- ctags.1 \
ctfdiff.1 \
ctfdump.1 \
ctrun.1 \
@@ -431,6 +430,7 @@ MANLINKS= batch.1 \
chdir.1 \
checkeq.1 \
continue.1 \
+ ctags.1 \
decrypt.1 \
dirname.1 \
dirs.1 \
@@ -609,6 +609,8 @@ valyorn.1 := LINKSRC = ckyorn.1
uncompress.1 := LINKSRC = compress.1
zcat.1 := LINKSRC = compress.1
+ctags.1 := LINKSRC = ../../../has/man/man1has/ctags.1has
+
red.1 := LINKSRC = ed.1
disable.1 := LINKSRC = enable.1
diff --git a/usr/src/man/man1has/Makefile b/usr/src/man/man1has/Makefile
index 0df8a8606d..7e3667cb0a 100644
--- a/usr/src/man/man1has/Makefile
+++ b/usr/src/man/man1has/Makefile
@@ -16,9 +16,11 @@
include $(SRC)/Makefile.master
-MANSECT= 1has
+MANSECT= 1has
-MANFILES= edit.1has \
+MANFILES= \
+ ctags.1has \
+ edit.1has \
ex.1has \
sh.1has \
vi.1has
diff --git a/usr/src/man/man1/ctags.1 b/usr/src/man/man1has/ctags.1has
index ec456f99bf..16f3ddf5e1 100644
--- a/usr/src/man/man1/ctags.1
+++ b/usr/src/man/man1has/ctags.1has
@@ -45,11 +45,10 @@
.\" Portions Copyright (c) 1992, X/Open Company Limited All Rights Reserved
.\" Copyright (c) 2001, Sun Microsystems, Inc. All Rights Reserved.
.\"
-.TH CTAGS 1 "Mar 18, 1997"
+.TH CTAGS 1HAS "Mar 18, 1997"
.SH NAME
ctags \- create a tags file for use with ex and vi
.SH SYNOPSIS
-.LP
.nf
\fB/usr/bin/ctags\fR [\fB-aBFtuvwx\fR] [\fB-f\fR \fItagsfile\fR] \fIfile\fR...
.fi
@@ -60,8 +59,6 @@ ctags \- create a tags file for use with ex and vi
.fi
.SH DESCRIPTION
-.sp
-.LP
The \fBctags\fR utility makes a tags file for \fBex\fR(1) from the specified C,
C++, Pascal, FORTRAN, \fByacc\fR(1), and \fBlex\fR(1) sources. A tags file
gives the locations of specified objects (in this case functions and typedefs)
@@ -71,11 +68,9 @@ definition. Functions are searched with a pattern, typedefs with a line number.
Specifiers are given in separate fields on the line, separated by SPACE or TAB
characters. Using the tags file, \fBex\fR can quickly find these objects'
definitions.
-.sp
.LP
Normally, \fBctags\fR places the tag descriptions in a file called \fBtags\fR;
this may be overridden with the \fB-f\fR option.
-.sp
.LP
Files with names ending in \fB\&.c\fR or \fB\&.h\fR are assumed to be either C
or C++ source files and are searched for C/C++ routine and macro definitions.
@@ -85,7 +80,6 @@ assumed to be \fByacc\fR source files. Files with names ending in \fB\&.l\fR
are assumed to be \fBlex\fR files. Others are first examined to see if they
contain any Pascal or \fBFORTRAN\fR routine definitions; if not, they are
processed again looking for C definitions.
-.sp
.LP
The tag \fBmain\fR is treated specially in C or C++ programs. The tag formed
is created by prepending \fBM\fR to \fIfile\fR, with a trailing \fB\&.c\fR,
@@ -93,8 +87,6 @@ is created by prepending \fBM\fR to \fIfile\fR, with a trailing \fB\&.c\fR,
name components also removed. This makes use of \fBctags\fR practical in
directories with more than one program.
.SH OPTIONS
-.sp
-.LP
The precedence of the options that pertain to printing is \fB-x\fR, \fB-v\fR,
then the remaining options. The following options are supported:
.sp
@@ -190,8 +182,6 @@ function index.
.RE
.SH OPERANDS
-.sp
-.LP
The following \fIfile\fR operands are supported:
.sp
.ne 2
@@ -224,14 +214,10 @@ FORTRAN-language source code.
.RE
.SH USAGE
-.sp
-.LP
The \fB-v\fR option is mainly used with \fBvgrind\fR which will be part of the
optional \fBBSD\fR Compatibility Package.
.SH EXAMPLES
-.LP
\fBExample 1 \fRProducing entries in alphabetical order
-.sp
.LP
Using \fBctags\fR with the \fB-v\fR option produces entries in an order which
may not always be appropriate for \fBvgrind\fR. To produce results in
@@ -244,11 +230,9 @@ example% \fBctags -v filename.c filename.h | sort -f \|>\| index\fR
example% \fBvgrind -x index\fR
.fi
.in -2
-.sp
.LP
\fBExample 2 \fRBuilding a tags file
-.sp
.LP
To build a tags file for C sources in a directory hierarchy rooted at
\fIsourcedir\fR, first create an empty tags file, and then run \fBfind\fR(1)
@@ -261,21 +245,15 @@ example% \fBfind . \e( -name SCCS -prune -name \e\e
'*.c' -o -name '*.h' \e) -exec ctags -u {} \e;\fR
.fi
.in -2
-.sp
-.sp
.LP
Notice that spaces must be entered exactly as shown.
.SH ENVIRONMENT VARIABLES
-.sp
-.LP
See \fBenviron\fR(5) for descriptions of the following environment variables
that affect the execution of \fBctags\fR: \fBLANG\fR, \fBLC_ALL\fR,
\fBLC_COLLATE\fR, \fBLC_CTYPE\fR, \fBLC_MESSAGES\fR, and \fBNLSPATH\fR.
.SH EXIT STATUS
-.sp
-.LP
The following exit values are returned:
.sp
.ne 2
@@ -296,7 +274,6 @@ An error occurred.
.RE
.SH FILES
-.sp
.ne 2
.na
\fB\fBtags\fR\fR
@@ -306,11 +283,7 @@ output tags file
.RE
.SH ATTRIBUTES
-.sp
.SS "/usr/xpg4/bin/ctags"
-.sp
-
-.sp
.TS
box;
c | c
@@ -321,25 +294,18 @@ Interface Stability Standard
.TE
.SH SEE ALSO
-.sp
-.LP
\fBex\fR(1), \fBlex\fR(1), \fBvgrind\fR(1), \fBvi\fR(1), \fByacc\fR(1),
\fBattributes\fR(5), \fBenviron\fR(5), \fBstandards\fR(5)
.SH NOTES
-.sp
-.LP
Recognition of \fBfunctions\fR, \fBsubroutines\fR, and \fBprocedures\fR for
\fBFORTRAN\fR and Pascal is done in a very simpleminded way. No attempt is made
to deal with block structure; if you have two Pascal procedures in different
blocks with the same name, you lose.
-.sp
.LP
The method of deciding whether to look for C or Pascal and \fBFORTRAN\fR
functions is a hack.
-.sp
.LP
The \fBctags\fR utility does not know about \fB#ifdefs\fR.
-.sp
.LP
The \fBctags\fR utility should know about Pascal types. Relies on the input
being well formed to detect typedefs. Use of \fB-tx\fR shows only the last line
diff --git a/usr/src/pkg/manifests/developer-linker.mf b/usr/src/pkg/manifests/developer-linker.mf
index ddc72aa0e5..5e12a38d64 100644
--- a/usr/src/pkg/manifests/developer-linker.mf
+++ b/usr/src/pkg/manifests/developer-linker.mf
@@ -60,7 +60,6 @@ file path=usr/bin/$(ARCH64)/plimit mode=0555
file path=usr/bin/$(ARCH64)/pvs mode=0555
file path=usr/bin/$(ARCH64)/strings mode=0555
file path=usr/bin/$(ARCH64)/truss mode=0555
-file path=usr/bin/ctags mode=0555
file path=usr/bin/elfsign mode=0555
file path=usr/bin/elfwrap mode=0555
file path=usr/bin/exstr mode=0555
@@ -71,6 +70,8 @@ file path=usr/bin/pvs mode=0555
file path=usr/bin/regcmp mode=0555
file path=usr/bin/sotruss mode=0755
file path=usr/bin/whocalls mode=0755
+file path=usr/has/bin/ctags mode=0555
+file path=usr/has/man/man1has/ctags.1has
file path=usr/lib/$(ARCH64)/lddstub mode=0555
file path=usr/lib/$(ARCH64)/libldstab.so.1
file path=usr/lib/abi/spec2map mode=0755
@@ -93,7 +94,6 @@ file path=usr/lib/link_audit/$(ARCH64)/who.so.1
file path=usr/lib/link_audit/ldprof.so.1
file path=usr/lib/link_audit/truss.so.1
file path=usr/lib/link_audit/who.so.1
-file path=usr/share/man/man1/ctags.1
file path=usr/share/man/man1/elfsign.1
file path=usr/share/man/man1/elfwrap.1
file path=usr/share/man/man1/exstr.1
@@ -121,6 +121,8 @@ license cr_Sun license=cr_Sun
license lic_CDDL license=lic_CDDL
license lic_OSBL license=lic_OSBL
license lic_OSBL_preamble license=lic_OSBL_preamble
+link path=usr/bin/ctags mediator=ctags mediator-implementation=illumos \
+ target=../has/bin/ctags
link path=usr/ccs/bin/$(ARCH64)/ld target=../../../bin/$(ARCH64)/ld
link path=usr/ccs/bin/ld target=../../bin/ld
link path=usr/ccs/bin/regcmp target=../../bin/regcmp
@@ -130,3 +132,6 @@ link path=usr/lib/ld/$(ARCH64)/map.below4G target=../map.below4G
link path=usr/lib/ld/$(ARCH64)/map.default target=../map.default
link path=usr/lib/link_audit/32 target=.
link path=usr/lib/link_audit/64 target=$(ARCH64)
+link path=usr/share/man/man1/ctags.1 mediator=ctags \
+ mediator-implementation=illumos \
+ target=../../../has/man/man1has/ctags.1has