Conary News
Development news and announcements regarding Conary.
Post details: Conary 1.0.31 and 1.1.4 Released
September 19, 2006
Conary 1.0.31 and 1.1.4 are maintenance releases. All changes listed here apply equally to both versions.
Client Changes:
- Conary now restarts itself after updating critical conary components (currently, that consists of conary). Hooks have been added for other components using the conary api to specify other troves as critical. Also, hooks have been added for other components to specify a trove to update last. (CNY-805, CNY-808)
- Conary now warns the user about operations that would create label conflicts - that is when an operation would cause two different branches of development for a single trove to end up with the same trailing label. Since most conary operations are label-based, such label conflicts can be confusing to work with and are almost never desireable - except in those few cases where they are necessary. (CNY-796)
- The conary repository client now retries when a DNS lookup of a server hostname fails with a "temporary failure in name resolution" error.
Optimizations
- The getFileContents() and getFileVersions() server side calls have been optimized for faster execution.
- The SQL query in getTroveList() has been sped up by a 3-5x factor.
- The dbstore interface now has support for executemany().
- Inserts into local database now use executemany().
Server Changes
- Several SQL queries have been updated for PostgreSQL compatibility.
Build (cvc) Changes:
- The cvc add command no longer assumes files it doesn't know to be binary are text files; there are lists for both binary and text types, and files which are added which aren't in either list need to be added with --text or --binary. (CNY-838)
- A cvc set command has been added to change files between binary and text mode for files in source components.
- The cvc diff command no longer tries to display the contents of autosource files. (CNY-866)
- The cvc annotate command no longer displays pathIds in the error message for the specified path not being included in the source trove. It displays the path name instead.
- The cvc annotate command now gives an error when it is run on a binary file.
- A cvc refresh command has been added. It allows you to request that cvc fetch new upstream versions of files referenced by URL. Thanks to Pavel Volkovitskiy for the initial implementation of this feature. (CNY-743)
- The cvc newpkg command and the PackageSpec policy now disallow certain potentially confusing characters in trove names. (CNY-842)
- The PythonSetup() build action has been modified to be more consistent with other build actions. The setupName paramater has been added, which can specify a command to run (defaults to "setup.py"). The first argument, similar to Configure(), passes arguments to the command being specified by setupName. (CNY-355)
- The cvc commit command now recognizes .html, .css, .kid, and .cfg as extensions that identify text files. (CNY-891)
- The PythonSetup build action has been modified to make it clearer what its dir and rootDir options specify. (CNY-328)
Bug Fixes:
- Conary commands no longer perform an unnecessary database check on the local system. (CNY-571)
- A bug that could allow conary to consider a no-op update as an install (and could result in tracebacks in some situations) has been fixed. (CNY-845)
- If you've made a local modification to a package and then try to downgrade it later, Conary will now downgrade included components as well. (CNY-836)
- The error message produced by the cvc cook command when a source component exists on multiple branches with the same trailing label has been improved. (CNY-714)
- Error handling when manipulating entitlements via XML-RPC has been improved. (CNY-692)
- The usage message displayed when running the conary changeset command has been corrected. (CNY-864)
- Conary no longer tracebacks when a disconnected cook tries to load a superclass. Conary also gives better messages when the loaded recipe has a traceback. Thanks to David Coulthart for the core of this patch. (CNY-518, CNY-713)
- A bug in soname dependency scoring has been fixed. Dependency scoring when multiple sonames were being scored would simply use the value of the last soname, instead of the cumulative score. Note that the dependencies that did not match at all would still return as not matching, so this bug only affected Conary's ability to select the best match.
- A bug in architecture dependency scoring has been fixed. Matching architectures are now counted as having a positive value, so that when performing dependency resolution on an x86_64 machine, troves that have flavor is: x86_64 x86 will be preferred to those with flavor is: x86.
- The PythonSetup command ignored any C compiler macros that had been set. The template has been changed to use them in the same way that Configure() uses them; as environment variables.
- The warning message produced when r.Replace() refuses to modify a non-regular file now includes the path, as intended. (CNY-844)
- A traceback that occurred when a resolveLevel 2 update resulted in a component being erased has been fixed. (CNY-879)
- Conary now works around a possible threading deadlock when exceptions are raised in Threading.join(). The bug is in the standard Python threading library, and is fixed in 2.4.3. Conary will use a workaround when running under older versions of Python. (CNY-795)
- Checks have been added to the XML-RPC transport system to see if an abort has been requested while waiting for a response from the server. This allows the main thread to terminate the changeset download thread if it is waiting for an XML-RPC response from the server. (CNY-795)
- A bug in Conary's handling of an unusual case when multiple files being installed share the same content, and one of the files has been erased locally has been fixed.
- A traceback that occurred when a manually removed file switches packages during an update has been fixed. (CNY-869)
- When you remove a file and replace it with a directory, Conary now treats it as a removal. (CNY-872)
- Conary's OpenPGP implementation now dynamically uses RIPEMD if it is available from PyCrpyto. Some PyCrypto builds don't include RIPEMD hash support. (CNY-868)
- A bug that allowed merging changesets with conflicting file contents for configuration files with the same pathId has been fixed. Applying the resulting merged changeset caused IntegrityErrors. (CNY-888)
Conary Policy: The conary-policy package has been updated, and conary-policy 1.0.9 has been released concurrently.
Comments:
No Comments for this post yet...
Comments are closed for this post.