|
From: Thomas L. <ta...@gm...> - 2016-09-05 17:47:00
|
0install 2.12 is now available (source and generic binaries): http://0install.net/install-source.html http://0install.net/install-linux.html#generic This is a very minor update in terms of features, but there are lots of small cleanups to the code. Since 2.11: Bug fixes - Fix rounding error in quick-test-mtime attribute. When writing the attribute we rounded to the nearest int, but when checking we rounded down. This meant that we might think the file had changed and recalculate when we didn't need to. Logging - When using a launcher, log the JSON that will be passed to it too. - Include 0install's version number in the log output. Build - Use the official Travis scripts (https://github.com/ocaml/ocaml-ci-scripts) instead of our own. - Test with OCaml 4.03 and 4.02.3 too. - Fix build for OCaml 4.03.0. - Add dependency on gnupg2 on OS X. This is needed to run the unit tests. - Update opam dependencies (taken from https://github.com/ocaml/opam-repository/pull/6086). - Explain how to use opam to build on Windows. Use Appveyor to build and test. - Remove build-in.ml script. It was only for compatibility with OCaml < 4, and we don't support that now anyway. - Add tests directory to the Merlin configuration (for editor completion). Code cleanups: - Remove all uses of the Lwt extension from the code. OCaml's camlp4 syntax extension system is now deprecated, so get ahead and remove it now. There is a replacement syntax extension using the new PPX system, but it turns out that asynchronous code is perfectly readable without either. - Tidy up Driver and Download modules: - Return `Unmodified as a value, not an exception. - Don't use an object for downloader. - Report redirect loops with `Network_failure. - Uppercase variants. The language spec says they have to be uppercase, although the compiler seems to allow lowercase ones too. - Separate out the PackageKit stubs (which abstract over the various different API versions of PackageKit) from the code using it, and put them in their own file. This makes the logic clearer and should make it easier to support future changes. - Make packagekit an explicit argument to distributions. Avoids needing a global mutable ref for the unit-tests. - Rename a field to avoid a compiler warning (conflicted with ref.contents). - Replace Bad_request exception with a return code. - Add unit-test for "0install slave". Also, tidied up the Json_connection API. - Use the Format module to display help text. Avoids needing to pass in a whole system object just so we can print. - Use the Format module for logging. This allows us to use the same API for printing to strings and to channels, and handles some formatting stuff for us automatically. -- talex5 (GitHub/Twitter) http://roscidus.com/blog/ GPG: 5DD5 8D70 899C 454A 966D 6A51 7513 3C8F 94F6 E0CC GPG: DA98 25AE CAD0 8975 7CDA BD8E 0713 3F96 CA74 D8BA |