Bug 427316

Summary: gnupg2: please avoid kde-filesystem dep
Product: [Fedora] Fedora Reporter: David Zeuthen <davidz>
Component: gnupg2Assignee: Rex Dieter <rdieter>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhideCC: bdpepple, mclasen, nalin
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 3.5-36.fc8.1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-02-07 03:35:52 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description David Zeuthen 2008-01-03 00:34:19 UTC
Looks like (see [1]) gnupg2 is pulling in kde-filesystem. As seahorse is part of
the GNOME desktop now and seahorse pulls in gnupg2, effectively kde-filesystem
is being pulled in. Is it possible that

/etc/kde/env/gpg-agent-startup.sh
/etc/kde/shutdown/gpg-agent-shutdown.sh

can be moved elsewhere? It seems wrong to have this in the base gnupg2 package.
Thanks.

[1] :

# yum remove kde-filesystem
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package kde-filesystem.noarch 0:4-4.fc9 set to be erased
--> Processing Dependency: kde-filesystem for package: gnupg2
--> Running transaction check
---> Package gnupg2.i386 0:2.0.8-1.fc9 set to be erased
--> Processing Dependency: gnupg2 for package: gpgme
--> Running transaction check
---> Package gpgme.i386 0:1.1.5-4.fc8 set to be erased
--> Processing Dependency: libgpgme.so.11 for package: seahorse
--> Processing Dependency: libgpgme.so.11(GPGME_1.0) for package: seahorse
--> Running transaction check
---> Package seahorse.i386 0:2.21.3-1.fc9 set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size 
=============================================================================
Removing:
 kde-filesystem          noarch     4-4.fc9          installed         1.2 k
Removing for dependencies:
 gnupg2                  i386       2.0.8-1.fc9      installed         5.8 M
 gpgme                   i386       1.1.5-4.fc8      installed         593 k
 seahorse                i386       2.21.3-1.fc9     installed         9.7 M

Transaction Summary
=============================================================================
Install      0 Package(s)         
Update       0 Package(s)         
Remove       4 Package(s)

Comment 1 Rex Dieter 2008-01-03 02:28:59 UTC
kde-filesystem are just a bunch of directories, no files even. 

Is this really an issue?

Comment 2 Rex Dieter 2008-01-03 02:31:05 UTC
Regardless, I can see your point, I'll see if we can come up with a better solution.

Comment 3 Rex Dieter 2008-01-03 20:34:20 UTC
*** Bug 427441 has been marked as a duplicate of this bug. ***

Comment 4 David Zeuthen 2008-01-03 21:18:40 UTC
It's not so much just the files, it's also somewhat the policy that gpg-agent
(whatever that is, what is it?) only gets to run if you're a KDE user. Raises
some questions

 - Why isn't this useful for people running KDE?
   - Is it possible that e.g. GNOME users would want it?
 - Why is it useful for people running KDE?
   - Is it possible that some KDE users wouldn't want it?
 - (Btw, what does it do?)

By looking at gnupg2 it appears to be only a mechanism; e.g. it shouldn't
automatically do anything; that's normally left for policy programs using
mechanisms. And forcing policy on people who just want the mechanism, whether
they use KDE or GNOME, is normally frowned upon.

Also, if the answer is that gnupg-agent is useful for other than KDE users (and
I think it might), you might want to use xdg autostart or something else instead
of something that is KDE specific.

Anyway, that was a long comment, sorry about that, to explain the reasoning. Thanks.

Comment 5 David Zeuthen 2008-01-03 21:24:08 UTC
>  - Why isn't this useful for people running KDE?

s/running/not running/

gah, bugzilla really needs an "edit comment" button... sorry about that.

Comment 6 Rex Dieter 2008-01-03 21:30:15 UTC
I agree 100%  Give me a method to start (and stop!) gpg-agent in gnome or in any
DE-independant way, and I'll gladly help make it happen.

Comment 7 Nalin Dahyabhai 2008-01-03 21:49:17 UTC
Could we start it from /etc/X11/xinit/xinitrc, like we start ssh-agent?

