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