From be883a02b3126d9b934f14bcb721cfe716e57a41 Mon Sep 17 00:00:00 2001 From: intrigeri Date: Tue, 14 Feb 2017 16:39:01 +0000 Subject: Import apt::dpkg_statoverride from https://github.com/example42/puppet-apt. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit … at commit 714e393ca4b784b80006e39225d80179e109a8c3, and add copyright and licensing information. --- manifests/dpkg_statoverride.pp | 75 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 manifests/dpkg_statoverride.pp diff --git a/manifests/dpkg_statoverride.pp b/manifests/dpkg_statoverride.pp new file mode 100644 index 0000000..79ef4f1 --- /dev/null +++ b/manifests/dpkg_statoverride.pp @@ -0,0 +1,75 @@ +# = Define: apt::dpkg_statoverride +# +# Override ownership and mode of files +# +# +# == Parameters +# +# [*name*] +# Implicit parameter. +# File path. +# +# [*user*] +# User name (or user id if prepended with '#'). +# +# [*group*] +# Group name (or group id if prepended with '#'). +# +# [*mode*] +# File mode, in octal +# +# [*ensure*] +# Whether to add or delete this configuration +# +# +# == Examples +# +# Usage: +# apt::dpkg_statoverride { '/var/log/puppet': +# user => 'puppet', +# group => 'puppet', +# mode => '750', +# } +# +# == License +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# == Copyright +# +# Copyright 2014-2016 Mathieu Parent +# +define apt::dpkg_statoverride( + $user, + $group, + $mode, + $ensure = present +) { + case $ensure { + 'present': { + exec { "dpkg_statoverride_${name}-add": + command => "dpkg-statoverride --update --add '${user}' '${group}' '${mode}' '${name}'", + unless => "dpkg-statoverride --list '${name}' | grep '${user} ${group} ${mode} ${name}'", + } + } + 'absent': { + exec { "dpkg_statoverride_${name}-add": + command => "dpkg-statoverride --remove '${name}'", + onlyif => "dpkg-statoverride --list '${name}'", + } + } + default: { + fail("Unknown value for \$ensure: '${ensure}'") + } + } +} -- cgit v1.2.3