-
Notifications
You must be signed in to change notification settings - Fork 285
Description
I'd like to continue in a separated thread the discussion we started here: #186 (comment)
@olivierkes: From a user standpoint, I guess they want out of the box the ability to export. So why not avoid them the supplementary step of downloading and installing a second software?
@gedakc: That's a good question. There are a few reasons I can think of why we should not bundle pandoc with the manuskript PyInstaller package:
- Manuskript should not crash regardless of whether pandoc is installed or not. We probably have a bug in our code.
- We do not wish to take on added packaging responsibility. If a security bug is found in pandoc and we included pandoc in our package, then we should update our package every time a pandoc bug is fixed.
- Pandoc may be used with other programs outside of manuskript. Multiple copies of pandoc should not be required for each and every program that uses pandoc.
- The user should have the freedom to install (or not install) a specific version of pandoc if they so wish.
- When we eventually have OS specific install packages these should not include a copy of pandoc. For example in Debian and Ubuntu, packages can require or suggest other packages, but never actually include a separate copy of the package.
-
That's right, we need to fix that.
-
We already do. In pyInstaller packages, we ship: python, Qt, PyQt, lxml, pyenchant, pdf.js, and few other libraries.
-
Same as 2.
-
Same as 2. :)
-
I know that in GNU/Linux distributions with proper package system that can handle dependency, this is the case. So when manuksript will ship as .deb package or whatever, it won't include any of the libs mentions in 2.
But how does it work in Windows or Mac OS? If we can do that, great ! But if it add works for the user, not optimal.
And I add:
-
I just had a twitter exchange, and a guy told me manuskript should export to ePUB. I thought he was running 0.3.0 (since ePUB export was added with pandoc on 0.4.0). Turns out, he was running 0.5.0.
If we dont ship pandoc by default (but I still fail to see the reason), we should at least say something explicitly about installing pandoc, directly in the list of export formats, under manuskript's internally supported formats.
-
Other advantage I see of statically linking libraries (is that the right terms?) is that we can control the version of the software we ship, so we can be sure of compatibility. We've just seen a bug with the
-v/--version. If the trade-of is a few Mb more, that's a relatively small price to pay.
So my opinion is: as long as we package with pyInstaller, we should ship pandoc as well. As soon as we find a better option, with better system integration, we might rethink this. Let me hear your thoughts :)