0install 2.10

Thomas Leonard <[email protected]> Mon, 5 Oct 2015 09:57:04 +0100
Newsgroups gmane.comp.file-systems.zero-install.devel
Message-ID <CAG4opy80ZdrSv5J_MoM5ZpTyhzGJR_Kqy0z0d396c7DgaZs=5w@mail.gmail.com>
[ tried to release this yesterday, but sf.net was being unreliable again ]

0install 2.10 is now available (source and generic binaries):

  http://0install.net/install-source.html
  http://0install.net/install-linux.html#generic


Since 2.9.1:


New features

- Detect native "make" on Darwin/OS X.


Bug fixes

- Generate <manifest-digest> element in selections. Before, we just
copied from the source <implementation>. However, if the input used
the old style of putting the digest in the 'id' attribute, then the
output would also be in the old style. This confused 0compile at
least, which expects modern-format selections XML. Also, when reading
selections documents we no longer create a duplicate digest if the ID
matches one of the attributes on the <manifest-digest>.

- When checking Java version on OS X, don't warn when missing. Warning
logged was: warning: reap_child failed: Child returned error exit
status 3

- Add support for native Java 8 package on OS X.

- Use Mac.darwin_distribution on "MacOSX" again. Was broken by
a488008c, which changes the platform name from Darwin to MacOSX if
/System/Library/Frameworks/Carbon.framework exists. This caused us to
use generic_distribution on OS X.

- On OS X, only consider MacPorts and Darwin packages. Previously, we
collected all the packages matching Darwin and then all the packages
matching MacPorts together. However, if there were no MacPorts
packages then we'd fall back to trying all packages, even if we did
have some Darwin packages.


Diagnostics

- In diagnostics, report when a feed is missing. Before, we only
stated that we had no implementations. It's useful to know if this was
because the feed itself (or a subfeed) failed to download. Example:

  Can't find all required implementations:
  - http://localhost/foo.xml -> (problem)
    Main feed 'http://localhost/foo.xml' not available
    No known implementations at all

- Better diagnostics for missing packages. On Windows, only report
problems for unknown packages. On Ports, report problems with invalid
versions. On Gentoo and Slackware, include PackageKit results.

- Mention in diagnostics if apt-cache didn't know about a package.

- Indicate reason why we can't connect to D-BUS.

- Report why PackageKit is unavailable in diagnostics.

- Move PackageKit support into separate class. Avoids misleading
errors about missing PackageKit support on platforms that never use
it.


Build system

- Fixes for FreeBSD (Janus). Use $(MAKE) in Makefiles.

- Travis: test 0compile after successful build.

- Create simple binary feed.xml during build. If we're not building
with 0compile, generate a simple feed file for bootstrapping (0compile
depends on 0install).

- Don't build or install translations. They're not used currently, and
they just break things on platforms without msgfmt.

- Fix background-unsolvable unit-test on OS X with MacPorts installed.
It wants to run "ports -v installed" to see if the dummy package is
available. This seems like a reasonable thing to allow.

- Fix mkdir in unit-tests. If we try to create a directory whose
parent we were pretending exists, create it for real first.

- Fixed unit-tests on OS X with MacPorts. fake_system#file_exists
always returned false if tmpdir was None, but fake_system#stat was
missing this check. Reported by Ilja Honkonen.

- Don't try to run GUI unit-test on Windows.


Code cleanups

- Simplify Distro_cache. Removed unnecessary use of objects and split
eager/lazy cases.

- Updated opam file to 1.2 format.

- Removed some unnecessary uses of the Lwt syntax extension.

- OCamldoc doesn't work on object or record fields.

- PackageKit only needs a locale, not a full config.

- Add "may_compile" to sample_client.py example.


-- 
Dr Thomas Leonard        http://roscidus.com/blog/
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

------------------------------------------------------------------------------