User:Ronan: Difference between revisions

From Openembedded.org
Jump to navigation Jump to search
(De-spam (again!))
 
(44 intermediate revisions by 12 users not shown)
Line 1: Line 1:
I'm more a [http://en.wikipedia.org/wiki/Software_architect 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 =
= OpenEmbedded Experience =


Line 15: Line 18:
= Wishlist =
= Wishlist =


== buzilla integration ==
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
* http://opensource.bolloretelecom.eu/projects/oestats/wiki/oestats
* should we use logging python module ?
 
== bugzilla integration ==


  if ( OE_WARN_BUG == 1 )
  if ( OE_WARN_BUG == 1 )
Line 22: 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


== lsof integration ==
== reduce image size method ==


Reduce image size using remote lsof session on target to check useless files and/or packages comparing with $ROOTFS and eventually try them by size.
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 = "ssh 192.168.0.1"
  REMOTE_METHODE = "tty /dev/USBtty1"
  REMOTE_METHODE = "tty /dev/USBtty1"
  bitbake -lsof-session mycustom-image.bb
  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 ==
== report tool ==


print beautiful documentation on the distro/packages/whatever.
print beautiful documentation on the distro/packages/whatever.
keywords : baobab ...
* template design
* baobab ...
 
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 ==
 
mkelf-linux kernel-image [ramdiskimage]
keywords : initramdisk
 
== some QA ideas ==
 
=== fuzzing our softwares ===
 
opkg, bitbake etc
 
* using [http://fusil.hachoir.org fusil] ( fuzzing report ) ,
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
 
=== 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
 
* 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 =
 
* Industrial applications ( automation , robotic ) see http://objects.reprap.org/wiki/User:Ronan
* [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

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