From 0e848594e4d46f517ab3a7a526fe52075e332c62 Mon Sep 17 00:00:00 2001 From: Daniel Narvaez Date: Thu, 29 Nov 2012 00:20:08 +0000 Subject: Initial support for debian wheezy --- diff --git a/config/deps/sugar-runtime-3.4.json b/config/deps/sugar-runtime-3.4.json index 860742f..9da28c8 100644 --- a/config/deps/sugar-runtime-3.4.json +++ b/config/deps/sugar-runtime-3.4.json @@ -153,5 +153,10 @@ "check": "import xapian", "checker": "python", "name": "xapian python" + }, + { + "check": "X", + "checker": "binary", + "name": "X" } ] diff --git a/config/deps/sugar-runtime-3.6.json b/config/deps/sugar-runtime-3.6.json index 5401991..e34cf64 100644 --- a/config/deps/sugar-runtime-3.6.json +++ b/config/deps/sugar-runtime-3.6.json @@ -168,5 +168,10 @@ "check": "import xapian", "checker": "python", "name": "xapian python" + }, + { + "check": "X", + "checker": "binary", + "name": "X" } ] diff --git a/config/packages/basesystem.json b/config/packages/basesystem.json index a0fa326..4ba0e53 100644 --- a/config/packages/basesystem.json +++ b/config/packages/basesystem.json @@ -24,7 +24,6 @@ "xorg-x11-drv-vmmouse", "xorg-x11-drv-vmware", "xorg-x11-drv-wacom", - "xorg-x11-server-Xorg", "grub2", "setserial", "e2fsprogs", diff --git a/config/packages/deps-3.4.json b/config/packages/deps-3.4.json index 6ad9785..02009f8 100644 --- a/config/packages/deps-3.4.json +++ b/config/packages/deps-3.4.json @@ -1,5 +1,8 @@ { "Adwaita": { + "debian": [ + "gnome-themes-standard" + ], "fedora": [ "gnome-themes-standard" ], @@ -8,6 +11,9 @@ ] }, "Xephyr": { + "debian": [ + "xserver-xephyr" + ], "fedora": [ "xorg-x11-server-Xephyr" ], @@ -15,7 +21,21 @@ "xserver-xephyr" ] }, + "X": { + "debian": [ + "xserver-xorg" + ], + "fedora": [ + "xorg-x11-server-Xorg" + ], + "ubuntu": [ + "xvfb" + ] + }, "Xvfb": { + "debian": [ + "xvfb" + ], "fedora": [ "xorg-x11-server-Xvfb" ], @@ -24,6 +44,9 @@ ] }, "aclocal": { + "debian": [ + "automake" + ], "fedora": [ "automake" ], @@ -32,6 +55,9 @@ ] }, "alsa": { + "debian": [ + "libasound2-dev" + ], "fedora": [ "alsa-lib-devel" ], @@ -40,6 +66,9 @@ ] }, "atk-bridge": { + "debian": [ + "libatk-adaptor" + ], "fedora": [ "at-spi2-atk" ], @@ -48,6 +77,9 @@ ] }, "autoreconf": { + "debian": [ + "autoconf" + ], "fedora": [ "autoconf" ], @@ -56,6 +88,9 @@ ] }, "bison": { + "debian": [ + "bison" + ], "fedora": [ "bison" ], @@ -64,6 +99,9 @@ ] }, "c++": { + "debian": [ + "g++" + ], "fedora": [ "gcc-c++" ], @@ -72,6 +110,9 @@ ] }, "cairo foreign": { + "debian": [ + "python-gi-cairo" + ], "fedora": [ "pygobject3" ], @@ -80,6 +121,9 @@ ] }, "cairo typelib": { + "debian": [ + "gir1.2-freedesktop" + ], "fedora": [ "gobject-introspection" ], @@ -88,6 +132,9 @@ ] }, "cairo-gobject": { + "debian": [ + "libcairo2-dev" + ], "fedora": [ "cairo-gobject-devel" ], @@ -96,6 +143,9 @@ ] }, "dateutil python": { + "debian": [ + "python-dateutil" + ], "fedora": [ "python-dateutil" ], @@ -104,6 +154,9 @@ ] }, "dbus-launch": { + "debian": [ + "dbus-x11" + ], "fedora": [ "dbus-x11" ], @@ -112,6 +165,9 @@ ] }, "dconf": { + "debian": [ + "dconf-tools" + ], "fedora": [ "dconf" ], @@ -120,6 +176,9 @@ ] }, "decorator python": { + "debian": [ + "python-decorator" + ], "fedora": [ "python-decorator" ], @@ -128,6 +187,9 @@ ] }, "espeak": { + "debian": [ + "espeak" + ], "fedora": [ "espeak" ], @@ -136,6 +198,9 @@ ] }, "espeak devel": { + "debian": [ + "libespeak-dev" + ], "fedora": [ "espeak-devel" ], @@ -144,6 +209,9 @@ ] }, "evince typelib": { + "debian": [ + "gir1.2-evince-3.0" + ], "fedora": [ "evince-libs" ], @@ -152,6 +220,9 @@ ] }, "flex": { + "debian": [ + "flex" + ], "fedora": [ "flex" ], @@ -160,6 +231,9 @@ ] }, "gail gtkmodule": { + "debian": [ + "libgail-common" + ], "fedora": [ "gtk2" ], @@ -168,6 +242,9 @@ ] }, "gcc": { + "debian": [ + "gcc" + ], "fedora": [ "gcc" ], @@ -176,6 +253,9 @@ ] }, "gconf python": { + "debian": [ + "python-gconf" + ], "fedora": [ "gnome-python2-gconf" ], @@ -184,6 +264,9 @@ ] }, "gconf typelib": { + "debian": [ + "gir1.2-gconf-2.0" + ], "fedora": [ "GConf2" ], @@ -192,6 +275,9 @@ ] }, "gconf-2.0": { + "debian": [ + "libgconf2-dev" + ], "fedora": [ "GConf2-devel" ], @@ -200,6 +286,9 @@ ] }, "gi python": { + "debian": [ + "pygobject" + ], "fedora": [ "pygobject3" ], @@ -208,6 +297,9 @@ ] }, "glib-2.0": { + "debian": [ + "libglib2.0-dev" + ], "fedora": [ "glib2-devel" ], @@ -216,6 +308,9 @@ ] }, "gnome-doc-common": { + "debian": [ + "gnome-common" + ], "fedora": [ "gnome-common" ], @@ -224,6 +319,9 @@ ] }, "gnome-keyring-daemon": { + "debian": [ + "gnome-keyring" + ], "fedora": [ "gnome-keyring" ], @@ -232,6 +330,9 @@ ] }, "gobject-introspection-1.0": { + "debian": [ + "libgirepository1.0-dev" + ], "fedora": [ "gobject-introspection-devel" ], @@ -240,6 +341,9 @@ ] }, "gsettings-desktop-schemas": { + "debian": [ + "gsettings-desktop-schemas-dev" + ], "fedora": [ "gsettings-desktop-schemas-devel" ], @@ -248,6 +352,9 @@ ] }, "gst typelib": { + "debian": [ + "gir1.2-gstreamer-1.0" + ], "fedora": [ "gstreamer" ], @@ -256,6 +363,9 @@ ] }, "gtk+-3.0": { + "debian": [ + "libgtk-3-dev" + ], "fedora": [ "gtk3-devel" ], @@ -264,6 +374,9 @@ ] }, "gtk-doc": { + "debian": [ + "gtk-doc-tools" + ], "fedora": [ "gtk-doc" ], @@ -272,6 +385,9 @@ ] }, "gtksource typelib": { + "debian": [ + "gir1.2-gtksource-3.0" + ], "fedora": [ "gtksourceview3" ], @@ -280,6 +396,9 @@ ] }, "gtksourceview2 python": { + "debian": [ + "python-gtksourceview2" + ], "fedora": [ "pygtksourceview" ], @@ -288,6 +407,9 @@ ] }, "hippo python": { + "debian": [ + "python-hippocanvas" + ], "fedora": [ "hippo-canvas-python" ], @@ -296,6 +418,9 @@ ] }, "ice": { + "debian": [ + "libice-dev" + ], "fedora": [ "libICE-devel" ], @@ -304,6 +429,9 @@ ] }, "icon-naming-utils": { + "debian": [ + "icon-naming-utils" + ], "fedora": [ "icon-naming-utils" ], @@ -312,6 +440,9 @@ ] }, "icon-slicer": { + "debian": [ + "icon-slicer" + ], "fedora": [ "icon-slicer" ], @@ -320,6 +451,9 @@ ] }, "intltoolize": { + "debian": [ + "intltool" + ], "fedora": [ "intltool" ], @@ -328,6 +462,9 @@ ] }, "iso-codes": { + "debian": [ + "iso-codes" + ], "fedora": [ "iso-codes-devel" ], @@ -336,6 +473,9 @@ ] }, "libcanberra-gtk": { + "debian": [ + "libcanberra-gtk-dev" + ], "fedora": [ "libcanberra-devel" ], @@ -344,6 +484,9 @@ ] }, "librsvg-2.0": { + "debian": [ + "librsvg2-dev" + ], "fedora": [ "librsvg2-devel" ], @@ -352,6 +495,9 @@ ] }, "libtool": { + "debian": [ + "libtool" + ], "fedora": [ "libtool" ], @@ -360,6 +506,9 @@ ] }, "libxml-2.0": { + "debian": [ + "libxml2-dev" + ], "fedora": [ "libxml2-devel" ], @@ -368,6 +517,9 @@ ] }, "metacity": { + "debian": [ + "metacity" + ], "fedora": [ "metacity" ], @@ -376,6 +528,9 @@ ] }, "org.freedesktop.Telepathy.AccountManager": { + "debian": [ + "telepathy-mission-control-5" + ], "fedora": [ "telepathy-mission-control" ], @@ -384,6 +539,9 @@ ] }, "org.freedesktop.Telepathy.ConnectionManager.gabble": { + "debian": [ + "telepathy-gabble" + ], "fedora": [ "telepathy-gabble" ], @@ -392,6 +550,9 @@ ] }, "org.freedesktop.Telepathy.ConnectionManager.salut": { + "debian": [ + "telepathy-salut" + ], "fedora": [ "telepathy-salut" ], @@ -400,6 +561,9 @@ ] }, "pkg-config": { + "debian": [ + "pkg-config" + ], "fedora": [ "pkgconfig" ], @@ -408,6 +572,9 @@ ] }, "pycairo": { + "debian": [ + "python-cairo-dev" + ], "fedora": [ "pycairo-devel" ], @@ -416,6 +583,9 @@ ] }, "pygst python": { + "debian": [ + "python-gst0.10" + ], "fedora": [ "gstreamer-python" ], @@ -424,6 +594,9 @@ ] }, "pygtk-2.0": { + "debian": [ + "python-gtk2-dev" + ], "fedora": [ "pygtk2-devel" ], @@ -432,6 +605,9 @@ ] }, "python": { + "debian": [ + "python-dev" + ], "fedora": [ "python-devel" ], @@ -440,6 +616,9 @@ ] }, "rsvg python": { + "debian": [ + "python-rsvg" + ], "fedora": [ "gnome-python2-rsvg" ], @@ -448,6 +627,9 @@ ] }, "simplejson python": { + "debian": [ + "python-simplejson" + ], "fedora": [ "python-simplejson" ], @@ -456,6 +638,9 @@ ] }, "sm": { + "debian": [ + "libsm-dev" + ], "fedora": [ "libSM-devel" ], @@ -464,6 +649,9 @@ ] }, "sphinx-build": { + "debian": [ + "python-sphinx" + ], "fedora": [ "python-sphinx" ], @@ -472,6 +660,9 @@ ] }, "ssh": { + "debian": [ + "openssh-client" + ], "fedora": [ "openssh-clients" ], @@ -480,6 +671,9 @@ ] }, "tar": { + "debian": [ + "tar" + ], "fedora": [ "tar" ], @@ -488,6 +682,9 @@ ] }, "telepathy python": { + "debian": [ + "python-telepathy" + ], "fedora": [ "python-telepathy" ], @@ -496,6 +693,9 @@ ] }, "video4linux2": { + "debian": [ + "gstreamer0.10-plugins-good" + ], "fedora": [ "gstreamer-plugins-good" ], @@ -504,6 +704,9 @@ ] }, "vte python": { + "debian": [ + "python-vte" + ], "fedora": [ "vte" ], @@ -512,6 +715,9 @@ ] }, "vte typelib": { + "debian": [ + "gir1.2-vte-2.90" + ], "fedora": [ "vte3" ], @@ -520,6 +726,9 @@ ] }, "webkit typelib": { + "debian": [ + "gir1.2-webkit-3.0" + ], "fedora": [ "webkitgtk3" ], @@ -528,6 +737,9 @@ ] }, "wnck python": { + "debian": [ + "python-wnck" + ], "fedora": [ "gnome-python2-libwnck" ], @@ -536,6 +748,9 @@ ] }, "wnck typelib": { + "debian": [ + "gir1.2-wnck-3.0" + ], "fedora": [ "libwnck3" ], @@ -544,6 +759,9 @@ ] }, "x11": { + "debian": [ + "libx11-dev" + ], "fedora": [ "libX11-devel" ], @@ -552,6 +770,9 @@ ] }, "xapian python": { + "debian": [ + "python-xapian" + ], "fedora": [ "xapian-bindings-python" ], @@ -560,6 +781,9 @@ ] }, "xcursorgen": { + "debian": [ + "x11-apps" + ], "fedora": [ "xorg-x11-apps" ], @@ -568,6 +792,9 @@ ] }, "xinit": { + "debian": [ + "xinit" + ], "fedora": [ "xorg-x11-xinit" ], @@ -576,6 +803,9 @@ ] }, "xkbfile": { + "debian": [ + "libxkbfile-dev" + ], "fedora": [ "libxkbfile-devel" ], @@ -584,6 +814,9 @@ ] }, "xrandr": { + "debian": [ + "libxrandr-dev" + ], "fedora": [ "libXrandr-devel" ], @@ -592,6 +825,9 @@ ] }, "xrdb": { + "debian": [ + "x11-xserver-utils" + ], "fedora": [ "xorg-x11-server-utils" ], @@ -600,6 +836,9 @@ ] }, "xtst": { + "debian": [ + "libxtst-dev" + ], "fedora": [ "libXtst-devel" ], @@ -608,6 +847,9 @@ ] }, "xz": { + "debian": [ + "xz-utils" + ], "fedora": [ "xz" ], @@ -616,6 +858,9 @@ ] }, "yasm": { + "debian": [ + "yasm" + ], "fedora": [ "yasm" ], diff --git a/config/packages/deps-3.6.json b/config/packages/deps-3.6.json index c228531..30a7df7 100644 --- a/config/packages/deps-3.6.json +++ b/config/packages/deps-3.6.json @@ -15,6 +15,14 @@ "xserver-xephyr" ] }, + "X": { + "fedora": [ + "xorg-x11-server-Xor" + ], + "ubuntu": [ + "xserver-xorg" + ] + }, "Xvfb": { "fedora": [ "xorg-x11-server-Xvfb" diff --git a/devbot/plugins/debian.py b/devbot/plugins/debian.py index 4612794..402222f 100644 --- a/devbot/plugins/debian.py +++ b/devbot/plugins/debian.py @@ -80,6 +80,7 @@ class PackageManager(interfaces.PackageManager): return result + distro.register_package_manager("debian", PackageManager) class DistroInfo(interfaces.DistroInfo): @@ -88,29 +89,23 @@ class DistroInfo(interfaces.DistroInfo): self.name = "debian" self.version = "unknown" - self.system_version = "3.6" + self.system_version = "3.4" self.valid = True self.supported = (arch in ["i686", "x86_64"]) self.use_lib64 = False - - if self._get_distributor() != "debian": - self.valid = False - - self.version = self._get_release() - - if self.version != "wheezy": - self.supported = False - def _get_distributor(self): try: - return subprocess.check_output(["lsb_release", "-si"]).strip() - except OSError: - None + with open("/etc/debian_version") as f: + debian_version = f.read() + except IOError: + debian_version = None - def _get_release(self): - try: - return subprocess.check_output(["lsb_release", "-sc"]).strip() - except OSError: - return None + if debian_version is None: + self.valid = False + + if debian_version.startswith("wheezy"): + self.version = "wheezy" + else: + self.supported = False distro.register_distro_info(DistroInfo) diff --git a/devbot/plugins/ubuntu.py b/devbot/plugins/ubuntu.py index 6b80b4e..4db0dd1 100644 --- a/devbot/plugins/ubuntu.py +++ b/devbot/plugins/ubuntu.py @@ -1,86 +1,10 @@ -import os import subprocess -from devbot import command from devbot import distro from devbot.plugins import interfaces +from devbot.plugins import debian -class PackageManager(interfaces.PackageManager): - def __init__(self, test=False, interactive=True): - import apt - - self._test = test - self._interactive = interactive - - self._cache = apt.cache.Cache() - - def install_packages(self, packages): - args = ["apt-get"] - - if not self._interactive: - args.append("-y") - - args.append("install") - args.extend(packages) - - command.run_with_sudo(args, test=self._test) - - def remove_packages(self, packages): - args = ["dpkg", "-P"] - args.extend(packages) - - command.run_with_sudo(args, test=self._test) - - def update(self): - command.run_with_sudo(["apt-get", "update"], test=self._test) - - args = ["apt-get"] - - if not self._interactive: - args.append("-y") - - args.append("upgrade") - - command.run_with_sudo(args, test=self._test) - - def find_all(self): - return [package.name for package in self._cache - if package.installed is not None] - - def _find_deps(self, package, result): - if self._cache.is_virtual_package(package): - for providing in self._cache.get_providing_packages(package): - self._find_deps(providing.name, result) - return - - if package not in self._cache: - print "Package %s not in cache" % package - return - - installed = self._cache[package].installed - if installed is None: - print "Package %s not installed" % package - return - - for dependency in installed.dependencies: - for base_dependency in dependency.or_dependencies: - dependency_name = base_dependency.name - if dependency_name not in result: - result.append(dependency_name) - self._find_deps(dependency_name, result) - - def find_with_deps(self, package_names): - result = [] - - for package in package_names: - if package is not None: - self._find_deps(package, result) - if package not in result: - result.append(package) - - return result - -distro.register_package_manager("ubuntu", PackageManager) +distro.register_package_manager("ubuntu", debian.PackageManager) class DistroInfo(interfaces.DistroInfo): def __init__(self): -- cgit v0.9.1