First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 57193
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Daniel Black <dragonheart@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Torsten Stets <mai98bmg@studserv.uni-leipzig.de>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
gpgme-0.9.0.ebuild ebuild (app-crypt/gpgme-0.9.0.ebuild) text/plain Torsten Stets 2004-07-15 09:41 0000 1.44 KB Details
gpgme-0.9.0-r1.ebuild My ideas for the ebuild... please tell me if I'm wrong. application/octet-stream Doug Goldstein 2004-08-07 14:08 0000 1.66 KB Details
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 57193 depends on: 57795 59702 59850 60540 63392 Show dependency tree
Bug 57193 blocks: 23904 42081 57200 59875 60245
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2004-07-15 09:39 0000
Mainly just copying the ebuild for 0.4.7 to 0.9.0. SLOT changed from 0.4 to 0.9
and with that changed the substitutions from *4 to *9. 

Reproducible: Always
Steps to Reproduce:
1.
2.
3.

------- Comment #1 From Torsten Stets 2004-07-15 09:41:41 0000 -------
Created an attachment (id=35485) [details]
ebuild (app-crypt/gpgme-0.9.0.ebuild)

------- Comment #2 From Daniel Black 2004-07-17 22:00:44 0000 -------
Why should there be a new slot? Is the .4 version incompatible with the .9
version or is there any other reason for both to exist on the same machine?

------- Comment #3 From Torsten Stets 2004-07-19 00:48:55 0000 -------
I thought it would be reasonable to change to slot because of the version bump. 
Version 0.4.x -> SLOT 0.4
Version 0.9.x -> SLOT 0.9
No other reasons. 
Sorry if that was wrong. 

------- Comment #4 From Daniel Black 2004-07-20 18:22:52 0000 -------
Just a quick explanation on SLOTS. Slots are for when you want to support 2 or
more versions of the same package on you system. e.g. gcc-2.96 and gcc-3.4. Or
if a package e.g. sys-libs/db need to exist multiple times on a system to
forfill a range of other packages.

To check if a package needs an update - check the changelog and see if there
are major API changes and test the package with the same ebuild and then try to
compile packages that depend on this one. If it breaks there is some api
changes. The decision as to whether to use SLOTS then it based on which is the
easiest solution; Fixing the libs, the programs they depend on, or just giving
up and using SLOTS.

No need to apologise, its part of the learning process. I'm looking at these
factors now. If you want to test youself - remove all gpgme versions. compile
0.9.0 using the 0.47 ebuild. Recompile something that depends on it and post
the result here. If I do go for SLOT and turn out to be wrong, it's a bit messy
to undo. All help appreciated.

