forked from ungleich-public/cdist
Merge branch 'master' of git://git.schottelius.org/cdist
This commit is contained in:
commit
23c35acf16
12 changed files with 49 additions and 23 deletions
15
README
15
README
|
@ -106,14 +106,15 @@ how to use cdist.
|
||||||
There are at least the following branches available:
|
There are at least the following branches available:
|
||||||
|
|
||||||
* master: the development branch
|
* master: the development branch
|
||||||
* 1.5: Focus on object orientation instead of global stage orientation
|
* 1.6: New types, cleaned up \_\_package* types, internal cleanup
|
||||||
|
|
||||||
Old versions:
|
Old versions:
|
||||||
|
|
||||||
|
* 1.5: Focus on object orientation instead of global stage orientation
|
||||||
* 1.4: Support for redefiniton of objects (if equal)
|
* 1.4: Support for redefiniton of objects (if equal)
|
||||||
* 1.3: Support for local and remote code execution (current stable)
|
* 1.3: Support for local and remote code execution (current stable)
|
||||||
* 1.2: Dependencies supported
|
* 1.2: Dependencies supported
|
||||||
* 1.1: __file to __file, __directory, __link migration
|
* 1.1: \_\_file to \_\_file, \_\_directory, \_\_link migration
|
||||||
* 1.0: First official release
|
* 1.0: First official release
|
||||||
|
|
||||||
Other branches may be available for features or bugfixes, but they
|
Other branches may be available for features or bugfixes, but they
|
||||||
|
@ -123,7 +124,7 @@ may vanish at any point. To select a specific branch use
|
||||||
git checkout -b <name> origin/<name>
|
git checkout -b <name> origin/<name>
|
||||||
|
|
||||||
# Stay on a specific version
|
# Stay on a specific version
|
||||||
version=1.5
|
version=1.6
|
||||||
git checkout -b $version origin/$version
|
git checkout -b $version origin/$version
|
||||||
|
|
||||||
### Mirrors
|
### Mirrors
|
||||||
|
@ -145,6 +146,14 @@ If you stay on a version branche (i.e. 1.0, 1.1., ...), nothing should break.
|
||||||
The master branch on the other hand is the development branch and may not be
|
The master branch on the other hand is the development branch and may not be
|
||||||
working, break your setup or eat the tree in your garden.
|
working, break your setup or eat the tree in your garden.
|
||||||
|
|
||||||
|
### Upgrading from 1.5 to 1.6
|
||||||
|
|
||||||
|
* If you used **\_\_package_apt --preseed**, you need to use the new
|
||||||
|
type **\_\_debconf_set_selections** instead.
|
||||||
|
* The **\_\_package** types accepted either --state deinstalled or
|
||||||
|
--state uninstaaled. Starting with 1.6, it was made consistently
|
||||||
|
to --state removed.
|
||||||
|
|
||||||
### Upgrading from 1.3 to 1.5
|
### Upgrading from 1.3 to 1.5
|
||||||
|
|
||||||
No incompatiblities.
|
No incompatiblities.
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
__cdist_version="1.5.0"
|
__cdist_version="1.6.0pre"
|
||||||
|
|
||||||
# Fail if something bogus is going on
|
# Fail if something bogus is going on
|
||||||
set -u
|
set -u
|
||||||
|
|
|
@ -17,7 +17,7 @@ It dispatches the actual work to the package system dependant types.
|
||||||
REQUIRED PARAMETERS
|
REQUIRED PARAMETERS
|
||||||
-------------------
|
-------------------
|
||||||
state::
|
state::
|
||||||
The state the package should be in, either "installed" or "uninstalled"
|
The state the package should be in, either "installed" or "removed"
|
||||||
|
|
||||||
|
|
||||||
OPTIONAL PARAMETERS
|
OPTIONAL PARAMETERS
|
||||||
|
|
|
@ -46,10 +46,14 @@ case "$state" in
|
||||||
echo $aptget install \"$name\"
|
echo $aptget install \"$name\"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
uninstalled)
|
removed)
|
||||||
# Remove only if existent
|
# Remove only if existent
|
||||||
if [ -n "$is_installed" ]; then
|
if [ -n "$is_installed" ]; then
|
||||||
echo $aptget remove \"$name\"
|
echo $aptget remove \"$name\"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown state: $state" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -17,7 +17,7 @@ manage packages.
|
||||||
REQUIRED PARAMETERS
|
REQUIRED PARAMETERS
|
||||||
-------------------
|
-------------------
|
||||||
state::
|
state::
|
||||||
Either "installed" or "deinstalled".
|
Either "installed" or "removed".
|
||||||
|
|
||||||
|
|
||||||
OPTIONAL PARAMETERS
|
OPTIONAL PARAMETERS
|
||||||
|
@ -37,7 +37,7 @@ __package_apt zsh --state installed
|
||||||
__package_apt webserver --state installed --name nginx
|
__package_apt webserver --state installed --name nginx
|
||||||
|
|
||||||
# Remove obsolete package
|
# Remove obsolete package
|
||||||
__package_apt puppet --state deinstalled
|
__package_apt puppet --state removed
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -44,9 +44,13 @@ case "$state" in
|
||||||
echo pacman "$pacopts" -S \"$name\"
|
echo pacman "$pacopts" -S \"$name\"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
uninstalled)
|
removed)
|
||||||
if [ "$pkg_version" ]; then
|
if [ "$pkg_version" ]; then
|
||||||
echo pacman "$pacopts" -R \"$name\"
|
echo pacman "$pacopts" -R \"$name\"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown state: $state" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -17,7 +17,7 @@ packages.
|
||||||
REQUIRED PARAMETERS
|
REQUIRED PARAMETERS
|
||||||
-------------------
|
-------------------
|
||||||
state::
|
state::
|
||||||
Either "installed" or "deinstalled".
|
Either "installed" or "removed".
|
||||||
|
|
||||||
|
|
||||||
OPTIONAL PARAMETERS
|
OPTIONAL PARAMETERS
|
||||||
|
@ -37,7 +37,7 @@ __package_pacman zsh --state installed
|
||||||
__package_pacman python --state installed --name python2
|
__package_pacman python --state installed --name python2
|
||||||
|
|
||||||
# Remove obsolete package
|
# Remove obsolete package
|
||||||
__package_pacman puppet --state deinstalled
|
__package_pacman puppet --state removed
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -39,9 +39,13 @@ case "$state" in
|
||||||
echo yum $opts install \"$name\"
|
echo yum $opts install \"$name\"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
uninstalled)
|
removed)
|
||||||
if ! grep -q "$not_installed" "$__object/explorer/pkg_version"; then
|
if ! grep -q "$not_installed" "$__object/explorer/pkg_version"; then
|
||||||
echo yum $opts remove \"$name\"
|
echo yum $opts remove \"$name\"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown state: $state" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -18,7 +18,7 @@ slightly confusing error message "Error: Nothing to do".
|
||||||
REQUIRED PARAMETERS
|
REQUIRED PARAMETERS
|
||||||
-------------------
|
-------------------
|
||||||
state::
|
state::
|
||||||
Either "installed" or "deinstalled".
|
Either "installed" or "removed".
|
||||||
|
|
||||||
|
|
||||||
OPTIONAL PARAMETERS
|
OPTIONAL PARAMETERS
|
||||||
|
@ -38,7 +38,7 @@ __package_yum zsh --state installed
|
||||||
__package_yum python --state installed --name python2
|
__package_yum python --state installed --name python2
|
||||||
|
|
||||||
# Remove obsolete package
|
# Remove obsolete package
|
||||||
__package_yum puppet --state deinstalled
|
__package_yum puppet --state removed
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
* New type __debconf_set_selections
|
* New type __debconf_set_selections
|
||||||
* New explorer os_version
|
* New explorer os_version
|
||||||
* Fix Type __group in case of __group NAME syntax
|
* Fix Type __group in case of __group NAME syntax
|
||||||
|
* Fix __package* types: consistently name --state removed instead of
|
||||||
|
uninstalled or deinstalled
|
||||||
* Type __package gained Fedora support
|
* Type __package gained Fedora support
|
||||||
* Removed --preseed support from __package_apt
|
* Removed --preseed support from __package_apt
|
||||||
* explorer/os: gained Fedora support
|
* explorer/os: gained Fedora support
|
||||||
|
|
|
@ -27,6 +27,15 @@ CORE
|
||||||
- for use in manifest, code, etc.?
|
- for use in manifest, code, etc.?
|
||||||
- for creating temporary files, etc.
|
- for creating temporary files, etc.
|
||||||
|
|
||||||
|
- How to cleanly implement "restart service if config file changed"
|
||||||
|
|
||||||
|
- Cache
|
||||||
|
- add example how to use
|
||||||
|
- export variable $__cache
|
||||||
|
-> for current host
|
||||||
|
-> add function to cdist-config, import from cdist-cache
|
||||||
|
|
||||||
|
- check all all internal variables are prefixed with __cdist
|
||||||
|
|
||||||
TYPES
|
TYPES
|
||||||
------
|
------
|
||||||
|
@ -35,19 +44,12 @@ TYPES
|
||||||
- regexp replace (can probably cover all?)
|
- regexp replace (can probably cover all?)
|
||||||
-> aka sed.
|
-> aka sed.
|
||||||
- __cron
|
- __cron
|
||||||
- __user:
|
- __user
|
||||||
add option to include --create-home
|
add option to include --create-home
|
||||||
fix __user NAME case (same issue as __group)
|
|
||||||
|
|
||||||
DOCUMENTATION
|
DOCUMENTATION
|
||||||
--------------
|
--------------
|
||||||
- asciidoc interprets __, which we use for variables
|
- asciidoc interprets __, which we use for variables
|
||||||
names -> seek through docs and replace with \_\_!
|
names -> seek through docs and replace with \_\_!
|
||||||
- check all all internal variables are prefixed with __cdist
|
|
||||||
- reference explorers in cdist-reference!
|
- reference explorers in cdist-reference!
|
||||||
|
|
||||||
Cache:
|
|
||||||
- add example how to use
|
|
||||||
- export variable $__cache
|
|
||||||
-> for current host
|
|
||||||
-> add function to cdist-config, import from cdist-cache
|
|
||||||
|
|
|
@ -59,7 +59,8 @@ HOW TO SUBMIT A NEW TYPE
|
||||||
Submitting a type works as described above, with the additional requirement
|
Submitting a type works as described above, with the additional requirement
|
||||||
that a corresponding manpage named man.text in asciidoc format with
|
that a corresponding manpage named man.text in asciidoc format with
|
||||||
the manpage-name "cdist-type__NAME" is included in the type directory
|
the manpage-name "cdist-type__NAME" is included in the type directory
|
||||||
AND asciidoc is able to compile it.
|
AND asciidoc is able to compile it (i.e. do NOT have to many "=" in the second
|
||||||
|
line).
|
||||||
|
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
|
|
Loading…
Reference in a new issue