#49812 Ticket 49811 - Update man pages
Closed 2 years ago by spichugi. Opened 4 years ago by mreynolds.
mreynolds/389-ds-base ticket49811  into  master

file modified
+45 -17
@@ -939,6 +939,7 @@ 

  #------------------------

  dist_man_MANS = man/man1/dbscan.1 \

          man/man1/cl-dump.1 \

+         man/man1/cl-dump.pl.1 \

          man/man1/dbgen.pl.1 \

          man/man1/ds-logpipe.py.1 \

          man/man1/ds-replcheck.1 \
@@ -951,8 +952,10 @@ 

          man/man1/mmldif.1 \

          man/man1/pwdhash.1 \

          man/man1/repl-monitor.1 \

+         man/man1/repl-monitor.pl.1 \

          man/man1/rsearch.1 \

          man/man1/readnsstate.1 \

+         man/man5/99user.ldif.5 \

          man/man8/migrate-ds.pl.8 \

          man/man8/ns-slapd.8 \

          man/man8/restart-dirsrv.8 \
@@ -960,23 +963,48 @@ 

          man/man8/start-dirsrv.8 \

          man/man8/stop-dirsrv.8 \

          man/man8/status-dirsrv.8 \

-         man/man8/bak2db.8 man/man8/bak2db.pl.8 \

-         man/man8/db2bak.8 man/man8/db2bak.pl.8 \

-         man/man8/db2ldif.8 man/man8/db2ldif.pl.8 \

-         man/man8/db2index.8 man/man8/db2index.pl.8 \

-         man/man8/ldif2db.8 man/man8/ldif2db.pl.8 \

-         man/man8/dbverify.8 man/man8/verify-db.pl.8 \

+         man/man8/bak2db.8 \

+         man/man8/bak2db.pl.8 \

+         man/man5/certmap.conf.5 \

+         man/man8/cleanallruv.pl.8 \

+         man/man8/dbverify.8 \

+         man/man8/db2bak.8 \

+         man/man8/db2bak.pl.8 \

+         man/man8/db2ldif.8 \

+         man/man8/db2ldif.pl.8 \

+         man/man8/db2index.8 \

+         man/man8/db2index.pl.8 \

+         man/man8/dsconf.8 \

+         man/man8/dsctl.8 \

+         man/man8/dsidm.8 \

+         man/man8/dscreate.8 \

+         man/man8/fixup-linkedattrs.pl.8 \

+         man/man8/fixup-memberof.pl.8 \

+         man/man8/ldif2db.8 \

+         man/man8/ldif2db.pl.8 \

          man/man8/dbmon.sh.8 \

-         man/man8/dn2rdn.8 man/man8/ldif2ldap.8 \

-         man/man8/restoreconfig.8 man/man8/saveconfig.8 \

-         man/man8/suffix2instance.8 man/man8/monitor.8 \

-         man/man8/upgradednformat.8 man/man8/vlvindex.8 \

-         man/man8/cleanallruv.pl.8 man/man8/schema-reload.pl.8 \

-         man/man8/fixup-linkedattrs.pl.8 man/man8/fixup-memberof.pl.8 \

-         man/man8/syntax-validate.pl.8 man/man8/usn-tombstone-cleanup.pl.8 \

-         man/man8/ns-accountstatus.pl.8 man/man8/ns-newpwpolicy.pl.8 \

-         man/man8/ns-activate.pl.8 man/man8/ns-inactivate.pl.8 \

-         man/man8/upgradedb.8 man/man8/remove-ds.pl.8

+         man/man5/dirsrv.5 \

+         man/man5/dirsrv.systemd.5 \

+         man/man8/dn2rdn.8 \

+         man/man8/ldif2ldap.8 \

+         man/man8/monitor.8 \

+         man/man8/ns-accountstatus.pl.8 \

+         man/man8/ns-newpwpolicy.pl.8 \

+         man/man8/ns-activate.pl.8 \

+         man/man8/ns-inactivate.pl.8 \

+         man/man8/remove-ds.pl.8 \

+         man/man8/restoreconfig.8 \

+         man/man8/saveconfig.8 \

+         man/man8/schema-reload.pl.8 \

+         man/man5/slapd-collations.conf.5 \

+         man/man8/suffix2instance.8 \

+         man/man8/syntax-validate.pl.8 \

+         man/man5/template-initconfig.5 \

+         man/man8/upgradednformat.8 \

+         man/man8/upgradedb.8 \

+         man/man8/usn-tombstone-cleanup.pl.8 \

+         man/man8/vlvindex.8 \

+         man/man8/verify-db.pl.8

  

  #------------------------

  # updates
@@ -2352,7 +2380,7 @@ 

  # How will we update this to python 3?

  

  lib389: src/lib389/setup.py

- 	cd $(srcdir)/src/lib389; $(PYTHON) setup.py build

+ 	cd $(srcdir)/src/lib389; $(PYTHON) setup.py build ; $(PYTHON) setup.py build_manpages

  

  lib389-install: lib389

  	cd $(srcdir)/src/lib389; $(PYTHON) setup.py install --skip-build --force

@@ -1,5 +1,5 @@ 

  # This file is sourced by @package_name@ upon startup to set

- # the default environment for a single specific  directory

+ # the default environment for a single specific directory

  # server instances.  To set defaults for all instances, edit

  # the file in the same directory called @package_name@.

  

@@ -1,7 +1,7 @@ 

  #

  # BEGIN COPYRIGHT BLOCK

  # Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.

- # Copyright (C) 2005 Red Hat, Inc.

+ # Copyright (C) 2018 Red Hat, Inc.

  # All rights reserved.

  #

  # License: GPL (version 3 or any later version).

file modified
+1 -1
@@ -1,7 +1,7 @@ 

  #

  # BEGIN COPYRIGHT BLOCK

  # Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.

- # Copyright (C) 2005 Red Hat, Inc.

+ # Copyright (C) 2018 Red Hat, Inc.

  # All rights reserved.

  #

  # License: GPL (version 3 or any later version).

@@ -0,0 +1,96 @@ 

+ .\"                                      Hey, EMACS: -*- nroff -*-

+ .\" First parameter, NAME, should be all caps

+ .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection

+ .\" other parameters are allowed: see man(7), man(1)

+ .TH CL-DUMP.PL 1 "March 31, 2017"

+ .\" Please adjust this date whenever revising the manpage.

+ .\"

+ .\" Some roff macros, for reference:

+ .\" .nh        disable hyphenation

+ .\" .hy        enable hyphenation

+ .\" .ad l      left justify

+ .\" .ad b      justify to both left and right margins

+ .\" .nf        disable filling

+ .\" .fi        enable filling

+ .\" .br        insert line break

+ .\" .sp <n>    insert n+1 empty lines

+ .\" for manpage-specific macros, see man(7)

+ .SH NAME

+ cl-dump \- Dump and decode Directory Server replication change log

+ .SH SYNOPSIS

+ .B cl\-dump.pl

