diff options
author | axis <qt-info@nokia.com> | 2011-04-08 14:40:12 +0200 |
---|---|---|
committer | axis <qt-info@nokia.com> | 2011-04-08 14:41:34 +0200 |
commit | 98e9f6612c36f6f944baac59c1e07ff91b615dfd (patch) | |
tree | 8e2ce6e580b7dc63b12a93a613857252498c5b0c | |
parent | 391cacfea4d434a9f98ab68fb9943a96a5cabe10 (diff) |
Created a convenience script to initialize the qt5 repository.
By passing -nokia-developer you modify the links to point to the
internal scm server instead of the public gitorious.org server.
Configure will automatically call it if the user hasn't already.
-rwxr-xr-x | qt5/configure | 2 | ||||
-rwxr-xr-x | qt5/init-repository | 119 |
2 files changed, 121 insertions, 0 deletions
diff --git a/qt5/configure b/qt5/configure index b805ca3..2160249 100755 --- a/qt5/configure +++ b/qt5/configure @@ -44,6 +44,8 @@ $relpath =~ s,\\,/,g; # the current directory is the "build tree" or "object tree" my $outpath = getcwd(); +system_v("perl $relpath/init-repository -q") and die("init-repository failed"); + system_v("perl $relpath/fix-webkit") and die("Applying webkit patches failed"); ensureDir("$outpath/qtbase"); diff --git a/qt5/init-repository b/qt5/init-repository new file mode 100755 index 0000000..ac3a7a2 --- /dev/null +++ b/qt5/init-repository @@ -0,0 +1,119 @@ +#!/usr/bin/perl -w +############################################################################# +## +## Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +## All rights reserved. +## Contact: Nokia Corporation (qt-info@nokia.com) +## +## This file is part of the utilities of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL$ +## No Commercial Usage +## This file contains pre-release code and may not be distributed. +## You may use this file in accordance with the terms and conditions +## contained in the Technology Preview License Agreement accompanying +## this package. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 as published by the Free Software +## Foundation and appearing in the file LICENSE.LGPL included in the +## packaging of this file. Please review the following information to +## ensure the GNU Lesser General Public License version 2.1 requirements +## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## In addition, as a special exception, Nokia gives you certain additional +## rights. These rights are described in the Nokia Qt LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## If you have questions regarding the use of this file, please contact +## Nokia at qt-info@nokia.com. +## +## +## +## +## +## +## +## +## $QT_END_LICENSE$ +## +############################################################################# + +my $force = 0; +my $quiet = 0; +my $nokia_developer = 0; + +sub system_v +{ + if (!$quiet) { + print "+ "; + print @_; + print "\n"; + } + return system(@_); +} + +sub printUsage +{ + print("$0 <options>\n"); + print("-f\tForce initialization\n"); + print("-q\tQuiet operation. Will exit cleanly if repository is already\n"); + print("\tinitialized\n"); + print("-nokia-developer Switch to internal Nokia URLs.\n"); +} + +while (@ARGV) { + my $arg = $ARGV[0]; + if ($arg eq "-f") { + $force = 1; + } elsif ($arg eq "-q") { + $quiet = 1; + } elsif ($arg eq "-nokia-developer") { + $nokia_developer = 1; + } elsif ($arg eq "-h" || $arg eq "--help") { + printUsage(); + exit 0; + } else { + die("Illegal argument: $arg"); + } + shift; +} + +if (`git config --get submodule.qtbase.url`) { + if ($force) { + my @configresult = `git config -l`; + foreach (@configresult) { + if (/(submodule\.[^.=]+\.url)=.*/) { + system_v("git config --unset $1"); + } + } + } else { + exit 0 if ($quiet); + print("Will not reinitialize already initialized repository (use -f to force)!\n"); + exit 1; + } +} + +my $init_args = ""; +$init_args = "-q" if ($quiet); +system_v("git submodule init $init_args"); + +if ($nokia_developer) { + my @configresult = `git config -l`; + foreach (@configresult) { + if (/(submodule\.[^.=]+\.url)=(.*)/) { + my $key = $1; + my $value = $2; + # WebKit is special, and has only external link. + if ($key eq "submodule.qtwebkit.url") { + $value =~ s,^git://gitorious\.org/,git\@gitorious.org:,; + } else { + $value =~ s,^git://gitorious\.org/,git\@scm.dev.nokia.troll.no:,; + } + system_v("git config \"$key\" \"$value\""); + } + } +} + +system_v("git submodule update"); |