Comment 8 David Zeuthen 2008-01-03 21:57:00 UTC
(In reply to comment #6)
> I agree 100%  Give me a method to start (and stop!) gpg-agent in gnome or in any
> DE-independant way, 

Well, I think the main problem from using xdg autostart is the environment
variable issue right?

> and I'll gladly help make it happen.

Even if it's DE independent it should still go into a separate sub package; some
users and even some DE's (like gnome; I think seahorse takes care of it for
GNOME) might want to avoid it..


Comment 9 Rex Dieter 2008-01-03 21:58:12 UTC
>  ... environment variable issue right?

yes.

> xinitrc

possible, if that handles graceful shutdown/termination too.

Comment 10 Rex Dieter 2008-01-03 22:01:38 UTC
anybody, feel free to yell at me on irc when you get a chance, and we'll see if
we can come up with something.

Comment 11 David Zeuthen 2008-01-03 22:09:11 UTC
(In reply to comment #9)
> >  ... environment variable issue right?
> 
> yes.

I think relying on environment variables is slightly broken already; for example
if two services need each other you're screwed. You also then need to worry
about ordering of startup. Also, it prevents a service from starting late in the
game - which is useful if said service needs to get credentials from the user to
perform it's function.

The other approach is to rely on a per-user file in /tmp or in $HOME but that's
broken too as it won't work for multiple sessions for the same user (think of
all the other problems when turning something per-session into per-user).

The modern approach to this problem is to use the session bus (e.g. D-Bus) as
the protocol since it solves all of these problems (including nuking all daemons
on the bus when the session ends). Clearly that involves a lot of work and
breaks the protocol. But perhaps worth pointing this out to upstream?


