From 7cd4cee4819b134a195ffb26eae26032493ef6bd Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Tue, 20 Jan 2009 17:21:49 +0000 Subject: Some refactoring and fixes. --- diff --git a/sbuildbot/AUTHORS b/buildbot/AUTHORS index 01194e8..01194e8 100644 --- a/sbuildbot/AUTHORS +++ b/buildbot/AUTHORS diff --git a/sbuildbot/Makefile b/buildbot/Makefile index 5f79e59..5f79e59 100644 --- a/sbuildbot/Makefile +++ b/buildbot/Makefile diff --git a/sbuildbot/README b/buildbot/README index cafbebb..cafbebb 100644 --- a/sbuildbot/README +++ b/buildbot/README diff --git a/sbuildbot/buildbot.tac b/buildbot/buildbot.tac index e97e732..e97e732 100644 --- a/sbuildbot/buildbot.tac +++ b/buildbot/buildbot.tac diff --git a/sbuildbot/master.cfg b/buildbot/master.cfg index 381f3d5..381f3d5 100644 --- a/sbuildbot/master.cfg +++ b/buildbot/master.cfg diff --git a/sbuildbot/public_html/bar.png b/buildbot/public_html/bar.png index e5b354e..e5b354e 100644 --- a/sbuildbot/public_html/bar.png +++ b/buildbot/public_html/bar.png Binary files differ diff --git a/sbuildbot/public_html/building.png b/buildbot/public_html/building.png index 46ad8a0..46ad8a0 100644 --- a/sbuildbot/public_html/building.png +++ b/buildbot/public_html/building.png Binary files differ diff --git a/sbuildbot/public_html/cyan-bar.png b/buildbot/public_html/cyan-bar.png index 6c44fdf..6c44fdf 100644 --- a/sbuildbot/public_html/cyan-bar.png +++ b/buildbot/public_html/cyan-bar.png Binary files differ diff --git a/sbuildbot/public_html/download.png b/buildbot/public_html/download.png index cf1945c..cf1945c 100644 --- a/sbuildbot/public_html/download.png +++ b/buildbot/public_html/download.png Binary files differ diff --git a/sbuildbot/public_html/emptyimg.png b/buildbot/public_html/emptyimg.png index 9b63c56..9b63c56 100644 --- a/sbuildbot/public_html/emptyimg.png +++ b/buildbot/public_html/emptyimg.png Binary files differ diff --git a/sbuildbot/public_html/error.png b/buildbot/public_html/error.png index 4c485f7..4c485f7 100644 --- a/sbuildbot/public_html/error.png +++ b/buildbot/public_html/error.png Binary files differ diff --git a/sbuildbot/public_html/feed-atom.png b/buildbot/public_html/feed-atom.png index c8d70ca..c8d70ca 100644 --- a/sbuildbot/public_html/feed-atom.png +++ b/buildbot/public_html/feed-atom.png Binary files differ diff --git a/sbuildbot/public_html/feed.png b/buildbot/public_html/feed.png index eb47e19..eb47e19 100644 --- a/sbuildbot/public_html/feed.png +++ b/buildbot/public_html/feed.png Binary files differ diff --git a/sbuildbot/public_html/figure.png b/buildbot/public_html/figure.png index 18aac33..18aac33 100644 --- a/sbuildbot/public_html/figure.png +++ b/buildbot/public_html/figure.png Binary files differ diff --git a/sbuildbot/public_html/foot-16.png b/buildbot/public_html/foot-16.png index 95c4ff6..95c4ff6 100644 --- a/sbuildbot/public_html/foot-16.png +++ b/buildbot/public_html/foot-16.png Binary files differ diff --git a/sbuildbot/public_html/foot.png b/buildbot/public_html/foot.png index 1138da1..1138da1 100644 --- a/sbuildbot/public_html/foot.png +++ b/buildbot/public_html/foot.png Binary files differ diff --git a/sbuildbot/public_html/general_bg.png b/buildbot/public_html/general_bg.png index 8840fe2..8840fe2 100644 --- a/sbuildbot/public_html/general_bg.png +++ b/buildbot/public_html/general_bg.png Binary files differ diff --git a/sbuildbot/public_html/general_separator.png b/buildbot/public_html/general_separator.png index bd865e8..bd865e8 100644 --- a/sbuildbot/public_html/general_separator.png +++ b/buildbot/public_html/general_separator.png Binary files differ diff --git a/sbuildbot/public_html/gnome-16.png b/buildbot/public_html/gnome-16.png index 95c4ff6..95c4ff6 100644 --- a/sbuildbot/public_html/gnome-16.png +++ b/buildbot/public_html/gnome-16.png Binary files differ diff --git a/sbuildbot/public_html/gnome-64.png b/buildbot/public_html/gnome-64.png index 09a3184..09a3184 100644 --- a/sbuildbot/public_html/gnome-64.png +++ b/buildbot/public_html/gnome-64.png Binary files differ diff --git a/sbuildbot/public_html/gnome-gtp.png b/buildbot/public_html/gnome-gtp.png index c7ed133..c7ed133 100644 --- a/sbuildbot/public_html/gnome-gtp.png +++ b/buildbot/public_html/gnome-gtp.png Binary files differ diff --git a/sbuildbot/public_html/green-bar.png b/buildbot/public_html/green-bar.png index d02dd14..d02dd14 100644 --- a/sbuildbot/public_html/green-bar.png +++ b/buildbot/public_html/green-bar.png Binary files differ diff --git a/sbuildbot/public_html/idle.png b/buildbot/public_html/idle.png index 4f031b7..4f031b7 100644 --- a/sbuildbot/public_html/idle.png +++ b/buildbot/public_html/idle.png Binary files differ diff --git a/sbuildbot/public_html/images.jpeg b/buildbot/public_html/images.jpeg index 54730ee..54730ee 100644 --- a/sbuildbot/public_html/images.jpeg +++ b/buildbot/public_html/images.jpeg Binary files differ diff --git a/sbuildbot/public_html/info.png b/buildbot/public_html/info.png index bbd5dba..bbd5dba 100644 --- a/sbuildbot/public_html/info.png +++ b/buildbot/public_html/info.png Binary files differ diff --git a/sbuildbot/public_html/lgo.css b/buildbot/public_html/lgo.css index 861cc83..861cc83 100644 --- a/sbuildbot/public_html/lgo.css +++ b/buildbot/public_html/lgo.css diff --git a/sbuildbot/public_html/logo.png b/buildbot/public_html/logo.png index 06e0940..06e0940 100644 --- a/sbuildbot/public_html/logo.png +++ b/buildbot/public_html/logo.png Binary files differ diff --git a/sbuildbot/public_html/nobody.png b/buildbot/public_html/nobody.png index dee7669..dee7669 100644 --- a/sbuildbot/public_html/nobody.png +++ b/buildbot/public_html/nobody.png Binary files differ diff --git a/sbuildbot/public_html/offline.png b/buildbot/public_html/offline.png index bc9a1b7..bc9a1b7 100644 --- a/sbuildbot/public_html/offline.png +++ b/buildbot/public_html/offline.png Binary files differ diff --git a/sbuildbot/public_html/purple-bar.png b/buildbot/public_html/purple-bar.png index 0c35c53..0c35c53 100644 --- a/sbuildbot/public_html/purple-bar.png +++ b/buildbot/public_html/purple-bar.png Binary files differ diff --git a/sbuildbot/public_html/red-bar.png b/buildbot/public_html/red-bar.png index 3439fd5..3439fd5 100644 --- a/sbuildbot/public_html/red-bar.png +++ b/buildbot/public_html/red-bar.png Binary files differ diff --git a/sbuildbot/public_html/robot.png b/buildbot/public_html/robot.png index 65a5304..65a5304 100644 --- a/sbuildbot/public_html/robot.png +++ b/buildbot/public_html/robot.png Binary files differ diff --git a/sbuildbot/public_html/robots.txt b/buildbot/public_html/robots.txt index 1f53798..1f53798 100644 --- a/sbuildbot/public_html/robots.txt +++ b/buildbot/public_html/robots.txt diff --git a/sbuildbot/public_html/star.png b/buildbot/public_html/star.png index a152a93..a152a93 100644 --- a/sbuildbot/public_html/star.png +++ b/buildbot/public_html/star.png Binary files differ diff --git a/sbuildbot/public_html/t.png b/buildbot/public_html/t.png index 7b67341..7b67341 100644 --- a/sbuildbot/public_html/t.png +++ b/buildbot/public_html/t.png Binary files differ diff --git a/sbuildbot/public_html/tab_left.png b/buildbot/public_html/tab_left.png index 0ead7a1..0ead7a1 100644 --- a/sbuildbot/public_html/tab_left.png +++ b/buildbot/public_html/tab_left.png Binary files differ diff --git a/sbuildbot/public_html/tab_right.png b/buildbot/public_html/tab_right.png index 2ee74d6..2ee74d6 100644 --- a/sbuildbot/public_html/tab_right.png +++ b/buildbot/public_html/tab_right.png Binary files differ diff --git a/sbuildbot/public_html/warn.png b/buildbot/public_html/warn.png index 9a8c5bb..9a8c5bb 100644 --- a/sbuildbot/public_html/warn.png +++ b/buildbot/public_html/warn.png Binary files differ diff --git a/sbuildbot/public_html/webpage.png b/buildbot/public_html/webpage.png index e5d80c1..e5d80c1 100644 --- a/sbuildbot/public_html/webpage.png +++ b/buildbot/public_html/webpage.png Binary files differ diff --git a/sbuildbot/slaves.csv b/buildbot/slaves.csv index 70d0f5c..70d0f5c 100644 --- a/sbuildbot/slaves.csv +++ b/buildbot/slaves.csv diff --git a/sbuildbot/template.html b/buildbot/template.html index 281c85d..281c85d 100644 --- a/sbuildbot/template.html +++ b/buildbot/template.html diff --git a/sjhbuild/modulesets/extra-activities.modules b/config/modulesets/extra-activities.modules index 60b4779..60b4779 100644 --- a/sjhbuild/modulesets/extra-activities.modules +++ b/config/modulesets/extra-activities.modules diff --git a/sjhbuild/modulesets/extra.modules b/config/modulesets/extra.modules index 4dde9e3..4dde9e3 100644 --- a/sjhbuild/modulesets/extra.modules +++ b/config/modulesets/extra.modules diff --git a/sjhbuild/modulesets/fructose.modules b/config/modulesets/fructose.modules index f06b9ad..f06b9ad 100644 --- a/sjhbuild/modulesets/fructose.modules +++ b/config/modulesets/fructose.modules diff --git a/sjhbuild/modulesets/glucose-external.modules b/config/modulesets/glucose-external.modules index 4278731..4278731 100644 --- a/sjhbuild/modulesets/glucose-external.modules +++ b/config/modulesets/glucose-external.modules diff --git a/sjhbuild/modulesets/glucose.modules b/config/modulesets/glucose.modules index d70b05f..d70b05f 100644 --- a/sjhbuild/modulesets/glucose.modules +++ b/config/modulesets/glucose.modules diff --git a/sjhbuild/modulesets/patches/astng-ignoredatadesc.patch b/config/modulesets/patches/astng-ignoredatadesc.patch index c527419..c527419 100644 --- a/sjhbuild/modulesets/patches/astng-ignoredatadesc.patch +++ b/config/modulesets/patches/astng-ignoredatadesc.patch diff --git a/sjhbuild/modulesets/patches/gconf-dbus-defaultpath.patch b/config/modulesets/patches/gconf-dbus-defaultpath.patch index f792566..f792566 100644 --- a/sjhbuild/modulesets/patches/gconf-dbus-defaultpath.patch +++ b/config/modulesets/patches/gconf-dbus-defaultpath.patch diff --git a/sjhbuild/modulesets/patches/gstreamer_system_clock_wait_jitter_block.patch b/config/modulesets/patches/gstreamer_system_clock_wait_jitter_block.patch index 754ec89..754ec89 100644 --- a/sjhbuild/modulesets/patches/gstreamer_system_clock_wait_jitter_block.patch +++ b/config/modulesets/patches/gstreamer_system_clock_wait_jitter_block.patch diff --git a/sjhbuild/modulesets/patches/libabiword-2.5.2-defaultfont.patch b/config/modulesets/patches/libabiword-2.5.2-defaultfont.patch index d783f87..d783f87 100644 --- a/sjhbuild/modulesets/patches/libabiword-2.5.2-defaultfont.patch +++ b/config/modulesets/patches/libabiword-2.5.2-defaultfont.patch diff --git a/sjhbuild/modulesets/patches/libabiword-2.6.0.svn20071031-draghandles.patch b/config/modulesets/patches/libabiword-2.6.0.svn20071031-draghandles.patch index 7e47270..7e47270 100644 --- a/sjhbuild/modulesets/patches/libabiword-2.6.0.svn20071031-draghandles.patch +++ b/config/modulesets/patches/libabiword-2.6.0.svn20071031-draghandles.patch diff --git a/sjhbuild/modulesets/patches/libabiword-2.6.0.svn20071031-nohtmloptions.patch b/config/modulesets/patches/libabiword-2.6.0.svn20071031-nohtmloptions.patch index cf885cb..cf885cb 100644 --- a/sjhbuild/modulesets/patches/libabiword-2.6.0.svn20071031-nohtmloptions.patch +++ b/config/modulesets/patches/libabiword-2.6.0.svn20071031-nohtmloptions.patch diff --git a/sjhbuild/modulesets/patches/libabiword-2.6.0.svn20071106-noassertinput.patch b/config/modulesets/patches/libabiword-2.6.0.svn20071106-noassertinput.patch index 1c1bef0..1c1bef0 100644 --- a/sjhbuild/modulesets/patches/libabiword-2.6.0.svn20071106-noassertinput.patch +++ b/config/modulesets/patches/libabiword-2.6.0.svn20071106-noassertinput.patch diff --git a/sjhbuild/modulesets/patches/libdbus_marshal.patch b/config/modulesets/patches/libdbus_marshal.patch index 8fc163e..8fc163e 100644 --- a/sjhbuild/modulesets/patches/libdbus_marshal.patch +++ b/config/modulesets/patches/libdbus_marshal.patch diff --git a/sjhbuild/modulesets/patches/libjingle_ignore_invalid_sockets.patch b/config/modulesets/patches/libjingle_ignore_invalid_sockets.patch index 30af0a5..30af0a5 100644 --- a/sjhbuild/modulesets/patches/libjingle_ignore_invalid_sockets.patch +++ b/config/modulesets/patches/libjingle_ignore_invalid_sockets.patch diff --git a/sjhbuild/modulesets/patches/libjingle_send_assert.patch b/config/modulesets/patches/libjingle_send_assert.patch index 9d3a7d3..9d3a7d3 100644 --- a/sjhbuild/modulesets/patches/libjingle_send_assert.patch +++ b/config/modulesets/patches/libjingle_send_assert.patch diff --git a/sjhbuild/modulesets/patches/libjingle_tcp_wouldblock.patch b/config/modulesets/patches/libjingle_tcp_wouldblock.patch index a89e0a7..a89e0a7 100644 --- a/sjhbuild/modulesets/patches/libjingle_tcp_wouldblock.patch +++ b/config/modulesets/patches/libjingle_tcp_wouldblock.patch diff --git a/sjhbuild/modulesets/patches/poppler-build.patch b/config/modulesets/patches/poppler-build.patch index d0591ea..d0591ea 100644 --- a/sjhbuild/modulesets/patches/poppler-build.patch +++ b/config/modulesets/patches/poppler-build.patch diff --git a/sjhbuild/modulesets/patches/pygobject-pylint.patch b/config/modulesets/patches/pygobject-pylint.patch index 8e4ff97..8e4ff97 100644 --- a/sjhbuild/modulesets/patches/pygobject-pylint.patch +++ b/config/modulesets/patches/pygobject-pylint.patch diff --git a/sjhbuild/modulesets/patches/telepathy-gabble-chmod-unix-socket.patch b/config/modulesets/patches/telepathy-gabble-chmod-unix-socket.patch index bb16883..bb16883 100644 --- a/sjhbuild/modulesets/patches/telepathy-gabble-chmod-unix-socket.patch +++ b/config/modulesets/patches/telepathy-gabble-chmod-unix-socket.patch diff --git a/sjhbuild/modulesets/patches/telepathy-gabble-olpc-no-dbus-uid-check.patch b/config/modulesets/patches/telepathy-gabble-olpc-no-dbus-uid-check.patch index f7e69f0..f7e69f0 100644 --- a/sjhbuild/modulesets/patches/telepathy-gabble-olpc-no-dbus-uid-check.patch +++ b/config/modulesets/patches/telepathy-gabble-olpc-no-dbus-uid-check.patch diff --git a/sjhbuild/modulesets/patches/telepathy-salut-chmod-unix-socket.patch b/config/modulesets/patches/telepathy-salut-chmod-unix-socket.patch index b6ba1b0..b6ba1b0 100644 --- a/sjhbuild/modulesets/patches/telepathy-salut-chmod-unix-socket.patch +++ b/config/modulesets/patches/telepathy-salut-chmod-unix-socket.patch diff --git a/sjhbuild/modulesets/patches/telepathy-salut-olpc-no-dbus-uid-check.patch b/config/modulesets/patches/telepathy-salut-olpc-no-dbus-uid-check.patch index d876cd8..d876cd8 100644 --- a/sjhbuild/modulesets/patches/telepathy-salut-olpc-no-dbus-uid-check.patch +++ b/config/modulesets/patches/telepathy-salut-olpc-no-dbus-uid-check.patch diff --git a/sjhbuild/modulesets/patches/xulrunner-no-native-theme.patch b/config/modulesets/patches/xulrunner-no-native-theme.patch index 85c2fdf..85c2fdf 100644 --- a/sjhbuild/modulesets/patches/xulrunner-no-native-theme.patch +++ b/config/modulesets/patches/xulrunner-no-native-theme.patch diff --git a/sjhbuild/modulesets/patches/xulrunner-perms.patch b/config/modulesets/patches/xulrunner-perms.patch index 524d5aa..524d5aa 100644 --- a/sjhbuild/modulesets/patches/xulrunner-perms.patch +++ b/config/modulesets/patches/xulrunner-perms.patch diff --git a/sjhbuild/modulesets/patches/xulrunner-xds.patch b/config/modulesets/patches/xulrunner-xds.patch index cb7eb28..cb7eb28 100644 --- a/sjhbuild/modulesets/patches/xulrunner-xds.patch +++ b/config/modulesets/patches/xulrunner-xds.patch diff --git a/sjhbuild/modulesets/sugar.modules b/config/modulesets/sugar.modules index cc18300..cc18300 100644 --- a/sjhbuild/modulesets/sugar.modules +++ b/config/modulesets/sugar.modules diff --git a/sjhbuild/modulesets/tools.modules b/config/modulesets/tools.modules index 3600f6b..3600f6b 100644 --- a/sjhbuild/modulesets/tools.modules +++ b/config/modulesets/tools.modules diff --git a/sjhbuild/sysdeps/debian-unstable.xml b/config/sysdeps/debian-unstable.xml index 0971c58..0971c58 100644 --- a/sjhbuild/sysdeps/debian-unstable.xml +++ b/config/sysdeps/debian-unstable.xml diff --git a/sjhbuild/sysdeps/fedora-10.xml b/config/sysdeps/fedora-10.xml index 190db8c..190db8c 100644 --- a/sjhbuild/sysdeps/fedora-10.xml +++ b/config/sysdeps/fedora-10.xml diff --git a/sjhbuild/sysdeps/fedora-rawhide.xml b/config/sysdeps/fedora-rawhide.xml index 190db8c..190db8c 100644 --- a/sjhbuild/sysdeps/fedora-rawhide.xml +++ b/config/sysdeps/fedora-rawhide.xml diff --git a/sjhbuild/sysdeps/olpc-4.xml b/config/sysdeps/olpc-4.xml index 5afef5a..5afef5a 100644 --- a/sjhbuild/sysdeps/olpc-4.xml +++ b/config/sysdeps/olpc-4.xml diff --git a/sjhbuild/sysdeps/ubuntu-8.10.xml b/config/sysdeps/ubuntu-8.10.xml index e9e9380..e9e9380 100644 --- a/sjhbuild/sysdeps/ubuntu-8.10.xml +++ b/config/sysdeps/ubuntu-8.10.xml diff --git a/sbuildbot/public_html/media b/sbuildbot/public_html/media deleted file mode 120000 index b8424c4..0000000 --- a/sbuildbot/public_html/media +++ /dev/null @@ -1 +0,0 @@ -/var/www/sugarlabs/media/ \ No newline at end of file diff --git a/sjhbuild/bundlemodule.py b/scripts/bundlemodule.py index 3a662c1..3a662c1 100644 --- a/sjhbuild/bundlemodule.py +++ b/scripts/bundlemodule.py diff --git a/scripts/config.py b/scripts/config.py index 0d7a1b8..c9a1049 100644 --- a/scripts/config.py +++ b/scripts/config.py @@ -6,69 +6,33 @@ import jhbuild.config import sysdeps class Config(jhbuild.config.Config): - def __init__(self, rc_file): - scripts_dir = os.path.dirname(__file__) - self._base_dir = os.path.dirname(scripts_dir) - self._set_dir = os.path.join(self._base_dir, 'config', 'modulesets') - - jhbuild.config.Config.__init__(self, self._ensure_rc_file(rc_file)) - + def __init__(self, base_dir, rc_file): + self.base_dir = base_dir + jhbuild.config.Config.__init__(self, os.path.join(self.base_dir, 'sugar.jhbuildrc')) self._setup() - def get_user_path(self): - user_path = os.path.expanduser('~/.sugar-jhbuild') - if not os.path.exists(user_path): - os.mkdir(user_path) - return user_path - - def _ensure_rc_file(self, rc_file): - if not os.path.exists(rc_file): - f = open(rc_file, 'w') - f.write('# Created by sugar-jhbuild') - f.close - return rc_file - def _setup(self): self.autogenargs = '' - self.moduleset = [] - self._add_moduleset('glucose-external.modules') - self._add_moduleset('tools.modules') - self._add_moduleset('extra.modules') - self._add_moduleset('extra-activities.modules') - - release_dir = None - for f in os.listdir(self._set_dir): - if f.startswith('release-'): - release_dir = f - - self._add_moduleset('glucose.modules', release_dir) - self._add_moduleset('fructose.modules', release_dir) - - self.modules = [ 'meta-tools', - 'meta-glucose', - 'meta-fructose' ] - - self.checkoutroot = os.path.join(self._base_dir, 'source') - self.tarballdir = self.checkoutroot - + self.checkoutroot = os.path.join(self.base_dir, 'source') + self.tarballdir = os.path.join(self.base_dir, 'source') + self.moduleset = os.path.join(self.base_dir, 'config', + 'modulesets', 'sugar.modules') + for package, source in sysdeps.get_packages(): if source and source not in self.skip: self.skip.append(source) - def _add_moduleset(self, moduleset, release_dir=None): - if release_dir: - path = os.path.join(self._set_dir, release_dir) - else: - path = self._set_dir - - self.moduleset.append(os.path.join(path, moduleset)) - def setup_env(self): # Hack to replace the default prefix if self.prefix == '/opt/gnome2': - self.prefix = os.path.join(self._base_dir, 'install') + self.prefix = os.path.join(self.base_dir, 'install') + + #Hack to allow sugar-jhbuild to find its self again. + MY_PATH = os.getenv('PATH', 'Error') + os.environ["PATH"] = MY_PATH + ':' + self.base_dir + jhbuild.config.Config.setup_env(self) jhbuild.config.addpath('XDG_DATA_DIRS', '/usr/share') diff --git a/scripts/main.py b/scripts/main.py index fd06471..44e27fb 100644 --- a/scripts/main.py +++ b/scripts/main.py @@ -18,70 +18,108 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -import sys, os +import sys, os, errno import optparse import traceback -import jhbuild.main +import gettext +localedir = os.path.abspath(os.path.join(os.path.dirname(__file__), '../mo')) +gettext.install('jhbuild', localedir=localedir, unicode=True) +import __builtin__ +__builtin__.__dict__['N_'] = lambda x: x + import jhbuild.commands from jhbuild.errors import UsageError, FatalError +from jhbuild.utils.cmds import get_output +from jhbuild.moduleset import warn_local_modulesets import bundlemodule import depscheck -import check -import report import clear from config import Config +if sys.platform == 'darwin': + # work around locale.getpreferredencoding() returning an empty string in + # Mac OS X, see http://bugzilla.gnome.org/show_bug.cgi?id=534650 and + # http://bazaar-vcs.org/DarwinCommandLineArgumentDecoding + sys.platform = 'posix' + try: + import locale + finally: + sys.platform = 'darwin' +else: + import locale + +try: + _encoding = locale.getpreferredencoding() + assert _encoding +except (locale.Error, AssertionError): + _encoding = 'ascii' + +def uencode(s): + if type(s) is unicode: + return s.encode(_encoding, 'replace') + else: + return s + +def uprint(*args): + '''Print Unicode string encoded for the terminal''' + for s in args[:-1]: + print uencode(s), + s = args[-1] + print uencode(s) + +__builtin__.__dict__['uprint'] = uprint +__builtin__.__dict__['uencode'] = uencode + def help_commands(option, opt_str, value, parser): - commands = [ - ('build', 'update and compile (the default)'), - ('build-base', 'build the base sugar dependencies'), - ('buildone', 'modules build a single module'), - ('update', 'update from version control'), - ('updateone', 'update a fixed set of modules'), - ('list', 'list what modules would be built'), - ('info', 'prints information about modules'), - ('tinderbox', 'build non-interactively with logging'), - ('gui', 'build targets from a gui app'), - ('run', 'run a command in the build environment'), - ('shell', 'start a shell in the build environment'), - ('depscheck', 'check that required dependencies exists'), - ('dot', 'output a dependency graph for processing with graphviz'), - ] - print 'sugar-jhbuild commands are:' - for (cmd, description) in commands: - print ' %-15s %s' % (cmd, description) + thisdir = os.path.abspath(os.path.dirname(__file__)) + + # import all available commands + for fname in os.listdir(os.path.join(thisdir, 'commands')): + name, ext = os.path.splitext(fname) + if not ext == '.py': + continue + try: + __import__('jhbuild.commands.%s' % name) + except ImportError: + pass + + uprint(_('JHBuild commands are:')) + commands = [(x.name, x.doc) for x in jhbuild.commands.get_commands().values()] + commands.sort() + for name, description in commands: + uprint(' %-15s %s' % (name, description)) print - print 'For more information run "sugar-jhbuild --help"' + uprint(_('For more information run "jhbuild --help"')) parser.exit() -def main(args): +def main(base_dir, args): parser = optparse.OptionParser( - usage='%prog [ -f config ] command [ options ... ]', - description='Build sugar and his dependencies.') + usage=_('%prog [ -f config ] command [ options ... ]'), + description=_('Build a set of modules from diverse repositories in correct dependency order (such as GNOME).')) parser.disable_interspersed_args() parser.add_option('--help-commands', action='callback', callback=help_commands, - help='Information about available jhbuild commands') + help=_('Information about available jhbuild commands')) parser.add_option('-f', '--file', action='store', metavar='CONFIG', type='string', dest='configfile', - default=os.path.join(os.environ['HOME'], '.sugar.jhbuildrc'), - help='use a non default configuration file') + default=os.environ.get("JHBUILDRC", os.path.join(os.environ['HOME'], '.jhbuildrc')), + help=_('use a non default configuration file')) parser.add_option('-m', '--moduleset', action='store', metavar='URI', type='string', dest='moduleset', default=None, - help='use a non default module set') + help=_('use a non default module set')) parser.add_option('--no-interact', action='store_true', dest='nointeract', default=False, - help='do not prompt for input') + help=_('do not prompt for input')) options, args = parser.parse_args(args) try: - config = Config(options.configfile) + config = Config(base_dir, options.configfile) except FatalError, exc: - sys.stderr.write('sugar-jhbuild: %s\n' % (str(exc))) + sys.stderr.write('sugar-jhbuild: %s\n' % exc.args[0].encode(_encoding, 'replace')) sys.exit(1) if options.moduleset: config.moduleset = options.moduleset @@ -93,24 +131,27 @@ def main(args): command = args[0] args = args[1:] - if command == 'build' and len(args) == 0: - print 'Checking dependencies...' - jhbuild.commands.run('depscheck', config, []) - elif command == 'run' and len(args) == 0: - args.append('sugar-emulator') + warn_local_modulesets(config) try: - return jhbuild.commands.run(command, config, args) + rc = jhbuild.commands.run(command, config, args) except UsageError, exc: - sys.stderr.write('sugar-jhbuild %s: %s\n' % (command, str(exc))) + sys.stderr.write('sugar-jhbuild %s: %s\n' % (command, exc.args[0].encode(_encoding, 'replace'))) parser.print_usage() sys.exit(1) except FatalError, exc: - sys.stderr.write('sugar-jhbuild %s: %s\n' % (command, str(exc))) + sys.stderr.write('sugar-jhbuild %s: %s\n' % (command, exc.args[0].encode(_encoding, 'replace'))) sys.exit(1) except KeyboardInterrupt: - print "Interrupted" + uprint(_('Interrupted')) sys.exit(1) except EOFError: - print "EOF" + uprint(_('EOF')) sys.exit(1) + except IOError, e: + if e.errno != errno.EPIPE: + raise + sys.exit(0) + if rc: + sys.exit(rc) + diff --git a/sjhbuild/sysdeps.py b/scripts/sysdeps.py index b398cff..b398cff 100644 --- a/sjhbuild/sysdeps.py +++ b/scripts/sysdeps.py diff --git a/sjhbuild/config.py b/sjhbuild/config.py deleted file mode 100644 index d89d69b..0000000 --- a/sjhbuild/config.py +++ /dev/null @@ -1,76 +0,0 @@ -import os -import sys - -import jhbuild.config - -import sysdeps - -class Config(jhbuild.config.Config): - def __init__(self, base_dir, rc_file): - self.base_dir = base_dir - jhbuild.config.Config.__init__(self, os.path.join(self.base_dir, 'sugar.jhbuildrc')) - self._setup() - - def _setup(self): - self.autogenargs = '' - - self.checkoutroot = os.path.join(self.base_dir, 'source') - self.tarballdir = os.path.join(self.base_dir, 'source') - self.moduleset = os.path.join(self.base_dir, 'sjhbuild/modulesets/sugar.modules') - - for package, source in sysdeps.get_packages(): - if source and source not in self.skip: - self.skip.append(source) - - def setup_env(self): - # Hack to replace the default prefix - if self.prefix == '/opt/gnome2': - self.prefix = os.path.join(self.base_dir, 'install') - - #Hack to allow sugar-jhbuild to find its self again. - - MY_PATH = os.getenv('PATH', 'Error') - os.environ["PATH"] = MY_PATH + ':' + self.base_dir - - jhbuild.config.Config.setup_env(self) - - jhbuild.config.addpath('XDG_DATA_DIRS', '/usr/share') - jhbuild.config.addpath('XDG_DATA_DIRS', os.path.join(self.prefix, 'share')) - - if self.use_lib64: - path = 'lib64/gtk-2.0/' - else: - path = 'lib/gtk-2.0/' - jhbuild.config.addpath('GTK_PATH', os.path.join(self.prefix, path)) - jhbuild.config.addpath('GTK_DATA_PREFIX', self.prefix) - - os.environ['SUGAR_PREFIX'] = self.prefix - os.environ['SUGAR_PATH'] = os.path.join(self.prefix, 'share', 'sugar') - os.environ['SUGAR_LOGGER_LEVEL'] = 'debug' - - # Enable debug log of the Telepathy components - os.environ['GABBLE_DEBUG'] = 'all' - os.environ['SALUT_DEBUG'] = 'all' - os.environ['STREAM_ENGINE_DEBUG'] = 'all' - - # We need to add the gtk-2.0 directory explicitly to - # the Python path since '.pth' files (here pygtk.pth) - # only work properly in system directories - pythonversion = 'python' + str(sys.version_info[0]) + '.' + \ - str(sys.version_info[1]) - if self.use_lib64: - pythonpath = os.path.join(self.prefix, 'lib64', pythonversion, - 'site-packages', 'gtk-2.0') - else: - pythonpath = os.path.join(self.prefix, 'lib', pythonversion, - 'site-packages', 'gtk-2.0') - jhbuild.config.addpath('PYTHONPATH', pythonpath) - - python_lib = os.path.join(self.prefix, 'lib', 'python2.5', 'site-packages') - os.environ['PYTHON_LIB'] = python_lib - - if 'DBUS_SESSION_BUS_ADDRESS' in os.environ: - del os.environ['DBUS_SESSION_BUS_ADDRESS'] - - if not 'SUGAR_PROFILE' in os.environ: - os.environ['SUGAR_PROFILE'] = 'default' diff --git a/sjhbuild/main.py b/sjhbuild/main.py deleted file mode 100644 index be988b9..0000000 --- a/sjhbuild/main.py +++ /dev/null @@ -1,155 +0,0 @@ -#!/usr/bin/env python -# jhbuild - a build script for GNOME 1.x and 2.x -# Copyright (C) 2001-2006 James Henstridge -# -# main.py: parses command line arguments and starts the build -# -# 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 sys, os, errno -import optparse -import traceback - -import gettext -localedir = os.path.abspath(os.path.join(os.path.dirname(__file__), '../mo')) -gettext.install('jhbuild', localedir=localedir, unicode=True) -import __builtin__ -__builtin__.__dict__['N_'] = lambda x: x - -import jhbuild.commands -from jhbuild.errors import UsageError, FatalError -from jhbuild.utils.cmds import get_output -from jhbuild.moduleset import warn_local_modulesets - -import bundlemodule - -from config import Config - -if sys.platform == 'darwin': - # work around locale.getpreferredencoding() returning an empty string in - # Mac OS X, see http://bugzilla.gnome.org/show_bug.cgi?id=534650 and - # http://bazaar-vcs.org/DarwinCommandLineArgumentDecoding - sys.platform = 'posix' - try: - import locale - finally: - sys.platform = 'darwin' -else: - import locale - -try: - _encoding = locale.getpreferredencoding() - assert _encoding -except (locale.Error, AssertionError): - _encoding = 'ascii' - -def uencode(s): - if type(s) is unicode: - return s.encode(_encoding, 'replace') - else: - return s - -def uprint(*args): - '''Print Unicode string encoded for the terminal''' - for s in args[:-1]: - print uencode(s), - s = args[-1] - print uencode(s) - -__builtin__.__dict__['uprint'] = uprint -__builtin__.__dict__['uencode'] = uencode - -def help_commands(option, opt_str, value, parser): - thisdir = os.path.abspath(os.path.dirname(__file__)) - - # import all available commands - for fname in os.listdir(os.path.join(thisdir, 'commands')): - name, ext = os.path.splitext(fname) - if not ext == '.py': - continue - try: - __import__('jhbuild.commands.%s' % name) - except ImportError: - pass - - uprint(_('JHBuild commands are:')) - commands = [(x.name, x.doc) for x in jhbuild.commands.get_commands().values()] - commands.sort() - for name, description in commands: - uprint(' %-15s %s' % (name, description)) - print - uprint(_('For more information run "jhbuild --help"')) - parser.exit() - -def main(base_dir, args): - parser = optparse.OptionParser( - usage=_('%prog [ -f config ] command [ options ... ]'), - description=_('Build a set of modules from diverse repositories in correct dependency order (such as GNOME).')) - parser.disable_interspersed_args() - parser.add_option('--help-commands', action='callback', - callback=help_commands, - help=_('Information about available jhbuild commands')) - parser.add_option('-f', '--file', action='store', metavar='CONFIG', - type='string', dest='configfile', - default=os.environ.get("JHBUILDRC", os.path.join(os.environ['HOME'], '.jhbuildrc')), - help=_('use a non default configuration file')) - parser.add_option('-m', '--moduleset', action='store', metavar='URI', - type='string', dest='moduleset', default=None, - help=_('use a non default module set')) - parser.add_option('--no-interact', action='store_true', - dest='nointeract', default=False, - help=_('do not prompt for input')) - - options, args = parser.parse_args(args) - - try: - config = Config(base_dir, options.configfile) - except FatalError, exc: - sys.stderr.write('sugar-jhbuild: %s\n' % exc.args[0].encode(_encoding, 'replace')) - sys.exit(1) - - if options.moduleset: config.moduleset = options.moduleset - if options.nointeract: config.interact = False - - if not args or args[0][0] == '-': - command = 'build' # default to cvs update + compile - else: - command = args[0] - args = args[1:] - - warn_local_modulesets(config) - - try: - rc = jhbuild.commands.run(command, config, args) - except UsageError, exc: - sys.stderr.write('sugar-jhbuild %s: %s\n' % (command, exc.args[0].encode(_encoding, 'replace'))) - parser.print_usage() - sys.exit(1) - except FatalError, exc: - sys.stderr.write('sugar-jhbuild %s: %s\n' % (command, exc.args[0].encode(_encoding, 'replace'))) - sys.exit(1) - except KeyboardInterrupt: - uprint(_('Interrupted')) - sys.exit(1) - except EOFError: - uprint(_('EOF')) - sys.exit(1) - except IOError, e: - if e.errno != errno.EPIPE: - raise - sys.exit(0) - if rc: - sys.exit(rc) - diff --git a/sugar-jhbuild b/sugar-jhbuild index fc2baac..417beef 100755 --- a/sugar-jhbuild +++ b/sugar-jhbuild @@ -6,8 +6,8 @@ import subprocess base_dir = os.path.abspath(os.path.dirname(__file__)) -sjhbuild_dir = os.path.join(base_dir, 'sjhbuild') -sys.path.append(sjhbuild_dir) +scripts_dir = os.path.join(base_dir, 'scripts') +sys.path.append(scripts_dir) jhbuild_dir = os.path.join(base_dir, 'jhbuild') sys.path.append(jhbuild_dir) diff --git a/sugar.jhbuildrc b/sugar.jhbuildrc index de7d3e3..12d7c34 100644 --- a/sugar.jhbuildrc +++ b/sugar.jhbuildrc @@ -1,8 +1,5 @@ -#moduleset = '/home/buildslave/sugar-jhbuild/config/modulesets/tools.modules' - modules = ['meta-sugar'] - -jhbuildbot_master = 'buildbot.sugarlabs.org:9070' -jhbuildbot_slavename = 'Fedora10' -jhbuildbot_password = 'nice' +# jhbuildbot_master = 'buildbot.sugarlabs.org:9070' +# jhbuildbot_slavename = 'Fedora10' +# jhbuildbot_password = 'nice' -- cgit v0.9.1