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
|
[[!meta title="Fall 2012 NJIT CCS Capstone"]]
Libiquity is participating for a second time in the Capstone program of the New
Jersey Institute of Technology College of Computing Sciences.
Founded in 2002, the award-winning [NJIT CCS Capstone program][wp-capstone] is
an opportunity for senior university students to work with sponsoring
organizations on real-world projects.
Proposed Project: Packages and Development Utilities
====================================================
This semester, Libiquity has proposed a "Packages and Development Utilities"
project.
Project Description
-------------------
The goal of this project is to bring a [free/libre/open-source embedded
operating system distribution][os] closer to a developer-friendly
[[first_public_release|dev/releases/1]]. It involves two main types of work:
the packaging of software programs and libraries and the development of
utilities to assist distribution developers.
At least three libraries and one program [[need|dev/todo/packaging]] to be
[[packaged|dev/releases/1/toolchains]]. Students may work on additional
packages and possibly work with upstream codebases and developers as time and
their interests permit.
Tools need to be developed to
[[create_isolated_operating_system_environments|dev/releases/1/opkbootstrap]]
and to
[[build_packages_in_such_isolated_environments|dev/todo/package-cross-building-tool]].
As time permits, students may also work on components of a
[[build_daemon_infrastructure|dev/todo/buildd-infra]].
Deliverables
------------
The following should be done for the project to be considered complete:
* At least four software packages: GMP, MPFR, MPC, and GNU Make;
* A tool to download and install packages into an isolated environment; and
* A tool to build software packages in an isolated system environment.
Depending on students' time and interest, the team may choose to additionally
complete the following tasks:
* More software packages (e.g. Dropbear, Perl 5, and GNU Autoconf) and
* Some or all components of a package build daemon infrastructure.
Expected Student Skillset
-------------------------
Students should have:
* Experience using and developing software for a UNIX-like operating system,
* Some knowledge of UNIX shell command language, and
* Some knowledge of UNIX makefile syntax.
The following are helpful but not required:
* Experience with the Git revision control system and
* Experience with packaging software for Debian and/or its derivatives.
Unique Benefits for Students
----------------------------
This is an opportunity for students to work within a growing free software
project, work with numerous existing free software programs and libraries, and
research work done within other similar free software projects. Students may
also choose to work with upstream free software codebases and developers.
Other Considerations
--------------------
Development will require a UNIX-like operating system such as GNU/Linux,
FreeBSD, or Apple Mac OS X. Debian GNU/Linux (or a derivative such as Ubuntu
or Trisquel) is recommended; installation media and assistance with these
systems may be provided upon request.
[Hosting for software repositories][os-git] using the Git revision control
system will be provided as needed.
A channel on the Freenode IRC network (#libiquity) will be available for team
communication.
[wp-capstone]: https://en.wikipedia.org/wiki/NJIT_Capstone_Program
[os]: http://os.pehjota.net/
[os-git]: http://git.os.pehjota.net/
|