summaryrefslogtreecommitdiff
path: root/postprocess
diff options
context:
space:
mode:
authorBjoern Michaelsen <bjoern.michaelsen@canonical.com>2011-10-21 00:14:43 +0200
committerBjoern Michaelsen <bjoern.michaelsen@canonical.com>2011-10-21 11:54:14 +0200
commit39f3d87152f963510ac71d2f0b346188b9965c2f (patch)
tree6174648f10c4823850ae9ff40fc03693c7fd8b0b /postprocess
parent05a33692a084f59f2fae0a535131133d2a3f6b72 (diff)
remove checkdeliver -- we do not generate deliverlogs anyway
Diffstat (limited to 'postprocess')
-rw-r--r--postprocess/checkdeliver/checkdeliver.pl306
-rw-r--r--postprocess/checkdeliver/makefile.mk44
-rw-r--r--postprocess/prj/build.lst1
3 files changed, 0 insertions, 351 deletions
diff --git a/postprocess/checkdeliver/checkdeliver.pl b/postprocess/checkdeliver/checkdeliver.pl
deleted file mode 100644
index e6a1e19eb7f3..000000000000
--- a/postprocess/checkdeliver/checkdeliver.pl
+++ /dev/null
@@ -1,306 +0,0 @@
-:
-eval 'exec perl -wS $0 ${1+"$@"}'
- if 0;
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org 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 Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-#
-#
-# checkdeliver.pl - compare delivered files on solver with those on SRC_ROOT
-#
-
-use strict;
-use Getopt::Long;
-use File::stat;
-use IO::Handle;
-
-use lib ("$ENV{SOLARENV}/bin/modules");
-
-#### globals #####
-
-my $err = 0;
-my $srcrootdir = '';
-my $solverdir = '';
-my $platform = '';
-my $logfile = '';
-my $milestoneext = '';
-my $local_env = 0;
-my @exceptionmodlist = (
- "postprocess",
- "instset.*native",
- "smoketest.*native",
- "testautomation",
- "testgraphical"
- ); # modules not yet delivered
-
-#### main #####
-
-print_logged("checkdeliver.pl - checking delivered binaries\n");
-
-get_globals(); # get global variables
-my $deliverlists_ref = get_deliver_lists(); # get deliver log files
-foreach my $listfile ( @$deliverlists_ref ) {
- $err += check( $listfile ); # check delivered files
-}
-print_logged("OK\n") if ( ! $err );
-exit $err;
-
-#### subroutines ####
-
-sub get_globals
-# set global variables using environment variables and command line options
-{
- my $help;
-
- # set global variables according to environnment
- $platform = $ENV{INPATH};
- $srcrootdir = "$ENV{SRC_ROOT}/clone";
- $solverdir = $ENV{SOLARVERSION};
- $milestoneext = $ENV{UPDMINOREXT};
-
- # override environment with command line options
- GetOptions('help' => \$help,
- 'l=s' => \$logfile,
- 'p=s' => \$platform
- ) or usage (1);
-
- if ( $help ) {
- usage(0);
- }
-
- #do some sanity checks
- if ( ! ( $platform && $srcrootdir && $solverdir ) ) {
- die "Error: please set environment\n";
- }
- if ( ! -d $solverdir ) {
- die "Error: cannot find solver directory '$solverdir'\n";
- }
-
- # Check for local env., taken from solenv/bin/modules/installer/control.pm
- # In this case the content of SOLARENV starts with the content of SOL_TMP
- my $solarenv = "";
- my $sol_tmp;
- if ( $ENV{'SOLARENV'} ) {
- $solarenv = $ENV{'SOLARENV'};
- }
- if ( $ENV{'SOL_TMP'} ) {
- $sol_tmp = $ENV{'SOL_TMP'};
- }
- if ( defined $sol_tmp && ( $solarenv =~ /^\s*\Q$sol_tmp\E/ )) {
- # Content of SOLARENV starts with the content of SOL_TMP: Local environment
- $local_env = 1;
- }
-}
-
-sub get_deliver_lists
-# find deliver log files on solver
-{
- my @files;
- my $pattern = "$solverdir/$platform/inc";
- $pattern .= "$milestoneext" if ( $milestoneext );
- $pattern .= "/*/deliver.log";
-
- @files = glob( $pattern );
- # do not check modules not yet built
- foreach my $exceptionpattern ( @exceptionmodlist ) {
- @files = grep ! /\/$exceptionpattern\//, @files;
- }
- if ( ! @files ) {
- print_logged( "Error: cannot find deliver log files\n" );
- exit 1;
- }
- return \@files;
-}
-
-sub check
-# reads deliver log file given as parameter and compares pairs of files listed there.
-{
- my $listname = shift;
- my $error = 0;
- my %delivered;
- my $module;
- my $repository;
- STDOUT->autoflush(1);
- # which module are we checking?
- if ( $listname =~ /\/([\w-]+?)\/deliver\.log$/o) {
- $module = $1;
- } else {
- print_logged( "Error: cannot determine module name from \'$listname\'\n" );
- return 1;
- }
-
- if ( -z $listname ) {
- print_logged( "Warning: empty deliver log file \'$listname\'. Module '$module' not delivered correctly?\n\n" );
- return 0;
- }
-
- # read deliver log file
- if ( ! open( DELIVERLOG, "< $listname" ) ) {
- print_logged( "Error: cannot open file \'$listname\'\n$!" );
- exit 2;
- }
- while ( <DELIVERLOG> ) {
- next if ( /^LINK / );
- # What's this modules' repository?
- if ( /COPY\s+(.+?)\/$module\/prj\/build.lst/ ) {
-# if ( /COPY (\w[\w\s-]*?)\/$module\/prj\/build.lst/ ) {
- $repository = $1;
- }
- # For now we concentrate on binaries, located in 'bin' or 'lib' and 'misc/build/<...>/[bin|lib]'.
- next if ( (! /\/$module\/$platform\/[bl]i[nb]\//) && (! /\/$module\/$platform\/misc\/build\//));
- next if (! /[bl]i[nb]/);
- next if ( /\.html$/ );
- chomp;
- if ( /^\w+? (\S+) (\S+)\s*$/o ) {
- my $origin = $1;
- $delivered{$origin} = $2;
- } else {
- print_logged( "Warning: cannot parse \'$listname\' line\n\'$_\'\n" );
- }
- }
- close( DELIVERLOG );
-
- if ( ! $repository ) {
- print_logged( "Error parsing \'$listname\': cannot determine repository. Module '$module' not delivered correctly?\n\n" );
- $error ++;
- return $error;
- }
-
- my $path = "$srcrootdir/$repository/$module";
- # is module physically accessible?
- # there are valid use cases where we build against a prebuild solver whithout having
- # all modules at disk
- my $canread = is_moduledirectory( $path );
- if ( ! $canread ) {
- # do not bother about non existing modules in local environment
- if ( $local_env ) {
- return $error;
- }
- # in a master build it is considered an error to have deliver leftovers
- # from non exising (removed) modules
- print_logged( "Error: module '$module' not found.\n" );
- $error++;
- return $error;
- }
- if ( $canread == 2 ) {
- # module is linked and not built, no need for checking
- # should not happen any more nowadays ...
- return $error;
- }
-
- # compare all delivered files with their origin
- # no strict 'diff' allowed here, as deliver may alter files (hedabu, strip, ...)
- foreach my $file ( sort keys %delivered ) {
- my $ofile = "$srcrootdir/$file";
- my $sfile = "$solverdir/$delivered{$file}";
- if ( $milestoneext ) {
- # deliver log files do not contain milestone extension on solver
- $sfile =~ s/\/$platform\/(...)\//\/$platform\/$1$milestoneext\//;
- }
- my $orgfile_stats = stat($ofile);
- next if ( -d _ ); # compare files, not directories
- my $delivered_stats = lstat($sfile);
- next if ( -d _ ); # compare files, not directories
- if ( $^O !~ /^MSWin/ ) {
- # windows does not know about links.
- # Therefore lstat() is not a lstat, and the following check would break
- next if ( -l _ ); # compare files, not links
- }
-
- if ( $orgfile_stats && $delivered_stats ) {
- # Stripping (on unix like platforms) and signing (for windows)
- # changes file size. Therefore we have to compare for file dates.
- # File modification time also can change after deliver, f.e. by
- # rebasing, but only increase. It must not happen that a file on
- # solver is older than it's source.
- if ( ( $orgfile_stats->mtime - $delivered_stats->mtime ) gt 1 ) {
- print_logged( "Error: " );
- print_logged( "delivered file is older than it's source '$ofile' '$sfile'\n" );
- $error ++;
- }
- } elsif ( !$orgfile_stats && $delivered_stats ) {
- # This is not an error if we have a solver and did not build the
- # module!
- } elsif ( !$orgfile_stats && !$delivered_stats ) {
- # This is not necessarily an error.
- # Instead, this seems to be an error of the deliver.log file.
- } else {
- print_logged( "Error: no such file '$ofile'\n" ) if ( ! $orgfile_stats );
- print_logged( "Error: no such file '$sfile'\n" ) if ( ! $delivered_stats );
- $error ++;
- }
- }
- if ( $error ) {
- print_logged( "$error errors found: Module '$module' not delivered correctly?\n\n" );
- }
- STDOUT->autoflush(0);
- return $error;
-}
-
-sub is_moduledirectory
-# Test whether we find a module having a d.lst file at a given path.
-# Return value: 1: path is valid directory
-# 2: path.link is a valid link
-# 0: module not found
-{
- my $dirname = shift;
- if ( -e "$dirname/prj/d.lst" ) {
- return 1;
- } elsif ( -e "$dirname.link/prj/d.lst" ) {
- return 2
- } else {
- return 0;
- }
-}
-
-sub print_logged
-# Print routine.
-# If a log file name is specified with '-l' option, print_logged() prints to that file
-# as well as to STDOUT. If '-l' option is not set, print_logged() just writes to STDOUT
-{
- my $message = shift;
- print "$message";
- if ( $logfile ) {
- open ( LOGFILE, ">> $logfile" ) or die "Can't open logfile '$logfile'\n";
- print LOGFILE "$message";
- close ( LOGFILE) ;
- }
-}
-
-
-sub usage
-# print usage message and exit
-{
- my $retval = shift;
- print STDERR "Usage: checkdeliver.pl [-h] [-p <platform>]\n";
- print STDERR "Compares delivered files on solver with original ones in build tree\n";
- print STDERR "Options:\n";
- print STDERR " -h print this usage message\n";
- print STDERR " -p platform specify platform\n";
-
- exit $retval;
-}
-
diff --git a/postprocess/checkdeliver/makefile.mk b/postprocess/checkdeliver/makefile.mk
deleted file mode 100644
index ad6f5c0db524..000000000000
--- a/postprocess/checkdeliver/makefile.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org 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 Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-PRJ=..
-
-
-
-PRJNAME=postprocess
-TARGET=checkdeliver
-
-.INCLUDE : settings.mk
-
-.INCLUDE : target.mk
-
-ALLTAR : $(MISC)$/checkdeliver.done
-
-$(MISC)$/checkdeliver.done .PHONY:
- # FIXME: the output was always ignored until ooo320-m15; it would be nice to check it though
- # $(PERL) checkdeliver.pl && $(TOUCH) $@
- $(TOUCH) $@
-
diff --git a/postprocess/prj/build.lst b/postprocess/prj/build.lst
index d1708510f7a4..eb6513d28b58 100644
--- a/postprocess/prj/build.lst
+++ b/postprocess/prj/build.lst
@@ -1,7 +1,6 @@
po postprocess :: accessibility BINFILTER:binfilter configmgr CRASHREP:crashrep CT2N:ct2n dtrans embeddedobj embedserv EPM:epm DESKTOP:extensions extras fpicker HELP:helpcontent2 io LIBRSVG:librsvg lingucomponent ODK:odk officecfg psprint_config remotebridges scaddins scp2 DESKTOP:setup_native sysui testtools ucb UnoControls ure wizards MORE_FONTS:more_fonts DICTIONARIES:dictionaries PYUNO:pyuno readlicense_oo DESKTOP:unodevtools JFREEREPORT:jfreereport REPORTBUILDER:reportbuilder LANGUAGETOOL:languagetool SDEXT:sdext MYSQLC:mysqlc NLPSOLVER:nlpsolver STLPORT:stlport LIBXSLT:libxslt tail_build NULL
po postprocess usr1 - all po_mkout NULL
po postprocess\checkxml nmake - all po_checkxml NULL
-po postprocess\checkdeliver nmake - all po_checkdlv NULL
po postprocess\packconfig nmake - all po_packconfig po_checkxml NULL
po postprocess\packregistry nmake - all po_packregistry NULL
po postprocess\packcomponents nmake - all po_packcomponents NULL