[Soc-coordination] debian-images-generator report for July 9, 2006

Carlos Parra Camargo cparra at emergya.info
Sun Jul 9 18:50:15 UTC 2006


  This the 7th report of debian-images-generator project.

  Things that have been keeping me busy this week:

* Complete tasks support. I have been working with debian-cd/tasks and
  the component is including the list pretty well.
* Added control over unknown packages, for this purpose, it has been
  added a variable "Force". If this variable isn't set to True and 
  there is unknown packages, debian-images-generator will stop.
* Important implemented methods:
  - MediaSet.add_task(self, task):
        Add the task passed as argument to the current set of images.
        This method retrieve the info about the task, decide if we can
        continue with unknown packages and it add all valid packages
        using MediaSet.add_package
  - MediaSet.add_package(self, package):
        Add the package passed as argument in the first MediaElement
        that has enough space. If there is no space left on the
        MediaElement's that the MediaSet has, append a new MediaElement.
  - MediaElement.add_package(self, package_name, package_info):
        It delegates on his PackagesTree object.
  - PackagesTree.add_package(self, package_name, package_info):
        Add the package in the main dictionary of the object and
        update the attributes.
* It's very expensive for the memory when a package listed in a task
  is not a package name but it's a package provided for other package
  because we have to look in every entry of the dictionary to check
  if is listed in the 'Provides' field. For example, when a package
  is not in the dictionary and is not at the 'Provides' field of the
  packages, it has to look in all the dictionary!
  To avoid this problem, there is a list: PackagesTree.provides that
  keeps up to date a list with all the provides packages that are in
  the dictionary, it just a list of strings not a dictionary with extra
  info but with this list we can check faster if a package is provided
  by some package in the dictionary.
  For these purposes there are two methods:
  - PackagesTree.__add_provided_packages__(self, package):
        Add the provided packages of package into PackagesTree.provides
  - PackagesTree.__remove_provided_packages__(self, package):
        Remove the provided packages of PackagesTree.provides
  Note: The idea is to work like i-node's works, if there is 0 goings-on
        of the package x in PackagesTree.provides it means that there is
        no package who provide the package x. if there is 1 goings-on
        of the package y in PackagesTree.provides it means that one
        package provide the package y, if there is 2 goings-on ....
* Added more exceptions to control specific errors
* Added a TODO file. Steve, feel free to add anything ;)
* The current code at subversion loads the Debian_etch task and
  generate 12 logic (just in memory) images:

   Number of elements:  12
   =======================
   Piece  1
   ========
   Size: 629.999469757 MB
   Number of packages: 445
   Piece  2
   ========
   Size: 629.999715805 MB
   Number of packages: 994
   Piece  3
   ========
   Size: 629.999614716 MB
   Number of packages: 959
   Piece  4
   ========
   Size: 629.999670029 MB
   Number of packages: 1053
   Piece  5
   ========
   Size: 629.999994278 MB
   Number of packages: 837
   Piece  6
   ========
   Size: 629.999322891 MB
   Number of packages: 1007
   Piece  7
   ========
   Size: 629.999362946 MB
   Number of packages: 944
   Piece  8
   ========
   Size: 629.999979019 MB
   Number of packages: 1309
   Piece  9
   ========
   Size: 629.999498367 MB
   Number of packages: 1134
   Piece  10
   ========
   Size: 629.999866486 MB
   Number of packages: 1293
   Piece  11
   ========
   Size: 629.999485016 MB
   Number of packages: 1374
   Piece  12
   ========
   Size: 144.366920471 MB
   Number of packages: 618

Best,
  cpc
-- 
Emergya, Soluciones Tecnológicas
Tel. +34 954 98 10 53 FAX +34 954 98 11 79
Avda. Luis Montoto, 105
E41007 Sevilla
cparra at emergya.info
http://www.emergya.info



More information about the Soc-coordination mailing list