#!/usr/bin/env ruby

# vim:syn=ruby

require "cruxutils"
require "tempfile"
require "pp"

if ARGV.empty?
	puts "usage: pkgexport package_name"
	exit
end

CruxUtils::PackageDb.open do |db|
	pkg = db[ARGV.first]

	Tempfile.open("packagelist") do |tf|
		sane = pkg.files.inject([]) do |a, m|
			a << m unless File.directory?("/" + m)
			a
		end

		tf.puts sane.join("\n").strip
		tf.flush

		`tar czf /tmp/#{pkg.filename} -C / -T #{tf.path}`
	end

	puts "dumped '#{pkg.name}' to /tmp/#{pkg.filename}"
end

