Bug 1307203

Summary: Inkscape pulls in gvfs
Product: [Fedora] Fedora Reporter: Steve <y9t7sypezp>
Component: inkscapeAssignee: Gwyn Ciesla <gwync>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 23CC: duffy, gwync, jonathan.underwood, lkundrak
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-12-20 18:40:43 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Steve 2016-02-13 02:58:54 UTC
Description of problem:
When Inkscape is installed, gvfs is pulled in as a dependency. I intentionally removed gvfs after switching to the Xfce DE, because I do not want unneeded processes indexing everything I do.

According to an earlier bug[1] on this problem, Inkscape lost some functionality involving clipart. That is not functionality I need, so why should I be forced to install gvfs to accommodate those who do? It sounds like the clipart functionality should be moved into a separate package, so that it is *optional*.

And why are gamin and python-nose needed by a drawing program?[2]

Version-Release number of selected component (if applicable):
inkscape-0.91-15.fc23.x86_64

Additional info:
[1] Bug 653516 - Inkscape should not require deprecated GnomeVFS 

[2] # dnf history info 128
...
Command Line   : install inkscape
...
Packages Altered:
    Install ImageMagick-c++-6.9.2.7-1.fc23.x86_64   @updates
    Install gamin-0.1.10-18.fc23.x86_64             @fedora
    Install gnome-vfs2-2.24.4-19.fc23.x86_64        @fedora
    Install gnome-vfs2-common-2.24.4-19.fc23.noarch @fedora
    Install gsl-1.16-17.fc23.x86_64                 @fedora
    Install gvfs-1.26.2-1.fc23.x86_64               @updates
    Install gvfs-client-1.26.2-1.fc23.x86_64        @updates
    Install inkscape-0.91-15.fc23.x86_64            @fedora
    Install librevenge-0.0.4-1.fc23.x86_64          @updates
    Install libwpd-0.10.1-1.fc23.x86_64             @updates
    Install libwpg-0.3.1-1.fc23.x86_64              @updates
    Install potrace-1.13-2.fc23.x86_64              @updates
    Install python-cssselect-0.9.1-6.fc23.noarch    @fedora
    Install python-lxml-3.4.4-1.fc23.x86_64         @fedora
    Install python-nose-1.3.7-4.fc23.noarch         @fedora
    Install python-reportlab-3.1.8-5.fc23.x86_64    @fedora
    Install uniconvertor-2.0-0.8.svn362.fc23.x86_64 @fedora
    Install numpy-1:1.9.2-2.fc23.x86_64             @fedora
    Install aspell-12:0.60.6.1-12.fc23.x86_64       @fedora

Comment 1 Steve 2016-02-13 10:06:58 UTC
I looked closer and this clip art feature[1] that requires gvfs appears to be trying to turn a drawing program into a web browser. The feature should be implemented as an *optional* Inkscape extension.

BTW, in one minute of use I found two networking-related bugs.

[1] It allows users to search the Open Clip Art Library and to import images from it.

Comment 2 Steve 2016-02-15 02:21:48 UTC
This problem may be easier to fix than I thought. In developing a patch to
build Inkscape without gnome-vfs,[1] I found that test builds without
gnome-vfs still support the "Import Clip Art..." functionality, provided
that gvfs and gvfs-client are installed.

Without those packages, clicking on the "Import Clip Art..." search button
produces these errors, but no crashing:

(inkscape:16929): glibmm-CRITICAL **: 
unhandled exception (type Glib::Error) in signal handler:
domain: g-io-error-quark
code  : 15
what  : Operation not supported

NB: When testing, make sure that no gvfs processes are running after removing
the gvfs packages:
# pkill gvfs

[1] Bug 1308311 - [RFE] support builds without gnome-vfs

Comment 3 Jonathan Underwood 2016-02-15 11:02:56 UTC
Right - in version 0.91, we should no longer be depending on gnome-vfs - everything has been ported to gvfs/gio. So, as a first step we can remove dependency on gnome-vfs2. 

However, removing the dependency on gvfs/gio seems like a non-starter to me until there's an upstreamed patch which does run-time checking for those, rather than build time.

