The changelog file is, as its name implies, a listing of the changes made in each version. It has a specific format that gives the package name, version, distribution, changes, and who made the changes at a given time. If you have a GPG key, make sure to use the same name and email address in changelog as you have in your key. The following is a template changelog:
package (version) distribution; urgency=urgency * change details more change details * even more change details -- maintainer name <email address>[two spaces] date
The format (especially of the date) is important. The date should be in RFC822 format, which can be obtained from the 822-date program.
Here is a sample changelog file for hello:
hello (2.1.1-1) dapper; urgency=low * New upstream release with lots of bug fixes. -- Captain Packager <email@example.com> Wed, 5 Apr 2006 22:38:49 -0700
Notice that the version has a -1 appended to it, or what is called the Debian revision, which is used so that the packaging can be updated (to fix bugs for example) with new uploads within the same source release version.
Ubuntu and Debian have slightly different package versioning schemes to avoid conflicting packages with the same source version. If a Debian package has been changed in Ubuntu, it has ubuntuX (where X is the Ubuntu revision number) appended to the end of the Debian version. So if the Debian hello package was changed by Ubuntu, the version string would be 2.1.1-1ubuntu1. If a package for the application does not exist in Debian, then the Ubuntu version is 0 (e.g., 2.1.1-0ubuntu1).
Now look at the changelog for the Ubuntu source package that we downloaded earlier:
Notice that in this case the distribution is unstable (a Debian branch), because the Debian package has not been changed by Ubuntu. Remember to set the distribution to your target distribution release.
At this point create a changelog file in the debian directory where you should still be.