package 0install-gtk
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
On This Page
  
  
  Decentralised installation system - GTK UI
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
  
    
      0install-v2.15.2.tbz
    
    
        
    
  
  
  
    
  
  
    
  
        sha256=00b4e66db11196a589703c45ec84c50ef5e099685ce20f8d146eed9803fe49fd
    
    
  sha512=0b6b1cdd39a7ef522f189496728feef9f234f0b89745f3ec78de3720317eedf8cb6ea97844cc325e2ca0982f70b73015e8138bde85330fdc0ac5350192ced7b9
    
    
  doc/CHANGES.html
v2.15.2
Bug fixes
- Don't try to update distribution caches in --dry-runmode. If we needed to update a cache, the operation would fail with e.g.Bug: 'with_open_out' called in --dry-run mode.
Opam package
- Mark obus as required (except on Windows and macOS). This is more explicit than just asking users to install it where it makes sense, and also means that the CI will test it.
- Split GTK UI into a separate opam package. This makes it easy to install it (using opam install 0install-gtk), and means that the CI will test it.
- Update opam metadata to match opam-repository.
Code cleanups
- Rename "ocaml" directory to "src". There are no other languages here now.
- Make the solver return a SOLVER_RESULT. The old API was a bit confusing. The user of the solver had to wrap the solver's return to provide aSOLVER_RESULTfor the diagnostics. Now, the user-required bits are inSOLVER_INPUTand the solver itself provides the rest.
- Split the solver into its own library. Since the refactoring in 2014 (see Simplifying the Solver With Functors), the solver isn't really tied to 0install at all, and could be useful for other package managers.
- Generalise the solver's machine groups system. This removes the one remaining dependency from the solver to the rest of 0install.
- Rename option functions in solver to match OCaml 4.08.
- Split Feed_metadataandFeed_importout into their own modules.
- Rename Feed.feedtoFeed.tand make the type abstract.
- Skip rpm2cpio unit test if cpio isn't available. It seems that recent Fedora images provide rpm2cpio, but not cpio.
v2.15.1
Changes
- Replace repo.roscidus.comfeeds withapps.0install.net(Bastian Eicher).
- Update fallback host-Python check for new URIs. http://repo.roscidus.com/python/pythonis nowhttps://apps.0install.net/python/python.xml, etc.
Bug fixes
- Fix use of nested Lwt_main.run. This is now an error with Lwt 5.0.0.
- Fix bad error message when running as root with invalid $HOME. If we're running as root then we check that$HOMEis owned by root to avoid putting root-owned files in a user's home directory. However, if$HOMEdoesn't exist then the errorUnix.ENOENTwas unhelpful.
- Fix bad solver error. The diagnostics system didn't consider dependencies of <command>elements when trying to explain why a solve failed. It could therefore reportReason for rejection unknownif a solve failed due to a constraint inside one.
- When using --may-compileon a local selection, setlocal-path. We already gave the full path inlocal-pathfor other selections, and without this an exception is thrown if we try to print the resulting tree. e.g.No digests found for '.'
Build system
- Move windows C code to its own library. This allows us to use the new (enabled_if ...)feature to enable it only on Windows, simplifying thedunefiles and avoiding the need forcppo.
- Get the windows_apiobject via thesystemobject, rather than making it a special case.
- Remove windows-specific flags from utils.c. Looks like these were left over from when there was more code here.
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
  On This Page