[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