Comment 4 Steve 2016-02-15 20:51:55 UTC
(In reply to Jonathan Underwood from comment #3)
...
> However, removing the dependency on gvfs/gio seems like a non-starter to me
> until there's an upstreamed patch which does run-time checking for those,
> rather than build time.

OK. Thanks for opening the upstream bug.[1] What I had in mind as a workaround would be a way to allow gvfs to be removed after Inkscape is installed, but I don't know if there is a way to implement that.

[1] https://bugs.launchpad.net/inkscape/+bug/1545737

Comment 5 Steve 2016-02-16 04:41:43 UTC
inkscape.spec already lists some "Weak dependencies":

# Weak dependencies for the LaTeX plugin
Suggests:       pstoedit
...

Users can get the list with these commands:
$ dnf repoquery --suggests inkscape
$ rpm -q --suggests inkscape

Those commands are probably too arcane for most users, but they would document the dependency:

# Weak dependency for Import Clip Art functionality
Suggests:       gvfs

gvfs requires gvfs-client, so gvfs-client probably wouldn't need to be listed.

Comment 6 Jonathan Underwood 2016-02-16 10:52:27 UTC
(In reply to Steve from comment #5)
> # Weak dependency for Import Clip Art functionality
> Suggests:       gvfs
> 
> gvfs requires gvfs-client, so gvfs-client probably wouldn't need to be
> listed.

Yes, I considered this. But I am loathed to do it until the case of gvfs not being present is gracefully handled (by not showing the clipart menu, for example). Otherwise, there'll be bug reports about missing dependencies on gvfs in the future. Weak dependencies are there for non-core functionality, and I think a majority of people would regard clip art as core functionality in inkscape. The weakest I'd feel comfortable with gvfs would be Recommends (once things are handled gracefully).

Comment 7 Jonathan Underwood 2016-02-16 10:53:50 UTC
ps. Clipart functionality, unlike the LaTeX plugin, isn't a plugin - it would be better if it were, then we could split out a inkscape-clipart sub-package.

Comment 8 Steve 2016-02-16 15:43:35 UTC
Perhaps I am missing something, but there is no dependency whatsoever on gvsf with the -23 release in rawhide[1]. That's fine with me, but I am confused about how users will know to install gvfs if they want the clipart functionality.

$ rpm -q inkscape
inkscape-0.91-23.fc23.x86_64
$ rpm -q --requires inkscape | grep gvfs
$ rpm -q gvfs
package gvfs is not installed

NB: I am rebuilding the binary package on F23 and successfully installing it without gvfs[2].

[1] http://koji.fedoraproject.org/koji/buildinfo?buildID=736097

[2] # dnf history info last
...
Command Line   : install inkscape-0.91-23.fc23.x86_64.rpm
...
Packages Altered:
    Install inkscape-0.91-23.fc23.x86_64            @@commandline
    Install potrace-1.13-2.fc23.x86_64              @updates
    Install python-cssselect-0.9.1-6.fc23.noarch    @fedora
    Install python-lxml-3.4.4-1.fc23.x86_64         @fedora
    Install python-nose-1.3.7-4.fc23.noarch         @fedora
    Install python-reportlab-3.1.8-5.fc23.x86_64    @fedora
    Install uniconvertor-2.0-0.8.svn362.fc23.x86_64 @fedora
    Install numpy-1:1.9.2-2.fc23.x86_64             @fedora

Comment 9 Jonathan Underwood 2016-02-16 15:47:23 UTC
Oh, duh!! I really thought I'd added a Requires for gvfs! OK, that does need fixing.

Comment 10 Steve 2016-02-16 16:03:56 UTC
(In reply to Jonathan Underwood from comment #9)
> Oh, duh!! I really thought I'd added a Requires for gvfs! OK, that does need
> fixing.

Thanks. Now everything makes sense ... :-)

Comment 11 Steve 2016-02-16 22:29:41 UTC
OK on -24:
$ rpm -q --requires -p inkscape-0.91-23.fc23.x86_64.rpm | grep gvfs
$ rpm -q --requires -p inkscape-0.91-24.fc23.x86_64.rpm | grep gvfs
gvfs

For the record, this is a workaround I was asking about in Comment 4:
# dnf install inkscape-0.91-24.fc23.x86_64.rpm
# rpm -ev --nodeps gvfs gvfs-client

The only side-effect that I can see is that the dnf history does not record the removal of gvfs and gvfs-client.

All builds and testing done on F23.

Comment 12 Fedora End Of Life 2016-11-24 15:32:36 UTC
This message is a reminder that Fedora 23 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 23. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '23'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 23 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 13 Fedora End Of Life 2016-12-20 18:40:43 UTC
Fedora 23 changed to end-of-life (EOL) status on 2016-12-20. Fedora 23 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.