HOW TO UNPACK A DEBIAN SOURCE PACKAGE If you have `dpkg-source', you can use it to unpack any Debian source package: put all the files in the same directory and type `dpkg-source -x .dsc'. The remainder of this document explains how to unpack Debian source packages on non-Debian systems, or on Debian systems without the `dpkg-dev' package installed. There are several kinds of Debian source packages, identified by the Format: field in the .dsc file. If there is no Format: field, treat it as "1.0". "1.0" packages can be either native or non-native. Native packages (where the Debian source is the upstream source) look like this: hello_1.3.dsc hello_1.3.tar.gz To unpack this kind of package, just untar the .tar.gz file. Non-native "1.0" packages look like this: hello_1.3-11.dsc hello_1.3-11.diff.gz hello_1.3.orig.tar.gz - note the `.orig' part 1. untar P_V.orig.tar.gz. 2. rename the resulting P-V.orig directory to P-V. If some other directory results, rename *it* to P-V. 3. mkdir P-V/debian. 4. apply the diff with patch -p0. 5. do `chmod +x P-V/debian/rules' (where P is the package name and V the upstream version - `hello' and `1.3' respectively in this example.) "3.0 (native)" packages are the same as native "1.0" packages, except that the source tarball may be compressed using methods other than gzip. "3.0 (quilt)" packages look like this: hello_1.3-11.dsc hello_1.3-11.debian.tar.gz hello_1.3.orig.tar.gz hello_1.3.orig-COMPONENT.tar.gz (optional, for one or more values of COMPONENT) The compressed files may be compressed using methods other than gzip. To unpack this kind of package, you will need to install `quilt' (http://savannah.nongnu.org/projects/quilt), then: 1. untar P_V.orig.tar.gz. 2. rename the resulting P-V.orig directory to P-V. If some other directory results, rename *it* to P-V. 3. if there are any orig-COMPONENT tarballs, untar each of them to P-V/COMPONENT. 4. remove P-V/debian if it exists. 5. change to the P-V directory. 6. untar P_V-R.debian.tar.gz; it will unpack to a `debian' subdirectory. 7. run `QUILT_PATCHES=debian/patches quilt push -a'. (where P is the package name, V the upstream version, and R the Debian revision - `hello', `1.3', and `11' in this example.) See the dpkg-source(1) manual page for full details of all formats, including experimental ones. -- Ian Jackson Sat, 31 Aug 1996 -- Colin Watson Sun, 17 Oct 2010