| 15 | Let's take a look at the actual .dsc file: |
| 16 | |
| 17 | {{{ |
| 18 | $ cat rpncalc_0.1.dsc |
| 19 | Format: 3.0 (quilt) |
| 20 | Source: rpncalc |
| 21 | Binary: rpncalc |
| 22 | Architecture: any |
| 23 | Version: 0.1 |
| 24 | Maintainer: Jonathan Reed <jdreed@mit.edu> |
| 25 | Standards-Version: 3.9.3 |
| 26 | Build-Depends: debhelper (>= 8.0.0) |
| 27 | Package-List: |
| 28 | rpncalc deb utils extra |
| 29 | Checksums-Sha1: |
| 30 | 1a43c631b461e7d942b68cee620a892742a71794 901 rpncalc_0.1.orig.tar.gz |
| 31 | b9d7945e5a6e116746fdb4ecf47544c7b8d8fae4 982 rpncalc_0.1.debian.tar.gz |
| 32 | Checksums-Sha256: |
| 33 | ff72ff17a9ec795ebac7d94818c70d28b3bd88ad0adf623ee479f6ae11841a56 901 rpncalc_0.1.orig.tar.gz |
| 34 | d220513f074eafc87cd4f5f2476dbdfe4ede660bf27e793ab1c3409a7245cd25 982 rpncalc_0.1.debian.tar.gz |
| 35 | Files: |
| 36 | 8114cf4a6a276bf6377df0750ecb68de 901 rpncalc_0.1.orig.tar.gz |
| 37 | 2e1c18b8ee84bdd4a24305e547ee8ad7 982 rpncalc_0.1.debian.tar.gz |
| 38 | }}} |
| 39 | |
| 40 | As you can see, it contains metadata about the name of the package, its version, and also contains a list of files -- in this case, rpncalc_0.1.orig.tar.gz and rpncalc_0.1.debian.tar.gz. These are, respectively, the "upstream" or "source" tarball, and the debian changes. Debian goes out of its way to keep its packaging changes separate from the upstream source, so that the same packaging can easily be applied to a newer version of the software in the future. (The files are listed multiple times because their checksums are calculated with multiple digest algorithms (MD5, SHA1, SHA256). Older versions of the dpkg program only understand older algorithms, like MD5.) |
| 41 | |
| 42 | If you use `tar` to examine the files, you'll see the .debian.tar.gz contains a number of files under the `debian/` subdirectory, and the .orig.tar.gz contains the software itself. |
| 43 | |
| 44 | N.B. This is version 3.0 of the source format. In older versions, the Debian changes were represented in a .diff.gz which was applied with the `patch` command. Although it was in a different format, the contents were the same. The older 1.0 format is still quite common, as a "lowest common denominator". |
| 45 | |