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.
signature.asc
Description: Digital signature