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 --- .../usr/share/perl5/Debconf/Format/822.pm | 109 +++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 beagle/debian-rfs/usr/share/perl5/Debconf/Format/822.pm (limited to 'beagle/debian-rfs/usr/share/perl5/Debconf/Format') diff --git a/beagle/debian-rfs/usr/share/perl5/Debconf/Format/822.pm b/beagle/debian-rfs/usr/share/perl5/Debconf/Format/822.pm new file mode 100644 index 0000000..7d627b3 --- /dev/null +++ b/beagle/debian-rfs/usr/share/perl5/Debconf/Format/822.pm @@ -0,0 +1,109 @@ +#!/usr/bin/perl -w +# This file was preprocessed, do not edit! + + +package Debconf::Format::822; +use strict; +use base 'Debconf::Format'; + + +sub beginfile {} +sub endfile {} + +sub read { + my $this=shift; + my $fh=shift; + + local $/="\n"; + + my $name; + my %ret=( + owners => {}, + fields => {}, + variables => {}, + flags => {}, + ); + + my $invars=0; + my $line; + while ($line = <$fh>) { + chomp $line; + last if $line eq ''; # blank line is our record delimiter + + if ($invars) { + if ($line =~ /^\s/) { + $line =~ s/^\s+//; + my ($var, $value)=split(/\s*=\s?/, $line, 2); + $value=~s/\\n/\n/g; + $ret{variables}->{$var}=$value; + next; + } + else { + $invars=0; + } + } + + my ($key, $value)=split(/:\s?/, $line, 2); + $key=lc($key); + if ($key eq 'owners') { + foreach my $owner (split(/,\s+/, $value)) { + $ret{owners}->{$owner}=1; + } + } + elsif ($key eq 'flags') { + foreach my $flag (split(/,\s+/, $value)) { + $ret{flags}->{$flag}='true'; + } + } + elsif ($key eq 'variables') { + $invars=1; + } + elsif ($key eq 'name') { + $name=$value; + } + elsif (length $key) { + $value=~s/\\n/\n/g; + $ret{fields}->{$key}=$value; + } + } + + return unless defined $name; + return $name, \%ret; +} + +sub write { + my $this=shift; + my $fh=shift; + my %data=%{shift()}; + my $name=shift; + + print $fh "Name: $name\n" or return undef; + foreach my $field (sort keys %{$data{fields}}) { + my $val=$data{fields}->{$field}; + $val=~s/\n/\\n/g; + print $fh ucfirst($field).": $val\n" or return undef; + } + if (keys %{$data{owners}}) { + print $fh "Owners: ".join(", ", sort keys(%{$data{owners}}))."\n" + or return undef; + } + if (grep { $data{flags}->{$_} eq 'true' } keys %{$data{flags}}) { + print $fh "Flags: ".join(", ", + grep { $data{flags}->{$_} eq 'true' } + sort keys(%{$data{flags}}))."\n" + or return undef; + } + if (keys %{$data{variables}}) { + print $fh "Variables:\n" or return undef; + foreach my $var (sort keys %{$data{variables}}) { + my $val=$data{variables}->{$var}; + $val=~s/\n/\\n/g; + print $fh " $var = $val\n" or return undef; + } + } + print $fh "\n" or return undef; # end of record delimiter + return 1; +} + + +1 -- cgit v1.2.3