Comment 12 Nalin Dahyabhai 2008-01-03 22:12:30 UTC
(In reply to comment #9)
> > xinitrc
> 
> possible, if that handles graceful shutdown/termination too.

From the looks of it, we can just prepend 'gpg-agent --daemon' to the command
which launches the "real" session manager, as we do 'ssh-agent' now.

Comment 13 David Zeuthen 2008-01-03 22:16:47 UTC
(In reply to comment #12)
> (In reply to comment #9)
> > > xinitrc
> > 
> > possible, if that handles graceful shutdown/termination too.
> 
> From the looks of it, we can just prepend 'gpg-agent --daemon' to the command
> which launches the "real" session manager, as we do 'ssh-agent' now.

I think at least for GNOME you want to avoid that (seahorse-agent(1) plays that
role I think) .. so if you do this, please put it in a sub package. Thanks.


Comment 14 David Zeuthen 2008-01-03 23:25:34 UTC
I've investigated the seahorse situation a bit more

http://mail.gnome.org/archives/desktop-devel-list/2008-January/msg00005.html

It seems seahorse provides it's own gpg-agent, fair enough, but it currently
rewrites the users .gnupg/gpg.conf file <- very bad!

So I think, for Fedora at least, we're going to make seahorse drop a file into
/etc/X11/xinit/xinitrc.d and gnupg2 could probably provide a sub package that
does the same. On GNOME though, we would not want that subpackage installed as
it would conflict with seahorse in somewhat interesting ways.

Hope this clarifies.

Comment 15 David Zeuthen 2008-01-03 23:48:16 UTC
This confirms that it working for me

$ cat /etc/X11/xinit/xinitrc.d/seahorse-agent.sh 
#!/bin/sh
if [ -x /usr/bin/seahorse-agent ]; then
    export `/usr/bin/seahorse-agent --variables`
fi

$ ps aux|grep seahorse-agent
davidz    6508  0.0  0.2  27836  6660 ?        Ss   18:43   0:00
/usr/bin/seahorse-agent --variables

$ echo $GPG_AGENT_INFO 
/tmp/seahorse-P1oU28/S.gpg-agent:6508:1;



Comment 16 David Zeuthen 2008-01-03 23:54:39 UTC
(just FYI, filed bug 427466 against seahorse for what is suggested in comment 15)

Comment 17 tengel 2008-01-04 05:55:39 UTC
Any way that - while y'all are working on it - you can pull the
gunpg2-2.0.8-1.fc8 packages out of the updates stream? Basically everyone's
automated systems are going to end up sucking down kde-filesystem and littering
up hard drives. I feel the package should be withdrawn until you figure out the
way to not include KDE parts on a GNOME-only setup, since going forward you're
not going to reach out to thousands of systems and remove the kde-filesystem
trash for them after gnupg2 package has been fixed.

Thanks.


Comment 18 Rex Dieter 2008-01-04 12:36:40 UTC
tengel:  gnupg2 has included this same dep for ages (even previous releases).

And calling it "trash" isn't going to make you any friends.

Comment 19 Brian Pepple 2008-01-04 14:58:03 UTC
(In reply to comment #18)
> tengel:  gnupg2 has included this same dep for ages (even previous releases).

I don't think that was the case for F8, since I've had gnupg2 on several
machines, and only with the latest release (2.0.8-1) was the kde-filesystem
pulled in.



Comment 20 Rex Dieter 2008-01-04 15:05:14 UTC
bummer, I knew after posting that someone would catch my error:

* Mon Nov 12 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 2.0.7-4
- Requires: kde-filesystem (#377841)

:)

Comment 21 tengel 2008-01-05 18:41:07 UTC
rdieter: I'm not here to make friends, I'm here to voice a complaint that many
people just don't bother to take the time to do; most people just ignore
problems and live with it.

your statement is wholly incorrect, the currently installed gnupg2 from
F8(gnupg2-2.0.7-3.fc8) does not include kde-filesystem as a dep. This dep is new
to the release being pushed out, it's pretty obvious from this bug report.

I see that it's still being pushed out, so y'all really don't care much about
the thousands of people being affected by it.


Comment 22 Kevin Kofler 2008-01-08 03:11:04 UTC
"littering up hard drives" with a 1140 _byte_ package? You gotta be kidding!

Comment 23 tengel 2008-01-08 03:17:38 UTC
You can sit here and argue all day regarding the relative merits of what is or
is not trash, this is a red herring comment. The facts are basic: the new gnupg2
package forces an inclusion of KDE parts when it's actually not necessary - this
is being worked on in a bigger picture (going from the comments above regarding
seahorse, etc.). Regardless of your personal views on the issue, the inclusion
is errant and needs to be repaired in the current packages. If you wish to start
an argument about what is or isn't trash, take it to email.


Comment 24 Rex Dieter 2008-01-24 03:20:01 UTC
fixed in rawhide, expect updates-testing candidates to appear soon.

* Wed Jan 23 2008 Rex Dieter <rdieter> 2.0.8-2
- avoid kde-filesystem dep (#427316)

Comment 25 Thomas Jarosch 2008-01-25 15:43:37 UTC
The "gpg-agent-startup.sh" and "gpg-agent-shutdown.sh" files are gone in the 
latest gnupg2 package. Where did they go to?

If they got intentionally removed, what about putting them in a gnupg2-kde 
package for easy installation? This separate package could depend on 
kde-filesystem without any bad feelings...

Comment 26 Rex Dieter 2008-01-25 16:35:02 UTC
These are kde-specific scripts, now contained in kde-settings pkg.

Comment 27 Fedora Update System 2008-01-27 07:24:59 UTC
gnupg2-2.0.8-2.fc8, kde-settings-3.5-36.fc8.1 has been pushed to the Fedora 8 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update gnupg2 kde-settings'.  You can provide feedback for this update here: http://admin.fedoraproject.org/F8/FEDORA-2008-1096

Comment 28 Fedora Update System 2008-02-07 03:35:50 UTC
kde-settings-3.5-36.fc8.1, gnupg2-2.0.8-2.fc8 has been pushed to the Fedora 8 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 29 Fedora Update System 2008-02-07 20:57:42 UTC
kde-settings-3.5-30.fc7.1, gnupg2-2.0.8-2.fc7 has been pushed to the Fedora 7 stable repository.  If problems still persist, please make note of it in this bug report.