[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#987568: open-iscsi-udeb: uninstallable udeb: non-udeb dependencies



Hi Ritesh,

Ritesh Raj Sarraf <rrs@debian.org> (2021-04-28):
> That's an explicit dependency that got added in the merge I reviewed
> for 2.1.2.
> 
> Why not just drop the dependency on udev and libopeniscsiusr entirely,
> for the open-iscsi-udeb package ?

This is not sufficient:

    --- a/debian/control
    +++ b/debian/control
    @@ -144,8 +144,6 @@ Section: debian-installer
     Package-Type: udeb
     Depends: ${misc:Depends},
              ${shlibs:Depends},
    -         libopeniscsiusr,
    -         udev,
              scsi-modules
     Description: Configure iSCSI
      The Open-iSCSI project is a high-performance, transport independent,

After a build:

    (sid-amd64-devel)kibi@tokyo:~/hack/open-iscsi.git$ dpkg --info ../open-iscsi-udeb_2.1.3-2_amd64.udeb|grep Depends
     Depends: libc6-udeb (>= 2.31), libcrypto1.1-udeb (>= 1.1.1k), libisns-udeb, libkmod2-udeb (>= 28), libmount1-udeb (>= 2.33), libopeniscsiusr, libsystemd0 (>= 247.3), scsi-modules

Notice that libopeniscsiusr is still there, which isn't surprising at
all. Executables shipped in the udeb refer to shared objects that are
referenced in its shlibs file!

    (sid-amd64-devel)kibi@tokyo:~/hack/open-iscsi.git$ cat debian/libopeniscsiusr/DEBIAN/shlibs 
    libopeniscsiusr 0.2.0 libopeniscsiusr

Random example:

    (sid-amd64-devel)kibi@tokyo:~/hack/open-iscsi.git$ objdump -x debian/open-iscsi-udeb/sbin/iscsiadm | grep NEEDED
      NEEDED               libisns.so.0
      NEEDED               libcrypto.so.1.1
      NEEDED               libmount.so.1
      NEEDED               libkmod.so.2
      NEEDED               libopeniscsiusr.so.0.2.0
      NEEDED               libc.so.6

Hence my suggestion: shipped shared object(s) in the udeb directly, so
that there's no reference towards external packages.

A similar package is haveged, using debian/shlibs.local to ensure that
the “library resolution” (dh_shlibdeps) doesn't pull the deb library, by
making it explicit for the udeb that it contains the required shared
object(s).


Cheers,
-- 
Cyril Brulebois (kibi@debian.org)            <https://debamax.com/>
D-I release manager -- Release team member -- Freelance Consultant

Attachment: signature.asc
Description: PGP signature


Reply to: