#!/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 \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; if ($key eq "submodule.qtwebkit.url") { # WebKit is special, and has only external link. $value =~ s,^git://gitorious\.org/,git\@gitorious.org:,; } else { # qt-labs projects are still hosted under qt internally. $value =~ s,^git://gitorious\.org/qt-labs/,git\@scm.dev.nokia.troll.no:qt/,; $value =~ s,^git://gitorious\.org/,git\@scm.dev.nokia.troll.no:,; } system_v("git config \"$key\" \"$value\""); } } } system_v("git submodule update");