Commit Graph
225 Commits
Author SHA1 Message Date
Mike Auty afd28575ca Re-check constraints when building the tree, in case they change. Also comment on why we don't use that when trimming the possibilties for windows automagic. 2016-02-25 22:03:49 +00:00
Mike Auty d6cc66cb77 Add in self referential checker, should windows change what it does. 2016-02-23 10:16:27 +00:00
Mike Auty 1fd8eecebd Ensure we take into account ignored/NX bits when DTB finding. 2016-02-23 10:15:50 +00:00
Mike Auty 644a028ee4 Fix up the dtbfinder output a little. 2016-02-22 01:54:19 +00:00
Mike Auty 7ba06d0448 If we've tried scanning for the DTB, and we don't find in other arches, remove them as possibilities. 2016-02-22 01:47:09 +00:00
Mike Auty 187325f74e Convert the dtbfinding code into a standalone tool and remove the dtbfinder.py. 2016-02-22 01:46:36 +00:00
Mike Auty ff11f27c75 Fix up the automagic dtb finder to visit internal tree nodes, and to set the right variable! 2016-02-22 01:05:50 +00:00
Mike Auty 0298df3569 Convert visitors to HierarchicalVisitors, keeping a stack of children's results for the dependency resolver. 2016-02-22 01:05:16 +00:00
Mike Auty ba9eb0716a Make output on requirement nodes a little more readable. 2016-02-22 01:03:41 +00:00
Mike Auty bacc8c5539 Move to a HierarchicalVisitor pattern. 2016-02-22 01:02:29 +00:00
Mike Auty a123572701 Add in debugging tools for the dependency tree. 2016-02-21 01:24:34 +00:00
Mike Auty 665ba8946b Fix a logic error in the resolver that meant it might not visit every node. 2016-02-21 01:19:42 +00:00
Mike Auty c6a3c2d6b1 Add in the automagic and allow mid-deptree resolution (without trying to re-fulfill already populated requirements). 2016-02-21 00:42:04 +00:00
Mike Auty 9d7e777c28 Fix up the validity class and enable short_circuiting. 2016-02-21 00:17:44 +00:00
Mike Auty 01ac22bac2 Ensure that the success or failure does not affect the ability for a visitor to change the shortcircuiting. 2016-02-20 23:35:16 +00:00
Mike Auty a9ff081da5 Fix a few bugs and re-add a visitor pattern for traversing the tree. 2016-02-20 23:01:41 +00:00
Mike Auty 71b540f6db Draft up a system to tag the configuration tree with useful information based on the context so far. 2016-02-20 21:36:12 +00:00
Mike Auty 1e8c55bfdd Remove all the visitor pattern stuff, that's likely to bloat rather than help. 2016-02-20 21:35:31 +00:00
Mike Auty ba2083fc7c Refactor the RequirementTreeNode to put it in the interfaces file. 2016-02-20 21:35:05 +00:00
Mike Auty da7774ee92 Refactor and add in a node type for multiple requirements. Lays the groundwork for the hierarchical visitor pattern. 2016-02-20 20:19:36 +00:00
Mike Auty d7aefdce28 Add a comment explaining why we don't truncate strings on \x00. 2016-02-14 02:50:37 +00:00
Mike Auty 0ef389dec9 Tidy up Bytes and String to require all the appropriate parameters. 2016-02-14 02:49:28 +00:00
Mike Auty 86526fa9ad Separate out the object_info to make debugging easier in future. 2016-02-14 01:43:28 +00:00
Mike Auty 9c1dbf88e2 Change Bytes to not require a struct_format, since we generate it from the length parameter. 2016-02-14 01:43:09 +00:00
Mike Auty 9c9183feb2 API change: Alter cast to accept object parameters rather than inheriting (which usually will be wrong). 2016-02-14 01:40:25 +00:00
Mike Auty a8828d7185 Add Strings and Bytes to the native structure code. 2016-02-13 17:18:23 +00:00
Mike Auty 34b8671ce3 Refactor basic to extensions for windows additions. 2016-02-13 17:17:10 +00:00
Mike Auty 3fbc78b38c Fix up the renderer (and stop masking issues by printing in the generator). 2016-02-11 09:23:58 +00:00
Mike Auty d37163d881 Add in python minimum requirement checks. 2016-02-10 07:35:04 +00:00
Mike Auty 370a49a267 Add in a trivial renderer for testing the output system. 2016-02-09 10:14:53 +00:00
Mike Auty bca8dc486d Allow sequences rather than just lists for TreeGrid yields. 2016-02-09 10:14:13 +00:00
Mike Auty 03cb131260 Add a priority ordering for testing layers (high priority trumps lower priority). 2016-01-21 00:06:39 +01:00
Mike Auty a3d685c93a Ensure layers aren't provided more parameters than they need (in case the parameters were meant for a different potential provider. 2016-01-16 22:20:42 +00:00
Mike Auty 139a6b610e Add in an appropriate requirement for BufferLayers. 2016-01-16 22:20:10 +00:00
Mike Auty 211bbbe5f6 Ensure that symbol space providers correctly provision the space.
Also corrects failed importing using import_module from importlib.
2016-01-16 22:01:03 +00:00
Mike Auty 590304ed1f Improve debugging in the dependency resolver. 2016-01-16 22:00:16 +00:00
Mike Auty 78cd3c84c0 Add in a NativeSymbolTable validator. 2016-01-16 21:38:00 +00:00
Mike Auty 84815d204e Refactor and clarify exactly what the dependency resolver's doing.
Also includes requirements and a provider to support adding the
symbol spaces required for XP SP2.
2016-01-16 21:05:37 +00:00
Mike Auty 00660f2a2b Refactor requirements to their own file. 2016-01-16 21:04:41 +00:00
Mike Auty a8d6fd5647 Refactor windows code to windows basic to avoid import loops. 2016-01-16 20:09:18 +00:00
Mike Auty 7db739279f Refactor configuration interfaces. 2016-01-16 13:24:25 +00:00
Mike Auty 16ffc3e237 Refactor the location of xp_sp2_x86_vtypes. 2016-01-16 13:21:06 +00:00
Mike Auty dc066d3d29 Add in validate function for symbol requirements. 2016-01-15 02:10:50 +00:00
Mike Auty 8e1602c02e Refactor constrained to constraint. 2016-01-15 01:53:08 +00:00
Mike Auty cc2770e88c Make build_caches private. 2016-01-15 01:51:59 +00:00
Mike Auty 21cdc08092 Remove the last traces of metadata. 2016-01-15 01:51:17 +00:00
Mike Auty b36d84ab0d Move metadata to providers variable, and genericize the rudimentary resolver. 2016-01-15 01:50:02 +00:00
Mike Auty 3a8decd57c Add in the interfaces for constraints/providers. 2016-01-15 01:49:18 +00:00
Mike Auty 1c2cb77ea3 Refactor the DataLayerDepResolver into just a generic DepResolver. 2016-01-15 01:47:58 +00:00
Mike Auty 4d4c5e63b9 Set a default for the HierarchicalDicts separator to use a constant. 2016-01-13 00:57:00 +00:00