On Tue, Sep 29, 2020 at 8:39 AM Andrey Rahmatullin wrote: > On Tue, Sep 29, 2020 at 08:30:33AM -0400, Tong Sun wrote: > > So `libgit2-dev` only shows up once in calligra's debian/control file. > You need to check actual dependencies of binary packages (e.g. by looking at > debs with dpkg-deb -f), not your debian/control. > And libgit2-dev is a development package, binaries will depend on the > package that contains the library itself.
OK. I got: $ dpkg-deb -f calligrawords_3.2.1+dfsg-2_amd64.deb Depends | grep libgit2 || echo not found not found > > Can I safely say that all calligra packages are fine with libgit2-dev's new > > v1.0.0? > No. With the above result, can I safely say that calligrawords_3.2.1+dfsg-2_amd64.deb is not depending on libgit2 then? I"ve checked every calligra related packages and have *only* found: $ dpkg-deb -f calligra-gemini_3.2.1+dfsg-2_amd64.deb Depends calligra-libs (= 1:3.2.1+dfsg-2), calligra-gemini-data (>= 1:3.2.1+dfsg-2), calligrasheets (>= 1:3.2.1+dfsg), calligrastage (>= 1:3.2.1+dfsg), calligrawords (>= 1:3.2.1+dfsg), libc6 (>= 2.14), libgit2-28 (>= 0.26.0), libkf5configcore5 (>= 5.7.0), libkf5configwidgets5 (>= 5.7.0), libkf5coreaddons5 (>= 5.7.0), libkf5crash5 (>= 4.96.0), libkf5i18n5 (>= 5.7.0), libkf5iconthemes5 (>= 5.7.0), libkf5widgetsaddons5 (>= 5.7.0), libkf5xmlgui5 (>= 5.7.0), libqt5core5a (>= 5.14.1), libqt5gui5 (>= 5.8.0) | libqt5gui5-gles (>= 5.8.0), libqt5network5 (>= 5.14.1), libqt5qml5 (>= 5.0.2), libqt5quick5 (>= 5.6.1) | libqt5quick5-gles (>= 5.6.1), libqt5quickwidgets5 (>= 5.3.0), libqt5widgets5 (>= 5.3.0), libstdc++6 (>= 4.1.1) Thus, can I safely say that of all packages built out of calligra-3.2.1+dfsg, only calligra-gemini_3.2.1+dfsg-2 need to verify with library transition, and if it passes, then packages calligra-3.2.1+dfsg would pass as well? Finally, the most important one, I found that calligra-gemini_3.2.1+dfsg-2_amd64.deb was built with the old libgit2 (libgit2-28), not my latest libgit2-1.0, what was the problem for that? The d/control is not specifying a fixed version: grep libgit2 calligra-3.2.1+dfsg/debian/control libgit2-dev, So it should pick the latest version, right? Why is it not happening? One reason I can think of is that, my latest libgit2 is called libgit2-1.0 while the *old* one is called libgit2-28, which is in fact libgit2 v0.28.5+dfsg.1-1. Which one would debuild pick? Hmm... no quite, looking further into all those libgit2 related packages that I've already built, I saw mixed results: ----------------------------------------------------- $ dpkg-deb -f gir1.2-ggit-1.0_0.28.0.1-2_amd64.deb Depends gir1.2-glib-2.0, libgit2-glib-1.0-0 (>= 0.28.0.1) $ dpkg-deb -f golang-gopkg-libgit2-git2go.v28-dev_0.28.5-1_all.deb Depends pkg-config, libgit2-dev (>> 0.28~) $ dpkg-deb -f libgit2-glib-1.0-0-dbgsym_0.28.0.1-2_amd64.deb Depends libgit2-glib-1.0-0 (= 0.28.0.1-2) $ dpkg-deb -f libgit2-glib-1.0-0_0.28.0.1-2_amd64.deb Depends libc6 (>= 2.14), libgit2-28 (>= 0.28.1), libglib2.0-0 (>= 2.44.0) $ dpkg-deb -f libgit2-glib-1.0-dev_0.28.0.1-2_amd64.deb Depends gir1.2-ggit-1.0 (= 0.28.0.1-2), libgit2-glib-1.0-0 (= 0.28.0.1-2), libgit2-dev (>= 0.26.0), libglib2.0-dev (>= 2.44.0) $ dpkg-deb -f librust-libgit2-sys+https-dev_0.10.0-1_amd64.deb Depends librust-libgit2-sys-dev (= 0.10.0-1), librust-openssl-sys-0.9+default-dev $ dpkg-deb -f librust-libgit2-sys+libssh2-sys-dev_0.10.0-1_amd64.deb Depends librust-libgit2-sys-dev (= 0.10.0-1), librust-libssh2-sys-0.2+default-dev (>= 0.2.11-~~) $ dpkg-deb -f librust-libgit2-sys-dev_0.10.0-1_amd64.deb Depends librust-cc-1+default-dev (>= 1.0.42-~~), librust-cc-1+parallel-dev (>= 1.0.42-~~), librust-libc-0.2+default-dev, librust-libz-sys-1+default-dev (>= 1.0.22-~~), librust-pkg-config-0.3+default-dev (>= 0.3.7-~~), libgit2-dev ----------------------------------------------------- I.e., - some of them about built with libgit2-glib-1.0-0 - but some others are built with libgit2-28 (>= 0.28.1) - and some I just literally don't know, e.g., libgit2-dev (>> 0.28~) I.e., I still haven't figured out how to control the lib a package should links to. PS, here are all libgit2 related packages installed in my system, and their versions: libgit2-1.0:amd64_1.0.0+dfsg.1-1 libgit2-28:amd64_0.28.5+dfsg.1-1 libgit2-build-deps_1.0.0+dfsg.1-1 libgit2-dev:amd64_0.28.5+dfsg.1-1 libgit2-glib-1.0-0:amd64_0.28.0.1-2 libgit2-glib-1.0-dev:amd64_0.28.0.1-2 Please help. thanks!