Table of Contents
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
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
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: <project>_<major version>.<minor version>-<package revision> 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 <you@email.com> 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