 |
Zero Install |
| version 0.49 |
| About Zero Install |
User-oriented decentralised software distribution.
Zero Install makes it easy for users to install software easily and without the need for root privileges. Drag a link from a program's web-page to add it to your desktop. Zero Install will automatically resolve dependencies, verify GPG signatures and check for updates.
The system is decentralised (there is no central repository), while still allowing libraries to be shared between programs. Secure hashes allow programs to be shared between mutually-untrusting users.
Requirements
This application requires GTK+ version 2.12.x.
Other dependencies include: GNU tar, Gzip, Python 2.5, The GNU Privacy Guard,
xdg-utils and PyGTK 2.0 (for the GUI). |
| Latest Version: 0.49 |
NEW FEATURES
- PackageKit integration: if we need a distribution package that isn't installed, try to install it using PackageKit (Aleksey Lim, Thomas Leonard and Anders F Bjorklund).
- Include selections XML in bug reports. This allows the receiver to try to reproduce the problem using the same versions of everything.
CHANGES
- The ~/.config/0install.net/injector/user_overrides directory is now deprecated. It is replaced by two directories: "feeds" and "interfaces", reflecting the fact that these are separate concepts (feed information includes the user stability ratings for versions in the feed; interfaces settings contain the locations of extra feeds).
- We now warn about <package-implementation>s with dependencies. http://rox4debian.berlios.de/0install/Python-Wnck.xml uses this (probably accidentally).
BUG FIXES
- Fixed handling of 'extract' attribute in unpack_archive_over. Reported by Anders F Björklund. The old openttd feed was relying on this bug; a newer feed is available as http://repo.roscidus.com/games/openttd
- When reading distribution version numbers, replace underscores with dashes (Anders F Bjorklund).
- Unittest fix: temporary directories weren't getting deleted afterwards. Also, stopped the unittests from running the tests in the abstract base class.
- Various epydoc fixes.
- Propagate errors correctly from Selections.download_missing().
- Updated GUI to avoid deprecated API. Policy.recalculate didn't update the display properly for asynchronous downloads. Use solve_with_downloads instead.
- Test against Python 2.7 too. Fixed a warning about Python 3 compatibility.
- Removed out-of-date check that 'id' contains '='.
- Fixed parsing of Ports package names (Anders F Bjorklund).
- Fix bug that made user selected per feed stability not work (Rene Lopez).
PYTHON API
- Model information about distribution packages as separate feeds. Before, reading in a feed containing a <package-implementation> element would expand this to a list of packages provided by the distribution's package manager (installed or not) and include them in the feeds 'implementations'. Now, feed with such an element has a corresponding "distribution feed", which is the feed's URL prefixed with "distribuion:". This feed contains the distribution packages. Initially, it contains only installed packages. After updating it, it may also contain candidate (uninstalled) version. This has two advantages: the loaded representation of feed no longer depends on the host distribution, which is cleaner, and fetching candidates can be done asynchronously (needed for PackageKit).
- fetch_candidates doesn't have to be async.
- Added update_local attribute to solve_with_downloads. If set, feeds starting with 'distribution:' are refreshed but others aren't. The idea is that these feeds represent information from a local package manager (needed for PackageKit).
- Added writer.save_feed. Before, information for feeds and interfaces went into a single file in "user_overrides". Now, feed information is saved under "feeds" and interface settings go under "interfaces". The old files will be loaded if the new ones aren't found.
- distro.py removes a leading "epoch:" from all version numbers.
TRANSLATIONS
- Many more Python unicode work-arounds, so that more errors report useful information instead of complaining that the error can't be displayed because of encoding issues.
- Use "xgettext --sort-by-file" for diff-able translations (Anders F Bjorklund).
- Allow localized summary/description (Anders F Bjorklund).
- Translate some missing strings (Anders F Bjorklund).
- Updated Swedish translation (Anders F Björklund).
- Update Spanish l10n (Rene Lopez).
- Make strings use named arguments for better i18n (Rene Lopez).
WINDOWS SUPPORT
- Replaced x.startswith('/') with os.path.isabs(x) (Bastian Eicher).
- Added support for Windows in ro_rmtree (Rene Lopez).
- Find basedir/XDG equivalents on Windows (Bastian Eicher).
- Replaced os.uname() with platform.uname() (Bastian Eicher).
- Replaced locale.LC_MESSAGES with locale.LC_ALL (Bastian Eicher).
- Replaced hard-coded ':' as path separator symbol with os.pathsep (Bastian Eicher).
- Always use '/' in manifests, even on Windows. Reported by Bastian Eicher.
|
|
|