* [gentoo-soc] Multiple Repository Support in Portage - Report @ 2010-07-27 15:56 Otávio Pontes 2010-07-28 1:49 ` Brian Harring 0 siblings, 1 reply; 4+ messages in thread From: Otávio Pontes @ 2010-07-27 15:56 UTC (permalink / raw To: gentoo-soc [-- Attachment #1: Type: text/plain, Size: 1208 bytes --] Hi, I have been some time without reporting my work at this mailing list and i will send my report for the last weeks. When i sent my last e-mail I was working on emerging a package from one specific repository using emerge package::repository syntax. It is now working. It's possible to use the ::repository syntax in emerge command line, ebuild dependencies and when masking/unmasking/setting use flags in /etc/portage/package.*. I also implemented support for syncing portage tree for several version control systems (git, svn, darcs, hg, bzr, ) and changed emerge --sync to sync all repositories in repos.conf with SYNC variable set. Its possible to sync just one repository using emerge --sync repo_name. It's possible to select which vcs will be used in SYNC variable, using the protocol in uri. If you want to download from a git repo using http you can use: SYNC=git+ http://servername/repo.git. After that i wrote a test in pym/portage/tests to use some provided ebuilds to check if emerge is selecting the correct repository when using ::repository syntax. I am working now in improving this tests and writing tests for package.* files and syncing. That's all, Otávio Pontes [-- Attachment #2: Type: text/html, Size: 1333 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [gentoo-soc] Multiple Repository Support in Portage - Report 2010-07-27 15:56 [gentoo-soc] Multiple Repository Support in Portage - Report Otávio Pontes @ 2010-07-28 1:49 ` Brian Harring 2010-07-29 19:26 ` Otávio Pontes 0 siblings, 1 reply; 4+ messages in thread From: Brian Harring @ 2010-07-28 1:49 UTC (permalink / raw To: Otttvio Pontes; +Cc: gentoo-soc [-- Attachment #1: Type: text/plain, Size: 1768 bytes --] On Tue, Jul 27, 2010 at 12:56:44PM -0300, Otttvio Pontes wrote: > Hi, > > I have been some time without reporting my work at this mailing list > and i will send my report for the last weeks. > > When i sent my last e-mail I was working on emerging a package from one > specific repository using emerge package::repository syntax. It is now > working. It's possible to use the ::repository syntax in emerge command > line, ebuild dependencies and when masking/unmasking/setting use flags > in /etc/portage/package.*. Just verifying- if you have repository configuration equivalent to the following overlay stacking: master: /usr/portage: repo id gentoo has dev-util/diffball-1.0 slave: /usr/local/overlay1: repo id local1 has dev-util/diffball-1.0 has dev-util/bsdiff-1.1 slave: /usr/local/overlay2: repo id local2 has dev-util/bsdiff-1.1 generated from a make.conf being PORTDIR=/usr/portage PORTDIR_OVERLAY="/usr/local/overlay1 /usr/local/overlay2" For such a setup, =dev-util/diffball-1.0 is only visible from the local1 repo- specifically, emerge =dev-util/diffball-1.0::gentoo will not find the package, emerge =dev-util/diffball-1.0::local1 however will. Further, =dev-util/bsdiff-1.1::local2 will match, but dev-util/bsdiff-1.1::local1 will not. The reason I ask is that an overlay literally stacks repositories, slaves shadowing the master. If you do an emerge =dev-util/diffball-1.0 for the configuration above, you get local1's ebuild, not gentoo's. Repository atom's should not be able to bypass this- namely it violates the very nature of repository stacking. So... what's the status of multirepo support's repository atom's for this case? ~brian [-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [gentoo-soc] Multiple Repository Support in Portage - Report 2010-07-28 1:49 ` Brian Harring @ 2010-07-29 19:26 ` Otávio Pontes 2010-07-30 4:03 ` Brian Harring 0 siblings, 1 reply; 4+ messages in thread From: Otávio Pontes @ 2010-07-29 19:26 UTC (permalink / raw To: Brian Harring; +Cc: gentoo-soc [-- Attachment #1: Type: text/plain, Size: 3044 bytes --] On Tue, Jul 27, 2010 at 22:49, Brian Harring <ferringb@gmail.com> wrote: > On Tue, Jul 27, 2010 at 12:56:44PM -0300, Otttvio Pontes wrote: > > Hi, > > > > I have been some time without reporting my work at this mailing list > > and i will send my report for the last weeks. > > > > When i sent my last e-mail I was working on emerging a package from > one > > specific repository using emerge package::repository syntax. It is now > > working. It's possible to use the ::repository syntax in emerge > command > > line, ebuild dependencies and when masking/unmasking/setting use flags > > in /etc/portage/package.*. > > Just verifying- if you have repository configuration equivalent to the > following > > overlay stacking: > master: /usr/portage: repo id gentoo > has dev-util/diffball-1.0 > slave: /usr/local/overlay1: repo id local1 > has dev-util/diffball-1.0 > has dev-util/bsdiff-1.1 > slave: /usr/local/overlay2: repo id local2 > has dev-util/bsdiff-1.1 > > generated from a make.conf being > PORTDIR=/usr/portage > PORTDIR_OVERLAY="/usr/local/overlay1 /usr/local/overlay2" > > For such a setup, =dev-util/diffball-1.0 is only visible from the > local1 repo- specifically, emerge =dev-util/diffball-1.0::gentoo will > not find the package, emerge =dev-util/diffball-1.0::local1 however > will. > Actually multirepo-portage is working different. If you try to emerge =dev-util/diffball-1.0, it will use the ebuild from local1. emerge =dev-util/diffball-1.0::local1 will do the same. But if you run emerge =dev-util/diffball-1.0::gentoo, it will use the ebuild from gentoo repository. > > Further, =dev-util/bsdiff-1.1::local2 will match, but > dev-util/bsdiff-1.1::local1 will not. > The same happens here. emerge dev-util/bsdiff-1.1::local1 will match and will get the ebuild from local1. > > The reason I ask is that an overlay literally stacks repositories, > slaves shadowing the master. If you do an emerge > =dev-util/diffball-1.0 for the configuration above, you get local1's > ebuild, not gentoo's. Repository atom's should not be able to bypass > this- namely it violates the very nature of repository stacking. > > I see no reason to avoid this. Imagine if I use an overlay with some kde ebuilds. But, for some reason, i want to install kcalc from portage, and not from this overlay. Portage has this versions of kcalc: 4.4.2 and 4.4.3. And this overlay has the version: 4.4.3. If i try to emerge kcalc::gentoo in multirepo-portage it will install the kcalc-4.4.3, which is the newer version in portage. I don't think it's a good idea to install kcalc-4.4.2, because version 4.4.3 is in an overlay too. And what about keywords/masks? Using your example, if a user adds in package.mask: dev-util/diffball::local1 I will mask all diffball ebuilds for local1. So emerge =diffball-1.0::gentoo is suppose to fail too? > So... what's the status of multirepo support's repository atom's for > this case? > ~brian > [-- Attachment #2: Type: text/html, Size: 4117 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [gentoo-soc] Multiple Repository Support in Portage - Report 2010-07-29 19:26 ` Otávio Pontes @ 2010-07-30 4:03 ` Brian Harring 0 siblings, 0 replies; 4+ messages in thread From: Brian Harring @ 2010-07-30 4:03 UTC (permalink / raw To: Otttvio Pontes; +Cc: gentoo-soc [-- Attachment #1: Type: text/plain, Size: 1786 bytes --] On Thu, Jul 29, 2010 at 04:26:10PM -0300, Otttvio Pontes wrote: > On Tue, Jul 27, 2010 at 22:49, Brian Harring <[1]ferringb@gmail.com> > wrote: > The reason I ask is that an overlay literally stacks repositories, > slaves shadowing the master. If you do an emerge > =dev-util/diffball-1.0 for the configuration above, you get local1's > ebuild, not gentoo's. Repository atom's should not be able to > bypass > this- namely it violates the very nature of repository stacking. > > I see no reason to avoid this. Imagine if I use an overlay with some > kde ebuilds. But, for some reason, i want to install kcalc from > portage, and not from this overlay. > Portage has this versions of kcalc: 4.4.2 and 4.4.3. > And this overlay has the version: 4.4.3. > If i try to emerge kcalc::gentoo in multirepo-portage it will install > the kcalc-4.4.3, which is the newer version in portage. > I don't think it's a good idea to install kcalc-4.4.2, because version > 4.4.3 is in an overlay too. Bluntly, if you don't want overlay stacking semantics, do not configure it as an overlay then- configure the 'overlay' as a standalone repository and specify preferred ordering. Literally, you're trying to make overlays standalone via this logic. You're trying to make overlays not *be* overlays. The problem here is that PORTDIR_OVERLAY has historically forced overlay stacking- you can't just change the semantics of those rules and suddenly label them all as standalone, or create a quasi overlay/standalone repo. The purpose of multi-repos at it's core is to add in standalone repositories- if people want those semantics for a repo, they configure the repo as a standalone. ~brian [-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-07-30 4:06 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-07-27 15:56 [gentoo-soc] Multiple Repository Support in Portage - Report Otávio Pontes 2010-07-28 1:49 ` Brian Harring 2010-07-29 19:26 ` Otávio Pontes 2010-07-30 4:03 ` Brian Harring
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox