Greetings,

The following webrev contains fixes for the following issues:

  529 client can traceback with EBUSY during action removal
3286 file install fails if a parent directory has been replaced by a link or file
  3644 directory/symlink ambiguity renders package uninstallable
  13069 symlink found to be a directory causes traceback on upgrade
  14927 directory install won't set mode if directory already exists
  14940 testsuite could use client API for image creation

webrev:
http://cr.opensolaris.org/~swalker/pkg-529/

Change Summary:
* client API now automatically handles unexpected changes in image state during install and removal such as the replacement of a file with a link or directory, or the replacement of a directory with a link or file, or the replacement of a link with a file or directory. It will attempt to continue if possible, appropriately salvaging anything in the way, and if not, attempt to explain why and how to continue.

* added unit test for all of the bugs above (except 529, which was tested manually)

* reduced total execution time of test suite by a few minutes (on my system) by using client api to create image instead of executing pkg(1) where possible

* client API now raises an exception if an install of a files via symlink is attempted (e.g. one or more of its parent directories is a symlink); it does this by comparing the install path to the realpath() of the install path. On my laptop (4200RPM HD, 4GB mem) and my desktop (5400RPM HD, 8GB mem) this check made no appreciable difference in install (using SUNWman, with 12K+ files) or image-update (131 -> 133) times (2 seconds at most).

Cheers,
--
Shawn Walker
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to