changelog
来自「this is the pkg installer for linux」· 代码 · 共 1,421 行 · 第 1/5 页
TXT
1,421 行
* pkg.c (pkg_get_installed_files): Fixed to not do strange things to filenames such as: "//./bin/sh" * ipkg_cmd.c (ipkg_files_cmd): Added pkg_free_installed_files to conserve a bit of memory. (ipkg_search_cmd): Updated to use pkg_get_installed rather than mucking around inside /usr/lib/ipkg and globbing for *.list files. * pkg.c (pkg_free_installed_files): Added this function to free up memory from pkg_get_installed_files. * ipkg_conf.c (ipkg_conf_set_option): Added force_reinstall option to allow reinstallation of an installed package. * args.c (args_parse): Added -force-reinstall option to enable reinstallation of an installed package. * busybox-0.60.2/ar.c (ar_main): Updated unarchive call to track prototype change. * busybox-0.60.2/libbb/unarchive.c (free_header_ar): Added function to plug memory leak. * ipkg_install.c (check_data_file_clashes): Fixed crash if no package can be found owning the pre-existing file. * pkg_dest.c (pkg_dest_deinit): Fixed bug that pkg_dest was holding on to freed data rather than making a local copy. * pkg_depends.c (freeDepends): Fixed crash when pkg->depends is NULL. * RELEASE_NOTES: Added release notes for 0.98.0 and 0.99.0. * busybox-0.60.2/libbb/unarchive.c (extract_archive): Fixed bug. Always alloc memory for full_name so we don't free data that we shouldn't. (unarchive): Updated to accept a free_headers function pointer as a counterpart to get_headers, to eliminate memory leaks. (free_header_tar): Implemented cleanup function as counterpart to get_header_tar, to eliminate memory leaks. (deb_extract): Added several calls to free_header_tar to eliminate memory leaks. * str_util.c (str_dup_safe): Added convenience function. Like strdup, but safe to use on a NULL pointer. * pkg_vec.c (pkg_vec_insert): Updated to use new pkg.c:pkg_merge rather than marry_two_packages. With this change the free(pkg) is now here rather than one level deeper. Eventually, I want to get this free(pkg) up and out of pkg_hash_insert. * pkg_parse.c (parseDependsString): Fixed bug walking off the end of the raw buffer looking for a character that isspace(). (parseConffiles): Fixed big bug parsing Conffiles field where all conffiles appear on the same line. * pkg_hash.c (pkg_hash_add_from_file): Plugged memory leak of data allocated deep down in read_raw_pkgs_from_file. * pkg_depends.c (pkg_hash_fetch_unsatisfied_dependencies): Plugged memory leak, (missing pkg_vec_deinit). (freeDepends): Added this function as the counterpart to buildDepends. Getting closer to chasing down all memory leaks. (depend_deinit): Added this function as the counterpart to depend_init. Getting closer to chasing down all memory leaks. (parseDepends): plugged memory leak of pkg_name. * pkg.c (pkg_deinit): Added pkg_deinit to take care of freeing any memory owned by a pkg_t. (pkg_init_from_file): This function was 100% broken, (missing rewind). (pkg_merge): Moved pkg_merge here from pkg_vec.c:marry_two_packages. Started work to make it non-destructive, (not finished). (pkg_print_info): Added Status and Essential fields to pkg_print_info. (pkg_print_status): Fixed pkg_print_status to work whether or not the package is installed. * ipkg_utils.c (read_raw_pkgs_from_file): Moved fclose out of read_raw_pkgs_from_stream and into this function where it belongs, (since the fopen occurs here). (trim_alloc): Fixed trim to not free data passed in. Changed the name to make it obvious that it is allocating memory. * ipkg_install.c (ipkg_install_from_file): Fixed to be more robust to the fact that hash_insert_pkg sometimes frees the data that I pass into it (!). (satisfy_dependencies_for): Cosmetic change to messages. (satisfy_dependencies_for): Now sets the dest on to-be-installed packages, so that the state_want flag can be written to a status file if necessary. (satisfy_dependencies_for): Added pkg_vec_deinit to plug memory leak. (ipkg_install_pkg): Added "run ipkg update?" hint to error message. (backup_modified_conffiles): Made more robust to the case that a conffile has disappeared. (install_maintainer_scripts): Fixed bug that was installing maintainer scripts as libFoopostinst rather than libFoo.postinst. This was preventing postinst scripts from being executed. (cleanup_temporary_files): Added missing closedir to plug a memory leak. * ipkg_download.c (ipkg_download): Cosmetic change to error messages. * ipkg_conf.c (ipkg_conf_parse_file): Plugged some small memory leaks. (ipkg_conf_set_option): Changed configuration options from force-depends, force-defaults to force_depdends, force_defaults to be compatible with old ipkg.conf files. (ipkg_conf_set_option): Fixed bug in parsing options. (ipkg_conf_write_status_files): Fixed to list all interesting packages, (any with non-default state), in status file rather than just installed files. (ipkg_conf_write_status_files): Plugged a memory leak. * ipkg_cmd.c (ipkg_status_cmd): Changed "ipkg status" to use pkg_print_info so it is much more verbose, (includes fields such as Maintainer, etc. that are merged in from the lists files). * ipkg.h (IPKG_DEBUG_NO_TMP_CLEANUP): Added compile-time option to preserve temporary files for easier debugging. * file_util.c (file_md5sum_alloc): cosmetic changes to variable names. * ipkg_conf.c (ipkg_conf_init): Added support for offline_root configuration file option. * args.c (args_init): Added support for -o, -offline, -offline-root command-line arguments. (Although they don't really have any effect yet). * ipkg_install.c (ipkg_install_pkg): Changed back to marking package as installed before postinst, (the pkg_run_script wanted to find the scripts in /usr/lib/ipkg/info). Actually, it could probably find the script in either place at this point so maybe it doesn't really matter.2002-03-07 Carl Worth <cworth@east.isi.edu> * ipkg_install.c (ipkg_install_pkg): Changed to only mark package as installed after running ipkg_configure, (to run the postinst script). * RELEASED ipkg-unstable 0.99.0 * Updated all instances of "XXX" in the code to indicate one of the following categories: XXX: BUG: This is a bug that needs to be fixed. XXX: QUESTION: Implementation approach is uncertain here. XXX: CLEANUP: Suggestion on how the code could be cleaned up. XXX: FEATURE: Comment describes a useful feature request. * pkg.c (pkg_print_status): Added the Depends field to package paragraphs in the status file, ("ipkg remove" will need this). * ipkg_install.c (satisfy_dependencies_for): Fixed "ipkg install" to not complain several times about "Package foo already installed" when doing large recursive installs. (ipkg_install_pkg): "ipkg install foo" for an installed package will now check and install any missing dependencies before exiting with "Package foo is alrady installed."2002-03-06 Carl Worth <cworth@east.isi.edu> * pkg_dest.c (pkg_dest_pkg_owning_file_alloc): Moved this function here from ipkg_install.c. Also plugged a memory leak in it with globfree. * pkg.c (pkg_remove_installed_files_list): Fixed bug that prevented package.list file from ever being removed during "ipkg remove". * ipkg_remove.c (remove_data_files_and_list): Fixed noisy and spurious warnings about non-empty directories. "ipkg remove" should now only say anything if a directory that was solely provided by that package is non-empty. * ipkg_cmd.c (ipkg_install_pending_cmd): Plugged memory leak with globfree. * ipkg_install.c: *Many* fixes to enable "ipkg upgrade" to more or less work. Primarily fixing file clash identification and conffile handling/resolution. "ipkg upgrade" has now worked correctly on several test cases! * ipkg_install.c (unpack_pkg_control_files): Now initializes conffiles list from the contents of conffiles control file, (leaves md5sum calculation until the actual conffiles are extracted later). (ipkg_install_pkg): Separated backup_modified_conffiles and check_data_file_clashes into separate functions. (preinst_configure): Simplified this function pushing its old logic into pkg.c:pkg_run_script. (backup_modified_conffiles): Added backup of any conffiles that are new as of this upgrade. (check_data_file_clashes): First real implementation of check_data_file_clashes. (resolve_conffiles): First real implementation of resolve_conffiles. (backup_make_backup): Added this and a few other functions to abstract backup creation/removal. (find_pkg_owning_file): Added this function. * pkg_extract.c (pkg_extract_data_files_to_dir): Fixed args to deb_extract so that existing files will be overwritten, (and any other error messages will no longer be suppressed). * pkg.c (pkg_print_status): Added Conffiles field to pkg_print_status. (pkg_print_field): Fixed crash when printing NULL Conffiles values. (pkg_get_conffile): Fixed crash if pkg_get_conffile called with a NULL pkg. (pkg_run_script): Made pkg_run_script smart enough to run scripts for uninstalled packages, (from <pkg_tmp_unpack_dir>/<script_name>), as well as for isntalled packages, (from <dest_info_dir>/<pkg_name>.<script_name> * str_util.c (str_tolower): Added convenience function. (str_toupper): Added convenience function. * nv_pair.c (nv_pair_init): Fixed crash from calling nv_pair_init with NULL value. * pkg.c (pkg_init_from_file): Fixed bug -- forgot to close file. * file_util.c (file_md5sum_alloc): Convenience wrapper around md5_stream as ripped out of busybox. This function takes care of file open/close and does the bin2hex conversion of the md5sum. * conffile.c (conffile_has_been_modified): Implemented this function for real now that we have md5sum capability. * md5.c (md5_stream): Sucked in md5sum calculation code from busybox, (it wasn't part of libbb, so I just copied the files straight in and ripped out uninteresting functions such as md5sum_main, etc.)2002-03-05 Carl Worth <cworth@east.isi.edu> * pkg.c (pkg_print_field): Added support for printing Conffiles field. * ipkg_install.c (remove_obsolesced_files): With the fixed pkg_get_installed_files_list from below, this function now seems to work! (ipkg_install_pkg): Fixed to mark old package as uninstalled after upgrading. * pkg.c (pkg_get_installed_files_list): Fixed so that it's possible to get an "installed_files" list even from an uninstalled package, (it pulls the list of data files straight out of the package). * ipkg_cmd.c (ipkg_upgrade_cmd): Fixed ipkg_upgrade to not choke if asked to upgrade an un-installed package. (ipkg_upgrade_pkg): Fixed printing of version numbers. * file_util.c (file_mkdir_hier): Abstracted call to libbb make_directory into new file_mkdir_hier. At this point, the only calls into libbb are isolated in file_util and pkg_extract. This will make it easier if we ever decide to directly incorporate that code or rewrite it. * pkg_extract.c (pkg_extract_data_files_to_dir): Abstracted all calls to deb_extract in several new pkg_extract functions.2002-03-04 Carl Worth <cworth@east.isi.edu> * ipkg_conf.c (ipkg_conf_init): Added support to ipkg_conf to pickup command-line arguments for "force-defaults" and "force-depends". Things set on the command-line should take precedence over things found in the configuration file. * ipkg_cmd.c (ipkg_search_cmd): F
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?