1 |
On Tue, Jul 27, 2010 at 22:49, Brian Harring <ferringb@×××××.com> wrote: |
2 |
|
3 |
> On Tue, Jul 27, 2010 at 12:56:44PM -0300, Otttvio Pontes wrote: |
4 |
> > Hi, |
5 |
> > |
6 |
> > I have been some time without reporting my work at this mailing list |
7 |
> > and i will send my report for the last weeks. |
8 |
> > |
9 |
> > When i sent my last e-mail I was working on emerging a package from |
10 |
> one |
11 |
> > specific repository using emerge package::repository syntax. It is now |
12 |
> > working. It's possible to use the ::repository syntax in emerge |
13 |
> command |
14 |
> > line, ebuild dependencies and when masking/unmasking/setting use flags |
15 |
> > in /etc/portage/package.*. |
16 |
> |
17 |
> Just verifying- if you have repository configuration equivalent to the |
18 |
> following |
19 |
> |
20 |
> overlay stacking: |
21 |
> master: /usr/portage: repo id gentoo |
22 |
> has dev-util/diffball-1.0 |
23 |
> slave: /usr/local/overlay1: repo id local1 |
24 |
> has dev-util/diffball-1.0 |
25 |
> has dev-util/bsdiff-1.1 |
26 |
> slave: /usr/local/overlay2: repo id local2 |
27 |
> has dev-util/bsdiff-1.1 |
28 |
> |
29 |
> generated from a make.conf being |
30 |
> PORTDIR=/usr/portage |
31 |
> PORTDIR_OVERLAY="/usr/local/overlay1 /usr/local/overlay2" |
32 |
> |
33 |
> For such a setup, =dev-util/diffball-1.0 is only visible from the |
34 |
> local1 repo- specifically, emerge =dev-util/diffball-1.0::gentoo will |
35 |
> not find the package, emerge =dev-util/diffball-1.0::local1 however |
36 |
> will. |
37 |
> |
38 |
|
39 |
Actually multirepo-portage is working different. If you try to |
40 |
emerge =dev-util/diffball-1.0, it will use the ebuild from local1. |
41 |
emerge =dev-util/diffball-1.0::local1 will do the same. But if you run |
42 |
emerge =dev-util/diffball-1.0::gentoo, it will use the ebuild from gentoo |
43 |
repository. |
44 |
|
45 |
|
46 |
> |
47 |
> Further, =dev-util/bsdiff-1.1::local2 will match, but |
48 |
> dev-util/bsdiff-1.1::local1 will not. |
49 |
> |
50 |
|
51 |
The same happens here. emerge dev-util/bsdiff-1.1::local1 will match and |
52 |
will get the ebuild from local1. |
53 |
|
54 |
|
55 |
> |
56 |
> The reason I ask is that an overlay literally stacks repositories, |
57 |
> slaves shadowing the master. If you do an emerge |
58 |
> =dev-util/diffball-1.0 for the configuration above, you get local1's |
59 |
> ebuild, not gentoo's. Repository atom's should not be able to bypass |
60 |
> this- namely it violates the very nature of repository stacking. |
61 |
> |
62 |
> |
63 |
I see no reason to avoid this. Imagine if I use an overlay with some kde |
64 |
ebuilds. But, for some reason, i want to install kcalc from portage, and not |
65 |
from this overlay. |
66 |
Portage has this versions of kcalc: 4.4.2 and 4.4.3. |
67 |
And this overlay has the version: 4.4.3. |
68 |
|
69 |
If i try to emerge kcalc::gentoo in multirepo-portage it will install the |
70 |
kcalc-4.4.3, which is the newer version in portage. |
71 |
I don't think it's a good idea to install kcalc-4.4.2, because version 4.4.3 |
72 |
is in an overlay too. |
73 |
|
74 |
And what about keywords/masks? Using your example, if a user adds in |
75 |
package.mask: |
76 |
dev-util/diffball::local1 |
77 |
I will mask all diffball ebuilds for local1. So emerge =diffball-1.0::gentoo |
78 |
is suppose to fail too? |
79 |
|
80 |
|
81 |
> So... what's the status of multirepo support's repository atom's for |
82 |
> this case? |
83 |
> ~brian |
84 |
> |