From krb5-bugs-incoming-bounces@PCH.mit.edu Tue Jul 7 14:06:01 2009 Return-Path: X-Original-To: krb5-send-pr-nospam1@krbdev.mit.edu Received: from pch.mit.edu (PCH.MIT.EDU [18.7.21.90]) by krbdev.mit.edu (Postfix) with ESMTP id A914CCC83D; Tue, 7 Jul 2009 14:06:01 +0000 (UTC) Received: from pch.mit.edu (pch.mit.edu [127.0.0.1]) by pch.mit.edu (8.13.6/8.12.8) with ESMTP id n67E61Hx004518; Tue, 7 Jul 2009 10:06:01 -0400 Received: from fort-point-station.mit.edu (FORT-POINT-STATION.MIT.EDU [18.7.7.76]) by pch.mit.edu (8.13.6/8.12.8) with ESMTP id n66K7s7A023068 for ; Mon, 6 Jul 2009 16:08:00 -0400 Received: from mit.edu (W92-130-BARRACUDA-2.MIT.EDU [18.7.21.223]) by fort-point-station.mit.edu (8.13.6/8.9.2) with ESMTP id n66K7ls0021941 for ; Mon, 6 Jul 2009 16:07:47 -0400 (EDT) Received: from mx1.redhat.com (localhost [127.0.0.1]) by mit.edu (Spam Firewall) with ESMTP id E1997232B7A4 for ; Mon, 6 Jul 2009 16:07:45 -0400 (EDT) Received: from mx1.redhat.com (mx1.redhat.com [66.187.233.31]) by mit.edu with ESMTP id cAAEbed1dCxdW75Q for ; Mon, 06 Jul 2009 16:07:45 -0400 (EDT) Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n66K7jSQ020367 for ; Mon, 6 Jul 2009 16:07:45 -0400 Received: from blade.bos.redhat.com (blade.bos.redhat.com [10.16.0.23]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n66K7iPP013334 for ; Mon, 6 Jul 2009 16:07:44 -0400 Received: from blade.bos.redhat.com (localhost.localdomain [127.0.0.1]) by blade.bos.redhat.com (8.14.3/8.14.2) with ESMTP id n66K7ic1003110 for ; Mon, 6 Jul 2009 16:07:44 -0400 Received: (from nalin@localhost) by blade.bos.redhat.com (8.14.3/8.14.3/Submit) id n66K7ioG003108; Mon, 6 Jul 2009 16:07:44 -0400 Date: Mon, 6 Jul 2009 16:07:44 -0400 Message-Id: <200907062007.n66K7ioG003108@blade.bos.redhat.com> To: krb5-bugs@mit.edu Subject: preprocessing manual pages to get correct file paths From: nalin@redhat.com X-send-pr-version: 3.99 X-Scanned-By: MIMEDefang 2.42 X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 X-Spam-Score: 0.00 X-Spam-Flag: NO X-Mailman-Approved-At: Tue, 07 Jul 2009 10:05:59 -0400 X-BeenThere: krb5-bugs-incoming@mailman.mit.edu X-Mailman-Version: 2.1.6 Precedence: list Reply-To: nalin@redhat.com Sender: krb5-bugs-incoming-bounces@PCH.mit.edu Errors-To: krb5-bugs-incoming-bounces@PCH.mit.edu >Submitter-Id: net >Originator: >Organization: >Confidential: no >Synopsis: man pages can have incorrect path names in them >Severity: non-critical >Priority: low >Category: krb5-misc >Class: doc-bug >Release: 1.7 >Environment: System: Linux blade.bos.redhat.com 2.6.29.4-167.fc11.x86_64 #1 SMP Wed May 27 17:27:08 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux Architecture: x86_64 >Description: Several of the man pages include the paths to daemon binaries and other files which are read or used by various applications in the distribution. The paths listed in them aren't updated to reflect the settings passed to configure at build-time, so they can be incorrect on an installed system. >How-To-Repeat: From the source tree, configure with a prefix of /tmp/krb5, build, and compare the path listed for kdc.conf in kdc.conf(5) against the value of DEFAULT_KDC_PROFILE (from include/osconf.h) that's been compiled into krb5kdc. >Fix: This patch adds logic to the various configure.in files to resolve the names of configured directories to paths, and to turn the man pages in the tree into templates which can then be preprocessed to yield the files that 'make install' will install. After applying this patch, each of the affected files needs to be renamed by putting a ".in" on the end of its name: appl/bsd/klogind.M appl/bsd/kshd.M appl/sample/sserver/sserver.M appl/telnet/telnetd/telnetd.8 config-files/kdc.conf.M config-files/krb5.conf.M kadmin/cli/kadmin.M slave/kpropd.M slave/kprop.M Other man pages could be renamed and preprocessed, but for the moment they don't appear to need to be. Index: src/configure.in =================================================================== --- src/configure.in (revision 22425) +++ src/configure.in (working copy) @@ -1043,6 +1043,16 @@ AC_CONFIG_SUBDIRS(appl/libpty appl/bsd appl/gssftp appl/telnet) AC_CONFIG_FILES(krb5-config, [chmod +x krb5-config]) + +V5_AC_OUTPUT_MANPAGE([ + appl/sample/sserver/sserver.M + config-files/kdc.conf.M + config-files/krb5.conf.M + kadmin/cli/kadmin.M + slave/kpropd.M + slave/kprop.M +]) + V5_AC_OUTPUT_MAKEFILE(. util util/support util/profile util/send-pr Index: src/appl/sample/sserver/sserver.M =================================================================== --- src/appl/sample/sserver/sserver.M (revision 22425) +++ src/appl/sample/sserver/sserver.M (working copy) @@ -59,7 +59,7 @@ using a line in /etc/inetd.conf that looks like this: .PP -sample stream tcp nowait root /usr/local/sbin/sserver sserver +sample stream tcp nowait root @mansbindir@/sserver sserver .PP Since \fBsample\fP is normally not a port defined in /etc/services, you will usually have to add a line to /etc/services which looks like this: Index: src/appl/gssftp/configure.in =================================================================== --- src/appl/gssftp/configure.in (revision 22425) +++ src/appl/gssftp/configure.in (working copy) @@ -65,4 +65,9 @@ dnl dnl KRB5_BUILD_PROGRAM + +V5_AC_OUTPUT_MANPAGE([ + ftpd/ftpd.M +]) + V5_AC_OUTPUT_MAKEFILE(. ftp ftpd) Index: src/appl/gssftp/ftpd/ftpd.M =================================================================== --- src/appl/gssftp/ftpd/ftpd.M (revision 22425) +++ src/appl/gssftp/ftpd/ftpd.M (working copy) @@ -35,7 +35,7 @@ .SH NAME ftpd \- DARPA Internet File Transfer Protocol server .SH SYNOPSIS -.B ftpd +.B @mansbindir@/ftpd [\fB\-A \fP|\fB -a\fP] [\fB\-C\fP] [\fB\-c\fP] [\fB\-d\fP] [\fB-E\fP] [\fB\-l\fP] [\fB\-v\fP] [\fB\-T\fP \fImaxtimeout\fP] [\fB\-t\fP \fItimeout\fP] [\fB\-p\fP \fIport\fP] [\fB\-U\fP \fIftpusers-file\fP] [\fB\-u\fP \fIumask\fP] Index: src/appl/bsd/klogind.M =================================================================== --- src/appl/bsd/klogind.M (revision 22425) +++ src/appl/bsd/klogind.M (working copy) @@ -27,7 +27,7 @@ the port indicated in /etc/inetd.conf. A typical /etc/inetd.conf configuration line for \fIklogind\fP might be: -klogin stream tcp nowait root /usr/cygnus/sbin/klogind klogind -e5c +klogin stream tcp nowait root @mansbindir@/klogind klogind -e5c When a service request is received, the following protocol is initiated: Index: src/appl/bsd/kshd.M =================================================================== --- src/appl/bsd/kshd.M (revision 22425) +++ src/appl/bsd/kshd.M (working copy) @@ -8,7 +8,7 @@ .SH NAME kshd \- kerberized remote shell server .SH SYNOPSIS -.B /usr/local/sbin/kshd +.B @mansbindir@/kshd [ .B \-kr45ec ] @@ -30,7 +30,7 @@ on the port indicated in /etc/inetd.conf. A typical /etc/inetd.conf configuration line for \fIkrshd\fP might be: -kshell stream tcp nowait root /usr/local/sbin/kshd kshd -5c +kshell stream tcp nowait root @mansbindir@/kshd kshd -5c When a service request is received, the following protocol is initiated: Index: src/appl/bsd/configure.in =================================================================== --- src/appl/bsd/configure.in (revision 22425) +++ src/appl/bsd/configure.in (working copy) @@ -156,4 +156,10 @@ KRB5_AC_LIBUTIL KRB5_BUILD_PROGRAM + +V5_AC_OUTPUT_MANPAGE([ + klogind.M + kshd.M +]) + V5_AC_OUTPUT_MAKEFILE Index: src/appl/telnet/telnetd/telnetd.8 =================================================================== --- src/appl/telnet/telnetd/telnetd.8 (revision 22425) +++ src/appl/telnet/telnetd/telnetd.8 (working copy) @@ -37,7 +37,7 @@ .SM DARPA TELNET protocol server .SH SYNOPSIS -.B /usr/libexec/telnetd +.B @mansbindir@/telnetd [\fB\-a\fP \fIauthmode\fP] [\fB\-B\fP] [\fB\-D\fP] [\fIdebugmode\fP] [\fB\-e\fP] [\fB\-h\fP] [\fB\-I\fP\fIinitid\fP] [\fB\-l\fP] [\fB\-k\fP] [\fB\-n\fP] [\fB\-r\fP\fIlowpty-highpty\fP] [\fB\-s\fP] Index: src/appl/telnet/configure.in =================================================================== --- src/appl/telnet/configure.in (revision 22425) +++ src/appl/telnet/configure.in (working copy) @@ -161,4 +161,9 @@ LIBS="$old_LIBS" dnl KRB5_AC_LIBUTIL + +V5_AC_OUTPUT_MANPAGE([ + telnetd/telnetd.8 +]) + V5_AC_OUTPUT_MAKEFILE(. libtelnet telnet telnetd) Index: src/kadmin/cli/kadmin.M =================================================================== --- src/kadmin/cli/kadmin.M (revision 22425) +++ src/kadmin/cli/kadmin.M (working copy) @@ -850,9 +850,9 @@ .RS .TP EXAMPLE: -kadmin: ktremove -k /usr/local/var/krb5kdc/kadmind.keytab kadmin/admin +kadmin: ktremove -k @manlocalstatedir@/krb5kdc/kadmind.keytab kadmin/admin Entry for principal kadmin/admin with kvno 3 removed - from keytab WRFILE:/usr/local/var/krb5kdc/kadmind.keytab. + from keytab WRFILE:@manlocalstatedir@/krb5kdc/kadmind.keytab. kadmin: .RE .fi @@ -894,7 +894,7 @@ .SH HISTORY The .B kadmin -prorgam was originally written by Tom Yu at MIT, as an interface to the +program was originally written by Tom Yu at MIT, as an interface to the OpenVision Kerberos administration program. .SH SEE ALSO .IR kerberos (1), Index: src/config-files/kdc.conf.M =================================================================== --- src/config-files/kdc.conf.M (revision 22425) +++ src/config-files/kdc.conf.M (working copy) @@ -82,14 +82,14 @@ .B string specifies the location of the access control list (acl) file that kadmin uses to determine which principals are allowed which permissions -on the database. The default value is /usr/local/var/krb5kdc/kadm5.acl. +on the database. The default value is @manlocalstatedir@/krb5kdc/kadm5.acl. .IP admin_keytab This .B string Specifies the location of the keytab file that kadmin uses to authenticate to the database. The default value is -/usr/local/var/krb5kdc/kadm5.keytab. +@manlocalstatedir@/krb5kdc/kadm5.keytab. .IP database_name This @@ -257,7 +257,7 @@ realm names and the [capaths] section of its krb5.conf file .SH FILES -/usr/local/var/krb5kdc/kdc.conf +@manlocalstatedir@/krb5kdc/kdc.conf .SH SEE ALSO krb5.conf(5), krb5kdc(8) Index: src/config-files/krb5.conf.M =================================================================== --- src/config-files/krb5.conf.M (revision 22425) +++ src/config-files/krb5.conf.M (working copy) @@ -643,6 +643,6 @@ This LDAP specific tag indicates the number of connections to be maintained per LDAP server. .SH FILES -/etc/krb5.conf +@mansysconfdir@/krb5.conf .SH SEE ALSO syslog(3) Index: src/slave/kprop.M =================================================================== --- src/slave/kprop.M (revision 22425) +++ src/slave/kprop.M (working copy) @@ -39,7 +39,7 @@ This is done by transmitting the dumped database file to the slave server over an encrypted, secure channel. The dump file must be created by kdb5_util, and is normally KPROP_DEFAULT_FILE -(/usr/local/var/krb5kdc/slave_datatrans). +(@manlocalstatedir@/krb5kdc/slave_datatrans). .SH OPTIONS .TP \fB\-r\fP \fIrealm\fP @@ -51,7 +51,7 @@ \fB\-f\fP \fIfile\fP specifies the filename where the dumped principal database file is to be found; by default the dumped database file is KPROP_DEFAULT_FILE -(normally /usr/local/var/krb5kdc/slave_datatrans). +(normally @manlocalstatedir@/krb5kdc/slave_datatrans). .TP \fB\-P\fP \fIport\fP specifies the port to use to contact the Index: src/slave/kpropd.M =================================================================== --- src/slave/kpropd.M (revision 22425) +++ src/slave/kpropd.M (working copy) @@ -74,7 +74,7 @@ This is done by adding a line to the inetd.conf file which looks like this: -kprop stream tcp nowait root /usr/local/sbin/kpropd kpropd +kprop stream tcp nowait root @mansbindir@/kpropd kpropd However, kpropd can also run as a standalone deamon, if the .B \-S @@ -111,13 +111,13 @@ \fB\-f\fP \fIfile\fP specifies the filename where the dumped principal database file is to be stored; by default the dumped database file is KPROPD_DEFAULT_FILE -(normally /usr/local/var/krb5kdc/from_master). +(normally @manlocalstatedir@/krb5kdc/from_master). .TP .B \-p allows the user to specify the pathname to the .IR kdb5_util (8) program; by default the pathname used is KPROPD_DEFAULT_KDB5_UTIL -(normally /usr/local/sbin/kdb5_util). +(normally @mansbindir@/kdb5_util). .TP .B \-S turn on standalone mode. Normally, kpropd is invoked out of @@ -148,14 +148,14 @@ allows the user to specify the path to the kpropd.acl file; by default the path used is KPROPD_ACL_FILE -(normally /usr/local/var/krb5kdc/kpropd.acl). +(normally @manlocalstatedir@/krb5kdc/kpropd.acl). .SH FILES .TP "\w'kpropd.acl\ \ 'u" kpropd.acl Access file for .BR kpropd ; the default location is KPROPD_ACL_FILE (normally -/usr/local/var/krb5kdc/kpropd.acl). +@manlocalstatedir@/krb5kdc/kpropd.acl). Each entry is a line containing the principal of a host from which the local machine will allow Kerberos database propagation via kprop. .SH SEE ALSO Index: src/aclocal.m4 =================================================================== --- src/aclocal.m4 (revision 22425) +++ src/aclocal.m4 (working copy) @@ -1784,3 +1784,28 @@ ])) ])dnl dnl +dnl Preprocess the file in question, and define some substitution variables +dnl which represent "interesting" directory paths which those pages might +dnl need to refer to. +AC_DEFUN(V5_AC_OUTPUT_MANPAGE,[ +mansysconfdir=$sysconfdir +mansysconfdir=`eval echo $mansysconfdir | sed -e "s,NONE,$prefix,g"` +mansysconfdir=`eval echo $mansysconfdir | sed -e "s,NONE,$ac_default_prefix,g"` +mansbindir=$sbindir +mansbindir=`eval echo $mansbindir | sed -e "s,NONE,$exec_prefix,g"` +mansbindir=`eval echo $mansbindir | sed -e "s,NONE,$prefix,g"` +mansbindir=`eval echo $mansbindir | sed -e "s,NONE,$ac_default_prefix,g"` +manlocalstatedir=$localstatedir +manlocalstatedir=`eval echo $manlocalstatedir | sed -e "s,NONE,$prefix,g"` +manlocalstatedir=`eval echo $manlocalstatedir | sed -e "s,NONE,$ac_default_prefix,g"` +manlibexecdir=$libexecdir +manlibexecdir=`eval echo $manlibexecdir | sed -e "s,NONE,$exec_prefix,g"` +manlibexecdir=`eval echo $manlibexecdir | sed -e "s,NONE,$prefix,g"` +manlibexecdir=`eval echo $manlibexecdir | sed -e "s,NONE,$ac_default_prefix,g"` +AC_SUBST(mansysconfdir) +AC_SUBST(mansbindir) +AC_SUBST(manlocalstatedir) +AC_SUBST(manlibexecdir) +AC_CONFIG_FILES($1) +])dnl +dnl