FS#52393 - [inkscape] Release 0.92 uses system "scour" instead of internal copy

Attached to Project: Arch Linux
Opened by Franz Rogar (franzrogar) - Friday, 06 January 2017, 10:55 GMT
Last edited by Maxime Gauduin (Alucryd) - Saturday, 04 February 2017, 19:21 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Gaetan Bisson (vesath)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description: As of verson 0.92 (current), the option "Export Optimized SVG" uses the system installed "Scour" version instead of an inner copy. [1]

[1] http://wiki.inkscape.org/wiki/index.php/Release_notes/0.92#Export_Optimized_SVG

Currently, "scour" is maintained as AUR package and it's not mention as an (optional) requierement when installing Inkscape.


Solution suggestion: move "scour" to Extra and add it as "optional dependency" (though highly needed) when installing.
This task depends upon

Closed by  Maxime Gauduin (Alucryd)
Saturday, 04 February 2017, 19:21 GMT
Reason for closing:  Fixed
Additional comments about closing:  0.92.0-4
Comment by Gaetan Bisson (vesath) - Friday, 06 January 2017, 17:30 GMT
What inner copy are you referring to? Inkscape can use scour if it is available on the system, that's all.
Comment by Maxime Gauduin (Alucryd) - Friday, 06 January 2017, 18:14 GMT
I'll move scour to extra then, will report back when it's done.
Comment by Franz Rogar (franzrogar) - Friday, 06 January 2017, 18:17 GMT
@vesath, Inkscape had "scour" built-in up to 0.91 (using a really outdated version). So, for 0.92, they chosed to drop the built-in version and use the system one. Hence, now, the "Export Optimized SVG" option is lost for most users (scour is not ATM in the official repos) and users have no clue why (no "optional depencency" when installing).

@alucryd, thank you very much :-)
Comment by Gaetan Bisson (vesath) - Friday, 06 January 2017, 19:01 GMT
Oh, sure, I thought you meant it was builtin in 0.92. Anyhow once Maxime moves scour to [extra] I'll make inkscape (opt)depend on it. Edit: Thanks Maxime!
Comment by Maxime Gauduin (Alucryd) - Friday, 06 January 2017, 22:44 GMT
My pleasure, scour is now in [extra] :)
Comment by Ole Strøm (oles) - Tuesday, 31 January 2017, 16:06 GMT
  • Field changed: Percent Complete (100% → 0%)
Seems like inkscape does not register that scour is installed.

I've tried the obvious - reinstalled both, deleted configs, rebooted... But I keep on getting:


Failed to import Python module 'scour'.
Please make sure it is installed (e.g. using 'pip install scour' or 'sudo apt-get install python-scour') and try again.

Details:
No module named scour
Comment by Doug Newgard (Scimmia) - Tuesday, 31 January 2017, 16:07 GMT
Probably a python3 vs python2 issue
Comment by Maxime Gauduin (Alucryd) - Tuesday, 31 January 2017, 17:36 GMT
Indeed, inkscape is python 2, scour is python 3. I can make a split python2-scour package, keeping in mind that it will have to conflict with regular scour.
Comment by Eli Schwartz (eschwartz) - Tuesday, 31 January 2017, 20:56 GMT
Why should it conflict? The file list for scour shows it just installs files to /usr/lib/python3.6/ plus a console_script, and standard operating procedure for split python{2,3} modules is to allow installing both modules as (coexisting) libraries, and make the executable part of the python 3 package. The python2 executable can usually be removed, as anyone requiring its functionality can just install the primary (python3) version.

If a python module implements functionality that is useful *as an executable* both for python2 and python3, then the python2 script should be renamed to not conflict with the python3 package, e.g. the python-pip pkgbase. That isn't usually the case though, mainly for things that interact with python itself like pylint, flake8, ipython, pip of course...
Comment by Maxime Gauduin (Alucryd) - Wednesday, 01 February 2017, 18:30 GMT
Right, renaming the executable it is then. I have no idea how inkscape calls scour though, but that shouldn't affect it, if it called the executable it would have found the python 3 version.
Comment by Eli Schwartz (eschwartz) - Wednesday, 01 February 2017, 20:38 GMT
Well, since inkscape is written in python2 and the error message "Failed to import Python module 'scour'." explicitly refers to the module, I assume it doesn't subprocess out to /usr/bin/scour. :)

The only reason to prefer the python2 module over the python3 executable, is if it needs to be imported from within an already-running python2 process. So if it were me, I would just delete the executable outright. :)
Comment by Maxime Gauduin (Alucryd) - Saturday, 04 February 2017, 18:35 GMT
python2-scour is up.

Loading...