aboutsummaryrefslogtreecommitdiff
path: root/README
blob: 28cc562f2d45bb5b8ee4dd606ded6a9046974341 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
Priit Laes
March 28, 2010
draft-project-grumpy-gsoc-1

Project Grumpy
==============

Abstract
++++++++
Maintainers spend inordinate time doing chore works that could be automated.
This project intends to do just that for them - automate and centralize a lot
of that to save maintainers time and brain cells.

Project Goals
+++++++++++++
There are many moments in every package maintainers life when one wishes that 
one or another thing would be done automatically for him/her:
  * See what packages have a newer version available.
  * Check which packages have identified common QA issues.
  * Generate stabilization list for number of applications.
  * Get notified of that can be stabilized if following the 30-day guideline.

Many such automated or semi-automated software does exist, but they are
currently dispersed across the Interwebs in various different locations, with
typically no good connection between packages and the maintainer looking at
the information. GPNL, tinderbox rindex/dindex reports, gentoo-bumpchecker,
manual repoman/pcheck runs, and so on.

Project "Grumpy" is intended as a Gentoo Linux project to aggregate
functionality of all these tools into one centralized application.

High Level Diagram
++++++++++++++++++

  .-------.                 .-----------.
  |Gentoo | .. Ebuild       |  Grumpy   |
  |Portage|      Indexer .. |Application|
  `-------'                 |  Backend  |
                            `.---------.'           .----------.
                             |   Web   |            |   LDAP   |
                             |Interface|            |Gentoo.org|
                          .-'`---------'          .-'----------'
                   JSON .'            \         .'
                 .'                    `.    .-'
  .-----------..'                       .\.-:     
  |Commandline| .................. Authentication 
  |   Utils   |                                   
  `-----------'

Grumpy Component Overview
+++++++++++++++++++++++++

Grumpy Application Backend
--------------------------
Grumpy Application backend is the core of the Grumpy Application. Backend
handles data storage and indexing and consists of following components:
  * Database for ebuild metadata storage
  * Indexers for portage, upstream versions, bugzilla, etc

Web Interface
-------------
Web interface provides two basic features:
  * User interface for developers to view and edit ebuild metadata
  * Application interface for various tools to interact with metadata
  via JSON-RPC protocol.

Commandline Utils
-----------------
Commandline tools provide a way for developers manage package metadata on
server from commandline.

Development Plan
++++++++++++++++
TBD. This section contains dev plan of the project and includes low-level
description of various technologies used for components...

FUN: Origin of Grumpy's name
++++++++++++++++++++++++++++
This is an excerpt from #gentoo-desktop channel on June 11. 2009::

  21:58 < leio> ok, I need a good codename for this maintainer website
                thing where you would be able to look things up, like what to
                bump, etc. Go!
  21:58 < plaes> grumpy ? :)
  21:58 < plaes> grumpy.gentoo.org ? :)
  21:59 < scarabeus> glocate
  21:59 < scarabeus> ;]
  21:59 < EvaSDK> grumpy++
  22:00 < EvaSDK> that would be awesome
  22:00 < scarabeus> but i agree with grumpy too
  22:00 < scarabeus> :}
  22:00 < scarabeus> sounds cool :]