rev 12927 - in branches/kde4.2/packages/pkg-kde-tools/trunk: debian symbolshelper symbolshelper/Debian/PkgKde/SymHelper symbolshelper/Debian/PkgKde/SymHelper/Handler
Modestas Vainius
modax-guest at alioth.debian.org
Sat Dec 13 00:04:19 UTC 2008
Author: modax-guest
Date: 2008-12-13 00:04:19 +0000 (Sat, 13 Dec 2008)
New Revision: 12927
Added:
branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler.pm
Removed:
branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler/Base.pm
branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler/qreal.pm
branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler/size_t.pm
branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler/ssize_t.pm
Modified:
branches/kde4.2/packages/pkg-kde-tools/trunk/debian/changelog
branches/kde4.2/packages/pkg-kde-tools/trunk/debian/rules
branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler/SimpleTypeDiff.pm
branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler/VirtTable.pm
branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handlers.pm
branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/pkgkde-symbolshelper
Log:
Some pkgkde-symbolshelper changes
Modified: branches/kde4.2/packages/pkg-kde-tools/trunk/debian/changelog
===================================================================
--- branches/kde4.2/packages/pkg-kde-tools/trunk/debian/changelog 2008-12-13 00:01:47 UTC (rev 12926)
+++ branches/kde4.2/packages/pkg-kde-tools/trunk/debian/changelog 2008-12-13 00:04:19 UTC (rev 12927)
@@ -1,9 +1,15 @@
-pkg-kde-tools (0.3.1~pre1) UNRELEASED; urgency=low
+pkg-kde-tools (0.3.1~pre3) UNRELEASED; urgency=low
- * Improve `pkgkde-symbolshelper patch` processing of patches which patch
- multiple files. Use the first patch partion that applies properly.
+ * pkgkde-symbolshelper/patch: improve processing of patches which patch
+ multiple files. Use the first patch portion that applies properly.
+ * pkgkde-symbolshelper/patch: rename -p parameter to -d (diff), support -p
+ (package) option.
+ * pkgkde-symbolshelper: rework module stucture a bit, merge small handlers
+ into one file.
+ * debian/rules: disable .svn check. It is wrong and useless since does not
+ check the tarball itself but the directory the tarball gets built from.
- -- Modestas Vainius <modestas at vainius.eu> Fri, 05 Dec 2008 02:46:09 +0200
+ -- Modestas Vainius <modestas at vainius.eu> Sat, 13 Dec 2008 01:58:28 +0200
pkg-kde-tools (0.3) experimental; urgency=low
Modified: branches/kde4.2/packages/pkg-kde-tools/trunk/debian/rules
===================================================================
--- branches/kde4.2/packages/pkg-kde-tools/trunk/debian/rules 2008-12-13 00:01:47 UTC (rev 12926)
+++ branches/kde4.2/packages/pkg-kde-tools/trunk/debian/rules 2008-12-13 00:04:19 UTC (rev 12927)
@@ -18,9 +18,6 @@
dh_installdocs
dh_installexamples
dh_install
- #make sure we didn't accidentally add svn files
- #if triggered, please build source package with -I
- test ! -e $(CURDIR)/debian/pkg-kde-tools/usr/share/pkg-kde-tools/makefiles/1/.svn/
dh_link
dh_perl
dh_strip
Deleted: branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler/Base.pm
Modified: branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler/SimpleTypeDiff.pm
===================================================================
--- branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler/SimpleTypeDiff.pm 2008-12-13 00:01:47 UTC (rev 12926)
+++ branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler/SimpleTypeDiff.pm 2008-12-13 00:04:19 UTC (rev 12927)
@@ -1,12 +1,12 @@
package Debian::PkgKde::SymHelper::Handler::SimpleTypeDiff;
-our @ISA = qw( Debian::PkgKde::SymHelper::Handler::Base );
+our @ISA = qw( Debian::PkgKde::SymHelper::Handler );
use strict;
use warnings;
-use Debian::PkgKde::SymHelper::Handler::Base;
+use Debian::PkgKde::SymHelper::Handler;
sub new {
- return Debian::PkgKde::SymHelper::Handler::Base::new(@_);
+ return Debian::PkgKde::SymHelper::Handler::new(@_);
}
sub clean {
@@ -61,3 +61,74 @@
}
1;
+package Debian::PkgKde::SymHelper::Handler::SimpleTypeDiff::size_t;
+our @ISA = qw( Debian::PkgKde::SymHelper::Handler::SimpleTypeDiff );
+
+use strict;
+use warnings;
+
+sub new {
+ my $self = Debian::PkgKde::SymHelper::Handler::SimpleTypeDiff::new(@_);
+ $self->{substvar} = "{size_t}";
+ $self->{main_type} = "j"; # unsigned int
+ $self->{type_re} = "[jm]";
+ return $self;
+}
+
+sub get_predef_arch_params {
+ my ($self, $arch) = @_;
+
+ # Mult should be 1 on 32bit arches and 2 on 64bit arches and so on
+ my $params = { type => "j" }; # unsigned int
+ $params->{type} = "m" if ($arch =~ /amd64|ia64|alpha|s390/); # unsigned long
+ return $params;
+}
+
+package Debian::PkgKde::SymHelper::Handler::SimpleTypeDiff::ssize_t;
+our @ISA = qw( Debian::PkgKde::SymHelper::Handler::SimpleTypeDiff );
+
+use strict;
+use warnings;
+
+sub new {
+ my $self = Debian::PkgKde::SymHelper::Handler::SimpleTypeDiff::new(@_);
+ $self->{substvar} = "{ssize_t}";
+ $self->{main_type} = "i"; # unsigned int
+ $self->{type_re} = "[il]";
+ return $self;
+}
+
+sub get_predef_arch_params {
+ my ($self, $arch) = @_;
+
+ # Mult should be 1 on 32bit arches and 2 on 64bit arches and so on
+ my $params = { type => "i" }; # int
+ $params->{type} = "l" if ($arch =~ /amd64|ia64|alpha|s390/); # unsigned long
+ return $params;
+}
+
+1;
+package Debian::PkgKde::SymHelper::Handler::SimpleTypeDiff::qreal;
+our @ISA = qw( Debian::PkgKde::SymHelper::Handler::SimpleTypeDiff );
+
+use strict;
+use warnings;
+
+sub new {
+ my $self = Debian::PkgKde::SymHelper::Handler::SimpleTypeDiff::new(@_);
+ $self->{substvar} = "{qreal}";
+ $self->{main_type} = "d"; # unsigned int
+ $self->{type_re} = "[fd]";
+ return $self;
+}
+
+sub get_predef_arch_params {
+ my ($self, $arch) = @_;
+
+ # Mult should be 1 on 32bit arches and 2 on 64bit arches and so on
+ my $params = { type => "d" }; # int
+ $params->{type} = "f" if ($arch =~ /arm/); # unsigned long
+ return $params;
+}
+
+1;
Modified: branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler/VirtTable.pm
===================================================================
--- branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler/VirtTable.pm 2008-12-13 00:01:47 UTC (rev 12926)
+++ branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler/VirtTable.pm 2008-12-13 00:04:19 UTC (rev 12927)
@@ -1,8 +1,9 @@
package Debian::PkgKde::SymHelper::Handler::VirtTable;
-our @ISA = qw( Debian::PkgKde::SymHelper::Handler::Base );
+our @ISA = qw( Debian::PkgKde::SymHelper::Handler );
use Debian::PkgKde::SymHelper::CompileTest;
use Debian::PkgKde::SymHelper qw(error);
+use Debian::PkgKde::SymHelper::Handler;
sub get_host_arch_params {
my $params = {};
Deleted: branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler/qreal.pm
Deleted: branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler/size_t.pm
Deleted: branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler/ssize_t.pm
Copied: branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler.pm (from rev 12920, branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler/Base.pm)
===================================================================
--- branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler.pm (rev 0)
+++ branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler.pm 2008-12-13 00:04:19 UTC (rev 12927)
@@ -0,0 +1,86 @@
+package Debian::PkgKde::SymHelper::Handler;
+
+use strict;
+use warnings;
+use Debian::PkgKde::SymHelper qw(error warning);
+
+sub new {
+ my ($cls, $arch) = @_;
+ my $self = bless {
+ arch => undef,
+ }, $cls;
+ $self->set_arch($arch);
+ return $self;
+}
+
+sub get_host_arch {
+ my $arch = `dpkg-architecture -qDEB_HOST_ARCH_CPU`;
+ chomp $arch;
+ return $arch;
+}
+
+sub set_arch {
+ my ($self, $arch) = @_;
+ $arch = get_host_arch() unless defined $arch;
+
+ error("Unknown architecture: $arch") unless grep($arch, @Debian::PkgKde::SymHelper::ARCHES);
+
+ my $arch_params;
+ $self->{"${arch}_params"} = $arch_params
+ if ($arch_params = $self->get_predef_arch_params($arch));
+ $self->{arch} = $arch;
+}
+
+sub _preload_arch_params {
+ my $self = shift;
+ foreach my $arch (@_) {
+ $self->{"${arch}_params"} = $self->get_predef_arch_params($arch);
+ }
+}
+
+sub get_arch_param {
+ my ($self, $name, $arch) = @_;
+ $arch = $self->{arch} unless defined $arch;
+
+ $self->_preload_arch_params($arch) unless (exists $self->{"${arch}_params"});
+ return $self->{"${arch}_params"}{$name};
+}
+
+sub dump_arch_params {
+ my ($self, $arch) = @_;
+ $arch = $self->{arch} unless defined $arch;
+
+ if (exists $self->{"${arch}_params"}) {
+ print "Arch: $arch", "\n";
+ foreach my $key (keys %{$self->{"${arch}_params"}}) {
+ print "$key: ", $self->get_arch_param($key, $arch), "\n";
+ }
+ }
+}
+
+sub get_host_arch_params {
+ my $self = shift;
+ return undef;
+}
+
+sub get_predef_arch_params {
+ my ($self, $arch) = @_;
+ return undef;
+}
+
+sub clean {
+ my ($self, $sym) = @_;
+ return $sym;
+}
+
+sub detect {
+ my ($self, $symversions) = @_;
+ return undef;
+}
+
+sub replace {
+ my ($self, $substvar, $sym) = @_;
+ return undef;
+}
+
+1;
Property changes on: branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handler.pm
___________________________________________________________________
Name: svn:mergeinfo
+
Modified: branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handlers.pm
===================================================================
--- branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handlers.pm 2008-12-13 00:01:47 UTC (rev 12926)
+++ branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/Debian/PkgKde/SymHelper/Handlers.pm 2008-12-13 00:04:19 UTC (rev 12927)
@@ -4,9 +4,7 @@
use warnings;
use File::Temp qw(tempfile);
use Debian::PkgKde::SymHelper::Handler::VirtTable;
-use Debian::PkgKde::SymHelper::Handler::size_t;
-use Debian::PkgKde::SymHelper::Handler::ssize_t;
-use Debian::PkgKde::SymHelper::Handler::qreal;
+use Debian::PkgKde::SymHelper::Handler::SimpleTypeDiff;
use Debian::PkgKde::SymHelper::Symbol;
use Debian::PkgKde::SymHelper::Symbol2;
use Debian::PkgKde::SymHelper qw(info error warning);
@@ -17,9 +15,9 @@
new Debian::PkgKde::SymHelper::Handler::VirtTable,
);
my @multiple_substitution = (
- new Debian::PkgKde::SymHelper::Handler::size_t,
- new Debian::PkgKde::SymHelper::Handler::ssize_t,
- new Debian::PkgKde::SymHelper::Handler::qreal,
+ new Debian::PkgKde::SymHelper::Handler::SimpleTypeDiff::size_t,
+ new Debian::PkgKde::SymHelper::Handler::SimpleTypeDiff::ssize_t,
+ new Debian::PkgKde::SymHelper::Handler::SimpleTypeDiff::qreal,
);
my @substitution = (
@standalone_substitution,
@@ -48,7 +46,7 @@
sub add_symbol_file {
my ($self, $symfile, $arch) = @_;
- $arch = Debian::PkgKde::SymHelper::Handler::Base::get_host_arch() unless (defined $arch);
+ $arch = Debian::PkgKde::SymHelper::Handler::get_host_arch() unless (defined $arch);
$self->{symfiles}{$arch} = $symfile;
$self->{main_arch} = $arch unless ($self->{main_arch});
@@ -61,7 +59,7 @@
sub set_main_arch {
my ($self, $arch) = @_;
- $arch = Debian::PkgKde::SymHelper::Handler::Base::get_host_arch() unless defined $arch;
+ $arch = Debian::PkgKde::SymHelper::Handler::get_host_arch() unless defined $arch;
$self->{main_arch} = $arch if ($self->get_symfile($arch));
}
@@ -390,14 +388,14 @@
# Process lost symbols
$insymfile->merge_lost_symbols_to_template($archsymfile, $newsymfile);
- # Now process new symbols. We need to a create template from them
+ # Now process new symbols. We need to create a template from them
if (my $dummysymfile = $newsymfile->get_new_symbols_as_symbfile($archsymfile)) {
- $dummysymfile->dump(*STDOUT);
$self->add_symbol_file($dummysymfile, $arch);
$self->preprocess();
# Handle min version
$dummysymfile->handle_min_version($newminver);
+ $dummysymfile->dump(*STDOUT);
# Create a symbols template for our dummy file
$dummysymfile = $self->create_template_standalone();
Modified: branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/pkgkde-symbolshelper
===================================================================
--- branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/pkgkde-symbolshelper 2008-12-13 00:01:47 UTC (rev 12926)
+++ branches/kde4.2/packages/pkg-kde-tools/trunk/symbolshelper/pkgkde-symbolshelper 2008-12-13 00:04:19 UTC (rev 12927)
@@ -53,7 +53,7 @@
use Getopt::Long;
use Debian::PkgKde::SymHelper qw(info error warning);
-use Debian::PkgKde::SymHelper::Handler::Base;
+use Debian::PkgKde::SymHelper::Handler;
use Debian::PkgKde::SymHelper::SymbFile;
use Debian::PkgKde::SymHelper::Handlers;
@@ -62,7 +62,8 @@
######## Option processing ##################
my $opt_out;
my $opt_in;
-my $opt_arch = Debian::PkgKde::SymHelper::Handler::Base::get_host_arch();
+my $opt_package;
+my $opt_arch = Debian::PkgKde::SymHelper::Handler::get_host_arch();
my $opt_version;
sub verify_opt_arch {
@@ -86,6 +87,7 @@
map { $args{$_} = 1 } split(//, $args);
$res{"output|o=s"} = \$opt_out if ($args{o});
$res{"input|i=s"} = \&verify_opt_in if ($args{i});
+ $res{"package|p=s"} = \$opt_package if ($args{p});
$res{"architecture|a=s"} = \&verify_opt_arch if ($args{a});
$res{"version|v:s"} = \$opt_version if ($args{v});
@@ -94,13 +96,16 @@
sub check_mandatory_options {
my $args = shift;
+ my $msg = shift;
my %args;
-
+
+ $msg = "" if (!defined $msg);
map { $args{$_} = 1 } split(//, $args);
- error("input file option (-i) is mandatory") if (!$opt_in && $args{i});
- error("output file option (-o) is mandatory") if (!$opt_out && $args{o});
- error("architecture option (-a) is mandatory") if (!$opt_arch && $args{a});
- error("version option (-v) is mandatory") if (!$opt_version && $args{v});
+ error("input file option (-i) is mandatory $msg") if (!$opt_in && $args{i});
+ error("output file option (-o) is mandatory $msg") if (!$opt_out && $args{o});
+ error("package name option (-p) is mandatory $msg") if (!$opt_package && $args{p});
+ error("architecture option (-a) is mandatory $msg") if (!$opt_arch && $args{a});
+ error("version option (-v) is mandatory $msg") if (!$opt_version && $args{v});
while (@_) {
my $val = shift;
@@ -127,13 +132,14 @@
sub out_symfile {
my $symfile = shift;
- return unless $symfile;
+ return 1 unless $symfile;
if ($opt_out) {
$symfile->save($opt_out, 2);
} else {
$symfile->dump(*STDOUT, 2);
}
+ return 0;
}
sub print_symbol_list($$) {
@@ -181,7 +187,7 @@
$template = $handlers->create_template();
}
$template->handle_min_version($opt_version, 1);
- out_symfile($template);
+ return out_symfile($template);
} else {
error("no properly named symbol files found in $opt_dir");
}
@@ -191,46 +197,48 @@
}
sub subcommand_symbolfile {
- my $opt_package;
my %opts = (
- get_common_options("oia"),
- "package|p=s" => \$opt_package,
+ get_common_options("oipa"),
);
if (GetOptions(%opts)) {
+ check_mandatory_options("i", "when package (-p) is not specified") unless ($opt_package);
unless ($opt_in) {
$opt_in = "debian/$opt_package.symbols.in";
error("symbol template file '$opt_in' was not found for package '$opt_package'") unless (-r $opt_in);
}
- out_symfile($handlers->substitute($opt_in, $opt_arch));
- return 0;
+ return out_symfile($handlers->substitute($opt_in, $opt_arch));
}
return 1;
}
sub subcommand_patch {
- my $opt_patch;
+ my $opt_diff;
my %opts = (
- get_common_options("oiav"),
- "patch|p=s" => \$opt_patch,
+ get_common_options("oipav"),
+ "diff|d=s" => \$opt_diff,
);
if (GetOptions(%opts)) {
- check_mandatory_options("i");
+ check_mandatory_options("i", "when package (-p) is not specified") unless ($opt_package);
+ unless ($opt_in) {
+ $opt_in = "debian/$opt_package.symbols.in";
+ error("symbol template file '$opt_in' was not found for package '$opt_package'") unless (-r $opt_in);
+ }
+ $opt_out = $opt_in if (!$opt_out && -w $opt_in);
- $opt_patch = "-" unless ($opt_patch);
+ $opt_diff = "-" unless ($opt_diff);
# Open patch
- open(PATCHINPUT, $opt_patch) or error("unable to open patch '$opt_patch' for reading");
- out_symfile($handlers->apply_patch_to_template(*PATCHINPUT, $opt_in, $opt_arch, $opt_version));
- close(PATCHINPUT);
- return 0;
+ open(DIFFINPUT, $opt_diff) or error("unable to open patch '$opt_diff' for reading");
+ my $ret = out_symfile($handlers->apply_patch_to_template(*DIFFINPUT, $opt_in, $opt_arch, $opt_version));
+ close(DIFFINPUT);
+ return $ret;
}
return 1;
}
sub subcommand_postgensymbols {
- my ($infile, $outfile, $opt_package);
+ my ($infile, $outfile);
my %opts = (
- get_common_options("oiav"),
- "package|p=s" => \$opt_package,
+ get_common_options("oipav"),
);
if (GetOptions(%opts)) {
error("specify either package name or input template and output symbol files")
@@ -282,11 +290,10 @@
# Boilerplate for the common subcommand handler
sub subcommand_boilerplate {
my %opts = (
- get_common_options("oiav"),
+ get_common_options("oipav"),
);
if (GetOptions(%opts)) {
-# check_mandatory_options("o",
-# $opt_dir, "symbol file directory option (-d) is mandatory");
+# check_mandatory_options("o");
return 0;
}
return 1;
More information about the pkg-kde-commits
mailing list