diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e4e766e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/*.png +/rpms/ diff --git a/clone_rpms.sh b/clone_rpms.sh new file mode 100755 index 0000000..0558d91 --- /dev/null +++ b/clone_rpms.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +script_location=$( (cd $(dirname $0) && pwd) ) + +module=$(basename $script_location) + +mkdir -p rpms +pushd rpms 2>&1 >/dev/null + +for pkg in $(grep -B1 --no-group-separator buildorder ../$module.yaml | grep -v buildorder | sed -e 's/:$//') ; do + if [ ! -d "$pkg" ] ; then + fedpkg clone $pkg + (cd $pkg ; fedpkg switch-branch master ; fedpkg switch-branch $module) + fi +done + +popd 2>&1 >/dev/null diff --git a/eclipse.yaml b/eclipse.yaml new file mode 100644 index 0000000..f5894a8 --- /dev/null +++ b/eclipse.yaml @@ -0,0 +1,834 @@ +--- +document: modulemd +version: 2 +data: + summary: An open, extensible IDE and application platform + description: >- + The Eclipse platform is designed for building integrated development + environments (IDEs), server-side applications, desktop applications, and + everything in between. + license: + module: + - MIT + dependencies: + - buildrequires: + tycho: [1.4] + platform: [] + requires: + ant: [1.10] + maven: [3.5] + platform: [] + profiles: + default: + rpms: + - eclipse-abrt + - eclipse-jdt + - eclipse-mpc + - eclipse-usage + api: + rpms: + - eclipse-abrt + - eclipse-cdt-native + - eclipse-dtp + - eclipse-egit + - eclipse-egit-github + - eclipse-egit-mylyn + - eclipse-epp-logging + - eclipse-gef + - eclipse-jdt + - eclipse-jgit + - eclipse-launchbar + - eclipse-mpc + - eclipse-pde + - eclipse-pydev + - eclipse-subclipse + - eclipse-tm-terminal + - eclipse-usage + filter: + rpms: + - antlr32-javadoc + - antlr32-maven-plugin + - antlr32-tool + - apache-commons-compress-javadoc + - apache-commons-el-javadoc + - apache-commons-jxpath-javadoc + - apache-commons-lang-javadoc + - apache-sshd-javadoc + - args4j-javadoc + - args4j-parent + - args4j-tools + - base64coder-javadoc + - batik-demo + - batik-javadoc + - batik-rasterizer + - batik-slideshow + - batik-squiggle + - batik-svgpp + - batik-ttf2svg + - bouncycastle-javadoc + - eclipse-cdt + - eclipse-cdt-arduino + - eclipse-cdt-docker + - eclipse-cdt-llvm + - eclipse-cdt-parsers + - eclipse-cdt-qt + - eclipse-cdt-sdk + - eclipse-cdt-tests + - eclipse-gef-sdk + - eclipse-gef-tests + - eclipse-mylyn-builds + - eclipse-mylyn-builds-hudson + - eclipse-mylyn-context-cdt + - eclipse-mylyn-context-java + - eclipse-mylyn-context-pde + - eclipse-mylyn-docs-epub + - eclipse-mylyn-docs-wikitext + - eclipse-mylyn-sdk + - eclipse-mylyn-tasks-trac + - eclipse-mylyn-tasks-web + - eclipse-mylyn-tests + - eclipse-mylyn-versions + - eclipse-mylyn-versions-cvs + - eclipse-mylyn-versions-git + - eclipse-mylyn-versions-subclipse + - eclipse-pydev-mylyn + - eclipse-tm-terminal-connectors + - eclipse-tm-terminal-rse + - eclipse-tm-terminal-sdk + - ed25519-java-javadoc + - felix-gogo-command-javadoc + - felix-gogo-runtime-javadoc + - felix-gogo-shell-javadoc + - felix-scr-javadoc + - freemarker-javadoc + - glassfish-annotation-api-javadoc + - glassfish-jaxb + - glassfish-jaxb-api-javadoc + - glassfish-jaxb-bom + - glassfish-jaxb-bom-ext + - glassfish-jaxb-codemodel + - glassfish-jaxb-codemodel-annotation-compiler + - glassfish-jaxb-codemodel-parent + - glassfish-jaxb-external-parent + - glassfish-jaxb-javadoc + - glassfish-jaxb-jxc + - glassfish-jaxb-parent + - glassfish-jaxb-rngom + - glassfish-jaxb-runtime-parent + - glassfish-jaxb-txw-parent + - glassfish-jaxb-txwc2 + - glassfish-jaxb-xjc + - glassfish-jsp-api-javadoc + - glassfish-jsp-javadoc + - glassfish-servlet-api-javadoc + - google-gson-javadoc + - icu4j-charset + - icu4j-javadoc + - icu4j-localespi + - jakarta-commons-httpclient-demo + - jakarta-commons-httpclient-javadoc + - jakarta-commons-httpclient-manual + - javaewah-javadoc + - javaparser + - javaparser-javadoc + - jctools-channels + - jctools-experimental + - jctools-javadoc + - jctools-parent + - jetty + - jetty-alpn-client + - jetty-alpn-server + - jetty-annotations + - jetty-ant + - jetty-cdi + - jetty-client + - jetty-deploy + - jetty-fcgi-client + - jetty-fcgi-server + - jetty-http-spi + - jetty-http2-client + - jetty-http2-common + - jetty-http2-hpack + - jetty-http2-http-client-transport + - jetty-http2-server + - jetty-httpservice + - jetty-infinispan + - jetty-jaas + - jetty-jaspi + - jetty-javadoc + - jetty-javax-websocket-client-impl + - jetty-javax-websocket-server-impl + - jetty-jmx + - jetty-jndi + - jetty-jsp + - jetty-jspc-maven-plugin + - jetty-jstl + - jetty-maven-plugin + - jetty-nosql + - jetty-osgi-alpn + - jetty-osgi-boot + - jetty-osgi-boot-jsp + - jetty-osgi-boot-warurl + - jetty-plus + - jetty-project + - jetty-proxy + - jetty-quickstart + - jetty-rewrite + - jetty-servlets + - jetty-spring + - jetty-start + - jetty-unixsocket + - jetty-util-ajax + - jetty-webapp + - jetty-websocket-api + - jetty-websocket-client + - jetty-websocket-common + - jetty-websocket-server + - jetty-websocket-servlet + - jetty-xml + - jffi-javadoc + - jgit-javadoc + - jline-javadoc + - jna-javadoc + - jnr-constants-javadoc + - jnr-enxio-javadoc + - jnr-ffi-javadoc + - jnr-netdb-javadoc + - jnr-posix-javadoc + - jnr-unixsocket-javadoc + - jnr-x86asm-javadoc + - jsch-agent-proxy-javadoc + - jsch-agent-proxy-jsch + - jsch-agent-proxy-sshj + - jython-demo + - jython-javadoc + - kxml-javadoc + - lpg + - lpg-java + - lucene-analyzers-icu + - lucene-analyzers-kuromoji + - lucene-analyzers-morfologik + - lucene-analyzers-nori + - lucene-analyzers-phonetic + - lucene-analyzers-stempel + - lucene-backward-codecs + - lucene-benchmark + - lucene-classification + - lucene-codecs + - lucene-demo + - lucene-expressions + - lucene-facet + - lucene-grouping + - lucene-highlighter + - lucene-javadoc + - lucene-join + - lucene-memory + - lucene-parent + - lucene-replicator + - lucene-solr-grandparent + - lucene-spatial + - lucene-spatial-extras + - lucene-spatial3d + - lucene-suggest + - lucene-test-framework + - nekohtml-demo + - nekohtml-javadoc + - netty-javadoc + - objectweb-asm-javadoc + - sac-javadoc + - sequence-library-javadoc + - snakeyaml-javadoc + - sqljet-javadoc + - stringtemplate-javadoc + - svnkit-cli + - svnkit-javadoc + - swt-chart-javadoc + - trilead-ssh2-javadoc + - ws-commons-util-javadoc + - wsdl4j-javadoc + - xmlgraphics-commons-javadoc + - xmlrpc-javadoc + - xpp3-javadoc + - xpp3-minimal + buildopts: + rpms: + macros: | + %_with_bootstrap 1 + %_with_jp_minimal 1 + %_without_javahl 1 + %_without_spring 1 + %_without_mylyn_epub 1 + %_without_contrib_tools 1 + %_without_remote 1 + %_without_photran_support 1 + %_without_reflections 1 + components: + rpms: + antlr32: + buildorder: 20 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-pydev, jython, sqljet. + apache-commons-compress: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of docker-client-java, eclipse-jgit, jython. + apache-commons-el: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse. + apache-commons-jxpath: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse. + apache-commons-lang: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of docker-client-java, eclipse-mylyn. + apache-sshd: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-jgit. + args4j: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-jgit. + base64coder: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of snakeyaml. + batik: + buildorder: 20 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse. + bean-validation-api: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of jersey. + bouncycastle: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of docker-client-java, eclipse-jgit, jython. + docker-client-java: + buildorder: 50 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-linuxtools. + eclipse-abrt: + buildorder: 50 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Module API. + eclipse-cdt: + buildorder: 60 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Module API. + Runtime dependency of eclipse-ptp, eclipse-remote. + eclipse-dtp: + buildorder: 20 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Module API. + eclipse-egit: + buildorder: 40 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Module API. + Runtime dependency of eclipse-egit-github, + eclipse-tm-terminal. + eclipse-egit-github: + buildorder: 50 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Module API. + eclipse-epp-logging: + buildorder: 40 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Module API. + Runtime dependency of eclipse-abrt, eclipse-usage. + eclipse-gef: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Module API. + Runtime dependency of eclipse-dtp, eclipse-subclipse. + eclipse-jgit: + buildorder: 30 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Module API. + Runtime dependency of eclipse-egit, + eclipse-egit-github, eclipse-ptp. + eclipse-launchbar: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Module API. + Runtime dependency of eclipse-cdt. + eclipse-mpc: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Module API. + eclipse-mylyn: + buildorder: 30 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-abrt, eclipse-egit, + eclipse-egit-github, eclipse-epp-logging, + eclipse-subclipse. + eclipse-ptp: + buildorder: 80 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Module API. + Runtime dependency of eclipse-linuxtools. + eclipse-pydev: + buildorder: 50 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Module API. + eclipse-remote: + buildorder: 70 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-ptp. + eclipse-subclipse: + buildorder: 50 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Module API. + eclipse-tm-terminal: + buildorder: 50 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Module API. + Runtime dependency of eclipse-cdt, eclipse-ptp, eclipse-remote. + eclipse-usage: + buildorder: 50 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Module API. + ed25519-java: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-jgit. + felix-gogo-command: + buildorder: 20 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse. + felix-gogo-runtime: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse, felix-gogo-command, + felix-gogo-shell. + felix-gogo-shell: + buildorder: 20 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse. + felix-scr: + buildorder: 30 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse. + freemarker: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-cdt. + glassfish-annotation-api: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse, glassfish-hk2, jersey. + glassfish-hk2: + buildorder: 20 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of docker-client-java, jersey. + glassfish-jax-rs-api: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-linuxtools, jersey. + glassfish-jaxb: + buildorder: 20 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-cdt, eclipse-ptp. + glassfish-jaxb-api: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-cdt, eclipse-ptp, glassfish-jaxb. + glassfish-jsp: + buildorder: 30 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse. + glassfish-jsp-api: + buildorder: 20 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse, glassfish-jsp. + glassfish-servlet-api: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse, glassfish-jsp-api, jetty. + google-gson: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse, eclipse-cdt, eclipse-egit-github, + eclipse-epp-logging, eclipse-jgit, eclipse-mylyn. + icu4j: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse, jython. + jackson-annotations: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-linuxtools, + jackson-databind, jackson-modules-base, jersey. + jackson-core: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of jackson-databind, + jackson-datatypes-collections, jackson-jaxrs-providers, + jackson-modules-base. + jackson-databind: + buildorder: 20 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of docker-client-java, + eclipse-linuxtools, jackson-datatypes-collections, + jackson-jaxrs-providers, jackson-modules-base, jersey. + jackson-datatypes-collections: + buildorder: 30 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of docker-client-java. + jackson-jaxrs-providers: + buildorder: 40 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of docker-client-java. + jackson-modules-base: + buildorder: 30 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of jackson-jaxrs-providers, jersey. + jakarta-commons-httpclient: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-mylyn. + javaewah: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-jgit. + javaparser: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Build dependency of jctools. + javassist: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of glassfish-hk2. + jersey: + buildorder: 40 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of docker-client-java, + eclipse-linuxtools. + jctools: + buildorder: 20 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of jython, netty. + jetty: + buildorder: 20 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse, eclipse-jgit. + jffi: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of jnr-ffi, jython. + jline: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of jython. + jna: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of jsch-agent-proxy, svnkit. + jnr-constants: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of jnr-enxio, jnr-posix, + jnr-unixsocket, jython. + jnr-enxio: + buildorder: 30 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-abrt, jnr-unixsocket. + jnr-ffi: + buildorder: 20 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of jnr-enxio, jnr-netdb, jnr-posix, + jnr-unixsocket, jython. + jnr-netdb: + buildorder: 30 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of jython. + jnr-posix: + buildorder: 30 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of jnr-unixsocket, jython. + jnr-unixsocket: + buildorder: 40 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of docker-client-java, eclipse-abrt. + jnr-x86asm: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of jnr-ffi. + jsch-agent-proxy: + buildorder: 20 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of svnkit. + jython: + buildorder: 40 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-pydev. + kxml: + buildorder: 20 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of felix-scr. + lpg: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-dtp. + lucene: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse, eclipse-dtp, eclipse-mylyn. + nekohtml: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-linuxtools. + netty: + buildorder: 30 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of jython. + objectweb-asm: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse, jersey, jnr-ffi, jython. + rxtx: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-tm-terminal. + sac: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse. + sat4j: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse. + sequence-library: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of svnkit. + snakeyaml: + buildorder: 20 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-pydev. + sqljet: + buildorder: 30 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of svnkit. + stringtemplate: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of antlr32. + svnkit: + buildorder: 40 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-subclipse. + swt-chart: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-linuxtools. + trilead-ssh2: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of jsch-agent-proxy, svnkit. + ws-commons-util: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-pydev, xmlrpc. + wsdl4j: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-dtp. + xmlgraphics-commons: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of batik. + xmlrpc: + buildorder: 20 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of eclipse-mylyn, eclipse-pydev. + xpp3: + buildorder: 10 + ref: eclipse + arches: [x86_64, ppc64le, aarch64, s390x] + rationale: > + Runtime dependency of felix-scr, kxml. diff --git a/gen_build_order_graph.py b/gen_build_order_graph.py new file mode 100755 index 0000000..44223dc --- /dev/null +++ b/gen_build_order_graph.py @@ -0,0 +1,54 @@ +#!/usr/bin/python3 + +import yaml +from pygraphviz import AGraph +from subprocess import call + +with open("eclipse.yaml", 'r') as stream: + yaml = yaml.safe_load(stream) + +rpms = yaml['data']['components']['rpms'] + +g = AGraph(directed=True, name="G", strict=False, label="Build Order Graph") +ranks = [] +for key, value in rpms.items(): + rank = value['buildorder'] + if rank not in ranks: + ranks.append(rank) + subg = g.get_subgraph(f"{rank}") + if subg is None: + subg = g.add_subgraph(name=f"{rank}", label=f"Build Order {rank}", rank="same") + subg.add_node(f"{rank}") + subg.add_node(key) + rs = value['rationale'].replace('\n', ' ').split('.') + reqs = [] + breqs = [] + for r in rs: + r = r.strip() + if not r or r == 'Module API': + continue + if r.startswith('Runtime dependency of'): + r = r[len('Runtime dependency of'):] + reqs = [x.strip() for x in r.split(',')] + if r.startswith('Build dependency of'): + r = r[len('Build dependency of'):] + breqs = [x.strip() for x in r.split(',')] + for req in reqs: + # For Rs, check if also a BR + if req not in breqs: + g.add_edge(key, req, color='blue') + else: + g.add_edge(key, req, color='purple') + for breq in breqs: + # For BRs, check if also a R + if breq not in reqs: + g.add_edge(key, breq, color='red') +ranks.sort() +for idx, rank in enumerate(ranks): + if idx+1 < len(ranks): + g.add_edge(rank, ranks[idx+1], weight=1000) + + +print(g.string()) +g.draw("build_order_graph.png", prog="dot") +call('eog build_order_graph.png &', shell=True) diff --git a/koschei.cfg b/koschei.cfg new file mode 100644 index 0000000..a209fd5 --- /dev/null +++ b/koschei.cfg @@ -0,0 +1,161 @@ +# -*- python -*- +# vim: ft=python +config = { + "buildrequires": [ + "tycho", + "platform", + ], + "requires": [ + "ant", + "maven", + "platform", + ], + + "bootstrap": False, + "full_refs": False, + "default_ref": "eclipse", + "include_build_deps": False, + "closure": False, + "filter_unused": True, + "topo_sort": True, + + "api": [ + "eclipse-abrt", + "eclipse-cdt-native", + "eclipse-dtp", + "eclipse-egit", + "eclipse-egit-github", + "eclipse-egit-mylyn", + "eclipse-epp-logging", + "eclipse-gef", + "eclipse-jdt", + "eclipse-jgit", + "eclipse-launchbar", + "eclipse-mpc", + "eclipse-pde", + "eclipse-pydev", + "eclipse-subclipse", + "eclipse-tm-terminal", + "eclipse-usage", + "freemarker", + "glassfish-jaxb-runtime", + "nekohtml", + "rxtx", + "swt-chart", + ], + "profiles": { + "default": [ + "eclipse-abrt", + "eclipse-jdt", + "eclipse-mpc", + "eclipse-usage", + ], + }, + "filter": [ + ], + "includes": [ + ], + "excludes": [ + # Additional Runtime Exclusions + "apache-commons-math", + "cglib", + "dnsjava", + "easymock", + "gpars", + "groovy", + "guava", + "jmh", + "jsr-305", + "objenesis", + "osgi-core", + "qdox", + # For minimal glassfish-jaxb + "bea-stax", + "glassfish-fastinfoset", + "istack-commons", + "relaxngDatatype", + "stax-ex", + "xmlstreambuffer", + "xsom", + # For minimal eclipse-subclipse + "subversion", + # For minimal netty + "aalto-xml", + "stax2-api", + # For bootstrap eclipse + "eclipse", + "eclipse-ecf", + "eclipse-emf", + "eclipse-tm-terminal-connectors", + "eclipse-linuxtools-docker", + ], + "module_excludes": { + ("ant", "1.10"), + ("maven", "3.5"), + ("javapackages-runtime", "201801"), + }, + "frozen_refs": [ + ], + "stream_override": { + "ant": { + "2019-03": "[1.10]", + }, + "maven": { + "2019-03": "[3.5]", + }, + "tycho": { + "2019-03": "[1.3]", + }, + "platform": { + "2019-03": "[]", + }, + }, + + "macros": { + "_with_bootstrap": 1, + "_with_jp_minimal": 1, + "_without_javahl": 1, + "_without_spring": 1, + "_without_mylyn_epub": 1, + "_without_contrib_tools": 1, + "_without_remote": 1, + }, + + "summary": "An open, extensible IDE and application platform", + "description": """\ + The Eclipse platform is designed for building integrated development + environments (IDEs), server-side applications, desktop applications, and + everything in between. + """, + + "koji_config": { + "server": "https://koji.fedoraproject.org/kojihub", + "topurl": "https://kojipkgs.fedoraproject.org/", + "multicall_chunk_size": 1000, + "tag_name": "f30-build", + }, + "dependency": { + "repo_arch": "x86_64", + "resolve_for_arch": "x86_64", + "ignore_weak_deps": True, + "cache_l2_capacity": 2, + }, + "directories": { + "cachedir": "/tmp/maven-modulemd-gen", + }, + "logging": { + "version": 1, + "loggers": { + "": { + "level": "INFO", + "handlers": ["stderr"], + }, + }, + "handlers": { + "stderr": { + "class": "logging.StreamHandler", + "stream": "ext://sys.stderr" + }, + }, + }, +}