aboutsummaryrefslogtreecommitdiff
path: root/Debian Packages.wiki
blob: c90c7912856575351bb52f5c17f995674995bb49 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95

See also [[debian-pkg]], [[Debian Repo]]

apt-file (like Arch's [[pkgfile]])

All commands assume (unless otherwise noted) that PWD is the source
dir of the upstream code, and that there is a `debian` repo in that
directory.

- build-directory
    - _<pkgname>___<version>_.orig.tar.gz
    - extracted-dir
        - source files ...
        - `debian`

- _<pkgname>___<version>_-_<revision>___<arch>_.{build,buildinfo,changes,deb,dsc}

== Requirements ==
- devscripts

== debmake ==
Creates a new `debian` directory.

Assumes that
- that `$PWD` is `<pkgname>-<version>`
- than `$PWD/../<pkgname>_<version>.orig.tar.gz` exists

== debuild ==
Builds a pakage.
Runs `debian/rules build` to build package

{{{
sudo debuild --no-sign
}}}

== Patches ==
https://www.debian.org/doc/manuals/debmake-doc/ch04.en.html#diff-u

{{{
diff -Nru file.upstream file.changed > debian/patches/000-change-file.patch
echo 000-change-file.patch >> debian/patches/series
}}}

== sections ==
https://packages.debian.org/stable/

== debian/watch ==
https://wiki.debian.org/debian/watch

Specifies where to look for an newer version.
By running `uscan`.

It should download `../${PKG}-${NEW-VERSION}.tar.gz`, and sets up some
symlinks for that debian might want.

From there, extract and move the `debian` folder to the new directory.

== Building ==
`debian/rules build` build the binaries, but not the package

apt install debmake build-dep tree

=== Build dependencies ===

`mk-build-deps` :: Generarer ett paket från `debian/control`, vilket
:: inte innehåller någonting, men beror på build-depends.
`dpkg --fix-broken install ./<pkgname>-build-deps_<version>-<pkgrel>_all.deb` ::
`apt install ./<pkgname>-build-deps_<version>-<pkgrel>_all.deb` ::
:: Installerar det lokala paketet, med beroenden
- # apt-get build-dep <pkgname>-build-deps_<version>-<pkgrel>_all.deb

=== Update changelog ===
==== Creates new entry with verssion number ====
> dch --newversion <version>-2.1
`-2` :: is debian package version, start at 2 to avoid lintian issue about [[https://wiki.debian.org/ITP|ITP]]
`.1` :: Shows that this is an [[https://www.debian.org/doc/manuals/developers-reference/pkgs.html#nmus-and-debian-changelog|NMU]], since we aren't a Debian maintainer

{{{
dch --release --no-force-save-on-release
}}}

=== Figure out runtime dependencies ===

`objdump -p <build-binary> | grep NEEDED`

--------------------------------------------------

- git-dch
- apt build-dep <pkgname>

== Other files ==
https://www.debian.org/doc/manuals/maint-guide/dother.en.html#install

== All lintian errors ==
https://lintian.debian.org/tags