# File lib/puppet/module/tool/applications/unpacker.rb, line 21
      def run
        check_clobber!
        build_dir = Puppet::Module::Tool::Cache.base_path + "tmp-unpacker-#{Digest::SHA1.hexdigest(@filename.basename)}"
        build_dir.mkpath
        begin
          FileUtils.cp @filename, build_dir
          Dir.chdir(build_dir) do
            unless system "tar xzf #{@filename.basename}"
              abort "Could not extract contents of module archive."
            end
          end
          # grab the first directory
          extracted = build_dir.children.detect { |c| c.directory? }
          if force?
            FileUtils.rm_rf @full_name rescue nil
          end
          FileUtils.cp_r extracted, @full_name
          tag_revision
        ensure
          build_dir.rmtree
        end
        say "Installed #{@release_name.inspect} into directory: #{@full_name}"
      end