I will look into adding this, but due to the way checkinstall manually creates debs, dpkg-shlibdeps doesn’t like its control file so there is likely some extra work that would need to be done.
Stephen On Sep 2, 2021 at 3:55:39 AM, chrysn <chr...@fsfe.org> wrote: > Package: checkinstall > Version: 1.6.2+git20170426.d24a630-2 > Severity: wishlist > Tags: upstream > > When creating a deb on Debian using checkinstall (eg. to get a working > distributable version of software whose build dependencies are so > compilcated[1] it stands little chances in regular packaging), several > dependencies could be detected automatically using shlibdeps, as is done > eg. by debhelper dh_shlibdeps. When binaries are installed, that would > detect the necessary libc versions as well as any other shared libraries > the installed binaries depend on. > > The correct dependency information would help both cleaning up the local > system (otherwise uninstalling the -dev packages might autoremove also > the libraries that are now depended on) and using it on a different > system (where now one has to read linker errors and add files on demand). > > [1]: https://github.com/immunant/c2rust/issues/326 > > > Minimal test case: > > $ fakeroot checkinstall --pkgname test --default --install=no -- cp -a > /usr/bin/ssh /bin > $ dpkg-deb --info test_20??????-1_*.deb | grep Depends > (no results) > > If shlibdeps were extracted, it should print at least something about > libc. > > A minimal working example of how to arrive at the relevant shlibdeps is: > > $ mkdir debian > $ touch debian/control > $ dpkg-shlibdeps /usr/bin/ssh > $ cat debian/substvars > shlibs:Depends=libc6 (>= 2.26), libgssapi-krb5-2 (>= 1.17), libselinux1 > (>= 3.1~), libssl1.1 (>= 1.1.0), zlib1g (>= 1:1.1.4) > > > -- System Information: > Debian Release: bookworm/sid > APT prefers unstable > APT policy: (500, 'unstable'), (1, 'experimental') > Architecture: amd64 (x86_64) > Foreign Architectures: i386 > > Kernel: Linux 5.13.0 (SMP w/8 CPU threads) > Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE > Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), > LANGUAGE=en_GB:en > Shell: /bin/sh linked to /bin/dash > Init: systemd (via /run/systemd/system) > LSM: AppArmor: enabled > > Versions of packages checkinstall depends on: > ii dpkg-dev 1.20.9 > ii file 1:5.39-3 > ii libc6 2.31-17 > ii sensible-utils 0.0.17 > > Versions of packages checkinstall recommends: > ii make 4.3-4.1 > > Versions of packages checkinstall suggests: > ii gettext 0.21-4 > > -- no debconf information >