2007-06-30  Claudio Fontana  <claudio@gnu.org>

	version 2.4: moved to GPLv3 (all notices updated)

	* COPYING: upgraded GPL version.

2006-04-27  Claudio Fontana  <claudio@gnu.org>

	* srcexport.c: fix missing final 0 in call to variable args func.
	  Reported and fixed by Kaz Sasayama.
	
2006-12-21  Claudio Fontana  <claudio@gnu.org>

	* preferences.h: fixed SRCINST_PREFERENCES_NKEYS wrong value 7->8.
	
2006-11-01  Claudio Fontana  <claudio@gnu.org>

	version 2.3 released.
	
2006-10-02  Claudio Fontana  <claudio@gnu.org>

	* srccfgopt.c: modified struct _cfg_keywords to contain compiled
	  patterns, and added uncategorized options to the instance.

	* srccfgopt.c: new explicit pattern defines for SRC_SKIP_PATTERN and
	  SRC_CONT_PATTERN.

	* srccfgopt.c (_action_detect_configure_opt): restructured configure
	  option parsing code, adding support for unrecognized options and
	  moving most of the work to new helper static functions.

	* srccfgopt.c (_detect_option_element): new function.
	* srccfgopt.c (_init_sections): new function.
	* srccfgopt.c (_fini_sections): new function.
	* srccfgopt.c (_search_section_keyword): new function.
	* srccfgopt.c (_search_configure_options): new function.
	
	* srccfgopt.c (_action_free_configure_opt): changed to also free
	  unrecognized options set (res1).

2006-08-26  Claudio Fontana  <claudio@gnu.org>

	* mf_features.c (_detect_features_from_make): temporarily
	  disable error logging too, since error on make -q is expected.  

2006-08-26  Claudio Fontana  <claudio@gnu.org>
	
	* srccfgopt.c (_add_base_configure_options): add --prefix
	  to the directory options. Was previously commented out.

2006-08-19  Claudio Fontana  <claudio@gnu.org>
	* srcinst.c (srcinst_close_package): reset onclose to NOP
	  after closing a package. It should not be really needed,
	  since it is set to NOP again on opening, but it is done
	  nonetheless for clarity.
	
2006-08-08  Claudio Fontana  <claudio@gnu.org>

	* actions.c (_action_upgrade): remove useless change in
	  old package onclose state (which is never checked).

	* srcinst.c (srcinst_close_package): unlink the "upgrading from"
	  package file.

2006-08-05  Claudio Fontana  <claudio@gnu.org>

	version 2.2 released.

2006-08-04  Claudio Fontana  <claudio@gnu.org>

	* mf_features.c (_detect_makefile_features): restructured.
	  Now calls _detect_features_from_make (new), and
	  _detect_features_from_makefiles (the old functionality).

	* mf_features.c (_test_makefile_features): restored and
	  restructured. Used only when GNU Make is not available, as fallback.

	* mf_features.c (_detect_features_from_make): new function.
	* mf_features.c (_detect_features_from_makefiles): new function.
	  It contains the old functionality once provided by
	 _test_makefile_features_rec.

2006-08-02  Claudio Fontana  <claudio@gnu.org>

	* mf_features.c (_detect_makefile_features): improved
	  feature detection dramatically, by using standard (posix)
	  make -q -p to detect supported variables.

	* mf_features.c (_mf_callback_expect_pattern): new callback
	  function to detect makefile features from spawned make process.

	* mf_features.c (_new_makefile_features): new function.
	  Allocates and initializes makefile features.
	
	* mf_features.c (_init_makefile_features): removed function.
	* mf_features.h: likewise.
	
	* mf_features.c (_test_makefile_features): removed function.
	* mf_features.h: likewise.

	* mf_features.c (_test_makefile_features_rec): removed function.
	* mf_features.h: likewise.

	* srcspawn.c (srcinst_spawn): fix segfault.