+ [\fI\-h host\fR] [\fI\-p port\fR] [\fI\-D bind\(hydn\fR] \-w bind\(hypassword | \-P bind\(hycert

+        [\fI\-r replica\(hyroots\fR] [\fI\-o output\(hyfile\fR] [\fI\-c\fR] [\fI\-v\fR]

+ 

+ .PP

+ .B cl\-dump.pl

+ \-i changelog\(hyldif\(hyfile\(hywith\(hybase64encoding [\fI\-o output\(hyfile\fR] [\fI\-c\fR]

+ .PP

+ .SH DESCRIPTION

+ Dump and decode Directory Server replication change log

+ .PP

+ .\" TeX users may be more comfortable with the \fB<whatever>\fP and

+ .\" \fI<whatever>\fP escape sequences to invode bold face and italics, 

+ .\" respectively.

+ .SH OPTIONS

+ A summary of options is included below.

+ .TP

+ .B \-c 

+ Dump and interpret CSN only. This option can be used with or

+ without \-i option.

+ .TP

+ .B \-D bind\-dn

+ Directory server's bind DN. Default to "cn=Directory Manager" if

+ the option is omitted.

+ .TP

+ .B \-h host

+ Directory server's host. Default to the server where the script

+ is running.

+ .TP

+ .B \-i changelog\(hyldif\(hyfile\(hywith\(hybase64encoding

+ If you already have a ldif-like changelog, but the changes

+ in that file are encoded, you may use this option to

+ decode that ldif-like changelog.

+ .TP

+ .B \-o output\(hyfile

+ Path name for the final result. Default to STDOUT if omitted.

+ .TP

+ .B \-p port

+ Directory server's port. Default to 389.

+ .TP

+ .B \-P bind\(hycert

+ Pathname of binding certificate DB

+ .TP

+ .B \-r replica\(hyroots

+ Specify replica roots whose changelog you want to dump. The replica

+ roots may be separated by comma. All the replica roots would be

+ dumped if the option is omitted.

+ .TP

+ .B \-v 

+ Print the version of this script.

+ .TP

+ .B \-w bind\(hypassword

+ Password for the bind DN

+ .SH RESTRICTIONS

+ If you are not using \-i option, the script should be run when the server

+ is running, and from where the server's changelog directory is accessible.

+ .br

+ .SH SEE ALSO

+ .BR repl-monitor (1)

+ .br

+ .SH AUTHOR

+ cl-dump.pl was written by the 389 Project.

+ .SH "REPORTING BUGS"

+ Report bugs to https://pagure.io/389-ds-base/new_issue

+ .SH COPYRIGHT

+ Copyright \(co 2001 Sun Microsystems, Inc. Used by permission.

+ .br

+ Copyright \(co 2018 Red Hat, Inc.

+ .br

+ This manual page was written by Michele Baldessari <michele@pupazzo.org>,

+ for the Debian project (but may be used by others).

+ .br

+ This is free software.  You may redistribute copies of it under the terms of

+ the Directory Server license found in the LICENSE file of this

+ software distribution.  This license is essentially the GNU General Public

+ License version 2 with an exception for plug-in distribution.

file modified
+2 -2
@@ -83,7 +83,7 @@ 

  

  NOTE: Before doing this, you should save your current configuration so you can restore it later.

   ldapsearch ... \-s base \-b "cn=config" nsslapd-accesslog-maxlogsperdir nsslapd-accesslog-logexpirationtime \

-   nsslapd-accesslog-logrotationtime nsslapd-accesslog nsslapd-accesslog > savedaccesslog.ldif

+   nsslapd-accesslog-logrotationtime nsslapd-accesslog > savedaccesslog.ldif

  

  The error log and audit log have similarly named configuration attributes e.g. nsslapd-errorlog, nsslapd-auditlog.  Note that the audit log is disabled by default - use nsslapd-auditlog-logging-enabled: on to enable it.

  .br
@@ -92,7 +92,7 @@ 

  .SH "REPORTING BUGS"

  Report bugs to https://pagure.io/389-ds-base/new_issue

  .SH COPYRIGHT

- Copyright \(co 2017 Red Hat, Inc.

+ Copyright \(co 2018 Red Hat, Inc.

  .br

  This is free software.  You may redistribute copies of it under the terms of

  the Directory Server license found in the LICENSE file of this

file modified
+1 -1
@@ -49,7 +49,7 @@ 

  The LDAP Url for the first replica (online mode)

  .TP

  .B \fB\-r\fR \fILDAP URL\fR

- The LDAP Url for the the second replica (online mode)

+ The LDAP Url for the second replica (online mode)

  .TP

  .B \fB\-b\fR \fISUFFIX\fR

  The replication suffix.  (online & offline)

file modified
+2 -2
@@ -125,7 +125,7 @@ 

  .br

  \fBappend\fR entries to the genldif file.

  .br

- \fBascii\fR ascii 7\-bits strings.

+ \fBascii\fR use ascii 7\-bits strings.

  .br

  \fBattreplace=name:mask\fR replace attribute of existing entry.

  .br
@@ -224,7 +224,7 @@ 

  .SH COPYRIGHT

  Copyright \(co 2001 Sun Microsystems, Inc. Used by permission.

  .br

- Copyright \(co 2017 Red Hat, Inc.

+ Copyright \(co 2018 Red Hat, Inc.

  .br

  This manual page was written by Michele Baldessari <michele@pupazzo.org>,

  for the Debian project (but may be used by others).

@@ -0,0 +1,138 @@ 

+ .\"                                      Hey, EMACS: -*- nroff -*-

+ .\" First parameter, NAME, should be all caps

+ .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection

+ .\" other parameters are allowed: see man(7), man(1)

+ .TH REPL-MONITOR.PL 1 "March 31, 2017"

+ .\" Please adjust this date whenever revising the manpage.

+ .\"

+ .\" Some roff macros, for reference:

+ .\" .nh        disable hyphenation

+ .\" .hy        enable hyphenation

+ .\" .ad l      left justify

+ .\" .ad b      justify to both left and right margins

+ .\" .nf        disable filling

+ .\" .fi        enable filling

+ .\" .br        insert line break

+ .\" .sp <n>    insert n+1 empty lines

+ .\" for manpage-specific macros, see man(7)

+ .SH NAME

+ repl-monitor.pl \- Directory Server replication monitor

+ .SH SYNOPSIS

+ .B repl\(hymonitor.pl

+ \ [\-f configuration\(hyfile] [\fI\(hyh host\fR] [\fI\-p port\fR] [\fI\-r\fR]

+ [\fI\-c connection\fR] [\fI\-a alias\fR] [\fI\-k color\fR] [\fI\-u refresh\(hyurl\fR]

+ [\fI\-s\fR] [\fI\-t refresh\(hyinterval\fR] [\fI\-v\fR]

+ 

+ .SH DESCRIPTION

+ Outputs the status of all of the configured Directory Servers

+ participating in replication. The servers to query for status

+ are specified in the configuration file.

+ .PP

+ .\" TeX users may be more comfortable with the \fB<whatever>\fP and

+ .\" \fI<whatever>\fP escape sequences to invode bold face and italics, 

+ .\" respectively.

+ .SH OPTIONS

+ A summary of options is included below:

+ .TP

+ .B \-h, \-\-host\fR host

+ Hostname of DS server

+ .TP

+ .B \-p, \-\-port\fR port

+ TCP port

+ .TP

+ .B \-f, \-\-configfile\fR configuration-file

+ Configuration file 

+ .TP

+ .B \-c, \-\-conn\fR connection

+ Uses the same format as the configfile directive

+ .TP

+ .B \-a, \-\-alias\fR alias

+ Uses the same format as the configfile directive

+ .TP

+ .B \-k, --color\fR color

+ Uses the same format as the configfile directive

+ .TP

+ .B \-r, --skip-header\fR

+ Removes extra HTML tags

+ .TP

+ .B \-u, \-\-refreshurl\fR refresh url

+ Refresh url

+ .TP

+ .B \-t, \-\-interval\fR refresh interval

+ Refresh interval

+ .TP

+ .B \-W, \-\-prompt

+ Prompt for passwords

+ .TP

+ .B \-s, \-\-text

+ Print plain text report

+ 

+ .br

+ .SH CONFIGURATION FILE

+ This section describes the various directives that can be used in the configuration file.

+ .TP

+ .B [connection]

+ The connection details about a replica

+ .br

+ 

+ host:port:binddn:bindpwd:cert_file

+ .br

+ 

+ or,

+ .br

+ 

+ host:port=shadowport:binddn:bindpwd:cert_file

+ .TP

+ .B [alias]

+ Define an alias for a server, this alias is used in the report in place of the

+ hostname/port

+ 

+ .br

+ alias = host:port

+ .TP

+ .B [color]

+ Set a color based on the replicaton lag time lowmark (in minutes)

+ .br

+ 

+ .R lowmark = color

+ .SH EXAMPLE

+ Example of a configuration file:

+ 

+ [connection]

+ .br

+ localhost.localdomain:3891:cn=directory manager:password:*

+ .br

+ localhost2.localdomain:3892:cn=directory manager:password:*

+ 

+ [alias]

+ .br

+ MY_SYSTEM1 = localhost.localdomain:3891

+ .br

+ MY_SYSTEM2 = localhost2.localdomain:3892

+ 

+ [color]

+ .br

+ 0 = #CCFFCC

+ .br

+ 5 = #FFFFCC

+ .br

+ 60 = #FFCCCC

+ 

+ .SH AUTHOR

+ repl-monitor.pl was written by the 389 Project.

+ .SH "REPORTING BUGS"

+ Report bugs to https://pagure.io/389-ds-base/new_issue

+ .SH COPYRIGHT

+ Copyright \(co 2001 Sun Microsystems, Inc. Used by permission.

+ .br

+ Copyright \(co 2018 Red Hat, Inc.

+ .br

+ This manual page was written by Michele Baldessari <michele@pupazzo.org>,

+ for the Debian project (but may be used by others).

+ .br

+ Manual page updated by Mark Reynolds <mreynolds@redhat.com> 3/31/2017

+ .br

+ This is free software.  You may redistribute copies of it under the terms of

+ the Directory Server license found in the LICENSE file of this

+ software distribution.  This license is essentially the GNU General Public

+ License version 3 with an exception for plug\(hyin distribution.

@@ -0,0 +1,54 @@ 

+ .\"                                      Hey, EMACS: -*- nroff -*-

+ .\" First parameter, NAME, should be all caps

+ .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection

+ .\" other parameters are allowed: see man(7), man(1)

+ .TH 99USER.LDIF 5 "Jun 26, 2018"

+ .\" Please adjust this date whenever revising the manpage.

+ .\"

+ .\" Some roff macros, for reference:

+ .\" .nh        disable hyphenation

+ .\" .hy        enable hyphenation

+ .\" .ad l      left justify

+ .\" .ad b      justify to both left and right margins

+ .\" .nf        disable filling

+ .\" .fi        enable filling

+ .\" .br        insert line break

+ .\" .sp <n>    insert n+1 empty lines

+ .\" for manpage-specific macros, see man(7)

+ .SH NAME 

+ /etc/dirsrv/schema/99user.ldif - LDIF file containing custom LDAP Schema for 389 Directory Server.

+ 

+ .SH SYNOPSIS

+ /etc/dirsrv/schema/99user.ldif

+ 

+ .SH DESCRIPTION

+ 99user.ldif

+ 

+ This file contains user defined, or custom, LDAP schema definitions (attributes 

+ and objectclasses) used by the Directory Server.

+ 

+ .SH SYNTAX

+ 

+ attributeTypes: VALUE

+ .br 

+ objectClasses: VALUE

+ .br

+ 

+ .SH EXAMPLE

+ 

+ dn: cn=schema

+ .br

+ attributeTypes: ( 1.1.1.1.1.1.1 NAME 'myNewAttribute' DESC 'Custom defined

+ attribute type' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN

+ 'user-defined' )

+ .br

+ objectClasses: ( 1.1.1.1.1.1.1.2 NAME 'myNewObjectcass' DESC 'Custom defined 

+ objectclass' SUP top MUST ( myNewAttrbiute ) MAY ( uid $ cn ) X-ORIGIN 'user-defined' )

+ 

+ .SH AUTHOR

+ 99user.ldif was written by the 389 Project.

+ .SH "REPORTING BUGS"

+ Report bugs to https://pagure.io/389-ds-base/new_issue

+ .SH COPYRIGHT

+ Copyright \(co 2018 Red Hat, Inc.

+ 

@@ -0,0 +1,133 @@ 

+ .\"                                      Hey, EMACS: -*- nroff -*-

+ .\" First parameter, NAME, should be all caps

+ .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection

+ .\" other parameters are allowed: see man(7), man(1)

+ .TH CERTMAP.CONF 5 "Jun 26, 2018"

+ .\" Please adjust this date whenever revising the manpage.

+ .\"

+ .\" Some roff macros, for reference:

+ .\" .nh        disable hyphenation

+ .\" .hy        enable hyphenation

+ .\" .ad l      left justify

+ .\" .ad b      justify to both left and right margins

+ .\" .nf        disable filling

+ .\" .fi        enable filling

+ .\" .br        insert line break

+ .\" .sp <n>    insert n+1 empty lines

+ .\" for manpage-specific macros, see man(7)

+ .SH NAME 

+ /etc/dirsrv/config/certmap.conf - Configuration file for TLS client authentication in 389 Directory Server.

+ 

+ .SH SYNOPSIS

+ /etc/dirsrv/config/certmap.conf

+ 

+ .SH DESCRIPTION

+ certmap.conf

+ 

+ This file configures how a certificate is mapped to an LDAP entry.  See the

+ documentation for more information on this file: https://access.redhat.com/documentation/en-us/red_hat_directory_server/10/html/configuration_command_and_file_reference/configuration_file_reference#certmap_conf

+ 

+ .SH SYNTAX

+ The format of this file is as follows:

+ .br

+ 	certmap <name> <issuerDN>

+ .br

+ 	<name>:<prop1> [<val1>]

+ .br

+ 	<name>:<prop2> [<val2>]

+ .br

+ 

+ Notes:

+ 

+  1.  Mapping can be defined per issuer of a certificate.  If mapping doesn't

+      exists for a particular 'issuerDN' then the server uses the default

+      mapping. 

+ 

+  2.  There must be an entry for <name>=default and issuerDN "default".

+      This mapping is the default mapping.

+ 

+  3.  '#' can be used to comment out a line.

+ 

+  4.  DNComps & FilterComps are used to form the base DN and filter responsible for 

+      performing an LDAP search while mapping the certificate to a user entry.

+ 

+ .SH OPTIONS

+ .IP DNComps

+ The DNComps parameter determines how Directory Server generates the base DN 

+ used to search for a user in the directory.  This setting accepts a comma 

+ separated list of attributes to form a DN.  However, the order of the 

+ attributes in the DNComps parameter must match the order in the subject of the

+ certificate.  For example, if your certificate's subject is 

+ "e=user_name@example.com,cn=user_name,o=Example Inc.,c=US", and you want 

+ Directory Server to use "cn=user_name,o=Example Inc.,c=US" as the base DN when 

+ searching for the user, set the DNComps parameter to "cn, o, c". 

+   

+ Comment out or do not set this parameter, if either the subject field of the 

+ certificate matches exactly the DN of the user in Directory Server or if you 

+ want to use the setting from the CmapLdapAttr parameter. 

+ 

+ If the value is empty, it will search the entire LDAP tree by using the 

+ FilterComps parameter.

+  

+ .IP FilterComps

+ This parameter sets which attributes from the subject field of the certificate

+ Directory Server uses to generate the search filter to locate the user.

+ 

+ Set this parameter to a comma-separated list of attributes used in the 

+ certificate's subject. Directory Server will use these attributes in an AND 

+ operation in the filter.

+ 

+ Note - Certificate Subjects use the e attribute for the email address, which 

+ does not exist in the default Directory Server schema. For this reason, 

+ Directory Server automatically maps this attribute to the mail attribute. This

+ means, if you use the mail attribute in the FilterComps parameter, Directory 

+ Server reads the value of the e attribute from the subject of the certificate.

+ 

+ For example, if the subject of a certificate is 

+ "e=user_name@example.com,cn=user_name,dc=example,dc=com,o=Example Inc.,c=US" 

+ and you want to dynamically generate the 

+ "(&(mail=username@domain)(cn=user_name))" filter, set the FilterComps parameter 

+ to "mail, cn". 

+  

+ If the parameter is commented out or set to an empty value, the (objectclass=*) filter will be used.

+ 

+ .IP verifycert

+ Directory Server always verifies if the certificate has been issued by a 

+ trusted Certificate Authority (CA). However, if you additionally set the 

+ verifycert parameter to on, Directory Server additionally verifies that the 

+ certificate matches the Distinguished Encoding Rules (DER)-formatted 

+ certificate stored in the userCertificate binary attribute of the user.

+ 

+ If you do not set this parameter, verifycert is disabled

+ 

+ .IP CmapLdapAttr

+ If your user entries contain an attribute that stores the subject DN of the 

+ user certificate, set the CmapLdapAttr to this attribute name. Directory Server

+ will use this attribute and the subject DN to locate the user. In this case the

+ no filter is generated based on the attributes in the FilterComps parameter.

+  

+ 

+ .SH EXAMPLES

+ certmap default         default

+ .br

+ default:DNComps         cn, o, c

+ .br

+ #default:FilterComps    e, uid

+ .br

+ #default:verifycert     on

+ .br

+ #default:CmapLdapAttr   certSubjectDN

+ .br

+ .sp 1

+ certmap example         o=Example Inc.,c=US

+ .br

+ example:DNComps

+ .br

+ 

+ .SH AUTHOR

+ certmap.conf was written by the 389 Project.

+ .SH "REPORTING BUGS"

+ Report bugs to https://pagure.io/389-ds-base/new_issue

+ .SH COPYRIGHT

+ Copyright \(co 2018 Red Hat, Inc.

+ 

file added
+46
@@ -0,0 +1,46 @@ 

+ .\"                                      Hey, EMACS: -*- nroff -*-

+ .\" First parameter, NAME, should be all caps

+ .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection

+ .\" other parameters are allowed: see man(7), man(1)

+ .TH DIRSRV 5 "Jun 26, 2018"

+ .\" Please adjust this date whenever revising the manpage.

+ .\"

+ .\" Some roff macros, for reference:

+ .\" .nh        disable hyphenation

+ .\" .hy        enable hyphenation

+ .\" .ad l      left justify

+ .\" .ad b      justify to both left and right margins

+ .\" .nf        disable filling

+ .\" .fi        enable filling

+ .\" .br        insert line break

+ .\" .sp <n>    insert n+1 empty lines

+ .\" for manpage-specific macros, see man(7)

+ .SH NAME 

+ /etc/sysconfig/dirsrv - Systemd EnvironmentFile that affects all Directory Server instances.

+ 

+ .SH SYNOPSIS

+ /etc/sysconfig/dirsrv

+ 

+ .SH DESCRIPTION

+ dirsrv

+ 

+ This file is sourced by dirsrv upon startup to set

+ the default environment for all directory server instances.

+ To set instance specific defaults, use the file in the same

+ directory called dirsrv-instance where "instance"

+ is the name of your directory server instance e.g.

+ dirsrv-localhost for the slapd-localhost instance.

+ 

+ This file is in systemd EnvironmentFile format - see man systemd.exec

+ 

+ .SH EXAMPLE

+ LD_PRELOAD=/usr/lib64/dirsrv/lib/libjemalloc.so

+ 

+ 

+ .SH AUTHOR

+ dirsrv was written by the 389 Project.

+ .SH "REPORTING BUGS"

+ Report bugs to https://pagure.io/389-ds-base/new_issue

+ .SH COPYRIGHT

+ Copyright \(co 2018 Red Hat, Inc.

+ 

@@ -0,0 +1,39 @@ 

+ .\"                                      Hey, EMACS: -*- nroff -*-

+ .\" First parameter, NAME, should be all caps

+ .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection

+ .\" other parameters are allowed: see man(7), man(1)

+ .TH DIRSRV.SYSTEMD 5 "Jun 26, 2018"

+ .\" Please adjust this date whenever revising the manpage.

+ .\"

+ .\" Some roff macros, for reference:

+ .\" .nh        disable hyphenation

+ .\" .hy        enable hyphenation

+ .\" .ad l      left justify

+ .\" .ad b      justify to both left and right margins

+ .\" .nf        disable filling

+ .\" .fi        enable filling

+ .\" .br        insert line break

+ .\" .sp <n>    insert n+1 empty lines

+ .\" for manpage-specific macros, see man(7)

+ .SH NAME 

+ /etc/sysconfig/dirsrv.systemd - Systemd EnvironmentFile for Directory Server.

+ 

+ .SH SYNOPSIS

+ /etc/sysconfig/dirsrv.systemd

+ 

+ .SH DESCRIPTION

+ dirsrv.systemd

+ 

+ This controls the resources to the direct child of systemd, in

+ this case ns-slapd. Because we are type notify we recieve these

+ limits correctly.

+ 

+ For more inforation see man systemd.exec and man systemd.resource-control

+ 

+ .SH AUTHOR

+ dirsrv.systemd was written by the 389 Project.

+ .SH "REPORTING BUGS"

+ Report bugs to https://pagure.io/389-ds-base/new_issue

+ .SH COPYRIGHT

+ Copyright \(co 2018 Red Hat, Inc.

+ 

@@ -0,0 +1,51 @@ 

+ .\"                                      Hey, EMACS: -*- nroff -*-

+ .\" First parameter, NAME, should be all caps

+ .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection

+ .\" other parameters are allowed: see man(7), man(1)

+ .TH SLAPD-COLLATIONS.CONF 5 "Jun 26, 2018"

+ .\" Please adjust this date whenever revising the manpage.

+ .\"

+ .\" Some roff macros, for reference:

+ .\" .nh        disable hyphenation

+ .\" .hy        enable hyphenation

+ .\" .ad l      left justify

+ .\" .ad b      justify to both left and right margins

+ .\" .nf        disable filling

+ .\" .fi        enable filling

+ .\" .br        insert line break

+ .\" .sp <n>    insert n+1 empty lines

+ .\" for manpage-specific macros, see man(7)

+ .SH NAME 

+ /etc/dirsrv/config/slapd-collations.conf -  Contains the language tags and OID's used in 389 Directory Server.

+ 

+ .SH SYNOPSIS

+ /etc/dirsrv/config/slapd-collations.conf

+ 

+ .SH DESCRIPTION

+ slapd-collations.conf

+ 

+ This file contains all the collation rules (tags and OID's) that are used by the Directory Server.

+ 

+ .SH SYNTAX

+ 

+ .IP collation

+ This parameter is laid out as following: language, country, variant, strength, decomposition, oid, oid ...

+ 

+ .SH EXAMPLE

+ collation "" "" "" 1 3  2.16.840.1.113730.3.3.2.0.1 default

+ .br

+ collation ar "" "" 1 3  2.16.840.1.113730.3.3.2.1.1 ar

+ .br

+ collation be "" "" 1 3  2.16.840.1.113730.3.3.2.2.1 be  be-BY

+ .br

+ \&.\&.\&.

+ .br

+ \&.\&.\&.

+ 

+ .SH AUTHOR

+ slapd-collations.conf was written by the 389 Project.

+ .SH "REPORTING BUGS"

+ Report bugs to https://pagure.io/389-ds-base/new_issue

+ .SH COPYRIGHT

+ Copyright \(co 2018 Red Hat, Inc.

+ 

@@ -0,0 +1,62 @@ 

+ .\"                                      Hey, EMACS: -*- nroff -*-

+ .\" First parameter, NAME, should be all caps

+ .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection

+ .\" other parameters are allowed: see man(7), man(1)

+ .TH TEMPLATE-INITCONFIG 5 "Jun 26, 2018"

+ .\" Please adjust this date whenever revising the manpage.

+ .\"

+ .\" Some roff macros, for reference:

+ .\" .nh        disable hyphenation

+ .\" .hy        enable hyphenation

+ .\" .ad l      left justify

+ .\" .ad b      justify to both left and right margins

+ .\" .nf        disable filling

+ .\" .fi        enable filling

+ .\" .br        insert line break

+ .\" .sp <n>    insert n+1 empty lines

+ .\" for manpage-specific macros, see man(7)

+ .SH NAME 

+ /etc/dirsrv/config/template-initconfig - Systemd configuration file used when starting a Directory Server instance.

+ 

+ .SH SYNOPSIS

+ /etc/dirsrv/config/template-initconfig

+ 

+ .SH DESCRIPTION

+ template-initconfig

+ 

+ This file is sourced by dirsrv upon startup to set

+ the default environment for a single specific directory

+ server instances.  To set defaults for all instances, edit

+ the file in the same directory named dirsrv.

+ 

+ These settings are used by the start-dirsrv and

+ start-slapd scripts (as well as their associates stop

+ and restart scripts).  Do not edit them unless you know

+ what you are doing.

+ 

+ This file is in systemd EnvironmentFile format - see man systemd.exec

+ 

+ .SH SYNTAX

+ SERVER_DIR={{SERVER-DIR}}

+ .br

+ SERVERBIN_DIR={{SERVERBIN-DIR}}

+ .br

+ CONFIG_DIR={{CONFIG-DIR}}

+ .br

+ INST_DIR={{INST-DIR}}

+ .br

+ RUN_DIR={{RUN-DIR}}

+ .br

+ DS_ROOT={{DS-ROOT}}

+ .br

+ PRODUCT_NAME={{PRODUCT-NAME}}

+ .br

+ 

+ 

+ .SH AUTHOR

+ template-initconfig was written by the 389 Project.

+ .SH "REPORTING BUGS"

+ Report bugs to https://pagure.io/389-ds-base/new_issue

+ .SH COPYRIGHT

+ Copyright \(co 2018 Red Hat, Inc.

+ 

file modified
+1 -2
@@ -43,7 +43,6 @@ 

  .br

  Display the usage.

  .SH EXAMPLE

- dn2rdn

  

  dn2rdn \-Z instance3 \-f

  .SH DIAGNOSTICS
@@ -55,4 +54,4 @@ 

  .SH "REPORTING BUGS"

  Report bugs to https://pagure.io/389-ds-base/new_issue

  .SH COPYRIGHT

- Copyright \(co 2017 Red Hat, Inc.

+ Copyright \(co 2018 Red Hat, Inc.

file modified
+1 -3
@@ -33,8 +33,6 @@ 

  Display the usage.

  .SH EXAMPLE

  .TP

- restoreconfig

- .TP

  restoreconfig \-Z instance2

  .SH DIAGNOSTICS

  Exit status is zero if no errors occur.  Errors result in a 
@@ -45,4 +43,4 @@ 

  .SH "REPORTING BUGS"

  Report bugs to https://pagure.io/389-ds-base/new_issue

  .SH COPYRIGHT

- Copyright \(co 2017 Red Hat, Inc.

+ Copyright \(co 2018 Red Hat, Inc.

file modified
+1 -3
@@ -33,8 +33,6 @@ 

  Display the usage.

  .SH EXAMPLE

  .TP

- saveconfig

- .TP

  saveconfig \-Z instance3

  .SH DIAGNOSTICS

  Exit status is zero if no errors occur.  Errors result in a 
@@ -45,4 +43,4 @@ 

  .SH "REPORTING BUGS"

  Report bugs to https://pagure.io/389-ds-base/new_issue

  .SH COPYRIGHT

- Copyright \(co 2017 Red Hat, Inc.

+ Copyright \(co 2018 Red Hat, Inc.

file modified
+31 -7
@@ -61,7 +61,6 @@ 

  BuildRoot:        %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

  Obsoletes:        %{name}-selinux

  Conflicts:        selinux-policy-base < 3.9.8

- # upgrade path from monolithic %{name} (including -libs & -devel) to %{name} + %{name}-snmp

  Obsoletes:        %{name} <= 1.4.0.9

  Provides:         ldif2ldbm

  
@@ -96,7 +95,6 @@ 

  BuildRequires:    bzip2-devel

  BuildRequires:    zlib-devel

  BuildRequires:    openssl-devel

- BuildRequires:    tcp_wrappers

  # the following is for the pam passthru auth plug-in

  BuildRequires:    pam-devel

  BuildRequires:    systemd-units
@@ -121,6 +119,13 @@ 

  BuildRequires:    python%{python3_pkgversion}

  BuildRequires:    python%{python3_pkgversion}-devel

  BuildRequires:    python%{python3_pkgversion}-setuptools

+ BuildRequires:    python%{python3_pkgversion}-ldap

+ BuildRequires:    python%{python3_pkgversion}-six

+ BuildRequires:    python%{python3_pkgversion}-pyasn1

+ BuildRequires:    python%{python3_pkgversion}-pyasn1-modules

+ BuildRequires:    python%{python3_pkgversion}-dateutil

+ BuildRequires:    python%{python3_pkgversion}-argcomplete

+ BuildRequires:    python%{python3_pkgversion}-argparse-manpage

  

  # For cockpit

  BuildRequires:    rsync
@@ -134,9 +139,9 @@ 

  %endif

  

  # this is needed for using semanage from our setup scripts

- Requires:         policycoreutils-python

+ Requires:         policycoreutils-python-utils

  # This is needed for our future move to python selinux interaction.

- Requires:         libsemanage-python

+ Requires:         libsemanage-python%{python3_pkgversion}

  # the following are needed for some of our scripts

  Requires:         openldap-clients

  # this is needed to setup SSL if you are not using the
@@ -263,7 +268,6 @@ 

  Summary:          SNMP Agent for 389 Directory Server

  Group:            System Environment/Daemons

  Requires:         %{name} = %{version}-%{release}

- # upgrade path from monolithic %{name} (including -libs & -devel) to %{name} + %{name}-snmp

  Obsoletes:        %{name} <= 1.3.5.4

  

  %description      snmp
@@ -281,7 +285,7 @@ 

  Requires: iproute

  Requires: python%{python3_pkgversion}

  Requires: python%{python3_pkgversion}-pytest

- Requires: python%{python3_pkgversion}-pyldap

+ Requires: python%{python3_pkgversion}-ldap

  Requires: python%{python3_pkgversion}-six

  Requires: python%{python3_pkgversion}-pyasn1

  Requires: python%{python3_pkgversion}-pyasn1-modules
@@ -387,6 +391,12 @@ 

  pushd ./src/lib389

  %py3_build

  popd

+ # argparse-manpage dynamic man pages have hardcoded man v1 in header,

+ # need to change it to v8

+ sed -i  "1s/\"1\"/\"8\"/" %{_builddir}/%{name}-%{version}%{?prerel}/man/man8/dsconf.8

+ sed -i  "1s/\"1\"/\"8\"/" %{_builddir}/%{name}-%{version}%{?prerel}/man/man8/dsctl.8

+ sed -i  "1s/\"1\"/\"8\"/" %{_builddir}/%{name}-%{version}%{?prerel}/man/man8/dsidm.8

+ sed -i  "1s/\"1\"/\"8\"/" %{_builddir}/%{name}-%{version}%{?prerel}/man/man8/dscreate.8

  

  # tests

  %py3_build
@@ -468,6 +478,7 @@ 

      output=/dev/null

      output2=/dev/null

  fi

+ 

  # reload to pick up any changes to systemd files

  /bin/systemctl daemon-reload >$output 2>&1 || :

  # reload to pick up any shared lib changes
@@ -623,9 +634,13 @@ 

  %{_mandir}/man8/ns-slapd.8.gz

  %if 0%{?rhel} > 7 || 0%{?fedora}

  %{_sbindir}/dsconf

+ %{_mandir}/man8/dsconf.8.gz

  %{_sbindir}/dscreate

+ %{_mandir}/man8/dscreate.8.gz

  %{_sbindir}/dsctl

+ %{_mandir}/man8/dsctl.8.gz

  %{_sbindir}/dsidm

+ %{_mandir}/man8/dsidm.8.gz

  %endif

  %{_libexecdir}/%{pkgname}/ds_selinux_enabled

  %{_libexecdir}/%{pkgname}/ds_selinux_port_query
@@ -654,10 +669,17 @@ 

  %{_mandir}/man8/upgradedb.8.gz

  %{_sbindir}/vlvindex

  %{_mandir}/man8/vlvindex.8.gz

+ %{_mandir}/man5/99user.ldif.5.gz

+ %{_mandir}/man5/certmap.conf.5.gz

+ %{_mandir}/man5/template-initconfig.5.gz

+ %{_mandir}/man5/slapd-collations.conf.5.gz

+ %{_mandir}/man5/dirsrv.5.gz

+ %{_mandir}/man5/dirsrv.systemd.5.gz

+ 

  %{_libdir}/%{pkgname}/python

  %dir %{_libdir}/%{pkgname}/plugins

  %{_libdir}/%{pkgname}/plugins/*.so

- # THis has to be hardcoded to /lib - $libdir changes between lib/lib64, but

+ # This has to be hardcoded to /lib - $libdir changes between lib/lib64, but

  # sysctl.d is always in /lib.

  %{_prefix}/lib/sysctl.d/*

  %dir %{_localstatedir}/lib/%{pkgname}
@@ -743,9 +765,11 @@ 

  %{_bindir}/repl-monitor

  %{_mandir}/man1/repl-monitor.1.gz

  %{_bindir}/repl-monitor.pl

+ %{_mandir}/man1/repl-monitor.pl.1.gz

  %{_bindir}/cl-dump

  %{_mandir}/man1/cl-dump.1.gz

  %{_bindir}/cl-dump.pl

+ %{_mandir}/man1/cl-dump.pl.1.gz

  %{_bindir}/dbgen.pl

  %{_mandir}/man8/bak2db.pl.8.gz

  %{_sbindir}/bak2db.pl

file modified
+42 -46
@@ -39,56 +39,52 @@ 

  

  from lib389.cli_base import reset_get_logger

  

+ parser = argparse.ArgumentParser(allow_abbrev=True)

+ parser.add_argument('instance',

+         help="The instance name OR the LDAP url to connect to, IE localhost, ldap://mai.example.com:389",

+     )

+ parser.add_argument('-v', '--verbose',

+         help="Display verbose operation tracing during command execution",

+         action='store_true', default=False

+     )

+ parser.add_argument('-D', '--binddn',

+         help="The account to bind as for executing operations",

+         default=None

+     )

+ parser.add_argument('-b', '--basedn',

+         help="Basedn (root naming context) of the instance to manage",

+         default=None

+     )

+ parser.add_argument('-Z', '--starttls',

+         help="Connect with StartTLS",

+         default=False, action='store_true'

+     )

+ parser.add_argument('-j', '--json',

+         help="Return result in JSON object",

+         default=False, action='store_true'

+     )

+ 

+ subparsers = parser.add_subparsers(help="resources to act upon")

+ 

+ cli_config.create_parser(subparsers)

+ cli_backend.create_parser(subparsers)

+ cli_directory_manager.create_parsers(subparsers)

+ cli_schema.create_parser(subparsers)

+ cli_health.create_parser(subparsers)

+ cli_plugin.create_parser(subparsers)

+ cli_memberof.create_parser(subparsers)

+ cli_usn.create_parser(subparsers)

+ cli_rootdn_ac.create_parser(subparsers)

+ cli_whoami.create_parser(subparsers)

+ cli_referint.create_parser(subparsers)

+ cli_automember.create_parser(subparsers)

+ argcomplete.autocomplete(parser)

+ 

+ 

  if __name__ == '__main__':

  

      defbase = ldap.get_option(ldap.OPT_DEFBASE)

- 

-     parser = argparse.ArgumentParser(allow_abbrev=True)

-     # Build the base ldap options, this keeps in unified.

- 

-     # Can we get default options for these from .rc file?

- 

-     parser.add_argument('instance',

-             help="The instance name OR the LDAP url to connect to, IE localhost, ldap://mai.example.com:389",

-         )

-     parser.add_argument('-v', '--verbose',

-             help="Display verbose operation tracing during command execution",

-             action='store_true', default=False

-         )

-     parser.add_argument('-D', '--binddn',

-             help="The account to bind as for executing operations",

-             default=None

-         )

-     parser.add_argument('-b', '--basedn',

-             help="Basedn (root naming context) of the instance to manage",

-             default=None

-         )

-     parser.add_argument('-Z', '--starttls',

-             help="Connect with StartTLS",

-             default=False, action='store_true'

-         )

-     parser.add_argument('-j', '--json',

-             help="Return result in JSON object",

-             default=False, action='store_true'

-         )

- 

-     subparsers = parser.add_subparsers(help="resources to act upon")

- 

-     cli_config.create_parser(subparsers)

-     cli_backend.create_parser(subparsers)

-     cli_directory_manager.create_parsers(subparsers)

-     cli_schema.create_parser(subparsers)

-     cli_health.create_parser(subparsers)

-     cli_plugin.create_parser(subparsers)

-     cli_memberof.create_parser(subparsers)

-     cli_usn.create_parser(subparsers)

-     cli_rootdn_ac.create_parser(subparsers)

-     cli_whoami.create_parser(subparsers)

-     cli_referint.create_parser(subparsers)

-     cli_automember.create_parser(subparsers)

-     argcomplete.autocomplete(parser)

      args = parser.parse_args()

- 

      log = reset_get_logger('dsconf', args.verbose)

  

      log.debug("The 389 Directory Server Configuration Tool")

file modified
+21 -25
@@ -18,35 +18,31 @@ 

  from lib389.cli_ctl import instance as cli_instance

  from lib389.cli_base import reset_get_logger

  

- if __name__ == '__main__':

- 

-     parser = argparse.ArgumentParser()

- 

-     parser.add_argument('-v', '--verbose',

-             help="Display verbose operation tracing during command execution",

-             action='store_true', default=False, dest='verbose'

-         )

- 

-     subparsers = parser.add_subparsers(help="action")

- 

-     install_parser = subparsers.add_parser('install', help="Create an instance of Directory Server from an inf answer file")

-     install_parser.add_argument('file', help="Inf file to use with prepared answers. You can generate an example of this with 'dscreate create-template'")

-     install_parser.add_argument('-n', '--dryrun', help="Validate system and configurations only. Do not alter the system.",

-                                  action='store_true', default=False)

-     install_parser.add_argument('--IsolemnlyswearthatIamuptonogood', dest="ack",

-                                  help="""You are here likely here by mistake! You want setup-ds.pl!

+ parser = argparse.ArgumentParser()

+ parser.add_argument('-v', '--verbose',

+         help="Display verbose operation tracing during command execution",

+         action='store_true', default=False, dest='verbose'

+     )

+ subparsers = parser.add_subparsers(help="action")

+ install_parser = subparsers.add_parser('install', help="Create an instance of Directory Server from an inf answer file")

+ install_parser.add_argument('file', help="Inf file to use with prepared answers. You can generate an example of this with 'dscreate create-template'")

+ install_parser.add_argument('-n', '--dryrun', help="Validate system and configurations only. Do not alter the system.",

+                              action='store_true', default=False)

+ install_parser.add_argument('--IsolemnlyswearthatIamuptonogood', dest="ack",

+                              help="""You are here likely here by mistake! You want setup-ds.pl!

  By setting this value you acknowledge and take responsibility for the fact this command is UNTESTED and NOT READY. You are ON YOUR OWN!

  """,

-                                  action='store_true', default=False)

-     install_parser.add_argument('-c', '--containerised', help="Indicate to the installer that this is running in a container. Used to disable systemd native components, even if they are installed.",

-                                  action='store_true', default=False)

-     install_parser.set_defaults(func=cli_instance.instance_create)

+                              action='store_true', default=False)

+ install_parser.add_argument('-c', '--containerised', help="Indicate to the installer that this is running in a container. Used to disable systemd native components, even if they are installed.",

+                              action='store_true', default=False)

+ install_parser.set_defaults(func=cli_instance.instance_create)

+ template_parser = subparsers.add_parser('create-template', help="Display an example inf answer file, or provide a file name to write it to disk.")

+ template_parser.add_argument('template_file', nargs="?", default=None, help="Write example template to this file")

+ template_parser.set_defaults(func=cli_instance.instance_example)

+ argcomplete.autocomplete(parser)

  

-     template_parser = subparsers.add_parser('create-template', help="Display an example inf answer file, or provide a file name to write it to disk.")

-     template_parser.add_argument('template_file', nargs="?", default=None, help="Write example template to this file")

-     template_parser.set_defaults(func=cli_instance.instance_example)

  

-     argcomplete.autocomplete(parser)

+ if __name__ == '__main__':

      args = parser.parse_args()

  

      log = reset_get_logger("dscreate", args.verbose)

file modified
+18 -23
@@ -23,31 +23,26 @@ 

  from lib389.cli_ctl import dbtasks as cli_dbtasks

  from lib389.cli_base import disconnect_instance, reset_get_logger

  

- if __name__ == '__main__':

- 

-     parser = argparse.ArgumentParser()

- 

-     parser.add_argument('-v', '--verbose',

-             help="Display verbose operation tracing during command execution",

-             action='store_true', default=False

-         )

-     parser.add_argument('instance',

-             help="The name of the instance to act upon",

-         )

-     parser.add_argument('-j', '--json',

-             help="Return result in JSON object",

-             default=False, action='store_true'

-         )

-     subparsers = parser.add_subparsers(help="action")

-     argcomplete.autocomplete(parser)

+ parser = argparse.ArgumentParser()

+ parser.add_argument('-v', '--verbose',

+         help="Display verbose operation tracing during command execution",

+         action='store_true', default=False

+     )

+ parser.add_argument('instance',

+         help="The name of the instance to act upon",

+     )

+ parser.add_argument('-j', '--json',

+         help="Return result in JSON object",

+         default=False, action='store_true'

+     )

+ subparsers = parser.add_subparsers(help="action")

+ argcomplete.autocomplete(parser)

+ # We stack our needed options in via submodules.

+ cli_instance.create_parser(subparsers)

+ cli_dbtasks.create_parser(subparsers)

  

-     # We stack our needed options in via submodules.

- 

-     cli_instance.create_parser(subparsers)

-     cli_dbtasks.create_parser(subparsers)

- 

-     # Then we tell it to execute.

  

+ if __name__ == '__main__':

      args = parser.parse_args()

  

      log = reset_get_logger('dsctl', args.verbose)

file modified
+37 -38
@@ -30,48 +30,47 @@ 

  

  from lib389.cli_base.dsrc import dsrc_to_ldap, dsrc_arg_concat

  

+ parser = argparse.ArgumentParser(allow_abbrev=True)

+ # First, add the LDAP options

+ parser.add_argument('instance',

+         help="The instance name OR the LDAP url to connect to, IE localhost, ldap://mai.example.com:389",

+     )

+ parser.add_argument('-b', '--basedn',

+         help="Basedn (root naming context) of the instance to manage",

+         default=None

+     )

+ parser.add_argument('-v', '--verbose',

+         help="Display verbose operation tracing during command execution",

+         action='store_true', default=False

+     )

+ parser.add_argument('-D', '--binddn',

+         help="The account to bind as for executing operations",

+         default=None

+     )

+ parser.add_argument('-Z', '--starttls',

+         help="Connect with StartTLS",

+         default=False, action='store_true'

+     )

+ parser.add_argument('-j', '--json',

+         help="Return result in JSON object",

+         default=False, action='store_true'

+     )

+ subparsers = parser.add_subparsers(help="resources to act upon")

+ # Call all the other cli modules to register their bits

+ cli_account.create_parser(subparsers)

+ cli_group.create_parser(subparsers)

+ cli_init.create_parser(subparsers)

+ cli_ou.create_parser(subparsers)

+ cli_posixgroup.create_parser(subparsers)

+ cli_user.create_parser(subparsers)

+ argcomplete.autocomplete(parser)

+ 

+ 

  if __name__ == '__main__':

  

      defbase = ldap.get_option(ldap.OPT_DEFBASE)

  

-     parser = argparse.ArgumentParser(allow_abbrev=True)

-     # First, add the LDAP options

- 

-     parser.add_argument('instance',

-             help="The instance name OR the LDAP url to connect to, IE localhost, ldap://mai.example.com:389",

-         )

-     parser.add_argument('-b', '--basedn',

-             help="Basedn (root naming context) of the instance to manage",

-             default=None

-         )

-     parser.add_argument('-v', '--verbose',

-             help="Display verbose operation tracing during command execution",

-             action='store_true', default=False

-         )

-     parser.add_argument('-D', '--binddn',

-             help="The account to bind as for executing operations",

-             default=None

-         )

-     parser.add_argument('-Z', '--starttls',

-             help="Connect with StartTLS",

-             default=False, action='store_true'

-         )

-     parser.add_argument('-j', '--json',

-             help="Return result in JSON object",

-             default=False, action='store_true'

-         )

- 

-     subparsers = parser.add_subparsers(help="resources to act upon")

- 

-     # Call all the other cli modules to register their bits

- 

-     cli_account.create_parser(subparsers)

-     cli_group.create_parser(subparsers)

-     cli_init.create_parser(subparsers)

-     cli_ou.create_parser(subparsers)

-     cli_posixgroup.create_parser(subparsers)

-     cli_user.create_parser(subparsers)

-     argcomplete.autocomplete(parser)

+ 

  

      args = parser.parse_args()

  

@@ -12,7 +12,7 @@ 

  License: GPLv3+

  Group: Development/Libraries

  BuildArch: noarch

- Url: http://port389.org/docs/389ds/FAQ/upstream-test-framework.html

+ Url: http://www.port389.org/

  %if 0%{?rhel} >= 8 || 0%{?fedora}

  BuildRequires: python2-devel

  BuildRequires: python2-setuptools
@@ -23,7 +23,7 @@ 

  BuildRequires: python-setuptools

  %endif

  %description

- This module contains tools and libraries for accessing, testing, 

+ This module contains tools and libraries for accessing, testing,

  and configuring the 389 Directory Server.

  

  
@@ -53,10 +53,10 @@ 

  %endif

  %{?python_provide:%python_provide python2-%{srcname}}

  %description -n python2-%{srcname}

- This module contains tools and libraries for accessing, testing, 

+ This module contains tools and libraries for accessing, testing,

  and configuring the 389 Directory Server.

  

- # Can't build on EL7! Python3 tooling is too broken :( 

+ # Can't build on EL7! Python3 tooling is too broken :(

  # We have to use >= 8, because <= 7 doesn't work ....

  %if 0%{?rhel} >= 8 || 0%{?fedora}

  %package -n python%{python3_pkgversion}-%{srcname}
@@ -74,7 +74,7 @@ 

  Requires: python%{python3_pkgversion}-dateutil

  %{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}}

  %description -n python%{python3_pkgversion}-%{srcname}

- This module contains tools and libraries for accessing, testing, 

+ This module contains tools and libraries for accessing, testing,

  and configuring the 389 Directory Server.

  %endif

  
@@ -230,7 +230,7 @@ 

  * Mon Dec 7 2015 Mark Reynolds <mreynolds@redhat.com> - 1.0.1-1

  - Removed downloaded dependencies, and added python_provide macro

  - Fixed Source0 URL in spec file

-  

+ 

  * Fri Dec 4 2015 Mark Reynolds <mreynolds@redhat.com> - 1.0.1-1

  - Renamed package to python-lib389, and simplified the spec file

  

file modified
+3 -3
@@ -3,6 +3,6 @@ 

  pytest

  python-dateutil

  six

- enum34;python_version=="2.7"

- python-ldap;python_version=="2.7"

- pyldap;python_version>="3.4"

+ argcomplete

+ argparse-manpage

+ python3-ldap

@@ -0,0 +1,7 @@ 

+ [build_manpages]

+ manpages =

+     ../../man/man8/dsconf.8:object=parser:pyfile=cli/dsconf

+     ../../man/man8/dsctl.8:object=parser:pyfile=cli/dsctl

+     ../../man/man8/dsidm.8:object=parser:pyfile=cli/dsidm

+     ../../man/man8/dscreate.8:object=parser:pyfile=cli/dscreate

+ 

file modified
+16 -7
@@ -1,7 +1,7 @@ 

- #!/usr/bin/env python

+ #!/usr/bin/python3

  

  # --- BEGIN COPYRIGHT BLOCK ---

- # Copyright (C) 2015 Red Hat, Inc.

+ # Copyright (C) 2018 Red Hat, Inc.

  # All rights reserved.

  #

  # License: GPL (version 3 or any later version).
@@ -14,6 +14,9 @@ 

  

  from setuptools import setup, find_packages

  from os import path

+ from build_manpages import build_manpages

+ from setuptools.command.build_py import build_py

+ from setuptools.command.install import install

  

  here = path.abspath(path.dirname(__file__))

  
@@ -33,7 +36,7 @@ 

      description='A library for accessing and configuring the 389 Directory ' +

                  'Server',

      long_description=long_description,

-     url='http://port389.org/wiki/Upstream_test_framework',

+     url='http://www.port389.org/docs/389ds/FAQ/upstream-test-framework.html',

  

      author='Red Hat Inc.',

      author_email='389-devel@lists.fedoraproject.org',
@@ -58,7 +61,6 @@ 

      # find lib389/clitools -name ds\* -exec echo \''{}'\', \;

      data_files=[

          ('/usr/sbin/', [

-             # 'lib389/clitools/ds_setup',

              'cli/dsctl',

              'cli/dsconf',

              'cli/dscreate',
@@ -72,8 +74,15 @@ 

          'pytest',

          'python-dateutil',

          'six',

-         'enum34;python_version=="2.7"',

-         'python-ldap;python_version=="2.7"',

-         'pyldap;python_version>="3.4"',

+         'argcomplete',

+         'argparse-manpage',

+         'python3-ldap',

          ],

+ 

+     cmdclass={

+         # Dynamically build man pages for cli tools

+         'build_manpages': build_manpages.build_manpages,

+         'build_py': build_manpages.get_build_py_cmd(build_py),

+     }

+ 

  )

Bug Description: A recent man page scan revealed several errors and warnings.

Fix Description: Added missing man pages, fixed syntax issues, and added
new man pages for config files.

              Also added dynamic man page creation for the lib389 CLI tools
              using python-argparse-manpages

https://pagure.io/389-ds-base/issue/49811

Reviewed by: ?

rebased onto e6e00bba05ed5a9e45b274565136caddfd13788f

4 years ago

Man pages for config files should be in man5:

+ %{_mandir}/man8/99user.ldif.8.gz
+ %{_mandir}/man8/certmap.conf.8.gz
+ %{_mandir}/man8/template-initconfig.8.gz
+ %{_mandir}/man8/slapd-collations.conf.8.gz
+ %{_mandir}/man8/dirsrv.8.gz
+ %{_mandir}/man8/dirsrv.systemd.8.gz

And since you're changing 389-ds-base.spec.in, could you please remove requires for tcp_wrappers and change python3-pyldap to python-ldap?

The rest LGTM.

rebased onto 42e663603eb4f99bef947eb852d4adf59bd6f749

4 years ago

Revised man pages, thanks @vashirov !

Please review...

We also need argcomplete in BuildRequires.
And these:

BuildRequires: python%{python3_pkgversion}-ldap
BuildRequires: python%{python3_pkgversion}-six
BuildRequires: python%{python3_pkgversion}-pyasn1
BuildRequires: python%{python3_pkgversion}-pyasn1-modules
BuildRequires: python%{python3_pkgversion}-dateutil
BuildRequires: python%{python3_pkgversion}-argcomplete

Otherwise build in mock fails.

This broke installation of lib389 using pip:

[root@server ds]# pip3 install src/lib389/
Processing ./src/lib389
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-req-build-1epms9fu/setup.py", line 17, in <module>
        from build_manpages import build_manpages
    ModuleNotFoundError: No module named 'build_manpages'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-req-build-1epms9fu/

rebased onto 96ad23aa5340d083a818ad68ea57875814ec8b65

4 years ago

Everything seems to be working for me with the latest commit. Please review one last time. Thanks!

Mock build works and I can install lib389 using pip3 from the repo, ack.

rebased onto 0d9886e

4 years ago

Pull-Request has been merged by mreynolds

4 years ago

389-ds-base is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in 389-ds-base's github repository.

This pull request has been cloned to Github as issue and is available here:
- https://github.com/389ds/389-ds-base/issues/2871

If you want to continue to work on the PR, please navigate to the github issue,
download the patch from the attachments and file a new pull request.

Thank you for understanding. We apologize for all inconvenience.

Pull-Request has been closed by spichugi

2 years ago