// vim:set filetype=asciidoc:
[[more]]
== More Examples

There is an old Latin saying: "`*fabricando fit faber*`" ("`practice makes perfect`").

It is highly recommended to practice and experiment with all the steps of Debian packaging with simple packages.  This chapter provides you with many upstream cases for your practice.

This should also serve as introductory examples for many programming topics.

* Programming in the POSIX shell, Python3, and C.
* Method to create a desktop GUI program launcher with icon graphics.
* Conversion of a command from https://en.wikipedia.org/wiki/Command-line_interface[CLI] to https://en.wikipedia.org/wiki/Graphical_user_interface[GUI].
* Conversion of a program to use *gettext* for http://en.wikipedia.org/wiki/Internationalization_and_localization[internationalization and localization]: POSIX shell and C sources.
* Overview of many build systems: Makefile, Python, Autotools, and CMake.

Please note that Debian takes a few things seriously:

* Free software (a.k.a. Libre software)
* Stability and security of OS
* Universal OS realized via:
** free choice for upstream sources,
** free choice of CPU architectures, and
** free choice of UI languages.

The typical packaging example presented in "`<<simple>>`" is the prerequisite for this chapter.

Some details are intentionally left vague in the following sections.  Please try to read the pertinent documentation and practice yourself to find them out.

TIP:  The best source of a packaging example is the current Debian archive itself.  Please use the "`https://codesearch.debian.net/[Debian Code Search]`" service to find pertinent examples.
