[oe] [RFC] policy about nonworking recipes

Yuri Bushmelev jay4mail at gmail.com
Fri May 22 07:57:31 UTC 2009


Hello!

> we're still discussing to find a good solution.  No need to get all
> worked up yet and calling other people pendantic[sic].  Is it really too
> much to ask that the data in OE should generally be such that "bitbake
> $target" at least builds?
>
> If the distribution's settings are responsible for a build failing then
> it's the distribution's responsibility to fix this.  The pulseaudio and
> autoconf example you gave is essentially bug 3722 but can otherwise be
> handled.  BTW, the workflow you then described is not what I'm
> suggesting.
>
> My intention is not to abuse COMPATIBLE_MACHINE if that is not the right
> place.  I can only go by the well-defined meaning in the documentation
> which at least does not mention build-time vs. run-time.
> conf/documentation.conf:COMPATIBLE_MACHINE[doc] = "A regular expression
> which matches the MACHINES support by the package/file. Failure to match
> will cause the file to be skipped by the parser."  IMHO setting it to an
> empty string to indicate that no compatible machines are (currently!)
> known does not conflict with that.

Another portion of FreeBSD ports examples :)
I hope it can be useful.

ATM FreeBSD ports have such knobs in similar area:

# FORBIDDEN     - Package build should not be attempted because of
#                 security vulnerabilities.
# IGNORE        - Package build should be skipped entirely (e.g.
#                 because of serious unfixable problems in the build,
#                 because it cannot be manually fetched, etc).  Error
#                 logs will not appear on pointyhat, so this should be
#                 used sparingly.
# BROKEN        - Port is believed to be broken.  Package builds will
#                 still be attempted on the pointyhat package cluster to
#                 test this assumption.
# DEPRECATED    - Port is deprecated to install. Advisory only.
# EXPIRATION_DATE
#               - If DEPRECATED is set, determines a date when
#                 the port is planed to remove. The date format is
#                 ISO 8601 (YYYY-MM-DD).

# Set these if your port only makes sense to certain architectures.
# They are lists containing names for them (e.g., "alpha i386").
# (Defaults: not set.)
#
# ONLY_FOR_ARCHS
#               - Only build ports if ${ARCH} matches one of these.
# NOT_FOR_ARCHS - Only build ports if ${ARCH} doesn't match one of these.
# ONLY_FOR_ARCHS_REASON
# ONLY_FOR_ARCHS_REASON_${ARCH}
#               - Reason why it's only for ${ONLY_FOR_ARCHS}s
# NOT_FOR_ARCHS_REASON
# NOT_FOR_ARCHS_REASON_${ARCH}
#               - Reason why it's not for ${NOT_FOR_ARCHS}s

Typical examples from real life:
IGNORE=           needs at least FreeBSD 5.3-RELEASE
BROKEN=           Does not compile with GCC 4.2
DEPRECATED=       author has abandoned this program
ONLY_FOR_ARCHS=        i386
ONLY_FOR_ARCHS_REASON= Rebuild of i386 package provided by Nominum.

-- 
Yuri Bushmelev




More information about the Openembedded-devel mailing list