diff --git a/conf/type/__removeline/gencode b/conf/type/__removeline/gencode new file mode 100755 index 00000000..3ec466b9 --- /dev/null +++ b/conf/type/__removeline/gencode @@ -0,0 +1,31 @@ +#!/bin/sh +# +# 2010-2011 Daniel Roth (dani-cdist@d-roth.li) +# +# This file is part of cdist. +# +# cdist is free software: 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. +# +# cdist is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with cdist. If not, see . +# +# + +if [ -f "$__object/parameter/file" ]; then + file=$(cat "$__object/parameter/file") +else + file="/$__object_id" +fi + +line=$(cat "$__object/parameter/line") +echo "ex -c \"/${line}/d|w|q\" \"${file}\" < + + +NAME +---- +cdist-type__removeline - Remove a line (if existing) + + +DESCRIPTION +----------- +This type can be used to check a file for existence of a +specific line and removeing it, if it was found. + + +REQUIRED PARAMETERS +------------------- +line:: + Specifies the content which shall be removed if existing. + + +OPTIONAL PARAMETERS +------------------- +file:: + If supplied, use this as the destination file. + Otherwise the object_id is used. + + +EXAMPLES +-------- + +-------------------------------------------------------------------------------- +# Removes the line specifiend in "include_www" from the file "lighttpd.conf" +__removeline www --file /etc/lighttpd.conf --line include_www + +# Removes the line "include_git" from the file "lighttpd.conf" +__removeline /etc/lighttpd.conf --line include_git +-------------------------------------------------------------------------------- + + +SEE ALSO +-------- +- cdist-type(7) + + +COPYING +------- +Copyright \(C) 2011 Daniel Roth. Free use of this software is +granted under the terms of the GNU General Public License version 3 (GPLv3). diff --git a/conf/type/__removeline/parameter/optional b/conf/type/__removeline/parameter/optional new file mode 100644 index 00000000..f73f3093 --- /dev/null +++ b/conf/type/__removeline/parameter/optional @@ -0,0 +1 @@ +file diff --git a/conf/type/__removeline/parameter/required b/conf/type/__removeline/parameter/required new file mode 100644 index 00000000..a999a0c2 --- /dev/null +++ b/conf/type/__removeline/parameter/required @@ -0,0 +1 @@ +line diff --git a/doc/changelog b/doc/changelog index fae5607a..d69731ca 100644 --- a/doc/changelog +++ b/doc/changelog @@ -1,3 +1,6 @@ +1.1.1: + * New type __removeline + 1.1.0: 2011-03-16 * Replace type __file with __file, __directory, __link * Document cdist-env diff --git a/doc/dev/todo/daninext b/doc/dev/todo/daninext index 19ebc573..e69de29b 100644 --- a/doc/dev/todo/daninext +++ b/doc/dev/todo/daninext @@ -1,2 +0,0 @@ -file-edit - - add_line_to_file_if_not_existing diff --git a/doc/dev/todo/post-1.1 b/doc/dev/todo/post-1.1 index 8556f253..a4f525e3 100644 --- a/doc/dev/todo/post-1.1 +++ b/doc/dev/todo/post-1.1 @@ -13,7 +13,6 @@ Types to be written/extended: - __service - __user - __file_edit - - __deleteline - regexp replace (can probably cover all?) - cron - __issue: add --source