Gentoo Archives: gentoo-soc

From: Brian Dolbec <dolsen@g.o>
To: "Maciej Wójcik" <w8jcik@×××××.com>
Cc: gentoo-soc@l.g.o
Subject: [gentoo-soc] Re: Portage public API and web GUI proposal
Date: Thu, 20 Mar 2014 14:33:20
Message-Id: 20140320073300.20ac4ca4.dolsen@gentoo.org
1 On Thu, 20 Mar 2014 13:31:06 +0100
2 Maciej Wójcik <w8jcik@×××××.com> wrote:
3
4 > Hi,
5 >
6 > I am interested in participation in GSoC 2014. Using Gentoo for many
7 > years on many machines I am still feeling a bit uncomfortable using
8 > portage CLI. I know that there are some technical difficulties
9 > regarding its performance and I am not blaming anyone. I am also not
10 > planning to change distribution anyway, but I think that it would be
11 > great to improve somehow the overall user experience.
12 >
13 > Not feeling talented or motivated enough to revolutionize Portage I
14 > still believe that it can be achieved by other means. Being almost
15 > sure that such projects are not welcome in the community, especially
16 > on GSoC it is hard for me to say it :) but I would like to make a web
17 > GUI for Portage.
18 >
19 > Doing some research, looking for existing GUI's and trying to find
20 > out why I am not using any of them I have noticed few things. They
21 > are not popular or being less polite, there are useless for me,
22 > because they are focused on browsing portage database. They do not
23 > help in the installation process itself and they do not make make
24 > switching flags and keywords easier, but more complicated instead.
25 >
26 > I still believe that GUI provides more ways to organize and interact
27 > with the data. Creating this kind of tool as a web application would
28 > make it independent from Xorg and enable it for use in headless
29 > environments.
30 >
31 > Implementing the idea I would like to focus on just a few things and
32 > do it as best as possible. The features would be
33 > - a queue with jobs
34 > - graphical presentation of packages to install, allowing to set the
35 > flags and unmasking packages just by clicking
36 > - a fully functional terminal (tty.js) presenting additional output
37 > from jobs
38 > - graphical presentation of all customization made to system in
39 > terms of flags, keywords, masks, unmasks, licenses and world
40 > installed packages allowing to modify them
41 > - possibility to close the web page in any moment not interrupting
42 > the process
43 >
44 > Not implementing repository browsing at all because websites like
45 > http://gpo.zugaina.org do their job well.
46 >
47 > I have an experience in making dynamic web applications in HTML5 and
48 > node.js and also an experience in C language, programming
49 > microcontrollers on daily basis.
50 >
51
52 I started something similar a few years back. Specifically for a test
53 build environment and prefix installs. It does however do have
54 package browsing built-in. Not complete for all the details yet, but it
55 was started. [1]
56
57
58 > I would like to use Portage public API in this project eventually
59 > finishing or patching it if needed. I am interested especially in
60 > your opinion, because I believe you are mentoring its development.
61 > Could you provide me with some details of its progress, issues and
62 > plans? Finally if I will conclude that I am able to finish it, would
63 > you like to became my mentor this summer?
64 >
65 > If so I would of course focus on the API itself, treating described
66 > project as a side one or an example of API use if the timetable of
67 > GSoC will allow it.
68 >
69 > Best regards,
70 > Maciej Wojcik, Poland
71
72 Corebuilder used the newly split out backend from porthole which was
73 also working to make both pkgcore and portage API's more comaptible
74 with each other. It was something both Zac and Brian agreed needed to
75 happen. [2]
76
77 I was using that backend to work on portage's public_api to be more
78 compatible. [3]
79
80 I would welcome someone to continue on where I left off.
81 But there is very little time to polish up a good proposal, so get to it!
82 The deadline is tomorrow.
83
84
85 [1] https://github.com/dol-sen/CoreBuilder
86 [2] http://sourceforge.net/p/porthole/code/ci/dev_api/tree/pmbackends/
87 [3] http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=shortlog;h=refs/heads/public_api
88 --
89 Brian Dolbec <dolsen>