[poky] RFC: Undocumented Recipe Variables Script
Richard Purdie
rpurdie at linux.intel.com
Thu Dec 9 05:53:16 PST 2010
On Tue, 2010-12-07 at 17:27 -0800, Darren Hart wrote:
> After discussing a bit with Richard, we felt seeing a count for each
> recipe that used a variable along with the doc tag (documentation.conf)
> would aid in identifying which variables needed documentation. The
> attached script accomplishes this. The -T argument will limit output to
> only variables with doc tags - which should make updating the
> documentation rather trivial.
>
> Things like PROVIDES with 50 occurences under meta and an existing doc
> tag should be prioritized for documentation updates. After that, things
> like BBCLASSEXTEND with 117 users and no doc-tag should follow.
>
> Richard, could you give the output a scan and let me know if there is
> additional filtering I could add to make the results easier to digest?
> If they look good to you, can you have a go at identifying a set of
> variables that should get documentation updates?
Some of whats listed is still documented, e.g. PACKAGES_ or RDEPENDS_.
I've done a *very* rough filter over this to highlight the ones I think
we need to try and document first and some other things I noticed:
We should check if these are in the bitbake manual:
BB_CURRENTTASK 1
BB_DEFAULT_TASK 4
BB_HASHCHECK_FUNCTION 1
BB_HASHFILENAME 1
BB_MIN_VERSION 1
BB_RUNTASK 1
BB_SCHEDULER 1
BB_TASKHASH 1
BB_VERSION 1
BB_WORKERCONTEXT 1
I'd like to know what is setting this as we shouldn't using BROKEN IMO:
BROKEN 1
Some subset of these should be documented:
SSTATE_BUILDDIR 1
SSTATE_DIR 1
SSTATE_INSTDIR 1
SSTATE_MANFILEBASE 1
SSTATE_MANFILEPREFIX 1
SSTATE_MANIFESTS 1
SSTATE_MIRRORS 1
SSTATE_PKG 1
SSTATE_PKGARCH 1
SSTATE_PKGNAME 1
SSTATE_SCAN_CMD 1
SSTATE_VERSION 1
Something is broken here with a misspelling:
DESCRIPTON 6
PARALELL_MAKE_ 1
These variables are dead iirc and shouldn't be referenced anywhere:
NATIVE_INSTALL_WORKS 1
PSTAGING_ACTIVE 1
PSTAGING_DISABLED 1
I also wondered about these:
LIC_CHKSUM_FILES 2
LIC_FILE_CHKSUM 1
these are ones I'd like to see documented with a higher priority:
ALLOW_EMPTY 24
ALTERNATIVE_LINKS 4
APPEND 2
BBCLASSEXTEND 117
BUGTRACKER 114
BUILD_AR 1
BUILD_ARCH 4 The name of the building architecture. E.g. i686.
BUILD_CC 11
BUILD_CC_ARCH 2 FIXME
BUILD_CFLAGS 7
BUILD_CXX 3
BUILD_CXXFLAGS 3
BUILD_LD 1
BUILD_LDFLAGS 5
BUILD_OS 3
BUILD_PREFIX 4 FIXME
BUILD_RANLIB 1
BUILD_SYS 13 FIXME
BUILD_VENDOR 2 FIXME
CCACHE 6
CFLAGS_ 10
CLEANFUNCS 2
CMDLINE_ 1
CMDLINE_CONSOLE 1
COMMERCIAL_AUDIO_PLUGINS 2
COMMERCIAL_LICENSE 1
COMMERCIAL_QT 1
COMMERCIAL_VIDEO_PLUGINS 1
COMPATIBLE_HOST 17 A regular expression which matches the HOST_SYS names supported by the package/file. Failure to match will cause the file to be skipped by the parser.
CONFFILES 3
CPPFLAGS 13
CXXFLAGS 14
DEBIANNAME_ 2
DEBIAN_NAMES 6
DEBIAN_NOAUTONAME_ 3
DEFAULT_PREFERENCE_ 14
DEPLOY_DIR 7
DEPLOY_DIR_DEB 2
DEPLOY_DIR_IMAGE 13
DEPLOY_DIR_IPK 3
DEPLOY_DIR_RPM 2
DEPLOY_DIR_SRC 1
DEPLOY_DIR_TAR 1
DEPLOY_KEEP_PACKAGES 2
DESCRIPTION_ 8
EXCLUDE_FROM_SHLIBS 1
EXCLUDE_FROM_WORLD 10
EXPORT_FUNCTIONS 24
EXTRA_AUTORECONF 4
EXTRA_CFLAGS 1
EXTRA_CPANFLAGS 2
EXTRA_DIST 3
EXTRA_IMAGEDEPENDS 1
EXTRA_NATIVE_PKGCONFIG_PATH 1
EXTRA_OECONF_ 12
EXTRA_OEMAKE_ 2
EXTRA_OEMAKE_NETGROUP 1
EXTRA_QMAKEVARS_POST 1
EXTRA_QMAKEVARS_PRE 1
EXTRA_RDEPENDS 1
FAKEROOT 4
FAKEROOTENV 1
FILESDIR 11
FILESEXTRAPATHS 1
FILESPATH 10
FILESPATHBASE 1
FILESPATHPKG 2
FILES_ 179
FILE_DIRNAME 11
FULL_OPTIMIZATION_ 2
GIT_CONFIG 1
GIT_CORE_CONFIG 1
GIT_PROXY_COMMAND 1
GIT_PROXY_IGNORE 1
HOST_AR 1
HOST_ARCH 9 The name of the target architecture. Normally same as the TARGET_ARCH. @see TARGET_ARCH @group base
HOST_AR_KERNEL_ARCH 1
HOST_CC 1
HOST_CC_ARCH 5 Normally same as the TARGET_CC_ARCH. @see TARGET_CC_ARCH @group base
HOST_CC_KERNEL_ARCH 2
HOST_CFLAGS 1
HOST_CXX 1
HOST_CXXFLAGS 1
HOST_LDFLAGS 1
HOST_OS 7
HOST_PREFIX 10 Normally same as the TARGET_PREFIX. @see TARGET_PREFIX @group base
HOST_RANLIB 1
HOST_SYS 21 FIXME
HOST_VENDOR 6 The name of the vendor. Normally same as the TARGET_VENDOR. @see TARGET_VENDOR
IMAGEROOTFS 2
IMAGETEST 1
IMAGE_BASENAME 2
IMAGE_CMD_ 1
IMAGE_DEPENDS_ 1
IMAGE_DEVICE_TABLE 1
IMAGE_DEVICE_TABLES 1
IMAGE_LINGUAS 3
IMAGE_LINK_NAME 3
IMAGE_LOCALES 2
IMAGE_NAME 5
IMAGE_OVERHEAD_FACTOR 1
IMAGE_PKGTYPE 5
IMAGE_POSTPROCESS_COMMAND 1
IMAGE_PREPROCESS_COMMAND 2
IMAGE_ROOTFS 12
IMAGE_ROOTFS_SIZE 1
INHIBIT_AUTOTOOLS_DEPS 2
INHIBIT_AUTO_STAGE 1
INHIBIT_DEFAULT_DEPS 13
KERNELDIR 1
KERNEL_ALT_IMAGETYPE 1
KERNEL_CC 5
KERNEL_FEATURES 1
KERNEL_IMAGE_BASE_NAME 2
KERNEL_IMAGE_MAXSIZE 1
KERNEL_IMAGE_SYMLINK_NAME 2
KERNEL_LD 4
KERNEL_VERSION 6
KMACHINE 1
LAYER_CONF_VERSION 1
LCONF_VERSION 1
LDFLAGS 32
LDFLAGS_ 2
LEAD_SONAME 12
LICENCE 5
LINGUAS_INSTALL 4
LOG_DIR 3
MACHINE_ARCH 27
MACHINE_ESSENTIAL_EXTRA_RDEPENDS 2
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS 2
MACHINE_POSTPROCESS_COMMAND 1
MIRRORS 1
MULTIMACH_ARCH 3
MULTIMACH_HOST_SYS 2
MULTIMACH_TARGET_SYS 5
OBJCOPY 2
OBJDUMP 2
OVERRIDES 13
PACKAGES_ 6
PACKAGES_DYNAMIC 19
PACKAGE_ARCHS 10
PACKAGE_INSTALL 4
PACKAGE_INSTALL_ATTEMPTONLY 4
PACKAGE_PREPROCESS_FUNCS 4
PARALLEL_MAKE_ 1
PATCHRESOLVE 1
PATH_ 2
PF 3 Package name - Package version - Package revision (PN-PV-PR)
PKG 6
PKGD 7
PKGDATA_DIR 4
PKGDEST 8
PKGDESTWORK 1
PKGFN 4
PKGHIST_DIR 2
PKG_ 12
PKG_CONFIG 1
PKG_CONFIG_DIR 3
PKG_CONFIG_PATH 3
PKG_CONFIG_SYSROOT_DIR 5
PREFERRED_PROVIDER_ 1
PRIORITY 73 Importance of package, default values are 'optional' or 'needed'.
PROVIDES 50 Names for additional build time dependencies that this package will provide. @group dependencies
QA_LOGFILE 1
ROOTFS_PKGMANAGE 5
ROOTFS_PKGMANAGE_BOOTSTRAP 3
ROOTFS_POSTINSTALL_COMMAND 2
ROOTFS_POSTPROCESS_COMMAND 7
RPM_POSTPROCESS_COMMANDS 1
RPM_PREPROCESS_COMMANDS 1
RPROVIDES 9 Names for additional run time dependencies that this package will provide. This is used to populate the ipkg:Provides field. @group dependencies
RRECOMMENDS_ 21
RREPLACES_ 4
RSUGGESTS 4
SDKMACHINE 2
SDK_ARCH 8
SDK_CC_ARCH 3
SDK_DEPLOY 2
SDK_DIR 2
SDK_NAME 2
SDK_OS 4
SDK_OUTPUT 3
SDK_PREFIX 3
SDK_VENDOR 3
SRCREV_ 1
SRCREV_FORMAT 2
SRC_URI_ 43
STAGING_BINDIR 3
STAGING_BINDIR_CROSS 11
STAGING_BINDIR_NATIVE 13
STAGING_BINDIR_TOOLCHAIN 2
STAGING_DATADIR 16
STAGING_DATADIR_NATIVE 3
STAGING_DIR 13
STAGING_DIR_HOST 18
STAGING_DIR_NATIVE 19
STAGING_DIR_TARGET 18
STAGING_ETCDIR_NATIVE 3
STAGING_EXECPREFIXDIR 1
STAGING_INCDIR 39
STAGING_INCDIR_NATIVE 6
STAGING_LIBDIR 42
STAGING_LIBDIR_NATIVE 9
STAMP 3 The directory that holds files to keep track of what was built.
SYSROOT_DESTDIR 12
TARGETARCH 1
TARGETFPU 1
TARGETOS 1
TARGET_AR_KERNEL_ARCH 1
TARGET_CC_ARCH 5 FIXME
TARGET_CC_ARCH_ 1
TARGET_CC_KERNEL_ARCH 2
TARGET_CPPFLAGS 3
TARGET_LDFLAGS 1
TARGET_LD_KERNEL_ARCH 2
TARGET_PREFIX 23 The prefix for the cross compile toolchain. E.g arm-linux- .
TARGET_SYS 19 The target system is composed out of TARGET_ARCH,TARGET_VENDOR and TARGET_OS.
TARGET_VENDOR 7 FIXME
TOPDIR 3
XORG_PN 33
More information about the poky
mailing list