All of lore.kernel.org
 help / color / mirror / Atom feed
From: Darren Hart <dvhart@linux.intel.com>
To: Richard Purdie <rpurdie@linux.intel.com>
Cc: "poky@yoctoproject.org" <poky@yoctoproject.org>
Subject: Re: RFC: Undocumented Recipe Variables Script
Date: Fri, 10 Dec 2010 11:10:15 -0800	[thread overview]
Message-ID: <4D027B17.9040705@linux.intel.com> (raw)
In-Reply-To: <1291902796.1554.864.camel@rex>

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


      reply	other threads:[~2010-12-10 19:10 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D027B17.9040705@linux.intel.com \
    --to=dvhart@linux.intel.com \
    --cc=poky@yoctoproject.org \
    --cc=rpurdie@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.