2006-08-01  Claudio Fontana  <claudio@gnu.org>

	* actions.c (_make_test_install): add support for prefix
	  redirection as discouraged last fallback if DESTDIR and
	  INSTALL_ROOT are not supported.

	* mf_features.c (_init_makefile_features): add new
	  makefile feature info for "prefix".

	* srcinst/srcinst.h: add SRCINST_FEATURE_PREFIX to the
	  makefile features enumeration.
	
	* string_list.c (srcinst_prefix_string_list): new function.
	  Prefixes all elements with the passed string argument.
	* srcinst/string_list.h: likewise.
	
	* actions.c (_make_install): minor variable name changes.
	
	* configure.ac: fix install-info test to always use
	  ${PRG_install_info} instead of directly using install-info.

2006-07-30  Claudio Fontana  <claudio@gnu.org>

	* configure.ac: test ginstall-info before install-info 
	  for Ubuntu systems

2006-07-15  Claudio Fontana  <claudio@gnu.org>

	* string_list.c: add commented srcinst_search_string_list function
	* srcinst/string_list.h: add comment explaining how to search a
	  string list. The srcinst_search_string_list interface is still
	  commented, as it is unclear whether it is needed at all.

	* actions.c (_internal_uninstall): consider directory dependencies
	  too. Before we had a bug when removing a package containing an
	  empty directory also claimed by another package: the directory
	  was removed. Should be ok now.

	* actions.c (_action_get_conflict_list): use existing
	  _is_info_dir function instead of hand-checking whether
	  the filename ends with /info/dir .

2006-07-15  Claudio Fontana  <claudio@gnu.org>
	
	* string_list.c (srcinst_sort_string_list): new function
	* srcinst/string_list.h (srcinst_sort_string_list): add prototype

	* actions.c (_internal_uninstall): use new srcinst_sort_string_list,
	  instead of directly calling srcinst_qsort.
	
	* actions.c (_make_test_install): sort installed files information,
	  where before the information was kept unsorted.
	  It generally helps to find files in exported list, or from the
	  gtk interface.

2006-07-10  Claudio Fontana  <claudio@gnu.org>

	* actions.c (_action_fini_build): check _clear_builddirs retvalue.
	
	* actions.c (_action_upgrade): rewrote according to new design
	  for the upgrade action. The function is now called on package 
	  close automatically.
	
	* srcerror.c (_error_strings): tweaked the error strings again.
	* srcerror.c (srcinst_error): print the error category between <>.
	* srcerror.c (srcinst_warning): likewise.

	* srcerror.c (srcinst_error_string): new trivial accessor function
	  for _error_strings.
	* srcinst/srcerror.h (srcinst_error_string): likewise

	* srcinst.c (srcinst_upgrade_package): rewrote according to new
	  design for the upgrade action. The function is now used in a way
	  similar to srcinst_new_package and behaves identically.
	  On package close, internally, the old package is removed in favour
	  of the new installed one.
	  Should also fix savannah bug #16765 .
	
	* srcinst/srcinst.h: document srcinst_upgrade_package usage.

	* srcinst.c (srcinst_close_package): check return value of 
	  _action_fini_build, and clear the build directories in every case.
	  If the package being closed has been successfully installed,
	  and an upgrade is internally in progress, perform _action_upgrade
	  and free the old package.

	* package_info.h: added upgrading_from member to struct _package_info.

2006-06-15  Claudio Fontana  <claudio@gnu.org>

	* actions.c (_is_info_dir): new static linkage function
	* actions.c (_is_info_file): another
	* actions.c (_install_info_add): another
	* actions.c (_install_info_remove): another
	* actions.c (_strip_dirfile): use _is_info_dir() instead of inline
	  code to check whether a file is an info database.
	* actions.c (_internal_uninstall): use _is_info_dir(), _is_info_file()
	  and _install_info_remove instead of convoluted code to deal with
	  info database update.
	* actions.c (_action_upgrade): use _is_info_file() and
	 _install_info_add() to update the info database.

2006-06-08  Claudio Fontana  <claudio@gnu.org>

	* actions.c (_action_install_source): divide source size by 1024
	  before filling up the source size field.

	* actions.c (_make_test_install): remove unportable -b option from
	  du invocation, and use -k instead.
	
2006-05-17  Claudio Fontana  <claudio@gnu.org>

	* srcerror.c: _error_strings has been updated

2006-04-29  Claudio Fontana <claudio@gnu.org>

	* 2.1 release
	* Changed default KEEP_SOURCE value (now off)

