Fix documentation for install types

Fixes gitlab #790.
This commit is contained in:
Darko Poljak 2019-12-06 08:56:57 +01:00
parent 320f962e1d
commit f22349ce8a
3 changed files with 115 additions and 2 deletions

View file

@ -1 +0,0 @@
../__directory/man.rst

View file

@ -0,0 +1,101 @@
cdist-type__install_directory(7)
================================
NAME
----
cdist-type__install_directory - Manage a directory with install command
DESCRIPTION
-----------
This cdist type allows you to create or remove directories on the target.
REQUIRED PARAMETERS
-------------------
None.
OPTIONAL PARAMETERS
-------------------
state
'present' or 'absent', defaults to 'present'
group
Group to chgrp to.
mode
Unix permissions, suitable for chmod.
owner
User to chown to.
BOOLEAN PARAMETERS
------------------
parents
Whether to create parents as well (mkdir -p behaviour).
Warning: all intermediate directory permissions default
to whatever mkdir -p does.
Usually this means root:root, 0700.
recursive
If supplied the chgrp and chown call will run recursively.
This does *not* influence the behaviour of chmod.
MESSAGES
--------
chgrp <group>
Changed group membership
chown <owner>
Changed owner
chmod <mode>
Changed mode
create
Empty directory was created
remove
Directory exists, but state is absent, directory will be removed by generated code.
remove non directory
Something other than a directory with the same name exists and was removed prior to create.
EXAMPLES
--------
.. code-block:: sh
# A silly example
__install_directory /tmp/foobar
# Remove a directory
__install_directory /tmp/foobar --state absent
# Ensure /etc exists correctly
__install_directory /etc --owner root --group root --mode 0755
# Create nfs service directory, including parents
__install_directory /home/services/nfs --parents
# Change permissions recursively
__install_directory /home/services --recursive --owner root --group root
# Setup a temp directory
__install_directory /local --mode 1777
# Take it all
__install_directory /home/services/kvm --recursive --parents \
--owner root --group root --mode 0755 --state present
AUTHORS
-------
Nico Schottelius <nico-cdist--@--schottelius.org>
COPYING
-------
Copyright \(C) 2011 Nico Schottelius. You can redistribute it
and/or modify it under the terms of the GNU General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

View file

@ -23,6 +23,10 @@ symlink
directory directory
replace it with the source file replace it with the source file
One exception is that when state is pre-exists, an error is raised if
the file would have been created otherwise (e.g. it is not present or
not a regular file).
In any case, make sure that the file attributes are as specified. In any case, make sure that the file attributes are as specified.
@ -33,7 +37,7 @@ None.
OPTIONAL PARAMETERS OPTIONAL PARAMETERS
------------------- -------------------
state state
'present', 'absent' or 'exists', defaults to 'present' where: 'present', 'absent', 'exists' or 'pre-exists', defaults to 'present' where:
present present
the file is exactly the one from source the file is exactly the one from source
@ -41,6 +45,9 @@ state
the file does not exist the file does not exist
exists exists
the file from source but only if it doesn't already exist the file from source but only if it doesn't already exist
pre-exists
check that the file exists and is a regular file, but do not
create or modify it
group group
Group to chgrp to. Group to chgrp to.
@ -56,6 +63,9 @@ source
If not supplied, an empty file or directory will be created. If not supplied, an empty file or directory will be created.
If source is '-' (dash), take what was written to stdin as the file content. If source is '-' (dash), take what was written to stdin as the file content.
onchange
The code to run if file is modified.
MESSAGES MESSAGES
-------- --------
chgrp <group> chgrp <group>
@ -93,6 +103,8 @@ EXAMPLES
__install_file /home/frodo/.bashrc --source "/etc/skel/.bashrc" \ __install_file /home/frodo/.bashrc --source "/etc/skel/.bashrc" \
--state exists \ --state exists \
--owner frodo --mode 0600 --owner frodo --mode 0600
# Check that the file is present, show an error when it is not
__install_file /etc/somefile --state pre-exists
# Take file content from stdin # Take file content from stdin
__install_file /tmp/whatever --owner root --group root --mode 644 --source - << DONE __install_file /tmp/whatever --owner root --group root --mode 644 --source - << DONE
Here goes the content for /tmp/whatever Here goes the content for /tmp/whatever

View file

@ -3,6 +3,7 @@ Changelog
next: next:
* Type __package_update_index: Fix Alpine part (Dominique Roux) * Type __package_update_index: Fix Alpine part (Dominique Roux)
* Documentation: Fix man pages for install types (Darko Poljak)
6.2.0: 2019-11-30 6.2.0: 2019-11-30
* Core: Redefine/reimplement/fix CDIST_ORDER_DEPENDENCY (Darko Poljak) * Core: Redefine/reimplement/fix CDIST_ORDER_DEPENDENCY (Darko Poljak)