summaryrefslogtreecommitdiffstats
path: root/dev.mdwn
blob: 033a0b9dd21de900b3b8fd5226be4aad38c82d6d (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
106
107
108
109
[[!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]], 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.  ProteanOS currently has
[[81_source_packages_(403_binary_packages)|dev/releases/1/packages]].  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.

Some packages have development problems that will eventually need to be solved,
such as [[cross_building_Perl_5|dev/pkg/needed]], considering a switch to an
[[opkg_fork|dev/pkg/opkg]], and adding support in opkg for installing packages
built for foreign architectures.

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.