Changes

Jump to navigation Jump to search
no edit summary
Line 1: Line 1: −
From: https://github.com/alexmyczko/autoexec.bat/blob/master/Documents/debian-packaging.md
+
[[Category:How to]]
 +
Notes and other various tutorials on how to package .deb files for Debian based distributions
   −
'''Debian Packaging'''
+
==Debian Packaging Tutorial by Gürkan Myczko==
 +
'''Debian Packaging''' <ref>[https://github.com/alexmyczko/autoexec.bat/blob/master/Documents/debian-packaging.md Debian Packaging]</ref>
 
:pretty much the same with Ubuntu
 
:pretty much the same with Ubuntu
 
:2003-2020 Gürkan Myczko <gurkan@phys.ethz.ch>
 
:2003-2020 Gürkan Myczko <gurkan@phys.ethz.ch>
Line 58: Line 60:  
First you need to get the source of the software. Then put it in some directory. There you unpack the software, usually
 
First you need to get the source of the software. Then put it in some directory. There you unpack the software, usually
   −
   $ tar xzvf software-2.1.tar.gz
+
   tar xzvf software-2.1.tar.gz
   $ ln -s software-2.1.tar.gz software_2.1.orig.tar.gz
+
   ln -s software-2.1.tar.gz software_2.1.orig.tar.gz
   $ cd software-2.1/
+
   cd software-2.1/
   $ dh_make
+
   dh_make
    
'''dh_make''' will make a directory called '''debian/''' with a few files in it. Now your task is to fill them. I usually start with '''control''', then edit '''copyright'''. There is also '''changelog''', '''rules''', '''dirs''' and more. In '''rules''' you will find some '''dh''' commands, they are all from debhelper. Each of them has a manpage, please refer to '''man debhelper''' for details, as well as the Debian New Maintainers' Guide. Read more about the Debian Policy Manual. Updating the '''debian/changelog''' is done with '''dch''' or debchange (symlink).
 
'''dh_make''' will make a directory called '''debian/''' with a few files in it. Now your task is to fill them. I usually start with '''control''', then edit '''copyright'''. There is also '''changelog''', '''rules''', '''dirs''' and more. In '''rules''' you will find some '''dh''' commands, they are all from debhelper. Each of them has a manpage, please refer to '''man debhelper''' for details, as well as the Debian New Maintainers' Guide. Read more about the Debian Policy Manual. Updating the '''debian/changelog''' is done with '''dch''' or debchange (symlink).
Line 112: Line 114:  
:Tagging the package is also a good idea: https://debtags.debian.org/
 
:Tagging the package is also a good idea: https://debtags.debian.org/
 
:Check Lintian output: https://lintian.debian.org/
 
:Check Lintian output: https://lintian.debian.org/
:I did not go into detail with `debian/watch`.
+
:I did not go into detail with '''debian/watch'''.
 
:Make sure it builds on as many architectures as possible: https://buildd.debian.org/
 
:Make sure it builds on as many architectures as possible: https://buildd.debian.org/
 
:If your software works with data files, that can be detected with the file(5) utility, send patches for its detection.
 
:If your software works with data files, that can be detected with the file(5) utility, send patches for its detection.
Line 129: Line 131:  
:flatpak/flathub: https://flatpak.org/ / https://flathub.org/
 
:flatpak/flathub: https://flatpak.org/ / https://flathub.org/
 
:Ubuntu Snap: https://snapcraft.io/
 
:Ubuntu Snap: https://snapcraft.io/
 +
 +
==Checkinstall==
 +
[https://packages.debian.org/checkinstall checkinstall]
 +
<ref>[http://checkinstall.izto.org/ Checkinstall Home page]</ref> keeps track of all the files created or modified by your installation script, builds a standard binary package (.deb, .rpm, .tgz) and installs it in your system giving you the ability to uninstall it with your distribution's standard package management utilities.
 +
 +
You have an archive with software to build.
 +
*Normal install
 +
  ./configure
 +
  make
 +
  make install
 +
  make clean
 +
 +
*Build and use checkinstall to install and build the .deb file
 +
  ./configure
 +
  make
 +
  checkinstall
 +
 +
*Build and use checkinstall to create the .deb file ''without'' installing it
 +
  ./configure
 +
  make
 +
  checkinstall --install=no
 +
 +
Refer to the [https://manpages.debian.org/man/8/checkinstall man page] for more information
 +
 +
==References==
 +
<references />

Navigation menu