[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

libdebian-installer - introduced changes



renamed structures with changes:
- struct package_t -> di_package
- struct package_dependency -> di_package_dependency
  one dependency without support for groups or versions
- struct language_description -> di_package_description
  DEPREACATED
  support for translated fields in the packages file is dropped
- struct version_t -> di_package_version
- struct linkedlist_t -> di_slist, di_list*
  di_slist: single linked list
  di_list: double linked list
- struct list_node -> di_slist_node, di_list_node*

new structures:
- di_packages
- di_packages_allocator
  hold the internal allocation stuff for di_packages
- di_system_package
  di_package with extensions
- di_release
- di_release_file
- di_hash_table
  simple hash table, used for fast lookup in di_packages and the parsers
- di_mem_chunk
  simple chunk allocator, used to reduce number of allocations done by the
  parsers
- di_rstring
  raw string (pointer and size). mostly used to avoid copying before matching
  against a hash

renamed functions with backward compatiblity symbols:
- di_mapdevfs ->
  di_system_devfs_map_from (const char *path, char *ret, size_t len)
  reason: match the naming schema
- di_prebaseconfig_append ->
  di_system_prebaseconfig_append

functions with changes prototypes:
- di_logf -> di_log (di_log_level_flags log_level, const char *format, ...)
  reason: add the log level for different handling of differen log entries
- di_pkg_parse ->
  di_packages *di_packages_read_file (const char *file, di_packages_allocator *)#
- di_status_read
  di_packages *di_packages_status_read_file (const char *file, di_packages_allocator *)#
- di_pkg_toposort_arr, di_pkg_toposort_list ->
  di_slist *di_packages_resolve_dependencies (di_packages *, di_slist *,
  di_packages_allocator *)

new functions:
- di_exec (const char *path, const char *const argv[])#
  di_exec_full (const char *path, const char *const argv[], di_io_handler
    *stdout_handler, di_io_handler *stderr_handler, void *io_user_data, di_handler
    *prepare_handler, void *prepare_user_data)
  functions similar to execv which always intercepts stdout/stderr of the
  called process
  return value is as described in waitpid(2)
- di_exec_shell (const char *const cmd)#
  di_exec_shell_full (const char *const cmd, di_io_handler *stdout_handler,
    di_io_handler *stderr_handler, void *io_user_data, di_handler
    *prepare_handler, void *prepare_user_data)
  functions similar to system which always intercepts stdout/stderr of the
  called process
  return value is as described in waitpid(2)
- di_exec_log (const char *path, const char *const argv[])*
  di_exec_shell_log (const char *const cmd)
  like di_exec(_shell)? but explicitely defines a logging io handler
- di_packages_alloc ()
  di_packages_allocator_alloc ()
  di_system_packages_allocator_alloc ()
  di_package_alloc (di_packages_allocator *)
  di_package_dependency_alloc (di_packages_allocator *)
  di_package_description_alloc (di_packages_allocator *)
  DEPREACATED

removed_function:
- di_stristr
- di_pkg_resolve_deps
  done while parsing
- di_check_dir
  only used by kbd-chooser for subarch detection stuff which needs to be
  done in a more general way anyway
- di_execlog
- di_pkg_is_virtual, di_pkg_is_installed
  obseleted by using a hash and make this info available in each struct

symbols which are prefixed with * may not be available in the release.
symbols which are prefixed with # are defined inline.

bastian

-- 
Spock: The odds of surviving another attack are 13562190123 to 1, Captain.

Attachment: signature.asc
Description: Digital signature


Reply to: