blob: b1d916d6e9f2d56f019c663c0dd98142bb41131a [file] [log] [blame]
Ondřej Surý748c8e52021-05-07 18:56:31 +02001This module uses gbp and upstream git repository
2
3To update this package, first import the changes from upstream:
4- git fetch --all
5
6Find the latest version:
Michal Vasko13588642021-06-02 11:03:21 +02007VERSION=$(git describe --tags $(git rev-list '--tags=v2*' --max-count=1) | sed 's/^v//')
Ondřej Surý748c8e52021-05-07 18:56:31 +02008echo $VERSION
9
10Update debian/sid branch
11- git checkout debian/master
12- git merge v$VERSION
13
14Update the debian/copyright file:
15- cme update dpkg-copyright
16See also https://github.com/dod38fr/config-model/wiki/Updating-debian-copyright-file-with-cme
17
18Check patches (and cleanup if necessary):
19- gbp pq rebase --commit --drop
20
21Download upstream tarball:
22- uscan --download --verbose --download-version $VERSION
23
24Add pristine-tar:
25- pristine-tar commit ../libyang_$VERSION.orig.tar.gz v$VERSION
26
27Generate a temporary changelog:
28- gbp dch --new-version=$VERSION-1 --snapshot --auto --commit debian/
29
30Test the first build::
31- gbp buildpackage --git-ignore-new --git-pristine-tar --git-no-purge
32
33Regenerate the symbol file (See https://qt-kde-team.pages.debian.net/symbolfiles.html)
34- pkgkde-symbolshelper batchpatch -v $VERSION < <path_to>/buildlog
35
36See https://www.debian.org/doc/manuals/maint-guide/advanced.en.html#librarysymbols
37and dpkg-gensymbols man page
38
39Update the changelog:
40- gbp dch -Ra -c
41
42Once everything is fine, build a source package and tag:
43- gbp buildpackage -S --git-tag
44
45Push on salsa:
46- gbp push
47
48For more details, see
49https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.import.upstream-git.html#gbp.import.upstream.git.notarball
50
51Maintainer Notes (moved from README.md)
52=======================================
53
54* the project version number is actually the SO ABI version. The release
55 point numbers (0.16-r3) isn't used for Debian.
56
57* it's intentional that the SONAME is libyang.so.0.16 and not libyang.so.0.
58 ABI compatibility is indicated by the first two numbers being equal;
59 the third number is incremented for compatible changes. cf.
60 CESNET/libyang#656
61
62* the watch file doesn't work yet but the libyang people agreed to make
63 future release tags the same as the internal version number. At that point
64 the watch file will work.
65
66 -- Ondřej Surý <Ondřej Surý <ondrej@debian.org>>, Tue, 21 Jul 2020 16:31:52 +0200