summaryrefslogtreecommitdiff
path: root/pkgtools
diff options
context:
space:
mode:
authorjschauma <jschauma@pkgsrc.org>2004-04-11 18:29:34 +0000
committerjschauma <jschauma@pkgsrc.org>2004-04-11 18:29:34 +0000
commitd94a9697a9ef3f1649927a68bd4331929e441b88 (patch)
treeccbd85fd8301bc48f72c17b92fa41f7001b9a2ba /pkgtools
parentaced60f8f26a964d3b7d4cc0b87aaf673782e31c (diff)
downloadpkgsrc-d94a9697a9ef3f1649927a68bd4331929e441b88.tar.gz
Add pre-formatted catman pages, so we don't rely on the OPSYS providing
nroff, nor do we need to depend on textproc/groff. Regen .0 pages under SunOS and AIX as for audit-packages.
Diffstat (limited to 'pkgtools')
-rw-r--r--pkgtools/pkglint/Makefile45
-rw-r--r--pkgtools/pkglint/files/lintpkgsrc.0133
-rw-r--r--pkgtools/pkglint/files/pkglint.073
3 files changed, 222 insertions, 29 deletions
diff --git a/pkgtools/pkglint/Makefile b/pkgtools/pkglint/Makefile
index b167f2fef97..a4bf94a6954 100644
--- a/pkgtools/pkglint/Makefile
+++ b/pkgtools/pkglint/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.179 2004/02/23 12:33:29 wiz Exp $
+# $NetBSD: Makefile,v 1.180 2004/04/11 18:29:34 jschauma Exp $
#
DISTNAME= pkglint-3.68
@@ -28,45 +28,32 @@ DISTVER= ${DISTNAME:S/pkglint-//}
INSTALLATION_DIRS= bin man/cat1 man/man1
-.include "../../mk/bsd.prefs.mk"
-
-.if ${OPSYS} == "SunOS"
-# This doesn't create readable manual pages. "mandoc" should be added
-# to zoularis.
-NROFF= nroff -man
-.else
-NROFF= nroff -mandoc
-.endif
+SUBST_FILES= lintpkgsrc.0 lintpkgsrc.1 lintpkgsrc.pl pkglint.1 pkglint.0
+SUBST_FILES+= pkglint.pl plist-clash.pl
-do-extract:
- @${MKDIR} ${WRKSRC}/src
-.for FILE in lintpkgsrc.1 lintpkgsrc.pl pkglint.1 pkglint.pl plist-clash.pl
- ${CP} ${FILESDIR}/${FILE} ${WRKSRC}/src/${FILE}
-.endfor
+.include "../../mk/bsd.prefs.mk"
do-build:
-.for FILE in pkglint lintpkgsrc plist-clash
+ @${MKDIR} ${WRKSRC}/src
+.for FILE in ${SUBST_FILES}
${SED} -e 's|@PREFIX@|${PREFIX}|g' \
-e 's|@PORTSDIR@|${_PKGSRCDIR}|g' \
-e 's|@DISTVER@|${DISTVER}|g' \
-e 's|@MAKE@|${MAKE}|g' \
-e 's|@PERL@|${PERL5}|g' \
- < ${WRKSRC}/src/${FILE}.pl \
- > ${WRKSRC}/${FILE}
-.endfor
-.for FILE in pkglint lintpkgsrc
- ${SED} -e 's|@PREFIX@|${PREFIX}|g' \
- -e 's|@PORTSDIR@|${_PKGSRCDIR}|g' \
- -e 's|@MAKE@|${MAKE}|g' \
- < ${WRKSRC}/src/${FILE}.1 \
- > ${WRKSRC}/${FILE}.1
- ${NROFF} ${WRKSRC}/${FILE}.1 >${WRKSRC}/${FILE}.0
+ ${FILESDIR}/${FILE} > ${WRKSRC}/${FILE}
.endfor
+.if ${OPSYS} == "SunOS" || ${OPSYS} == "AIX"
+ # the pre-generated man-pages are 'mandoc'; these OS need 'man'
+. for FILE in lintpkgsrc pkglint
+ nroff -man ${WRKSRC}/${FILE}.1 > ${WRKSRC}/${FILE}.0
+. endfor
+.endif
do-install:
- ${INSTALL_SCRIPT} ${WRKSRC}/pkglint ${PREFIX}/bin/pkglint
- ${INSTALL_SCRIPT} ${WRKSRC}/lintpkgsrc ${PREFIX}/bin/lintpkgsrc
- ${INSTALL_SCRIPT} ${WRKSRC}/plist-clash ${PREFIX}/bin/plist-clash
+ ${INSTALL_SCRIPT} ${WRKSRC}/pkglint.pl ${PREFIX}/bin/pkglint
+ ${INSTALL_SCRIPT} ${WRKSRC}/lintpkgsrc.pl ${PREFIX}/bin/lintpkgsrc
+ ${INSTALL_SCRIPT} ${WRKSRC}/plist-clash.pl ${PREFIX}/bin/plist-clash
${INSTALL_MAN} ${WRKSRC}/lintpkgsrc.0 ${PREFIX}/man/cat1
${INSTALL_MAN} ${WRKSRC}/lintpkgsrc.1 ${PREFIX}/man/man1
${INSTALL_MAN} ${WRKSRC}/pkglint.0 ${PREFIX}/man/cat1
diff --git a/pkgtools/pkglint/files/lintpkgsrc.0 b/pkgtools/pkglint/files/lintpkgsrc.0
new file mode 100644
index 00000000000..0fe87f5ecb6
--- /dev/null
+++ b/pkgtools/pkglint/files/lintpkgsrc.0
@@ -0,0 +1,133 @@
+LINTPKGSRC(1) NetBSD General Commands Manual LINTPKGSRC(1)
+
+NNAAMMEE
+ lliinnttppkkggssrrcc - verifier for the pkgsrc tree
+
+SSYYNNOOPPSSIISS
+ lliinnttppkkggssrrcc [--BBDDLLOORRSSVVddhhiillmmoopprruu] [--EE _f_i_l_e] [--II _f_i_l_e] [--KK _P_A_C_K_A_G_E_S]
+ [--MM _D_I_S_T_D_I_R] [--PP _P_K_G_S_R_C_D_I_R] [--gg _p_k_g_s_r_c_m_a_p] [_m_a_k_e_f_i_l_e _._._.]
+
+DDEESSCCRRIIPPTTIIOONN
+ lliinnttppkkggssrrcc tries to verify the entire contents of the pkgsrc tree.
+ lliinnttppkkggssrrcc uses simple regular-expression matching for verifying files
+ that make up a pkgsrc directory. Note that it does NOT implement com-
+ plete Makefile parser.
+
+ OOppttiioonnss
+ --BB List packages marked as BROKEN.
+
+ --DD _p_a_t_h_s Parse Makefiles and output contents (useful for debugging).
+
+ --EE _f_i_l_e Exports the internal database generated from the pkgsrc
+ Makefiles to a file for faster loading at a later time.
+ Note that some of the stored data is, in all likelihood,
+ dependent on the architecture and operating system of the
+ machine where it is generated. However, the database does
+ make the task of, eg, checking for out of date packages on
+ a set of similarly configured machines (in the absence of
+ extra copies of the pkgsrc tree) both quick and possible.
+
+ --II _f_i_l_e Imports the data to construct the internal database for
+ checking the installed versions of packages, among other
+ things, against the current version found in pkgsrc. This
+ database provides most or all of the data required for run-
+ ning lliinnttppkkggssrrcc with any combination of --BB, --OO, --RR, --SS, --VV,
+ --dd, --gg, --ii, --pp, or --uu.
+
+ --KK _P_A_C_K_A_G_E_S Override binary packages base directory, normally set from
+ _/_e_t_c_/_m_k_._c_o_n_f or defaulted to _$_{_P_K_G_S_R_C_D_I_R_}_/_p_a_c_k_a_g_e_s.
+
+ Note: lintpkgsrc treats _P_A_C_K_A_G_E_S slightly differently to
+ the pkgsrc build system. --pp, --RR and --VV check for binary
+ packages in any depth of PACKAGES subdirs - this allows
+ packages for all architectures/OS versions to be checked
+ simultaneously with an _/_e_t_c_/_m_k_._c_o_n_f construct of the form:
+
+ .ifdef LINTPKGSRC
+ PACKAGES=${PKGSRCDIR}/packages
+ .else
+ PACKAGES=${PKGSRCDIR}/packages/${OS_VERSION}/${MACHINE_ARCH}
+ .endif
+
+ Which would be an alternative to --KK.
+
+ --LL List the filenames of Makefiles as they are parsed (for
+ debugging).
+
+ --MM _D_I_S_T_D_I_R Set directory for distfiles, defaults to
+ _$_{_P_K_G_S_R_C_D_I_R_}_/_d_i_s_t_f_i_l_e_s.
+
+ --OO Report any binary packages in any subdirs of _P_A_C_K_A_G_E_S, for
+ whom the source Makefile lists _O_S_V_E_R_S_I_O_N___S_P_E_C_I_F_I_C. This is
+ intended to help those making binary packages available for
+ ftp.
+
+ --PP _P_K_G_S_R_C_D_I_R Set base of pkgsrc tree, normally set from _/_e_t_c_/_m_k_._c_o_n_f or
+ defaulted to _/_u_s_r_/_p_k_g_s_r_c.
+
+ --RR Report any binary packages in any subdirs of _P_A_C_K_A_G_E_S, for
+ whom the source Makefile lists _N_O___B_I_N___O_N___F_T_P or _R_E_S_T_R_I_C_T_E_D.
+ This is intended to help those making binary packages
+ available for ftp.
+
+ --SS List packages missing from category _S_U_B_D_I_R lists.
+
+ --VV List any prebuilt packages in any subdirs of _P_A_C_K_A_G_E_S with
+ known vulnerabilities, based on the data in
+ _$_{_P_K_G_S_R_C_D_I_R_}_/_d_i_s_t_f_i_l_e_s_/_v_u_l_n_e_r_a_b_i_l_i_t_i_e_s.
+
+ --dd Extract the `DEPENDS' listing from each pkgsrc package
+ Makefile, then verify the version specified in each DEPEND
+ correctly matches a current pkgsrc package.
+
+ --gg _p_k_g_s_r_c_m_a_p Generate pkgsrcmap file containing an entry for each pack-
+ age of `pkgname pkgdir pkgver'.
+
+ --hh Basic help and usage.
+
+ --ii Check the version of each installed package against the
+ current version in pkgsrc.
+
+ --ll Run pkglint(1) on every package in pkgsrc.
+
+ --mm For each current distfile, verify its checksum against the
+ appropriate package's distinfo file. Also report if any
+ package's distinfo file references the same distfile with a
+ different distinfo checksum.
+
+ --oo Report any old distfiles (not referenced by any package's
+ distinfo file).
+
+ --pp Report any old binary packages in any subdirs of _P_A_C_K_A_G_E_S.
+
+ --rr Remove distfiles which are not referenced from any pack-
+ age's distinfo file, or have an incorrect checksum (usually
+ due to an interrupted download), and any old binary pack-
+ ages. To remove any given type, additionally specify the
+ --oo, --mm, or --pp flags respectively.
+
+ --uu As --ii plus for mismatched packages, display REQUIRED
+ details and run `@MAKE@ fetch-list | sh' to ensure all the
+ distfiles needed for the latest version are present.
+
+ Warning: The behaviour of this command may change in a
+ later version.
+
+AAUUTTHHOORRSS
+ David Brownlee <abs@netbsd.org>
+
+BBUUGGSS
+ The --RR, --VV, and --pp options default to using _P_A_C_K_A_G_E_S as the base direc-
+ tory from which to search for binary packages. If this includes OS or
+ architecture information then packages for other OS/architecture combina-
+ tions will be missed. In this case _P_A_C_K_A_G_E_S can be overridden with --KK or
+ set conditionally in _/_e_t_c_/_m_k_._c_o_n_f based on the value of _L_I_N_T_P_K_G_S_R_C.
+
+ The `Makefile parsing' algorithm used to obtain package versions and
+ DEPENDS information is geared towards speed rather than perfection,
+ though it has got somewhat better over time, it only parses the simplest
+ Makefile conditionals. (a == b, no && etc).
+
+ Potentially others, but non serious to date.
+
+NetBSD 1.6 April 19, 1999 NetBSD 1.6
diff --git a/pkgtools/pkglint/files/pkglint.0 b/pkgtools/pkglint/files/pkglint.0
new file mode 100644
index 00000000000..b4aaa004d15
--- /dev/null
+++ b/pkgtools/pkglint/files/pkglint.0
@@ -0,0 +1,73 @@
+PKGLINT(1) NetBSD General Commands Manual PKGLINT(1)
+
+NNAAMMEE
+ ppkkgglliinntt - a verifier for pkgsrc directories
+
+SSYYNNOOPPSSIISS
+ ppkkgglliinntt [--hhvvIINN] [--BB _n] [_d_i_r]
+
+DDEESSCCRRIIPPTTIIOONN
+ ppkkgglliinntt tries to verify the content of a pkgsrc directory. The purpose
+ of ppkkgglliinntt can be separated into two parts: (1) to let the submitters
+ easily polish her/his own pkgsrc directory, and (2) to decrease the labor
+ of the committers.
+
+ ppkkgglliinntt uses very simple regular-expression matching for verifying files
+ that make up a pkgsrc directory. Note that it does NOT implement a com-
+ plete parser for those files. Because of this the user may see some
+ extra warnings, especially when checking complex _M_a_k_e_f_i_l_es.
+
+ OOppttiioonnss
+
+ --BB _n Set the number of contiguous blank lines allowed in _M_a_k_e_f_i_l_e
+ to _n (by default, _n is 1.)
+
+ --hh Show the summary of command line options, then exit.
+
+ --II Show the Makefile that is constructed by including all the
+ files that are slurped in via .include directives. This flag
+ is mainly for debugging.
+
+ --NN New package flag. Adds several checks specific to newly sub-
+ mitted packages. If you are willing to submit the directory
+ to be checked as a new package, use this option.
+
+ --vv Be verbose. Show the progress report for items that are
+ being checked.
+
+ dir The pkgsrc directory to be checked. If omitted, all checks
+ will be performed on the current directory.
+
+FFIILLEESS
+ /usr/pkgsrc/mk/bsd.pkg.mk master Makefile for pkgsrc
+ /usr/pkgsrc/* pkgsrc collection
+
+DDIIAAGGNNOOSSTTIICCSS
+ Messages will be sent to standard output, not standard error.
+
+ FATAL: ... This type of error messages suggests that there is some
+ fatal error in the pkgsrc directory. For example, if some
+ files need a rewrite, or if some necessary files are miss-
+ ing, this message will show up. This kind of error should
+ be fixed BEFORE submitting a pkgsrc via send-pr to the
+ comitters.
+
+ WARN: ... This type of error messages suggests that some files may
+ (or may not) need some fixes. Basically, warnings are pro-
+ duced when ppkkgglliinntt is not completely sure about the result.
+ For example, complex _M_a_k_e_f_i_l_es may need some statements
+ that can match the regular expression ppkkgglliinntt uses for san-
+ ity checks. In those cases, the user should evaluate the
+ result manually, and obey/ignore the result.
+
+ OK: ... This type of messages is used in verbose mode (--vv).
+
+AAUUTTHHOORRSS
+ Jun-ichiro Itoh <itojun@itojun.org> and Yoshishige Arai
+ <ryo2@on.rim.or.jp>. Many people have contributed patches and com-
+ ments/suggestions.
+
+BBUUGGSS
+ ppkkgglliinntt is not a magic wand, as described above.
+
+NetBSD 1.6 September 5, 2000 NetBSD 1.6