#. Start with `https://salsa.debian.org/med-team/community/package_template <https://salsa.debian.org/med-team/community/package_template>`__ . This would be the basis for the future changes. As a rule of thumb, various configuration files in the template posess comments that should be reviewed prior to making changes.
#. Make a folder with the name of the package you want to work with with an "_" attached at the end. For example, if you want to pack *foo*, create a folder *foo\_*.
#. Copy the package_template/debian folder to *foo\_*.
#. Not all files are necessary and likely some of them won't be used. 'git-orig-source' can be deleted, for example.
#. Make a folder with the name of the package you want to work with with an "_" attached at the end. For example, if you want to pack ``foo``, create a folder ``foo\_``.
#. Copy the package_template/debian folder to ``foo\_``.
#. Not all files are necessary and likely some of them won't be used. ``git-orig-source`` can be deleted, for example.
#. At this juncture it's necessary to establish the source of the package. GitHub is generally a good source that allows for easiest work. Non-GitHub sources are highly variable.
#.
#. The first file that should be edited is the ``watch`` file. Everyone should touch this file first. Proper ``watch`` file allows leveraging of Debian's infrastructure.
#. Remove everything unnecessary from the watch file. You might remove a bit too much at first, it comes with practice.
#. If the upstream project is GitHub hosted, provide the URL, with the username of the maintainer and the link to the project.
#. Add prefix. It generally comes from the releases in GitHub and could be easy if the releases are properly maintaned. If not \:
#) Add a comment in the ``watch`` file (there are examples in comments on how to do this properly)
#) Add an issue in GitHub and list it in the ``watch`` comment. Follow the description in the comments of the ``watch`` file that goes over what to do if there is a no-releases setup of the upstream project.
#. Edit ``CHANGELOG``\:
#) Create fake version to start with.
#) Add the actual package name.
#) Add your username and ID.
#) Use the date in ``date -R`` format.
#. Edit ``control`` file\:
#) Provide your information.
#) The name of the package should match the ``CHANGELOG``.