2006-04-09  Claudio Fontana <claudio@gnu.org>

	* actions.c::_check_build_ready(): changed return value to SRCINST_ERR
	  in order to be able to return different error conditions.

	* actions.c: update _check_build_ready() usage.
	* srccfgopt.c: likewise.

	* package_list.c::_load_package_list(): pass parameter (char*)0
	  instead of "*" to srcinst_glob_string_list() to speed up package
	  list build.

	* srcinst.c::srcinst_init(): do not clear build directories before
	  locking user, or currently running instances will see the build
	  removed under their nose!
	  Instead of _clear_builddirs(), call srcinst_check_dirs() to
	  ensure the directories existance without deleting them.
	  Add a call to clear_builddirs() only after user locking.

	* srcexport.c: add support for specifying "-" as filename to
	  export to standard output. Does not apply to binary export.

	* srcexport.c: changed the implementation of many helper functions
	  to accept a FILE* instead of a char*, thus removing code
	  duplication about fopen ... fclose.
	
2006-03-17  Claudio Fontana <claudio@gnu.org>

	* actions.c: implemented automatic 'info/dir' handling (RCE)
	* actions.c: installed file conflict resolution (RCE)

2006-03-01  Claudio Fontana <claudio@gnu.org>

	* doc/libsrcinst.3: small fixes
	* srcinst.c::srcinst_set_descr_long(): fix wrong return value.
	* actions.c: add "-f" to all PRG_mv invocations
	
2006-02-26  Claudio Fontana <claudio@gnu.org>

	* package_info.c::_save_package_info(): unlink package file
	  before writing it. This is necessary if a previous privileged
	  installation has written a package info file.

2006-02-25  Claudio Fontana <claudio@gnu.org>

	* actions.c::_detect_configure(): now ensures that the configure
	  script is executable. Outputs warnings and possibly fails if
	  no autogen/bootstrap script is available to build an executable
	  script.
	
2006-02-22  Claudio Fontana <claudio@gnu.org>

	* srcinst/srcerror.h: added error type SRCINST_ERR_POLICY
	* actions.c: _make_install now returns SRCINST_ERR detailing the
	  reason of the failure

	* srcexport.c: removed unused fixed length buffer.

2006-02-08  Claudio Fontana <claudio@gnu.org>

	* 2.0 release

2006-02-08  Claudio Fontana <claudio@gnu.org>

	* srcinst.c::_init_preferences(): change default installation prefix
	  to ~/usr for regular users, while for root it remains /usr/local
	  as before.
	
2006-02-01  Claudio Fontana <claudio@gnu.org>

	* actions.c: mark a package as installed if procedure reaches the
	  'make install' command.

2006-02-01  Claudio Fontana <claudio@gnu.org>

	* actions.c::_find_files_aux(): use srcinst_file_ltype to determine
	  if an entry is a directory. Otherwise, symbolic links are followed,
	  which is a really _bad_ thing.
	
2006-01-31  Claudio Fontana <claudio@gnu.org>

        * actions.c::action_uninstall_binary(): mark as uninstalled
	  if file count is zero, since we can not know whether uninstallation
	  happened or not.

	* actions.c::_unpack(): strenghten regular expression to
	  correctly fetch directory names starting with ./ in the tar archive
	
2006-01-30  Claudio Fontana <claudio@gnu.org>

	* preferences.c::_save_preferences(): removed wild free(),
	  spotted by Stephen Compall.

2006-01-24  Claudio Fontana <claudio@gnu.org>

	First test pre-release announcement,
	with release name libsrcinst-2.0-rc1

2006-01-26  Claudio Fontana <claudio@gnu.org>

	* actions.c::_action_uninstall_source(): report an error if source code
	  delete fails.

	* actions.c::_action_upgrade(): perform cleanup for an obsoleted
	  package.

	* srcinst/srcinst.h::srcinst_upgrade_package(): new API function
	* srcinst/srcinst.c::srcinst_upgrade_package(): new API function

	* actions.c: remove support for special description and
	  description-long makefile targets
	* srcinst/srcinst.h: likewise

	* configure.ac: fixed missing header checks for signal.h and fcntl.h,
	  missing checks for various types, and remove checks for unused
	  programs

	

