merging information from HowToPackageForDebian
correction : link of Developers Reference
|Deletions are marked like this.||Additions are marked like this.|
|Line 6:||Line 6:|
|* [[http://www.debian.org/doc/debian-policy/|Developers Reference]] -- advanced guide etc.||* [[http://www.debian.org/doc/manuals/developers-reference/|Developers Reference]] -- advanced guide etc.|
When you seriously think about packaging as new comer to Debian, please read the official documentation :
Introduction to Debian Packaging
Why programs should be packaged:
- You want the program to be included in Debian.
- The packaging system takes care of the old version
- You want to install programs on severall computers.
First read the excellent Introduction to Debian Packaging.
There is another interesting document on how to package for Debian
A very basic introduction of equivs to create :
Please note some Ubuntu resources may be quite useful too.
the packaging guide at https://wiki.ubuntu.com/PackagingGuide/
Building debian packages
To make sure that a debian package meets all build dependencies and is not influenced by anything specific to the user's environment, packages should be built in a chroot environment. Tools like pbuilder can be used for this.
When working on a package, a faster rebuild can be done with 'debuild'. But then, all build-dependencies must be satisfied in the installation where the package is built. All necessary packages can be installA very basic introduction to create an ?empty package or a package with ?just a pdf file ed automatically with apt-get build-dep. A complete example for building the foo package looks like this:
$ apt-get source foo $ cd foo-0.0.1 $ sudo apt-get build-dep foo $ debuild -i -us -uc -b
This is usually enough for you to backport packages.
Advanced Packaging Procedures
?Adding and removing diversions
RPM - Converting a .RPM into .DEB - generally leads to bad results
Creating package without some particular architectures - for easy porting
External useful links
http://www.debian.org/doc/manuals/apt-howto/ and package apt-howto
http://www-128.ibm.com/developerworks/linux/library/l-debpkg.html : creating debian packages - high-level description of debian packaging .
http://www.debian.org/devel/wnpp/prospective : requested packages, and packages being worked on.
http://www.debian-administration.org/articles/336 Rolling your own debian packages.
PackageConfigUpgrade : propose a new way to smoothly handle configuration upgrades during package upgrades
Autobuilding non-free packages: http://article.gmane.org/gmane.linux.debian.devel.announce/997