Difference between revisions of "User:Ronan"

From Openembedded.org
Jump to: navigation, search
(2007 - 2008 : Nao)
(De-spam (again!))
 
(45 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 ==
  
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