Gentoo Archives: gentoo-soc

From: "Otávio Pontes" <otaviobp@×××××.com>
To: Brian Harring <ferringb@×××××.com>
Cc: gentoo-soc@l.g.o
Subject: Re: [gentoo-soc] Multiple Repository Support in Portage - Report
Date: Thu, 29 Jul 2010 19:27:00
Message-Id: AANLkTikJdp_2-N1ezodDHOuAuyXKLZrb_=jx_N2YWb+p@mail.gmail.com
In Reply to: Re: [gentoo-soc] Multiple Repository Support in Portage - Report by Brian Harring
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 >

Replies

Subject Author
Re: [gentoo-soc] Multiple Repository Support in Portage - Report Brian Harring <ferringb@×××××.com>