summaryrefslogtreecommitdiff
path: root/README.rst
blob: ae3a9f005740975ca497f419ba9f6dfbf7880fdb (plain) (blame)
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
=========
 APK Kit
=========
:Authors:
  * **A. Wilcox**
:Version:
  1.0
:Status:
  Alpha
:Copyright:
  © 2015-2016 Adélie Linux Team.  NCSA open source licence.



Requirements
============

Background
----------
Our new Linux distro (codename Adélie) combines pieces of Portage, a stable
Python-based package build system, with the AlpineLinux package format, APK.  We
need a pure Python library for manipulating and verifying APK packages.  We also
need a pure Python library for maintaining APK repositories.


Objectives / success criteria
-----------------------------
* Compatibility with upstream APK Tools.
* Stable v1 release by December 2016.
* Minimal to no external dependencies.




Solution vision
===============

Major features
--------------
#. Pull metadata out of an APK file.

#. Sanity check APK files and repositories.

#. Creation of APK files.

#. Keep repository INDEX files up to date.




Project Scope and Limitations
=============================

Scope of initial release (v1)
-----------------------------
The initial release will focus primarily on the handling of APK files.  Some
limited repository functionality may be present to further the ends of APK file
management.


Scope of next release (v2)
--------------------------
The second release will focus further on repository management.


Scope of future releases
------------------------
Further releases will focus on keeping up to date with the upstream APK format,
and stability and performance fixes.  No further major features are anticipated.


Limitations and exclusions
--------------------------
.. warning:: This is **NOT** meant to be used by end users, or as a replacement
    package manager!  It is designed for manipulation of APK packages, not
    existing APK databases.  It probably has very little use unless you are a
    package or repository maintainer.