Anders F Bjorklund [Sat, 19 Mar 2011 09:46:29 +0000 (19 10:46 +0100)]
updated translations
Anders F Bjorklund [Thu, 17 Mar 2011 17:08:46 +0000 (17 18:08 +0100)]
Added 128x128 and SVG versions of the 0install icon
Aleksey Lim [Mon, 14 Mar 2011 19:10:13 +0000 (14 19:10 +0000)]
Disconnect from dbus signals
Otherwise, it is easy to reach to connects limit, ie,
get org.freedesktop.DBus.Error.LimitsExceeded dbus fails.
Thomas Leonard [Sun, 13 Mar 2011 16:05:29 +0000 (13 16:05 +0000)]
Start development series 0.53-post
Thomas Leonard [Sun, 13 Mar 2011 16:05:28 +0000 (13 16:05 +0000)]
Release 0.53
Thomas Leonard [Sun, 13 Mar 2011 16:05:17 +0000 (13 16:05 +0000)]
Don't include .gitignore in release archives
Thomas Leonard [Sun, 13 Mar 2011 11:33:54 +0000 (13 11:33 +0000)]
Changed "Trying mirror server" message from warning to info level
Thomas Leonard [Sun, 13 Mar 2011 10:38:23 +0000 (13 10:38 +0000)]
<command> elements take precedence over attributes
Before, in <group main='a'><command name='run' path='b'/></group>,
the group would take its run command from the attribute.
This makes it possible to provide a command element that's only
used with 0launch >= 0.53 (avoiding the <runner> bug on older
versions).
Thomas Leonard [Sat, 12 Mar 2011 20:51:33 +0000 (12 20:51 +0000)]
Added configuration setting to automatically approve keys
If:
- 'auto_approve_keys' is on (the default),
- this is the first time we've seen this feed (not an update), and
- the key is known to the key info server
Then we automatically approve the key without asking the user. Whatever
the setting, we always notify the user about new keys when updating a
feed.
Thomas Leonard [Sat, 12 Mar 2011 18:14:33 +0000 (12 18:14 +0000)]
Added TrustMgr object
This moves the logic for fetching keys from the key server out of Handler.
Thomas Leonard [Sat, 12 Mar 2011 12:59:51 +0000 (12 12:59 +0000)]
Fixed "decide function returned None!" bug
If there were multiple commands with the same <runner> then we added all the
runner's commands to the SAT problem multiple times. However, we only
remembered the most recent set when it came to choosing.
Added a test-case for it, based on test case reported by Tim Cuthbertson.
Thomas Leonard [Thu, 10 Mar 2011 18:47:29 +0000 (10 18:47 +0000)]
Also updated tests and GUI using 2to3
Thomas Leonard [Wed, 9 Mar 2011 20:52:30 +0000 (9 20:52 +0000)]
Updated to newer Python syntax where possible
These are changes that are needed for Python 3, but which still work on Python
2.5.
The command used was:
2to3 -wn -f apply -f future -f has_key -f import -f long -f paren -f reduce -f repr -f sys_exc -f tuple_params zeroinstall 0launch 0store 0alias 0desktop 0store-secure-add 0install
Bastian Eicher [Tue, 8 Mar 2011 22:22:26 +0000 (8 23:22 +0100)]
Select first <summary> or <description> entry if _best_language_match() can't find a match
Anders F Bjorklund [Mon, 7 Mar 2011 11:10:13 +0000 (7 12:10 +0100)]
Support lzma/xz when using non-GNU tar
Anders F Bjorklund [Mon, 7 Mar 2011 11:08:56 +0000 (7 12:08 +0100)]
Guess MIME-types automatically for tbz/tlz/txz suffixes
Anders F Bjorklund [Mon, 8 Nov 2010 18:43:06 +0000 (8 19:43 +0100)]
Get unxz though 0install if unxz isn't installed natively
Bastian Eicher [Tue, 2 Nov 2010 23:43:48 +0000 (3 00:43 +0100)]
Split languages codes by a hyphen (-) instead of an underscore (_)
This fits W3C's definition of the "xml:lang" attribute:
http://www.w3.org/TR/REC-xml/#sec-lang-tag
Also, the selection logic has changed:
- If the user didn't set a preferred language, assume they want "en_US"
- If a <summary> doesn't specify a language, assume it's "en"
- If there's no exact match, and no language match, default to the "en" entry
Thomas Leonard [Sun, 27 Feb 2011 16:03:47 +0000 (27 16:03 +0000)]
Removed unused imports
Thomas Leonard [Sun, 27 Feb 2011 15:58:01 +0000 (27 15:58 +0000)]
Added IfaceCache.usable_feeds
Thomas Leonard [Sun, 27 Feb 2011 15:29:16 +0000 (27 15:29 +0000)]
Adder driver module
Driver class performs the non-deprecated functions of Policy (which
now just forwards to Driver).
Thomas Leonard [Sun, 27 Feb 2011 15:15:20 +0000 (27 15:15 +0000)]
Removed iface_cache argument from Fetcher methods
Thomas Leonard [Sun, 27 Feb 2011 15:06:27 +0000 (27 15:06 +0000)]
Moved modification time logic from Policy.download_icon to Fetcher.download_icon
Also, Fetcher now takes a Config as argument rather than just a Handler.
Thomas Leonard [Sun, 27 Feb 2011 09:48:33 +0000 (27 09:48 +0000)]
Removed deprecated Policy.recalculate
Thomas Leonard [Sun, 27 Feb 2011 10:46:29 +0000 (27 10:46 +0000)]
Import _ explicitly in the GUI
(makes pychecker happy)
Thomas Leonard [Sun, 27 Feb 2011 09:52:37 +0000 (27 09:52 +0000)]
Oops: moved FAILED_CHECK_DELAY to iface_cache.py
Thomas Leonard [Sat, 26 Feb 2011 18:56:05 +0000 (26 18:56 +0000)]
Removed prompts from background download dialogs
Ubuntu doesn't support these, so might as provide the same UI everywhere.
Thomas Leonard [Sat, 26 Feb 2011 18:49:07 +0000 (26 18:49 +0000)]
Moved get_feed_targets and is_stale to IfaceCache
Thomas Leonard [Sat, 26 Feb 2011 18:22:46 +0000 (26 18:22 +0000)]
Moved Config into its own module
Also, if no handler is specified then it creates either a Handler or a
ConsoleHandler as appropriate.
Thomas Leonard [Sat, 26 Feb 2011 17:34:04 +0000 (26 17:34 +0000)]
Fixed Pyflakes warnings
Thomas Leonard [Sat, 26 Feb 2011 17:23:33 +0000 (26 17:23 +0000)]
Moved Handler.wait_for_blocker to tasks.wait_for_blocker
All other mainloop integration is in tasks, and there's no reason to need a UI
handler just to wait for a task.
Thomas Leonard [Sat, 26 Feb 2011 16:55:03 +0000 (26 16:55 +0000)]
epydoc fixes
Thomas Leonard [Sat, 26 Feb 2011 16:01:34 +0000 (26 16:01 +0000)]
Relax check on valid digest values
Before, we required a valid hex value. Now, anything except '', '.' and '..'
are permitted. This may be useful if we want to get shorter digests in future
by using more characters (e.g. base64 encoding). It also solves the problem that
0compile's fake IDs weren't in this form.
Thomas Leonard [Sat, 26 Feb 2011 15:32:04 +0000 (26 15:32 +0000)]
Added Implementation.is_available and Selection.is_available
These test whether the implementation is available locally, removing the
duplicated logic in Policy and Solver.
Thomas Leonard [Sun, 13 Feb 2011 12:20:39 +0000 (13 12:20 +0000)]
Support multiple digests in cache browser
The code assumed that everything was cached under its ID, whereas now
we normally use a <manifest-digest>.
Reported by Tim Cuthbertson.
Aleksey Lim [Thu, 30 Dec 2010 19:05:19 +0000 (30 19:05 +0000)]
Remove tmp directory if manifest is failed for untarred sources
Thomas Leonard [Sat, 5 Feb 2011 18:23:18 +0000 (5 18:23 +0000)]
Removed deprecated and unused _get_impl method
Thomas Leonard [Sat, 5 Feb 2011 14:02:46 +0000 (5 14:02 +0000)]
Removed support for deprecated plain GPG-signed feeds
Support for the newer XML-based signatures was added in 0.18, in 2005.
Use "0publish --xmlsign myfeed.xml" to resign any remaining old feeds.
Thomas Leonard [Sat, 5 Feb 2011 13:21:50 +0000 (5 13:21 +0000)]
Removed the long-deprecated AutoPolicy class
Thomas Leonard [Sat, 5 Feb 2011 12:45:32 +0000 (5 12:45 +0000)]
Removed deprecated key confirmation methods
(the replacement API was introduced in 0.42)
Thomas Leonard [Sun, 30 Jan 2011 10:43:54 +0000 (30 10:43 +0000)]
Don't require a <command> when using --main
Thomas Leonard [Sat, 29 Jan 2011 13:57:31 +0000 (29 13:57 +0000)]
Show downloading in progress when fetching key information
Otherwise, it looks like we've finished when actually we're waiting to
get the key information before showing the confirmation dialog.
Thomas Leonard [Sat, 29 Jan 2011 13:41:19 +0000 (29 13:41 +0000)]
Delay opening the key confirmation box
Wait up to 10 seconds for key information to arrive. Avoids having the dialog
box update while the user is looking at it, and in the future may allow it to
be skipped completely in some cases.
Thomas Leonard [Fri, 28 Jan 2011 17:58:11 +0000 (28 17:58 +0000)]
Added list-feeds sub-command
Suggested by Tim Cuthbertson.
gfxmonk [Mon, 24 Jan 2011 09:48:53 +0000 (24 20:48 +1100)]
Add support for rubygems' .gem archive format
Thomas Leonard [Tue, 25 Jan 2011 21:07:39 +0000 (25 21:07 +0000)]
Support alternative digests in "0alias -m"
If an implementation has e.g. a sha1new digest and a sha256 digest, 0launch
will cache it under the sha256 one, but 0alias only checked for the older one.
Reported by Tim Cuthbertson.
gfxmonk [Sat, 22 Jan 2011 13:58:24 +0000 (23 00:58 +1100)]
Avoid a TypeError when language is None and feed description is empty
gfxmonk [Tue, 11 Jan 2011 11:33:02 +0000 (11 22:33 +1100)]
Added gitignore
Thomas Leonard [Thu, 4 Nov 2010 20:18:43 +0000 (4 20:18 +0000)]
Workaround for systems where "python" is Python 3
Reported by H. Krammer (bug #
3100015).
Thomas Leonard [Wed, 19 Jan 2011 19:07:33 +0000 (19 19:07 +0000)]
Start development series 0.52-post
Thomas Leonard [Wed, 19 Jan 2011 19:07:32 +0000 (19 19:07 +0000)]
Release 0.52
gfxmonk [Sat, 15 Jan 2011 23:36:23 +0000 (16 10:36 +1100)]
Added a 'value' attribute for environment bindings
'value' acts just like 'insert', except it does not get prefixed
by the path to the implementation.
It is an error to specify both 'value' and 'insert'.
Thomas Leonard [Mon, 17 Jan 2011 18:07:21 +0000 (17 18:07 +0000)]
Don't always activate Run on Return
Before, selecting e.g. Cancel with the keyboard and pressing Return would still
activate the Run button.
Thomas Leonard [Mon, 17 Jan 2011 17:47:05 +0000 (17 17:47 +0000)]
Fixed systray icon
(the filename had changed)
Thomas Leonard [Mon, 17 Jan 2011 17:43:38 +0000 (17 17:43 +0000)]
Removed unused --systray option
background.py now invokes the GUI directly, not via 0launch or 0install.
Thomas Leonard [Sun, 16 Jan 2011 20:49:15 +0000 (16 20:49 +0000)]
Only highlight problem components in the GUI when downloading ends
Thomas Leonard [Mon, 17 Jan 2011 08:35:36 +0000 (17 08:35 +0000)]
Merged '0install' command branch
Thomas Leonard [Sat, 15 Jan 2011 20:03:16 +0000 (15 20:03 +0000)]
Large-scale API cleanup
Added a Requirements object to hold information about what the user wants (e.g.
source code, binary, OS, version restrictions). This allows code that parses options
to be shared (e.g. between the command-line and the GUI option parsing) and allows
requirements to be passed around more easily.
Added a Config object to store user preferences. This is also used to get hold of
various singletons such as the iface_cache, stores, fetcher, etc. Objects that need
these things now take a 'config' argument.
There are some backwards compatibility hacks to try and keep old users of the API
working for the time being. These will eventually go away.
Added unit-tests for 0install and all its sub-commands, and fixed various bugs
they found.
Thomas Leonard [Sat, 15 Jan 2011 16:14:10 +0000 (15 16:14 +0000)]
Made a proper Config object
This now holds the global options and lazily creates the various other
required objects (iface_cache, etc). It is passed around as an argument
rather than being a singleton, although there is a method to get a singleton to
help with migration.
TODO:
- unittests
- backwards compat
Thomas Leonard [Sun, 9 Jan 2011 19:15:10 +0000 (9 19:15 +0000)]
Added '0install config' sub-command
Thomas Leonard [Sun, 9 Jan 2011 18:57:35 +0000 (9 18:57 +0000)]
Store configuration in a separate object
Solver now takes a ConfigParser object rather than storing individual settings.
Thomas Leonard [Sun, 9 Jan 2011 18:24:53 +0000 (9 18:24 +0000)]
Added '0install add-feed' and '0install remove-feed' sub-commands
Thomas Leonard [Sun, 9 Jan 2011 16:30:32 +0000 (9 16:30 +0000)]
Implement --set-selections using new 0install command
Thomas Leonard [Sun, 9 Jan 2011 16:13:57 +0000 (9 16:13 +0000)]
Allow passing a selections document in place of a feed
Thomas Leonard [Sun, 9 Jan 2011 15:49:58 +0000 (9 15:49 +0000)]
Added '0install list' sub-command
Thomas Leonard [Sat, 8 Jan 2011 21:59:31 +0000 (8 21:59 +0000)]
0launch internally now uses new 0install command code
Thomas Leonard [Sat, 8 Jan 2011 21:29:33 +0000 (8 21:29 +0000)]
Include cmd and support in test coverage report
Thomas Leonard [Sat, 8 Jan 2011 21:24:46 +0000 (8 21:24 +0000)]
Added '0install import' sub-command
Thomas Leonard [Sat, 8 Jan 2011 19:23:05 +0000 (8 19:23 +0000)]
Added '0install update' sub-command
Thomas Leonard [Sat, 8 Jan 2011 18:51:02 +0000 (8 18:51 +0000)]
Added '0install run' sub-command
Thomas Leonard [Sat, 8 Jan 2011 18:33:37 +0000 (8 18:33 +0000)]
Added "0install download"
Thomas Leonard [Sat, 8 Jan 2011 17:18:48 +0000 (8 17:18 +0000)]
Added "0install select" sub-command
Also, added --help and --version.
Thomas Leonard [Sat, 8 Jan 2011 18:42:36 +0000 (8 18:42 +0000)]
Documented --message option
Thomas Leonard [Mon, 3 Jan 2011 15:02:22 +0000 (3 15:02 +0000)]
Wrote man-page for planned '0install' command
Thomas Leonard [Tue, 11 Jan 2011 19:48:08 +0000 (11 19:48 +0000)]
Only remove <command>'s <arg> elements when using --main
Before, we also lost the runner, which caused trouble.
Thomas Leonard [Wed, 5 Jan 2011 17:39:59 +0000 (5 17:39 +0000)]
Better diagnostics when no <runner> can be selected
When explaining to the user why the solve failed, create a dummy <command>
for each interface that always matches and has no dependencies, so that the
parent component can still be selected even if it's runner can't.
(we already create a dummy <implementation> to handle the case of a normal,
non-<runner> dependency)
Thomas Leonard [Wed, 5 Jan 2011 11:45:22 +0000 (5 11:45 +0000)]
Improved UI when no version could be selected
- Changed "(choose)" text to "(problem)" and highlighted it in red.
- The tooltip was referring to a button that no longer exists; it now says to
double-click.
- Double-clicking now defaults to showing the Versions tabs.
Thomas Leonard [Mon, 3 Jan 2011 22:10:46 +0000 (3 22:10 +0000)]
Use new GTK tooltips API
Treetips didn't work reliably for some reason and we now depend on GTK >= 2.12
anyway.
Thomas Leonard [Wed, 5 Jan 2011 11:32:29 +0000 (5 11:32 +0000)]
Removed unused and broken --cache option from GUI
Use "0store manage" to get to the cache now.
Thomas Leonard [Wed, 5 Jan 2011 11:04:39 +0000 (5 11:04 +0000)]
Cope with InvalidInterface exceptions in "0desktop --manage"
Thomas Leonard [Mon, 3 Jan 2011 15:58:30 +0000 (3 15:58 +0000)]
Fixed GUI to display recursive runners
Thomas Leonard [Mon, 3 Jan 2011 15:55:04 +0000 (3 15:55 +0000)]
Fixed --show to include recursive runners
Thomas Leonard [Mon, 3 Jan 2011 15:45:57 +0000 (3 15:45 +0000)]
Fixed --show with --command=""
Thomas Leonard [Mon, 3 Jan 2011 14:58:19 +0000 (3 14:58 +0000)]
For a <runner>, depend on the runner's <command>
This means that command-specific runners and other dependencies are now
processed correctly recursively. Before, only the root component's <command>
was processed.
Also, you can now specify a command name like this:
<runner interface='...' command='...'/>
Thomas Leonard [Sun, 19 Dec 2010 20:26:45 +0000 (19 20:26 +0000)]
Don't use symlinks in unit-tests
Not supported on Windows.
Thomas Leonard [Sun, 19 Dec 2010 18:30:01 +0000 (19 18:30 +0000)]
Don't try to set PackageKit locale to None
Otherwise, you get:
Don't know how which D-Bus type to use to encode type "NoneType"
Thomas Leonard [Sun, 19 Dec 2010 15:48:48 +0000 (19 15:48 +0000)]
If no writeable directory is in $PATH, use ~/bin
The target directory is now created if it doesn't exist.
Also, the output is less verbose and doesn't tell you to use "rehash"
if you're using zsh.
Thomas Leonard [Sun, 19 Dec 2010 15:30:35 +0000 (19 15:30 +0000)]
Updated README
Thomas Leonard [Sun, 19 Dec 2010 14:13:04 +0000 (19 14:13 +0000)]
Fixed reloading of feeds after compiling
Thomas Leonard [Sun, 19 Dec 2010 12:32:08 +0000 (19 12:32 +0000)]
Also reload local feeds with solve_with_downloads(force = True)
Thomas Leonard [Fri, 10 Dec 2010 20:48:49 +0000 (10 20:48 +0000)]
Allow command_name to be None
In this case, we select any implementation (as in 0launch < 0.51), and the
Selections document contains no <command> elements.
From the command-line, --command="" selects this behaviour.
Thomas Leonard [Fri, 10 Dec 2010 20:51:41 +0000 (10 20:51 +0000)]
Merged 0.51.1 branch
Thomas Leonard [Sun, 5 Dec 2010 22:09:48 +0000 (5 22:09 +0000)]
Really fixed installation of locale files
Thomas Leonard [Sun, 5 Dec 2010 20:39:34 +0000 (5 20:39 +0000)]
Start development series 0.51-post
Thomas Leonard [Sun, 5 Dec 2010 20:39:33 +0000 (5 20:39 +0000)]
Release 0.51
Thomas Leonard [Sun, 5 Dec 2010 20:37:04 +0000 (5 20:37 +0000)]
Fixed setup.py to install locale files
Thomas Leonard [Sun, 5 Dec 2010 19:48:22 +0000 (5 19:48 +0000)]
Added test for helpers.ensure_cached, and fixed it
Thomas Leonard [Sun, 5 Dec 2010 19:40:21 +0000 (5 19:40 +0000)]
Include top-level .py files in test coverage report
Thomas Leonard [Fri, 3 Dec 2010 08:54:43 +0000 (3 08:54 +0000)]
Added support for $-substitution in <arg> elements
This is to support programs that need to be given their dependencies
through arguments. For example:
<command name="run" path="myprog">
<arg>--java-home=${JAVA_HOME}</arg>
</command>
Currently, the values come from the environment (so any environment variable
can be used). Possibly it should be restricted to only those variables set in
the feed, or extended to other types of binding (to avoid polluting the
process's environment just to pass an argument).
Thomas Leonard [Tue, 30 Nov 2010 22:53:35 +0000 (30 22:53 +0000)]
Allow passing arguments to the runner
Unlike <arg> elements directly under <command>, these arguments are passed before the
implementation path. Also, the implementation path itself is now optional.