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