* OEDEM 2009 summary: DISTROs and FEATURES
@ 2009-11-11 16:36 Phil Blundell
2009-11-11 18:30 ` Przemyslaw Wesolek
2009-11-11 23:21 ` Detlef Vollmann
0 siblings, 2 replies; 4+ messages in thread
From: Phil Blundell @ 2009-11-11 16:36 UTC (permalink / raw)
To: openembedded-devel
One topic which crops up on the mailing list now and again is the
tension between, on one hand, the desire to have packages tailored to
particular requirements or applications (for example, no x11 libs on a
system that never runs X); and, on the other hand, the desire for
"reproducible" builds. How can we resolve this?
After a bit of discussion we arrived at the following principles. I
think most/all of these are really just a formalisation of existing
practice rather than a radically new departure, but I don't think they
have previously been spelled out in this form:
a) a DISTRO represents a coherent set of binaries that are expected to
work together for a given MACHINE. (If the distro chooses, there may
also be scope to share binary packages between sets of MACHINEs.)
b) we accept that, if the end user chooses to override parts of the
DISTRO configuration, there are nonetheless a myriad ways in which he
can generate incompatible binaries. There doesn't seem to be much to
say about this other than to discourage users from doing it.
c) there is no expectation that binaries from different DISTROs, even on
the same MACHINE, should be compatible. (For example, they might use
different C libraries or even different endianness.)
d) for a given TMPDIR, the DISTRO setting is immutable. If you change
DISTRO you must rebuild from scratch in a different working tree.
e) DISTROs should be encouraged to minimize the number of unbound
variables which the user is expected to set in local.conf. As a general
principle, the tuple of (MACHINE, DISTRO) should be enough to completely
determine the build environment. Extra user-frobbable switches will
undermine the coherence of the DISTRO.
f) DISTROs have wide discretion to determine the contents of their own
binary packages (e.g. configuring python with or without x11 support)
and we should provide them with the mechanisms to do so. There are
already various ad-hoc mechanisms to accomplish this for certain
packages (e.g. USE_LDCONFIG in glibc) and it would be desirable to come
up with a more over-arching framework.
g) the existing DISTRO_FEATURES variable is well suited to this role.
We should encourage DISTROs to use it where conditionality is needed
rather than inventing alternatives.
p.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: OEDEM 2009 summary: DISTROs and FEATURES
2009-11-11 16:36 OEDEM 2009 summary: DISTROs and FEATURES Phil Blundell
@ 2009-11-11 18:30 ` Przemyslaw Wesolek
2009-11-11 18:40 ` Phil Blundell
2009-11-11 23:21 ` Detlef Vollmann
1 sibling, 1 reply; 4+ messages in thread
From: Przemyslaw Wesolek @ 2009-11-11 18:30 UTC (permalink / raw)
To: openembedded-devel
Phil Blundell wrote:
> d) for a given TMPDIR, the DISTRO setting is immutable. If you change
> DISTRO you must rebuild from scratch in a different working tree.
In consequence, this also holds for DEPLOY_DIR_PSTAGE making TMPDIR and
DISTRO immutable.
Przemek
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: OEDEM 2009 summary: DISTROs and FEATURES
2009-11-11 18:30 ` Przemyslaw Wesolek
@ 2009-11-11 18:40 ` Phil Blundell
0 siblings, 0 replies; 4+ messages in thread
From: Phil Blundell @ 2009-11-11 18:40 UTC (permalink / raw)
To: openembedded-devel
On Wed, 2009-11-11 at 19:30 +0100, Przemyslaw Wesolek wrote:
> Phil Blundell wrote:
> > d) for a given TMPDIR, the DISTRO setting is immutable. If you change
> > DISTRO you must rebuild from scratch in a different working tree.
>
> In consequence, this also holds for DEPLOY_DIR_PSTAGE making TMPDIR and
> DISTRO immutable.
I think the standard configuration is for DEPLOY_DIR_PSTAGE to be within
TMPDIR, so the two things tend to go together. But you're right, a
DISTRO change would indeed invalidate the contents of DEPLOY_DIR_PSTAGE.
p.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: OEDEM 2009 summary: DISTROs and FEATURES
2009-11-11 16:36 OEDEM 2009 summary: DISTROs and FEATURES Phil Blundell
2009-11-11 18:30 ` Przemyslaw Wesolek
@ 2009-11-11 23:21 ` Detlef Vollmann
1 sibling, 0 replies; 4+ messages in thread
From: Detlef Vollmann @ 2009-11-11 23:21 UTC (permalink / raw)
To: openembedded-devel
On 11/11/09 17:36, Phil Blundell wrote:
> e) DISTROs should be encouraged to minimize the number of unbound
> variables which the user is expected to set in local.conf. As a general
> principle, the tuple of (MACHINE, DISTRO) should be enough to completely
> determine the build environment. Extra user-frobbable switches will
> undermine the coherence of the DISTRO.
This ('build environment') could be misleading.
I'd say it this way:
DISTRO defines what to build
local.conf defines, how to build (directory paths, parallelism, ...)
Detlef
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-11-11 23:35 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-11 16:36 OEDEM 2009 summary: DISTROs and FEATURES Phil Blundell
2009-11-11 18:30 ` Przemyslaw Wesolek
2009-11-11 18:40 ` Phil Blundell
2009-11-11 23:21 ` Detlef Vollmann
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.