StarlingX/StarlingX Debian Information Guide

Introduction
In December 2020, it was announced by the CentOS project that the future is CentOS Stream, and over the past year the project has been focusing from CentOS Linux to CentOS Stream. At the same time it was announced that at the end of this year CentOS 8 would stop being supported and it would be replaced with CentOS Stream. CentOS Stream would become a rolling release and it would be supported for 5 years and would receive updates. However it would be more of a development release of RHEL 8 This would make it difficult for the StarlingX community to support because updates might remove software that the project depends on. Various alternatives such as Ubuntu and Suse were reviewed as well, and it was decided by the community that StarlingX would migrate to Debian. Reference: https://opendev.org/starlingx/specs/src/branch/master/doc/source/specs/stx-6.0/approved/starlingx_2008704_debian_transition.rst

The purpose of this wiki page is to describe to developers, over time, how they can convert existing CentOS RPM based packages to create Debian packages that can be included into StarlingX. This document will be updated as new information or tools become available.

Debian package basics
Packages contains all the files that are necessary to implement a set or related commands or features. In Debian, there are two types of packages:
 * Binary Packages which contains executables, configuration files, man pages, other documentation, and copyright information. In Debian, they are packaged with a specialized Debian archive called a "deb". Binary packages can be extracted via a utility like dpkg or apt.
 * Source Packages contains 3 different files. A ".dsc" file which contains information describing the source package. An ".orig.tar.gz" which contains the unmodified source release of an upstream project. Finally, an ".diff.gz" which contains the information to build the Debian package. The source package can be usually fetched via the "apt-get source" command.

To learn more about the Debian source package formats, please read the Debian New Maintainers Guide.

StarlingX Debian build structure
Information can be found here.

How to convert a CentOS package to Debian packaging
Information can be found here.

How to Set up a Debian build environment and build StarlingX for Debian
Information can be found here.