Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbuild <buildmaster@sugarlabs.org>2009-02-04 15:24:00 (GMT)
committer build <buildmaster@sugarlabs.org>2009-02-04 15:24:00 (GMT)
commit4f4323e1a5b18bb29585ac3d05ce7fabc6da53bc (patch)
tree91375d8a891da9929b4ae96b202c76778d146f6b
parent6a4ea738aba4664455a2196454d9e4b077ac3722 (diff)
parent6ab0f6435c0708a4808ada099e32e59ca31a8866 (diff)
Merge branch 'master' of gitorious@git.sugarlabs.org:sugar-jhbuild/mainline
-rw-r--r--config/modulesets/glucose-external.modules38
-rw-r--r--config/modulesets/glucose.modules2
-rw-r--r--config/sysdeps/debian-5.0.xml69
-rw-r--r--config/sysdeps/ubuntu-8.04.xml60
-rw-r--r--config/sysdeps/ubuntu-8.10.xml4
-rw-r--r--scripts/bundlemodule.py94
-rw-r--r--scripts/config.py75
-rw-r--r--scripts/main.py3
-rw-r--r--scripts/sysdeps.py91
-rw-r--r--sjhbuild/depscheck.py (renamed from scripts/depscheck.py)0
-rw-r--r--sjhbuild/main.py4
11 files changed, 162 insertions, 278 deletions
diff --git a/config/modulesets/glucose-external.modules b/config/modulesets/glucose-external.modules
index ec31a33..b9363ca 100644
--- a/config/modulesets/glucose-external.modules
+++ b/config/modulesets/glucose-external.modules
@@ -51,9 +51,9 @@
<patch file="xulrunner-perms.patch" strip="0"/>
</patches>
</autotools>
- <tarball id="abiword" autogenargs="--enable-libabiword --enable-debug --disable-bonobo --disable-gnomevfs --disable-gnomeui --disable-gucharmap --disable-printing" makefile="GNUmakefile" version="2.6.5">
- <source href="http://abisource.com/downloads/abiword/2.6.5/source/abiword-2.6.5.tar.gz"
- size="9514729" md5sum="edce76a1da515dfc102a0e030f722002"/>
+ <tarball id="abiword" autogenargs="--enable-libabiword --enable-debug --disable-bonobo --disable-gnomevfs --disable-gnomeui --disable-gucharmap --disable-printing" makefile="GNUmakefile" version="2.6.6">
+ <source href="http://abisource.com/downloads/abiword/2.6.6/source/abiword-2.6.6.tar.gz"
+ size="9534259" md5sum="b9de84f03f555d4490b63e5b7f53e2f1"/>
<patches>
<patch file="libabiword-2.5.2-defaultfont.patch" strip="1"/>
<patch file="libabiword-2.6.0.svn20071031-draghandles.patch" strip="1"/>
@@ -61,9 +61,9 @@
<patch file="libabiword-2.6.0.svn20071106-noassertinput.patch" strip="1"/>
</patches>
</tarball>
- <tarball id="abiword-plugins" autogenargs="--enable-libabiword --enable-debug --disable-all --enable-OpenDocument --enable-abicollab --with-abicollab-sugar-backend --enable-abicollab-record-always --enable-loadbindings --with-abiword=../abiword-2.6.5" makefile="GNUmakefile" version="2.6.5">
- <source href="http://abisource.com/downloads/abiword/2.6.5/source/abiword-plugins-2.6.5.tar.gz"
- size="1930003" md5sum="6e38e0efc40421591ae4cc0d5202a796"/>
+ <tarball id="abiword-plugins" autogenargs="--enable-libabiword --enable-debug --disable-all --enable-OpenDocument --enable-abicollab --with-abicollab-sugar-backend --enable-abicollab-record-always --enable-loadbindings --with-abiword=../abiword-2.6.6" makefile="GNUmakefile" version="2.6.6">
+ <source href="http://abisource.com/downloads/abiword/2.6.6/source/abiword-plugins-2.6.6.tar.gz"
+ size="1970233" md5sum="45dabc491976e3f21d943817e61b9d89"/>
<dependencies>
<dep package="abiword"/>
</dependencies>
@@ -95,9 +95,9 @@
<autotools id="telepathy-gabble"
autogen-sh="configure">
<branch repo="telepathy"
- version="0.7.18"
- module="telepathy-gabble/telepathy-gabble-0.7.18.tar.gz"
- size="1474712" md5sum="807260037be70882be3bcdb6b26ff031">
+ version="0.7.20"
+ module="telepathy-gabble/telepathy-gabble-0.7.20.tar.gz"
+ size="1587285" md5sum="0b8b6097de5b3fbd07aaddc96fed70ee">
<patch file="telepathy-gabble-chmod-unix-socket.patch" strip="1"/>
<patch file="telepathy-gabble-olpc-no-dbus-uid-check.patch" strip="1"/>
</branch>
@@ -120,9 +120,9 @@
</dependencies>
</autotools>
<autotools id="telepathy-glib" autogen-sh="configure">
- <branch repo="telepathy" version="0.7.22"
- module="telepathy-glib/telepathy-glib-0.7.22.tar.gz"
- size="2250849" md5sum="558d463816ca71955ca27fdcddf715c2" />
+ <branch repo="telepathy" version="0.7.25"
+ module="telepathy-glib/telepathy-glib-0.7.25.tar.gz"
+ size="2326926" md5sum="7a676676e902f0d73ec7ec407fbf04f1" />
</autotools>
<distutils id="telepathy-python">
<branch module="telepathy-python/telepathy-python-0.15.6.tar.gz"
@@ -132,9 +132,17 @@
<dep package="telepathy-gabble"/>
</dependencies>
</distutils>
- <autotools id="sugar-evince" autogenargs="--disable-static --disable-binary --enable-embed --without-libgnome --disable-scrollkeeper --disable-schemas-install --disable-dvi --without-print --enable-pixbuf --disable-thumbnailer --disable-djvu --disable-comics --disable-nautilus --without-keyring">
- <branch repo="dev.laptop.org/users/dsd" />
- </autotools>
+ <tarball id="evince" autogenargs="--disable-static --disable-scrollkeeper --disable-schemas-install --disable-dvi --enable-pixbuf --disable-thumbnailer --disable-djvu --disable-comics --disable-nautilus --without-keyring">
+ <source href="http://download.gnome.org/sources/evince/2.25/evince-2.25.90.tar.bz2"
+ version="2.25.90" size="1790620" md5sum="931b4d5fb4c5a2e4e079a62662b9d224"/>
+ </tarball>
+ <tarball id="gnome-python-desktop">
+ <source href="http://download.gnome.org/sources/gnome-python-desktop/2.25/gnome-python-desktop-2.25.90.tar.bz2"
+ version="2.25.90" size="571621" md5sum="9bc794079fb4dd02f4d0651ff04bbace"/>
+ <dependencies>
+ <dep package="evince"/>
+ </dependencies>
+ </tarball>
<tarball id="GConf-dbus">
<source href="http://ftp.gnome.org/pub/gnome/sources/GConf-dbus/2.16/GConf-dbus-2.16.0.tar.bz2"
version="2.16.0" size="1363876" md5sum="3e7d648f75949b5362af807f5408546b"/>
diff --git a/config/modulesets/glucose.modules b/config/modulesets/glucose.modules
index d70b05f..07322d6 100644
--- a/config/modulesets/glucose.modules
+++ b/config/modulesets/glucose.modules
@@ -51,7 +51,7 @@
<dep package="pyabiword"/>
<dep package="abiword-plugins"/>
<dep package="squeak"/>
- <dep package="sugar-evince"/>
+ <dep package="gnome-python-desktop"/>
<dep package="hulahop"/>
</dependencies>
</metamodule>
diff --git a/config/sysdeps/debian-5.0.xml b/config/sysdeps/debian-5.0.xml
new file mode 100644
index 0000000..118a72a
--- /dev/null
+++ b/config/sysdeps/debian-5.0.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0"?>
+<dependencies>
+ <package name="libwnck-dev"/>
+ <package name="python-cairo-dev"/>
+ <package name="automake1.9"/>
+ <package name="libpoppler-glib-dev"/>
+ <package name="libtool"/>
+ <package name="libsqlite3-dev"/>
+ <package name="libnspr4-dev"/>
+ <package name="docbook-xsl"/>
+ <package name="intltool"/>
+ <package name="librsvg2-dev"/>
+ <package name="gtk-doc-tools"/>
+ <package name="libglade2-dev"/>
+ <package name="icon-naming-utils"/>
+ <package name="cdbs"/>
+ <package name="devscripts"/>
+ <package name="quilt"/>
+ <package name="patchutils"/>
+ <package name="python-dev"/>
+ <package name="python-central"/>
+ <package name="debhelper"/>
+ <package name="libglib2.0-dev"/>
+ <package name="python-gtk2-dev"/>
+ <package name="gettext"/>
+ <package name="shared-mime-info"/>
+ <package name="python-empy"/>
+ <package name="libgconf2-dev"/>
+ <package name="libgsf-1-dev"/>
+ <package name="libenchant-dev"/>
+ <package name="libwv-dev"/>
+ <package name="libboost-dev"/>
+ <package name="libgnomevfs2-dev"/>
+ <package name="gcc"/>
+ <package name="g++"/>
+ <package name="libgtk2.0-dev"/>
+ <package name="python-gtk2-dev"/>
+ <package name="libcroco3-dev"/>
+ <package name="libfribidi-dev"/>
+ <package name="libxt-dev"/>
+ <package name="gnome-doc-utils"/>
+ <package name="libexpat1-dev"/>
+ <package name="gettext"/>
+ <package name="zlib1g-dev"/>
+ <package name="gnome-common"/>
+ <package name="python-numpy"/>
+ <package name="xserver-xephyr"/>
+ <package name="make"/>
+ <package name="librsvg2-dev"/>
+ <package name="python-cjson"/>
+ <package name="subversion"/>
+ <package name="libglade2-dev"/>
+ <package name="libidl-dev"/>
+ <package name="libgconf2-dev"/>
+ <package name="gnome-icon-theme"/>
+ <package name="icon-naming-utils"/>
+ <package name="x11-utils"/>
+ <package name="libasound2-dev"/>
+ <package name="python-xapian"/>
+ <package name="libxapian15"/>
+ <package name="python-dbus"/>
+ <package name="libdbus-1-dev"/>
+ <package name="libdbus-glib-1-dev"/>
+ <package name="libloudmouth1-dev"/>
+ <package name="libavahi-gobject-dev"/>
+ <package name="python-avahi"/>
+ <package name="libsoup2.4-dev"/>
+ <package name="libpoppler-glib-dev"/>
+</dependencies>
diff --git a/config/sysdeps/ubuntu-8.04.xml b/config/sysdeps/ubuntu-8.04.xml
new file mode 100644
index 0000000..a06f28d
--- /dev/null
+++ b/config/sysdeps/ubuntu-8.04.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<dependencies>
+ <package name="intltool"/>
+ <package name="libtool"/>
+ <package name="python-dev"/>
+ <package name="gcc"/>
+ <package name="g++"/>
+ <package name="libgtk2.0-dev"/>
+ <package name="python-gtk2-dev"/>
+ <package name="python-cairo-dev"/>
+ <package name="libcroco3-dev"/>
+ <package name="libgsf-1-dev"/>
+ <package name="libenchant-dev"/>
+ <package name="libfribidi-dev"/>
+ <package name="libboost-dev"/>
+ <package name="libxt-dev"/>
+ <package name="gnome-doc-utils"/>
+ <package name="libexpat1-dev"/>
+ <package name="gettext"/>
+ <package name="libwv-dev"/>
+ <package name="zlib1g-dev"/>
+ <package name="gnome-common"/>
+ <package name="python-numpy"/>
+ <package name="libwnck-dev"/>
+ <package name="xserver-xephyr"/>
+ <package name="make"/>
+ <package name="librsvg2-dev"/>
+ <package name="python-cjson"/>
+ <package name="automake1.9"/>
+ <package name="subversion"/>
+ <package name="gtk-doc-tools"/>
+ <package name="libglade2-dev"/>
+ <package name="libidl-dev"/>
+ <package name="libgconf2-dev"/>
+ <package name="libgnomevfs2-dev"/>
+ <package name="libpoppler-glib-dev"/>
+ <package name="gnome-icon-theme"/>
+ <package name="icon-naming-utils"/>
+ <package name="x11-utils"/>
+ <package name="icon-slicer"/>
+ <package name="libasound2-dev"/>
+ <package name="python-xapian"/>
+ <package name="libxapian15"/>
+ <package name="python-gtksourceview2"/>
+ <package name="python-gconf"/>
+ <package name="python-dbus"/>
+ <package name="libdbus-1-dev"/>
+ <package name="libdbus-glib-1-dev"/>
+ <package name="libloudmouth1-dev"/>
+ <package name="libavahi-gobject-dev"/>
+ <package name="python-avahi"/>
+ <package name="libpoppler-dev"/>
+ <package name="python-gobject"
+ source="pygobject"/>
+ <package name="xulrunner-1.9-dev"
+ source="xulrunner"/>
+ <package name="libsoup2.4-dev"/>
+ <package name="libglib2.0-dev"/>
+ <package name="libpoppler-glib-dev"/>
+</dependencies>
diff --git a/config/sysdeps/ubuntu-8.10.xml b/config/sysdeps/ubuntu-8.10.xml
index e9e9380..c601230 100644
--- a/config/sysdeps/ubuntu-8.10.xml
+++ b/config/sysdeps/ubuntu-8.10.xml
@@ -21,7 +21,7 @@
<package name="zlib1g-dev"/>
<package name="gnome-common"/>
<package name="python-numpy"/>
- <package name="libwnck-dev"/>
+ <package name="python-gnome2-desktop"/>
<package name="xserver-xephyr"/>
<package name="make"/>
<package name="librsvg2-dev"/>
@@ -54,7 +54,7 @@
source="pygobject"/>
<package name="xulrunner-1.9-dev"
source="xulrunner"/>
- <package name="libsoup2.2-dev"/>
+ <package name="libsoup2.4-dev"/>
<package name="libglib2.0-dev"/>
<package name="libpoppler-glib-dev"/>
</dependencies>
diff --git a/scripts/bundlemodule.py b/scripts/bundlemodule.py
deleted file mode 100644
index 3a662c1..0000000
--- a/scripts/bundlemodule.py
+++ /dev/null
@@ -1,94 +0,0 @@
-__metaclass__ = type
-
-import os
-
-from jhbuild.errors import BuildStateError
-from jhbuild.modtypes import Package, get_branch, register_module_type
-
-__all__ = [ 'BundleModule' ]
-
-class BundleModule(Package):
- type = 'bundle'
-
- STATE_CHECKOUT = 'checkout'
- STATE_FORCE_CHECKOUT = 'force_checkout'
- STATE_BUILD = 'build'
- STATE_INSTALL = 'install'
-
- def __init__(self, name, branch, dependencies=[], after=[]):
- Package.__init__(self, name, dependencies, after)
- self.branch = branch
-
- def get_srcdir(self, buildscript):
- return self.branch.srcdir
-
- def get_builddir(self, buildscript):
- return self.get_srcdir(buildscript)
-
- def get_revision(self):
- return self.branch.branchname
-
- def do_start(self, buildscript):
- pass
- do_start.next_state = STATE_CHECKOUT
- do_start.error_states = []
-
- def skip_checkout(self, buildscript, last_state):
- # skip the checkout stage if the nonetwork flag is set
- return buildscript.config.nonetwork
-
- def do_checkout(self, buildscript):
- srcdir = self.get_srcdir(buildscript)
- buildscript.set_action('Checking out', self)
- self.branch.checkout(buildscript)
- # did the checkout succeed?
- if not os.path.exists(srcdir):
- raise BuildStateError('source directory %s was not created'
- % srcdir)
- do_checkout.next_state = STATE_BUILD
- do_checkout.error_states = [STATE_FORCE_CHECKOUT]
-
- def skip_force_checkout(self, buildscript, last_state):
- return False
-
- def do_force_checkout(self, buildscript):
- buildscript.set_action('Checking out', self)
- self.branch.force_checkout(buildscript)
- do_force_checkout.next_state = STATE_BUILD
- do_force_checkout.error_states = [STATE_FORCE_CHECKOUT]
-
- def skip_build(self, buildscript, last_state):
- return buildscript.config.nobuild
-
- def do_build(self, buildscript):
- buildscript.set_action('Building', self)
- srcdir = self.get_srcdir(buildscript)
- builddir = self.get_builddir(buildscript)
- python = os.environ.get('PYTHON', 'python')
- cmd = [python, 'setup.py', 'build']
- buildscript.execute(cmd, cwd=srcdir)
- do_build.next_state = STATE_INSTALL
- do_build.error_states = [STATE_FORCE_CHECKOUT]
-
- def skip_install(self, buildscript, last_state):
- return buildscript.config.nobuild
-
- def do_install(self, buildscript):
- buildscript.set_action('Installing', self)
- srcdir = self.get_srcdir(buildscript)
- builddir = self.get_builddir(buildscript)
- python = os.environ.get('PYTHON', 'python')
- cmd = [python, 'setup.py', 'install']
- cmd.extend(['--prefix', buildscript.config.prefix])
- buildscript.execute(cmd, cwd=srcdir)
- buildscript.packagedb.add(self.name, self.get_revision() or '')
- do_install.next_state = Package.STATE_DONE
- do_install.error_states = []
-
-
-def parse_bundle(node, config, uri, repositories, default_repo):
- id = node.getAttribute('id')
- branch = get_branch(node, repositories, default_repo, config)
- return BundleModule(id, branch)
-
-register_module_type('bundle', parse_bundle)
diff --git a/scripts/config.py b/scripts/config.py
deleted file mode 100644
index eaa6b36..0000000
--- a/scripts/config.py
+++ /dev/null
@@ -1,75 +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')
-
- 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/scripts/main.py b/scripts/main.py
index 44e27fb..4f3d1f8 100644
--- a/scripts/main.py
+++ b/scripts/main.py
@@ -131,6 +131,9 @@ def main(base_dir, args):
command = args[0]
args = args[1:]
+ if command == 'run' and len(args) == 0:
+ args.append('sugar-emulator')
+
warn_local_modulesets(config)
try:
diff --git a/scripts/sysdeps.py b/scripts/sysdeps.py
deleted file mode 100644
index b398cff..0000000
--- a/scripts/sysdeps.py
+++ /dev/null
@@ -1,91 +0,0 @@
-import os
-import subprocess
-
-from xml.dom import minidom
-
-scripts_dir = os.path.dirname(__file__)
-base_dir = os.path.dirname(scripts_dir)
-
-def get_distribution():
- if 'SJH_DISTRIBUTION' in os.environ:
- return os.environ['SJH_DISTRIBUTION'].split('-')
-
- # Fedora
- if os.path.exists('/etc/fedora-release'):
- name = 'fedora'
-
- f = open('/etc/fedora-release')
- full_name = f.read()
- f.close()
-
- if 'Rawhide' in full_name:
- version = 'rawhide'
- else:
- version = full_name.split(' ')[2]
-
- return name, version
-
- # Debian and Ubuntu
- try:
- out, err = subprocess.Popen(['lsb_release', '-is'],
- stdout=subprocess.PIPE).communicate()
- name = out.strip().lower()
-
- out, err = subprocess.Popen(['lsb_release', '-rs'],
- stdout=subprocess.PIPE).communicate()
- version = out.strip()
-
- if name == 'debian' and version == 'testing':
- version = 'unstable'
-
- return name, version
- except OSError:
- pass
-
- return None, None
-
-def check_package(package):
- name, version = get_distribution()
- if name == 'fedora':
- ret = subprocess.call(['rpm', '--quiet', '-q', package])
- return ret == 0
- elif name in ['ubuntu', 'debian']:
- cmd = ["dpkg-query", "-f='${status}'", "-W", package]
- out, err = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()
- return out.find('install ok installed') != -1
-
- return None
-
-def parse_dependencies():
- name, version = get_distribution()
- if name is None or version is None:
- return None
-
- filename = os.path.join(base_dir, 'config', 'sysdeps',
- '%s-%s.xml' % (name, version))
-
- if not os.path.exists(filename):
- return None
-
- return minidom.parse(filename)
-
-def get_packages():
- document = parse_dependencies()
- if document is None:
- return []
-
- packages = []
- root = document.childNodes[0]
-
- for node in root.childNodes:
- if node.nodeType == node.ELEMENT_NODE:
- if node.nodeName == 'package':
- name = node.getAttribute('name')
- if node.hasAttribute('source'):
- source = node.getAttribute('source')
- else:
- source = None
-
- packages.append((name, source))
-
- return packages
diff --git a/scripts/depscheck.py b/sjhbuild/depscheck.py
index f318404..f318404 100644
--- a/scripts/depscheck.py
+++ b/sjhbuild/depscheck.py
diff --git a/sjhbuild/main.py b/sjhbuild/main.py
index be988b9..3fa1bb1 100644
--- a/sjhbuild/main.py
+++ b/sjhbuild/main.py
@@ -34,6 +34,7 @@ from jhbuild.utils.cmds import get_output
from jhbuild.moduleset import warn_local_modulesets
import bundlemodule
+import depscheck
from config import Config
@@ -129,6 +130,9 @@ def main(base_dir, args):
command = args[0]
args = args[1:]
+ if command == 'run' and len(args) == 0:
+ args.append('sugar-emulator')
+
warn_local_modulesets(config)
try: