Add the partial rewrite of my jhbuild -> oe metadata conversion tool, along with some modulesets for use with it. Will check in the missing piece of the tool shortly.

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@589 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Chris Larson 2006-08-07 06:53:34 +00:00
parent a7d6fa4c49
commit c7274f6f00
17 changed files with 15954 additions and 0 deletions

View File

@ -0,0 +1,87 @@
<?xml version="1.0" standalone="no"?> <!--*- mode: nxml -*-->
<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?>
<moduleset>
<repository type="tarball" name="ftp.gnu.org"
href="http://ftp.gnu.org/gnu/"/>
<repository type="tarball" name="pkgconfig"
href="http://pkgconfig.freedesktop.org/releases/"/>
<repository type="tarball" name="python"
href="http://www.python.org/ftp/python/"/>
<autotools id="gettext" autogen-sh="configure">
<branch repo="ftp.gnu.org"
module="gettext/gettext-0.14.5.tar.gz" version="0.14.5"
size="7105715" md5sum="e2f6581626a22a0de66dce1d81d00de3" />
</autotools>
<autotools id="autoconf" autogen-sh="configure">
<branch repo="ftp.gnu.org"
module="autoconf/autoconf-2.59.tar.bz2" version="2.59"
size="925073" md5sum="1ee40f7a676b3cfdc0e3f7cd81551b5f" />
</autotools>
<autotools id="libtool" autogen-sh="configure">
<branch repo="ftp.gnu.org"
module="libtool/libtool-1.5.22.tar.gz" version="1.5.22"
size="2921483" md5sum="8e0ac9797b62ba4dcc8a2fb7936412b0">
<patch file="libtool-1.5.18-multilib.patch" strip="1" />
</branch>
</autotools>
<autotools id="automake-1.4" autogen-sh="configure">
<branch repo="ftp.gnu.org"
module="automake/automake-1.4-p6.tar.gz" version="1.4-p6"
size="375060" md5sum="24872b81b95d78d05834c39af2cfcf05" />
</autotools>
<autotools id="automake-1.7" autogen-sh="configure">
<branch repo="ftp.gnu.org"
module="automake/automake-1.7.9.tar.bz2" version="1.7.9"
size="577705" md5sum="571fd0b0598eb2a27dcf68adcfddfacb" />
</autotools>
<autotools id="automake-1.8" autogen-sh="configure">
<branch repo="ftp.gnu.org"
module="automake/automake-1.8.5.tar.bz2" version="1.8.5"
size="663182" md5sum="0114aa6d7dc32112834b68105fb8d7e2" />
</autotools>
<autotools id="automake-1.9" autogen-sh="configure">
<branch repo="ftp.gnu.org"
module="automake/automake-1.9.6.tar.bz2" version="1.9.6"
size="765505" md5sum="c11b8100bb311492d8220378fd8bf9e0" />
</autotools>
<autotools id="pkg-config" autogen-sh="configure">
<branch repo="pkgconfig"
module="pkg-config-0.20.tar.gz" version="0.20"
size="969993" md5sum="fb42402593e4198bc252ab248dd4158b" />
</autotools>
<autotools id="python" autogenargs="--enable-shared" autogen-sh="configure">
<branch repo="python"
module="2.4.3/Python-2.4.3.tar.bz2" version="2.4.3"
size="8005915" md5sum="141c683447d5e76be1d2bd4829574f02" />
</autotools>
<repository type="tarball" name="pyrex"
href="http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/"/>
<distutils id="pyrex">
<branch repo="pyrex"
module="Pyrex-0.9.4.1.tar.gz" version="0.9.4.1"
size="181507" md5sum="425f0543c634bc7a86fe4fce02e0e882" />
</distutils>
<metamodule id="meta-bootstrap">
<dependencies>
<dep package="gettext" />
<dep package="autoconf" />
<dep package="libtool" />
<dep package="automake-1.4" />
<dep package="automake-1.7" />
<dep package="automake-1.8" />
<dep package="automake-1.9" />
<dep package="pkg-config" />
<dep package="python" />
<dep package="pyrex" />
</dependencies>
</metamodule>
</moduleset>

View File

@ -0,0 +1,281 @@
<?xml version="1.0"?><!--*- mode: nxml -*-->
<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?>
<moduleset>
<repository type="cvs" name="cairo.freedesktop.org"
cvsroot=":pserver:anoncvs@anoncvs.freedesktop.org:/cvs/cairo"
password=""/>
<repository type="cvs" name="dbus.freedesktop.org"
cvsroot=":pserver:anoncvs@anoncvs.freedesktop.org:/cvs/dbus"
password=""/>
<repository type="cvs" name="fontconfig.freedesktop.org"
cvsroot=":pserver:anoncvs@anoncvs.freedesktop.org:/cvs/fontconfig"
password=""/>
<repository type="cvs" name="hal.freedesktop.org"
cvsroot=":pserver:anoncvs@anoncvs.freedesktop.org:/cvs/hal"
password=""/>
<repository type="cvs" name="icon-theme.freedesktop.org"
cvsroot=":pserver:anoncvs@anoncvs.freedesktop.org:/cvs/icon-theme"
password=""/>
<repository type="cvs" name="startup-notification.freedesktop.org"
cvsroot=":pserver:anoncvs@anoncvs.freedesktop.org:/cvs/startup-notification"
password=""/>
<repository type="cvs" name="tango.freedesktop.org"
cvsroot=":pserver:anoncvs@anoncvs.freedesktop.org:/cvs/tango"
password=""/>
<repository type="cvs" name="xorg.freedesktop.org"
cvsroot=":pserver:anoncvs@anoncvs.freedesktop.org:/cvs/xorg"
password=""/>
<repository type="cvs" name="poppler.freedesktop.org"
cvsroot=":pserver:anoncvs@anoncvs.freedesktop.org:/cvs/poppler"
password=""/>
<repository type="cvs" name="system-tools-backends.freedesktop.org"
cvsroot=":pserver:anoncvs@anoncvs.freedesktop.org:/cvs/system-tools-backends"
password=""/>
<repository type="cvs" name="gnome.org"
cvsroot=":pserver:anonymous@anoncvs.gnome.org:/cvs/gnome"
password=""/>
<repository type="svn" name="avahi.0pointer.de"
href="svn://svn.0pointer.de/avahi/"/>
<repository type="svn" name="libdaemon.0pointer.de"
href="svn://svn.0pointer.de/libdaemon/"/>
<repository type="git" name="git.freedesktop.org"
href="git://anongit.freedesktop.org/git/"/>
<repository type="tarball" name="cpan" href="http://search.cpan.org/CPAN/" />
<autotools id="cairo">
<branch repo="git.freedesktop.org" module="cairo"/>
<dependencies>
<dep package="fontconfig"/>
<dep package="libXrender"/>
<dep package="gtk-doc"/>
</dependencies>
<after>
<dep package="glitz"/>
</after>
</autotools>
<tarball id="cairo-1-0" version="1.0.4">
<source href="http://cairographics.org/releases/cairo-1.0.4.tar.gz"
size="1475777" md5sum="9002b0e69b3f94831a22d3f2a7735ce2"/>
<dependencies>
<dep package="fontconfig"/>
<dep package="libXrender"/>
</dependencies>
<after>
<dep package="glitz"/>
</after>
</tarball>
<autotools id="glitz">
<branch repo="cairo.freedesktop.org"/>
</autotools>
<autotools id="pycairo-1-0">
<branch repo="cairo.freedesktop.org" module="pycairo"
revision="RELEASE_1_0_2" checkoutdir="pycairo-1-0"/>
<dependencies>
<dep package="cairo-1-0"/>
</dependencies>
</autotools>
<autotools id="pycairo">
<branch repo="cairo.freedesktop.org"/>
<dependencies>
<dep package="cairo"/>
</dependencies>
</autotools>
<autotools id="cairomm">
<branch repo="cairo.freedesktop.org"/>
<dependencies>
<dep package="cairo"/>
</dependencies>
</autotools>
<autotools id="dbus" supports-non-srcdir-builds="no">
<branch repo="dbus.freedesktop.org"/>
<dependencies>
<dep package="glib"/>
</dependencies>
<after>
<dep package="gtk+"/>
</after>
</autotools>
<autotools id="dbus-0.23" supports-non-srcdir-builds="no">
<branch repo="dbus.freedesktop.org" module="dbus"
revision="dbus-0-23" checkoutdir="dbus-0.23"/>
<dependencies>
<dep package="glib"/>
</dependencies>
<after>
<dep package="gtk+"/>
</after>
</autotools>
<!-- Not maintained - try dbusmm instead -->
<autotools id="dbus-cpp">
<branch repo="dbus.freedesktop.org"/>
<dependencies>
<dep package="dbus"/>
</dependencies>
</autotools>
<autotools id="dbusmm">
<branch repo="dbus.freedesktop.org"/>
<dependencies>
<dep package="dbus"/>
</dependencies>
</autotools>
<autotools id="dbus-glib">
<branch repo="git.freedesktop.org" module="dbus/dbus-glib"/>
<dependencies>
<dep package="libxml2"/>
<dep package="dbus"/>
<dep package="glib"/>
</dependencies>
</autotools>
<distutils id="dbus-python">
<branch repo="git.freedesktop.org" module="dbus/dbus-python"/>
<dependencies>
<dep package="dbus"/>
<dep package="dbus-glib"/>
</dependencies>
</distutils>
<autotools id="PolicyKit">
<branch repo="hal.freedesktop.org"/>
<dependencies>
<dep package="dbus-glib"/>
</dependencies>
</autotools>
<autotools id="hal">
<branch repo="hal.freedesktop.org"/>
<dependencies>
<dep package="dbus"/>
<dep package="PolicyKit"/>
</dependencies>
</autotools>
<autotools id="hal-0-4">
<branch repo="hal.freedesktop.org" module="hal"
revision="hal-0_4-stable-branch" checkoutdir="hal-0.4"/>
<dependencies>
<dep package="dbus-0.23"/>
</dependencies>
</autotools>
<autotools id="fontconfig">
<branch repo="fontconfig.freedesktop.org" revision="fc-2_4_branch"/>
</autotools>
<autotools id="icon-slicer">
<branch repo="icon-theme.freedesktop.org"/>
</autotools>
<autotools id="icon-naming-utils">
<branch repo="icon-theme.freedesktop.org"/>
</autotools>
<tarball id="hicolor-icon-theme" version="0.9"
supports-non-srcdir-builds="no">
<source href="http://icon-theme.freedesktop.org/releases/hicolor-icon-theme-0.9.tar.gz"
size="32574" md5sum="1d0821cb80d394eac30bd8cec5b0b60c"/>
</tarball>
<autotools id="tango-icon-theme">
<branch repo="tango.freedesktop.org"/>
<dependencies>
<dep package="icon-naming-utils"/>
</dependencies>
</autotools>
<autotools id="tango-icon-theme-extras">
<branch repo="tango.freedesktop.org"/>
<dependencies>
<dep package="tango-icon-theme"/>
</dependencies>
</autotools>
<autotools id="startup-notification">
<branch repo="startup-notification.freedesktop.org"/>
</autotools>
<autotools id="RenderProto">
<branch repo="git.freedesktop.org"
module="xorg/proto/renderproto" checkoutdir="RenderProto" />
</autotools>
<autotools id="libXrender" supports-non-srcdir-builds="no">
<branch repo="git.freedesktop.org"
module="xorg/lib/libXrender" checkoutdir="libXrender" />
<dependencies>
<dep package="RenderProto"/>
</dependencies>
</autotools>
<autotools id="libXft" supports-non-srcdir-builds="no">
<branch repo="git.freedesktop.org"
module="xorg/lib/libXft" checkoutdir="libXft" />
<dependencies>
<dep package="fontconfig"/>
<dep package="libXrender"/>
</dependencies>
</autotools>
<autotools id="poppler">
<branch repo="poppler.freedesktop.org"/>
<dependencies>
<dep package="cairo"/>
</dependencies>
</autotools>
<autotools id="poppler-0-4">
<branch repo="poppler.freedesktop.org" module="poppler"
revision="POPPLER_0_4_X" checkoutdir="poppler-0-4"/>
<dependencies>
<dep package="cairo-1-0"/>
</dependencies>
</autotools>
<perl id="perl-net-dbus">
<branch repo="cpan"
module="authors/id/D/DA/DANBERR/Net-DBus-0.33.2.tar.gz" version="0.33.2"
size="83279" md5sum="7e722c48c4bca7740cf28512287571b7"/>
<dependencies>
<dep package="dbus"/>
</dependencies>
</perl>
<autotools id="system-tools-backends">
<branch repo="system-tools-backends.freedesktop.org"
revision="BEFORE_DBUS_MERGE"/>
<suggests>
<dep package="perl-net-dbus"/>
</suggests>
</autotools>
<autotools id="system-tools-backends-1.4">
<branch repo="system-tools-backends.freedesktop.org"
module="system-tools-backends" revision="stb-1-4"
checkoutdir="system-tools-backends-1.4"/>
</autotools>
<autotools id="libdaemon">
<branch repo="libdaemon.0pointer.de" module="trunk" checkoutdir="libdaemon"/>
</autotools>
<!-- explicit disabling of qt3 and qt4 can be removed once avahi
correctly detects what is available. -->
<autotools id="avahi" autogenargs="--disable-qt3 --disable-qt4 --disable-mono --disable-monodoc --disable-manpages --enable-compat-howl --enable-compat-libdns_sd">
<branch repo="avahi.0pointer.de" module="trunk" checkoutdir="avahi"/>
<dependencies>
<dep package="libdaemon"/>
<dep package="dbus-python"/>
<dep package="pygtk"/>
</dependencies>
</autotools>
</moduleset>

View File

@ -0,0 +1,135 @@
<?xml version="1.0" standalone="no"?> <!--*- mode: nxml -*-->
<!DOCTYPE moduleset SYSTEM "moduleset.dtd">
<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?>
<moduleset>
<cvsroot name="gcc.gnu.org"
root=":pserver:anoncvs@gcc.gnu.org:/cvs/gcc"
password="" />
<cvsroot name="rhug.sources.redhat.com"
root=":pserver:anoncvs@sources.redhat.com:/cvs/rhug"
password="" />
<cvsroot name="gdb.sources.redhat.com"
root=":pserver:anoncvs@sources.redhat.com:/cvs/src"
password="anoncvs" />
<cvsroot name="gnome.org"
root=":pserver:anonymous@anoncvs.gnome.org:/cvs/gnome"
password="" />
<cvsroot name="classpath.savannah.gnu.org"
root=":ext:anoncvs@savannah.gnu.org:/cvsroot/classpath"
password="" />
<cvsroot name="cairo.freedesktop.org"
root=":pserver:anoncvs@cvs.freedesktop.org:/cvs/cairo"
password="" />
<include href="gnome-2.12.modules" />
<gdbmodule id="gdb" cvsroot="gdb.sources.redhat.com" />
<gcjmodule id="gcj" cvsroot="gcc.gnu.org">
<dependencies>
<dep package="cairo" />
<dep package="gtk+" />
</dependencies>
</gcjmodule>
<cvsmodule id="java-gcj-compat" cvsroot="rhug.sources.redhat.com">
<dependencies>
<dep package="ecj-for-jhbuild" />
<dep package="gjdoc" />
</dependencies>
</cvsmodule>
<cvsmodule id="ecj-for-jhbuild" cvsroot="rhug.sources.redhat.com"
supports-non-srcdir-builds="no">
<dependencies>
<dep package="gcj" />
</dependencies>
</cvsmodule>
<cvsmodule id="gjdoc" cvsroot="classpath.savannah.gnu.org" >
<dependencies>
<dep package="gcj" />
</dependencies>
</cvsmodule>
<cvsmodule id="jg-common" cvsroot="gnome.org">
<suggests>
<dep package="gcj" />
</suggests>
<dependencies>
<dep package="glib" />
</dependencies>
</cvsmodule>
<cvsmodule id="cairo-java" cvsroot="cairo.freedesktop.org">
<suggests>
<dep package="gcj" />
</suggests>
<dependencies>
<dep package="jg-common" />
<dep package="cairo" />
</dependencies>
</cvsmodule>
<cvsmodule id="libgtk-java" cvsroot="gnome.org">
<suggests>
<dep package="gcj" />
</suggests>
<dependencies>
<dep package="jg-common" />
<dep package="cairo-java" />
</dependencies>
</cvsmodule>
<cvsmodule id="libgnomevfs-java" cvsroot="gnome.org">
<suggests>
<dep package="gcj" />
</suggests>
<dependencies>
<dep package="libgtk-java" />
</dependencies>
</cvsmodule>
<cvsmodule id="libgnome-java" cvsroot="gnome.org">
<suggests>
<dep package="gcj" />
</suggests>
<dependencies>
<dep package="libgnome" />
<dep package="libgnomeui" />
<dep package="libgnomecanvas" />
<dep package="libgtk-java" />
</dependencies>
</cvsmodule>
<cvsmodule id="libglade-java" cvsroot="gnome.org">
<suggests>
<dep package="gcj" />
</suggests>
<dependencies>
<dep package="libgtk-java" />
<dep package="libgnome-java" />
</dependencies>
</cvsmodule>
<cvsmodule id="libgconf-java" cvsroot="gnome.org">
<suggests>
<dep package="gcj" />
</suggests>
<dependencies>
<dep package="libgtk-java" />
<dep package="libgnome-java" />
</dependencies>
</cvsmodule>
<metamodule id="java-gnome">
<dependencies>
<dep package="libgtk-java" />
<dep package="libgnome-java" />
<dep package="libglade-java" />
<dep package="libgconf-java" />
</dependencies>
</metamodule>
</moduleset>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,36 @@
<?xml version="1.0" standalone="no"?> <!--*- mode: nxml -*-->
<!DOCTYPE moduleset SYSTEM "moduleset.dtd">
<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?>
<moduleset>
<tarball id="libgpg-error" version="1.3">
<source href="http://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.3.tar.bz2"
size="452266" md5sum="d978065d62cde48e79497b63f80ba8fc" />
</tarball>
<tarball id="libgcrypt" version="1.2.2">
<source href="http://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.2.2.tar.bz2"
size="780315" md5sum="4a8a9a7572892ae3803a5aa558e52e02" />
<dependencies>
<dep package="libgpg-error" />
</dependencies>
</tarball>
<tarball id="libtasn1" version="0.3.4" supports-non-srcdir-builds="no">
<source href="http://ftp.gnupg.org/gcrypt/alpha/gnutls/libtasn1/libtasn1-0.3.4.tar.gz"
size="1246545" md5sum="1dbfce0e1fbd6aebc1a4506814c23d35" />
</tarball>
<tarball id="opencdk" version="0.5.8" supports-non-srcdir-builds="no">
<source href="http://ftp.gnupg.org/gcrypt/alpha/gnutls/opencdk/opencdk-0.5.8.tar.gz"
size="497122" md5sum="900c4dee7712845c19d7b2d2a93ea546" />
<dependencies>
<dep package="libgcrypt" />
</dependencies>
</tarball>
<tarball id="gnutls" version="1.4.0">
<source href="http://ftp.gnupg.org/gcrypt/alpha/gnutls/gnutls-1.4.0.tar.bz2"
size="3281324" md5sum="9e1e1b07e971c604923ec394f6922301" />
<dependencies>
<dep package="libgcrypt" />
<dep package="libtasn1" />
<dep package="opencdk" />
</dependencies>
</tarball>
</moduleset>

