Dne 15.2.2017 v 16:39 Colin Walters napsal(a): > On Wed, Feb 15, 2017, at 10:07 AM, Vít Ondruch wrote: > >> First of all, I am still not fond of moving the plugins.json into /usr. > Why is that? It's like the fontconfig one, which was discussed in FESCo: > https://pagure.io/fesco/issue/1635#comment-51133 > and approved: > https://pagure.io/fesco/issue/1635#comment-67306 Thinking about it back and forth, discussed it again with some colleagues, considering Matt's comment [1], I'm going to change my mind. But speaking about fontconfig, the situation for Vagrant is way different. As far as I understand, fontconfig can run without that caches and you can regenerated them. While Vagrant can't find its plugins without the plugins.json file and there is no easy (or upstream supported) way how to regenerated that file. >> So from now, I keep Vagrant to look for the plugins.json on the >> place, where Vagrant expects it, i.e. at >> /usr/share/vagrant/plugins.json, but this is link to >> /var/lib/vagrant/plugins.json. > Why not just keep it in /usr if that's where upstream already > expects it? I would be wary mentioning upstream in this context, since Vagrant upstream supports only usage of their RPM. In their RPM, the file is on different location (/opt/....) and it is completely static as far as I can say and nobody is supposed to touch it. The difference is that upstream ships with predefined set of plugins and all the other plugins are installed into user $HOME. We distribute plugins packaged in Fedora, install the into system location and therefore we have to update plugins.json to make Vagrant aware about them. >> Basically, if I understand correctly, the %post is not executed by >> rpm-ostree. > rpm-ostree *does* execute %post. Not sure where I got this. I probably somehow wrongly got the documentation [2] or may be I confused it with %preun [3]? Anyway it is not very clear to me what rpm-ostree is actually doing considering tweaks like [4] (I know, you want to get rid of them ...). > We actually don't use librpm > for this, but custom code for a few reasons. We want to have updates > applied *offline* by default into a new root, so we don't want e.g. `systemctl restart foo` > to run. We currently run every %post in a bubblewrap-based container > with ostree's rofiles-fuse. https://bugzilla.redhat.com/show_bug.cgi?id=1352154 Thx for explanation. >> In this case, the /usr/share/vagrant/plugins.json neither >> the link to /var/lib/vagrant/plugins.json is created, which should be >> fine for Vagrant. As soon as some Vagrant plugin is installed, the >> %transfiletriggerin kicks in and when the file/link is not present, it >> just creates the /usr/share/vagrant/plugins.json. > rpm-ostree doesn't execute %transfiletriggerin though. We can look > at that, though if vagrant has a %posttrans that regenerated the index, > that'd work in both cases. %transfiletrigger{in,un} are essential for plugin registration. Actually I'd prefer to use %filetrigger{in,un}, but they are not correctly implemented ATM [5]. No simple way to use %posttrans, since there is not easily possible to rebuild the plugins.json from scratch. Hence the scriptlets just add/remove the plugins which are installed/uninstalled. > > >> This way, for normal >> Fedora, the plugin.json would be kept in /var/lib/vagrant/plugins.json >> with symlink to /usr/share/vagrant/plugins.json while for rpm-ostree, >> the /usr/share/vagrant/plugins.json would be regular and the only file. > If that's the end result, that seems sane to me. Though I don't quite > understand why not just move it to /usr unconditionally, like fontconfig. Actually, I tried that but I must postpone this change due to backward compatibility with current vagrant plugins, otherwise the scriptlets would break :/ So this might change in F28-F29 timeframe unless some other incompatibility pops up. > >> Does this work for you? Can you test the latest Copr build [3]? > Yeah, I probably can in a bit. Thx [1] https://bugzilla.redhat.com/show_bug.cgi?id=1377367#c12 [2] https://ostree.readthedocs.io/en/latest/manual/adapting-existing/ [3] https://github.com/projectatomic/rpm-ostree/pull/338 [4] https://github.com/projectatomic/rpm-ostree/pull/364 [5] https://bugzilla.redhat.com/show_bug.cgi?id=1301677#c4 _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx