Bug 4931

Summary: More documentation for individual bbclasses
Product: [Documentation] Reference Reporter: Laszlo Papp <lpapp>
Component: handbookAssignee: Scott Rifenbark <srifenbark>
Status: VERIFIED FIXED QA Contact: Bogdan Alexandru Voiculescu <bogdanx.a.voiculescu>
Severity: normal    
Priority: Medium CC: bluelightning, bogdanx.a.voiculescu, poky.doc.watcher, poky.watcher, ross.burton, sgw, srifenbark
Version: unspecified   
Target Milestone: Future   
Hardware: x86   
OS: Multiple   
Whiteboard: 11 March 2014 - RESOLVED
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Done (doc changes complete)

Description Laszlo Papp 2013-07-28 07:58:59 UTC
cmake is for instance high-priority as it is a widely used software.

.. but then there are other things, like qmake, et cetera.
Comment 1 Laszlo Papp 2013-07-28 16:35:47 UTC
find /usr/local/arm-2009q1/ -name rfkill.h -> nothing.

find /usr/local/arm-2013.05/ -name rfkill.h ->
/usr/local/arm-2013.05/arm-none-linux-gnueabi/libc/usr/include/linux/rfkill.h

So, it is not a surprise. This is with busybox 1.21. The older version (1.19) worked just fine from denzil.

It would be nice to work this around in the Yocto project.
Comment 3 Laszlo Papp 2013-07-28 21:13:34 UTC
Oops, disregard my last two comments. They went into the wrong bugreport!
Comment 4 Scott Rifenbark 2013-07-29 05:49:11 UTC
I will need direction on these changes.  Adding Paul and Saul to the bug list.  Please provide me with some information:

* what specific classes do we want to add to this chapter?  The bug's filing comment indicates cmake, qmake as examples.  Are there others?

* Once we determine which classes to include, base information from which I can work to create additional sections. 

Thanks, 
Scott
Comment 5 Laszlo Papp 2013-07-29 05:51:08 UTC
The best would be to document all.
Comment 6 Scott Rifenbark 2013-07-29 05:55:24 UTC
Laszlo, 

Can you list those or point me to some spot that lists them?  I don't know what the list of classes would be.

Scott
Comment 7 Laszlo Papp 2013-07-29 05:59:44 UTC
You can read the documentation which are documented now, and then you can take a look at the bbclassses for comparison...
Comment 8 Ross Burton 2013-08-01 13:17:25 UTC
The list of classes will have to be curated by a developer as some of the classes are deprecated or internal.  CC'ing me and Paul, whoever gets around to producing a filtered list first wins a cookie.
Comment 9 Paul Eggleton 2013-08-01 13:30:10 UTC
FYI there is a list of missing classes as a comment in the documentation source; I've been at least keeping that up-to-date as much as possible in preparation for us having time to properly document them.

For the undocumented classes Scott needs some direction and preferably raw material. Also, there is already bug 1467 open that relates to this.
Comment 10 Scott Rifenbark 2013-08-13 12:31:02 UTC
Accepted bug.

I will work with Paul Eggleton to chip away at the list of undocumented classes.  

Scott
Comment 11 Laszlo Papp 2013-08-13 12:35:30 UTC
Should I open a separate bugreport for a guide to writing .class files? It is not entirely clear to me how they are written ...
Comment 12 Scott Rifenbark 2013-09-17 22:03:40 UTC
Hi, 

I am moving this to the the next release (future).  I do not have time to adequately address it for the 1.5 release. 

Thanks, 
Scott
Comment 13 Scott Rifenbark 2013-10-31 19:48:40 UTC
Here is the current list of undocumented classes as comments in the dev-manual.  What could we reasonably target for 1.6?

