Gentoo Archives: gentoo-desktop-research

From: munky@××××××.com
To: gentoo-desktop-research@g.o
Subject: [gentoo-desktop-research] Proposal for Portage Program
Date: Thu, 20 Nov 2003 02:28:18
Message-Id: 43637.192.168.1.1.1069294573.squirrel@24.188.250.199
1 /*Idea for new project known as PortageUI to be a front end to Portage*/
2
3 Portage or commonly known as 'emerge' is the powerful package system of
4 Gentoo. Gentoo's success is directly related to the quality of Portage.
5 Portage has the ability to find sources, compile, and install the
6 binaries. It can also update all programs and keep your system up to date.
7 Portage consists of one command 'emerge' with _many_ arguments to> put it
8 in. For the n00b, remembering and executing all of the correct arguments
9 can be a bit difficult. A GUI program called Kportage had been created a
10 while back. It was written in QT and had many bugs. The idea of Kportage
11 is great but the actual implementation was not. New ideas have been formed
12 in an attempt to provide users with the ease and power> of controlling
13 portage through a GUI.
14
15 PortageUI is an idea at this point and will remain such for some time.Some
16 basic decisions have been decided as for the languages of> PortageUI. The
17 head devs (Munky, Frog) are big fans of C, not its offspring C++. Kportage
18 had been written in C++ and we feel that it is not the best language for
19 the job. We initially planed on using ansi C for this project, but Python
20 has also been suggested. Both the devs of this project are quite weak in
21 Python, which may influence our decision. We also plan to use GTK2.
22 Suggestions concerning language and toolkit choice are most welcome.
23
24 Kportage really only provided a GUI for portage not adding on any new
25 ideas. There are many things that users do with portage, or can do with
26 portage that they do. For instance, the easiest way to keep your system up
27 to date is "emerge -u world". This will update all applications that have
28 been installed using portage, including your kernel libraries. This is
29 very important for those users whom don't update single applications.
30 Thus, it seems optimal to integrate PortageUI with cron and have various
31 tasks set. Such as a weekly "emerge sync" and a monthly "emerge -u world".
32 This would help to keep your system up to date and secure.
33
34 In reference to the application of the GUI itself, considering the>
35 _great_ size of the portage tree, it seems fit to use a database to keep>
36 track of the data. The best database to use would probably be that of
37 Postgresql. The database can hold a list of each ebuild and various data
38 for it. This data will include: installed version, current version,
39 dependencies, as well as its README, and other docs. In addition, the db
40 will hold specific categorizes that the ebuild fits in. The ebuilds are
41 already sorted in a directory structure, but in reality that is not as
42 user friendly or easy to understand as simple categories. The user will
43 have the ability to modify the categories to their own interpretation.
44
45 At this point in time, both devs are going to be working on basic
46 prototypes as to how we will accomplish our goal. We are brushing up on
47 our knowledge of GTK2 and going over Python. We won't begin coding until
48 all the planning is done before-hand. If everything goes accordingly, it
49 seems realistic to say coding will begin around a month or so after the
50 project is approved.
51
52 Please let us know what you think of this proposal. It is just a series of
53 ideas, and much of it can be changed; nothing is set in stone.
54
55 --
56 -Dovid Kopel
57 -=mUnky=-
58
59 ---
60 http://www.usalug.org
61
62 --
63 gentoo-desktop-research@g.o mailing list

Replies