User:Ronan: Difference between revisions

From Openembedded.org
Jump to navigation Jump to search
(De-spam (again!))
 
(33 intermediate revisions by 11 users not shown)
Line 20: Line 20:
This section is my wiki for idea i'd like to work to improve my openembedded  
This section is my wiki for idea i'd like to work to improve my openembedded  
Some are perhaps really bad ideas ( not enough searsh ), or already exists , let me know.
Some are perhaps really bad ideas ( not enough searsh ), or already exists , let me know.
== better logs reports ==
i missed important error compiling lost of software
* http://opensource.bolloretelecom.eu/projects/oestats/wiki/oestats
* should we use logging python module ?


== bugzilla integration ==
== bugzilla integration ==
Line 28: Line 34:
  bitbake -bugz mozilla  
  bitbake -bugz mozilla  


cf http://code.google.com/p/pybugz/source/browse/trunk/README?r=28
cf :
* seppuku.bbclass
* http://code.google.com/p/pybugz/source/browse/trunk/README?r=28


== reduce image size method ==
== reduce image size method ==
Line 42: Line 50:
i should also try some code inspector ( to check code duplication etc to advise programmer where place could be saved ).
i should also try some code inspector ( to check code duplication etc to advise programmer where place could be saved ).
Some Steiner stuff on fusil could be useful.
Some Steiner stuff on fusil could be useful.
* /usr/include , /usr/share/, /usr/src ... .debug directory should be tested first.


== report tool ==
== report tool ==
Line 49: Line 59:
* baobab ...
* baobab ...


