https://www.debian.org/devel/wnpp/ You can find orphaned packages as well as requested packages. (hint: when looking for packages, it's a good idea to sort them by age because the old ones are usually harder to work) For this session we are going to use one of the requested. Find a package called python-prind It has a bug number, #867800 Check whether the package is in debian. If it is not in debian that's great! We have a potential candidate. Take a look at the upstream code and find dependencies. Check whether they are in debian or not yet. If they are, that's great! We can start packaging this bit of software. You can check at https://www.debian.org/distrib/packages (select "any" distribution) It is important to check the license to have knowledge about the copyright and the possibilities for the source code. If the license is not free, we can still package but then it goes to the non-free section. For more complicated licenses, you can ask to debian mentors or ftp-masters for advice. If you want to know who is the copyright holder, you should ask directly to the developer in this way "Are you the license holder?" When checking for license, it's a good idea to open some of the project files and check its header because it usually contains details (copyright holder and years) about the copyright, in this case the file would be setup.py brazilian quick packaging guide with some usefull commands (http://eriberto.pro.br/debian/guia_empacotamento_debian_2.15.pdf) There are many different ways of packaging and many tools. In here we are going to use one. Install pypi2deb Create a working directory and run the following command py2dsp pyprind -v --build This will download the tarball and create a debian directory with the files. We still need to modify them. It fails, but it does create a directory "results" with all the files in it. The first thing we observe is the name of the tarball and uncompress directory is not the correct one. So we need to change them: cd result mv pyprind_2.11.1.orig.tar.gz python- prind_2.11.1.orig.tar.gz mv pyprind-2.11.1/ python-prind-2.11.1 cd python-prind- Python2 is depracted so make sure to remove anything to do with it in any debian/* files. Also remove from debian/control contact details for upstream authors (if any). rename the package source name to python-prind on d/control and rename the package on d/changelog upgrade debhelper to 10 (change files d/control and d/compat) upgrade watch version to 4 Check that if there is any other file with a copyright file egrep -ri "(copyright|license)" . put the closes line in changelog: pyprind (2.11.1-0~pypi2deb) unstable; urgency=low * Initial release . (Closes: #867800) -- athanlibex Thu, 10 Aug 2017 14:47:19 +0000 to build the package, i prefer to use debuild (you only need tocall debuild from the package directory) Rebuild the package (wrap-and-sort (helps to order and tidy the dependencies in the debian/control, optional) dpkg-buildpackage -uc -us Test the package lintian -Ii ../python-prind_2.11.1-1_amd64.changes If you see that some dependencies are missing while lintian execution, install the next python packages:If aptitude intall python3-all python3-setuptools If lintian is complaining about incorrect email, it might be because you need to setup the variables DEBNAME, DEBMAIL Ensure to have a correct E-Mail address setup of your user in debian/control and debian/changelog files and in your /home/user/.bashrc the next lines added at the end: DEBEMAIL="youruser@realserver.net" DEBFULLNAME="Name Lastname" Set in debian/control and debian/compat files the same version for debhelper (being the version 10 in this case): debian/control: Build-Depends: debhelper (>= 10), dh-python, python3-all, python3-setuptools debian/compat: 10 run again the next commands as unprivileged user inside /py2dsp/result/python-prind-2.11.1 directory: $ dpkg-buildpackage -us -uc $ lintian -i ../*changes