Gentoo Archives: gentoo-portage-dev

From: "Otávio Pontes" <otaviobp@×××××.com>
To: gentoo-portage-dev@l.g.o
Subject: [gentoo-portage-dev] Gsoc - Multiple Repository Support in sys-apps/portage
Date: Thu, 20 May 2010 12:16:28
Message-Id: AANLkTikYrREEAZiOkYkh0LGPSIABppr_y0NcpIsASxfV@mail.gmail.com
1 Hi, i am working in gsoc multiple repository support project
2 (http://socghop.appspot.com/gsoc/student_project/show/google/gsoc2010/gentoo/t127230759165)
3 and i am writting to ask for ideas and suggestion for my
4 implementation.
5
6 The proposed project is to implement support for multiple repositories
7 in sys-apps/portage. Today, portage handle just one repository of
8 ebuilds, with a lot overlays attached to it. The idea is to change
9 Portage internals to support a stack of ebuilds' repositories. Each
10 repository will be a standalone repository and may have overlays
11 applied to it. Syncing the repositories and overlays will be done
12 using emerge and repositories will be added in a config file.
13
14 I intend to create a new dbapi class to handle just one repository,
15 without any overlays. This class should receive one parameter in
16 __init__ with the path of the repository and will implement all
17 functions of dbapi. Than i intend to change portdbapi to maintain a
18 stack of repositories (the new dbapi class), instead of the string
19 list self.porttrees. An overlay can be implemented as a new repository
20 in the stack. This way emerge and other tools should work with just
21 little adjustments. I also intend to implement in emerge, sync
22 functionality to all repositories, not just main repo. And there will
23 be support for several csvs.