--- chromium-browser-4.0.303.0~svn20100120r36627.orig/chromium-browser-4.0.303.0~svn20100120r36627-source.tar.lzma.cdbs-config_list +++ chromium-browser-4.0.303.0~svn20100120r36627/chromium-browser-4.0.303.0~svn20100120r36627-source.tar.lzma.cdbs-config_list @@ -0,0 +1,62 @@ +src/native_client/tests/ruby/appendix/config.h +src/native_client/src/third_party/libxt/config.guess +src/native_client/src/third_party/libxt/config.h.in +src/native_client/src/third_party/libxt/config.sub +src/sdch/linux/config.h +src/sdch/mac/config.h +src/sdch/open-vcdiff/vsprojects/config.h +src/sdch/open-vcdiff/src/config.h.in +src/sdch/open-vcdiff/config.guess +src/sdch/open-vcdiff/config.sub +src/third_party/WebKit/WebKitTools/pywebsocket/test/config.py +src/third_party/WebKit/WebCore/config.h +src/third_party/WebKit/JavaScriptCore/config.h +src/third_party/ffmpeg/source/config/ChromeOS/linux/x64/config.h +src/third_party/ffmpeg/source/config/ChromeOS/linux/ia32/config.h +src/third_party/ffmpeg/source/config/ChromeOS/linux/arm/config.h +src/third_party/ffmpeg/source/config/Chrome/linux/x64/config.h +src/third_party/ffmpeg/source/config/Chrome/linux/ia32/config.h +src/third_party/ffmpeg/source/config/Chrome/linux/arm/config.h +src/third_party/ffmpeg/source/config/Chrome/mac/ia32/config.h +src/third_party/ffmpeg/source/config/Chromium/linux/x64/config.h +src/third_party/ffmpeg/source/config/Chromium/linux/ia32/config.h +src/third_party/ffmpeg/source/config/Chromium/linux/arm/config.h +src/third_party/ffmpeg/source/config/Chromium/mac/ia32/config.h +src/third_party/ffmpeg/source/config/ChromiumOS/linux/x64/config.h +src/third_party/ffmpeg/source/config/ChromiumOS/linux/ia32/config.h +src/third_party/ffmpeg/source/config/ChromiumOS/linux/arm/config.h +src/third_party/libjingle/overrides/config.h +src/third_party/libjingle/files/config.h +src/third_party/harfbuzz/config.h +src/third_party/tcmalloc/vendor/src/windows/config.h +src/third_party/tcmalloc/vendor/src/config.h.in +src/third_party/tcmalloc/vendor/config.guess +src/third_party/tcmalloc/vendor/config.sub +src/third_party/tcmalloc/chromium/src/config.h +src/third_party/tcmalloc/chromium/src/windows/config.h +src/third_party/tcmalloc/chromium/src/config.h.in +src/third_party/tcmalloc/tcmalloc/src/windows/config.h +src/third_party/tcmalloc/tcmalloc/src/config.h.in +src/third_party/tcmalloc/tcmalloc/config.guess +src/third_party/tcmalloc/tcmalloc/config.sub +src/third_party/yasm/source/patched-yasm/Mkfiles/vc9/config.h +src/third_party/yasm/source/patched-yasm/Mkfiles/dj/config.h +src/third_party/yasm/source/patched-yasm/config.h.in +src/third_party/yasm/source/patched-yasm/config/config.guess +src/third_party/yasm/source/patched-yasm/config/config.rpath +src/third_party/yasm/source/patched-yasm/config/config.sub +src/third_party/yasm/source/config/linux/config.h +src/third_party/yasm/source/config/mac/config.h +src/third_party/libevent/linux/config.h +src/third_party/libevent/mac/config.h +src/third_party/libevent/config.guess +src/third_party/libevent/config.h.in +src/third_party/libevent/config.sub +src/third_party/icu/source/config.guess +src/third_party/icu/source/config.sub +src/third_party/pywebsocket/test/config.py +src/third_party/sqlite/config.guess +src/third_party/sqlite/config.h.in +src/third_party/sqlite/config.sub +src/third_party/protobuf2/config.h +src/third_party/protobuf2/src/vsprojects/config.h --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/chromium-browser.dirs +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/chromium-browser.dirs @@ -0,0 +1,2 @@ +usr/lib/chromium-browser/plugins +usr/lib/chromium-browser/resources --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/chromium-browser.install +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/chromium-browser.install @@ -0,0 +1,8 @@ +debian/tmp/etc +debian/tmp/usr/bin +debian/tmp/usr/lib/chromium-browser/chrom* +debian/tmp/usr/lib/chromium-browser/xdg-settings +#debian/tmp/usr/lib/chromium-browser/icudt38l.dat +debian/tmp/usr/lib/chromium-browser/locales/* +debian/chromium-browser.desktop usr/share/applications +debian/chromium-browser.xml usr/share/gnome-control-center/default-apps --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/run-test.sh +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/run-test.sh @@ -0,0 +1,123 @@ +#!/bin/sh + +# Authors: +# Fabien Tassin +# License: GPLv2 or later + +usage () { + echo "Usage: "`basename $0`" [-x] [-t sec] test_file log_dir [filter]" + echo + echo " -x Run test_file under xvfb" + echo " -t sec Timeout in seconds after which we kill the test" +} + +timeout=600 +want_x=0 +while [ $# -gt 0 ]; do + case "$1" in + -h | --help | -help ) + usage + exit 0 ;; + -t ) + shift + if [ $# = 0 ] ; then + echo Error: -t needs an argument + exit 1 + fi + timeout=$1 + shift ;; + -x ) + want_x=1 + shift ;; + -- ) # Stop option prcessing + shift + break ;; + * ) + break ;; + esac +done + +TEST=$1 +LOGDIR=$2 +FILTER=$3 + +if [ "Z$TEST" = "Z" ] ; then + usage + exit 1 +fi + +if [ "Z$LOGDIR" = "Z" ] ; then + usage + exit 1 +fi + +if [ ! -x $TEST ] ; then + echo "Error: $TEST must be an executable" + exit 1 +fi + +if [ ! -d $LOGDIR ] ; then + echo "Error: $LOGDIR is not a directory" + exit 1 +fi + +if [ $want_x -eq 1 ] ; then + XVFB="/usr/bin/xvfb-run -a -e $LOGDIR/xvfb.log" + RTEST="$XVFB $TEST" + rm -f $LOGDIR/xvfb.log +else + XVFB="" + RTEST=$TEST +fi + +if [ "Z$FILTER" != Z ] ; then + FILTER="--gtest_filter=$FILTER" + echo "# Running '$RTEST $FILTER' ..." +else + echo "# Running '$RTEST' ..." +fi + +T1=$(date +%s) +timeout $timeout $XVFB $TEST $FILTER > $LOGDIR/$TEST.txt 2>&1 +RET=$? +DELTA=$(expr $(date +%s) - $T1) +echo "# '$RTEST $FILTER' returned with error code $RET (after $DELTA sec)" + +if [ $(grep -c 'Global test environment tear-down' $LOGDIR/$TEST.txt) -eq 1 ] ; then + echo "## Results" + sed -e '1,/Global test environment tear-down/d' < $LOGDIR/$TEST.txt +else + if [ $(grep -c ' FAILED ' $LOGDIR/$TEST.txt) -ne 0 ] ; then + echo + echo "## list of FAILED tests:" + grep ' FAILED ' $LOGDIR/$TEST.txt + fi +fi +echo +if [ $RET -ne 0 ] ; then + echo "=== Logs ===" + cat $LOGDIR/$TEST.txt + if [ "Z$XVFB" != Z ] ; then + echo "=== xvfb logs ===" + cat $LOGDIR/xvfb.log + fi + echo "==== end of logs ===" + # debug in gdb + if [ $want_x -eq 1 ] ; then + GDB="/usr/bin/xvfb-run -a gdb" + else + GDB=gdb + fi + echo "run $FILTER\necho ------------------------------------------------\\\\n\necho (gdb) bt\\\\n\nbt\n" > /tmp/gdb-cmds-$$.txt + echo "echo ------------------------------------------------\\\\n\necho (gdb) bt f\\\\n\nbt f\n" >> /tmp/gdb-cmds-$$.txt + T2=$(date +%s) + timeout $timeout $GDB -n -batch -x /tmp/gdb-cmds-$$.txt $TEST > $LOGDIR/$TEST--gdb.txt 2>&1 + RET=$? + DELTA=$(expr $(date +%s) - $T2) + echo "# '$GDB -n -batch -x /tmp/gdb-cmds-$$.txt $TEST' returned with error code $RET (after $DELTA sec)" + rm -f /tmp/gdb-cmds-$$.txt + echo "---- crash logs ----" + grep -E '^Program received signal' < $LOGDIR/$TEST--gdb.txt + sed -e '1,/^Program received signal/d' < $LOGDIR/$TEST--gdb.txt +fi +killall -q -v -9 $(basename $TEST) Xvfb timeout --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/copyright.dep5-head +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/copyright.dep5-head @@ -0,0 +1,13 @@ +Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135 +Name: Chromium Browser +Maintainer: Chromium Ubuntu Team +Source: http://src.chromium.org/viewvc/chrome/ + +Files: debian/* +Copyright: 2009, Fabien Tassin +License: BSD-Style (3-clause) + +Files: debian/patches/* +Copyright: 2009, the patch authors +License: Same as patched sources + --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/compat +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/compat @@ -0,0 +1 @@ +5 --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/chromium-browser.sh +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/chromium-browser.sh @@ -0,0 +1,86 @@ +#!/bin/sh + +# Chromium launcher + +# Authors: +# Fabien Tassin +# License: GPLv2 or later + +APPNAME=chromium-browser +LIBDIR=/usr/lib/chromium-browser +GDB=/usr/bin/gdb + +usage () { + echo "$APPNAME [-h|--help] [-g|--debug] [options] [URL]" + echo + echo " -g or --debug Start within $GDB" + echo " -h or --help This help screen" + echo + echo " Other supported options are:" + MANWIDTH=80 man chromium-browser | sed -e '1,/OPTIONS/d; /ENVIRONMENT/,$d' + echo " See 'man chromium-browser' for more details" +} + +if [ -f /etc/$APPNAME/default ] ; then + . /etc/$APPNAME/default +fi + +# Prefer user defined CHROMIUM_USER_FLAGS (fron env) over system +# default CHROMIUM_FLAGS (from /etc/$APPNAME/default) +CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-"$CHROMIUM_FLAGS"} + +# FFmpeg needs to know where its libs are located +if [ "Z$LD_LIBRARY_PATH" != Z ] ; then + LD_LIBRARY_PATH=$LIBDIR:$LD_LIBRARY_PATH +else + LD_LIBRARY_PATH=$LIBDIR +fi +export LD_LIBRARY_PATH + +# For the Default Browser detection to work, we need to give access +# to xdg-settings. Also set CHROME_WRAPPER in case xdg-settings is +# not able to do anything useful +export PATH="$LIBDIR:$PATH" +export CHROME_WRAPPER=true + +# Set CHROME_VERSION_EXTRA visible in the About dialog and in about:version +export CHROME_VERSION_EXTRA=Ubuntu + +want_debug=0 +while [ $# -gt 0 ]; do + case "$1" in + -h | --help | -help ) + usage + exit 0 ;; + -g | --debug ) + want_debug=1 + shift ;; + -- ) # Stop option prcessing + shift + break ;; + * ) + break ;; + esac +done + +if [ $want_debug -eq 1 ] ; then + if [ ! -x $GDB ] ; then + echo "Sorry, can't find usable $GDB. Please install it." + exit 1 + fi + tmpfile=`mktemp /tmp/chromiumargs.XXXXXX` || { echo "Cannot create temporary file" >&2; exit 1; } + trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15 + echo "set args $CHROMIUM_FLAGS ${1+"$@"}" > $tmpfile + echo "# Env:" + echo "# LD_LIBRARY_PATH=$LD_LIBRARY_PATH" + echo "# PATH=$PATH" + echo "# GTK_PATH=$GTK_PATH" + echo "# CHROMIUM_USER_FLAGS=$CHROMIUM_USER_FLAGS" + echo "# CHROMIUM_FLAGS=$CHROMIUM_FLAGS" + echo "$GDB $LIBDIR/$APPNAME -x $tmpfile" + $GDB "$LIBDIR/$APPNAME" -x $tmpfile + exit $? +else + exec $LIBDIR/$APPNAME $CHROMIUM_FLAGS "$@" +fi + --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/TODO +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/TODO @@ -0,0 +1,4 @@ +* Do something about amd64 +* Add an 'install' target to scons: see http://code.google.com/p/chromium/issues/detail?id=4451 +* Run the test suite +* Use system libv8 --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/licensecheck.pl +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/licensecheck.pl @@ -0,0 +1,384 @@ +#!/usr/bin/perl -w + +# Check licenses of a large subtree. It uses licensecheck from devscripts +# then postprocess the results +# (c) 2009, Fabien Tassin + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2, or (at +# your option) any later version. +# +# This program 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 +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +use strict; +use Getopt::Std; + +my $white_listed_licenses = [ + 'global BSD-style Chromium', + 'global BSD-style libjingle', + 'Public domain', + 'Apache (v2.0)', + 'Apache (v2.0) GENERATED FILE', + 'Apache (v2.0) BSD (2 clause)', + 'BSD (2 clause)', + 'BSD (2 clause) GENERATED FILE', + 'BSD (2 clause)/LGPL 2 (or later)/LGPL 2.1 (or later)', + 'BSD (2 or 3 clause)', + 'BSD (3 clause)', + 'BSD (3 clause) GENERATED FILE', + 'BSD (2 clause) MIT/X11 (BSD like)', + 'BSL (v1)', + 'BSL (v1) BSD (3 clause) GENERATED FILE', + 'ICU-License', + 'GPL (with incorrect FSF address)', + 'GPL (unversioned/unknown version)', + 'GPL (v2 or later)', + 'GPL (v2 or later) compatible', + 'GPL (v2 or later) (with incorrect FSF address)', + 'GPL (v2 or later) GENERATED FILE', + 'GPL 2.0/LGPL 2.1/MPL 1.1 tri-license', + 'harfbuzz-License', + 'ISC GENERATED FILE', + 'ISC', + 'LGPL', + 'LGPL (v2)', + 'LGPL (v2 or later)', + 'LGPL (v2 or later) GENERATED FILE', + 'LGPL (v2.1 or later) GENERATED FILE', + 'LGPL (v2 or later) (with incorrect FSF address)', + 'LGPL (v2 or later) (with incorrect FSF address) GENERATED FILE', + 'LGPL (v2.1)', + 'LGPL (v2.1 or later)', + 'LGPL (v2.1 or later) (with incorrect FSF address)', + 'MIT/X11 (BSD like)', + 'MIT/X11 (BSD like) GENERATED FILE', + 'MIT/X11-like (expat)', + 'MPL (v1.1,) GPL (unversioned/unknown version) LGPL (v2.1 or later)', + 'MPL (v1.1,) GPL (unversioned/unknown version) LGPL (v2 or later)', + 'MPL (v1.1,) BSD (3 clause) GPL (unversioned/unknown version) LGPL (v2.1 or later)', + 'MPL (v1.1) GPL (unversioned/unknown version)', + 'MPL (v1.1) GPL (unversioned/unknown version) GENERATED FILE', + 'MPL 1.1/GPL 2.0/LGPL 2.1', + 'zlib/libpng', + 'GENERATED FILE', + '*No copyright* Apache (v2.0)', + '*No copyright* BSD (2 clause)', + '*No copyright* GPL (v2 or later)', + '*No copyright* LGPL (v2 or later)', + '*No copyright* LGPL (v2.1 or later)', + '*No copyright* GENERATED FILE', + '*No copyright* Public domain', + 'ZERO-CODE-FILES or GENERATED', +]; + +my $manually_identified = { + '/base/third_party/dmg_fp/' => [ + 'MIT/X11 (BSD like)', + 'Copyright (c) 1991, 2000, 2001 by Lucent Technologies.' + ], + '/base/third_party/purify/pure_api.c' => [ + 'Public domain', + 'Explicitly no copyright' + ], + '/base/third_party/purify/pure.h' => [ + 'Public domain', + '(C) Copyright IBM Corporation. 2006, 2006. All Rights Reserved.' + ], + '/third_party/sqlite/' => [ + 'Public domain', + 'The author disclaims all copyright. The library is in the public domain.' + ], + '/src/chrome/' => [ + 'BSD (3 clause)', + 'No copyright' + ], + '/depot_tools/tests/pymox/' => [ + 'Apache (v2.0)', + 'No copyright' + ], + '/googleurl/' => [ + 'BSD (3 clause)', + 'No copyright' + ], + '/gpu/command_buffer/common/GLES2/' => [ + 'SGI Free Software B License (v2.0)', + 'No copyright' + ], + '/media/tools/qt_faststart/qt_faststart.c' => [ + 'Public domain', + 'No copyright' + ], + '/native_client/src/third_party/libxt/' => [ + 'MIT/X11 (BSD like)', + 'No copyright' + ], + '/native_client/' => [ + 'BSD (3 clause)', + 'No copyright' + ], + '/v8/test/cctest/' => [ + 'BSD (3 clause)', + 'No copyright' + ], + '/third_party/WebKit/WebKitLibraries/WebCoreSQLite3/' => [ + 'Public domain', + 'The author disclaims all copyright. The library is in the public domain.' + ], + '/third_party/zlib/' => [ + 'zlib/libpng', + 'This software is provided \'as-is\', without any express or implied' + ], + '/third_party/lzma_sdk/' => [ + 'Public domain', + 'LZMA SDK is placed in the public domain.' + ], + '/third_party/hunspell/src/hunspell/' => [ + 'MPL 1.1/GPL 2.0/LGPL 2.1', + 'The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License")' + ], + '/webkit/data/layout_tests' => [ + 'global BSD-style Webkit/LGPL 2.1', + 'http://webkit.org/projects/goals.html' + ], + '/third_party/WebKit/JavaScriptCore/icu' => [ + 'ICU-License', + 'Copyright (c) 1995-2006 International Business Machines Corporation and others' + ], + '/third_party/WebKit/WebCore/icu/' => [ + 'ICU-License', + 'Copyright (c) 1995-2006 International Business Machines Corporation and others' + ], + '/third_party/icu/' => [ + 'ICU-License', + 'Copyright (c) 1995-2009 International Business Machines Corporation and others' + ], + '/third_party/harfbuzz/' => [ + 'harfbuzz-License', + 'Copyright: 2000-2009 Red Hat, Inc' + ], + '/third_party/WebKit/JavaScriptCore/ForwardingHeaders/' => [ + 'ZERO-CODE-FILES or GENERATED', + 'No copyright' + ], + '/third_party/WebKit/WebCore/ForwardingHeaders/' => [ + 'ZERO-CODE-FILES or GENERATED', + 'No copyright' + ], + 'build-tree/src/third_party/WebKit/WebCore/' => [ + 'BSD (2 clause)/LGPL 2 (or later)/LGPL 2.1 (or later)', + 'No copyright' + ], + 'third_party/WebKit/JavaScriptCore/' => [ + 'BSD (2 clause)/LGPL 2 (or later)/LGPL 2.1 (or later)', + 'No copyright' + ], + 'version.h' => [ + 'ZERO-CODE-FILES or GENERATED', + 'No copyright' + ], + '/third_party/libjingle/files/talk/' => [ + 'global BSD-style libjingle', + 'No copyright' + ], + '/third_party/skia/' => [ + 'Apache (v2.0)', + 'No copyright' + ], + '/third_party/hunspell/' => [ + 'GPL 2.0/LGPL 2.1/MPL 1.1 tri-license', + 'No copyright' + ], + '/third_party/expat/' => [ + 'MIT/X11-like (expat)', + 'No copyright' + ], + '/third_party/yasm/source/patched-yasm/modules/parsers/nasm/' => [ + 'LGPL', + 'No copyright' + ], + '/third_party/yasm/source/patched-yasm/modules/preprocs/' => [ + 'LGPL', + 'No copyright' + ], + '/third_party/yasm/source/patched-yasm/modules/' => [ + 'BSD (2 or 3 clause)', + 'No copyright' + ], + '/third_party/yasm/source/patched-yasm/tools/python-yasm/' => [ + 'LGPL', + 'No copyright' + ], + '/third_party/yasm/' => [ + 'GPL (v2 or later) compatible', + 'Copyright (c) 2001-2009 Peter Johnson and other Yasm developers.' + ], + '/third_party/tlslite/' => [ + 'Public domain', + 'No copyright' + ], + '/third_party/ffmpeg/' => [ + 'GPL (v2 or later) compatible', + 'No copyright' + ], + '/third_party/libevent/' => [ + 'BSD (3 clause)', + 'No copyright' + ], + '/third_party/protobuf2/src/' => [ + 'BSD (3 clause)', + 'No copyright' + ], + '/third_party/tcmalloc/tcmalloc/' => [ + 'BSD (3 clause)', + 'No copyright' + ], + '/third_party/xdg-utils/' => [ + 'MIT/X11 (BSD like)', + 'No copyright' + ], +}; + +my $opt = {}; +getopts('ah', $opt) || &Usage(); +&Usage() if $$opt{'h'}; + +sub Usage { + die "Usage: $0 [options] directory\n" . + " -a display all licenses found (default will hide whitelisted licenses)\n" . + " -h this help screen\n"; +} + +my $dir = shift @ARGV; + +sub get_license { + my $file = shift; + my $license = shift; + my $copyright = shift; + + return("empty file", "empty") if -z $file; + open(FILE, $file) || die "Can't open $file: $!\n"; + my $maxline = 60; + my $linenum = 0; + while (!eof(FILE) && defined (my $line = ) && $linenum < $maxline) { + $linenum++; + next unless $line =~ m/Copyright/i; + chomp $line; + # Remove indents/comments + $line =~ s,^\s*(\#|/\*|//)\s*,,; + # remove everything before the copyright + $line =~ s/.*(Copyright)/$1/i; + my $text = $line; + while (!eof(FILE) && defined (my $line = ) && $linenum < $maxline) { + chomp $line; + # Remove indents/comments + $line =~ s,^\s*(\#|/\*|//)\s*,,; + $text .= " " .$line; + $text =~ m/Copyright.*?The Chromium Authors. All rights reserved.*?BSD-style license.*?found.*?in the.*?LICENSE file/ && do { + close FILE; + return("global BSD-style Chromium", $text); + } || + $text =~ m/It is free software.*?under the.*?terms of either.*?GNU General Public License.*?either version (\d+).*?any later version.*?Artistic License/ && do { + close FILE; + return("dual GPLv$1+/Artistic License", $text); + } || + $text =~ m/The use and distribution terms for this software are covered by the.*?Microsoft Permissive License \(Ms-PL\).*?/ && do { + close FILE; + return("Ms-PL", $text); + } + } + } + close FILE; + ($license, $copyright); +} + +my $data = {}; +my $line; +local *LC; +open(LC, "/usr/bin/licensecheck -r --copyright $dir |") || + die "Can't open /usr/bin/licensecheck: $!\n"; +while (!eof(LC) && defined($line = )) { + chomp $line; + my ($file, $license, $copyright) = (undef, undef, 'UNKNOWN'); + if ($line =~ m/^(\S[^:]+): (.*)/) { + $file = $1; + $license = $2; + $license =~ s/\s*$//; + $line = ; + if ($line =~ m/^ \[(.*.)\]/) { + $copyright = $1; + $line = ; + } + # check for manual identification + for my $manual (keys %$manually_identified) { + if ($file =~ m,$manual,) { + my $res = $$manually_identified{$manual}; + my $tmp_license = ""; + my $tmp_copyright = ""; + ($tmp_license, $tmp_copyright) = @$res; + if (!$copyright || $copyright =~ /.*no copyright.*/ ) { + $copyright = $tmp_copyright; + } + if (!$license || $license eq "UNKNOWN" || $license eq "*No copyright* UNKNOWN") { + $license = $tmp_license; + } + last; + } + } + if ($license eq 'UNKNOWN') { + # Look further into that file. licensecheck may have missed something + ($license, $copyright) = get_license($file, $license, $copyright); + } + #printf "%-80s %-30s %s\n", $file, $license, $copyright; + my $path = $file; + $path =~ s,/[^/]*$,,; + push @{$$data{$path}{$license}{$copyright}}, [ $file ]; + next if $line =~ m/^$/; + } + die "line='$line'\n"; +} +close LC; + +print "Whitelisted licenses: \n - '" . (join "'\n - '", @$white_listed_licenses) . "'\n\n" unless $$opt{'a'}; + +for my $dir (sort keys %$data) { + my $l = 0; + for my $license (sort keys %{$$data{$dir}}) { + my $skip = 0; + for my $w (@$white_listed_licenses) { + $skip++ if $w eq $license; + } + next if !$$opt{'a'} && $skip; + $l++; + for my $copyright (sort keys %{$$data{$dir}{$license}}) { + my @values = values %{$$data{$dir}{$license}}; + if ($#values == 1) { + printf "Files: %s/*\n", $dir; + } else { + printf "Files: %s/{", $dir; + my $first = 1; + for my $file (sort { $$a[0] cmp $$b[0] } @{$$data{$dir}{$license}{$copyright}}) { + if ($first) { + $first = 0; + } else { + printf ","; + } + my $filename = $$file[0]; + $filename =~ s/$dir\///; + printf "%s", $filename; + } + printf "}\n"; + } + print "Copyright: $copyright:\n"; + print "License: $license\n"; + print "\n"; + } + } +} --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/chromium-browser.prerm +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/chromium-browser.prerm @@ -0,0 +1,7 @@ +#!/bin/sh + +set -e + +if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ] ; then + update-alternatives --remove x-www-browser /usr/bin/chromium-browser +fi --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/copyright +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/copyright @@ -0,0 +1,74 @@ +This package was debianized by Fabien Tassin on +Fri, 07 Nov 2008 13:10:21 +0100 + +Copyright : + +(taken from http://code.google.com/chromium/terms.html) + +The Chromium software and sample code developed by Google is licensed under a +BSD-style license described below, and also available in the LICENSE file. +Other software included in this distribution is provided under other licenses +listed below. + +===================================== +BSD-style License + +Copyright © 2008, The Chromium Authors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the Google Inc. nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +===================================== + +Included Software and Licenses + +The following third party software is distributed with Chromium and is provided +under other licenses and/or has source available from other locations. + +Package Name License +---------------------- ---------------------------------------- +bsdiff BSD Protection License +bspatch BSD Protection License +bzip2 BSD license +dtoa BSD license +hunspell MPL 1.1/GPL 2.0/LGPL +ICU ICU license +JSCRE BSD license +libjpeg libjpeg license +libpng libpng license +libxml MIT license +libxslt MIT license +LZMA SDK Special exception license +modp_b64 BSD license +Mozilla interface to Java Plugin APIs MPL 1.1/GPL 2.0/LGPL +npapi MPL 1.1/GPL 2.0/LGPL +nspr MPL 1.1/GPL 2.0/LGPL +nss MPL 1.1/GPL 2.0/LGPL +Pthreads for win32 LGPL 2.1 +sqlite Public domain +tlslite Public domain +V8 assembler BSD license +WebKit BSD/LGPL 2/LGPL 2.1 +WTL Microsoft Permissive License +zlib zlib license --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/chromium-browser-inspector.install +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/chromium-browser-inspector.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/chromium-browser/resources/inspector --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/chromium-browser-l10n.install +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/chromium-browser-l10n.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/chromium-browser/locales/* --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/chromium-browser.default +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/chromium-browser.default @@ -0,0 +1,5 @@ +# Default settings for chromium-browser. This file is sourced by /bin/sh from +# /usr/bin/chromium-browser + +# Options to pass to chromium-browser +CHROMIUM_FLAGS="" --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/chromium-browser.desktop +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/chromium-browser.desktop @@ -0,0 +1,14 @@ +[Desktop Entry] +Version=1.0 +Name=Chromium Web Browser +Comment=Browse the World Wide Web +GenericName=Web Browser +Exec=chromium-browser %U +Terminal=false +X-MultipleArgs=false +Type=Application +Icon=chromium-browser +Categories=Application;Network; +MimeType=text/html; +StartupWMClass=Chromium +StartupNotify=true --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/chromium-browser.xml +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/chromium-browser.xml @@ -0,0 +1,18 @@ + + + + + + Chromium + chromium-browser + chromium-browser %s + chromium-browser + false + false + + + + --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/rules +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/rules @@ -0,0 +1,638 @@ +#!/usr/bin/make -f + +DEBIAN_NAME := $(shell dpkg-parsechangelog | sed -n 's/^Source: *\(.*\)$$/\1/ p') +DEBIAN_VERSION := $(shell dpkg-parsechangelog | sed -n 's/^Version: *\(.*\)$$/\1/ p') +DEBIAN_UPSTREAM_VERSION := $(shell echo $(DEBIAN_VERSION) | sed 's/^\(.*\)-[^-]*$$/\1/') +DEBIAN_REVISION := $(shell echo $(DEBIAN_VERSION) | sed 's/^.*r\([^-]*\)-.*/\1/') +DEBIAN_DIST := $(shell lsb_release -ds | tr -d '()') + +# DEB_TAR_SRCDIR has to be 'src' as this is what gyp expects :( +DEB_TAR_SRCDIR := src +SRC_DIR := $(CURDIR)/build-tree/$(DEB_TAR_SRCDIR) +LIB_DIR := usr/lib/$(DEBIAN_NAME) +DEB_BUILDDIR := $(SRC_DIR) +#BUILD_ARGS := --keep-going + +WANT_LZMA_SRC ?= 1 +WANT_LZMA_DEBS ?= 1 +WANT_DEBUG := 0 +WANT_SYSTEM_LIBS ?= 1 +WANT_SHARED_LIBS ?= 0 +WANT_TESTS ?= 1 +WANT_SANDBOXING ?= 1 +USE_SYSTEM_V8 ?= 0 +VERBOSE ?= 0 +PROCESSORS ?= $(shell grep -ic ^processor /proc/cpuinfo) +ifeq (0,$(PROCESSORS)) +PROCESSORS := 1 +endif + +# Only keep -Werror when building for the Debian or Ubuntu development branches +ifeq (,$(filter unstable development,$(DEBIAN_DIST))) +GYP_DEFINES += werror=$(NULL) +endif + +ifeq (armel,$(DEB_BUILD_ARCH)) +AVOID_GCC_44 := 0 +GYP_DEFINES += \ + arm_thumb=1 \ + target_arch=arm \ + disable_nacl=1 \ + linux_use_tcmalloc=0 \ + $(NULL) +WANT_LZMA_DEBS := 0 +WANT_TESTS := 0 +ifneq (,$(filter unstable development,$(DEBIAN_DIST))) +# on $(DEB_BUILD_ARCH) and $(DEBIAN_DIST), enforce an armv7 with thumb build (or not) +GYP_DEFINES += \ + armv7=1 \ + $(NULL) +endif +else +ifeq (x86_64,$(DEB_BUILD_GNU_CPU)) +GYP_DEFINES += target_arch=x64 +else +GYP_DEFINES += target_arch=ia32 +endif +endif + +# Don't let dh_installinit install *.default in /etc/default +DEB_DH_INSTALLINIT_ARGS += --noscripts --onlyscripts + +# Use lzma instead of gzip inside the debs (passed to dpkg-deb) +ifeq (1,$(WANT_LZMA_DEBS)) +DEB_DH_BUILDDEB_ARGS += -- -Z lzma +endif + +ifeq (1,$(WANT_DEBUG)) +BUILD_TYPE := Debug +else +BUILD_TYPE := Release +# Add symbols +BUILD_ARGS += SYMBOLS=1 +endif +BUILD_ARGS += BUILDTYPE=$(BUILD_TYPE) + +# Verbose? +ifeq (1,$(VERBOSE)) +BUILD_ARGS += V=1 +endif + +# Shared libraries +ifeq (1,$(WANT_SHARED_LIBS)) +GYP_DEFINES += library=shared_library +endif + +# Set this to use gcc 4.3 instead of 4.4 +AVOID_GCC_44 ?= 0 +CC_VERSION := $(shell gcc -dumpversion | cut -d. -f-2) + +ifeq (1/4.4,$(AVOID_GCC_44)/$(CC_VERSION)) +CC := gcc-4.3 +CXX := g++-4.3 +BUILD_ARGS += CC=$(CC) CXX=$(CXX) CC.host=$(CC) CXX.host=$(CXX) +endif + +ifeq (4.4,$(CC_VERSION)) +GYP_DEFINES += no_strict_aliasing=1 gcc_version=44 +endif + +ifeq (1,$(WANT_LZMA_SRC)) +TAR_EXT := lzma +TAR_FLAGS := --lzma +DEB_TARBALL = $(wildcard *.tar.bz2 *.tar.$(TAR_EXT)) +else +TAR_EXT := bz2 +TAR_FLAGS := -j +endif + +include $(CURDIR)/debian/cdbs/tarball.mk +include /usr/share/cdbs/1/rules/patchsys-quilt.mk +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/makefile.mk + +ifneq (1,$(PROCESSORS)) +DEB_MAKE_EXTRA_ARGS += -j$(PROCESSORS) +endif + +INSTALL_EXCLUDE_DIRS = \ + lib \ + lib.target \ + obj \ + obj.target \ + obj.host \ + opt \ + dbg \ + plugins \ + '*.d' \ + $(NULL) + +INSTALL_EXCLUDE_FILES = \ + .sconsign.dblite \ + linker.lock \ + convert_dict \ + chrome-wrapper \ + product_logo_48.png \ + libnpapi_layout_test_plugin.so \ + libnpapi_test_plugin.so \ + mksnapshot \ + ncdecode_table \ + ncdecode_tablegen \ + springboard_gen \ + tramp_gen \ + protoc \ + *.d \ + $(NULL) + +# List of tests +# - prefix the name with a "-" to disable the test suite completely and +# append a reason after a ":" +# - prefix the name with a "@" to run the test suite in xvfb-run (fake +# X server for machines with no display hardware and no physical input +# devices). +# - to disable one or more tests within a given testsuite, +# append the names of the tests (using the Google Test filter syntax) +# or call the gtfilter macro +ifeq (1,$(WANT_TESTS)) +gtfilter = -$(shell echo $(SKIP_$(1)) | tr ' ' :) + +# tests we can't pass because we don't have enough permissions +SKIP_base_unittests := \ + StatsTableTest.* \ + SysInfoTest.GetPrimaryDisplayDimensions \ + $(NULL) + +SKIP_page_cycler_tests := \ + PageCyclerTest.* \ + PageCyclerReferenceTest.* \ + $(NULL) + +SKIP_ui_tests := \ + WorkerTest.MultipleWorkers \ + WorkerTest.IncognitoSharedWorkers \ + $(NULL) + +# tests we can't pass because we need to access internet (~61 out of 987 tests) +SKIP_net_unittests := \ + HttpNetworkLayerTest.GoogleGET \ + TelnetServerTest.* \ + PageCyclerTest.* \ + URLRequestTestHTTP.* \ + URLRequestTest.QuitTest \ + URLRequestTest.DoNotSendCookies \ + URLRequestTest.DoNotSaveCookies \ + HTTPSRequestTest.* \ + URLRequestTestFTP.* \ + SSLClientSocketTest.* \ + ProxyScriptFetcherTest.* \ + ListenSocketTest.* \ + $(NULL) + +TESTS ?= \ + @app_unittests:-FontTest.LoadArial \ + base_unittests:$(call gtfilter,base_unittests) \ + googleurl_unittests \ + ipc_tests \ + media_unittests \ + net_perftests \ + net_unittests:$(call gtfilter,net_unittests) \ + @page_cycler_tests:$(call gtfilter,page_cycler_tests) \ + perf_tests \ + printing_unittests \ + @startup_tests \ + @test_shell_tests \ + @ui_tests:$(call gtfilter,ui_tests) \ + unit_tests \ + $(NULL) +endif + +# FFmpeg-mt +GYP_DEFINES += use_system_ffmpeg=1 + +USE_SYSTEM_SQLITE := $(shell pkg-config 'sqlite3 >= 3.6.1' && echo 1 || echo 0) +USE_SYSTEM_SQLITE := 0 + +# System libs +ifeq (1,$(WANT_SYSTEM_LIBS)) +GYP_DEFINES += \ + use_system_bzip2=1 \ + use_system_zlib=0 \ + use_system_libjpeg=1 \ + use_system_libpng=1 \ + use_system_sqlite=$(USE_SYSTEM_SQLITE) \ + use_system_libxml=1 \ + use_system_libxslt=1 \ + $(NULL) +endif + +# Build everything (like All), including test programs but minus things we don't +# want (breakpad, courgette, ..) or don't need (the other small tools) +BUILD_TARGETS := \ + chrome \ + chrome_sandbox \ + $(NULL) + +TESTS_TARGETS := \ + app_unittests \ + base_unittests \ + browser_tests \ + googleurl_unittests \ + ipc_tests \ + media_unittests \ + memory_test \ + net_perftests \ + net_unittests \ + page_cycler_tests \ + perf_tests \ + printing_unittests \ + startup_tests \ + tab_switching_test \ + test_shell_tests \ + ui_tests \ + unit_tests \ + url_fetch_test \ + wav_ola_test \ + $(NULL) + +ifeq (1,$(WANT_TESTS)) +INSTALL_EXCLUDE_FILES += \ + $(TESTS_TARGETS) \ + test_shell.pak \ + xdisplaycheck \ + $(NULL) +endif + +ifeq (1,$(WANT_SANDBOXING)) +GYP_DEFINES += \ + linux_sandbox_path=/$(LIB_DIR)/$(DEBIAN_NAME)-sandbox \ + linux_sandbox_chrome_path=/$(LIB_DIR)/$(DEBIAN_NAME) \ + $(NULL) + +# needed to preserve the suid and make the sandbox happy +DEB_FIXPERMS_EXCLUDE := $(DEBIAN_NAME)-sandbox +endif + +# use system v8 +ifeq (1,$(USE_SYSTEM_V8)) +GYP_DEFINES += \ + javascript_engine=system-v8 \ + $(NULL) +endif + +###### +DO = (touch r1; echo '$(1)'; $(1); touch r2 ; T1=`date -r r1 +%s` ; T2=`date -r r2 +%s`; echo "PERF: '$(2)' built in "`expr $$T2 - $$T1`" sec"; rm -f r1 r2;) + +DEB_MAKE_BUILD_TARGET := $(BUILD_ARGS) $(BUILD_TARGETS) + +configure/$(DEBIAN_NAME):: debian/configure-stamp + +debian/configure-stamp: GYP_ENV = GYP_GENERATORS=make +ifneq (,$(GYP_DEFINES)) +debian/configure-stamp: GYP_ENV += GYP_DEFINES="$(GYP_DEFINES)" +endif +debian/configure-stamp: + cd $(SRC_DIR) && $(GYP_ENV) python build/gyp_chromium build/all.gyp + touch $@ + # Populate the LASTCHANGE file template as we no longer have the VCS + # files at this point + echo "$(DEBIAN_REVISION)" > $(SRC_DIR)/build/LASTCHANGE.in + # BUILD_ARGS=$(BUILD_ARGS) + +common-build-arch common-build-indep:: debian/stamp-makefile-build-perf +debian/stamp-makefile-build-perf: debian/stamp-makefile-build + @T2=`date +%s`; T1=`date -r debian/configure-stamp +%s`; echo "PERF: '$(BUILD_TARGETS)' built in "`expr $$T2 - $$T1`" sec" + touch $@ + +# we don't want all the test binaries linked at the same time when using -jX (X > 2) +# Each ld takes ~1.5GB of memory. So run make for each target separatly to workaround that +ifeq (1,$(WANT_TESTS)) +common-build-arch common-build-indep:: debian/stamp-makefile-build-tests +debian/stamp-makefile-build-tests: debian/stamp-makefile-build + @$(foreach target,$(TESTS_TARGETS),$(call DO,$(DEB_MAKE_INVOKE) $(BUILD_ARGS) $(target),$(target));) + touch $@ +endif + +clean:: + rm -f debian/configure-stamp debian/stamp-makefile-build-* + +# Install: there's no install rules in scons yet, do it manually +common-install-prehook-impl:: + mkdir -p debian/tmp/$(LIB_DIR) + ( cd $(SRC_DIR)/out/$(BUILD_TYPE) && tar $(foreach excl,$(INSTALL_EXCLUDE_DIRS),--exclude=$(excl)) -cf - . ) | \ + ( cd debian/tmp/$(LIB_DIR) && tar xvf - ) + cd debian/tmp/$(LIB_DIR) && rm -f $(INSTALL_EXCLUDE_FILES) + # Launcher script + mkdir -p debian/tmp/usr/bin + cp -a debian/$(DEBIAN_NAME).sh debian/tmp/usr/bin/$(DEBIAN_NAME) + chmod 755 debian/tmp/usr/bin/$(DEBIAN_NAME) + # Preferences + mkdir -p debian/tmp/etc/$(DEBIAN_NAME) + cp -a debian/$(DEBIAN_NAME).default debian/tmp/etc/$(DEBIAN_NAME)/default + # Rename the binary from chrome to $(DEBIAN_NAME), this is required + # as chromium dereferences all symlinks before starting its children + # making the Gnome System Monitor confused with icons + mv debian/tmp/$(LIB_DIR)/chrome debian/tmp/$(LIB_DIR)/$(DEBIAN_NAME) + mv debian/tmp/$(LIB_DIR)/chrome_sandbox debian/tmp/$(LIB_DIR)/$(DEBIAN_NAME)-sandbox + # Manpage + mv debian/tmp/$(LIB_DIR)/chrome.1 debian/tmp/$(LIB_DIR)/chromium-browser.1 + dh_installman -pchromium-browser debian/tmp/$(LIB_DIR)/chromium-browser.1 + rm -f debian/tmp/$(LIB_DIR)/chromium-browser.1 + +binary-install/$(DEBIAN_NAME):: + mkdir -p $(CURDIR)/debian/$(DEBIAN_NAME)/usr/share/pixmaps + cp -a build-tree/src/chrome/app/theme/chromium/product_logo_48.png $(CURDIR)/debian/$(DEBIAN_NAME)/usr/share/pixmaps/$(DEBIAN_NAME).png + for size in 16 32 48 256 ; do \ + mkdir -p $(CURDIR)/debian/$(DEBIAN_NAME)/usr/share/icons/hicolor/$${size}x$${size}/apps ; \ + cp -a build-tree/src/chrome/app/theme/chromium/product_logo_$$size.png \ + $(CURDIR)/debian/$(DEBIAN_NAME)/usr/share/icons/hicolor/$${size}x$${size}/apps/$(DEBIAN_NAME).png ; \ + done +ifeq (1,$(WANT_SANDBOXING)) + chmod 4755 $(CURDIR)/debian/$(DEBIAN_NAME)/$(LIB_DIR)/$(DEBIAN_NAME)-sandbox +else + rm -vf $(CURDIR)/debian/$(DEBIAN_NAME)/$(LIB_DIR)/$(DEBIAN_NAME)-sandbox +endif + # Locales: only keep en-US in the main deb + cd $(CURDIR)/debian/$(DEBIAN_NAME)/$(LIB_DIR)/locales && \ + rm -f $(filter-out en-US.pak,$(notdir $(wildcard $(CURDIR)/debian/$(DEBIAN_NAME)/$(LIB_DIR)/locales/*))) + # DEB_ARCH_PACKAGES=$(DEB_ARCH_PACKAGES) + # DEB_INDEP_PACKAGES=$(DEB_INDEP_PACKAGES) +ifneq (i386,$(DEB_BUILD_ARCH_CPU)) + # DEB_BUILD_ARCH_CPU=$(DEB_BUILD_ARCH_CPU) + # We assume we're *not* doing the "Architecture: all" packages so we need + # to drop the -l10n files from debian/tmp to make 'compare' happy + cd $(CURDIR)/debian/tmp/$(LIB_DIR)/locales && \ + rm $(filter-out en-US.pak,$(notdir $(wildcard $(CURDIR)/debian/tmp/$(LIB_DIR)/locales/*))) + # same for inspector + rm -rf $(CURDIR)/debian/tmp/$(LIB_DIR)/resources/inspector/* +endif + +binary-install/$(DEBIAN_NAME)-l10n:: + rm $(CURDIR)/debian/$(DEBIAN_NAME)-l10n/$(LIB_DIR)/locales/en-US.pak + +# Tests +ifeq (1,$(WANT_TESTS)) +binary-post-install/$(DEBIAN_NAME):: + ######################### TESTS ###################################### + # Run all possible tests from the chromium testsuite + # Buildd doesn't allow network accesses so the corresponding + # tests have to be skipped + @chmod u+x $(CURDIR)/debian/run-test.sh + @mkdir -p debian/test-results + @T1=`date +%s`; cd $(SRC_DIR)/out/$(BUILD_TYPE) && \ + for test in $(TESTS) ; do \ + tname=`echo "$$test" | sed -e 's/^[-@]\?\([^:]*\).*/\1/'` ; \ + filter=`echo "$$test" | sed -e 's/^[^-][^:]*://' | grep -v -- "$$test"` ; \ + echo "==========================================================================" ; \ + if [ Z"`echo $$test | sed -e 's/^-.*//'`" = Z ] ; then \ + echo "Skipped '$$tname', reason: "`echo $$test | sed -e 's/^[^:]*://'` ; \ + continue ; \ + fi ; \ + OPT="" ; \ + if [ Z"`echo $$test | sed -e 's/^@.*//'`" = Z ] ; then \ + OPT=-x ; \ + fi ; \ + $(CURDIR)/debian/run-test.sh $$OPT ./$$tname $(CURDIR)/debian/test-results/ $$filter || true ; \ + echo "==========================================================================" ; \ + echo ; \ + done; \ + T2=`date +%s`; echo "PERF: all tests run in "`expr $$T2 - $$T1`" sec" +endif + +# Compare +PKG_DIRS = $(addprefix debian/,$(shell grep ^Package debian/control | cut -d' ' -f2)) + +binary-predeb/$(DEBIAN_NAME):: compare + +compare: + # Look for duplicates, fail if we find any + @DUPES=`find $(PKG_DIRS) -type f -print | grep -v /DEBIAN/ | cut -d/ -f3- | sort | uniq -c | grep -vE '^ *1 '` ; \ + if [ "Z$$DUPES" != Z ] ; then \ + echo " => Found duplicates:\n $$DUPES" ; \ + exit 1 ; \ + else \ + echo " => No duplicate found" ; \ + fi + # Find missing + @find $(PKG_DIRS) -type f -print | grep -v /DEBIAN/ | grep -vE '(/usr/lib/debug|/test-results/|/locales/|/inspector/)' | \ + grep $(LIB_DIR) | cut -d/ -f5- | sort > /tmp/pkg-$$$$.indebs ; \ + find debian/tmp/$(LIB_DIR) -type f -print | cut -d/ -f5- | grep -vE '(\.log$$|/locales/|/inspector/)' | sort > /tmp/pkg-$$$$.inhammer ; \ + diff -u /tmp/pkg-$$$$.inhammer /tmp/pkg-$$$$.indebs ; \ + if [ $$? -eq 0 ] ; then \ + echo " => All fine" ; \ + else \ + echo " => Found differences, please investigate" ; \ + exit 1 ; \ + fi ; \ + rm -f /tmp/pkg-$$$$.inhammer /tmp/pkg-$$$$.indebs + +############################################################################################### + +# Tarball (get-orig-source & get-current-source) +GCLIENT_URL := http://src.chromium.org/svn/trunk/tools/depot_tools +CHROMIUM_URL := http://src.chromium.org/svn/trunk/src +DEPS_URL := http://src.chromium.org/svn/trunk/deps/third_party +GREEN_REV_URL := http://chromium-status.appspot.com/lkgr +CHANNELS_URL := http://omahaproxy.appspot.com/ + +# See Staying Green More Of The Time at http://dev.chromium.org/developers/how-tos/get-the-code +USE_GREEN_REV ?= 0 + +STRIP_TARBALL ?= 1 + +STRIPPED_DIRS_FROM_CO := \ + src/breakpad/src \ + src/tools/gyp \ + src/chrome/tools/test/reference_build \ + src/chrome/tools/test/reference_build/chrome_linux \ + src/webkit/data/layout_tests/LayoutTests \ + src/third_party/WebKit/LayoutTests \ + src/third_party/ffmpeg/binaries/chromium/linux/ia32 \ + src/third_party/ffmpeg/binaries/chromium/linux/ia32_dbg \ + src/third_party/ffmpeg/binaries/chromium/linux/x64 \ + src/third_party/ffmpeg/binaries/chromium/linux/x64_dbg \ + $(NULL) + +# stuff we don't have access to and shouldn't be in DEPS +STRIPPED_DIRS_FROM_CO += \ + src/chrome/app/theme/google_chrome \ + src/chrome/installer/linux \ + $(NULL) + +# prefix with _ those that we can't remove (just yet) because of the gclient +# hooks (see build/all.gyp) or of some unneeded deps/includes +STRIPPED_DIRS := \ + chrome/test/data/safe_browsing/old \ + chrome/test/data/firefox2_nss_mac \ + gears \ + google_update \ + o3d \ + third_party/boost \ + third_party/bsdiff \ + third_party/bspatch \ + third_party/ffmpeg/binaries \ + third_party/fuzzymatch \ + third_party/gles_book_examples \ + third_party/hunspell/dictionaries \ + third_party/icu/mac \ + third_party/lcov \ + third_party/lighttpd \ + third_party/nspr \ + third_party/nss \ + third_party/ocmock \ + third_party/pthread \ + third_party/pyftpdlib \ + third_party/simplejson \ + third_party/scons \ + _third_party/tcmalloc \ + tools/symsrc \ + tools/site_compare \ + tools/stats_viewer \ + tools/valgrind \ + tools/wine_valgrind \ + v8/test/cctest \ + webkit/data/layout_tests \ + $(NULL) + +# There are directories we want to strip, but that are unnecessarily required by the build-system +# So we drop everything but the gyp/gypi files and README.chromium (to see what that dir contained) +ALMOST_STRIPPED_DIRS := \ + courgette \ + $(NULL) + +ifeq (1,$(WANT_SYSTEM_LIBS)) +# Directories that will be dropped if the corresponding system lib are enabled in GYP_DEFINES +# We need to keep some files (like *.gyp) so we can't use STRIPPED_DIRS +# We can't drop third_party/zlib because we don't have contrib/minizip/*zip.h, and +# third_party/sqlite because it's a conditional build (see USE_SYSTEM_SQLITE) +STRIPPED_SYSTEM_LIB_DIRS += \ + third_party/bzip2 \ + third_party/libjpeg \ + third_party/libpng \ + third_party/libxml \ + third_party/libxslt \ + $(NULL) +endif + +STRIP_SYSTEM_DIRS = \ + ($(foreach DIR,$(1),$(if $(findstring use_system_$(notdir $(DIR))=1,$(GYP_DEFINES)),\ + (cd $(2)/$(dir $(DIR)) && \ + find $(notdir $(DIR)) -depth -mindepth 1 \! \( -name \*.gyp -o -name \*.gypi -o -name README.chromium -o -name \*.patch \) -print -delete );))) + +ALMOST_STRIP_DIRS = \ + ($(foreach DIR,$(1),(cd $(2)/$(dir $(DIR)) && \ + find $(notdir $(DIR)) -depth -mindepth 1 \! \( -name \*.gyp -o -name \*.gypi -o -name README.chromium \) -print -delete );)) + +TMP_DDIR := $(DEBIAN_NAME)-$(shell echo $$$$) +ifeq (,$(LOCAL_BRANCH)) +TMP_DIR := $(TMP_DDIR) +else +TMP_DIR := $(LOCAL_BRANCH) +endif + +get-orig-source: REVISION = $(NULL) +get-orig-source: TAG = $(NULL) +ifneq (,$(DEBIAN_TAG)) +get-orig-source: TAG = $(DEBIAN_TAG) +else +ifneq (,$(DEBIAN_REV)) +get-orig-source: REVISION = --revision src@$(DEBIAN_REV) +else +# Doing either the dev or beta channel +ifneq (,$(CHANNEL)) +ifneq (,$(filter-out beta dev Beta Dev,$(CHANNEL))) +# Assume it's a version +get-orig-source: VERS = $(CHANNEL) +else +get-orig-source: VERS = $(shell wget -qO - $(CHANNELS_URL) | grep -i '^linux,$(CHANNEL)' | cut -d, -f3) +# ' +endif +get-orig-source: CHROMIUM_URL = http://src.chromium.org/svn/releases/$(VERS) +get-orig-source: USE_GREEN_REV = 0 +endif +endif +endif +get-orig-source: gos-all + +get-current-source: TAG = $(NULL) +get-current-source: REVISION = --revision src@$(DEBIAN_REVISION) +ifneq (,$(DEBIAN_REV)) +get-current-source: REVISION = --revision src@$(DEBIAN_REV) +endif +get-current-source: gos-all + +gos-all: gos-co gos-pack +gos-co: +ifneq (,$(TAG)) + $(error gclient doesn\'t support tags. We need to tweak CHROMIUM_URL. Abort) +endif +ifeq (,$(LOCAL_BRANCH)) + rm -rf $(TMP_DIR) +endif + @if [ ! -d $(TMP_DIR) ] ; then echo mkdir $(TMP_DIR); mkdir $(TMP_DIR) ; fi + @if [ ! -d $(TMP_DIR)/tools/depot_tools ] ; then \ + echo svn co $(GCLIENT_URL) $(TMP_DIR)/tools/depot_tools ; \ + svn co $(GCLIENT_URL) $(TMP_DIR)/tools/depot_tools ; \ + else \ + echo svn update $(TMP_DIR)/tools/depot_tools ; \ + svn update $(TMP_DIR)/tools/depot_tools ; \ + fi + rm -f $(TMP_DIR)/.gclient +ifeq (1,$(USE_GREEN_REV)$(REVISION)) + cd $(TMP_DIR) && ./tools/depot_tools/gclient config $(CHROMIUM_URL) $(GREEN_REV_URL) +else + cd $(TMP_DIR) && ./tools/depot_tools/gclient config $(CHROMIUM_URL) +endif +ifeq (1,$(STRIP_TARBALL)) +ifneq (,$(STRIPPED_DIRS_FROM_CO)) + # Add exclusions in .gclient for $(STRIPPED_DIRS_FROM_CO) + @for excl in $(STRIPPED_DIRS_FROM_CO) ; do \ + perl -i -pe 's,("custom_deps"\s*:\s*{),$$1\n "'$$excl'": None\,,' $(TMP_DIR)/.gclient ; \ + done + grep -Ev '^($$|[[:blank:]]*#)' $(TMP_DIR)/.gclient +endif +endif + # Checkout + cd $(TMP_DIR) && ./tools/depot_tools/gclient update --nohooks $(REVISION) +ifneq (,$(LOCAL_BRANCH)) + rm -rf $(TMP_DDIR) + cp -la $(TMP_DIR) $(TMP_DDIR) +endif +ifeq (1,$(STRIP_TARBALL)) + # Strip tarball from some big directories not needed on the linux platform + cd $(TMP_DDIR)/src && rm -rfv $(STRIPPED_DIRS) | grep -vE '/\.svn(/|.$$)' > REMOVED-stripped.txt +ifneq (,$(ALMOST_STRIPPED_DIRS)) + # Strip listed dirs almost completely (keep *.gyp and README.chromium) + $(call ALMOST_STRIP_DIRS,$(ALMOST_STRIPPED_DIRS),$(TMP_DDIR)/src) | grep -vE '/\.svn(/|.$$)' >> $(TMP_DDIR)/src/REMOVED-stripped.txt +endif +ifneq (,$(STRIPPED_SYSTEM_LIB_DIRS)) + $(call STRIP_SYSTEM_DIRS,$(STRIPPED_SYSTEM_LIB_DIRS),$(TMP_DDIR)/src) | grep -vE '/\.svn(/|.$$)' >> $(TMP_DDIR)/src/REMOVED-stripped.txt +endif +endif + # Remove binaries + cd $(TMP_DDIR)/src && find . -type f \( -iname \*.exe -o -iname \*.dll -o -iname \*.pdb -o -name \*.o -o -name \*.a -o -name \*.dylib \) -exec rm -fv {} \; > REMOVED-bin_only.txt + wc -l $(TMP_DDIR)/src/REMOVED-*.txt + +gos-pack: TMP_DIR = $(TMP_DDIR) +ifneq (,$(DEBIAN_TAG)) +gos-pack: VERSION = $(shell echo $(DEBIAN_TAG) | cut -d= -f2) +else +ifeq (,$(CHANNEL)) +gos-pack: REVISION = $(shell cd $(TMP_DIR)/src && svn log --xml --limit 1 | grep -E '^( *revision=|)' | tr -d '\n' | \ + sed -e 's/.*"\([0-9]*\)".*>\(....\)-\(..\)-\(..\)T.*/\2\3\4r\1/') +gos-pack: VERSION = $(shell cut -d= -f2 $(TMP_DIR)/src/chrome/VERSION | sed -e 's,$$,.,' | tr -d '\n' | sed -e 's/.$$//')~svn$(REVISION) +else +gos-pack: REVISION = $(shell cd $(TMP_DIR)/src && svn info | grep ^Revision: | cut -d' ' -f2) +gos-pack: VERSION = $(shell cut -d= -f2 $(TMP_DIR)/src/chrome/VERSION | sed -e 's,$$,.,' | tr -d '\n' | sed -e 's/.$$//')~r$(REVISION) +endif +endif +gos-pack: + # Pack + if [ src != $(DEB_TAR_SRCDIR) ] ; then mv $(TMP_DIR)/src $(TMP_DIR)/$(DEB_TAR_SRCDIR) ; fi + mv $(TMP_DIR)/tools/depot_tools $(TMP_DIR)/$(DEB_TAR_SRCDIR)/depot_tools + cd $(TMP_DIR) && tar -c $(TAR_FLAGS) -f $(DEBIAN_NAME)-$(VERSION)-source.tar.$(TAR_EXT) --exclude=.svn $(DEB_TAR_SRCDIR) + mkdir $(TMP_DIR)/$(DEBIAN_NAME)-$(VERSION) + mv $(TMP_DIR)/$(DEBIAN_NAME)-$(VERSION)-source.tar.$(TAR_EXT) $(TMP_DIR)/$(DEBIAN_NAME)-$(VERSION) + cd $(TMP_DIR) && tar zcf ../$(DEBIAN_NAME)_$(VERSION).orig.tar.gz $(DEBIAN_NAME)-$(VERSION) + rm -rf $(TMP_DIR) + @echo "# Done (created $(DEBIAN_NAME)_$(VERSION).orig.tar.gz)" + @ls -l $(DEBIAN_NAME)_$(VERSION).orig.tar.gz --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/control +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/control @@ -0,0 +1,103 @@ +Source: chromium-browser +Section: web +Priority: optional +Maintainer: Fabien Tassin +Vcs-Bzr: https://code.launchpad.net/~chromium-team/chromium-browser/chromium-browser.head +Homepage: http://code.google.com/chromium/ +Build-Depends: cdbs, + debhelper (>= 5), + pkg-config, + lsb-release, + lzma, + gyp (>= 0.1~svn769), + quilt, + patchutils (>= 0.2.25), + g++-4.3 | g++-4.2, + libc6-dev-i386 [amd64], + g++-multilib [amd64], + python, + bison, + flex, + gperf, + gdb, + wdiff, + timeout, + xvfb, + xbase-clients, + xfonts-base, + ttf-kochi-gothic, + ttf-kochi-mincho, + libjpeg62-dev, + libpng12-dev, + libbz2-dev, + zlib1g-dev, + libxml2-dev, + libxslt1-dev, + lzma-dev, + libhunspell-dev, + libsqlite3-dev, + libasound2-dev, + libnss3-dev (>= 3.12.3), + libnspr4-dev, + libgl1-mesa-dri, + mesa-common-dev, + libgl1-mesa-dev, + libglu1-mesa-dev, + libpango1.0-dev, + libglib2.0-dev, + libgtk2.0-dev, + libgconf2-dev +Standards-Version: 3.8.3 + +Package: chromium-browser +Architecture: armel +Pre-Depends: lzma +Depends: ${shlibs:Depends}, ${misc:Depends}, libnss3-1d (>= 3.12.3), chromium-codecs-ffmpeg | chromium-codecs-ffmpeg-nonfree +Recommends: chromium-browser-inspector +Suggests: chromium-browser-l10n +Provides: chromium-testsuite +Replaces: chromium-testsuite +Conflicts: chromium-testsuite +Description: Chromium browser + Chromium is an open-source browser project that aims to build a safer, faster, + and more stable way for all Internet users to experience the web. + . + This package contains the Chromium browser + +Package: chromium-browser-dbg +Architecture: armel +Section: devel +Priority: optional +Pre-Depends: lzma +Depends: ${shlibs:Depends}, ${misc:Depends}, chromium-browser (= ${binary:Version}) +Provides: chromium-testsuite-dbg +Replaces: chromium-testsuite-dbg +Conflicts: chromium-testsuite-dbg +Description: chromium-browser debug symbols + Debug symbols for the Chromium browser + +Package: chromium-browser-l10n +Architecture: armel +Pre-Depends: lzma +Depends: ${shlibs:Depends}, ${misc:Depends}, chromium-browser +Breaks: chromium-browser (<< 3.0.197.0~svn20090804r22432) +Replaces: chromium-browser (<< 3.0.197.0~svn20090804r22432) +Description: chromium-browser language packages + Chromium is an open-source browser project that aims to build a safer, faster, + and more stable way for all Internet users to experience the web. + . + This package contains language packages for 50 languages: + ar, bg, bn, ca, cs, da, de, el, en-GB, es-419, es, et, fi, fil, fr, gu, he, + hi, hr, hu, id, it, ja, kn, ko, lt, lv, ml, mr, nb, nl, or, pl, pt-BR, pt-PT, + ro, ru, sk, sl, sr, sv, ta, te, th, tr, uk, vi, zh-CN, zh-TW + +Package: chromium-browser-inspector +Architecture: all +Pre-Depends: lzma +Depends: ${shlibs:Depends}, ${misc:Depends}, chromium-browser +Description: page inspector for the chromium-browser + Chromium is an open-source browser project that aims to build a safer, faster, + and more stable way for all Internet users to experience the web. + . + This package contains 'inspector', allowing web developpers to inspect any + element of a web page at runtime (html, javascript, css, ..) --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/changelog +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/changelog @@ -0,0 +1,5 @@ +chromium-browser (4.0.303.0~svn20100120r36627-0ubuntu1~ucd1+asac2) lucid; urgency=low + + * Initial release. (Closes: #520324, LP: #387765) + + -- Fabien Tassin Wed, 20 Jan 2010 15:43:05 +0100 --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/copyright.overlay +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/copyright.overlay @@ -0,0 +1,51 @@ +src/third_party/harfbuzz/.*$ harfbuzz-License +src/third_party/icu/.*$ ICU-License +src/third_party/WebKit/WebCore/icu/.*$ ICU-License + +====== Licenses + +License: harfbuzz-License + Permission is hereby granted, without written agreement and without + license or royalty fees, to use, copy, modify, and distribute this + software and its documentation for any purpose, provided that the + above copyright notice and the following two paragraphs appear in + all copies of this software. + . + IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR + DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES + ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN + IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGE. + . + THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, + BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS + ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO + PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +License: icu-license + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, and/or sell + copies of the Software, and to permit persons + to whom the Software is furnished to do so, provided that the above + copyright notice(s) and this permission notice appear in all copies + of the Software and that both the above copyright notice(s) and this + permission notice appear in supporting documentation. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A + PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL + THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, + OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER + RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE + USE OR PERFORMANCE OF THIS SOFTWARE. + . + Except as contained in this notice, the name of a copyright holder shall not be + used in advertising or otherwise to promote the sale, use or other dealings in + this Software without prior written authorization of the copyright holder. + . + All trademarks and registered trademarks mentioned herein are the property of their respective owners. + --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/chromium-browser.postinst +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/chromium-browser.postinst @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] ; then + update-alternatives --install /usr/bin/x-www-browser \ + x-www-browser /usr/bin/chromium-browser 40 +fi + +rm -f /etc/default/chromium-browser --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/patches/no_tree_sink_v8.patch +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/patches/no_tree_sink_v8.patch @@ -0,0 +1,26 @@ +--- + v8/tools/gyp/v8.gyp | 1 + + 1 file changed, 1 insertion(+) + +Index: src/v8/tools/gyp/v8.gyp +=================================================================== +--- src.orig/v8/tools/gyp/v8.gyp ++++ src/v8/tools/gyp/v8.gyp +@@ -86,16 +86,17 @@ + 'cflags': [ + '-fomit-frame-pointer', + '-O3', + ], + 'conditions': [ + [ 'gcc_version==44', { + 'cflags': [ + # Avoid gcc 4.4 strict aliasing issues in dtoa.c ++ '-fno-tree-sink', + '-fno-strict-aliasing', + # Avoid crashes with gcc 4.4 in the v8 test suite. + '-fno-tree-vrp', + ], + }], + ], + }], + ['OS=="mac"', { --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/patches/detect_system_tlslite.patch +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/patches/detect_system_tlslite.patch @@ -0,0 +1,26 @@ +--- + net/url_request/url_request_unittest.h | 1 + + 1 file changed, 1 insertion(+) + +Index: chromium-browser/net/url_request/url_request_unittest.h +=================================================================== +--- chromium-browser.orig/net/url_request/url_request_unittest.h ++++ chromium-browser/net/url_request/url_request_unittest.h +@@ -292,16 +292,17 @@ + command_line.append(L"\""); + } + + ASSERT_TRUE( + base::LaunchApp(command_line, false, true, &process_handle_)) << + "Failed to launch " << command_line; + #elif defined(OS_POSIX) + bool tlslite_installed = !access("/usr/bin/tls.py", X_OK) || ++ !access("/usr/bin/tls", X_OK) || + !access("/usr/local/bin/tls.py", X_OK); + ASSERT_TRUE(tlslite_installed) << "tlslite not installed? Please run 'python setup.py install' in third_party/tlslite."; + + std::vector command_line; + command_line.push_back("python"); + command_line.push_back(WideToUTF8(testserver_path)); + command_line.push_back("--port=" + port_str); + command_line.push_back("--data-dir=" + WideToUTF8(test_data_directory)); --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/patches/drop_sse2.patch +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/patches/drop_sse2.patch @@ -0,0 +1,44 @@ +--- + build/common.gypi | 19 ++++++++++--------- + 1 file changed, 10 insertions(+), 9 deletions(-) + +Index: src/build/common.gypi +=================================================================== +--- src.orig/build/common.gypi ++++ src/build/common.gypi +@@ -386,25 +386,26 @@ + # + # -mfpmath=sse -msse2 makes the compiler use SSE instructions + # which keep floating-point values in SSE registers in its + # native precision (32-bit for single precision, and 64-bit for + # double precision values). This means the floating-point value + # used during computation does not change depending on how the + # compiler optimized the code, since the value is always kept + # in its specified precision. +- 'conditions': [ +- ['branding=="Chromium"', { +- 'cflags': [ +- '-march=pentium4', +- '-msse2', +- '-mfpmath=sse', +- ], +- }], +- ], ++ # Disabled: see http://code.google.com/p/chromium/issues/detail?id=9007 ++ # 'conditions': [ ++ # ['branding=="Chromium"', { ++ # 'cflags': [ ++ # '-march=pentium4', ++ # '-msse2', ++ # '-mfpmath=sse', ++ # ], ++ # }], ++ # ], + 'cflags': [ + '-m32', + ], + 'ldflags': [ + '-m32', + ], + }], + ], --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/patches/series +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/patches/series @@ -0,0 +1,6 @@ +# detect_system_tlslite.patch +drop_sse2.patch +# system_v8.patch +ubuntu_dont_overwrite_default_download_directory.patch +# chromium_useragent.patch +no_tree_sink_v8.patch --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/patches/system_v8.patch +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/patches/system_v8.patch @@ -0,0 +1,96 @@ +--- + build/linux/system.gyp | 11 +++++++++++ + net/net.gyp | 8 ++++++++ + webkit/webkit.gyp | 8 ++++++++ + 3 files changed, 27 insertions(+) + +Index: src/build/linux/system.gyp +=================================================================== +--- src.orig/build/linux/system.gyp ++++ src/build/linux/system.gyp +@@ -12,16 +12,27 @@ + 'pkg-config': './pkg-config-wrapper "<(sysroot)"', + }, { + 'pkg-config': 'pkg-config' + }], + ], + }, + 'targets': [ + { ++ 'target_name': 'v8', ++ 'type': 'settings', ++ 'direct_dependent_settings': { ++ }, ++ 'link_settings': { ++ 'libraries': [ ++ '-lv8', ++ ], ++ }, ++ }, ++ { + 'target_name': 'gtk', + 'type': 'settings', + 'direct_dependent_settings': { + 'cflags': [ + ' env( + base::EnvironmentVariableGetter::Create()); + *result = base::GetXDGUserDirectory(env.get(), "DOCUMENTS", "Documents"); + return true; + } + +-// We respect the user's preferred download location, unless it is +-// ~ or their desktop directory, in which case we default to ~/Downloads. + bool GetUserDownloadsDirectory(FilePath* result) { + scoped_ptr env( + base::EnvironmentVariableGetter::Create()); + *result = base::GetXDGUserDirectory(env.get(), "DOWNLOAD", "Downloads"); +- +- FilePath home = base::GetHomeDir(env.get()); +- if (*result == home) { +- *result = home.Append("Downloads"); +- return true; +- } +- +- FilePath desktop; +- GetUserDesktop(&desktop); +- if (*result == desktop) { +- *result = home.Append("Downloads"); +- } +- + return true; + } + + bool GetUserDesktop(FilePath* result) { + scoped_ptr env( + base::EnvironmentVariableGetter::Create()); + *result = base::GetXDGUserDirectory(env.get(), "DESKTOP", "Desktop"); + return true; --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/patches/chromium_useragent.patch +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/patches/chromium_useragent.patch @@ -0,0 +1,34 @@ +--- + webkit/glue/webkit_glue.cc | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +Index: src/webkit/glue/webkit_glue.cc +=================================================================== +--- src.orig/webkit/glue/webkit_glue.cc ++++ src/webkit/glue/webkit_glue.cc +@@ -366,18 +366,24 @@ + // Get the product name and version, and replace Safari's Version/X string + // with it. This is done to expose our product name in a manner that is + // maximally compatible with Safari, we hope!! + std::string product; + + if (!mimic_safari) { + scoped_ptr version_info( + FileVersionInfo::CreateFileVersionInfoForCurrentModule()); +- if (version_info.get()) ++ if (version_info.get()) { ++ std::string product_name; ++ ++ product_name = WideToASCII(version_info->product_name()); + product = "Chrome/" + WideToASCII(version_info->product_version()); ++ if (LowerCaseEqualsASCII(product_name, "chromium")) ++ product += " " + product_name + "/" + WideToASCII(version_info->product_version()); ++ } + } + + if (product.empty()) + product = "Version/3.2.1"; + + // Derived from Safari's UA string. + StringAppendF( + result, --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/licenses/LICENSE.global BSD-style libjingle +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/licenses/LICENSE.global BSD-style libjingle @@ -0,0 +1,24 @@ +License: global BSD-style libjingle + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + . + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY + WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/licenses/LICENSE.ICU-License +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/licenses/LICENSE.ICU-License @@ -0,0 +1,23 @@ +License: ICU-License + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, and/or sell + copies of the Software, and to permit persons + to whom the Software is furnished to do so, provided that the above + copyright notice(s) and this permission notice appear in all copies + of the Software and that both the above copyright notice(s) and this + permission notice appear in supporting documentation. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A + PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL + THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, + OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER + RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE + USE OR PERFORMANCE OF THIS SOFTWARE. + . + Except as contained in this notice, the name of a copyright holder shall not be + used in advertising or otherwise to promote the sale, use or other dealings in + this Software without prior written authorization of the copyright holder. --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/licenses/LICENSE.Apache (v2.0) +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/licenses/LICENSE.Apache (v2.0) @@ -0,0 +1,2 @@ +License: Apache (v2.0) + See: /usr/share/common-licenses/Apache-2.0 --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/licenses/LICENSE.BSD (2 clause) +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/licenses/LICENSE.BSD (2 clause) @@ -0,0 +1,24 @@ +License: BSD (2 clause) + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice(s), this list of conditions and the following disclaimer as + the first lines of this file unmodified other than the possible + addition of one or more copyright notices. + 2. Redistributions in binary form must reproduce the above copyright + notice(s), this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/licenses/LICENSE.global BSD-style Chromium +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/licenses/LICENSE.global BSD-style Chromium @@ -0,0 +1,27 @@ +License: global BSD-style Chromium + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + . + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/licenses/LICENSE.LGPL-2.0-or-later +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/licenses/LICENSE.LGPL-2.0-or-later @@ -0,0 +1,18 @@ +License: LGPL (v2 or later) + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + . + This library 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 + Library General Public License for more details. + . + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. + . + Full license text: /usr/share/common-licenses/LGPL-2 + --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/licenses/LICENSE.BSL (v1) +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/licenses/LICENSE.BSL (v1) @@ -0,0 +1,25 @@ +License: BSL (v1) + Boost Software License - Version 1.0 - August 17th, 2003 + + Permission is hereby granted, free of charge, to any person or organization + obtaining a copy of the software and accompanying documentation covered by + this license (the "Software") to use, reproduce, display, distribute, + execute, and transmit the Software, and to prepare derivative works of the + Software, and to permit third-parties to whom the Software is furnished to + do so, all subject to the following: + + The copyright notices in the Software and this entire statement, including + the above license grant, this restriction and the following disclaimer, + must be included in all copies of the Software, in whole or in part, and + all derivative works of the Software, unless such copies or derivative + works are solely in the form of machine-executable object code generated by + a source language processor. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/licenses/BSL (v1) +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/licenses/BSL (v1) @@ -0,0 +1,25 @@ +License: BSL (v1) + Boost Software License - Version 1.0 - August 17th, 2003 + + Permission is hereby granted, free of charge, to any person or organization + obtaining a copy of the software and accompanying documentation covered by + this license (the "Software") to use, reproduce, display, distribute, + execute, and transmit the Software, and to prepare derivative works of the + Software, and to permit third-parties to whom the Software is furnished to + do so, all subject to the following: + + The copyright notices in the Software and this entire statement, including + the above license grant, this restriction and the following disclaimer, + must be included in all copies of the Software, in whole or in part, and + all derivative works of the Software, unless such copies or derivative + works are solely in the form of machine-executable object code generated by + a source language processor. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/licenses/LICENSE.LGPL-2.1-or-later +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/licenses/LICENSE.LGPL-2.1-or-later @@ -0,0 +1,17 @@ +License: LGPL (v2.1 or later) + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + . + This library 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 for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + . + Full license text: /usr/share/common-licenses/LGPL-2.1 + --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/licenses/LICENSE.GPL-2-or-later +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/licenses/LICENSE.GPL-2-or-later @@ -0,0 +1,17 @@ +License GPL (v2 or later) + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + This program 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 General Public License for more details. + . + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + . + On debian/ubuntu the full license text can be found here: + /usr/share/common-licenses/GPL-2 --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/licenses/LICENSE.harfbuzz-License +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/licenses/LICENSE.harfbuzz-License @@ -0,0 +1,45 @@ +License: harfbuzz-License + Permission is hereby granted, without written agreement and without + license or royalty fees, to use, copy, modify, and distribute this + software and its documentation for any purpose, provided that the + above copyright notice and the following two paragraphs appear in + all copies of this software. + . + IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR + DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES + ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN + IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGE. + . + THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, + BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS + ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO + PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +License: icu-license + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, and/or sell + copies of the Software, and to permit persons + to whom the Software is furnished to do so, provided that the above + copyright notice(s) and this permission notice appear in all copies + of the Software and that both the above copyright notice(s) and this + permission notice appear in supporting documentation. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A + PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL + THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, + OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER + RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE + USE OR PERFORMANCE OF THIS SOFTWARE. + . + Except as contained in this notice, the name of a copyright holder shall not be + used in advertising or otherwise to promote the sale, use or other dealings in + this Software without prior written authorization of the copyright holder. + . + All trademarks and registered trademarks mentioned herein are the property of their respective owners. + --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/cdbs/tarball.mk +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/cdbs/tarball.mk @@ -0,0 +1,118 @@ +# -*- mode: makefile; coding: utf-8 -*- +# Copyright © 2003 Jeff Bailey +# Description: A class for Tarball-based packages +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2, or (at +# your option) any later version. +# +# This program 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 +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +# 02111-1307 USA. + +#### +# facilitates unpacking into a directory and setting DEB_SRCDIR and +# DEB_BUILDDIR appropriately. Note that tarball.mk MUST come +# *FIRST* in the list of included rules. +#### + +_cdbs_scripts_path ?= /usr/lib/cdbs +_cdbs_rules_path ?= /usr/share/cdbs/1/rules +_cdbs_class_path ?= /usr/share/cdbs/1/class + +ifndef _cdbs_rules_tarball +_cdbs_rules_tarball = 1 + +include $(_cdbs_rules_path)/buildcore.mk$(_cdbs_makefile_suffix) + +# The user developper may override this variable to choose which tarballs +# to unpack. + +ifeq ($(DEB_TAR_SRCDIR),) +$(error DEB_TAR_SRCDIR must be specified) +endif + +_cdbs_tarball_dir = build-tree + +DEB_SRCDIR = $(_cdbs_tarball_dir)/$(DEB_TAR_SRCDIR) +DEB_BUILDDIR ?= $(DEB_SRCDIR) + +# This is not my finest piece of work. +# Essentially, it's never right to unpack a tarball more than once +# so we have to emit stamps. The stamps then have to be the rule +# we use. Then we have to figure out what file we're working on +# based on the stamp name. Also, tar-gzip archives can be either +# .tar.gz or .tgz. tar-bzip archives can be either tar.bz or tar.bz2 +# tar-lzma archives can be either tar.7z or tar.lzma + +_cdbs_tarball_stamps = $(addprefix debian/stamp-,$(notdir $(DEB_TARBALL))) +_cdbs_tarball_stamp_base = $(basename $(_cdbs_tarball_stamps)) + +ifeq ($(DEB_VERBOSE_ALL),yes) +_cdbs_tar_verbose = -v +endif + +pre-build:: $(_cdbs_tarball_stamps) +ifneq (, $(config_guess_tar)) + if test -e /usr/share/misc/config.guess ; then \ + for i in $(config_guess_tar) ; do \ + cp --remove-destination /usr/share/misc/config.guess \ + $(_cdbs_tarball_dir)/$$i ; \ + done ; \ + fi +endif +ifneq (, $(config_sub_tar)) + if test -e /usr/share/misc/config.sub ; then \ + for i in $(config_sub_tar) ; do \ + cp --remove-destination /usr/share/misc/config.sub \ + $(_cdbs_tarball_dir)/$$i ; \ + done ; \ + fi +endif +ifneq (, $(config_rpath_tar)) + if test -e /usr/share/gnulib/config/config.rpath ; then \ + for i in $(config_rpath_tar) ; do \ + cp --remove-destination /usr/share/gnulib/config/config.rpath \ + $(_cdbs_tarball_dir)/$$i ; \ + done ; \ + fi +endif + +_cdbs_stampname_to_tarname = $(filter $(patsubst stamp-%,%,$(notdir $(1))) %/$(patsubst stamp-%,%,$(notdir $(1))),$(DEB_TARBALL)) + +$(addsuffix .tar,$(_cdbs_tarball_stamp_base)): + tar -C $(_cdbs_tarball_dir) $(_cdbs_tar_verbose) -x -f $(call _cdbs_stampname_to_tarname,$@) + touch $@ + +$(addsuffix .gz,$(_cdbs_tarball_stamp_base)) $(addsuffix .tgz,$(_cdbs_tarball_stamp_base)): + tar -C $(_cdbs_tarball_dir) $(_cdbs_tar_verbose) -x -z -f $(call _cdbs_stampname_to_tarname,$@) + touch $@ + +$(addsuffix .bz,$(_cdbs_tarball_stamp_base)) $(addsuffix .bz2,$(_cdbs_tarball_stamp_base)): + tar -C $(_cdbs_tarball_dir) $(_cdbs_tar_verbose) -x -j -f $(call _cdbs_stampname_to_tarname,$@) + touch $@ + +$(addsuffix .7z,$(_cdbs_tarball_stamp_base)) $(addsuffix .lzma,$(_cdbs_tarball_stamp_base)): + # Hardy's tar doesn't support lzma + # tar -C $(_cdbs_tarball_dir) $(_cdbs_tar_verbose) -x --lzma -f $(call _cdbs_stampname_to_tarname,$@) + lzma -dkc $(call _cdbs_stampname_to_tarname,$@) | ( cd $(_cdbs_tarball_dir) ; tar xf - ) + touch $@ + +$(addsuffix .zip,$(_cdbs_tarball_stamp_base)): + unzip $(call _cdbs_stampname_to_tarname,$@) -d $(_cdbs_tarball_dir) + touch $@ + +cleanbuilddir:: + rm -rf $(_cdbs_tarball_dir) + rm -f $(_cdbs_tarball_stamps) + rm -f debian/stamp-patch-* + rm -rf debian/patched + +endif --- chromium-browser-4.0.303.0~svn20100120r36627.orig/debian/cdbs/scons.mk +++ chromium-browser-4.0.303.0~svn20100120r36627/debian/cdbs/scons.mk @@ -0,0 +1,42 @@ +# -*- mode: makefile; coding: utf-8 -*- +# Copyright © 2008, Fabien Tassin +# Description: A class to build scons packages +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2, or (at +# your option) any later version. +# +# This program 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 +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +_cdbs_scripts_path ?= /usr/lib/cdbs +_cdbs_rules_pat ?= /usr/share/cdbs/1/rules +_cdbs_class_path ?= /usr/share/cdbs/1/class + +ifndef _cdbs_class_scons +_cdbs_class_scons = 1 + +SCONS ?= scons + +common-build-arch common-build-indep:: debian/stamp-scons-build +debian/stamp-scons-build: + cd $(DEB_BUILDDIR) && $(DEB_SCONS_ENVVARS) $(SCONS) $(DEB_SCONS_ARGS) + touch $@ + +### There's no install rule yet +#common-install-arch common-install-indep:: common-install-impl +#common-install-impl:: +# cd $(DEB_BUILDDIR) && $(DEB_SCONS_ENVVARS) DESTDIR=$(DEB_DESTDIR) $(SCONS) $(DEB_SCONS_INSTALL_ARGS) install + +clean:: + cd $(DEB_BUILDDIR) && $(DEB_SCONS_ENVVARS) $(SCONS) $(DEB_SCONS_CLEAN_ARGS) --keep-going --clean || true + rm -f debian/stamp-scons-build + +endif