Brian Schüler wrote: > Hi folks, > > Calculating the build order out of a set of source RPMs is now possible (even with BuildRequires > from sources which are not included). The little trick rpm -E "`cat foo.spec`" did it. Special thanks > to Jeff J.! But I have to shorten the output to the essentials because 'rpm' is crashing when the output > of the spec file is too long. > > Here an example for alsa-lib package: > > [root at centosmirror alsa-lib-1.0.14-1.rc4.el5]# rpm -E "`cat alsa-lib.spec`" > *** buffer overflow detected ***: rpm terminated > ======= Backtrace: ========= > /lib64/libc.so.6(__chk_fail+0x2f)[0x300fee55ff] > /usr/lib64/librpmio-4.4.so(rpmExpand+0x66)[0x3011e1a2f6] > /usr/lib64/librpm-4.4.so[0x3012622d1c] > /usr/lib64/libpopt.so.0[0x301b4023e0] > /usr/lib64/libpopt.so.0[0x301b402419] > /usr/lib64/libpopt.so.0(poptGetNextOpt+0x402)[0x301b403242] > rpm[0x403779] > /lib64/libc.so.6(__libc_start_main+0xf4)[0x300fe1d8b4] > rpm[0x4034c9] > > - > > build-from-scratch only need a subdirectory called SRPMS with source packages and > their additional (not included in CentOS-base) dependencies in. The packages are > built on a (remote) mock build server where the ssh-agent must be running and the > build server's key added to avoid interaction. The resulting sub directory (i.e. i386) > must be published on a http server just-in-time to make it accessible for the mock > build server. > build-from-scratch checks the setting of the build server, then it calculates the > build-order and does some sanity checks on the SRPMs. After that it begins to > compile all SRPMs each in a clean build root in the right order. Build errors and > dependency lacks are reported on the __BAD subdirectory within the output directory. > This is also a great tool for writing high-quality .spec-files. > > Build-from-scratch can be downloaded from: > http://c.dyndns.org/brian/pub/centos/5/tools/ > (it needs createrepo and httpd installed.) > > My hint: Please read it with care before executing. > > VDR (the digital video disk recorder) is now completely mock-buildable on > CentOS-5 and may be added to a contrib-testing-like repository > (it is located at http://c.dyndns.org/brian/pub/centos/5/vdr). > RPMforge does only accept .spec files where the original URLs to the source > tarballs have partially been vanished or are changing in the future (which > is not a good idea, I think). So I would have to get storage space there. > > I hope the build order calculation function helps accelerating the build process > for the people who build CentOS and packages for it. I have used thetango to figure out build order for SRPMS ... in fact, I used it to get the build order for sparc SRPMS a couple weeks ago. https://fedorahosted.org/thetango/ -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 251 bytes Desc: OpenPGP digital signature URL: <http://lists.centos.org/pipermail/centos-devel/attachments/20080822/6cde5f75/attachment-0007.sig>