summaryrefslogtreecommitdiff
path: root/basics.md
blob: 22301183a8b70e67a8651cf80566b0183388684a (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
Basic packaging
===============

Configuration files
-------------------

All the commands in this guide assumes that you're using [these configuration files](https://git.fluxo.info/?p=rhatto/dotfiles/debian.git;a=summary).

Starting a new package
----------------------

We use the `packages/` folder from this repo to store sources:

    mkdir package/$package
    cd package/$package

Getting the debianized source
-----------------------------

Using `dget`:

    dget $remote_dsc
    cd $package*

Using `apt-get`:

    apt-get source package

Checking the source
-------------------

See `checking.md`.

Extracting the source
---------------------

If needed, do this after your successfully verified the sources:

    dpkg-source -x *.dsc

Getting dependencies
--------------------

To get:

    apt-get build-dep package

To remove:

    hydractl remove-dep package

Creating the `debian/` structure
--------------------------------

If the package wasn't debianized, proceed with

    if [ ! -d "debian" ]; then
      dh_make -p ${package}_${version} --createorig
    fi

Simple build
------------

    dch -i
    dpkg-buildpackage -rfakeroot -sa -k$KEY_ID

Creating a new debian source
----------------------------

    cd ..
    dpkg-source -b $package*
    debsign $package*.dsc

Building and signing
--------------------

To generate signatures, remove `-uc` and `-us` from `dpkg-buildpackage` (see
[Complete build](http://www.debian.org/doc/maint-guide/ch-build.pt-br.html#s-completebuild)):

    dpkg-buildpackage -rfakeroot

To sign using an specific key:

    dpkg-buildpackage -rfakeroot -kKEY_ID

WNPP
----

Before packaging anything, have a look at:

* [WNPP](http://wnpp.debian.net).
* [Debian Git](http://anonscm.debian.org/gitweb/).