<!-- Undocumented classes are:
        allarch.bbclass
        archive*.bbclass
        binconfig.bbclass
        bin_package.bbclass
        blacklist.bbclass
        bootimg.bbclass
        boot-directdisk.bbclass
        bugzilla.bbclass
        buildhistory.bbclass
        buildstats.bbclass
        ccache.bbclass
        chrpath.bbclass
        clutter.bbclass
        cmake.bbclass
        cml1.bbclass
        copyleft_compliance.bbclass
        core-image.bbclass
        cross.bbclass
        cross-canadian.bbclass
        crosssdk.bbclass
        deploy.bbclass
        distrodata.bbclass
        distro_features_check.bbclass
        dummy.bbclass
        extrausers.bbclass
        fontcache.bbclass
        gconf.bbclass
        gettext.bbclass
        gnomebase.bbclass
        gnome.bbclass
        grub-efi.bbclass
        gsettings.bbclass
        gtk-doc.bbclass
        gtk-icon-cache.bbclass
        gtk-immodules-cache.bbclass
        gzipnative.bbclass
        icecc.bbclass
        image-empty.bbclass
        image-live.bbclass
        image-vmdk.bbclass
        image-mklibs.bbclass
        image-prelink.bbclass
        image-swab.bbclass
        image_types.bbclass
        image_types_uboot.bbclass
        insserv.bbclass
        kernel-arch.bbclass
        kernel-module-split.bbclass
        kernel-yocto.bbclass
        lib_package.bbclass
        linux-kernel-base.bbclass
        license.bbclass
        logging.bbclass
        meta.bbclass
        metadata_scm.bbclass
        migrate_localcount.bbclass
        mime.bbclass
        mirrors.bbclass
        multilib*.bbclass
        native.bbclass
        nativesdk.bbclass
        oelint.bbclass
        own-mirrors.bbclass
        packagedata.bbclass
        packageinfo.bbclass
        patch.bbclass
        perlnative.bbclass
        pixbufcache.bbclass
        pkg_distribute.bbclass
        pkg_metainfo.bbclass
        populate_sdk*.bbclass
        prexport.bbclass
        primport.bbclass
        prserv.bbclass
        ptest.bbclass
        python-dir.bbclass
        pythonnative.bbclass
        qemu.bbclass
        qmake*.bbclass
        qt4*.bbclass
        recipe_sanity.bbclass
        relocatable.bbclass
        scons.bbclass
        sdl.bbclass
        setuptools.bbclass
        sip.bbclass
        siteconfig.bbclass
        sourcepkg.bbclass
        spdx.bbclass
        sstate.bbclass
        staging.bbclass
        syslinux.bbclass
        systemd.bbclass
        terminal.bbclass
        tinderclient.bbclass
        toolchain-scripts.bbclass
        typecheck.bbclass
        uboot-config.bbclass
        utility-tasks.bbclass
        utils.bbclass
        vala.bbclass
        waf.bbclass
-->
Comment 14 Laszlo Papp 2013-11-01 11:02:55 UTC
I do not know how much time the paid employees have. There are some important in my opinion, like:

1) cmake
2) qmake
3) systemd
4) sstate
5) gnome
6) patch
7) siteconfig

etc.
Comment 15 Paul Eggleton 2013-11-13 19:01:58 UTC
I've just started a thread with the beginnings of the raw material for this on the yocto mailing list:

https://lists.yoctoproject.org/pipermail/yocto/2013-November/019415.html
Comment 16 Laszlo Papp 2013-11-13 19:04:15 UTC
Thanks for the initiative.
Comment 17 Scott Rifenbark 2013-11-18 18:22:11 UTC
I have the mail from Paul and will begin updating these as I have time.  Changing state to IN PROGRESS DESIGN.

Scott
Comment 18 Scott Rifenbark 2013-12-23 20:35:46 UTC
I have completed the first complete cut on these and have gone through some iterations with Paul Eggleton for review.  I am putting the bug into REVIEW status for general review now.  

You can view the complete *.bbclass reference documentation at http://wwww.yoctoproject.org/docs/1.6/ref-manual/ref-manual.html#ref-classes.

Scott
Comment 19 Scott Rifenbark 2014-03-11 20:11:47 UTC
Hi, 

I am marking this bug as RESOLVED and the doc flag as "Done".  We have had the classes in for quite some time now with no comments back.  So I think they have settled out now.

Thanks, 
Scott
Comment 20 Bogdan Alexandru Voiculescu 2015-09-15 09:25:01 UTC
Documentation added http://www.yoctoproject.org/docs/1.8/ref-manual/ref-manual.html#ref-classes

still missing: 

image-empty.bbclass
dummy.bbclass
image-empty.bbclass
migrate_localcount.bbclass
pkg_distribute.bbclass
pkg_metainfo.bbclass
recipe_sanity.bbclass
sourcepkg.bbclass


Openning 8298 for remaining classes.