Revision 873 / b95d76c53b5eeece7335982e3ccf7047770decc4.

This revision integrated enhancements and fixes for the following issues:

  2691 ability to publish packages to local disk repository
  850 pkgsend traceback if invalid or unavailable repository url specified
  894 pkgsend should do more action verification
  1236 pkgsend open should not allow both -e and -n
  2430 pkgsend add of non-existent file causes traceback
  5088 server can still create a repo when in --readonly mode
  5294 pkgsend doesn't provide server response when operations fail
  5944 pkgsend traceback if invalid or no action type specified
  6566 catalog is always rebuilt when server config is not readonly

As a result of these changes, the following changes in behaviour should be noted:

* pkg.depotd will no longer automatically create or populate the inst_root specified using pkg/inst_root or the -d option if started with --readonly. Instead, it will exit with an error message. Starting the server in a mode other than readonly will create the specified directory and any necessary subdirectories or files.

* pkg.depotd will no longer automatically rebuild the repository catalog if not started with --readonly. However, search indices will continue to be refreshed automatically if needed. If, for some reason, the package catalog does need to be rebuilt on pkg.depotd startup or the old behaviour is desired, pkg.depotd can be started with the --rebuild option. This change should result in significantly faster startup (and less disk I/O) for large repositories served by pkg.depotd in publishing mode.

* pkgsend and the importer now support file:// URLs for publishing. In the case of pkgsend:

  PKG_REPO=file:///path/to/repo pkgsend open [email protected]
  pkgsend -s file:///path/to/repo open [email protected]

In the case of solaris.py (the importer), you will need to set the REPO variable in the makefile or override it another way. Be aware that if you specify a directory that is not a valid pkg(5) repository, publishing will fail with an error indicating that. You must create a repository first by starting the pkg.depotd server with the desired path and then exiting. A subcommand to create repositories will be added to pkgsend in the near future (bug 6574).

* It is important to note that only one user at a time should publish directly to a file:// repository URL; the result of more than one user publishing to a file:// reopsitory URL at a time is completely untested and is likely to fail. Bug 2696 will help enforce this by ensuring that a repository lock is obtained during publishing mode. If you need the ability to allow multiple users to simultaneously publish to a repository, you must use pkg.depotd and publish to a http:// repository URL. The tradeoff is that file:// repository URL publishing can be significantly faster and will result in significantly reduced memory usage and disk I/O.

* Significantly more verification is now done during the publishing process. Expect things that may have *appeared to work* before to no longer be accepted by the server or by the pkgsend client. Additionally, pkgsend once more produces useful error information when operations fail.

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

Reply via email to