[CentOS-devel] still trying to build upstream srpms
joey at clean.q7.com
Mon Sep 1 20:58:02 UTC 2008
>> What's implied when people say mock is being used, is that there are no
>> special '--define', etc. flags passed to rpmbuild from within mock.
> Hmmm, and why is passing --define (or not) relevant to anything in the real
> Yes, the CentOS issue is trying to identify a "reproducible build", as
> defined by the
> RHEL build system, and rpm macros are often different and continuously
> If the macros used were the only part of the "reproducible build" problem,
> then --macrosused (and the RPMTAG_BUILDMACROS header extension)
> solves the problem by spewing the list of all macros used
> by rpmbuild (or any other rpm command) at termination,
> and/or by including the equivalent list of used macros (and definitions)
> within a *.src.rpm
> But the real problem is that all build systems contain versions of compilers
> and toolchains
> that are different. That's a whole different class of problem.
> So not passing --define is hardly relevant imho, the tool chains used for
> are what is very tricky to identify and attempt to "reproduce".
a lot of rpms use --define to control how the package is built, what
functions to enable in the package. postgresql is a good example. it has
47 %if clauses in the spec file that directly or indirectly rely on
--define switches at rpmbuild time.
this --macrosused/RPMTAG_BUILDMACROS sounds like exactly what i'm looking
for, but it doesn't appear to be part of the rpm system used by rh/centos.
but without the newer rpm system, how do the centos builders know what
flags to use to build an rpm? are they all built without any --define
flags? do we know that is how rh does it?
More information about the CentOS-devel