Based on what we've got built and what we want to have built, I wrote a perl script to "rpm -qp --requires" all the remaining SRPMs and try to group them according to what could be built next based on resolved dependencies. Packages are groups by what can be built in parallel. There are a few circular dependencies I noted below, but even so, there is a tangle at the end that still needs to be resolved.
PACKAGE DEPENDENCIES
acl gawk gettext libattr libtool attr gettext libtool basesystem elfutils bison bzip2 flex gcc gettext glibc-headers xz zlib expat autoconf automake check libtool fedora-release filesystem iso-codes keyutils glibc-kernheaders less autoconf automake libtool ncurses pcre libffi libmpc gmp mpfr texinfo libsepol libutempter lua ncurses readline nspr perl db4 gdbm groff procps rsyslog systemtap-sdt tcsh zlib popt doxygen gettext graphviz redhat-rpm-config libtool shadow-utils audit-libs libacl libattr libselinux sqlite /usr/bin/tclsh autoconf glibc ncurses readline tcl
perl-version perl setup bash perl tcsh tzdata gawk glibc glibc-common java perl
now build pkgconfig without glib
e2fsprogs libblkid libselinux libsepol libuuid pkgconfig texinfo libidn gettext pkgconfig nss-util gawk nspr perl pkgconfig psmisc zlib
now build python without openssl
ca-certificates java-openjdk perl python rcs cracklib autoconf automake gettext gettext-autopoint libtool python words file python zlib libxml2 pkgconfig python zlib
pam audit-libs autoconf automake bison cracklib cracklib-dicts db4 docbook-dtds docbook-style-xsl flex gettext libselinux libtool libxslt linuxdoc-tools perl pkgconfig sed w3m
libcap libattr pam
now build nss and nss-softokn together
rpm bzip2 db4 elfutils elfutils-libelf fakechroot file gawk gettext libacl libcap libselinux libsemanage lua ncurses nss nss-softokn-freebl popt python readline redhat-rpm-config xz zlib
gamin : glib2 glib2 : gamin
krb5 : openldap openssl cyrus-sasl : krb5 openldap openssl openldap : cyrus-sasl krb5 openssl openssl : krb5
shared-mime-info : glib2 libssh2 : openssl audit : openldap
On Friday, June 10, 2011 09:26:52 PM DJ Delorie wrote:
Based on what we've got built and what we want to have built, I wrote a perl script to "rpm -qp --requires" all the remaining SRPMs and try to group them according to what could be built next based on resolved dependencies. Packages are groups by what can be built in parallel. There are a few circular dependencies I noted below, but even so, there is a tangle at the end that still needs to be resolved.
PACKAGE DEPENDENCIES
acl gawk gettext libattr libtool attr gettext libtool basesystem elfutils bison bzip2 flex gcc gettext glibc-headers xz zlib expat autoconf automake check libtool fedora-release filesystem iso-codes keyutils glibc-kernheaders less autoconf automake libtool ncurses pcre libffi libmpc gmp mpfr texinfo libsepol libutempter lua ncurses readline nspr perl db4 gdbm groff procps rsyslog systemtap-sdt tcsh zlib popt doxygen gettext graphviz redhat-rpm-config libtool shadow-utils audit-libs libacl libattr libselinux sqlite /usr/bin/tclsh autoconf glibc ncurses readline tcl
perl-version perl setup bash perl tcsh tzdata gawk glibc glibc-common java perl
now build pkgconfig without glib
e2fsprogs libblkid libselinux libsepol libuuid pkgconfig texinfo libidn gettext pkgconfig nss-util gawk nspr perl pkgconfig psmisc zlib
now build python without openssl
ca-certificates java-openjdk perl python rcs cracklib autoconf automake gettext gettext-autopoint libtool python words file python zlib libxml2 pkgconfig python zlib
pam audit-libs autoconf automake bison cracklib cracklib-dicts db4 docbook-dtds docbook-style-xsl flex gettext libselinux libtool libxslt linuxdoc-tools perl pkgconfig sed w3m
libcap libattr pam
now build nss and nss-softokn together
rpm bzip2 db4 elfutils elfutils-libelf fakechroot file gawk gettext libacl libcap libselinux libsemanage lua ncurses nss nss-softokn-freebl popt python readline redhat-rpm-config xz zlib
gamin : glib2 glib2 : gamin
krb5 : openldap openssl cyrus-sasl : krb5 openldap openssl openldap : cyrus-sasl krb5 openssl openssl : krb5
shared-mime-info : glib2 libssh2 : openssl audit : openldap
some of these are noarch. we can just pull those direct from the primary arches
Dennis
DJ:
I'm not sure if I'm just missing something, but when I tried to build audit (source package that includes audit-libs) I encountered the following build dependencies (beyond what were already installed on the panda boards):
swig python-devel tcp_wrappers-devel libcap-ng-devel openldap-devel libprelude-devel
These in turn required additional dependencies of their own:
cyrus-sasl cyrus-sasl-devel gnutls-devel libcap-ng-devel libgcrypt-devel libgpg-error-devel libprelude tcp_wrappers-devel
While some of these are on the list (below), others are not. Do you know why some build dependencies (swig, libprelude, etc.) are not in the dependency list?
Thank you,
d.marlin =========
DJ Delorie wrote:
Based on what we've got built and what we want to have built, I wrote a perl script to "rpm -qp --requires" all the remaining SRPMs and try to group them according to what could be built next based on resolved dependencies. Packages are groups by what can be built in parallel. There are a few circular dependencies I noted below, but even so, there is a tangle at the end that still needs to be resolved.
PACKAGE DEPENDENCIES
acl gawk gettext libattr libtool attr gettext libtool basesystem elfutils bison bzip2 flex gcc gettext glibc-headers xz zlib expat autoconf automake check libtool fedora-release filesystem iso-codes keyutils glibc-kernheaders less autoconf automake libtool ncurses pcre libffi libmpc gmp mpfr texinfo libsepol libutempter lua ncurses readline nspr perl db4 gdbm groff procps rsyslog systemtap-sdt tcsh zlib popt doxygen gettext graphviz redhat-rpm-config libtool shadow-utils audit-libs libacl libattr libselinux sqlite /usr/bin/tclsh autoconf glibc ncurses readline tcl
perl-version perl setup bash perl tcsh tzdata gawk glibc glibc-common java perl
now build pkgconfig without glib
e2fsprogs libblkid libselinux libsepol libuuid pkgconfig texinfo libidn gettext pkgconfig nss-util gawk nspr perl pkgconfig psmisc zlib
now build python without openssl
ca-certificates java-openjdk perl python rcs cracklib autoconf automake gettext gettext-autopoint libtool python words file python zlib libxml2 pkgconfig python zlib
pam audit-libs autoconf automake bison cracklib cracklib-dicts db4 docbook-dtds docbook-style-xsl flex gettext libselinux libtool libxslt linuxdoc-tools perl pkgconfig sed w3m
libcap libattr pam
now build nss and nss-softokn together
rpm bzip2 db4 elfutils elfutils-libelf fakechroot file gawk gettext libacl libcap libselinux libsemanage lua ncurses nss nss-softokn-freebl popt python readline redhat-rpm-config xz zlib
gamin : glib2 glib2 : gamin
krb5 : openldap openssl cyrus-sasl : krb5 openldap openssl openldap : cyrus-sasl krb5 openssl openssl : krb5
shared-mime-info : glib2 libssh2 : openssl audit : openldap _______________________________________________ arm mailing list arm@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/arm
The list I had was limited to RPMs koji installs, I don't know how koji can install packages that are built against things it's not installing, but that's the kind of problem I expected :-P
This is why I'm trying to script it - figuring out these things manually is hard, I don't want us to do it twice.