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
>

Reply via email to