title: Puppet - test if a package already defined?
body: <p>I'm writing some puppet modules and have a package defined in two modules hence get the following error:</p>
  
  <pre><code>err: Could not retrieve catalog from remote server: Error 400 on SERVER: Duplicate definition: Package[gnome-session-fallback] is already defined in file /etc/puppet/modules/vnc4server/manifests/init.pp at line 3; cannot redefine at /etc/puppet/modules/vino/manifests/init.pp:7 on node l
  </code></pre>
  
  <p>Hence  want to ensure that the package has not already been defined but the following does not work:</p>
  
  <pre><code>if ! defined ('gnome-session-fallback') {
      package { 'gnome-session-fallback':
          ensure =&gt; installed,
      }
  }
  </code></pre>
  
  <p>Can anyone suggest how to fix this, and on the broader scale, what is the "proper" approach to avoiding clashes such as this in modules?</p>