Gentoo Archives: gentoo-amd64

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-amd64@l.g.o
Subject: [gentoo-amd64] Re: File collision with courier-imap and maildrop
Date: Thu, 10 Jan 2008 11:22:05
Message-Id: pan.2008.01.10.11.21.49@cox.net
In Reply to: [gentoo-amd64] File collision with courier-imap and maildrop by "P.V.Anthony"
1 "P.V.Anthony" <pvantony@×××××××××××.sg> posted
2 47852216.2040600@×××××××××××.sg, excerpted below, on Thu, 10 Jan 2008
3 03:35:50 +0800:
4
5 > Trying to install courier-imap and maildrop and encountering file
6 > collisions.
7 >
8 > Is there any way to solve this? Some way to force it?
9 >
10 > Guessing that the files are the same as courier-imap and maildrop come
11 > from the same main courier-mta.
12
13 There's a way (actually several) to force it, but be sure to file a bug
14 on it anyway (checking first to see if one's already filed, of course).
15 IOW, don't let the fact that you can force it cause you to avoid the bug
16 filing step, because it /is/ a bug, and should be fixed.
17
18 1) You can avoid the problem once with
19
20 FEATURES=-collision-protect emerge <whatever>
21
22 2) Since that one causes a possibly quite lengthy full emerge, and the
23 collision-protect test happens at the end, after the package is compiled,
24 right before it's actually merged, you may prefer using ebuild. That's a
25 bit more complicated as portage uses the environment (including FEATURES)
26 from previous steps in later calls to ebuild, so you have to edit that
27 saved environment to get it to finish.
28
29 Edit ${T}/environment (see man 5 ebuild for the meaning of the ${T}
30 variable) as appropriate, in this case, removing collision-protect from
31 features.
32
33 ebuild /<path/to/ebuild.ebuild> merge
34
35 (See man 1 ebuild for the ebuild command details.)
36
37 Note that unlike emerge, ebuild can't figure out where the ebuild is by
38 itself. You have to give it the full path to the ebuild,
39 /${PORTDIR}/${CATEGORY}/${PN}/${PF}.ebuild . Of course that's a bit of a
40 hassle, so for trivial merges, it's easier just to use (1) above, but for
41 those that take awhile, typing the full path isn't /too/ hard, especially
42 not with tab-completion. =8^)
43
44 3) If you want to have portage avoid collision-protect checking for a
45 specific file, class of files, or an entire directory, by default, set
46 the COLLISION_IGNORE variable in make.conf (man 5 make.conf for details).
47
48 Normally, you'll want to do the one-shot thing using methods 1 or 2,
49 since you'd expect the bug you file (right?!) to be resolved before you
50 have to update or remerge that package. However, method 3 comes in handy
51 in cases such as the one I had recently in the kde overlay, testing KDE4
52 svn packages. In that case, upstream (the KDE devs) were still actively
53 changing files around, adding new ones, moving them to different
54 packages, deleting old ones, etc, and a lot of these were non-critical
55 stuff like icons and the like. The folks running the Gentoo kde overlay
56 recommended that people set FEATURES=collision-protect as a safety
57 measure to avoid KDE3 and KDE4 interfering with each other, but having
58 the merges stop just because an icon appeared in two different KDE4
59 packages because upstream had just changed it wasn't useful, and was VERY
60 frustrating. That's where COLLISION_IGNORE comes in, as I was able to
61 set it to have portage avoid the KDE4 icons dir entirely.
62
63 --
64 Duncan - List replies preferred. No HTML msgs.
65 "Every nonfree program has a lord, a master --
66 and if you use the program, he is your master." Richard Stallman
67
68 --
69 gentoo-amd64@l.g.o mailing list

Replies

Subject Author
Re: [gentoo-amd64] Re: File collision with courier-imap and maildrop "P.V.Anthony" <pvantony@×××××××××××.sg>