View File

@ -0,0 +1,72 @@
<?xml version="1.0"?><!--*- mode: nxml -*-->
<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?>
<moduleset>
<repository type="cvs" name="gnome.org" default="yes"
cvsroot=":pserver:anonymous@anoncvs.gnome.org:/cvs/gnome"
password=""/>
<repository type="cvs" name="mime.freedesktop.org"
cvsroot=":pserver:anoncvs@cvs.freedesktop.org:/cvs/mime"
password=""/>
<include href="freedesktop.modules"/>
<autotools id="gnome-common">
<branch/>
</autotools>
<autotools id="intltool">
<branch/>
<dependencies>
<dep package="gnome-common"/>
</dependencies>
</autotools>
<autotools id="shared-mime-info" supports-non-srcdir-builds="no">
<branch repo="mime.freedesktop.org"/>
<dependencies>
<dep package="intltool"/>
</dependencies>
</autotools>
<autotools id="libxml2">
<branch module="gnome-xml" checkoutdir="libxml2"/>
</autotools>
<autotools id="libxslt">
<branch/>
<dependencies>
<dep package="libxml2"/>
</dependencies>
</autotools>
<autotools id="gtk-doc">
<branch/>
<dependencies>
<dep package="libxslt"/>
</dependencies>
</autotools>
<autotools id="glib">
<branch/>
<dependencies>
<dep package="gtk-doc"/>
</dependencies>
</autotools>
<autotools id="pango">
<branch/>
<dependencies>
<dep package="glib"/>
<dep package="cairo"/>
<dep package="libXft"/>
</dependencies>
</autotools>
<autotools id="atk">
<branch/>
<dependencies>
<dep package="glib"/>
</dependencies>
</autotools>
<autotools id="gtk+">
<branch/>
<dependencies>
<dep package="cairo"/>
<dep package="atk"/>
<dep package="pango"/>
<dep package="shared-mime-info"/>
</dependencies>
</autotools>
</moduleset>

View File

