#!/usr/bin/perl -w
#
# Copyright © 2006-2008 Roger Leigh <rleigh@debian.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see
# <http://www.gnu.org/licenses/>.
#
#######################################################################

use strict;
use warnings;

use Getopt::Long;
use Sbuild qw(help_text version_text usage_error);
use Sbuild::Utility qw(setup cleanup);

package main;

GetOptions (
    "h|help" => sub { help_text("1", "sbuild-apt"); },
    "V|version" => sub {version_text("sbuild-apt"); })
or usage_error("sbuild-apt", "Error parsing command-line options");

usage_error("sbuild-apt", "Incorrect number of options") if (@ARGV < 2);

my $command = $ARGV[1];
if ($command eq "apt-get") {
    $command = $Sbuild::Conf::apt_get;
} elsif ($command eq "apt-cache") {
    $command = $Sbuild::Conf::apt_cache;
} else {
    usage_error("sbuild-apt",
		"Bad command $command.  Allowed commands: apt-get or apt-cache\n");
}

$Sbuild::Conf::cwd = "/";

my $session = setup($ARGV[0]) or die "Chroot setup failed";

shift @ARGV;
shift @ARGV;
my $cmd = join(' ', @ARGV);

$ENV{'DEBIAN_FRONTEND'} = "noninteractive";
my $status = $session->run_apt_command($command, $cmd, "root", 1);

cleanup();

exit $status;