------- Comment #5 From Daniel Black 2004-07-22 16:03:14 0000 -------
This is going to be a bit messy - 2 apps (that I've tried) that depend on this
one use removed bits of code. I'm hoping to keep this at the same slot and fix
the applications however I'm very short of time. Any links or code to
application fixes please post here too. Please help. This is a community
distribution, it depends on you much more than me.

------- Comment #6 From Daniel Black 2004-07-28 20:59:47 0000 -------
Things that depend on gpgme and their maintainers

app-crypt/cryptplug/cryptplug:=app-crypt/gpgme-0.3.14	bug-wranglers
app-crypt/gpa/gpa:>=app-crypt/gpgme-0.4*		bug-wranglers
app-crypt/seahorse/seahorse:=app-crypt/gpgme-0.3.14	gnome
dev-python/pyme/pyme:>=app-crypt/gpgme-0.3.9		python
dev-tcltk/tclgpgme/tclgpgme:=app-crypt/gpgme-0.3*	bug-wranglers
mail-client/balsa:=app-crypt/gpgme-0.3.14*		gnome
mail-client/sylpheed:<app-crypt/gpgme-0.4		net-mail
mail-client/sylpheed-claws:=app-crypt/gpgme-0.3.14	bug-wranglers
mail-filter/anubis:>=app-crypt/gpgme-0.3.13		net-mail

Any links to getting these packages working with gpgme-0.9.9 appreciated.

------- Comment #7 From Torsten Stets 2004-07-30 05:22:34 0000 -------
Gpa compiles against gpgme 0.9.0 but then seems to have problems.
The following programs are not intended for use with gpgme 0.4 or higher:
app-crypt/cryptplug
app-crypt/seahorse
dev-tcltk/tclgpgme
mail-client/sylpheed
mail-client/sylpheed-claws
mail-filter/anubis
Pyme has a Version 0.6.0 which could work with gpgme-0.9.0, but I'm not sure.
Balsa uses since Version 2.2.0 gpgme-0.9.0 (see Bug #57200)

------- Comment #8 From Gregorio Guidi (RETIRED) 2004-07-30 06:12:30 0000 -------
Looking at the diff between 0.4.7 and 0.9.0, you will find that there are 
minimal code changes: 0.9.0 is an 'interface cleanup' release, intended to
bring users of the developer branch (0.4.x and now 0.9.x) towards the 
interface of gpgme-1.0.
(the api of 0.9 and 0.4.7 are not incompatible, though, 0.9 just add something, without removing)

Ideally, 0.9 should have SLOT="1", and 0.4.x should go out of the portage tree
in a not so far future, but there's still the problem due to gpgme-0.3 branch
taking all the libraries names...

------- Comment #9 From Daniel Black 2004-07-30 07:31:12 0000 -------
I follow your logic. There are now 2 options:
1. Continue with a different name for the 0.4-0.9-1.0 series and yes a SLOT=1 is appropriate.
2. Rename the libraries that depend on version 0.3 and make their dependencies use the appropriate libraries. Make the 0.9 series then use the basic library names.

I'm in favour of the second. Dependency maintainers - do you agree?
Given sylpheed appears to be still in development I assume it will update its dependancy on gpgme-0.9+ at some stage.

------- Comment #10 From Daniel Black 2004-07-30 19:28:24 0000 -------
Caleb since your interested.

------- Comment #11 From Daniel Black 2004-07-31 18:12:08 0000 -------
Proposed plan to implement this version bump in future proof (resistant anyway)
way that doesn't break everying and realy just tries to simplify stuff:

Step 1:

Ebuilds that depend on the 0.3 branch are to be marked with an explicit upper
version that they depend on. Also check if the upper version can be raised
easily as this will reduce the number of ebuilds in step 3.

(setting the groundwork so future steps don't break anything)

Step 2:
Ebuilds in the >=0.4 branch are to be marked with an explicit upper version
(i.e. <=gpgme-0.4.7).

(setting the groundwork so future steps don't break anything)

Step 3:
Add a 0.3 ebuild for gpgme (+ 1 revision) that compiles the gpgme to
/usr/lib/libgpgme3*. Do this for every dependancy version identified in step 1.

(setting the foundation for new ebuilds to depend on gpgme-0.3*)

Step 4:
Create for the each ebuild that depends on the gpgme-0.3 branch a new ebuild
(with a revision bump) that explictly depends on the step 3 version(s) of the
ebuild. 

(providing ebuilds that depend on the new 0.3 branch so the old ebuilds using
the filename space can be removed)

Step 5:
Replace the 0.9.0 ebuild to install to SLOT=1 and using the standard gpgme
namespace. This will be marked incompatible with pre 0.3 namespace ebuilds
(except for those created in step 3)

(add the version bump as this bug asked for. Put this in standard filename
space)

Step 6:

Commit revision bumps for post 0.4 ebuilds to depend on the 0.9.0 ebuild in
step 5.

(use the new 0.9 gpgme ebuild)

Step 7:

What a while for bug reports on packages and fix them approprately.

(probably innevertable)

Step 8:

Remove the old version 0.3 gpgme ebuilds and their dependancies. Mark the new
gpgme ebuilds that depend on version 0.3 stable (with the new gpgme 0.3
ebuilds).

(horay no more conficts in gpgme ebuilds)

Remove 0.4* ebuilds and their dependancies. Mark ebuilds that depend on version
0.9+ stable (and gpgme version 0.9 too)

(all version bumped)


Does this suit everyone? - bug-wranglers, gnome, net-mail - I realy want your
acceptance here cause I cannot proceed otherwise.

This will make your ebuilds look less like hacks (sed jungles) for all post 0.9
ebuilds. gpgme-0.3 ebuilds will be measier however it looks like most aren't
going to version bump soon.

net-mail - sylpheed may be the exception to this however I imagine they will
come to the modern gpgme-0.9 age soon.

Agreed?

------- Comment #12 From Colin Tinker 2004-08-01 06:16:40 0000 -------
As I use kmail from kde 3.3 b2 I agree as gpgme >0.4.5 is required but not
installed in its own dir eg gpgm9 but globaly.

------- Comment #13 From Daniel Black 2004-08-07 01:41:21 0000 -------
versions gpgme-0.3.14-r1.ebuild and gpgme-0.9.0-r1.ebuild commited representing
the new versions in their new slots (masked until current ebuilds don't
accidently depend on them).

gpgme-0.3.14-r1 installs:
/usr/bin/gpgme3-config
/usr/lib/libgpgme3.so.6.3.5
/usr/lib/libgpgme3.so.6 -> libgpgme3.so.6.3.5 1091862406
/usr/lib/libgpgme3.so -> libgpgme3.so.6.3.5 1091862406
/usr/lib/libgpgme3.la
/usr/lib/libgpgme3.a
/usr/include/gpgme3.h
/usr/share/aclocal/gpgme3.m4
/usr/share/info/gpgme3.info.gz
+ some docs

To compile with 0.3.14-r1 you will need the kind of seds that are used in 0.4+
ebuilds

gpgme-0.9.0-r1 installs in the standard locations (as <0.3.14 did) and For
0.9.0-r1 standard config make without too may complicasions to do with gpgme
are required.

Depandancy maintainers. Please:
make things that currently depend on 0.3.14 DEPEND= <=app-crypt-0.3.14
create a new version of these ebuilds that depend on 0.3.14-r1. As I wish to
remove versions <=app-crypt-0.3.14 (as they confict with 0.9.0-r1+)

Make a new version of ebuilds that depend on gpgme-4+ depend on
>=app-crypt-0.9.0-r1. This will involve removeing most of the complication.

I'll look after the bug-wranglers ebuilds.

------- Comment #14 From Gregorio Guidi (RETIRED) 2004-08-07 11:24:37 0000 -------
Thanks for doing the dirty work, Daniel.
While you're at it, the dependencies of gpgme need a lot of cleanup:

> >=sys-libs/zlib-1.1.3
> sys-apps/gawk
> sys-devel/libtool
> sys-devel/gcc
These are pointless.

> >=app-crypt/gnupg-1.2.2
> smime? ( >=app-crypt/newpg-1.9.6 )
newpg-1.9.6 does not exist, support for smime comes from
gnupg-1.9.x (I suppose this was the intention)

> nls? ( sys-devel/gettext )
gpgme does not have support for gettext! (and the gettext dep would be useless 
even in that case).

> RDEPEND="virtual/libc
> 	dev-libs/libgpg-error"
Why the DEPENDs are not in RDEPEND? RDEPEND could be dropped.

So please in 0.9.0 put something like this:
(the version numbers for gnupg are takn from  http://kmail.kde.org/kmail-pgpmime-howto.html,
I think the configuration that makes kmail usable could be considered
a reasonable default)

DEPEND=">=app-crypt/gnupg-1.2.5
	# substitute the above dep with the following ones
	# when gnupg-1.9.x gets unmasked, and introduce the
	# smime use flag properly in use.local.desc.
#	!smime? ( >=app-crypt/gnupg-1.2.5 )
#	smime? ( >=app-crypt/gnupg-1.9.10 )
	dev-libs/libgpg-error
	dev-libs/libgcrypt
	!<=app-crypt/gpgme-0.3.14"

drop RDEPEND, drop nls from IUSE and drop the `use_enable nls` line.

------- Comment #15 From Doug Goldstein 2004-08-07 14:06:39 0000 -------
Well Daniel asked me to hack at this for a bit. Here's my take and tell me if
I'm wrong.

I've made all the corrections that Gregorio mentioned in comment #14.

But I've still got issues with leaving this SLOTed in 0.4 and installing into
/usr/include/gpgme4 as well as switching everything to gpgme4.

Either it should be reSLOTed to 0.9 or just to 0 (or if you want to 1) and the
.4/.9 stuff should be dropped. Because this is the direction of the library.
gpgme 0.3 should be the special case and have the .3 in everything.

------- Comment #16 From Doug Goldstein 2004-08-07 14:08:45 0000 -------
Created an attachment (id=36978) [details]
My ideas for the ebuild... please tell me if I'm wrong.

------- Comment #17 From Daniel Black 2004-08-07 19:41:25 0000 -------
Gregorio,

Thanks was still work in progress. Thanks for the pointers I undoubtly would of missed something and this info realy does help.

DEPEND are what is needed to create the library. RDEPENDS are whats neeed at runtime. a ldd on the created libraries will list these RDEPENDS.

Doug,

Plan is to remove all SLOT=0 and SLOT=.4. Just waiting for ebuilds that depend on SLOT=1 (0.9.0+) to be introduced (SLOT=1 conficts with SLOT=0 at the moment).

Thanks for the ebuild. The commit I did must not have taken. It was quite similar.

------- Comment #18 From Daniel Black 2004-08-07 20:37:33 0000 -------
compile error with app-crypt/gpgme-0.3.14-r1. will fix today sometime.

Possible conflicts with package newpg. Need to isolate tests into src_test routine.

gpgme-0.9.0-r1 should work fine.

app-crypt/cryptplug
app-crypt/gpa
mail-client/balsa

updated.
mail-client/sylpheed-claws (cvs version supports 0.9+ awaiting next release or time to do a version based on cvs).

app-crypt/seahorse still todo - have to talk to gnome people.

bug 59702 should solve pyme

Others - weren't simple - work in progress.

------- Comment #19 From Spider (RETIRED) 2004-08-08 11:06:09 0000 -------
you can' have #comments inside DEPEND="" strings.


------- Comment #20 From Daniel Black 2004-08-09 06:32:23 0000 -------
I think  0.9.0-r1 is installing header in wrong spot - should be
/usr/include/gpgme.h?

Gregorio, Doug any progress with dev-tcltk/tclgpgme. Patches welcome.

seahorse fixed. sylpheed-claws fixed.

------- Comment #21 From Gregorio Guidi (RETIRED) 2004-08-09 12:29:52 0000 -------
>I think  0.9.0-r1 is installing header in wrong spot - should be /usr/include/gpgme.h?

There are two possibilities:
gpgme-0.3.x installs /usr/include/gpgme3/gpgme.h and
gpgme-0.9.x installs /usr/include/gpgme/gpgme.h

or

gpgme-0.3.x installs /usr/include/gpgme3.h and
gpgme-0.9.x installs /usr/include/gpgme.h

right now it's kind of both (0.3.14-r1 installs /usr/include/gpgme3/gpgme3.h),
but the first one has the advantage of decreasing the amount of patching and
sed-ing, in both the gpgme ebuild itself and in client apps.

for instance, for dev-tcltk/tclgpgme in the first case we just add

export GPGME_CONFIG=${ROOT}/usr/bin/gpgme3-config

while in the second case we must add (like you did for seahorse)

export GPGME_CONFIG=${ROOT}/usr/bin/gpgme3-config
sed -i -e 's:gpgme\.h:gpgme3\.h:' tclgpgme.c

in src_compile()

------- Comment #22 From Daniel Black 2004-08-16 04:45:04 0000 -------
Gregorio, thanks -well pointed out. Will take nice and easy approach 1.

Nobody told me I did econf twice in 0.3.14-r1 - wake up everybody.

In comment 18 I was wrong about syphleed-claws - its stuck at version gpgme-0.3

Packages refixed:
mail-client/sylpheed-claws-0.9.12-r1
app-crypt/seahorse-0.6.3-r1
app-crypt/cryptplug-0.3.16-r1
mail-client/balsa-2.0.15-r2

Bugs that need fixing before this can be stabilised 

dev-python/pyme bug# 59702
mail-filter/anubis bug #57795
mail-client/sylpheed bug #60540

Updating gpgme-0.3.14 dependant progams should be as easy as:
for the DEPENDANCIES:
<       crypt? ( <app-crypt/gpgme-0.4 )
---
>       crypt? ( =app-crypt/gpgme-0.3.14-r1 )

Before configure:
>       # for gpgme support
>       export GPGME_CONFIG=${ROOT}/usr/bin/gpgme3-config
>
>       # For gnupg-1.9
>       if [ -x ${ROOT}/usr/bin/gpg ];
>       then
>               export GPG_PATH=${ROOT}/usr/bin/gpg
>       elif [ -x ${ROOT}/usr/bin/gpg2 ];
>       then
>               export GPG_PATH=${ROOT}/usr/bin/gpg2
>       fi


After everying is commited and stable bugs 23904, 42081, 57200, 59850,59875, 60245 will be solved!

------- Comment #23 From Daniel Black 2004-08-16 04:55:03 0000 -------
Adding crypto herd herd.
caleb and cardeo - I don't think you are interested any more?

------- Comment #24 From Daniel Black 2004-08-16 07:06:24 0000 -------
dev-tcltk/tclgpgme-1.0-r1 fixed too

------- Comment #25 From Gregorio Guidi (RETIRED) 2004-08-29 03:56:33 0000 -------
Caleb or Daniel, please update kdepim-3.3.0, it is just a matter of setting
>=app-crypt/gpgme-0.9.0-r1 in DEPEND and removing the 'export GPGME_CONFIG' line

Thanks.

------- Comment #26 From Daniel Webert 2004-08-29 07:58:24 0000 -------
*** Bug 62041 has been marked as a duplicate of this bug. ***

------- Comment #27 From Andrej Kacian (RETIRED) 2004-09-08 12:49:01 0000 -------
Anubis has been fixed. Daniel, thanks for the patches.

------- Comment #28 From Daniel Black 2004-09-12 03:36:13 0000 -------
Well 27 comments later and a version bump has been done. Once bug 63501 is
solved I'll put in a bug report to stabilise gpgme-0.3.14-r1 and 0.9.0-r1 and
eventually remove all others. Any problems please open a new bug report. I
don't realy want to read through this again :-)

First Last Prev Next    No search results available      Search page      Enter new bug