@ -0,0 +1,72 @@
<?xml version="1.0"?><!--*- mode: nxml -*-->
<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?>
<moduleset>
<repository type="cvs" name="gnome.org" default="yes"
cvsroot=":pserver:anonymous@anoncvs.gnome.org:/cvs/gnome"
password=""/>
<repository type="cvs" name="mime.freedesktop.org"
cvsroot=":pserver:anoncvs@cvs.freedesktop.org:/cvs/mime"
password=""/>
<include href="freedesktop.modules"/>
<autotools id="gnome-common">
<branch/>
</autotools>
<autotools id="intltool">
<branch/>
<dependencies>
<dep package="gnome-common"/>
</dependencies>
</autotools>
<autotools id="shared-mime-info" supports-non-srcdir-builds="no">
<branch repo="mime.freedesktop.org"/>
<dependencies>
<dep package="intltool"/>
</dependencies>
</autotools>
<autotools id="libxml2">
<branch module="gnome-xml" checkoutdir="libxml2"/>
</autotools>
<autotools id="libxslt">
<branch/>
<dependencies>
<dep package="libxml2"/>
</dependencies>
</autotools>
<autotools id="gtk-doc">
<branch/>
<dependencies>
<dep package="libxslt"/>
</dependencies>
</autotools>
<autotools id="glib">
<branch revision="glib-2-8"/>
<dependencies>
<dep package="gtk-doc"/>
</dependencies>
</autotools>
<autotools id="pango">
<branch revision="pango-1-10"/>
<dependencies>
<dep package="glib"/>
<dep package="cairo"/>
<dep package="libXft"/>
</dependencies>
</autotools>
<autotools id="atk">
<branch/>
<dependencies>
<dep package="glib"/>
</dependencies>
</autotools>
<autotools id="gtk+">
<branch revision="gtk-2-8"/>
<dependencies>
<dep package="cairo"/>
<dep package="atk"/>
<dep package="pango"/>
<dep package="shared-mime-info"/>
</dependencies>
</autotools>
</moduleset>

View File

@ -0,0 +1,115 @@
<!ELEMENT moduleset ((cvsroot|svnroot|arch-archive|darcs-archive)*,
(include|cvsmodule|svnmodule|archmodule|darcsmodule|
metamodule|tarball|mozillamodule)*) >
<!ELEMENT cvsroot EMPTY >
<!ATTLIST cvsroot
name CDATA #REQUIRED
root CDATA #REQUIRED
password CDATA #IMPLIED
default (yes|no) 'no' >
<!ELEMENT svnroot EMPTY >
<!ATTLIST svnroot
name CDATA #REQUIRED
href CDATA #REQUIRED
default (yes|no) 'no' >
<!ELEMENT arch-archive EMPTY >
<!ATTLIST arch-archive
name CDATA #REQUIRED
href CDATA #REQUIRED
default (yes|no) 'no' >
<!ELEMENT darcs-archive EMPTY >
<!ATTLIST darcs-archive
name CDATA #REQUIRED
href CDATA #REQUIRED
default (yes|no) 'no' >
<!ELEMENT include EMPTY >
<!ATTLIST include
href CDATA #REQUIRED >
<!ELEMENT cvsmodule (dependencies?,suggests?) >
<!ATTLIST cvsmodule
id CDATA #REQUIRED
module CDATA #IMPLIED
revision CDATA #IMPLIED
checkoutdir CDATA #IMPLIED
autogenargs CDATA #IMPLIED
makeargs CDATA #IMPLIED
cvsroot CDATA #IMPLIED
supports-non-srcdir-builds (yes|no) 'yes' >
<!ELEMENT svnmodule (dependencies?,suggests?) >
<!ATTLIST svnmodule
id CDATA #REQUIRED
module CDATA #IMPLIED
checkoutdir CDATA #IMPLIED
autogenargs CDATA #IMPLIED
makeargs CDATA #IMPLIED
root CDATA #IMPLIED
supports-non-srcdir-builds (yes|no) 'yes' >
<!ELEMENT archmodule (dependencies?,suggests?) >
<!ATTLIST archmodule
id CDATA #REQUIRED
version CDATA #IMPLIED
checkoutdir CDATA #IMPLIED
autogenargs CDATA #IMPLIED
makeargs CDATA #IMPLIED
root CDATA #IMPLIED
supports-non-srcdir-builds (yes|no) 'yes' >
<!ELEMENT darcsmodule (dependencies?,suggests?) >
<!ATTLIST darcsmodule
id CDATA #REQUIRED
checkoutdir CDATA #IMPLIED
autogenargs CDATA #IMPLIED
makeargs CDATA #IMPLIED
root CDATA #IMPLIED
supports-non-srcdir-builds (yes|no) 'yes' >
<!ELEMENT metamodule (dependencies) >
<!ATTLIST metamodule
id CDATA #REQUIRED >
<!ELEMENT tarball
(source,patches?,dependencies?,suggests?) >
<!ATTLIST tarball
id CDATA #REQUIRED
version CDATA #REQUIRED
checkoutdir CDATA #IMPLIED
autogenargs CDATA #IMPLIED
makeargs CDATA #IMPLIED
supports-non-srcdir-builds (yes|no) 'yes' >
<!ELEMENT mozillamodule (dependencies?,suggests?) >
<!ATTLIST mozillamodule
id CDATA #REQUIRED
module CDATA #IMPLIED
revision CDATA #IMPLIED
checkoutdir CDATA #IMPLIED
autogenargs CDATA #IMPLIED
makeargs CDATA #IMPLIED
cvsroot CDATA #IMPLIED >
<!-- Tarball sub-elements -->
<!ELEMENT source EMPTY >
<!ATTLIST source
href CDATA #REQUIRED
size CDATA #IMPLIED
md5sum CDATA #IMPLIED >
<!ELEMENT patches (patch)* >
<!ELEMENT patch EMPTY >
<!ATTLIST patch
file CDATA #REQUIRED
strip CDATA '0' >
<!-- common sub-elements -->
<!ELEMENT dependencies (dep*) >
<!ELEMENT suggests (dep*) >
<!ELEMENT dep EMPTY >
<!ATTLIST dep
package CDATA #REQUIRED >

View File

