diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2008-04-10 17:09:49 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <mpg@redhat.com> | 2008-04-10 17:09:49 (GMT) |
commit | 0bbd9750090e1c4d88cfae9e64f65b5f29b31a0b (patch) | |
tree | 566fee205c1a7237713391456ce9aff91ef685e9 | |
parent | 264bb0a4df6d77287ac271048f43fb5108cd0cce (diff) |
Revert "Fetch jhbuild as a submodule."
This reverts commit 95e2c115896e0b2bf1a763b0cc962b556c53ef8b.
-rw-r--r-- | .gitmodules | 3 | ||||
m--------- | build-scripts/jhbuild | 0 | ||||
-rw-r--r-- | snapshot.py | 200 | ||||
-rwxr-xr-x | sugar-jhbuild | 12 | ||||
-rw-r--r-- | xulrunner-beta2.patch | 56 |
5 files changed, 259 insertions, 12 deletions
diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 5d47a68..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "build-scripts/jhbuild"] - path = build-scripts/jhbuild - url = git://dev.laptop.org/users/marco/jhbuild diff --git a/build-scripts/jhbuild b/build-scripts/jhbuild deleted file mode 160000 -Subproject e81d136f265dd65c0f21f2735b03250d6437fd4 diff --git a/snapshot.py b/snapshot.py new file mode 100644 index 0000000..9b9c9be --- /dev/null +++ b/snapshot.py @@ -0,0 +1,200 @@ +# jhbuild - a build script for GNOME 1.x and 2.x +# Copyright (C) 2001-2006 James Henstridge +# +# base.py: the most common jhbuild commands +# +# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +import os +import re +import subprocess +import time + +import jhbuild.moduleset +import jhbuild.frontends +from jhbuild.commands import Command, register_command + +class PackageInfo(object): + def __init__(self, tarball, name, version, commitid, news): + self.tarball = tarball + self.name = name + self.version = version + self.commitid = commitid + self.news = news + + def get_package_dir(self): + return os.path.join(os.environ['FEDORA_CVS_ROOT'], + self.name, 'OLPC-2') + +def get_name_and_version(): + f = open('configure.ac', 'r') + config = f.read() + f.close() + + exp = 'AC_INIT\(\[[^\]]+\],\[([^\]]+)\],\[\],\[([^\]]+)\]' + match = re.search(exp, config) + if not match: + print 'Cannot find the package name and version.' + sys.exit(0) + + return [ match.group(2), match.group(1) ] + +def build_rpm(info): + alphatag = time.strftime('%Y%m%dgit', time.gmtime()) + spec_filename = '%s.spec' % info.name + + f = open(spec_filename, 'r') + spec = f.read() + f.close() + + spec = re.sub('define\salphatag.*', 'define alphatag %s' % alphatag, spec) + spec = re.sub('define\scommitid.*', + 'define commitid %s' % info.commitid, spec) + + match = re.search('Release\:\s[0-9]+\.([0-9]*)', spec) + release = int(match.group(1)) + 1 + + spec_release = '0.%d.%%{alphatag}.%%{commitid}' % release + spec = re.sub('Release:\s.*', 'Release: ' + spec_release, spec) + + date = time.strftime('%a %b %d %Y', time.localtime()) + name = os.environ['FEDORA_FULL_NAME'] + ' <%s>' % os.environ['FEDORA_EMAIL'] + clog_release = '0.%d.%s%s' % (release, alphatag, info.commitid) + header = '* %s %s - %s-%s' % (date, name, info.version, clog_release) + news = info.news.replace('*', '-') + + before, sep, after = spec.partition('%changelog') + spec = before + sep + '\n%s\n%s' % (header, news) + after + + f = open(spec_filename, 'w') + f.write(spec) + f.close() + + if subprocess.call(['make', 'new-sources', 'FILES=%s' % info.tarball]) != 0: + return + + if subprocess.call(['make', 'clog']) != 0: + return + + if subprocess.call(['cvs', 'commit', '-F', './clog']) != 0: + return + + if subprocess.call(['make', 'tag']) != 0: + return + + if subprocess.call(['make', 'build']) != 0: + return + + return True + +def build_tarball(): + [ name, version ] = get_name_and_version() + + for env in ['FEDORA_CVS_ROOT', 'FEDORA_FULL_NAME', 'FEDORA_EMAIL']: + if env not in os.environ: + print 'Please set the %s environment variable.' % env + return None + + print 'Update git...' + + retcode = subprocess.call(['git', 'pull']) + if retcode: + print 'ERROR - cannot pull from git' + return None + + cmd = 'git-show-ref --hash=10 refs/heads/master' + commitid = os.popen(cmd).readline().strip() + + tarball = '%s-%s-git%s.tar.bz2' % (name, version, commitid) + + print 'Build %s...' % tarball + + retcode = subprocess.call(['make', 'distcheck']) + if retcode: + return None + + os.rename('%s-%s.tar.bz2' % (name, version), tarball) + + print 'Update NEWS...' + + f = open('NEWS', 'r') + news = f.read() + + f.seek(0) + snapshot_news = '' + for line in f.readlines(): + if len(line.strip()) > 0: + snapshot_news += line + else: + break + + f.close() + + news = 'Snapshot %s\n\n' % commitid + news + + f = open('NEWS', 'w') + f.write(news) + f.close() + + print 'Committing to git...' + + changelog = 'Snapshot %s.' % commitid + retcode = subprocess.call(['git', 'commit', '-a', '-m % s' % changelog]) + if retcode: + print 'ERROR - cannot commit to git' + return None + + retcode = subprocess.call(['git', 'push']) + if retcode: + print 'ERROR - cannot push to git' + return None + + return PackageInfo(os.path.abspath(tarball), name, + version, commitid, snapshot_news) + +class cmd_snapshot(Command): + """Build a snapshot """ + + name = 'snapshot' + usage_args = '[ options ... ] [ modules ... ]' + + def __init__(self): + Command.__init__(self) + + def run(self, config, options, args): + module_set = jhbuild.moduleset.load(config) + try: + module_list = [module_set.modules[modname] for modname in args] + except KeyError, e: + raise FatalError("A module called '%s' could not be found." + % str(e)) + + build = jhbuild.frontends.get_buildscript(config, module_list) + + for module in module_list: + old_cwd = os.getcwd() + + os.chdir(module.get_srcdir(build)) + + package_info = build_tarball() + if package_info: + package_dir = package_info.get_package_dir() + if package_dir: + os.chdir(package_dir) + build_rpm(package_info) + + os.chdir(old_cwd) + +register_command(cmd_snapshot) diff --git a/sugar-jhbuild b/sugar-jhbuild index 5f964fa..5cd450c 100755 --- a/sugar-jhbuild +++ b/sugar-jhbuild @@ -5,19 +5,13 @@ import sys import subprocess base_dir = os.path.abspath(os.path.dirname(__file__)) -jhbuild_dir = os.path.join(base_dir, 'build-scripts', 'jhbuild') -sys.path.append(jhbuild_dir) +sys.path.append(os.path.join(base_dir, 'build-scripts', 'jhbuild')) # The update needs to be very early, before we load any module if len(sys.argv) == 1 or (len(sys.argv) > 1 and sys.argv[1] == 'build'): print 'Updating sugar-jhbuild...' - - try: - subprocess.check_call(['git', 'pull']) - if not os.path.exists(os.path.join(jhbuild_dir, '.git')): - subprocess.check_call(['git', 'submodule', 'init']) - subprocess.check_call(['git', 'submodule', 'update']) - except subprocess.CalledProcessError: + retcode = subprocess.call(['git', 'pull']) + if retcode: print 'sugar-jhbuild update failed.' import main diff --git a/xulrunner-beta2.patch b/xulrunner-beta2.patch new file mode 100644 index 0000000..0e07519 --- /dev/null +++ b/xulrunner-beta2.patch @@ -0,0 +1,56 @@ +diff --git a/build-scripts/patches/xulrunner-no-native-theme.patch b/build-scripts/patches/xulrunner-no-native-theme.patch +index 2c1f263..268f861 100644 +--- a/build-scripts/patches/xulrunner-no-native-theme.patch ++++ b/build-scripts/patches/xulrunner-no-native-theme.patch +@@ -1,6 +1,6 @@ +---- /tmp/nsNativeThemeGTK.cpp 2007-12-13 20:18:32.000000000 +0100 +-+++ widget/src/gtk2/nsNativeThemeGTK.cpp 2007-12-13 20:19:01.000000000 +0100 +-@@ -983,48 +983,6 @@ ++--- /tmp/nsNativeThemeGTK.cpp 2008-01-09 10:51:55.000000000 +0100 +++++ widget/src/gtk2/nsNativeThemeGTK.cpp 2008-01-09 11:29:02.000000000 +0100 ++@@ -1070,48 +1070,6 @@ + return PR_FALSE; + + switch (aWidgetType) { +@@ -15,7 +15,7 @@ + - case NS_THEME_TOOLBAR_BUTTON: + - case NS_THEME_TOOLBAR_DUAL_BUTTON: // so we can override the border with 0 + - // case NS_THEME_TOOLBAR_DUAL_BUTTON_DROPDOWN: +-- // case NS_THEME_TOOLBAR_SEPARATOR: ++- case NS_THEME_TOOLBAR_SEPARATOR: + - case NS_THEME_TOOLBAR_GRIPPER: + - case NS_THEME_STATUSBAR: + - case NS_THEME_STATUSBAR_PANEL: +@@ -49,7 +49,7 @@ + case NS_THEME_SCROLLBAR_BUTTON_UP: + case NS_THEME_SCROLLBAR_BUTTON_DOWN: + case NS_THEME_SCROLLBAR_BUTTON_LEFT: +-@@ -1033,40 +991,7 @@ ++@@ -1120,42 +1078,7 @@ + case NS_THEME_SCROLLBAR_TRACK_VERTICAL: + case NS_THEME_SCROLLBAR_THUMB_HORIZONTAL: + case NS_THEME_SCROLLBAR_THUMB_VERTICAL: +@@ -73,6 +73,8 @@ + - case NS_THEME_MENUBAR: + - case NS_THEME_MENUPOPUP: + - case NS_THEME_MENUITEM: ++- case NS_THEME_MENUARROW: ++- case NS_THEME_MENUSEPARATOR: + - case NS_THEME_CHECKMENUITEM: + - case NS_THEME_RADIOMENUITEM: + - case NS_THEME_WINDOW: +diff --git a/build-scripts/sugar-platform.modules b/build-scripts/sugar-platform.modules +index 6a911ec..e0ad606 100644 +--- a/build-scripts/sugar-platform.modules ++++ b/build-scripts/sugar-platform.modules +@@ -58,8 +58,8 @@ + </dependencies> + </tarball> + <tarball id="xulrunner" autogenargs="--disable-accessibility --with-pthreads --disable-strip --disable-tests --disable-debug --disable-installer --enable-optimize --enable-xinerama --enable-default-toolkit=cairo-gtk2 --disable-xprint --enable-pango --enable-svg --enable-canvas --enable-application=xulrunner --disable-javaxpcom --disable-gnomeui --disable-gnomevfs --disable-airbag --enable-extensions=default,cookie,python/xpcom --disable-crashreporter" version="1.9.20071120cvs"> +- <source href="http://dev.laptop.org/pub/sugar/xulrunner/xulrunner-1.9.20071120cvs.tar.bz2" +- size="32517234" md5sum="6308ffcb08fa88ac14761a2acf622f6f"/> ++ <source href="http://dev.laptop.org/pub/sugar/xulrunner/xulrunner-1.9.beta2.20071212cvs.tar.bz2" ++ size="32444484" md5sum="23d1f8252770992723652398a8c67d2b"/> + <dependencies> + </dependencies> + <patches> |