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 |