@ -0,0 +1,131 @@
default namespace = ""
start = moduleset
boolean = "yes" | "no"
moduleset = element moduleset { repository*,
(\include|package)* }
repository_cvs = attribute type { "cvs" },
attribute cvsroot { text },
attribute password { text }?
repository_svn = attribute type { "svn" },
attribute href { xsd:anyURI }
repository_arch = attribute type { "arch" },
attribute archive { text },
attribute href { xsd:anyURI }?
repository_darcs = attribute type { "darcs" },
attribute href { xsd:anyURI }
repository_git = attribute type { "git" },
attribute href { xsd:anyURI }
repository_tarball = attribute type { "tarball" },
attribute href { xsd:anyURI }
repository = element repository {
attribute name { text },
attribute default { boolean }?,
(repository_cvs|repository_svn|repository_arch|
repository_darcs|repository_git|repository_tarball)
}
\include = element include {
attribute href { xsd:anyURI }
}
package = autotools |
metamodule |
distutils |
perl |
tarball |
mozillamodule
dep = element dep {
attribute package { text }
}
dependencies = element dependencies { dep* }
after = element after { dep* } | element suggests { dep* }
common = attribute id { text } & dependencies* & after*
branch_cvs = attribute module { text }?,
attribute checkoutdir { text }?,
attribute revision { text}?,
attribute override-checkoutdir { boolean }?,
attribute update-new-dirs { boolean }?
branch_svn = attribute module { xsd:anyURI }?,
attribute checkoutdir { text }?
branch_arch = attribute module { xsd:anyURI }?,
attribute checkoutdir { text }?
branch_darcs = attribute module { xsd:anyURI }?,
attribute checkoutdir { text }?
branch_git = attribute module { xsd:anyURI }?,
attribute checkoutdir { text }?
branch_tarball = attribute module { xsd:anyURI },
attribute version { text },
attribute size { text }?,
attribute md5sum { text }?,
element patch {
attribute file { text },
attribute strip { text }?
}*
branch = element branch {
attribute repo { text }?,
(branch_cvs|branch_svn|branch_arch|branch_darcs|branch_git|branch_tarball)
}
autotools = element autotools {
branch &
attribute autogen-sh { text }? &
attribute autogenargs { text }? &
attribute makeargs { text }? &
attribute supports-non-srcdir-builds { boolean }? &
common
}
metamodule = element metamodule { common }
distutils = element distutils {
branch &
attribute supports-non-srcdir-builds { boolean }? &
common
}
perl = element perl {
branch &
attribute makeargs { text }? &
common
}
tarball = element tarball {
attribute version { text },
attribute checkoutdir { text }?,
attribute autogenargs { text }?,
attribute makeargs { text }?,
attribute supports-non-srcdir-builds { boolean }?,
(element source {
attribute href { text },
attribute size { text }?,
attribute md5sum { text }? } &
element patches {
element patch {
attribute file { text },
attribute strip { text }?
}+ }? &
common)
}
mozillamodule = element mozillamodule {
attribute module { text }?,
attribute revision { text }?,
attribute checkoutdir { text }?,
attribute autogenargs { text }?,
attribute makeargs { text }?,
attribute cvsroot { text }?,
attribute root { text }?,
common
}

View File

@ -0,0 +1,283 @@
<?xml version='1.0'?> <!--*- mode: nxml -*-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="html" encoding="ISO-8859-1" indent="yes" />
<xsl:key name="module-id" match="moduleset/*" use="@id" />
<xsl:template match="/">
<html>
<head>
<title>Module Set</title>
<style type="text/css">
<xsl:text>
div.cvsmodule, div.mozillamodule {
padding: 0.5em;
margin: 0.5em;
background: #87CEFA;
}
div.svnmodule {
padding: 0.5em;
margin: 0.5em;
background: #67AEDA;
}
div.metamodule {
padding: 0.5em;
margin: 0.5em;
background: #F08080;
}
div.tarball {
padding: 0.5em;
margin: 0.5em;
background: #EEDD82;
}
</xsl:text>
</style>
</head>
<body>
<xsl:apply-templates />
</body>
</html>
</xsl:template>
<xsl:template match="moduleset">
<h1>Module Set</h1>
<xsl:apply-templates />
</xsl:template>
<xsl:template match="dependencies">
<xsl:variable name="deps" select="dep/@package" />
<xsl:for-each select="$deps">
<a href="#{generate-id(key('module-id', .))}">
<xsl:value-of select="." />
</a>
<xsl:if test="not($deps[last()] = .)">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:template>
<xsl:template match="cvsmodule">
<div class="{name(.)}">
<h2>
<xsl:value-of select="@id" />
<a name="{generate-id(.)}" />
</h2>
<table>
<tr>
<th align="left">Module:</th>
<td>
<xsl:choose>
<xsl:when test="@module">
<xsl:value-of select="@module" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@id" />
</xsl:otherwise>
</xsl:choose>
<xsl:if test="@revision">
<xsl:text> rv:</xsl:text>
<xsl:value-of select="@revision" />
</xsl:if>
</td>
</tr>
<xsl:if test="@checkoutdir">
<tr>
<th align="left">Checkout directory:</th>
<td><xsl:value-of select="@checkoutdir" /></td>
</tr>
</xsl:if>
<xsl:if test="@autogenargs">
<tr>
<th align="left">Autogen args:</th>
<td><xsl:value-of select="@autogenargs" /></td>
</tr>
</xsl:if>
<xsl:if test="@cvsroot">
<tr>
<th align="left">CVS Root:</th>
<td><xsl:value-of select="@cvsroot" /></td>
</tr>
</xsl:if>
<xsl:if test="dependencies">
<tr>
<th align="left" valign="top">Dependencies:</th>
<td><xsl:apply-templates select="dependencies" /></td>
</tr>
</xsl:if>
</table>
</div>
</xsl:template>
<xsl:template match="svnmodule">
<div class="{name(.)}">
<h2>
<xsl:value-of select="@id" />
<a name="{generate-id(.)}" />
</h2>
<table>
<tr>
<th align="left">Module:</th>
<td>
<xsl:choose>
<xsl:when test="@module">
<xsl:value-of select="@module" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@id" />
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
<xsl:if test="@checkoutdir">
<tr>
<th align="left">Checkout directory:</th>
<td><xsl:value-of select="@checkoutdir" /></td>
</tr>
</xsl:if>
<xsl:if test="@autogenargs">
<tr>
<th align="left">Autogen args:</th>
<td><xsl:value-of select="@autogenargs" /></td>
</tr>
</xsl:if>
<xsl:if test="@svnroot">
<tr>
<th align="left">SVN Repository:</th>
<td><xsl:value-of select="@svnroot" /><xsl:if test="@path"><xsl:value-of select="@path" /></xsl:if></td>
</tr>
</xsl:if>
<xsl:if test="dependencies">
<tr>
<th align="left" valign="top">Dependencies:</th>
<td><xsl:apply-templates select="dependencies" /></td>
</tr>
</xsl:if>
</table>
</div>
</xsl:template>
<xsl:template match="metamodule">
<div class="{name(.)}">
<h2>
<xsl:value-of select="@id" />
<a name="{generate-id(.)}" />
</h2>
<table>
<xsl:if test="dependencies">
<tr>
<th align="left" valign="top">Dependencies:</th>
<td><xsl:apply-templates select="dependencies" /></td>
</tr>
</xsl:if>
</table>
</div>
</xsl:template>
<xsl:template match="patches">
<ul>
<xsl:for-each select="patch">
<li><xsl:value-of select="." /></li>
</xsl:for-each>
</ul>
</xsl:template>
<xsl:template match="tarball">
<div class="{name(.)}">
<h2>
<xsl:value-of select="@id" />
<a name="{generate-id(.)}" />
</h2>
<table>
<tr>
<th align="left">Version:</th>
<td><xsl:value-of select="@version" /></td>
</tr>
<xsl:if test="@versioncheck">
<tr>
<th align="left">Version check:</th>
<td><xsl:value-of select="@versioncheck" /></td>
</tr>
</xsl:if>
<tr>
<th align="left">Source:</th>
<td>
<a href="{source/@href}">
<xsl:value-of select="source/@href" />
</a>
<xsl:if test="source/@size">
<xsl:text> (</xsl:text>
<xsl:value-of select="source/@size" />
<xsl:text> bytes)</xsl:text>
</xsl:if>
</td>
</tr>
<xsl:if test="patches">
<tr>
<th align="left" valign="top">Patches:</th>
<td><xsl:apply-templates select="patches" /></td>
</tr>
</xsl:if>
<xsl:if test="dependencies">
<tr>
<th align="left" valign="top">Dependencies:</th>
<td><xsl:apply-templates select="dependencies" /></td>
</tr>
</xsl:if>
</table>
</div>
</xsl:template>
<xsl:template match="mozillamodule">
<div class="{name(.)}">
<h2>
<xsl:value-of select="@id" />
<a name="{generate-id(.)}" />
</h2>
<table>
<tr>
<th align="left">Module:</th>
<td>
<xsl:choose>
<xsl:when test="@module">
<xsl:value-of select="@module" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@id" />
</xsl:otherwise>
</xsl:choose>
<xsl:if test="@revision">
<xsl:text> rv:</xsl:text>
<xsl:value-of select="@revision" />
</xsl:if>
</td>
</tr>
<xsl:if test="@checkoutdir">
<tr>
<th align="left">Checkout directory:</th>
<td><xsl:value-of select="@checkoutdir" /></td>
</tr>
</xsl:if>
<xsl:if test="@autogenargs">
<tr>
<th align="left">Autogen args:</th>
<td><xsl:value-of select="@autogenargs" /></td>
</tr>
</xsl:if>
<xsl:if test="@cvsroot">
<tr>
<th align="left">CVS Root:</th>
<td><xsl:value-of select="@cvsroot" /></td>
</tr>
</xsl:if>
<xsl:if test="dependencies">
<tr>
<th align="left" valign="top">Dependencies:</th>
<td><xsl:apply-templates select="dependencies" /></td>
</tr>
</xsl:if>
</table>
</div>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,4 @@
<?xml version="1.0"?>
<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
<documentElement localName="moduleset" uri="moduleset.rnc" />
</locatingRules>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

222
scripts/jhbuild/rewrite.py Executable file
View File