[http://www.reportlab.org/rl_toolkit.html reportlab]
perharps [http://www.reportlab.org/rl_toolkit.html reportlab] APPS for oestats. Look http://docs.djangoproject.com/en/dev/howto/outputting-pdf/ ( example works pretty well).


== netboot images ==
== netboot images ==
Line 62: Line 72:
opkg, bitbake etc
opkg, bitbake etc


* using fusil [http://fusil.hachoir.org fusil] ( fuzzing report ) ,
* using [http://fusil.hachoir.org fusil] ( fuzzing report ) ,
i made the recipe see [http://bugs.openembedded.net/show_bug.cgi?id=4495 bug 4495]
i made the recipe see [http://bugs.openembedded.net/show_bug.cgi?id=4495 bug 4495]
look success story at http://fusil.hachoir.org/trac/wiki/CrashList
look success story at http://fusil.hachoir.org/trac/wiki/CrashList
Line 68: Line 78:
=== more documentation ===
=== more documentation ===


bbclass documentation ( how - as a policy )
==== bitbake documentation ====
=> provide documentations about how to make better code in bitbake
I started bitbake developer documentation here : [[Bitbake]]
=> pydoc , doctest , unittest , pyunit , pylint...
TODO :
byte compiling bbclass ?
http://lists.idyll.org/listinfo/testing-in-python
categories for /classes : qa,pkg,build,doc,...


test quality of a recipe :
* provide documentations about how to make better code in bitbake
SRC_URI tarball contains no P/PV/PN => dangerous
* pydoc , doctest , unittest , pyunit , pylint...
example "${NONFREE_MIRRORS}/oki/OKI_fse.tar.gz"
* byte compiling bbclass , what is done by cache ?
* http://lists.idyll.org/listinfo/testing-in-python
* categories for /classes : qa,pkg,build,doc,...
 
==== bbclass documentation ====
 
* should this features be implemented as a bbclass or in bitbake core library ?
* authors and contact in bbclass ! some of its need to be rewrite due to changes in python => 2.4 , we should detects them
and add to a TODO-featuring tracker.
* force to provide documentation as a policy
 
=== test quality of a recipe ===
 
* (all ?) field well filled
* SRC_URI tarball contains no P/PV/PN => dangerous
* no SRCREV fixed , PV = "x.y.z+svnr${SRCREV}" :
perharps allow in a pending branch and auto-apply in the stable one.
http://projects.linuxtogo.org/pipermail/openembedded-devel/2007-July/002639.html
* are SRC_URI fetchable ? we can fix it automagically changing SRC_URI for our MIRROR
* initscript without INITSCRIPT mecanism ( we need , for each new mecanism, write a recipe test and documentation )
* do_install with cp cmd instead of install
* warns on RPROVIDES
* recipe modification without upgrade the PR


cf : http://handhelds.org/~zecke/bitbake-qa-0.1.tar.bz2
cf : http://handhelds.org/~zecke/bitbake-qa-0.1.tar.bz2
Line 85: Line 114:
== OpenEmbedded showcase ==
== OpenEmbedded showcase ==


some demonstration of OE ( video , screenshots ... ).
We should promote OE projects (not only fic & o-hand.com stuffs)


== target web interface ==
== target web interface ==
Line 95: Line 124:
* start a new one from scratch ? ( pylons based for example ).
* start a new one from scratch ? ( pylons based for example ).


== delivry/release class ==
== delivery/release class ==


Produice a report on a delivry.
Produce a report on a delivery.
Tool that give good report are often appricated ( there is something to show ).
Tool that give good report are often appreciated ( there is something to show ).
Managers/custumers/developers can keep useful and pretty trace of the project.
Managers/customers/developers can keep useful and pretty traces of their projects.


* log/tag revision of each versioned tree ( that are not in distro/src-revs ) ( mtn status / svn info / -> rev-history , delivry-info )
* log/tag revision of each versioned tree ( that are not in distro/src-revs ) ( mtn status / svn info / -> rev-history , delivery-info )
* show software update
* show software update
* show infos on bugs ( closed/news etc ) as a changelog
* show infos on bugs ( closed/news etc ) as a changelog
* show stats about image and packets ( boabab etc )
* show stats about image and packets ( boabab etc )
* show copyrights , licences ...
* show copyrights , licenses ...


== emulator/qemu tasks ==
== emulator/qemu tasks ==
Line 130: Line 159:


using script ( crazy ) or common variables ( completely crazy ).
using script ( crazy ) or common variables ( completely crazy ).
== use git facilities ==
=== locate bug when upgrading oe ===
something like :
git bisect start
git bisect bad
ops = rec_ops(BB_CMD)
if [ $? -eq 0 ]
  git bisect bad
  undo_ops(ops)
else
  git bisect good
fi
* if bug is a non-version fixed package , fix version and continue
* make a report
* cf http://www.miximum.fr/methodes-et-outils/79-debusquer-une-regression-avec-git-bisect ( fr )
== IDE integration ==
http://community.buglabs.net/kgilmer/posts/3-OpenEmbedded-Tools-for-Eclipse


= Centers of interest related to openembedded =
= Centers of interest related to openembedded =


* Industrial applications ( automation , robotic )
* Industrial applications ( automation , robotic ) see http://objects.reprap.org/wiki/User:Ronan
* [[Quality Assurance]]
* [http://www.gnome.org/press/releases/gmae.html Gnome Mobile]
* [http://www.gnome.org/press/releases/gmae.html Gnome Mobile]
* [http://www.rushessay.com/prices.php buy essay]


http://zecke.blogspot.com/2006/10/softwareengineering-and-qa-for-free.html http://projects.linuxtogo.org/pipermail/openembedded-devel/2006-September/000323.html
http://zecke.blogspot.com/2006/10/softwareengineering-and-qa-for-free.html http://projects.linuxtogo.org/pipermail/openembedded-devel/2006-September/000323.html

Latest revision as of 16:27, 7 May 2014

I'm more a Software architect. Sometimes it's hard to explain what you should do in the enterprise. I work on improve this state of thing.

OpenEmbedded Experience

2006 - 2007 : Paper-book project

Prototype for paper-book

2007 - 2008 : Nao

Soon some information about it.

Wishlist

This section is my wiki for idea i'd like to work to improve my openembedded Some are perhaps really bad ideas ( not enough searsh ), or already exists , let me know.

better logs reports

i missed important error compiling lost of software

bugzilla integration

if ( OE_WARN_BUG == 1 )
 checkbug(${PN})
bitbake -bugz mozilla 

cf :

reduce image size method

Reduce image size using remote lsof session on target to check useless files , packages ( blame useless dependency ) ... diff with $ROOTFS and eventually try them by size.

#REMOTE_METHODE = "ssh 192.168.0.1"
REMOTE_METHODE = "tty /dev/USBtty1"
bitbake -lsof-session mycustom-image.bb

http://www.ibm.com/developerworks/linux/library/l-inotify.html

i should also try some code inspector ( to check code duplication etc to advise programmer where place could be saved ). Some Steiner stuff on fusil could be useful.

  • /usr/include , /usr/share/, /usr/src ... .debug directory should be tested first.

report tool

print beautiful documentation on the distro/packages/whatever.

  • template design
  • baobab ...

perharps reportlab APPS for oestats. Look http://docs.djangoproject.com/en/dev/howto/outputting-pdf/ ( example works pretty well).

netboot images

mkelf-linux kernel-image [ramdiskimage] keywords : initramdisk

some QA ideas

fuzzing our softwares

opkg, bitbake etc

  • using fusil ( fuzzing report ) ,

i made the recipe see bug 4495 look success story at http://fusil.hachoir.org/trac/wiki/CrashList

more documentation

bitbake documentation

I started bitbake developer documentation here : Bitbake TODO :

  • provide documentations about how to make better code in bitbake
  • pydoc , doctest , unittest , pyunit , pylint...
  • byte compiling bbclass , what is done by cache ?
  • http://lists.idyll.org/listinfo/testing-in-python
  • categories for /classes : qa,pkg,build,doc,...

bbclass documentation

  • should this features be implemented as a bbclass or in bitbake core library ?
  • authors and contact in bbclass ! some of its need to be rewrite due to changes in python => 2.4 , we should detects them

and add to a TODO-featuring tracker.

  • force to provide documentation as a policy

test quality of a recipe

  • (all ?) field well filled
  • SRC_URI tarball contains no P/PV/PN => dangerous
  • no SRCREV fixed , PV = "x.y.z+svnr${SRCREV}" :

perharps allow in a pending branch and auto-apply in the stable one. http://projects.linuxtogo.org/pipermail/openembedded-devel/2007-July/002639.html

  • are SRC_URI fetchable ? we can fix it automagically changing SRC_URI for our MIRROR
  • initscript without INITSCRIPT mecanism ( we need , for each new mecanism, write a recipe test and documentation )
  • do_install with cp cmd instead of install
  • warns on RPROVIDES
  • recipe modification without upgrade the PR

cf : http://handhelds.org/~zecke/bitbake-qa-0.1.tar.bz2

common & easy script encapsulation

OpenEmbedded showcase

We should promote OE projects (not only fic & o-hand.com stuffs)

target web interface

  • port Webif to OE

my bug report on this : WIP

  • libopkg client support ( via http://packagekit.org/ ? )
  • start a new one from scratch ? ( pylons based for example ).

delivery/release class

Produce a report on a delivery. Tool that give good report are often appreciated ( there is something to show ). Managers/customers/developers can keep useful and pretty traces of their projects.

  • log/tag revision of each versioned tree ( that are not in distro/src-revs ) ( mtn status / svn info / -> rev-history , delivery-info )
  • show software update
  • show infos on bugs ( closed/news etc ) as a changelog
  • show stats about image and packets ( boabab etc )
  • show copyrights , licenses ...

emulator/qemu tasks

some tasks that could be used for tests and debug.

  • image is bootable ? ( ca be call in testsuite of task that build the img )
  • test first boot
  • upgrade not failed ? ( print the guilty )
  • broken linkage ? ( can be call in testsuite of sanity.bbclass )

provides some methods

  • build image
  • launch with adapted parameter according to a qemu-machine conf
  • NFS etc

see poky anjuta plugin and poky qemu scripts.

coreboot integration

  • some recipes for utils
  • use openembedded instead of buildrom ( yes another build system :/ )

Gentoo ebuild compatibility

using script ( crazy ) or common variables ( completely crazy ).

use git facilities

locate bug when upgrading oe

something like :

git bisect start
git bisect bad
ops = rec_ops(BB_CMD)
if [ $? -eq 0 ]
 git bisect bad
 undo_ops(ops)
else 
 git bisect good
fi

IDE integration

http://community.buglabs.net/kgilmer/posts/3-OpenEmbedded-Tools-for-Eclipse

Centers of interest related to openembedded

http://zecke.blogspot.com/2006/10/softwareengineering-and-qa-for-free.html http://projects.linuxtogo.org/pipermail/openembedded-devel/2006-September/000323.html