From 5238ad5a0c4a9e1c8cd036f5de4055e39bd71297 Mon Sep 17 00:00:00 2001 From: Manuel Traut Date: Fri, 29 Apr 2011 09:09:27 +0200 Subject: added debootstrap stuff Signed-off-by: Manuel Traut --- beagle/debian-rfs/usr/bin/debconf-copydb | 82 ++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100755 beagle/debian-rfs/usr/bin/debconf-copydb (limited to 'beagle/debian-rfs/usr/bin/debconf-copydb') diff --git a/beagle/debian-rfs/usr/bin/debconf-copydb b/beagle/debian-rfs/usr/bin/debconf-copydb new file mode 100755 index 0000000..82d9e2f --- /dev/null +++ b/beagle/debian-rfs/usr/bin/debconf-copydb @@ -0,0 +1,82 @@ +#!/usr/bin/perl -w +# This file was preprocessed, do not edit! + + +use strict; +use Getopt::Long; +use Debconf::Log qw{:all}; +use Debconf::Db; +use Debconf::DbDriver; +use Debconf::DbDriver::Backup; + + +sub usage { + print STDERR <makedriver(%config); + } + elsif (%config) { + warn "ignoring command line config data before $_[1]"; + } + %config=(); + } + + $config{$field}=$value; +} + +GetOptions( + "pattern|p=s" => \$pattern, + "config|c=s" => \&config, + "owner-pattern=s" => \$owner_pattern, +) || usage(); +Debconf::Db->makedriver(%config) if %config; + +my $srcname=shift || usage(); +my $destname=shift || usage(); + +Debconf::Db->load; + +my $src=Debconf::DbDriver->driver($srcname); +die "$0: source database, \"$srcname\" does not exist\n" unless ref $src; +my $dest=Debconf::DbDriver->driver($destname); +die "$0: destination database, \"$destname\" does not exist\n" unless ref $dest; + +my $copier=Debconf::DbDriver::Backup->new( + db => $src, backupdb => $dest, name => 'copier'); + +my $i=$copier->iterator; +while (my $item=$i->iterate) { + next unless $item =~ /$pattern/; + + if (defined $owner_pattern) { + my $fit_owner = 0; + my $owner; + foreach $owner ($src->owners($item)){ + $fit_owner = 1 if $owner =~ /$owner_pattern/; + } + next unless $fit_owner; + } + + $copier->copy($item, $src, $dest); +} + +$copier->shutdown; + + -- cgit v1.2.3