5 Sep 2024 |
K900 | Looking at the code I'm not sure if this is actually ever addressed on other distros which is scary | 07:02:14 |
outfoxxed | it doesn't appear to but its also not something that can be done very well genericly | 07:02:39 |
outfoxxed | because applications can load whatever paths at whatever time | 07:02:49 |
K900 | We could do a tmpfiles rule | 07:02:50 |
outfoxxed | I don't think we want to clear any other caches the application might have | 07:03:15 |
outfoxxed | what I do think we should do is change the save format of qmlc on disk to include the application path instead of putting it in the hashed name | 07:03:50 |
outfoxxed | similarly to the tag | 07:03:58 |
outfoxxed | some care needs to be taken to only do it to disk cached qml files but that shouldn't be very hard | 07:04:20 |
outfoxxed | it would avoid endless creation of new qml caches whenever there's an update but probably require more maintainance | 07:04:43 |
K900 | In reply to@outfoxxed:outfoxxed.me what I do think we should do is change the save format of qmlc on disk to include the application path instead of putting it in the hashed name How would that help? | 07:05:42 |
outfoxxed | it would allow qtdeclarative to invalidate caches from old derivations | 07:06:00 |
outfoxxed | like what it tries to do with the timestamp | 07:06:06 |
outfoxxed | except working on nix | 07:06:09 |
K900 | It won't though? | 07:06:10 |
outfoxxed | why not? | 07:06:17 |
K900 | Because the path will be different every time | 07:06:18 |
K900 | Because it's a store path | 07:06:23 |
outfoxxed | you misunderstand | 07:06:31 |
K900 | And also we don't want to just yeet any "old" store path | 07:06:31 |
outfoxxed | when the application writes a qml cache to a temp directory then the store path of the application should be encoded in the cache file | 07:06:59 |
outfoxxed | so qtdeclarative can discard mismatched ones | 07:07:10 |
outfoxxed | when the application updates and its store path changes, the cache is invalidated and the old files are also replaced | 07:07:49 |
outfoxxed | as opposed to just leaving them there like the patch set does currently | 07:07:59 |
K900 | But how would you know which files to replace | 07:08:35 |
outfoxxed | because they would have the same name | 07:08:48 |
outfoxxed | which is the hashed qrc path | 07:08:59 |
K900 | Oh wait | 07:09:04 |
K900 | Yeah I think I see what you mean | 07:09:09 |
K900 | But I'm not sure about that | 07:09:12 |
K900 | Because having two store paths with the same qrc name but different versions installed at the same time is not that unlikely | 07:09:39 |