From b27fccd4345d80ff826cfbdad1d409d712923e4b Mon Sep 17 00:00:00 2001 From: James Turnbull Date: Tue, 27 Jan 2009 10:03:05 +1100 Subject: Fixed #1852 - Correct behaviour when no SELinux bindings --- CHANGELOG | 2 ++ lib/puppet/type/file/selcontext.rb | 8 ++++++++ spec/unit/type/file/selinux.rb | 6 ++++++ 3 files changed, 16 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 30fc1c694..55915c243 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,6 @@ 0.25.x + Fixed #1852 - Correct behaviour when no SELinux bindings + Updated Red Hat spec file 0.24.7 0.24.7 diff --git a/lib/puppet/type/file/selcontext.rb b/lib/puppet/type/file/selcontext.rb index 22e3080b1..990035005 100644 --- a/lib/puppet/type/file/selcontext.rb +++ b/lib/puppet/type/file/selcontext.rb @@ -44,6 +44,14 @@ module Puppet return property_default end + def insync?(value) + if not selinux_support? + debug("SELinux bindings not found. Ignoring parameter.") + return true + end + super + end + def sync self.set_selinux_context(@resource[:path], @should, name) return :file_changed diff --git a/spec/unit/type/file/selinux.rb b/spec/unit/type/file/selinux.rb index a97f9bcb4..4c16fe5df 100644 --- a/spec/unit/type/file/selinux.rb +++ b/spec/unit/type/file/selinux.rb @@ -74,6 +74,12 @@ Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f @sel.sync end + it "should do nothing for insync? if no SELinux support" do + @sel.should = %{newcontext} + @sel.expects(:selinux_support?).returns false + @sel.insync?("oldcontext").should == true + end + after do Puppet::Type.type(:file).clear end -- cgit