Currently, VE relies on the Cite extension in Mediswiki-Vagrant, but with the introduction of Citoid into production, it'd be good to have it in Vagrant as well.
To achieve that, we need to:
- create Zotero Vagrant roles
- create a Citoid Vagrant role
Currently, VE relies on the Cite extension in Mediswiki-Vagrant, but with the introduction of Citoid into production, it'd be good to have it in Vagrant as well.
To achieve that, we need to:
Subject | Repo | Branch | Lines +/- | |
---|---|---|---|---|
Add Citoid service and new Zotero role | mediawiki/vagrant | master | +205 -5 |
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Open | None | T91787 Have a MediaWiki vagrant role "production" which mirrors WMF production | |||
Resolved | • dpatrick | T91923 Have a Citoid Vagrant role |
I created https://gerrit.wikimedia.org/r/#/c/206936/ which does this for the extension, but not the service. Is this task asking for the former or the latter (or both)?
Great start! Thnx @Jdforrester-WMF
Is this task asking for the former or the latter (or both)?
The whole shebang, ideally. Having a self-contained, local dev citoid (service+deps+ext) would greatly easy things for newcomers.
I've submitted a patch to gerrit with a Citoid service vagrant role. This is my first time doing this, so please review mercilessly and let me know what I messed up: https://gerrit.wikimedia.org/r/#/c/217220/
Change 217220 had a related patch set uploaded (by Dpatrick):
Add Citoid service to vagrant role
Zotero should be running/configured for the citoid role as well. The service alone can run without it, but the tests won't pass, for instance. At some point we could separate zotero out of the role, but that will have to wait until zotero is separated better from the service.
Yup, as we all know veery well :)
At some point we could separate zotero out of the role, but that will have to wait until zotero is separated better from the service.
For consistency, it should have its own module, the citoid role could then just include it.
My latest patchset adds the Zotero Translation Server as well.
@mobrovac: How do I create a dependency between roles such that forwarded ports are enabled properly? Right now, citoid requires zotero and Puppet deploys things as expected, however, Vagrant does not setup forwarding.
Also, I have a workaround in place to deal with /usr/lib/xulrunner-devel-24.0/sdk/bin/xpcshell, as installed by the xulrunner-dev package, not being executable. Can someone fix that in our package?
Cool! I'll take a look at it.
@mobrovac: How do I create a dependency between roles such that forwarded ports are enabled properly? Right now, citoid requires zotero and Puppet deploys things as expected, however, Vagrant does not setup forwarding.
That's a feature of the MW Vagrant plugin - it sets up settings only for roles explicitly enabled by the user, but not for dependant roles/modules as well. Tu turn on port forwarding for Zotero as well, you'll need to add a line to modules/role/settings/citoid.yaml.
Also, I have a workaround in place to deal with /usr/lib/xulrunner-devel-24.0/sdk/bin/xpcshell, as installed by the xulrunner-dev package, not being executable. Can someone fix that in our package?
Good question. I'm adding @akosiaris in the hope that he can answer that one.
Also, I have a workaround in place to deal with /usr/lib/xulrunner-devel-24.0/sdk/bin/xpcshell, as installed by the xulrunner-dev package, not being executable. Can someone fix that in our package?
Why not just do a file { '/usr/lib/xulrunner-devel-24.0/sdk/bin/xpcshell': mode => '555' } instead ?
Good question. I'm adding @akosiaris in the hope that he can answer that one.
I 've tried. I 've failed and gave up. Easier that I should but given the time this package takes to build (3/4 of a day) I found it cheaper to bypass it for now. Also this package is unsupported from upstream, another one of zotero's problems. I 'd rather we removed it from the repo altogether than spend time fixing it.
I was trying avoid modification of package-provided files. But I'll consider a chmod.