summaryrefslogtreecommitdiffstats
path: root/distro/pkg/deb/README.source
blob: b1d916d6e9f2d56f019c663c0dd98142bb41131a (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
This module uses gbp and upstream git repository

To update this package, first import the changes from upstream:
- git fetch --all

Find the latest version:
VERSION=$(git describe --tags $(git rev-list '--tags=v2*' --max-count=1) | sed 's/^v//')
echo $VERSION

Update debian/sid branch
- git checkout debian/master
- git merge v$VERSION

Update the debian/copyright file:
- cme update dpkg-copyright
See also https://github.com/dod38fr/config-model/wiki/Updating-debian-copyright-file-with-cme

Check patches (and cleanup if necessary):
- gbp pq rebase --commit --drop

Download upstream tarball:
- uscan --download --verbose --download-version $VERSION

Add pristine-tar:
- pristine-tar commit ../libyang_$VERSION.orig.tar.gz v$VERSION

Generate a temporary changelog:
- gbp dch --new-version=$VERSION-1 --snapshot --auto --commit debian/

Test the first build::
- gbp buildpackage --git-ignore-new --git-pristine-tar --git-no-purge

Regenerate the symbol file (See https://qt-kde-team.pages.debian.net/symbolfiles.html)
- pkgkde-symbolshelper batchpatch -v $VERSION < <path_to>/buildlog

See https://www.debian.org/doc/manuals/maint-guide/advanced.en.html#librarysymbols
and dpkg-gensymbols man page

Update the changelog:
- gbp dch -Ra -c

Once everything is fine, build a source package and tag:
- gbp buildpackage -S --git-tag

Push on salsa:
- gbp push

For more details, see
https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.import.upstream-git.html#gbp.import.upstream.git.notarball

Maintainer Notes (moved from README.md)
=======================================

* the project version number is actually the SO ABI version.  The release
  point numbers (0.16-r3) isn't used for Debian.

* it's intentional that the SONAME is libyang.so.0.16 and not libyang.so.0.
  ABI compatibility is indicated by the first two numbers being equal;
  the third number is incremented for compatible changes.  cf.
  CESNET/libyang#656

* the watch file doesn't work yet but the libyang people agreed to make
  future release tags the same as the internal version number.  At that point
  the watch file will work.

 -- Ondřej Surý <Ondřej Surý <ondrej@debian.org>>, Tue, 21 Jul 2020 16:31:52 +0200