| 80 |
Still, you should check with `dpkg -s <package>`. |
Still, you should check with `dpkg -s <package>`. |
| 81 |
|
|
| 82 |
<list> |
<list> |
| 83 |
<item><em>dpkg-dev</em> - this package contains the tools needed to unpack, |
<item><package/dpkg-dev/ - this package contains the tools needed to unpack, |
| 84 |
build and upload Debian source packages. (see |
build and upload Debian source packages. (see |
| 85 |
<manref name="dpkg-source" section="1">) |
<manref name="dpkg-source" section="1">) |
| 86 |
|
|
| 87 |
<item><em>file</em> - this handy program can determine what type a file is. |
<item><package/file/ - this handy program can determine what type a file is. |
| 88 |
(see <manref name="file" section="1">) |
(see <manref name="file" section="1">) |
| 89 |
|
|
| 90 |
<item><em>gcc</em> - the GNU C compiler, necessary if your program like |
<item><package/gcc/ - the GNU C compiler, necessary if your program like |
| 91 |
most others is written in the C programming language. |
most others is written in the C programming language. |
| 92 |
(see <manref name="gcc" section="1">) |
(see <manref name="gcc" section="1">) |
| 93 |
This package will also "pull in" several other packages such as |
This package will also "pull in" several other packages such as |
| 94 |
<em>binutils</em> which includes programs used to assemble and link |
<package/binutils/ which includes programs used to assemble and link |
| 95 |
object files (see `info binutils` in the <package/binutils-doc/ package) |
object files (see `info binutils` in the <package/binutils-doc/ package) |
| 96 |
and <em>cpp</em>, the C preprocessor. (see <manref name="cpp" section="1">) |
and <package/cpp/, the C preprocessor. (see <manref name="cpp" section="1">) |
| 97 |
|
|
| 98 |
<item><em>g++</em> - the GNU C++ compiler, necessary if your program |
<item><package/g++/ - the GNU C++ compiler, necessary if your program |
| 99 |
is written in C++. (see <manref name="g++" section="1">) |
is written in C++. (see <manref name="g++" section="1">) |
| 100 |
|
|
| 101 |
<item><em>libc6-dev</em> - the C libraries and header files gcc needs to |
<item><package/libc6-dev/ - the C libraries and header files gcc needs to |
| 102 |
link with to create object files. (see `info libc` in the |
link with to create object files. (see `info libc` in the |
| 103 |
<package/glibc-doc/ package) |
<package/glibc-doc/ package) |
| 104 |
|
|
| 105 |
<item><em>make</em> - usually creation of a program takes several steps, |
<item><package/make/ - usually creation of a program takes several steps, |
| 106 |
so rather than having to type out the same commands over and over again, |
so rather than having to type out the same commands over and over again, |
| 107 |
you can use this program to automate the process, creating `Makefile's. |
you can use this program to automate the process, creating `Makefile's. |
| 108 |
(see `info make`) |
(see `info make`) |
| 109 |
|
|
| 110 |
<item><em>patch</em> - this very useful utility will take file containing |
<item><package/patch/ - this very useful utility will take file containing |
| 111 |
a difference listing (produced by the diff program) and apply it to the |
a difference listing (produced by the diff program) and apply it to the |
| 112 |
original file, producing a patched version. (see <manref name="patch" section="1">) |
original file, producing a patched version. (see <manref name="patch" section="1">) |
| 113 |
|
|
| 114 |
<item><em>perl</em> - Perl is one of the most used interpreted scripting |
<item><package/perl/ - Perl is one of the most used interpreted scripting |
| 115 |
languages on today's Unix-like systems, often referred to as "Unix's Swiss Army |
languages on today's Unix-like systems, often referred to as "Unix's Swiss Army |
| 116 |
Chainsaw". (see <manref name="perl" section="1">) |
Chainsaw". (see <manref name="perl" section="1">) |
| 117 |
</list> |
</list> |
| 119 |
<p>You'll probably want to install the following packages, too: |
<p>You'll probably want to install the following packages, too: |
| 120 |
|
|
| 121 |
<list> |
<list> |
| 122 |
<item><em>autoconf</em> and <em>automake</em> - many newer programs use |
<item><package/autoconf/ and <package/automake/ - many newer programs use |
| 123 |
configure scripts and Makefiles preprocessed with help of programs like |
configure scripts and Makefiles preprocessed with help of programs like |
| 124 |
these. (see `info autoconf`, `info automake`) |
these. (see `info autoconf`, `info automake`) |
| 125 |
|
|
| 126 |
<item><em>dh-make</em> and <em>debhelper</em> - dh-make is necessary to |
<item><package/dh-make/ and <package/debhelper/ - dh-make is necessary to |
| 127 |
create the skeleton of our example package, and it will use some the |
create the skeleton of our example package, and it will use some the |
| 128 |
debhelper tools for creating packages. They are not essential for creation |
debhelper tools for creating packages. They are not essential for creation |
| 129 |
of packages, but it is <strong>highly</strong> recommended for new |
of packages, but it is <strong>highly</strong> recommended for new |
| 131 |
control afterwards. (see <manref name="dh_make" section="1">, |
control afterwards. (see <manref name="dh_make" section="1">, |
| 132 |
<manref name="debhelper" section="1">, /usr/share/doc/debhelper/README) |
<manref name="debhelper" section="1">, /usr/share/doc/debhelper/README) |
| 133 |
|
|
| 134 |
<item><em>devscripts</em> - this package contain some nice and useful |
<item><package/devscripts/ - this package contain some nice and useful |
| 135 |
scripts that can be helpful to the maintainers, but they are also not |
scripts that can be helpful to the maintainers, but they are also not |
| 136 |
necessary for building packages. (see /usr/share/doc/devscripts/README.gz) |
necessary for building packages. (see /usr/share/doc/devscripts/README.gz) |
| 137 |
|
|
| 138 |
<item><em>fakeroot</em> - this utility lets you emulate being root which |
<item><package/fakeroot/ - this utility lets you emulate being root which |
| 139 |
is necessary for some parts of the build process. (see |
is necessary for some parts of the build process. (see |
| 140 |
<manref name="fakeroot" section="1">) |
<manref name="fakeroot" section="1">) |
| 141 |
|
|
| 142 |
<item><em>gnupg</em> - a tool that enables you to digitally <em>sign</em> |
<item><package/gnupg/ - a tool that enables you to digitally <em>sign</em> |
| 143 |
packages. This is especially important if you want to distribute it to |
packages. This is especially important if you want to distribute it to |
| 144 |
other people, and you will certainly be doing that when your work gets |
other people, and you will certainly be doing that when your work gets |
| 145 |
included in the Debian distribution. (see <manref name="gpg" section="1">) |
included in the Debian distribution. (see <manref name="gpg" section="1">) |
| 146 |
|
|
| 147 |
<item><em>g77</em> - the GNU Fortran 77 compiler, necessary if your |
<item><package/g77/ - the GNU Fortran 77 compiler, necessary if your |
| 148 |
program is written in Fortran. (see <manref name="g77" section="1">) |
program is written in Fortran. (see <manref name="g77" section="1">) |
| 149 |
|
|
| 150 |
<item><em>gpc</em> - the GNU Pascal compiler, necessary if your |
<item><package/gpc/ - the GNU Pascal compiler, necessary if your |
| 151 |
program is written in Pascal. Worthy of note here is <em>fp-compiler</em>, |
program is written in Pascal. Worthy of note here is <package/fp-compiler/, |
| 152 |
the Free Pascal Compiler, which is also good at this task. |
the Free Pascal Compiler, which is also good at this task. |
| 153 |
(see <manref name="gpc" section="1">, <manref name="ppc386" section="1">) |
(see <manref name="gpc" section="1">, <manref name="ppc386" section="1">) |
| 154 |
|
|
| 155 |
<item><em>imake</em> and <em>xmkmf</em> - some programs, usually those |
<item><package/imake/ and <package/xmkmf/ - some programs, usually those |
| 156 |
made for X11, also use these programs to generate Makefiles from sets of |
made for X11, also use these programs to generate Makefiles from sets of |
| 157 |
macro functions. (see <manref name="imake" section="1">, |
macro functions. (see <manref name="imake" section="1">, |
| 158 |
<manref name="xmkmf" section="1">) |
<manref name="xmkmf" section="1">) |
| 159 |
|
|
| 160 |
<item><em>lintian</em> - this is the Debian package checker that can let |
<item><package/lintian/ - this is the Debian package checker that can let |
| 161 |
you know of any common mistakes after you build the package, and explain |
you know of any common mistakes after you build the package, and explain |
| 162 |
the errors found. (see <manref name="lintian" section="1">, |
the errors found. (see <manref name="lintian" section="1">, |
| 163 |
/usr/share/doc/lintian/lintian.html/index.html) |
/usr/share/doc/lintian/lintian.html/index.html) |
| 167 |
should read along with this document: |
should read along with this document: |
| 168 |
|
|
| 169 |
<list> |
<list> |
| 170 |
<item><em>debian-policy</em> - the Policy includes explanations of the |
<item><package/debian-policy/ - the Policy includes explanations of the |
| 171 |
structure and contents of the Debian archive, several OS design issues, |
structure and contents of the Debian archive, several OS design issues, |
| 172 |
the Filesystem Hierarchy Standard (which says where each file and |
the Filesystem Hierarchy Standard (which says where each file and |
| 173 |
directory should be) etc. |
directory should be) etc. |
| 175 |
each package must satisfy to be included in the distribution. |
each package must satisfy to be included in the distribution. |
| 176 |
(see /usr/share/doc/debian-policy/policy.html/index.html) |
(see /usr/share/doc/debian-policy/policy.html/index.html) |
| 177 |
|
|
| 178 |
<item><em>developers-reference</em> - for all matters not specifically |
<item><package/developers-reference/ - for all matters not specifically |
| 179 |
about the technical details of packaging, like the structure of the |
about the technical details of packaging, like the structure of the |
| 180 |
archive, how to rename, orphan, pick up packages, how to do NMUs, how to |
archive, how to rename, orphan, pick up packages, how to do NMUs, how to |
| 181 |
manage bugs, when and where to upload etc. |
manage bugs, when and where to upload etc. |
| 188 |
It may seem like heavy going now, but later on you'll be <em>very</em> |
It may seem like heavy going now, but later on you'll be <em>very</em> |
| 189 |
glad you read it. |
glad you read it. |
| 190 |
|
|
| 191 |
<p>Note: <em>debmake</em> is a package that contains some programs that |
<p>Note: <package/debmake/ is a package that contains some programs that |
| 192 |
function similar to dh-make, but its specific use is <strong>not</strong> |
function similar to dh-make, but its specific use is <strong>not</strong> |
| 193 |
covered in this document, because it is <em>deprecated</em>. Please refer |
covered in this document, because it is <em>deprecated</em>. Please refer |
| 194 |
to <url name="the Debmake manual" id="http://www.debian.org/~jaldhar/"> |
to <url name="the Debmake manual" id="http://www.debian.org/~jaldhar/"> |