~ubuntu-branches/ubuntu/gutsy/sbuild/gutsy

« back to all changes in this revision

Viewing changes to bin/chr-hold

  • Committer: Bazaar Package Importer
  • Author(s): Roger Leigh
  • Date: 2006-10-21 21:23:16 UTC
  • mfrom: (2.1.6 edgy)
  • Revision ID: james.westby@ubuntu.com-20061021212316-nh89o5rnhyk1epnn
Tags: 0.52
* New upstream release.
* sbuild: Remove incorrect WannaBuild:: prefix from version_compare.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/bin/bash
2
 
 
 
1
#!/usr/bin/perl -w
3
2
# changes the dpkg status of a package in a chroot to "hold"
4
 
 
5
 
USAGE_STRING="${0##*/} <chroot> pkg1 [pkg2..]"
6
 
. /usr/share/sbuild/common_functions
7
 
parse_arg $1
8
 
shift
9
 
 
10
 
for i in "$@" ; do
11
 
        echo "$i        hold"
12
 
done | sudo dpkg --root=$CHROOT --set-selections
13
 
 
14
 
dpkg --root=$CHROOT --list "$@"
15
 
 
 
3
#
 
4
# Copyright (C) 2006 Roger Leigh <rleigh@debian.org>
 
5
#
 
6
# This program is free software; you can redistribute it and/or modify
 
7
# it under the terms of the GNU General Public License as published by
 
8
# the Free Software Foundation; either version 2 of the License, or
 
9
# (at your option) any later version.
 
10
#
 
11
# This program is distributed in the hope that it will be useful,
 
12
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
13
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
14
# GNU General Public License for more details.
 
15
#
 
16
# You should have received a copy of the GNU General Public License
 
17
# along with this program; if not, write to the Free Software
 
18
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 
19
 
 
20
use strict;
 
21
use warnings;
 
22
use Sbuild::Utility qw(setup cleanup shutdown);
 
23
 
 
24
package main;
 
25
 
 
26
sub usage {
 
27
        print STDERR "Usage: $0 <chroot> package [package ...]\n";
 
28
        exit 1;
 
29
}
 
30
 
 
31
usage() if (@ARGV < 2);
 
32
 
 
33
my $chroot = Sbuild::Utility::get_dist($ARGV[0]);
 
34
 
 
35
!setup($ARGV[0]) or die "Chroot setup failed for $chroot chroot";
 
36
 
 
37
print STDOUT "Holding packages in $chroot chroot:";
 
38
 
 
39
my $command = get_command("$Sbuild::Conf::dpkg --set-selections", "root", 1);
 
40
if (!open(SELECTIONS, "| $command")) {
 
41
        print STDERR "Can't run dpkg --set-selections in chroot\n";
 
42
        shutdown();
 
43
}
 
44
 
 
45
shift @ARGV;
 
46
foreach (@ARGV) {
 
47
        print SELECTIONS "$_        hold\n";
 
48
        print STDOUT " $_";
 
49
}
 
50
 
 
51
if (!close SELECTIONS) {
 
52
        print STDERR "Can't run dpkg --set-selections in chroot\n";
 
53
        shutdown();
 
54
}
 
55
 
 
56
print STDOUT ".\n";
 
57
 
 
58
my $packages = join(" ", @ARGV);
 
59
my $status = run_command("$Sbuild::Conf::dpkg --list $packages", "root", 1, 0);
 
60
 
 
61
cleanup();
 
62
 
 
63
exit $status;