| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|
| < | > | |||||
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
Conary News
Development news and announcements regarding Conary.
Post details: Conary 2.0.0 Released
January 2, 2008
Conary 2.0.0 is a major new feature release. Conary 2.0.x is not currently included in rPath Linux 1, though it is currently part of rPath Linux development.
Major Changes:- The way Conary handles architecture flavors has been changed, primarily for better support for multilib systems that support having both 32-bit and 64-bit packages installed.
- The Conary repository Access Control List capabilities have been significantly upgraded to support per-trove ACLs. Trove permissions are cached and recalculated whenever the ACLs change or new troves are added to the repository, for better scaling and faster changeset retrieval.
- All dependencies on the GnuPG "gpg" program have been removed; Conary now implements the required OpenPGP functionality internally.
- Conary 2.0 is significantly faster for many repository commit operations. Some "cvc promote" operations, in particular, have a 200% performance improvement. Some group commit operations are 75% faster. Creating a new shadow can be as much as 100% faster. Details of some of the changes that provide the improvement are below.
- Committing to repositories has been reworked to pull all modified streams from the repository or database with one query. (CNY-2053)
- Unchanged stream sets now return None on diff. This prevents the Conary repository from having to do unnecessary work to retrieve the "old" version of a stream and apply a diff when nothing actually changed.
- Unchanged file streams are now 2-byte, backwards compatible, sequences instead of more complex representations of "nothing changed".
- The commit code (both client and server) recognizes unchanged files and does not merge stream sets for them.
- Distributed changeset creation no longer recompresses file contents.
- "cvc promote" no longer recompresses non-config files during changeset assembly. (CNY-2202)
- "cvc promote" now gets file contents and streams from changesets when a lot of them are needed from the same trove. (CNY-2202)
- Changesets that represent a "cvc promote" operation have been changed to be relative to either the source of the promote (if promoting within a server) or to the current version on the target. (CNY-2202)
- The "cvc shadow" command now commits relative changesets when the shadow is made to the same repository as the original trove.
- The Conary client now tries to perform update jobs as close to updateThreshold (without going over) as practical for a noticeable performance improvement. (CNY-2283)
- Committing changesets to the repository has been modified to check for files which don't have contents available (during a promote or shadow, for example) with one SQL query. Previously, a single SQL query was used to check for each file. (CNY-2053)
- Conary will now ignore flavoring and requirements from ELF libraries that are built for architectures other than the architecture that is being built for. This avoids a common problem where a single extra (unused) sparc file library causes an entire package to be flavored to be installed on systems that support both x86 and sparc instruction sets, as that configuration is not meaningful. (CNY-1717)
- The rarely used "cvc describe" command line interface has been removed. (CNY-2357)
- The rarely used "cvcdesc" script has been removed. (CNY-2357)
- Spaces in URLs provided in source actions such as addArchive are now automatically escaped to make them legal URLs. (CNY-2389)
- The "cvc promote" command now uses the labels and branches specified in the "from" section of any promote as the place to search for packages (CNY-2235).
- The PackageSpec documentation incorrectly stated that you could pass both package and component information to it; this has been corrected to properly redirect to ComponentSpec for this usage. (CNY-2387)
- The "getTroveLatestByLabel" client-side call has been added.
- Most repository exceptions are demarshalled using logic in the exception class itself rather than in a large if/elif block. (CNY-747)
- The "troveNames" and "troveNamesByServer" methods now accept a "troveTypes" argument, and by default return only troves that are present. (CNY-1838)
- The mirror client supports a --fast-sync flag which will only scan for new troves in the source and skip the time-expensive scans for changed trove info records. (CNY-1756)
- The mirror client supports a --absolute flag which will make it use only absolute changesets to mirror content. (CNY-1755)
- The rollback stack code has been split into a separate class. (CNY-2061)
- A new "conary rmrollback" command that removes old rollbacks has been added. (CNY-2061)
- Rollback objects now have an "isLocal" method to tell whether applying that rollback will require repository access. (CNY-2077)
- Conary now allows a biarch system to have one flavor that expresses both the x86 and x86_64 support. The flavorPreferences configuration option informs conary to prefer x86_64 packages. This change allows group building to automatically resolve x86 packages. (CNY-525)
- Conary no longer uses gnupg for OpenPGP key management. (CNY-2349)
- Conary clients no longer send an absolute URI when talking directly to a repository server. (CNY-2324)
- Many repository permission handling methods have been renamed for consistency. For a complete list, see doc/PROTOCOL.versions in the Conary source code. (CNY-2298)
- Setting/resetting the admin field permission is now handled by the setUserGroupIsAdmin() call instead of addAcl/editAcl. (CNY-1782)
- The scoring for target flavor sets has been fixed. (CNY-1539)
- The (unimplemented) concept of caps for permissions has been removed.
- Server methods have been decorated with the @requireClientProtocol decorator.
- The "usergroups" term has been replaced with "roles" in the repository web user interface. (CNY-1973)
- Server exceptions have been reworked to have marshalling logic in the exception class instead of in a large if/elif block. (CNY-747)
- Server exceptions are marshalled in the proxy layer now instead of in both the proxy and server layers.
- When the repository database is locked, "RepositoryLocked" exceptions are now returned for all code paths. (CNY-1596)
- The repository call log now tracks changeset cache misses. (CNY-1843)
- Repositories no longer pass anonymous hints to the proxy layer. The hint has been False since Conary 1.1.29.
- The "troveNames" method now filters by using the "troveTypes" argument. (CNY-1838)
- The "getPackageBranchPathIds" method no longer requires access to the entire version history of a package; it returns the pathIds and fileIds for troves the user is allowed to see. Previously, an InsufficientPermission exception was raised if part of the version history of a package was not visible to the user. (CNY-2038)
- The repository call log now records the time required to service the request. (CNY-2305)
- A "serializeCommits" boolean server configuration option has been added. This is best turned on for repositories used for development, but is unneeded for repositories that are mirrors. (CNY-2285)
- The XML-RPC protocol now allows passing keyword arguments for exceptions. (CNY-747)
- XML-RPC return values no longer include the "useAnonymous" flag.
Comments:
No Comments for this post yet...
Comments are closed for this post.