How to drain your laptop battery using Jigsaw

David M. Lloyd david.lloyd at redhat.com
Wed Dec 21 16:49:29 PST 2011


On 12/21/2011 06:44 PM, David M. Lloyd wrote:
> On 12/21/2011 05:07 PM, Jesse Glick wrote:
>> On 12/21/2011 05:40 PM, David M. Lloyd wrote:
>>> This basically implies #2 of your solution though we did not add
>>> any run-time measures to verify version constraints (we came to the
>>> conclusion that this was an install-time concern
>>
>> Well the problem is essentially the same whether you interpret
>> dependency ranges eagerly during installation of a root "application"
>> module, or lazily the first time the application is run and caching
>> thereafter, or simply every time it is run. Obviously a user might
>> accept a twenty-second pause installing a module while rejecting a
>> one-second pause when launching it, but resolution as per Jigsaw's
>> current specification can take time exponential in the number of modules
>> - thus (potentially) intractable even for installation.
>
> Yeah that's a good point. At most we considered a simple verification
> type of constraint at install (or run) time which would be a single
> linear scan of immediate dependencies (to verify consumption of proper
> versions) and immediate dependents (this would apply to install time
> only to ensure that the module installation wouldn't introduce an
> invalid dependency in another module). This keeps the algorithm simple
> and doesn't introduce scalability problems based upon the number of
> installed module.

I should clarify that this is all from the standpoint of not reexporting 
dependencies by default, which is a key facet to the originally linked 
article.

-- 
- DML



More information about the jigsaw-dev mailing list