From 2100ee6e331d2065b8a3666cb96c7e5ce86f8d62 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Tue, 12 Mar 2024 12:00:36 -0400 Subject: [PATCH] Tweaks for 2024 --- content/debian-packaging-101.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/content/debian-packaging-101.md b/content/debian-packaging-101.md index dcf00e0..bfffab4 100644 --- a/content/debian-packaging-101.md +++ b/content/debian-packaging-101.md @@ -43,7 +43,7 @@ These files define some basic configuration for the build system. Given how simp The next two entries are under the sub-directory `source` within the `debian` folder. -`source/format` defines the package layout format, and is normally just `1.0` with no other content in the file. +`source/format` defines the package layout format. There are two main formats: `1.0` and `3.0`. Within `3.0`, `3.0 (quilt)` is the most common. Which you choose depends on how advanced you want to go here, but we'll stick with `1.0` as it's the simplest. `source/options` defines some additional options that will be passed to `dpkg-source` when it builds your package. There's two main categories of entries here that I have used in my packages, though there are many more: @@ -75,7 +75,7 @@ This line defines the copyright format. The 1.0 format specified here is usually Upstream-Name: mypackage ``` -This line specifies the upstream name of the program. It should match your program's name and the name of the source package. +This line specifies the upstream name of the program. It should match your program's name and the name of the source package. If you're building someone else's program and want to change the name to "Debianize" it, this would be the original name. ``` Source: https://github.com/aperson/myproject @@ -89,7 +89,7 @@ Next is a newline, followed by one or more blocks: Files: * ``` -This line defines what file(s) this copyright entry belongs to. For a simple project all under one license, this can just be `*`. The `*` block should always be the last block; that is, define any more specific blocks first. If not `*`, this should be the relative path to the file(s) under the source repository. +This line defines what file(s) this copyright entry belongs to. For a simple project all under one license, this can just be `*`; more advanced copyright situations (e.g. submodules, libraries) might require separate sections for each.. The `*` block should always be the last block; that is, define any more specific blocks first. If not `*`, this should be the relative path to the file(s) under the source repository. ``` Copyright: 2022 A. Person @@ -131,6 +131,10 @@ License: GPL-3 Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". ``` +### Separate 'debian' copyright + +Sometimes, it might be ideal to use a different license for the actual 'debian' folder versus the original program source code. Why you might want to do this is up to you, but to do so simply create a `Files: debian` block before the `Files *` block to define your alternate packaging license. + ## The `control` file Now we're getting into the meat of the package. The `control` file defines your package, both the source component and the binary component(s). There are many available options here, but I'll provide only the most basic ones needed to build a functional package.