@ -0,0 +1,222 @@
#!/usr/bin/env python
# Available modulesets:
#
# bootstrap.modules
# freedesktop.modules
# gcj.modules
# gnome-2.10.modules
# gnome-2.12.modules
# gnome-2.14.modules
# gnome-2.16.modules
# gnutls.modules
# gtk28.modules
# gtk.modules
# xorg-7.0.modules
# xorg.modules
moduleset = 'xorg.modules'
import cElementTree as ElementTree
# import lxml.etree as ElementTree
import re, os, bb, bb.data
class Handlers(object):
"""
Class to act as a store for handlers of jhbuild xml elements, and as a
dispatcher of parsed Elements to those handlers.
These handlers exist to take an xml element from the jhbuild files and
either produce bitbake metadata in self.packages, or produce data which
will be used by other element handlers to do so.
Handlers(filename) -> new object to parse and process jhbuild file of
name 'filename'.
"""
cvsrootpat = re.compile(r'''
\s* # Skip leading whitespace
:(?P<scheme>[^:]+): # scheme (i.e. pserver, ext)
((?P<user>\S+?)@)? # username
(?P<host>\S+?): # non-greedy match of the remote host
(?P<path>\S+) # remote path
''', re.VERBOSE)
def __init__(self, msfile):
self.msfile = msfile
self.msbasename = os.path.basename(msfile)
self.msdirname = os.path.dirname(msfile)
self.handled = {}
self.cvsroots = {}
self.repositories = {}
self.packages = []
def handle(self, element, parent):
import sys
"""
XML Element dispatch function. Can be called both from outside the
Handlers object to initiate handling, and from within individual XML
element handlers to ensure that dependent elements have been handled.
Does not handle a given XML Element more than once, as it retains
information about the handling state of the Elements it encounters.
"""
try:
state = self.handled[element]
except KeyError:
pass
except:
return
try:
self.__class__.__dict__[element.tag](self, element, parent)
self.handled[element] = True
except KeyError:
self.handled[element] = False
sys.__stderr__.write('Unhandled element: %s\n' % element.tag)
except Exception:
sys.__stderr__.write('Error handling %s: %s:\n %s\n' % (element.tag, sys.exc_type, sys.exc_value))
self.handled[element] = False
print('handle(%s, %s) -> %s' % (element, parent, self.handled[element]))
return self.handled[element]
def cvsroot(self, element, parent):
# Rip apart the cvsroot style location to build a cvs:// url for
# bitbake's usage in the cvsmodule handler.
# root=":pserver:anoncvs@cvs.freedesktop.org:/cvs/fontconfig"
print("cvsroot(%s, %s)" % (element, parent))
root = element.attrib.get('root')
rootmatch = re.match(Handlers.cvsrootpat, root)
name = element.attrib.get('name')
user = rootmatch.group('user') or ''
if user != '':
pw = element.attrib.get('password') or ''
if pw != '':
pw = ':' + pw + '@'
else:
user = user + '@'
print('user: %s' % user)
print('pw: %s' % pw)
host = rootmatch.group('host')
print('host: %s' % host)
path = rootmatch.group('path') or '/'
print('path: %s' % path)
root = "cvs://%s%s%s%s" % (user, pw, host, path)
print('root: %s' % root)
self.cvsroots[name] = root
def cvsmodule(self, element, parent):
rootlist = [root for root in list(parent) if root.attrib.get('name') == element.attrib.get('cvsroot')]
if len(rootlist) < 1:
raise Exception("Error: cvsmodule '%s' requires cvsroot '%s'." % (element.attrib.get('module'), element.attrib.get('cvsroot')))
cvsroot = rootlist[0]
def include(self, element, parent):
href = element.attrib.get('href')
fullhref = os.path.join(self.msdirname, href)
tree = ElementTree.ElementTree(file=fullhref)
elem = tree.getroot()
# Append the children of the newly included root element to the parent
# element, and manually handle() them, as the currently running
# iteration isn't going to hit them.
for child in elem:
self.handle(child, elem)
parent.append(elem)
def repository(self, element, parent):
# TODO:
# Convert the URL in the href attribute, if necessary, to the format
# which bitbake expects to see in SRC_URI.
name = element.attrib.get('name')
self.repositories[name] = element.attrib.get('href')
def moduleset(self, element, parent):
for child in element:
self.handle(child, element)
def packagename(self, name):
# mangle name into an appropriate bitbake package name
return name.replace('/', '-')
def metamodule(self, element, parent):
# grab the deps
dependlist = [child for child in element if child.tag == "dependencies"]
deps = [self.packagename(dep.attrib.get('package')) for dep in dependlist[0] if child.tag == "dep"]
# create the package
d = bb.data.init()
pn = self.packagename(element.attrib.get('id'))
bb.data.setVar('PN', pn, d)
bb.data.setVar('DEPENDS', ' '.join(deps), d)
bb.data.setVar('_handler', 'metamodule', d)
self.packages.append(d)
def autotools(self, element, parent):
deps = None
branch = None
for child in element:
if child.tag == 'dependencies':
deps = [self.packagename(dep.attrib.get('package')) for dep in child if dep.tag == "dep"]
elif child.tag == 'branch':
branch = child
# create the package
d = bb.data.init()
id = element.attrib.get('id')
if id is None:
raise Exception('Error: autotools element has no id attribute.')
pn = self.packagename(id)
bb.data.setVar('PN', pn, d)
if deps is not None:
bb.data.setVar('DEPENDS', ' '.join(deps), d)
if branch is not None:
# <branch repo="git.freedesktop.org" module="xorg/xserver"/>
repo = os.path.join(self.repositories[branch.attrib.get('repo')], branch.attrib.get('module'))
bb.data.setVar('SRC_URI', repo, d)
checkoutdir = branch.attrib.get('checkoutdir')
if checkoutdir is not None:
bb.data.setVar('S', os.path.join('${WORKDIR}', checkoutdir), d)
# build class
bb.data.setVar('INCLUDES', 'autotools', d)
bb.data.setVarFlag('INCLUDES', 'operator', '+=', d)
bb.data.setVar('_handler', 'autotools', d)
self.packages.append(d)
class Emitter(object):
"""
Class to take a Handlers object after processing and emit the
bitbake files from the metadata. It supports either emitting
the data as is, using templates based on package name, and using
templates based on the name of handler / xml element associated
with the package itself.
"""
def _test():
msfile = os.path.join(os.path.abspath(os.curdir), 'modulesets', moduleset)
tree = ElementTree.ElementTree(file=msfile)
elem = tree.getroot()
handlers = Handlers(msfile)
handlers.handle(elem, None)
for package in handlers.packages:
print(bb.data.getVar('PN', package))
if __name__ == "__main__":
_test()