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 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154
|
This module uses gbp and upstream git repository.
As of version 1.44.2, =pristine-tar= branch is no longer updated.
To update this package, first import the changes from upstream:
#+begin_src shell :dir .. :exports code :results verbatim
git fetch --all
#+end_src
Find the latest version:
#+NAME: version
#+begin_src shell :dir .. :exports code :results verbatim
VERSION=$(git describe --tags $(git rev-list '--tags=v1*' --max-count=1) | sed 's/^v//')
echo -n $VERSION
#+end_src
#+RESULTS: version
: 1.42.0
Update Debian's upstream branch:
#+begin_src shell :dir .. :exports code :results verbatim :var VERSION=version
git checkout upstream
git merge v$VERSION
#+end_src
Update debian/sid branch
#+begin_src shell :dir .. :exports code :results verbatim :var VERSION=version
git checkout debian/sid
git merge upstream
#+end_src
Update the debian/copyright file:
#+begin_src shell :dir .. :exports code :results verbatim :var VERSION=version
cme update dpkg-copyright
#+end_src
Then review the changes and commit the result.
See also https://github.com/dod38fr/config-model/wiki/Updating-debian-copyright-file-with-cme
Generate a temporary changelog:
#+begin_src shell :dir .. :exports code :results verbatim :var VERSION=version
gbp dch --new-version=$VERSION-1 --snapshot --auto debian/
#+end_src
Check patches (and cleanup if necessary):
#+begin_src shell :dir .. :exports code :results verbatim :var VERSION=version
quilt push -a && quilt pop -a
#+end_src
#+RESULTS:
Commit =debian/changelog= (otherwise, =gbp buildpackage= tries to build the
old version):
#+begin_src shell :dir .. :exports code :results verbatim :var VERSION=version
git commit -m"new upstream version" debian/changelog
#+end_src
#+RESULTS:
: [debian/sid 3569d8b0] new upstream version
: 1 file changed, 8 insertions(+)
Test the first build:
#+begin_src shell :eval no
gbp buildpackage --git-ignore-new --git-no-purge
#+end_src
Regenerate the symbol file:
#+begin_src shell :var BUILD_DIR="../../build-area" VERSION=version :results verbatim :exports code
cd $BUILD_DIR/libuv1-$VERSION
dpkg-gensymbols -plibuv1t64
#+end_src
If you get an error with the =cd= command, redo the previous
step without forgetting the --git-no-purge flag.
Then review the diff (see links below)
See [[https://www.debian.org/doc/manuals/maint-guide/advanced.en.html#librarysymbols][Debian main guide]], [[https://qt-kde-team.pages.debian.net/symbolfiles.html][KDE symbol tool]] and [[https://www.man7.org/linux/man-pages/man1/dpkg-gensymbols.1.html][dpkg-gensymbols(1)]].
If the diff is fine, create a patch:
#+begin_src shell :var BUILD_DIR="../../build-area" VERSION=version :results none :exports code
cd $BUILD_DIR/libuv1-$VERSION
dpkg-gensymbols -plibuv1t64 |perl -p -E 's/([\d.]+)-\d[^#\n]*/$1/ if /^\+ /; s/~\d[^#\n]*//;' > /tmp/sym.patch
#+end_src
And apply the patch:
#+begin_src shell :dir ".." :results verbatim :exports code
patch debian/libuv1t64.symbols /tmp/sym.patch
#+end_src
#+RESULTS:
: patching file debian/libuv1t64.symbols
And commit the results:
#+begin_src shell :dir ".." :results verbatim :exports code
git add debian/libuv1t64.symbols
git commit -m "update symbols file"
#+end_src
#+RESULTS:
: [debian/sid 2ecc9dd5] update symbols file
: 1 file changed, 105 insertions(+), 102 deletions(-)
You can rebuild (if needed) with the following command:
#+begin_src shell :dir ".." :results verbatim :exports code
gbp buildpackage --git-ignore-new
#+end_src
Note: only committed changes are used by gbp buildpackage
Update the changelog to push on experimental:
#+begin_src shell :dir ".." :results verbatim :exports code :eval no
gbp dch -Ra --commit --distribution=experimental
#+end_src
Or to push on unstable:
#+begin_src shell :dir ".." :results verbatim :exports code :eval no
gbp dch -Ra --commit --distribution=unstable
#+end_src
Once everything is fine, build a source package and tag:
#+begin_src shell :dir ".." :results verbatim :exports code
gbp buildpackage -S --git-tag
#+end_src
Push on salsa:
#+begin_src shell :dir ".." :results verbatim :exports code
gbp push
#+end_src
After 1 week or so, if nobody complains, the new package can be
released in unstable (See [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1016305#37][#1016305]] for more context):
#+begin_src shell :dir ".." :results verbatim :exports code
gbp dch -Ra --commit --distribution=unstable
#+end_src
For more details, see [[https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.import.upstream-git.html#gbp.import.upstream.git.notarball][gbp import with git documentation]].
-- Dominique Dumont <dod@debian.org>, Fri, 22 May 2020 18:55:50 +0200
|