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