summaryrefslogtreecommitdiffstats
path: root/dev.mdwn
blob: 3b7be796f513b00ad81c3b4cf667d09ead6e1675 (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
93
94
95
96
97
98
99
100
101
102
103
104
105
[[!meta title="Development"]]

ProteanOS needs more contributors!  If you're interested in getting involved,
please [[contact_us|contact]] on the IRC channel and/or mailing list.

There are a variety of ways in which you can help shape the future of this
operating system distribution:

Software Packaging
==================

<img src="/media/tango-64/package-x-generic.png" alt="software packaging"
class="icon-64-top-left">

Packaging is the preparation of build instructions and metadata for software
programs and libraries to be built and installed on users' systems.

Source packages have a documented [format][spf-2.0], and
[[tutorials_on_packaging|doc/pkg]] are available.

There is always [[more_software_to_be_packaged|dev/pkg/needed]] (including Perl
5 with cross building support), and [[one_package|dev/pkg/spf-2.0]] needs to be
updated to the latest package format.  [15 packages][src_pkgs_spring2015]
prepared by a team of students in the spring 2015 NJIT CCS Capstone program need
to be reviewed for uploading to the package archive.

But the work doesn't end after a package is prepared and uploaded; maintaining
existing packages is also important and neverending work.  ProteanOS currently
has [[94_source_packages_(388_binary_packages)|dev/releases/1/packages]] in its
package archive (with more not yet uploaded).  Many of these have newer upstream
versions and can be updated.  Some have patches that can be dropped when
updating to a newer upstream version.  Some others (e.g. the toolchain packages)
have patches that may be of interest outside ProteanOS but have not yet been
submitted upstream.

Most source packages are maintained in [Git repositories][git-pkg].  You can
request a repository for your package on the [mailing list][proteanos-dev].  To
make changes to a package, it is recommended that you send patches to the
[mailing list][proteanos-dev] and the maintainer listed in the package's
`control` file.  If you would like to become a co-maintainer or take over
maintenance of a package, you should coordinate with the listed maintainer (if
reachable) and the [mailing list][proteanos-dev] to gain commit rights to the
package's Git repository.

[spf-2.0]: http://specs.proteanos.com/spf-2.0/
[git-pkg]: http://git.proteanos.com/pkg/
[src_pkgs_spring2015]: http://files.proteanos.com/pub/pkg/src_pkgs_spring2015/
[proteanos-dev]: http://lists.proteanos.com/proteanos-dev/


Software Development
====================

<img src="/media/tango-64/preferences-system.png" alt="software development"
class="icon-64-top-left">

The ProteanOS community maintains and uses a number of distribution development
and infrastructure tools, including the [ProteanOS Development Kit][prokit],
[opkbuild][], [[opkhelper|dev/opkhelper]], the
[[ProteanOS_Archive_Manager|dev/pro-archman]], and the
[Text::MarkdownBook][markdownbook] Perl library.  Bug reports, feature
suggestions, and patches are welcome.

A simple build daemon infrastructure has been
[[designed|dev/todo/buildd-infra]].

[opkbuild]: http://git.proteanos.com/opkbuild/opkbuild.git/
[prokit]: http://git.proteanos.com/prokit/prokit.git/
[markdownbook]: http://git.proteanos.com/markdownbook/markdownbook.git/


Technical Documentation
=======================

<img src="/media/tango-64/text-editor.png" alt="technical documentation"
class="icon-64-top-left">

Specifications
--------------

In development is the [Source Package Format 2.0 specification][spf-2.0].

[[Instructions|dev/specs]] to clone and build the specifications are available.

Policies
--------

To be written is a Packaging Policy.


<h1 style="clear: left;">Release Series</h1>

ProteanOS is released in [[series|dev/releases]].  Development is currently
focused on [[release_series_1|dev/releases/1]].

[[See_the_list_of_remaining_tasks_for_ProteanOS_1.0|dev/releases/1/todo]].


<h1 style="clear: left;">Architecture Ports</h1>

ProteanOS is designed to portable to many different
[[hardware_architectures|dev/ports/hardware]],
[[system_kernels|dev/ports/kernels]], and
[[C/C++_libraries|dev/ports/libraries]].  A number of [[ports|dev/ports/list]]
are planned.