===== When you have source and just want to compile, without deep dependencies checking ===== Make sure you have all dependencies: # apt-get install autotools-dev fakeroot dh-make build-essential Extract the source file and cd into it. Then use dh_make to create the DEBIAN control files. # dh_make You will be presented with some options, choose the most appropriate for your case. Then edit ./DEBIAN/control and make sure the information is correct Then run the following: (this has to be done as root) # dpkg-buildpackage -rfakeroot * source: http://www.quietearth.us/articles/2006/08/16/Building-deb-package-from-source ===== When you have source and want to compile it with a more complete method ===== Make sure you have all dependencies: # apt-get install build-essential autoconf automake autotools-dev dh-make debhelper devscripts fakeroot xutils lintian pbuilder Extract the source file and cd into it. Then use dh_make to create the DEBIAN control files. You can also pass the source and your email as parameters # dh_make -e youremail@address -f ../x264-0.1+svn20100107.tar.gz You will be presented with some options, choose the most appropriate for your case. Then edit ./DEBIAN/control and make sure the information is correct Then run the following: (this has to be done as root) # dpkg-buildpackage -rfakeroot Then run dpkg-depcheck to get an analysis of the dependencies #dpkg-depcheck -d ./configure Now edit the ./DEBIAN/control, add the dependencies and fill all the required parameters. With the control file created and filled you can start building the .deb file. #dpkg-buildpackage -rfakeroot * source: http://www.webupd8.org/2010/01/how-to-create-deb-package-ubuntu-debian.html ===== For Modifying a deb file ===== If you have a deb file and want to modify something in it so it is more compatible with the CS repo, we will need to extract the required files and modify them. First we extract the elements in the deb file and we place them in a temporary location. #dpkg-deb -x name-of-package.deb tmpdir Then we are going to pull the control file that is located in the tmp/DEBIAN/ folder. This is where you will make your changes. #dpkg-deb --control name-of-package.deb Now to edit the file # gedit tmpdir/DEBIAN/control Once all changes are done, repackage the deb file. #dpkg -b tmpdir new-name-of-package.deb source: http://forums.linuxmint.com/viewtopic.php?f=46&t=35136 (Modify a .deb file) ===== Simple deb file ===== In the case you require to make a simple deb file there is also a very simple way to do it. Decide on the name of your package. Standard debian notation is all lowercase in the following format: _.- For example, you could name your first package: "helloworld_1.0-1" Create a directory to make your package in. The name should be the same as the package name. #mkdir helloworld_1.0-1 Pretend that the packaging directory is actually the root of the file system. Put the files of your program where they would be installed to on a system. #mkdir helloworld_1.0-1/usr #mkdir helloworld_1.0-1/usr/local #mkdir helloworld_1.0-1/usr/local/bin #cp "~/Projects/Hello World/helloworld" helloworld_1.0-1/usr/local/bin Now create a special metadata file with which the package manager will install your program... #mkdir helloworld_1.0-1/DEBIAN #gedit helloworld_1.0-1/DEBIAN/control Create a control file. Package: helloworld Version: 1.0-1 Section: base Priority: optional Architecture: i386 Depends: libsomethingorrather (>= 1.2.13), anotherDependency (>= 1.2.6) Maintainer: Your Name Description: Hello World When you need some sunshine, just run this small program! (the space before each line in the description is important) Now you just need to make the package: Code: #dpkg-deb --build helloworld_1.0-1 source: http://ubuntuforums.org/showthread.php?t=910717 Have fun making deb files :)