* RFC: Undocumented Recipe Variables Script
@ 2010-12-07 22:12 Darren Hart
2010-12-07 22:38 ` Richard Purdie
0 siblings, 1 reply; 6+ messages in thread
From: Darren Hart @ 2010-12-07 22:12 UTC (permalink / raw)
To: poky@yoctoproject.org; +Cc: Purdie, Richard
[-- Attachment #1: Type: text/plain, Size: 18138 bytes --]
Per Alex's suggestion, I whipped up a script to find variables in recipes
and determine if they have been documented. The script is attached and
feedback is welcome.
It searches for [A-Z_]+ sequences, building a unique set, and then
searches the documentation for those variable names.
It allows you to specify any number of meta directories and any number
of documentation files.
Its weakness is, obviously, that it is unable to determine which
variables are relevant only in a given recipe. Although, I guess that is
fair, as new developers may suffer from the same lack of context.
Given the high false-positive rate, perhaps the best use of this script
would be to have someone intimately familiar with the guts of bitbake to
scan the list of undocumented variables and indicate which of those
should indeed be documented.
Scott, are there additional documentation files I should include to be
searched for documentation of the harvested variables?
Consider the following:
$ ./bbvars.py -m ~/source/poky.git/meta -d ~/source/poky.git/documentation/poky-ref-manual/ref-variables.xml
Found 1445 undocumented bb variables (out of 1552):
ABI
AC
ACCESS
ACLOCAL_CWFLAGS
ACPI
ACX
AC_REQUIRE
ADD_BT
ADD_WIFI
AFTER
AI
AKM
ALLOWOPTIONS
ALLOW_EMPTY
ALLOW_EMPTY_
ALSA
ALTERNATIVE_LINK
ALTERNATIVE_LINKS
ALTERNATIVE_NAME
ALTERNATIVE_PATH
ALTERNATIVE_PRIORITY
ALTNAME
AM_GLIB_GNU_GETTEXT
AM_GNU_GETTEXT
APACHE_MIRROR
API
APM
APPDESKTOP
APPEND
APPIMAGE
APPNAME
APR
APT_CONFIG
AR
ARCH
ARCH_FLAGS_FOR_TARGET
ARFLAGS
ARM_INSTRUCTION_SET
ARM_MUTEX
ART_CONFIG
AS
ASN
ASNEEDED
ASSUME_PROVIDED
ASSUME_SHLIBS
ATA
ATM
AUTHORS
AUTOLOGIN
AUTOTOOLS_STAGE_PKGCONFIG
AUTOV
AUTO_LIBNAME_PKGS
AUTO_SYSLINUXCFG
AUTO_SYSLINUXMENU
AUX_OBJ
AV
AWKPOSTINSTSCRIPT
BASEDIR
BASEFILESISSUEINSTALL
BASEPKG_HOST_SYS
BASEPKG_TARGET_SYS
BASEPN
BASE_CONF
BASE_PACKAGE_ARCH
BASE_SRC_URI
BBCLASSEXTEND
BB_CURRENTTASK
BB_DEFAULT_TASK
BB_HASHCHECK_FUNCTION
BB_HASHFILENAME
BB_MIN_VERSION
BB_RUNTASK
BB_SCHEDULER
BB_TASKHASH
BB_VERSION
BB_WORKERCONTEXT
BE
BINARY_LOCALE_ARCHES
BINCONFIG_GLOB
BINDIR
BINS
BINV
BJAM_EXTRA
BJAM_OPTS
BJAM_TOOLS
BLOCKS
BOOST_LIBS
BOOST_P
BOOTDD_EXTRA_SPACE
BOOTDD_VOLUME_ID
BOOTIMG_EXTRA_SPACE
BOOTIMG_VOLUME_ID
BOOTSTRAP
BP
BROKEN
BSD
BSP
BUGS
BUGTRACKER
BUG_ON
BUILD
BUILDCC
BUILDCFLAGS
BUILDDIR
BUILDING
BUILDNAME
BUILDSDK_CFLAGS
BUILDSDK_CPPFLAGS
BUILDSDK_LDFLAGS
BUILDSPEC
BUILD_AR
BUILD_ARCH
BUILD_CC
BUILD_CCLD
BUILD_CC_ARCH
BUILD_CFLAGS
BUILD_CPPFLAGS
BUILD_CXX
BUILD_CXXFLAGS
BUILD_IMAGES_FROM_FEEDS
BUILD_LD
BUILD_LDFLAGS
BUILD_OPT
BUILD_OS
BUILD_PREFIX
BUILD_RANLIB
BUILD_SHARED
BUILD_SYS
BUILD_VENDOR
CACHE
CC
CCACHE
CCDC
CCDV
CCFLAGS
CCLD
CC_FOR_BUILD
CD
CDT
CET
CFGL
CFLAGS_
CFLAGS_FOR_BUILD
CGI
CHAT
CHECKCOMMAND_
CHRPATH_BIN
CHRPATH_BIN_
CHSRC
CLEANFILES
CLEANFUNCS
CMAKE_CXX_COMPILER
CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS_RELEASE
CMAKE_C_COMPILER
CMAKE_C_FLAGS
CMAKE_C_FLAGS_RELEASE
CMAKE_FIND_ROOT_PATH
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
CMAKE_MAJOR_VERSION
CMAKE_MODULE_PATH
CMAKE_SYSTEM_NAME
CMDLINE_
CMDLINE_CONSOLE
CMX
COLORFX
COMBINED_FEATURES
COMMASPACE
COMMERCIAL_AUDIO_PLUGINS
COMMERCIAL_LICENSE
COMMERCIAL_QT
COMMERCIAL_VIDEO_PLUGINS
COMPATIBLE_HOST
COMPILE
CONFFILES
CONFFILES_
CONFIG
CONFIGURATION
CONFIGUREOPTS
CONFIGURE_AC
CONFIGURE_ARGS
CONFIGURE_FLAGS
CONFIG_LOCALVERSION
CONFIG_MMC_BLOCK
CONFIG_MMC_OMAP_HS
CONFIG_MODULES
CONFIG_OMAP_LL_DEBUG_UART
CONFIG_OMAP_LL_DEBUG_UART_EXT
CONFIG_OUT
CONFLICTNAME
CONFLICTS
CONFLICTS_
CONF_VERSION
CONTENT
CONTROL
COPTS
COPYING
COPYRIGHT
CORE
CORYING
CPAN
CPAN_BUILD_DEPS
CPP
CPPFLAGS
CPPI
CR
CROSS
CROSS_COMPILE
CROSS_DIR
CSI
CSPI
CSS
CST
CT
CTAN
CURLGNUTLS
CURLGNUTLS_
CURSES
CVE
CWAUTOMACROSPREFIX
CXX
CXXFLAGS
CXXFLAGS_
DA
DATADIR
DATE
DATETIME
DAV
DB
DBUS
DBUS_SESSION_BUS_ADDRESS
DCMAKE_INSTALL_PREFIX
DCMAKE_INSTALL_SO_NO_EXE
DCMAKE_TOOLCHAIN_FILE
DCMAKE_VERBOSE_MAKEFILE
DDAEMON_UMASK
DEBIAN
DEBIANNAME_
DEBIAN_MIRROR
DEBIAN_NAMES
DEBIAN_NOAUTONAME_
DEBUG
DEBUG_LL
DEB_PACKAGE_INDEX_CLEAN
DEFAULT
DEFAULT_PREFERENCE_
DENABLE_DNS
DEPCHAIN_POST
DEPCHAIN_PRE
DEPENDENCY_CHECK
DEPENDPATH
DEPENDS_
DEPENDS_GETTEXT
DEPLOYDIR
DEPLOY_DIR
DEPLOY_DIR_DEB
DEPLOY_DIR_IMAGE
DEPLOY_DIR_IPK
DEPLOY_DIR_RPM
DEPLOY_DIR_SRC
DEPLOY_DIR_TAR
DEPLOY_KEEP_PACKAGES
DEPMOD
DER
DESCRIPTION_
DESCRIPTON
DEVEL_PREFIX
DFACILITY
DHAVE_ANIMATION
DHAVE_STRERROR
DHAVE_WEAKSYMS
DHCP
DHOSTS_ACCESS
DHOSTS_ALLOW
DHOSTS_DENY
DIGIT
DINET
DISCLAIMER
DISPC_VID_FIR
DISPLAY
DISTRO_EXTRA_DEPENDS
DISTRO_SSH_DAEMON
DISTUTILS_BUILD_ARGS
DISTUTILS_INSTALL_ARGS
DISTUTILS_STAGE_ALL_ARGS
DISTUTILS_STAGE_HEADERS_ARGS
DKILL_IP_OPTIONS
DLIB
DLINK_SIZE
DM
DMA
DNDEBUG
DNETGROUP
DNS
DO
DOCS
DOLT
DONE
DOS
DOSRC
DPI
DPKG_ARCH
DPKG_ARCH_
DPM
DPROCESS_OPTIONS
DPTC
DRI
DRPM_VENDOR_WINDRIVER
DSI
DSO
DSP
DSS
DSYS_ERRLIST_DEFINED
DUSE_GETDOMAIN
DVF
DVFS
DWITHOUT_XATTR
DWITH_GNOME
DWITH_KDE
DWITH_MOZJS
DWITH_NM
DWITH_PERL
DWITH_PYTHON
DWITH_WEBKIT
D_FILE_OFFSET_BITS
D_GNU_SOURCE
D_REENTRANT
D__FILE_OFFSET_BITS
D__MIPSEB__
D__MIPSEL__
D__SOFTFP__
ED
EDID
EDL
EDS
EDT
EET
EGLIBC_BRANCH
ELF
ELFF
END
ENGR
ENHANCED_IMAGE_FEATURES
ENOENT
EOF
EPL
ERR
ERROR
ERROR_NAMES
EST
ETCDIR
EVENTLOG
EVIE
EVM
EXCEPTION
EXCLUDE_FROM
EXCLUDE_FROM_SHLIBS
EXCLUDE_FROM_WORLD
EXIF
EXPAT
EXPATINCPATH
EXPATLIBPATH
EXPORT_FUNCTIONS
EXTENDPV
EXTERN
EXTERNAL_TOOLCHAIN
EXTRAOPKGCONFIG
EXTRAS
EXTRA_AUTORECONF
EXTRA_CFLAGS
EXTRA_CPANFLAGS
EXTRA_DIST
EXTRA_IMAGEDEPENDS
EXTRA_NATIVE_PKGCONFIG_PATH
EXTRA_OECONF_
EXTRA_OEMAKE_
EXTRA_OEMAKE_NETGROUP
EXTRA_OEMAKE_NETGROUP_
EXTRA_QMAKEVARS_POST
EXTRA_QMAKEVARS_PRE
EXTRA_RDEPENDS
EXTRA_RDEPENDS_
EXTRA_SIPTAGS
FACILITY
FAIL
FAILURE
FAKEROOT
FAKEROOTENV
FAM
FAT
FATAL
FB
FC_GLYPHNAME
FC_LANG
FDL
FEAT
FEATURES
FEC
FEED_URIS
FF
FILE
FILEMANAGER
FILEMANAGER_
FILERDEPENDSFLIST
FILERDEPENDSFLIST_
FILERDEPENDS_
FILERPROVIDESFLIST
FILERPROVIDESFLIST_
FILERPROVIDES_
FILESDIR
FILESEXTRAPATHS
FILESPATH
FILESPATHBASE
FILESPATHPKG
FILES_
FILE_DIRNAME
FINISHED
FIR
FIXEDSRCDATE
FIXMESTAGINGDIR
FLAC
FLIST
FLIST_
FONTREV
FREEDESKTOP_CVS
FS
FSL
FTL
FULL_OPTIMIZATION_
F_OK
GB
GBARR
GC
GCONF_CONFIG_SOURCE
GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL
GCONV_PATH
GD
GDB
GDBPROPREFIX
GDK
GDK_PIXBUF_MODULEDIR
GFDL
GIT_CONFIG
GIT_CORE_CONFIG
GIT_PROXY_COMMAND
GIT_PROXY_IGNORE
GL
GLEW
GLIBC_ADDONS
GLIBC_BROKEN_LOCALES
GLIBC_DEPENDENCIES
GLIBC_EXTRA_OECONF
GLIBC_GENERATE_LOCALES
GLIBC_INTERNAL_USE_BINARY_LOCALE
GLSL_CL
GMAE
GMP
GMT
GNOME
GNOME_MIRROR
GNU_HASH
GNU_MIRROR
GO
GP
GPE_MIRROR
GPGME
GPIO
GPIO_POWERON
GPL
GPL_V
GPS
GR
GROFF_FONT_PATH
GROFF_TMAC_PATH
GRUB
GS
GSSDP
GTK
GTK_
GUP
HACK
HAL_INFO_
HANDHELDS_CVS
HASDOCBOOK
HCI
HDDDIR
HDDIMG
HEAD
HEADERS
HNP
HOME
HOST
HOSTPERL
HOSTPGEN
HOSTPYTHON
HOSTTOOLS_WHITELIST_
HOST_AR
HOST_ARCH
HOST_AR_KERNEL_ARCH
HOST_CC
HOST_CC_ARCH
HOST_CC_KERNEL_ARCH
HOST_CFLAGS
HOST_CXX
HOST_CXXFLAGS
HOST_DATA
HOST_LDFLAGS
HOST_LD_KERNEL_ARCH
HOST_LIBIDL_CFLAGS
HOST_LIBIDL_CONFIG
HOST_LIBIDL_LIBS
HOST_NONSYSV
HOST_OS
HOST_PREFIX
HOST_RANLIB
HOST_SYS
HOST_VENDOR
HOTPLUG
HST
HTML
HTTP
IAPI
IBM
ICE
ICECC_CC
ICECC_CXX
ICECC_ENV_EXEC
ICECC_PATH
ICECC_USER_CLASS_BL
ICECC_USER_PACKAGE_BL
ICECC_VERSION
ID
IDE
IDL
IDN
IDNA
IETF
IFS
IGEP
II
IMAGE
IMAGEROOTFS
IMAGETEST
IMAGE_BASENAME
IMAGE_CMD_
IMAGE_DEPENDS_
IMAGE_DEVICE_TABLE
IMAGE_DEVICE_TABLES
IMAGE_LINGUAS
IMAGE_LINK_NAME
IMAGE_LOCALES
IMAGE_NAME
IMAGE_OVERHEAD_FACTOR
IMAGE_PKGTYPE
IMAGE_POSTPROCESS_COMMAND
IMAGE_PREPROCESS_COMMAND
IMAGE_ROOTFS
IMAGE_ROOTFS_SIZE
IN
INCDIR
INCL
INCLUDEDIR
INCLUDEPATH
INCLUDES
INCOMPATIBLE_LICENSE
INC_PR
INFO
INHIBIT_AUTOTOOLS_DEPS
INHIBIT_AUTO_STAGE
INHIBIT_DEFAULT_DEPS
INIT
INITRD
INITSCRIPT_PARAMS_
INIT_D_DIR
INSANE_SKIP_
INSTALL
INSTALLED_PACKAGES
INSTALLROOT
INSTALL_DIR
INSTALL_HDR_PATH
INSTALL_INC
INSTALL_LIB
INSTALL_MAN
INSTALL_MOD_PATH
INSTALL_ROOT
INS_BASE
INTERFACES
INTERN
INVALID
IO
IOE
IOEINCDIR
IP
IPC
IPKGCONF_SDK
IPKGCONF_TARGET
IPKG_ARGS
IPKG_HOST
IPKG_OFFLINE_ROOT
IPKG_TARGET
IPK_FEED_URIS
IPK_PACKAGE_INDEX_CLEAN
IPU
IRC
IROOT
IRQ
ISC
ISO
ISODIR
ISP
JFIF
JL
JPEG
JS_EDITLINE
KBRANCH
KDIR
KERNEL
KERNELDIR
KERNELORG_MIRROR
KERNEL_ALT_IMAGETYPE
KERNEL_AR
KERNEL_ARSUFFIX
KERNEL_CC
KERNEL_CCSUFFIX
KERNEL_CONSOLE
KERNEL_FEATURES
KERNEL_IMAGEDEST
KERNEL_IMAGE_BASE_NAME
KERNEL_IMAGE_MAXSIZE
KERNEL_IMAGE_SYMLINK_NAME
KERNEL_LD
KERNEL_LDSUFFIX
KERNEL_LOCALVERSION
KERNEL_MAJOR_VERSION
KERNEL_OBJECT_SUFFIX
KERNEL_OUTPUT
KERNEL_PATH
KERNEL_PRIORITY
KERNEL_RELEASE
KERNEL_REVISION_CHECKING
KERNEL_SOURCE
KERNEL_SRC
KERNEL_VERSION
KEXECTOOLS
KEXECTOOLS_
KILL_OPT
KMACHINE
KMACHINE_
KV
LABEL
LABELS
LAME
LAN
LAYER_CONF_VERSION
LCD
LCONF_VERSION
LCRYPT
LC_ALL
LD
LDFLAGS
LDFLAGS_
LD_
LD_LIBRARY_PATH
LD_PRELOAD
LEAD_SONAME
LESSER
LGPL
LGPL_EXCEPTION
LGPV
LIB
LIBATA
LIBC
LIBC_DEPENDENCIES
LIBDIR
LIBNAMES
LIBRARY
LIBS
LIBTOOL
LIBV
LIB_DEPS
LIB_FILES_CHKSUM
LICENCE
LICENSE_
LICENSING
LIC_CHKSUM_FILES
LIC_FILE_CHKSUM
LINGUAS_INSTALL
LINKFILE
LINK_FOR_BUILD
LINUX_KERNEL_TYPE
LINUX_VERSION
LINUX_VERSION_EXTENSION
LOCAL
LOCALEDEF
LOCALE_GENERATION_WITH_CROSS
LOCALE_UTF
LOCALPATCH
LOCALSRC
LOELIBDIR
LOG_DAEMON
LOG_DIR
LOG_FILE
LOG_INFO
LOPTS
LR
LSB
LSB_VERSION
LSOF_INCLUDE
LSOF_OS
LSOF_OS_
LTT
LTTDATE
LVDS
LZMA
MAC
MACHINE_ARCH
MACHINE_ESSENTIAL_EXTRA_RDEPENDS
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS
MACHINE_POSTPROCESS_COMMAND
MAINTAINERS
MAJOR_KERNEL_VERSION
MAJOR_VERSION
MAJ_VER
MAKE
MAKEFLAGS
MAKE_ARCH
MAKE_OS
MAKE_TARGETS
MANDIR
MANIFEST
MANS
MARK
MATCH
MAX
MB
MBO
MC
MCW
MD
MDT
MET
METADATA_BRANCH
METADATA_REVISION
MFD
MIDI
MIME
MIRRORS
MIRRORS_
MIT
MMC
MMU
MNCI
MNRT
MODULES
MOD_PV
MOZCONFIG
MOZ_OBJDIR
MP
MPC
MPEG
MPL
MS
MST
MULTIMACH_ARCH
MULTIMACH_HOST_SYS
MULTIMACH_TARGET_SYS
MUTEX
MUTEX_
MUX
MX
MXC
MXC_DMA_ZONE_SIZE
NAK
NAME
NAND
NAPI
NATIVE_INSTALL_WORKS
NCMS
NEEDED
NET
NETGROUP
NETWORK_MANAGER
NEW
NEWS
NFS
NMEA
NO
NOISO
NONE
NOOPR
NORESULT
NOSWABBERUPDATE
NOT
NOTE
NOTES
NOW
NPATH
NPL
NSS
NZ
OBJ
OBJCOPY
OBJDUMP
ODBM_F
OE
OECMAKE_BUILDPATH
OECMAKE_CXX_COMPILER
OECMAKE_CXX_FLAGS
OECMAKE_CXX_FLAGS_RELEASE
OECMAKE_C_COMPILER
OECMAKE_C_FLAGS
OECMAKE_C_FLAGS_RELEASE
OECMAKE_SITEFILE
OECMAKE_SOURCEPATH
OEDATADIR
OEDEBUG
OEEXECPREFIX
OEINCDIR
OELAYOUT_ABI
OELIBDIR
OEPREFIX
OEREV
OES_BITBAKE_CONF
OEV
OE_BINCONFIG_EXTRA_MANGLE
OE_QMAKE_AR
OE_QMAKE_CC
OE_QMAKE_CFLAGS
OE_QMAKE_CXX
OE_QMAKE_CXXFLAGS
OE_QMAKE_INCDIR_QT
OE_QMAKE_LDFLAGS
OE_QMAKE_LIBDIR_QT
OE_QMAKE_LIBS_QT
OE_QMAKE_LIBS_X
OE_QMAKE_LINK
OE_QMAKE_LRELEASE
OE_QMAKE_LUPDATE
OE_QMAKE_MOC
OE_QMAKE_PLATFORM
OE_QMAKE_QDBUSCPP
OE_QMAKE_QDBUSXML
OE_QMAKE_QMAKE
OE_QMAKE_RCC
OE_QMAKE_RPATH
OE_QMAKE_STRIP
OE_QMAKE_UIC
OE_REVISION
OFFLINE_ROOT
OFFSET
OHCI
OLD
OLDEST_KERNEL
OLD_BASE_PACKAGE_ARCH
OLD_MULTIMACH_ARCH
OLD_PACKAGE_ARCH
OM
OMAP
OMAPFB
OMAPZ
ONLY
OP
OPENMOKO_MIRROR
OPENMOKO_RELEASE
OPKG
OPKGBUILDCMD
OPKG_INIT_POSITION
OPKG_INIT_POSITION_
OPKG_OFFLINE_ROOT
OPKG_POSTPROCESS_COMMANDS
OPKG_PREPROCESS_COMMANDS
OPSYS
OPT
OPT_GNUTLS
ORIGIN
ORIG_DEPENDS
ORIG_RDEPENDS
OS
OSE
OSL
OTG
OTGSC_IE_
OUT
OUTSPECFILE
OV
OVERRIDES
OVERRIDES_
OWL_
PACKAGE
PACKAGEFUNCS
PACKAGELOCK
PACKAGES_
PACKAGES_DYNAMIC
PACKAGES_TO_INSTALL
PACKAGE_ARCHS
PACKAGE_ARCH_
PACKAGE_DEPENDS
PACKAGE_INSTALL
PACKAGE_INSTALL_ATTEMPTONLY
PACKAGE_NO_GCONV
PACKAGE_NO_LOCALE
PACKAGE_PREPROCESS_FUNCS
PAM
PARALELL_MAKE_
PARALLEL_MAKE_
PASS
PASTHRU_INC
PATA
PATA_FSL
PATCHCLEANCMD
PATCHCMD
PATCHDEPENDENCY
PATCHING
PATCHRESOLVE
PATCHTOOL
PATCH_DEPENDS
PATHFIXPATCH
PATHFIXPATCH_
PATH_
PAUSE
PC
PCI
PCI_CONF_FLAG
PCMCIA
PCMCIA_MANAGER
PCRE
PD
PDT
PERL
PERLCONFIGTARGET
PERLHOSTLIB
PERLLIBDIRS
PERL_ARCHLIB
PERL_INC
PERL_LIB
PF
PG
PIC
PID
PIE
PIPE
PKG
PKGD
PKGDATA_DIR
PKGDEST
PKGDESTWORK
PKGFN
PKGHIST_DIR
PKGWRITEDIRDEB
PKGWRITEDIRIPK
PKGWRITEDIRRPM
PKG_
PKG_CONFIG
PKG_CONFIG_DIR
PKG_CONFIG_PATH
PKG_CONFIG_SYSROOT_DIR
PKG_DISTRIBUTECOMMAND
PKG_DISTRIBUTEDIR
PKG_DIST_LOCAL
PL
PNG
POKY
POKYBASE
POKY_BASE_INSTALL
POKY_CONF_VERSION
POKY_DISTRO_VERSION
POKY_NATIVE_SYSROOT
POKY_TARGET_SYSROOT
POSIX
POST
POSTIN
POSTINPROG
POTFILES
PPP
PRC
PREBUILT_CPUCFG
PREFERRED_PROVIDER_
PREFIX
PREMIRRORS
PREMIRRORS_
PREPROCESS_RELOCATE_DIRS
PRINC
PRINT
PRINTING
PRIORITY
PRIVATE_LIBS
PROFILES
PROMPT
PROTO_DEPS
PROVIDES
PROVIDES_
PRV
PR_
PS
PSEUDO_RELOADED
PSF
PST
PSTAGING_ACTIVE
PSTAGING_DISABLED
PVM
PWD
PXA
PYTHONPATH
PYTHON_BASEVERSION
PYTHON_DIR
PYTHON_MAJMIN
QA
QA_LOGFILE
QEMU
QEMUARCH
QEMUIMAGETESTS
QEMUTARGET
QEMU_OPTIONS
QEMU_OPTIONS_
QMAKESPEC
QMAKE_MKSPEC_PATH
QMAKE_PROFILES
QMAKE_VARSUBST_POST
QMAKE_VARSUBST_PRE
QPL
QTDEMOS
QTDEMOS_
QT_CONFIG_FLAGS
QUILTRCFILE
QUILT_PATCHES
RADIUS
RAID
RANLIB
RCONFLICTS_
README
REAL_DAEMON_DIR
RECIPE_COMMENTS
RECIPE_INTEL_SECTION
RECIPE_LATEST_RELEASE_DATE
RECIPE_LATEST_VERSION
RECIPE_MAINTAINER
RECIPE_NO_UPDATE_REASON
RECIPE_STATUS
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES
RECOMMENDS
RELEASE
REPORTSTAMP
RFC
RMWORK_ORIG_TASK
ROC
ROK
ROM
ROOT
ROOTFS
ROOTFSBLOCKS
ROOTFS_PKGMANAGE
ROOTFS_PKGMANAGE_BOOTSTRAP
ROOTFS_POSTINSTALL_COMMAND
ROOTFS_POSTPROCESS_COMMAND
ROOTFS_SIZE
ROOT_
RPATH
RPC
RPM
RPMBUILD
RPMBUILDPATH
RPMDEPS
RPMOPTS
RPM_POSTPROCESS_COMMANDS
RPM_PREPROCESS_COMMANDS
RPROVIDES
RPROVIDES_
RPSRC
RRECOMMENDS_
RREPLACES_
RSUGGESTS
RSZ
RTC
RUNNING
RUNTIME
RUNTIME_
RUNTIME_PREFIX
RX
R_OK
SANITY_ABIFILE
SATA
SATO_IMAGE_FEATURES
SBINDIR
SCCS
SCENEFUNCS
SCHEMA
SCHEMA_FILES
SCHEMA_LOCATION
SCONF_VERSION
SCRIPT
SCSI
SD
SDC
SDI
SDIO
SDK
SDKMACHINE
SDKPATH
SDKPATHNATIVE
SDKTARGETSYSROOT
SDK_ARCH
SDK_CC_ARCH
SDK_DEPLOY
SDK_DIR
SDK_NAME
SDK_OS
SDK_OUTPUT
SDK_PREFIX
SDK_VENDOR
SDL
SDMA
SDP
SECTION_
SEL
SEVERITY
SGX
SH
SHA
SHARED
SHAREDIR
SHELL
SHLIBSDIR
SHLIBSWORKDIR
SIGNATURE
SIGPIPE
SIG_DFL
SIM
SIPTAGS
SIP_FEATURES
SIP_MODULES
SITE
SITECONFIG_SYSROOTCACHE
SITE_CONF_VERSION
SIZE
SKIP
SKIPPING
SM
SMTP
SOLIBS
SOLIBSDEV
SONAME
SOURCEFORGE_MIRROR
SOURCES
SOURCE_MIRROR_FETCH
SPECFILE
SPECS
SPI
SPLASH
SRC
SRCDATE_
SRCNAME
SRCPV
SRCREV_
SRCREV_FORMAT
SRC_DISTRIBUTECOMMAND
SRC_DISTRIBUTEDIR
SRC_DIST_LOCAL
SRC_URI_
SREC_CMD
SREC_SKIP
SREC_VMAADDR
SRPMFILE
SSDP
SSH
SSTATETASKS
SSTATE_BUILDDIR
SSTATE_DIR
SSTATE_INSTDIR
SSTATE_MANFILEBASE
SSTATE_MANFILEPREFIX
SSTATE_MANIFESTS
SSTATE_MIRRORS
SSTATE_PKG
SSTATE_PKGARCH
SSTATE_PKGNAME
SSTATE_SCAN_CMD
SSTATE_VERSION
STAGE_TEMP
STAGING_BINDIR
STAGING_BINDIR_CROSS
STAGING_BINDIR_NATIVE
STAGING_BINDIR_TOOLCHAIN
STAGING_DATADIR
STAGING_DATADIR_NATIVE
STAGING_DIR
STAGING_DIR_HOST
STAGING_DIR_NATIVE
STAGING_DIR_TARGET
STAGING_ETCDIR_NATIVE
STAGING_EXECPREFIXDIR
STAGING_INCDIR
STAGING_INCDIR_NATIVE
STAGING_LIBDIR
STAGING_LIBDIR_NATIVE
STAGING_SIPDIR
STAMP
STARTING
STOP
STRING
STRIP
STRIPPROG
STYLE
ST_MODE
SU
SUBDIR
SUBDIRS
SUCC
SUCCESS
SUPPORTED
SVG
SVGA
SVNREV
SWABBER_LOGS
SWABBER_REPORT
SWAB_ORIG_TASK
SWLINUX
SYSLINUXCFG
SYSLINUXMENU
SYSLINUX_OPTS
SYSLINUX_TIMEOUT
SYSROOT_DESTDIR
SYSROOT_LOCK
SYSROOT_PREPROCESS_FUNCS
SYSTEMHEADERS
SYSTEMLIBS
SYSV
SYSVINIT_ENABLED_GETTYS
SYS_INCLUDES
S_IEXEC
S_IREAD
S_IRWXU
S_ISDIR
S_ISLNK
S_ISREG
S_IWRITE
TABLES
TARGET
TARGETARCH
TARGETFPU
TARGETOS
TARGET_AR_KERNEL_ARCH
TARGET_CC_ARCH
TARGET_CC_ARCH_
TARGET_CC_KERNEL_ARCH
TARGET_CPPFLAGS
TARGET_LDFLAGS
TARGET_LD_KERNEL_ARCH
TARGET_OS_ORIG
TARGET_PREFIX
TARGET_SYS
TARGET_VENDOR
TCP
TEMPLATE
TERMWINDOWTITLE
TEST_DIR
TEST_LOG
TEST_RESULT
TEST_SCEN
TEST_TMP
THISDIR
TIFF
TIMEOUT
TINDERBOX
TINDER_AUTOBUILD
TINDER_BRANCH
TINDER_CLOBBER
TINDER_HOST
TINDER_LOG
TINDER_MACHINE
TINDER_REPORT
TINDER_TREE
TINDER_URL
TKSRC
TLI
TMAKEPATH
TMAKE_CONFIG
TMAKE_DEPENDPATH
TMAKE_DESTDIR
TMAKE_HEADERS
TMAKE_INCLUDEPATH
TMAKE_INTERFACES
TMAKE_LIBS
TMAKE_PROFILES
TMAKE_SOURCES
TMAKE_TARGET
TMAKE_TEMPLATE
TMIO
TMP
TMP_LOCALE
TO
TOBUILD
TODO
TOOLCHAIN_HOST_TASK
TOOLCHAIN_OPTIONS
TOOLCHAIN_OUTPUTNAME
TOOLCHAIN_TARGET_SDKTASK
TOOLCHAIN_TARGET_TASK
TOP
TOPDIR
TOTALSIZE
TRACE_LOGDIR
TRACE_LOGFILE
TTF
TWL
TX
TXCSR
TXDMA
TXT
TZ
TZONES
UBOOT_ARCH
UBOOT_ENTRYPOINT
UBOOT_LOADADDRESS
UBOOT_MACHINE_
UCLIBC_BASE
UCS
UCT
UDC
UDEV_EXTRAS
UE
UMASK
UNDEFINED
UNIX
UP
UPDATE
URB
URI
URL
US
USAGE
USB
USBCV
USBH
USERPTR
USE_DEVFS
USE_NLS
USE_NLS_
USE_VT
UST
UTC
UTF
VERSION
VFS
VIDIOC_QUERYMENU
VIRTUAL
VIRTUAL_NAME
VIRTUAL_NAME_
VM
VMW
VNC
VOLTAGE_
VPATH
VPU
VP_CLK_RATIO
VR
VRAM
VRFB
VSYSLOG
VUSB
WARNING
WEB
WEB_
WET
WHITELIST_
WITH_ENCA
WM
W_OK
XAUTHORITY
XC
XCB
XCFLAGS
XDG
XF
XFCE_VERSION
XI
XIG
XINC
XIP
XK
XKB
XLDFLAGS
XLIB
XLIBS_CVS
XORG_MIRROR
XORG_PN
XSERVER
XSETTINGS
XSLT
XSUB
XT
XT_CFLAGS
XV
X_OK
YES
YUV
ZAURUS_UPDATER_VERSION
ZIP
ZLIB
ZY
_A
_ARM
_BCM
_BD
_C
_CID_AUTO_WHITE_BALAN
_CONFIG
_CONSOLE_SERIAL_PORT
_CR
_DATA
_ER
_ET
_HEADERS
_IMAGE_FEATURES
_IN
_K
_L
_LIST
_LTLIBRARIES
_M
_MANS
_MN
_MTN
_O
_OLPC
_ONLY
_OPT
_P
_PROG_INTLTOOL
_SCRIPTS
_SENDMAIL
_T
_TEXINFOS
_TIMEOUT
_TIMER
_TO
_TR
_USE_SYSTEM_EXTENSIONS
_WAP_
_WHITELIST_
_WPASUPPLICANT
_Y
__
__RUNQUEUE_DO_NOT_USE_EXTERNALLY
--
Darren Hart
Yocto Linux Kernel
[-- Attachment #2: bbvars.py --]
[-- Type: text/x-python, Size: 4178 bytes --]
#!/usr/bin/env python
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# Copyright (C) Darren Hart <dvhart@linux.intel.com>, 2010
import sys
import getopt
import os
import os.path
import re
def usage():
print 'Usage: %s -d FILENAME [-d FILENAME]* -m METADIR [-m MATADIR]*' % os.path.basename(sys.argv[0])
print ' -d FILENAME documentation file to search'
print ' -h, --help display this help and exit'
print ' -m METADIR meta directory to search for recipes'
def recipe_bbvars(recipe):
''' Return a unique set of every bbvar encountered in the recipe '''
prog = re.compile("[A-Z_]+")
bbvars = set()
try:
r = open(recipe)
except IOError as (errno, strerror):
print 'WARNING: Failed to open recipe ', recipe
print strerror
for line in r:
# Strip any comments from the line
line = line.rsplit('#')[0]
bbvars = bbvars.union(set(prog.findall(line)))
r.close()
return bbvars
def collect_bbvars(metadir):
''' Walk the metadir and collect the bbvars from each recipe found '''
bbvars = set()
for root,dirs,files in os.walk(metadir):
for name in files:
if name.find(".bb") >= 0:
bbvars = bbvars.union(recipe_bbvars(os.path.join(root,name)))
return bbvars
def bbvar_is_documented(var, docfiles):
prog = re.compile(".*($|[^A-Z_])%s([^A-Z_]|$)" % (var))
for doc in docfiles:
try:
f = open(doc)
except IOError as (errno, strerror):
print 'WARNING: Failed to open doc ', doc
print strerror
for line in f:
if prog.match(line):
return True
f.close()
return False
def main():
docfiles = []
metadirs = []
bbvars = set()
undocumented = []
# Collect and validate input
try:
opts, args = getopt.getopt(sys.argv[1:], "d:hm:", ["help"])
except getopt.GetoptError, err:
print '%s' % str(err)
usage()
sys.exit(2)
for o, a in opts:
if o in ('-h', '--help'):
usage()
sys.exit(0)
elif o == '-d':
if os.path.isfile(a):
docfiles.append(a)
else:
print 'ERROR: documentation file %s is not a regular file' % (a)
sys.exit(3)
elif o == '-m':
if os.path.isdir(a):
metadirs.append(a)
else:
print 'ERROR: meta directory %s is not a directory' % (a)
sys.exit(4)
else:
assert False, "unhandled option"
if len(docfiles) == 0:
print 'ERROR: no docfile specified'
usage()
sys.exit(5)
if len(metadirs) == 0:
print 'ERROR: no metadir specified'
usage()
sys.exit(6)
# Collect all the variable names from the recipes in the metadirs
for m in metadirs:
bbvars = bbvars.union(collect_bbvars(m))
# Check each var for documentation
for v in bbvars:
if not bbvar_is_documented(v, docfiles):
undocumented.append(v)
undocumented.sort()
# Report all undocumented variables
print 'Found %d undocumented bb variables (out of %d):' % (len(undocumented), len(bbvars))
for v in undocumented:
print v
if __name__ == "__main__":
main()
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: RFC: Undocumented Recipe Variables Script 2010-12-07 22:12 RFC: Undocumented Recipe Variables Script Darren Hart @ 2010-12-07 22:38 ` Richard Purdie 2010-12-07 22:57 ` Darren Hart 0 siblings, 1 reply; 6+ messages in thread From: Richard Purdie @ 2010-12-07 22:38 UTC (permalink / raw) To: Darren Hart; +Cc: poky@yoctoproject.org On Tue, 2010-12-07 at 14:12 -0800, Darren Hart wrote: > I whipped up a script to find variables in recipes > and determine if they have been documented. [...] > ALTERNATIVE_LINK > ALTERNATIVE_LINKS > ALTERNATIVE_NAME > ALTERNATIVE_PATH > ALTERNATIVE_PRIORITY yet if I look at: http://www.yoctoproject.org/docs/poky-ref-manual/poky-ref-manual.html#ref-classes-update-alternatives these ones are. There is a lot of noise in that script but its probably worth a pass over the output to hint as to what we need to document. Cheers, Richard ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: RFC: Undocumented Recipe Variables Script 2010-12-07 22:38 ` Richard Purdie @ 2010-12-07 22:57 ` Darren Hart 2010-12-08 1:27 ` Darren Hart 0 siblings, 1 reply; 6+ messages in thread From: Darren Hart @ 2010-12-07 22:57 UTC (permalink / raw) To: Richard Purdie; +Cc: poky@yoctoproject.org On 12/07/2010 02:38 PM, Richard Purdie wrote: > On Tue, 2010-12-07 at 14:12 -0800, Darren Hart wrote: >> I whipped up a script to find variables in recipes >> and determine if they have been documented. > [...] >> ALTERNATIVE_LINK >> ALTERNATIVE_LINKS >> ALTERNATIVE_NAME >> ALTERNATIVE_PATH >> ALTERNATIVE_PRIORITY > > yet if I look at: > > http://www.yoctoproject.org/docs/poky-ref-manual/poky-ref-manual.html#ref-classes-update-alternatives > > these ones are. OK, this just suggests I need to include more of the xml documents in my arguments. Actually, I think I'll just build the documents and include all the html documents. > > There is a lot of noise in that script but its probably worth a pass > over the output to hint as to what we need to document. Let's make sure I have all the appropriate docs being searched first. I talked with Scott and we decided using the html file should be the right thing. All the above are found, with the exception of ALTERNATIVE_LINKS (plural) which indeed is not in the html file. $ ./bbvars.py -m ~/source/poky.git/meta -d ~/source/poky.git/documentation/poky-ref-manual/poky-ref-manual.html Found 1388 undocumented bb variables (out of 1553): AC ACCESS ACLOCAL_CWFLAGS ACX AC_REQUIRE ADD_BT ADD_WIFI AFTER AI AKM ALLOWOPTIONS ALLOW_EMPTY ALLOW_EMPTY_ ALTERNATIVE_LINKS ALTNAME AM_GLIB_GNU_GETTEXT AM_GNU_GETTEXT APACHE_MIRROR API APPDESKTOP APPEND APPIMAGE APPNAME APR APT_CONFIG AR ARCH ARCH_FLAGS_FOR_TARGET ARFLAGS ARM_INSTRUCTION_SET ARM_MUTEX ART_CONFIG AS ASN ASNEEDED ASSUME_SHLIBS ATA ATM AUTHORS AUTOLOGIN AUTOV AUTO_LIBNAME_PKGS AUTO_SYSLINUXCFG AUTO_SYSLINUXMENU AUX_OBJ AV AWKPOSTINSTSCRIPT BASEDIR BASEFILESISSUEINSTALL BASEPKG_HOST_SYS BASEPKG_TARGET_SYS BASEPN BASE_CONF BASE_PACKAGE_ARCH BASE_SRC_URI BBCLASSEXTEND BB_CURRENTTASK BB_DEFAULT_TASK BB_HASHCHECK_FUNCTION BB_HASHFILENAME BB_MIN_VERSION BB_RUNTASK BB_SCHEDULER BB_TASKHASH BB_VERSION BB_WORKERCONTEXT BE BINARY_LOCALE_ARCHES BINCONFIG_GLOB BINDIR BINS BINV BJAM_EXTRA BJAM_OPTS BJAM_TOOLS BLOCKS BOOST_LIBS BOOST_P BOOTDD_EXTRA_SPACE BOOTDD_VOLUME_ID BOOTIMG_EXTRA_SPACE BOOTIMG_VOLUME_ID BOOTSTRAP BP BROKEN BUGS BUGTRACKER BUG_ON BUILD BUILDCC BUILDCFLAGS BUILDING BUILDNAME BUILDSDK_CFLAGS BUILDSDK_CPPFLAGS BUILDSDK_LDFLAGS BUILDSPEC BUILD_AR BUILD_ARCH BUILD_CC BUILD_CCLD BUILD_CC_ARCH BUILD_CFLAGS BUILD_CXX BUILD_CXXFLAGS BUILD_IMAGES_FROM_FEEDS BUILD_LD BUILD_LDFLAGS BUILD_OPT BUILD_OS BUILD_PREFIX BUILD_RANLIB BUILD_SHARED BUILD_SYS BUILD_VENDOR BY CACHE CCACHE CCDC CCDV CCFLAGS CCLD CC_FOR_BUILD CD CDT CET CFGL CFLAGS_ CFLAGS_FOR_BUILD CGI CHAT CHECKCOMMAND_ CHRPATH_BIN CHRPATH_BIN_ CHSRC CLEANFILES CLEANFUNCS CMAKE_CXX_COMPILER CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_RELEASE CMAKE_C_COMPILER CMAKE_C_FLAGS CMAKE_C_FLAGS_RELEASE CMAKE_FIND_ROOT_PATH CMAKE_FIND_ROOT_PATH_MODE_INCLUDE CMAKE_FIND_ROOT_PATH_MODE_LIBRARY CMAKE_FIND_ROOT_PATH_MODE_PROGRAM CMAKE_MAJOR_VERSION CMAKE_MODULE_PATH CMAKE_SYSTEM_NAME CMDLINE_ CMDLINE_CONSOLE CMX COLORFX COMBINED_FEATURES COMMASPACE COMMERCIAL_AUDIO_PLUGINS COMMERCIAL_LICENSE COMMERCIAL_QT COMMERCIAL_VIDEO_PLUGINS COMPATIBLE_HOST COMPILE CONFFILES CONFFILES_ CONFIG CONFIGURATION CONFIGUREOPTS CONFIGURE_AC CONFIGURE_ARGS CONFIGURE_FLAGS CONFIG_LOCALVERSION CONFIG_MMC_BLOCK CONFIG_MMC_OMAP_HS CONFIG_MODULES CONFIG_OMAP_LL_DEBUG_UART CONFIG_OMAP_LL_DEBUG_UART_EXT CONFIG_OUT CONFLICTNAME CONFLICTS CONFLICTS_ CONF_VERSION CONTENT CONTROL COPTS COPYRIGHT CORE CORYING CPAN CPAN_BUILD_DEPS CPP CPPFLAGS CPPI CR CROSS CROSS_COMPILE CROSS_DIR CSI CSPI CSS CST CT CTAN CURLGNUTLS CURLGNUTLS_ CURSES CVE CWAUTOMACROSPREFIX CXX CXXFLAGS CXXFLAGS_ DA DATADIR DATE DAV DB DBUS DBUS_SESSION_BUS_ADDRESS DCMAKE_INSTALL_PREFIX DCMAKE_INSTALL_SO_NO_EXE DCMAKE_TOOLCHAIN_FILE DCMAKE_VERBOSE_MAKEFILE DDAEMON_UMASK DEBIAN DEBIANNAME_ DEBIAN_MIRROR DEBIAN_NAMES DEBIAN_NOAUTONAME_ DEBUG DEBUG_LL DEB_PACKAGE_INDEX_CLEAN DEFAULT DEFAULT_PREFERENCE_ DENABLE_DNS DEPCHAIN_POST DEPCHAIN_PRE DEPENDENCY_CHECK DEPENDPATH DEPENDS_ DEPENDS_GETTEXT DEPLOYDIR DEPLOY_DIR DEPLOY_DIR_DEB DEPLOY_DIR_IMAGE DEPLOY_DIR_IPK DEPLOY_DIR_RPM DEPLOY_DIR_SRC DEPLOY_DIR_TAR DEPLOY_KEEP_PACKAGES DEPMOD DER DESCRIPTION_ DESCRIPTON DEVEL_PREFIX DFACILITY DHAVE_ANIMATION DHAVE_STRERROR DHAVE_WEAKSYMS DHCP DHOSTS_ACCESS DHOSTS_ALLOW DHOSTS_DENY DIGIT DINET DISCLAIMER DISPC_VID_FIR DISPLAY DISTRO_EXTRA_DEPENDS DISTRO_SSH_DAEMON DISTUTILS_BUILD_ARGS DISTUTILS_INSTALL_ARGS DISTUTILS_STAGE_ALL_ARGS DISTUTILS_STAGE_HEADERS_ARGS DKILL_IP_OPTIONS DLIB DLINK_SIZE DM DMA DNDEBUG DNETGROUP DNS DO DOCS DOLT DONE DOS DOSRC DPKG_ARCH DPKG_ARCH_ DPM DPROCESS_OPTIONS DPTC DRI DRPM_VENDOR_WINDRIVER DSI DSO DSP DSS DSYS_ERRLIST_DEFINED DUSE_GETDOMAIN DVF DVFS DWITH_GNOME DWITH_KDE DWITH_MOZJS DWITH_NM DWITH_PERL DWITH_PYTHON DWITH_WEBKIT D_FILE_OFFSET_BITS D_GNU_SOURCE D_REENTRANT D__FILE_OFFSET_BITS D__MIPSEB__ D__MIPSEL__ D__SOFTFP__ ED EDID EDL EDS EDT EET EGLIBC_BRANCH ELF ELFF END ENGR ENHANCED_IMAGE_FEATURES ENOENT EOF EPL ERR ERROR ERROR_NAMES EST ETCDIR EVENTLOG EVIE EVM EXCEPTION EXCLUDE_FROM EXCLUDE_FROM_SHLIBS EXCLUDE_FROM_WORLD EXIF EXPAT EXPATINCPATH EXPATLIBPATH EXPORT_FUNCTIONS EXTENDPV EXTERN EXTERNAL_TOOLCHAIN EXTRAOPKGCONFIG EXTRAS EXTRA_AUTORECONF EXTRA_CFLAGS EXTRA_CPANFLAGS EXTRA_DIST EXTRA_IMAGEDEPENDS EXTRA_NATIVE_PKGCONFIG_PATH EXTRA_OECONF_ EXTRA_OEMAKE_ EXTRA_OEMAKE_NETGROUP EXTRA_OEMAKE_NETGROUP_ EXTRA_QMAKEVARS_POST EXTRA_QMAKEVARS_PRE EXTRA_RDEPENDS EXTRA_RDEPENDS_ EXTRA_SIPTAGS FACILITY FAIL FAILURE FAKEROOT FAKEROOTENV FAM FAT FATAL FB FC_GLYPHNAME FC_LANG FDL FEAT FEATURES FEC FEED_URIS FF FILEMANAGER FILEMANAGER_ FILERDEPENDSFLIST FILERDEPENDSFLIST_ FILERDEPENDS_ FILERPROVIDESFLIST FILERPROVIDESFLIST_ FILERPROVIDES_ FILESDIR FILESEXTRAPATHS FILESPATH FILESPATHBASE FILESPATHPKG FILES_ FILE_DIRNAME FINISHED FIR FIXEDSRCDATE FIXMESTAGINGDIR FLAC FLIST FLIST_ FONTREV FREEDESKTOP_CVS FSL FTL FULL_OPTIMIZATION_ F_OK GB GBARR GCONF_CONFIG_SOURCE GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL GCONV_PATH GD GDBPROPREFIX GDK GDK_PIXBUF_MODULEDIR GDK_PIXBUF_QUERYLOADERS GFDL GIT_CONFIG GIT_CORE_CONFIG GIT_PROXY_COMMAND GIT_PROXY_IGNORE GL GLEW GLIBC_ADDONS GLIBC_BROKEN_LOCALES GLIBC_DEPENDENCIES GLIBC_EXTRA_OECONF GLIBC_GENERATE_LOCALES GLIBC_INTERNAL_USE_BINARY_LOCALE GLSL_CL GMAE GMP GMT GNOME_MIRROR GNU_HASH GO GP GPE_MIRROR GPGME GPIO GPIO_POWERON GPL_V GPS GR GROFF_FONT_PATH GROFF_TMAC_PATH GRUB GS GSSDP GTK_ GUP HACK HAL_INFO_ HANDHELDS_CVS HASDOCBOOK HCI HDDDIR HDDIMG HEAD HEADERS HNP HOME HOST HOSTPERL HOSTPGEN HOSTPYTHON HOSTTOOLS_WHITELIST_ HOST_AR HOST_ARCH HOST_AR_KERNEL_ARCH HOST_CC HOST_CC_ARCH HOST_CC_KERNEL_ARCH HOST_CFLAGS HOST_CXX HOST_CXXFLAGS HOST_DATA HOST_LDFLAGS HOST_LD_KERNEL_ARCH HOST_LIBIDL_CFLAGS HOST_LIBIDL_CONFIG HOST_LIBIDL_LIBS HOST_NONSYSV HOST_OS HOST_PREFIX HOST_RANLIB HOST_SYS HOST_VENDOR HOTPLUG HST HTTP IAPI IBM ICE ICECC_CC ICECC_CXX ICECC_ENV_EXEC ICECC_PATH ICECC_USER_CLASS_BL ICECC_USER_PACKAGE_BL ICECC_VERSION ID IDL IDN IDNA IETF IFS IGEP II IMAGE IMAGEROOTFS IMAGETEST IMAGE_BASENAME IMAGE_CMD_ IMAGE_DEPENDS_ IMAGE_DEVICE_TABLE IMAGE_DEVICE_TABLES IMAGE_LINGUAS IMAGE_LINK_NAME IMAGE_LOCALES IMAGE_NAME IMAGE_OVERHEAD_FACTOR IMAGE_PKGTYPE IMAGE_POSTPROCESS_COMMAND IMAGE_PREPROCESS_COMMAND IMAGE_ROOTFS IMAGE_ROOTFS_SIZE IN INCDIR INCL INCLUDEPATH INCLUDES INCOMPATIBLE_LICENSE INC_PR INFO INHIBIT_AUTOTOOLS_DEPS INHIBIT_AUTO_STAGE INHIBIT_DEFAULT_DEPS INIT INITRD INITSCRIPT_PARAMS_ INIT_D_DIR INSANE_SKIP_ INSTALL INSTALLED_PACKAGES INSTALLROOT INSTALL_DIR INSTALL_HDR_PATH INSTALL_INC INSTALL_LIB INSTALL_MAN INSTALL_MOD_PATH INSTALL_ROOT INS_BASE INTERFACES INTERN INVALID IO IOE IOEINCDIR IPC IPKGCONF_SDK IPKGCONF_TARGET IPKG_ARGS IPKG_HOST IPKG_OFFLINE_ROOT IPKG_TARGET IPK_FEED_URIS IPK_PACKAGE_INDEX_CLEAN IPU IROOT IRQ ISC ISO ISODIR ISP JFIF JL JPEG JS_EDITLINE KBRANCH KDIR KERNELDIR KERNELORG_MIRROR KERNEL_ALT_IMAGETYPE KERNEL_AR KERNEL_ARSUFFIX KERNEL_CC KERNEL_CCSUFFIX KERNEL_CONSOLE KERNEL_FEATURES KERNEL_IMAGEDEST KERNEL_IMAGE_BASE_NAME KERNEL_IMAGE_MAXSIZE KERNEL_IMAGE_SYMLINK_NAME KERNEL_LD KERNEL_LDSUFFIX KERNEL_LOCALVERSION KERNEL_MAJOR_VERSION KERNEL_OBJECT_SUFFIX KERNEL_OUTPUT KERNEL_PATH KERNEL_PRIORITY KERNEL_RELEASE KERNEL_REVISION_CHECKING KERNEL_SOURCE KERNEL_SRC KERNEL_VERSION KEXECTOOLS KEXECTOOLS_ KILL_OPT KMACHINE KMACHINE_ KV LABEL LABELS LAME LAN LAYER_CONF_VERSION LCD LCONF_VERSION LCRYPT LC_ALL LDFLAGS LDFLAGS_ LD_ LD_LIBRARY_PATH LD_PRELOAD LEAD_SONAME LESSER LGPL LGPL_EXCEPTION LGPV LIB LIBATA LIBC LIBC_DEPENDENCIES LIBDIR LIBNAMES LIBRARY LIBS LIBTOOL LIBV LIB_DEPS LICENCE LICENSE_ LICENSING LIC_CHKSUM_FILES LIC_FILE_CHKSUM LINGUAS_INSTALL LINKFILE LINK_FOR_BUILD LINUX_KERNEL_TYPE LINUX_VERSION LINUX_VERSION_EXTENSION LOCAL LOCALEDEF LOCALE_GENERATION_WITH_CROSS LOCALE_UTF LOCALPATCH LOCALSRC LOELIBDIR LOG_DAEMON LOG_DIR LOG_FILE LOG_INFO LOPTS LR LSB_VERSION LSOF_INCLUDE LSOF_OS LSOF_OS_ LTTDATE LVDS LZMA MAC MACHINE_ARCH MACHINE_ESSENTIAL_EXTRA_RDEPENDS MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS MACHINE_POSTPROCESS_COMMAND MAINTAINERS MAJOR_KERNEL_VERSION MAJOR_VERSION MAJ_VER MAKE MAKEFLAGS MAKE_ARCH MAKE_OS MAKE_TARGETS MANIFEST MANS MARK MATCH MAX MB MBO MC MCW MD MDT MET METADATA_BRANCH METADATA_REVISION MFD MIDI MIME MIRRORS MIRRORS_ MMC MMU MNCI MNRT MODULES MOD_PV MOZCONFIG MOZ_OBJDIR MP MPC MPEG MPL MS MST MULTIMACH_ARCH MULTIMACH_HOST_SYS MULTIMACH_TARGET_SYS MUTEX MUTEX_ MUX MX MXC MXC_DMA_ZONE_SIZE NAK NAND NAPI NATIVE_INSTALL_WORKS NCMS NEEDED NET NETGROUP NETWORK_MANAGER NEW NEWS NMEA NO NOISO NONE NOOPR NORESULT NOSWABBERUPDATE NOT NOTE NOTES NOW NPATH NPL NSS NZ OBJ OBJCOPY OBJDUMP ODBM_F OECMAKE_BUILDPATH OECMAKE_CXX_COMPILER OECMAKE_CXX_FLAGS OECMAKE_CXX_FLAGS_RELEASE OECMAKE_C_COMPILER OECMAKE_C_FLAGS OECMAKE_C_FLAGS_RELEASE OECMAKE_SITEFILE OECMAKE_SOURCEPATH OEDATADIR OEDEBUG OEEXECPREFIX OEINCDIR OELAYOUT_ABI OELIBDIR OEPREFIX OEREV OES_BITBAKE_CONF OEV OE_BINCONFIG_EXTRA_MANGLE OE_QMAKE_AR OE_QMAKE_CC OE_QMAKE_CFLAGS OE_QMAKE_CXX OE_QMAKE_CXXFLAGS OE_QMAKE_INCDIR_QT OE_QMAKE_LDFLAGS OE_QMAKE_LIBDIR_QT OE_QMAKE_LIBS_QT OE_QMAKE_LIBS_X OE_QMAKE_LINK OE_QMAKE_LRELEASE OE_QMAKE_LUPDATE OE_QMAKE_MOC OE_QMAKE_PLATFORM OE_QMAKE_QDBUSCPP OE_QMAKE_QDBUSXML OE_QMAKE_QMAKE OE_QMAKE_RCC OE_QMAKE_RPATH OE_QMAKE_STRIP OE_QMAKE_UIC OE_REVISION OFFLINE_ROOT OFFSET OHCI OLD OLDEST_KERNEL OLD_BASE_PACKAGE_ARCH OLD_MULTIMACH_ARCH OLD_PACKAGE_ARCH OM OMAP OMAPFB OMAPZ ONLY OPENMOKO_MIRROR OPENMOKO_RELEASE OPKG OPKGBUILDCMD OPKG_INIT_POSITION OPKG_INIT_POSITION_ OPKG_OFFLINE_ROOT OPKG_POSTPROCESS_COMMANDS OPKG_PREPROCESS_COMMANDS OPSYS OPT OPT_GNUTLS ORIGIN ORIG_DEPENDS ORIG_RDEPENDS OSE OSL OTG OTGSC_IE_ OUT OUTSPECFILE OV OVERRIDES OVERRIDES_ OWL_ PACKAGE PACKAGEFUNCS PACKAGELOCK PACKAGES_ PACKAGES_DYNAMIC PACKAGES_TO_INSTALL PACKAGE_ARCHS PACKAGE_ARCH_ PACKAGE_DEPENDS PACKAGE_INSTALL PACKAGE_INSTALL_ATTEMPTONLY PACKAGE_NO_GCONV PACKAGE_NO_LOCALE PACKAGE_PREPROCESS_FUNCS PAM PARALELL_MAKE_ PARALLEL_MAKE_ PASS PASTHRU_INC PATA PATA_FSL PATCHCLEANCMD PATCHCMD PATCHDEPENDENCY PATCHING PATCHRESOLVE PATCHTOOL PATCH_DEPENDS PATHFIXPATCH PATHFIXPATCH_ PATH_ PAUSE PCI_CONF_FLAG PCMCIA_MANAGER PCRE PD PDT PERL PERLCONFIGTARGET PERLHOSTLIB PERLLIBDIRS PERL_ARCHLIB PERL_INC PERL_LIB PF PG PIC PID PIE PIPE PKG PKGD PKGDATA_DIR PKGDEST PKGDESTWORK PKGFN PKGHIST_DIR PKGWRITEDIRDEB PKGWRITEDIRIPK PKGWRITEDIRRPM PKG_ PKG_CONFIG PKG_CONFIG_DIR PKG_CONFIG_PATH PKG_CONFIG_SYSROOT_DIR PKG_DISTRIBUTECOMMAND PKG_DISTRIBUTEDIR PKG_DIST_LOCAL PNG POKY POKY_BASE_INSTALL POKY_CONF_VERSION POKY_DISTRO_VERSION POKY_NATIVE_SYSROOT POKY_TARGET_SYSROOT POSIX POST POSTIN POSTINPROG POTFILES PRC PREBUILT_CPUCFG PREFERRED_PROVIDER_ PREFIX PREMIRRORS PREMIRRORS_ PREPROCESS_RELOCATE_DIRS PRINC PRINT PRINTING PRIORITY PRIVATE_LIBS PROFILES PROMPT PROTO_DEPS PROVIDES PROVIDES_ PRV PR_ PS PSEUDO_RELOADED PSF PST PSTAGING_ACTIVE PSTAGING_DISABLED PVM PWD PXA PYTHONPATH PYTHON_BASEVERSION PYTHON_DIR PYTHON_MAJMIN QA QA_LOGFILE QEMUARCH QEMUIMAGETESTS QEMUTARGET QEMU_OPTIONS QEMU_OPTIONS_ QMAKESPEC QMAKE_MKSPEC_PATH QMAKE_PROFILES QMAKE_VARSUBST_POST QMAKE_VARSUBST_PRE QPL QTDEMOS QTDEMOS_ QT_CONFIG_FLAGS QUILTRCFILE QUILT_PATCHES RADIUS RAID RANLIB RCONFLICTS_ REAL_DAEMON_DIR RECIPE_COMMENTS RECIPE_INTEL_SECTION RECIPE_LATEST_RELEASE_DATE RECIPE_LATEST_VERSION RECIPE_MAINTAINER RECIPE_NO_UPDATE_REASON RECIPE_STATUS RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES RECOMMENDS RELEASE REPORTSTAMP RFC RMWORK_ORIG_TASK ROC ROK ROM ROOT ROOTFS ROOTFSBLOCKS ROOTFS_PKGMANAGE ROOTFS_PKGMANAGE_BOOTSTRAP ROOTFS_POSTINSTALL_COMMAND ROOTFS_POSTPROCESS_COMMAND ROOTFS_SIZE ROOT_ RPATH RPC RPMBUILD RPMBUILDPATH RPMDEPS RPMOPTS RPM_POSTPROCESS_COMMANDS RPM_PREPROCESS_COMMANDS RPROVIDES RPROVIDES_ RPSRC RRECOMMENDS_ RREPLACES_ RSUGGESTS RSZ RTC RUNNING RUNTIME RUNTIME_ RUNTIME_PREFIX RX R_OK SA SANITY_ABIFILE SATA SATO_IMAGE_FEATURES SCCS SCENEFUNCS SCHEMA SCHEMA_FILES SCHEMA_LOCATION SCONF_VERSION SCRIPT SCSI SD SDC SDI SDIO SDKMACHINE SDKPATH SDKPATHNATIVE SDKTARGETSYSROOT SDK_ARCH SDK_CC_ARCH SDK_DEPLOY SDK_DIR SDK_NAME SDK_OS SDK_OUTPUT SDK_PREFIX SDK_VENDOR SDL SDMA SDP SECTION_ SEL SEVERITY SGX SH SHA SHARED SHAREDIR SHELL SHLIBSDIR SHLIBSWORKDIR SIGNATURE SIGPIPE SIG_DFL SIM SIPTAGS SIP_FEATURES SIP_MODULES SITE SITECONFIG_SYSROOTCACHE SITE_CONF_VERSION SIZE SKIP SKIPPING SM SMTP SOLIBS SOLIBSDEV SONAME SOURCEFORGE_MIRROR SOURCES SOURCE_MIRROR_FETCH SPECFILE SPECS SPI SPLASH SRC SRCDATE_ SRCNAME SRCPV SRCREV_ SRCREV_FORMAT SRC_DISTRIBUTECOMMAND SRC_DISTRIBUTEDIR SRC_DIST_LOCAL SRC_URI_ SREC_CMD SREC_SKIP SREC_VMAADDR SRPMFILE SSDP SSTATETASKS SSTATE_BUILDDIR SSTATE_DIR SSTATE_INSTDIR SSTATE_MANFILEBASE SSTATE_MANFILEPREFIX SSTATE_MANIFESTS SSTATE_MIRRORS SSTATE_PKG SSTATE_PKGARCH SSTATE_PKGNAME SSTATE_SCAN_CMD SSTATE_VERSION STAGE_TEMP STAGING_BINDIR STAGING_BINDIR_CROSS STAGING_BINDIR_NATIVE STAGING_BINDIR_TOOLCHAIN STAGING_DATADIR STAGING_DATADIR_NATIVE STAGING_DIR STAGING_DIR_HOST STAGING_DIR_NATIVE STAGING_DIR_TARGET STAGING_ETCDIR_NATIVE STAGING_EXECPREFIXDIR STAGING_INCDIR STAGING_INCDIR_NATIVE STAGING_LIBDIR STAGING_LIBDIR_NATIVE STAGING_SIPDIR STAMP STARTING STOP STRING STRIP STRIPPROG STYLE ST_MODE SU SUBDIR SUBDIRS SUCC SUCCESS SUPPORTED SVG SVGA SVNREV SWABBER_LOGS SWABBER_REPORT SWAB_ORIG_TASK SWLINUX SYSLINUXCFG SYSLINUXMENU SYSLINUX_OPTS SYSLINUX_TIMEOUT SYSROOT_DESTDIR SYSROOT_LOCK SYSROOT_PREPROCESS_FUNCS SYSTEMHEADERS SYSTEMLIBS SYSV SYSVINIT_ENABLED_GETTYS SYS_INCLUDES S_IEXEC S_IREAD S_IRWXU S_ISDIR S_ISLNK S_ISREG S_IWRITE TABLES TARGET TARGETARCH TARGETFPU TARGETOS TARGET_AR_KERNEL_ARCH TARGET_CC_ARCH TARGET_CC_ARCH_ TARGET_CC_KERNEL_ARCH TARGET_CPPFLAGS TARGET_LDFLAGS TARGET_LD_KERNEL_ARCH TARGET_OS_ORIG TARGET_PREFIX TARGET_SYS TARGET_VENDOR TEMPLATE TERMWINDOWTITLE TEST_DIR TEST_LOG TEST_RESULT TEST_SCEN TEST_TMP TIFF TIMEOUT TINDERBOX TINDER_AUTOBUILD TINDER_BRANCH TINDER_CLOBBER TINDER_HOST TINDER_LOG TINDER_MACHINE TINDER_REPORT TINDER_TREE TINDER_URL TKSRC TLI TMAKEPATH TMAKE_CONFIG TMAKE_DEPENDPATH TMAKE_DESTDIR TMAKE_HEADERS TMAKE_INCLUDEPATH TMAKE_INTERFACES TMAKE_LIBS TMAKE_PROFILES TMAKE_SOURCES TMAKE_TARGET TMAKE_TEMPLATE TMIO TMP TMP_LOCALE TO TOBUILD TODO TOOLCHAIN_HOST_TASK TOOLCHAIN_OPTIONS TOOLCHAIN_OUTPUTNAME TOOLCHAIN_TARGET_SDKTASK TOOLCHAIN_TARGET_TASK TOP TOPDIR TOTALSIZE TRACE_LOGDIR TRACE_LOGFILE TTF TWL TX TXCSR TXDMA TXT TZ TZONES UBOOT_ARCH UBOOT_ENTRYPOINT UBOOT_LOADADDRESS UBOOT_MACHINE_ UCLIBC_BASE UCS UCT UDC UDEV_EXTRAS UE UMASK UNDEFINED UNIX UP UPDATE URB URI US USAGE USBCV USBH USERPTR USE_DEVFS USE_NLS USE_NLS_ USE_VT UST UTC VERSION VFS VIDIOC_QUERYMENU VIRTUAL VIRTUAL_NAME VIRTUAL_NAME_ VM VMW VNC VOLTAGE_ VPATH VPU VP_CLK_RATIO VR VRAM VRFB VSYSLOG VUSB WARNING WEB WEB_ WET WHITELIST_ WITH_ENCA WM W_OK XAUTHORITY XC XCB XCFLAGS XDG XF XFCE_VERSION XI XIG XINC XIP XK XKB XLDFLAGS XLIB XLIBS_CVS XML XORG_MIRROR XORG_PN XSERVER XSETTINGS XSLT XSUB XT XT_CFLAGS XV X_OK YES YUV ZAURUS_UPDATER_VERSION ZIP ZLIB ZY _A _ARM _BCM _BD _C _CID_AUTO_WHITE_BALAN _CONFIG _CONSOLE_SERIAL_PORT _CR _DATA _ER _ET _HEADERS _IMAGE_FEATURES _IN _K _L _LIST _LTLIBRARIES _M _MANS _MN _MTN _O _OLPC _ONLY _OPT _P _PROG_INTLTOOL _SCRIPTS _SENDMAIL _T _TEXINFOS _TIMEOUT _TIMER _TO _TR _USE_SYSTEM_EXTENSIONS _WAP_ _WHITELIST_ _WPASUPPLICANT _Y __ __RUNQUEUE_DO_NOT_USE_EXTERNALLY -- Darren Hart Yocto Linux Kernel ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: RFC: Undocumented Recipe Variables Script 2010-12-07 22:57 ` Darren Hart @ 2010-12-08 1:27 ` Darren Hart 2010-12-09 13:53 ` Richard Purdie 0 siblings, 1 reply; 6+ messages in thread From: Darren Hart @ 2010-12-08 1:27 UTC (permalink / raw) To: Richard Purdie; +Cc: poky@yoctoproject.org [-- Attachment #1: Type: text/plain, Size: 71019 bytes --] On 12/07/2010 02:57 PM, Darren Hart wrote: > On 12/07/2010 02:38 PM, Richard Purdie wrote: >> On Tue, 2010-12-07 at 14:12 -0800, Darren Hart wrote: >>> I whipped up a script to find variables in recipes >>> and determine if they have been documented. >> [...] >>> ALTERNATIVE_LINK >>> ALTERNATIVE_LINKS >>> ALTERNATIVE_NAME >>> ALTERNATIVE_PATH >>> ALTERNATIVE_PRIORITY >> >> yet if I look at: >> >> http://www.yoctoproject.org/docs/poky-ref-manual/poky-ref-manual.html#ref-classes-update-alternatives >> >> these ones are. > > OK, this just suggests I need to include more of the xml documents in my > arguments. Actually, I think I'll just build the documents and include > all the html documents. > >> >> There is a lot of noise in that script but its probably worth a pass >> over the output to hint as to what we need to document. > > Let's make sure I have all the appropriate docs being searched first. > > I talked with Scott and we decided using the html file should be the > right thing. All the above are found, with the exception of > ALTERNATIVE_LINKS (plural) which indeed is not in the html file. > > $ ./bbvars.py -m ~/source/poky.git/meta -d ~/source/poky.git/documentation/poky-ref-manual/poky-ref-manual.html > Found 1388 undocumented bb variables (out of 1553): > AC > ACCESS > ACLOCAL_CWFLAGS > ACX > ... 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? Thanks, Darren The following is a doc-tag only listing: $ ./bbvars.py -m ~/source/poky.git/meta -d ~/source/poky.git/documentation/poky-ref-manual/poky-ref-manual.html -t ~/source/poky.git/meta/conf/documentation.conf -T Found 1388 undocumented bb variables (out of 1553): VARIABLE COUNT DOCTAG =================================================== BUILD_ARCH 4 The name of the building architecture. E.g. i686. BUILD_CC_ARCH 2 FIXME BUILD_PREFIX 4 FIXME BUILD_SYS 13 FIXME BUILD_VENDOR 2 FIXME CACHE 1 The directory holding the cache of the metadata. 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. DATE 1 The date the build was started Ymd HOST_ARCH 9 The name of the target architecture. Normally same as the TARGET_ARCH. @see TARGET_ARCH @group base HOST_CC_ARCH 5 Normally same as the TARGET_CC_ARCH. @see TARGET_CC_ARCH @group base HOST_PREFIX 10 Normally same as the TARGET_PREFIX. @see TARGET_PREFIX @group base HOST_SYS 21 FIXME HOST_VENDOR 6 The name of the vendor. Normally same as the TARGET_VENDOR. @see TARGET_VENDOR IPK_FEED_URIS 1 List of ipkg feed records to put into generated image. PCMCIA_MANAGER 1 Specify which package(s) to install to handle PCMCIA slots (usually pcmcia-cs or pcmciautils). PF 3 Package name - Package version - Package revision (PN-PV-PR) 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 RPROVIDES 9 Names for additional run time dependencies that this package will provide. This is used to populate the ipkg:Provides field. @group dependencies SOURCE_MIRROR_FETCH 1 Switch marking build as source fetcher. Used to skip COMPATIBLE_* checking. STAMP 3 The directory that holds files to keep track of what was built. SYSVINIT_ENABLED_GETTYS 1 Specify which VTs should be running a getty, the default is 1 TARGET_CC_ARCH 5 FIXME 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 The unfiltered output follows: $ ./bbvars.py -m ~/source/poky.git/meta -d ~/source/poky.git/documentation/poky-ref-manual/poky-ref-manual.html -t ~/source/poky.git/meta/conf/documentation.conf Found 1388 undocumented bb variables (out of 1553): VARIABLE COUNT DOCTAG =================================================== AC 1 ACCESS 1 ACLOCAL_CWFLAGS 2 ACX 1 AC_REQUIRE 1 ADD_BT 1 ADD_WIFI 1 AFTER 1 AI 1 AKM 1 ALLOWOPTIONS 1 ALLOW_EMPTY 24 ALLOW_EMPTY_ 9 ALTERNATIVE_LINKS 4 ALTNAME 1 AM_GLIB_GNU_GETTEXT 1 AM_GNU_GETTEXT 2 APACHE_MIRROR 2 API 6 APPDESKTOP 1 APPEND 2 APPIMAGE 1 APPNAME 1 APR 2 APT_CONFIG 2 AR 6 ARCH 11 ARCH_FLAGS_FOR_TARGET 7 ARFLAGS 1 ARM_INSTRUCTION_SET 7 ARM_MUTEX 2 ART_CONFIG 1 AS 2 ASN 2 ASNEEDED 1 ASSUME_SHLIBS 1 ATA 1 ATM 1 AUTHORS 1 AUTOLOGIN 1 AUTOV 1 AUTO_LIBNAME_PKGS 1 AUTO_SYSLINUXCFG 1 AUTO_SYSLINUXMENU 1 AUX_OBJ 1 AV 1 AWKPOSTINSTSCRIPT 1 BASEDIR 1 BASEFILESISSUEINSTALL 1 BASEPKG_HOST_SYS 2 BASEPKG_TARGET_SYS 3 BASEPN 1 BASE_CONF 2 BASE_PACKAGE_ARCH 7 BASE_SRC_URI 3 BBCLASSEXTEND 117 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 BE 1 BINARY_LOCALE_ARCHES 1 BINCONFIG_GLOB 1 BINDIR 3 BINS 1 BINV 2 BJAM_EXTRA 1 BJAM_OPTS 1 BJAM_TOOLS 1 BLOCKS 2 BOOST_LIBS 1 BOOST_P 1 BOOTDD_EXTRA_SPACE 1 BOOTDD_VOLUME_ID 1 BOOTIMG_EXTRA_SPACE 1 BOOTIMG_VOLUME_ID 1 BOOTSTRAP 1 BP 4 BROKEN 1 BUGS 1 BUGTRACKER 114 BUG_ON 1 BUILD 2 BUILDCC 1 BUILDCFLAGS 1 BUILDING 1 BUILDNAME 3 BUILDSDK_CFLAGS 2 BUILDSDK_CPPFLAGS 2 BUILDSDK_LDFLAGS 2 BUILDSPEC 1 BUILD_AR 1 BUILD_ARCH 4 The name of the building architecture. E.g. i686. BUILD_CC 11 BUILD_CCLD 1 BUILD_CC_ARCH 2 FIXME BUILD_CFLAGS 7 BUILD_CXX 3 BUILD_CXXFLAGS 3 BUILD_IMAGES_FROM_FEEDS 2 BUILD_LD 1 BUILD_LDFLAGS 5 BUILD_OPT 1 BUILD_OS 3 BUILD_PREFIX 4 FIXME BUILD_RANLIB 1 BUILD_SHARED 1 BUILD_SYS 13 FIXME BUILD_VENDOR 2 FIXME BY 1 CACHE 1 The directory holding the cache of the metadata. CCACHE 6 CCDC 1 CCDV 1 CCFLAGS 1 CCLD 4 CC_FOR_BUILD 2 CD 1 CDT 1 CET 1 CFGL 1 CFLAGS_ 10 CFLAGS_FOR_BUILD 1 CGI 1 CHAT 1 CHECKCOMMAND_ 1 CHRPATH_BIN 1 CHRPATH_BIN_ 1 CHSRC 1 CLEANFILES 1 CLEANFUNCS 2 CMAKE_CXX_COMPILER 1 CMAKE_CXX_FLAGS 1 CMAKE_CXX_FLAGS_RELEASE 1 CMAKE_C_COMPILER 1 CMAKE_C_FLAGS 1 CMAKE_C_FLAGS_RELEASE 1 CMAKE_FIND_ROOT_PATH 1 CMAKE_FIND_ROOT_PATH_MODE_INCLUDE 1 CMAKE_FIND_ROOT_PATH_MODE_LIBRARY 1 CMAKE_FIND_ROOT_PATH_MODE_PROGRAM 1 CMAKE_MAJOR_VERSION 1 CMAKE_MODULE_PATH 1 CMAKE_SYSTEM_NAME 1 CMDLINE_ 1 CMDLINE_CONSOLE 1 CMX 1 COLORFX 1 COMBINED_FEATURES 1 COMMASPACE 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. COMPILE 1 CONFFILES 3 CONFFILES_ 13 CONFIG 2 CONFIGURATION 1 CONFIGUREOPTS 2 CONFIGURE_AC 1 CONFIGURE_ARGS 1 CONFIGURE_FLAGS 1 CONFIG_LOCALVERSION 1 CONFIG_MMC_BLOCK 1 CONFIG_MMC_OMAP_HS 1 CONFIG_MODULES 1 CONFIG_OMAP_LL_DEBUG_UART 1 CONFIG_OMAP_LL_DEBUG_UART_EXT 1 CONFIG_OUT 1 CONFLICTNAME 1 CONFLICTS 12 CONFLICTS_ 2 CONF_VERSION 1 CONTENT 2 CONTROL 1 COPTS 2 COPYRIGHT 8 CORE 5 CORYING 1 CPAN 4 CPAN_BUILD_DEPS 1 CPP 2 CPPFLAGS 13 CPPI 1 CR 1 CROSS 2 CROSS_COMPILE 7 CROSS_DIR 1 CSI 1 CSPI 1 CSS 1 CST 1 CT 1 CTAN 1 CURLGNUTLS 1 CURLGNUTLS_ 1 CURSES 1 CVE 2 CWAUTOMACROSPREFIX 1 CXX 6 CXXFLAGS 14 CXXFLAGS_ 1 DA 3 DATADIR 2 DATE 1 The date the build was started Ymd DAV 1 DB 4 DBUS 1 DBUS_SESSION_BUS_ADDRESS 1 DCMAKE_INSTALL_PREFIX 1 DCMAKE_INSTALL_SO_NO_EXE 1 DCMAKE_TOOLCHAIN_FILE 1 DCMAKE_VERBOSE_MAKEFILE 1 DDAEMON_UMASK 1 DEBIAN 1 DEBIANNAME_ 2 DEBIAN_MIRROR 12 DEBIAN_NAMES 6 DEBIAN_NOAUTONAME_ 3 DEBUG 2 DEBUG_LL 1 DEB_PACKAGE_INDEX_CLEAN 1 DEFAULT 1 DEFAULT_PREFERENCE_ 14 DENABLE_DNS 1 DEPCHAIN_POST 1 DEPCHAIN_PRE 1 DEPENDENCY_CHECK 1 DEPENDPATH 1 DEPENDS_ 30 DEPENDS_GETTEXT 4 DEPLOYDIR 4 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 DEPMOD 2 DER 1 DESCRIPTION_ 8 DESCRIPTON 6 DEVEL_PREFIX 1 DFACILITY 1 DHAVE_ANIMATION 1 DHAVE_STRERROR 1 DHAVE_WEAKSYMS 1 DHCP 1 DHOSTS_ACCESS 2 DHOSTS_ALLOW 1 DHOSTS_DENY 1 DIGIT 1 DINET 1 DISCLAIMER 1 DISPC_VID_FIR 1 DISPLAY 3 DISTRO_EXTRA_DEPENDS 1 DISTRO_SSH_DAEMON 1 DISTUTILS_BUILD_ARGS 1 DISTUTILS_INSTALL_ARGS 1 DISTUTILS_STAGE_ALL_ARGS 1 DISTUTILS_STAGE_HEADERS_ARGS 1 DKILL_IP_OPTIONS 1 DLIB 2 DLINK_SIZE 1 DM 1 DMA 1 DNDEBUG 1 DNETGROUP 1 DNS 2 DO 1 DOCS 1 DOLT 3 DONE 1 DOS 4 DOSRC 1 DPKG_ARCH 1 DPKG_ARCH_ 1 DPM 1 DPROCESS_OPTIONS 1 DPTC 1 DRI 6 DRPM_VENDOR_WINDRIVER 1 DSI 1 DSO 3 DSP 1 DSS 3 DSYS_ERRLIST_DEFINED 1 DUSE_GETDOMAIN 1 DVF 1 DVFS 1 DWITH_GNOME 1 DWITH_KDE 1 DWITH_MOZJS 1 DWITH_NM 1 DWITH_PERL 1 DWITH_PYTHON 1 DWITH_WEBKIT 1 D_FILE_OFFSET_BITS 1 D_GNU_SOURCE 7 D_REENTRANT 3 D__FILE_OFFSET_BITS 1 D__MIPSEB__ 1 D__MIPSEL__ 1 D__SOFTFP__ 1 ED 2 EDID 1 EDL 1 EDS 1 EDT 1 EET 1 EGLIBC_BRANCH 2 ELF 2 ELFF 1 END 2 ENGR 1 ENHANCED_IMAGE_FEATURES 1 ENOENT 1 EOF 4 EPL 1 ERR 2 ERROR 2 ERROR_NAMES 1 EST 1 ETCDIR 1 EVENTLOG 1 EVIE 1 EVM 1 EXCEPTION 2 EXCLUDE_FROM 1 EXCLUDE_FROM_SHLIBS 1 EXCLUDE_FROM_WORLD 10 EXIF 1 EXPAT 2 EXPATINCPATH 1 EXPATLIBPATH 1 EXPORT_FUNCTIONS 24 EXTENDPV 2 EXTERN 1 EXTERNAL_TOOLCHAIN 1 EXTRAOPKGCONFIG 1 EXTRAS 2 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_OEMAKE_NETGROUP_ 1 EXTRA_QMAKEVARS_POST 1 EXTRA_QMAKEVARS_PRE 1 EXTRA_RDEPENDS 1 EXTRA_RDEPENDS_ 1 EXTRA_SIPTAGS 1 FACILITY 1 FAIL 1 FAILURE 1 FAKEROOT 4 FAKEROOTENV 1 FAM 1 FAT 2 FATAL 1 FB 3 FC_GLYPHNAME 1 FC_LANG 1 FDL 3 FEAT 1 FEATURES 2 FEC 1 FEED_URIS 1 FF 1 FILEMANAGER 1 FILEMANAGER_ 1 FILERDEPENDSFLIST 1 FILERDEPENDSFLIST_ 1 FILERDEPENDS_ 1 FILERPROVIDESFLIST 1 FILERPROVIDESFLIST_ 1 FILERPROVIDES_ 1 FILESDIR 11 FILESEXTRAPATHS 1 FILESPATH 10 FILESPATHBASE 1 FILESPATHPKG 2 FILES_ 179 FILE_DIRNAME 11 FINISHED 1 FIR 1 FIXEDSRCDATE 1 FIXMESTAGINGDIR 1 FLAC 1 FLIST 1 FLIST_ 1 FONTREV 1 FREEDESKTOP_CVS 1 FSL 1 FTL 1 FULL_OPTIMIZATION_ 2 F_OK 1 GB 3 GBARR 2 GCONF_CONFIG_SOURCE 1 GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL 2 GCONV_PATH 1 GD 1 GDBPROPREFIX 1 GDK 3 GDK_PIXBUF_MODULEDIR 1 GDK_PIXBUF_QUERYLOADERS 1 GFDL 1 GIT_CONFIG 1 GIT_CORE_CONFIG 1 GIT_PROXY_COMMAND 1 GIT_PROXY_IGNORE 1 GL 9 GLEW 1 GLIBC_ADDONS 2 GLIBC_BROKEN_LOCALES 3 GLIBC_DEPENDENCIES 1 GLIBC_EXTRA_OECONF 2 GLIBC_GENERATE_LOCALES 1 GLIBC_INTERNAL_USE_BINARY_LOCALE 2 GLSL_CL 1 GMAE 2 GMP 1 GMT 2 GNOME_MIRROR 2 GNU_HASH 1 GO 3 GP 1 GPE_MIRROR 1 GPGME 2 GPIO 2 GPIO_POWERON 2 GPL_V 1 GPS 1 GR 1 GROFF_FONT_PATH 1 GROFF_TMAC_PATH 1 GRUB 1 GS 4 GSSDP 1 GTK_ 1 GUP 3 HACK 4 HAL_INFO_ 1 HANDHELDS_CVS 1 HASDOCBOOK 1 HCI 1 HDDDIR 2 HDDIMG 1 HEAD 2 HEADERS 2 HNP 1 HOME 2 HOST 1 HOSTPERL 1 HOSTPGEN 1 HOSTPYTHON 1 HOSTTOOLS_WHITELIST_ 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_DATA 1 HOST_LDFLAGS 1 HOST_LD_KERNEL_ARCH 2 HOST_LIBIDL_CFLAGS 1 HOST_LIBIDL_CONFIG 1 HOST_LIBIDL_LIBS 1 HOST_NONSYSV 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 HOTPLUG 1 HST 1 HTTP 5 IAPI 1 IBM 1 ICE 1 ICECC_CC 1 ICECC_CXX 1 ICECC_ENV_EXEC 1 ICECC_PATH 1 ICECC_USER_CLASS_BL 1 ICECC_USER_PACKAGE_BL 1 ICECC_VERSION 1 ID 4 IDL 1 IDN 2 IDNA 2 IETF 2 IFS 1 IGEP 1 II 1 IMAGE 1 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 IN 1 INCDIR 2 INCL 1 INCLUDEPATH 1 INCLUDES 2 INCOMPATIBLE_LICENSE 1 INC_PR 5 INFO 1 INHIBIT_AUTOTOOLS_DEPS 2 INHIBIT_AUTO_STAGE 1 INHIBIT_DEFAULT_DEPS 13 INIT 1 INITRD 2 INITSCRIPT_PARAMS_ 1 INIT_D_DIR 1 INSANE_SKIP_ 4 INSTALL 1 INSTALLED_PACKAGES 2 INSTALLROOT 3 INSTALL_DIR 1 INSTALL_HDR_PATH 2 INSTALL_INC 1 INSTALL_LIB 1 INSTALL_MAN 1 INSTALL_MOD_PATH 2 INSTALL_ROOT 2 INS_BASE 1 INTERFACES 1 INTERN 1 INVALID 3 IO 2 IOE 4 IOEINCDIR 1 IPC 2 IPKGCONF_SDK 3 IPKGCONF_TARGET 4 IPKG_ARGS 1 IPKG_HOST 2 IPKG_OFFLINE_ROOT 3 IPKG_TARGET 1 IPK_FEED_URIS 1 List of ipkg feed records to put into generated image. IPK_PACKAGE_INDEX_CLEAN 1 IPU 1 IROOT 1 IRQ 3 ISC 3 ISO 3 ISODIR 1 ISP 1 JFIF 1 JL 1 JPEG 2 JS_EDITLINE 1 KBRANCH 1 KDIR 1 KERNELDIR 1 KERNELORG_MIRROR 15 KERNEL_ALT_IMAGETYPE 1 KERNEL_AR 2 KERNEL_ARSUFFIX 1 KERNEL_CC 5 KERNEL_CCSUFFIX 2 KERNEL_CONSOLE 1 KERNEL_FEATURES 1 KERNEL_IMAGEDEST 1 KERNEL_IMAGE_BASE_NAME 2 KERNEL_IMAGE_MAXSIZE 1 KERNEL_IMAGE_SYMLINK_NAME 2 KERNEL_LD 4 KERNEL_LDSUFFIX 2 KERNEL_LOCALVERSION 1 KERNEL_MAJOR_VERSION 1 KERNEL_OBJECT_SUFFIX 1 KERNEL_OUTPUT 2 KERNEL_PATH 1 KERNEL_PRIORITY 1 KERNEL_RELEASE 1 KERNEL_REVISION_CHECKING 1 KERNEL_SOURCE 2 KERNEL_SRC 1 KERNEL_VERSION 6 KEXECTOOLS 1 KEXECTOOLS_ 1 KILL_OPT 1 KMACHINE 1 KMACHINE_ 1 KV 1 LABEL 1 LABELS 5 LAME 1 LAN 2 LAYER_CONF_VERSION 1 LCD 2 LCONF_VERSION 1 LCRYPT 1 LC_ALL 2 LDFLAGS 32 LDFLAGS_ 2 LD_ 1 LD_LIBRARY_PATH 3 LD_PRELOAD 1 LEAD_SONAME 12 LESSER 3 LGPL 117 LGPL_EXCEPTION 1 LGPV 1 LIB 25 LIBATA 1 LIBC 2 LIBC_DEPENDENCIES 1 LIBDIR 4 LIBNAMES 1 LIBRARY 1 LIBS 6 LIBTOOL 6 LIBV 3 LIB_DEPS 5 LICENCE 5 LICENSE_ 4 LICENSING 1 LIC_CHKSUM_FILES 2 LIC_FILE_CHKSUM 1 LINGUAS_INSTALL 4 LINKFILE 1 LINK_FOR_BUILD 1 LINUX_KERNEL_TYPE 1 LINUX_VERSION 1 LINUX_VERSION_EXTENSION 1 LOCAL 3 LOCALEDEF 1 LOCALE_GENERATION_WITH_CROSS 1 LOCALE_UTF 1 LOCALPATCH 1 LOCALSRC 1 LOELIBDIR 1 LOG_DAEMON 2 LOG_DIR 3 LOG_FILE 1 LOG_INFO 1 LOPTS 1 LR 1 LSB_VERSION 1 LSOF_INCLUDE 1 LSOF_OS 1 LSOF_OS_ 1 LTTDATE 1 LVDS 1 LZMA 1 MAC 1 MACHINE_ARCH 27 MACHINE_ESSENTIAL_EXTRA_RDEPENDS 2 MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS 2 MACHINE_POSTPROCESS_COMMAND 1 MAINTAINERS 2 MAJOR_KERNEL_VERSION 1 MAJOR_VERSION 1 MAJ_VER 2 MAKE 3 MAKEFLAGS 1 MAKE_ARCH 1 MAKE_OS 1 MAKE_TARGETS 2 MANIFEST 1 MANS 1 MARK 1 MATCH 1 MAX 1 MB 4 MBO 4 MC 1 MCW 1 MD 4 MDT 1 MET 1 METADATA_BRANCH 2 METADATA_REVISION 4 MFD 2 MIDI 1 MIME 1 MIRRORS 1 MIRRORS_ 1 MMC 3 MMU 1 MNCI 1 MNRT 1 MODULES 1 MOD_PV 1 MOZCONFIG 1 MOZ_OBJDIR 1 MP 2 MPC 1 MPEG 1 MPL 7 MS 2 MST 1 MULTIMACH_ARCH 3 MULTIMACH_HOST_SYS 2 MULTIMACH_TARGET_SYS 5 MUTEX 2 MUTEX_ 2 MUX 1 MX 2 MXC 1 MXC_DMA_ZONE_SIZE 1 NAK 1 NAND 1 NAPI 1 NATIVE_INSTALL_WORKS 1 NCMS 2 NEEDED 2 NET 2 NETGROUP 1 NETWORK_MANAGER 1 NEW 1 NEWS 1 NMEA 1 NO 2 NOISO 1 NONE 1 NOOPR 1 NORESULT 1 NOSWABBERUPDATE 1 NOT 1 NOTE 1 NOTES 2 NOW 1 NPATH 1 NPL 1 NSS 1 NZ 1 OBJ 1 OBJCOPY 2 OBJDUMP 2 ODBM_F 1 OECMAKE_BUILDPATH 1 OECMAKE_CXX_COMPILER 1 OECMAKE_CXX_FLAGS 1 OECMAKE_CXX_FLAGS_RELEASE 1 OECMAKE_C_COMPILER 1 OECMAKE_C_FLAGS 1 OECMAKE_C_FLAGS_RELEASE 1 OECMAKE_SITEFILE 1 OECMAKE_SOURCEPATH 1 OEDATADIR 1 OEDEBUG 1 OEEXECPREFIX 1 OEINCDIR 1 OELAYOUT_ABI 1 OELIBDIR 1 OEPREFIX 1 OEREV 1 OES_BITBAKE_CONF 1 OEV 1 OE_BINCONFIG_EXTRA_MANGLE 2 OE_QMAKE_AR 1 OE_QMAKE_CC 1 OE_QMAKE_CFLAGS 1 OE_QMAKE_CXX 1 OE_QMAKE_CXXFLAGS 1 OE_QMAKE_INCDIR_QT 1 OE_QMAKE_LDFLAGS 1 OE_QMAKE_LIBDIR_QT 1 OE_QMAKE_LIBS_QT 1 OE_QMAKE_LIBS_X 1 OE_QMAKE_LINK 1 OE_QMAKE_LRELEASE 1 OE_QMAKE_LUPDATE 1 OE_QMAKE_MOC 1 OE_QMAKE_PLATFORM 1 OE_QMAKE_QDBUSCPP 1 OE_QMAKE_QDBUSXML 1 OE_QMAKE_QMAKE 2 OE_QMAKE_RCC 1 OE_QMAKE_RPATH 1 OE_QMAKE_STRIP 1 OE_QMAKE_UIC 1 OE_REVISION 1 OFFLINE_ROOT 3 OFFSET 1 OHCI 2 OLD 1 OLDEST_KERNEL 2 OLD_BASE_PACKAGE_ARCH 2 OLD_MULTIMACH_ARCH 1 OLD_PACKAGE_ARCH 3 OM 2 OMAP 6 OMAPFB 1 OMAPZ 1 ONLY 1 OPENMOKO_MIRROR 2 OPENMOKO_RELEASE 2 OPKG 1 OPKGBUILDCMD 1 OPKG_INIT_POSITION 2 OPKG_INIT_POSITION_ 2 OPKG_OFFLINE_ROOT 3 OPKG_POSTPROCESS_COMMANDS 1 OPKG_PREPROCESS_COMMANDS 1 OPSYS 1 OPT 2 OPT_GNUTLS 1 ORIGIN 1 ORIG_DEPENDS 2 ORIG_RDEPENDS 1 OSE 12 OSL 3 OTG 1 OTGSC_IE_ 1 OUT 1 OUTSPECFILE 1 OV 1 OVERRIDES 13 OVERRIDES_ 2 OWL_ 1 PACKAGE 1 PACKAGEFUNCS 3 PACKAGELOCK 1 PACKAGES_ 6 PACKAGES_DYNAMIC 19 PACKAGES_TO_INSTALL 2 PACKAGE_ARCHS 10 PACKAGE_ARCH_ 9 PACKAGE_DEPENDS 2 PACKAGE_INSTALL 4 PACKAGE_INSTALL_ATTEMPTONLY 4 PACKAGE_NO_GCONV 1 PACKAGE_NO_LOCALE 1 PACKAGE_PREPROCESS_FUNCS 4 PAM 1 PARALELL_MAKE_ 1 PARALLEL_MAKE_ 1 PASS 1 PASTHRU_INC 1 PATA 1 PATA_FSL 1 PATCHCLEANCMD 1 PATCHCMD 1 PATCHDEPENDENCY 1 PATCHING 1 PATCHRESOLVE 1 PATCHTOOL 2 PATCH_DEPENDS 1 PATHFIXPATCH 1 PATHFIXPATCH_ 1 PATH_ 2 PAUSE 1 PCI_CONF_FLAG 1 PCMCIA_MANAGER 1 Specify which package(s) to install to handle PCMCIA slots (usually pcmcia-cs or pcmciautils). PCRE 1 PD 3 PDT 1 PERL 1 PERLCONFIGTARGET 1 PERLHOSTLIB 1 PERLLIBDIRS 2 PERL_ARCHLIB 1 PERL_INC 1 PERL_LIB 1 PF 3 Package name - Package version - Package revision (PN-PV-PR) PG 4 PIC 3 PID 4 PIE 1 PIPE 2 PKG 6 PKGD 7 PKGDATA_DIR 4 PKGDEST 8 PKGDESTWORK 1 PKGFN 4 PKGHIST_DIR 2 PKGWRITEDIRDEB 1 PKGWRITEDIRIPK 1 PKGWRITEDIRRPM 1 PKG_ 12 PKG_CONFIG 1 PKG_CONFIG_DIR 3 PKG_CONFIG_PATH 3 PKG_CONFIG_SYSROOT_DIR 5 PKG_DISTRIBUTECOMMAND 1 PKG_DISTRIBUTEDIR 1 PKG_DIST_LOCAL 1 PNG 1 POKY 1 POKY_BASE_INSTALL 4 POKY_CONF_VERSION 1 POKY_DISTRO_VERSION 1 POKY_NATIVE_SYSROOT 1 POKY_TARGET_SYSROOT 1 POSIX 3 POST 1 POSTIN 1 POSTINPROG 1 POTFILES 1 PRC 1 PREBUILT_CPUCFG 1 PREFERRED_PROVIDER_ 1 PREFIX 12 PREMIRRORS 1 PREMIRRORS_ 1 PREPROCESS_RELOCATE_DIRS 1 PRINC 1 PRINT 1 PRINTING 1 PRIORITY 73 Importance of package, default values are 'optional' or 'needed'. PRIVATE_LIBS 1 PROFILES 1 PROMPT 1 PROTO_DEPS 7 PROVIDES 50 Names for additional build time dependencies that this package will provide. @group dependencies PROVIDES_ 5 PRV 1 PR_ 1 PS 1 PSEUDO_RELOADED 1 PSF 1 PST 1 PSTAGING_ACTIVE 1 PSTAGING_DISABLED 1 PVM 1 PWD 2 PXA 2 PYTHONPATH 1 PYTHON_BASEVERSION 1 PYTHON_DIR 3 PYTHON_MAJMIN 1 QA 1 QA_LOGFILE 1 QEMUARCH 1 QEMUIMAGETESTS 1 QEMUTARGET 1 QEMU_OPTIONS 1 QEMU_OPTIONS_ 1 QMAKESPEC 2 QMAKE_MKSPEC_PATH 1 QMAKE_PROFILES 1 QMAKE_VARSUBST_POST 1 QMAKE_VARSUBST_PRE 1 QPL 1 QTDEMOS 1 QTDEMOS_ 1 QT_CONFIG_FLAGS 1 QUILTRCFILE 1 QUILT_PATCHES 1 RADIUS 1 RAID 1 RANLIB 2 RCONFLICTS_ 6 REAL_DAEMON_DIR 1 RECIPE_COMMENTS 1 RECIPE_INTEL_SECTION 1 RECIPE_LATEST_RELEASE_DATE 1 RECIPE_LATEST_VERSION 1 RECIPE_MAINTAINER 1 RECIPE_NO_UPDATE_REASON 1 RECIPE_STATUS 1 RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES 1 RECOMMENDS 1 RELEASE 1 REPORTSTAMP 1 RFC 2 RMWORK_ORIG_TASK 1 ROC 1 ROK 1 ROM 1 ROOT 7 ROOTFS 8 ROOTFSBLOCKS 1 ROOTFS_PKGMANAGE 5 ROOTFS_PKGMANAGE_BOOTSTRAP 3 ROOTFS_POSTINSTALL_COMMAND 2 ROOTFS_POSTPROCESS_COMMAND 7 ROOTFS_SIZE 1 ROOT_ 5 RPATH 2 RPC 2 RPMBUILD 2 RPMBUILDPATH 1 RPMDEPS 1 RPMOPTS 1 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 RPROVIDES_ 17 RPSRC 3 RRECOMMENDS_ 21 RREPLACES_ 4 RSUGGESTS 4 RSZ 1 RTC 1 RUNNING 1 RUNTIME 1 RUNTIME_ 3 RUNTIME_PREFIX 1 RX 2 R_OK 8 SA 1 SANITY_ABIFILE 1 SATA 1 SATO_IMAGE_FEATURES 4 SCCS 1 SCENEFUNCS 2 SCHEMA 1 SCHEMA_FILES 1 SCHEMA_LOCATION 1 SCONF_VERSION 1 SCRIPT 1 SCSI 1 SD 2 SDC 1 SDI 1 SDIO 1 SDKMACHINE 2 SDKPATH 3 SDKPATHNATIVE 6 SDKTARGETSYSROOT 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 SDL 1 SDMA 1 SDP 1 SECTION_ 1 SEL 1 SEVERITY 1 SGX 1 SH 1 SHA 1 SHARED 1 SHAREDIR 1 SHELL 1 SHLIBSDIR 3 SHLIBSWORKDIR 1 SIGNATURE 1 SIGPIPE 1 SIG_DFL 1 SIM 2 SIPTAGS 1 SIP_FEATURES 1 SIP_MODULES 1 SITE 1 SITECONFIG_SYSROOTCACHE 2 SITE_CONF_VERSION 1 SIZE 2 SKIP 1 SKIPPING 1 SM 1 SMTP 1 SOLIBS 8 SOLIBSDEV 5 SONAME 2 SOURCEFORGE_MIRROR 37 SOURCES 2 SOURCE_MIRROR_FETCH 1 Switch marking build as source fetcher. Used to skip COMPATIBLE_* checking. SPECFILE 1 SPECS 1 SPI 1 SPLASH 1 SRC 3 SRCDATE_ 2 SRCNAME 5 SRCPV 40 SRCREV_ 1 SRCREV_FORMAT 2 SRC_DISTRIBUTECOMMAND 2 SRC_DISTRIBUTEDIR 2 SRC_DIST_LOCAL 1 SRC_URI_ 43 SREC_CMD 1 SREC_SKIP 1 SREC_VMAADDR 1 SRPMFILE 1 SSDP 1 SSTATETASKS 7 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 STAGE_TEMP 1 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 STAGING_SIPDIR 1 STAMP 3 The directory that holds files to keep track of what was built. STARTING 1 STOP 2 STRING 1 STRIP 5 STRIPPROG 1 STYLE 1 ST_MODE 3 SU 1 SUBDIR 2 SUBDIRS 1 SUCC 1 SUCCESS 1 SUPPORTED 2 SVG 1 SVGA 1 SVNREV 1 SWABBER_LOGS 1 SWABBER_REPORT 1 SWAB_ORIG_TASK 1 SWLINUX 1 SYSLINUXCFG 3 SYSLINUXMENU 3 SYSLINUX_OPTS 1 SYSLINUX_TIMEOUT 1 SYSROOT_DESTDIR 12 SYSROOT_LOCK 1 SYSROOT_PREPROCESS_FUNCS 8 SYSTEMHEADERS 2 SYSTEMLIBS 2 SYSV 1 SYSVINIT_ENABLED_GETTYS 1 Specify which VTs should be running a getty, the default is 1 SYS_INCLUDES 1 S_IEXEC 2 S_IREAD 1 S_IRWXU 1 S_ISDIR 1 S_ISLNK 1 S_ISREG 1 S_IWRITE 1 TABLES 1 TARGET 2 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_OS_ORIG 1 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 TEMPLATE 2 TERMWINDOWTITLE 2 TEST_DIR 1 TEST_LOG 1 TEST_RESULT 1 TEST_SCEN 1 TEST_TMP 1 TIFF 1 TIMEOUT 2 TINDERBOX 1 TINDER_AUTOBUILD 1 TINDER_BRANCH 1 TINDER_CLOBBER 1 TINDER_HOST 1 TINDER_LOG 1 TINDER_MACHINE 1 TINDER_REPORT 1 TINDER_TREE 1 TINDER_URL 1 TKSRC 2 TLI 1 TMAKEPATH 1 TMAKE_CONFIG 1 TMAKE_DEPENDPATH 1 TMAKE_DESTDIR 1 TMAKE_HEADERS 1 TMAKE_INCLUDEPATH 1 TMAKE_INTERFACES 1 TMAKE_LIBS 1 TMAKE_PROFILES 1 TMAKE_SOURCES 1 TMAKE_TARGET 1 TMAKE_TEMPLATE 1 TMIO 2 TMP 1 TMP_LOCALE 1 TO 1 TOBUILD 1 TODO 1 TOOLCHAIN_HOST_TASK 2 TOOLCHAIN_OPTIONS 3 TOOLCHAIN_OUTPUTNAME 3 TOOLCHAIN_TARGET_SDKTASK 1 TOOLCHAIN_TARGET_TASK 2 TOP 2 TOPDIR 3 TOTALSIZE 1 TRACE_LOGDIR 1 TRACE_LOGFILE 1 TTF 1 TWL 2 TX 1 TXCSR 1 TXDMA 1 TXT 3 TZ 1 TZONES 1 UBOOT_ARCH 1 UBOOT_ENTRYPOINT 1 UBOOT_LOADADDRESS 1 UBOOT_MACHINE_ 1 UCLIBC_BASE 1 UCS 1 UCT 1 UDC 2 UDEV_EXTRAS 1 UE 1 UMASK 1 UNDEFINED 1 UNIX 3 UP 2 UPDATE 1 URB 1 URI 2 US 2 USAGE 1 USBCV 1 USBH 1 USERPTR 1 USE_DEVFS 1 USE_NLS 2 USE_NLS_ 1 USE_VT 1 UST 1 UTC 2 VERSION 3 VFS 1 VIDIOC_QUERYMENU 1 VIRTUAL 3 VIRTUAL_NAME 2 VIRTUAL_NAME_ 1 VM 1 VMW 1 VNC 1 VOLTAGE_ 2 VPATH 1 VPU 1 VP_CLK_RATIO 1 VR 1 VRAM 1 VRFB 1 VSYSLOG 1 VUSB 1 WARNING 2 WEB 1 WEB_ 1 WET 1 WHITELIST_ 1 WITH_ENCA 1 WM 2 W_OK 2 XAUTHORITY 1 XC 1 XCB 1 XCFLAGS 1 XDG 1 XF 3 XFCE_VERSION 1 XI 1 XIG 1 XINC 1 XIP 1 XK 1 XKB 1 XLDFLAGS 2 XLIB 1 XLIBS_CVS 1 XML 3 XORG_MIRROR 1 XORG_PN 33 XSERVER 1 XSETTINGS 1 XSLT 1 XSUB 1 XT 2 XT_CFLAGS 1 XV 1 X_OK 1 YES 1 YUV 1 ZAURUS_UPDATER_VERSION 1 ZIP 1 ZLIB 2 ZY 2 _A 2 _ARM 1 _BCM 1 _BD 2 _C 1 _CID_AUTO_WHITE_BALAN 1 _CONFIG 2 _CONSOLE_SERIAL_PORT 1 _CR 1 _DATA 1 _ER 2 _ET 2 _HEADERS 2 _IMAGE_FEATURES 2 _IN 2 _K 1 _L 1 _LIST 1 _LTLIBRARIES 1 _M 1 _MANS 1 _MN 2 _MTN 1 _O 3 _OLPC 1 _ONLY 1 _OPT 1 _P 1 _PROG_INTLTOOL 1 _SCRIPTS 1 _SENDMAIL 1 _T 1 _TEXINFOS 1 _TIMEOUT 1 _TIMER 1 _TO 1 _TR 2 _USE_SYSTEM_EXTENSIONS 1 _WAP_ 1 _WHITELIST_ 1 _WPASUPPLICANT 1 _Y 1 __ 26 __RUNQUEUE_DO_NOT_USE_EXTERNALLY 1 -- Darren Hart Yocto Linux Kernel [-- Attachment #2: bbvars.py --] [-- Type: text/x-python, Size: 5818 bytes --] #!/usr/bin/env python # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # Copyright (C) Darren Hart <dvhart@linux.intel.com>, 2010 import sys import getopt import os import os.path import re def usage(): print 'Usage: %s -d FILENAME [-d FILENAME]* -m METADIR [-m MATADIR]*' % os.path.basename(sys.argv[0]) print ' -d FILENAME documentation file to search' print ' -h, --help display this help and exit' print ' -m METADIR meta directory to search for recipes' print ' -t FILENAME documentation config file (for doc tags)' print ' -T Only display variables with doc tags (requires -t)' def recipe_bbvars(recipe): ''' Return a unique set of every bbvar encountered in the recipe ''' prog = re.compile("[A-Z_]+") vset = set() try: r = open(recipe) except IOError as (errno, strerror): print 'WARNING: Failed to open recipe ', recipe print strerror for line in r: # Strip any comments from the line line = line.rsplit('#')[0] vset = vset.union(set(prog.findall(line))) r.close() bbvars = {} for v in vset: bbvars[v] = 1 return bbvars def collect_bbvars(metadir): ''' Walk the metadir and collect the bbvars from each recipe found ''' bbvars = {} for root,dirs,files in os.walk(metadir): for name in files: if name.find(".bb") >= 0: for key in recipe_bbvars(os.path.join(root,name)).iterkeys(): if bbvars.has_key(key): bbvars[key] = bbvars[key] + 1 else: bbvars[key] = 1 return bbvars def bbvar_is_documented(var, docfiles): prog = re.compile(".*($|[^A-Z_])%s([^A-Z_]|$)" % (var)) for doc in docfiles: try: f = open(doc) except IOError as (errno, strerror): print 'WARNING: Failed to open doc ', doc print strerror for line in f: if prog.match(line): return True f.close() return False def bbvar_doctag(var, docconf): prog = re.compile('^%s\[doc\] *= *"(.*)"' % (var)) if docconf == "": return "?" try: f = open(docconf) except IOError as (errno, strerror): return strerror for line in f: m = prog.search(line) if m: return m.group(1) f.close() return "" def main(): docfiles = [] metadirs = [] bbvars = {} undocumented = [] docconf = "" onlydoctags = False # Collect and validate input try: opts, args = getopt.getopt(sys.argv[1:], "d:hm:t:T", ["help"]) except getopt.GetoptError, err: print '%s' % str(err) usage() sys.exit(2) for o, a in opts: if o in ('-h', '--help'): usage() sys.exit(0) elif o == '-d': if os.path.isfile(a): docfiles.append(a) else: print 'ERROR: documentation file %s is not a regular file' % (a) sys.exit(3) elif o == '-m': if os.path.isdir(a): metadirs.append(a) else: print 'ERROR: meta directory %s is not a directory' % (a) sys.exit(4) elif o == "-t": if os.path.isfile(a): docconf = a elif o == "-T": onlydoctags = True else: assert False, "unhandled option" if len(docfiles) == 0: print 'ERROR: no docfile specified' usage() sys.exit(5) if len(metadirs) == 0: print 'ERROR: no metadir specified' usage() sys.exit(6) if onlydoctags and docconf == "": print 'ERROR: no docconf specified' usage() sys.exit(7) # Collect all the variable names from the recipes in the metadirs for m in metadirs: for key,cnt in collect_bbvars(m).iteritems(): if bbvars.has_key(key): bbvars[key] = bbvars[key] + cnt else: bbvars[key] = cnt # Check each var for documentation varlen = 0 for v in bbvars.iterkeys(): if len(v) > varlen: varlen = len(v) if not bbvar_is_documented(v, docfiles): undocumented.append(v) undocumented.sort() varlen = varlen + 1 # Report all undocumented variables print 'Found %d undocumented bb variables (out of %d):' % (len(undocumented), len(bbvars)) header = '%s%s%s' % (str("VARIABLE").ljust(varlen), str("COUNT").ljust(6), str("DOCTAG").ljust(7)) print header print str("").ljust(len(header), '=') for v in undocumented: doctag = bbvar_doctag(v, docconf) if not onlydoctags or not doctag == "": print '%s%s%s' % (v.ljust(varlen), str(bbvars[v]).ljust(6), doctag) if __name__ == "__main__": main() ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: RFC: Undocumented Recipe Variables Script 2010-12-08 1:27 ` Darren Hart @ 2010-12-09 13:53 ` Richard Purdie 2010-12-10 19:10 ` Darren Hart 0 siblings, 1 reply; 6+ messages in thread From: Richard Purdie @ 2010-12-09 13:53 UTC (permalink / raw) To: Darren Hart; +Cc: poky@yoctoproject.org 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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: RFC: Undocumented Recipe Variables Script 2010-12-09 13:53 ` Richard Purdie @ 2010-12-10 19:10 ` Darren Hart 0 siblings, 0 replies; 6+ messages in thread From: Darren Hart @ 2010-12-10 19:10 UTC (permalink / raw) To: Richard Purdie; +Cc: poky@yoctoproject.org On 12/09/2010 05:53 AM, Richard Purdie wrote: > 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_. The trailing _ probably indicates something like PACKAGES_append or similar, where the character after the _ was not [A-Z_]. I should probably drop those or allow for [a-z] as well. > 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 None of the above appear in bitbake/doc/manual/usermanual.xml, but I will include this file as a -d doc in future runs of the script. > > I'd like to know what is setting this as we shouldn't using BROKEN IMO: > BROKEN 1 meta/recipes-multimedia/alsa/alsa-tools_1.0.20.bb:BROKEN > 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 Patches forthcoming. > > These variables are dead iirc and shouldn't be referenced anywhere: > NATIVE_INSTALL_WORKS 1 > PSTAGING_ACTIVE 1 > PSTAGING_DISABLED 1 Opened BUG http://bugzilla.pokylinux.org/show_bug.cgi?id=582 (And looks like I need to include .inc files in my recipes list too) > I also wondered about these: > LIC_CHKSUM_FILES 2 > LIC_FILE_CHKSUM 1 Patches forthcoming > these are ones I'd like to see documented with a higher priority: Great, thanks for the review Richard. Scott, how do you want these tracked? Perhaps you could create a handful of bugs, one for each block of variables. High use count, already with doc tags, BUILD_*, IMAGE_*... something along those lines? > > 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 > > > > > -- Darren Hart Yocto Linux Kernel ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-12-10 19:10 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-12-07 22:12 RFC: Undocumented Recipe Variables Script Darren Hart 2010-12-07 22:38 ` Richard Purdie 2010-12-07 22:57 ` Darren Hart 2010-12-08 1:27 ` Darren Hart 2010-12-09 13:53 ` Richard Purdie 2010-12-10 19:10 ` Darren Hart
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.